pax_global_header00006660000000000000000000000064132432735220014515gustar00rootroot0000000000000052 comment=a6404b3a90e976dc44662e333bcc7615978c2060 androguard-3.1.0-rc2/000077500000000000000000000000001324327352200143305ustar00rootroot00000000000000androguard-3.1.0-rc2/.github/000077500000000000000000000000001324327352200156705ustar00rootroot00000000000000androguard-3.1.0-rc2/.github/issue_template.md000066400000000000000000000010651324327352200212370ustar00rootroot00000000000000Please remove this template if you only have a question or do not want to create a new issue. ### Describe what you wanted to do - is this error specific to a single file? - if possible give a minimal working example where the error happens ### Describe what you expected ### Describe what actually happened ### System Information - Androguard Version: master - Python Version: 2.7/3.5/... - Operating System ### Further Log Files and Output - please report logs, tracebacks and other useful information - if possible report the files you tried to analyze! androguard-3.1.0-rc2/.gitignore000066400000000000000000000010731324327352200163210ustar00rootroot00000000000000__pycache__/ *.pyc *.pyo docs/build .idea/ *.o *.so # Binary Files elsim/elsim/elsign/formula/test elsim/elsim/similarity/libsimilarity/bz2/test_bz2 elsim/elsim/similarity/libsimilarity/lzma/test_lzma elsim/elsim/similarity/libsimilarity/smaz/test_smaz elsim/elsim/similarity/libsimilarity/snappy/test_snappy elsim/elsim/similarity/libsimilarity/vcblocksort/test_vcblocksort elsim/elsim/similarity/libsimilarity/xz/test_xz elsim/elsim/similarity/libsimilarity/z/test_z androguard.egg-info/ build/ dist/ # Files from tests test_session .eggs/ ak_androguard.egg-info androguard-3.1.0-rc2/.gitmodules000066400000000000000000000001511324327352200165020ustar00rootroot00000000000000[submodule "libraries/axplorer"] path = libraries/axplorer url = https://github.com/reddr/axplorer.git androguard-3.1.0-rc2/.landscape.yml000066400000000000000000000001461324327352200170640ustar00rootroot00000000000000doc-warnings: yes test-warnings: no strictness: veryhigh max-line-length: 120 ignore-paths: - elsim androguard-3.1.0-rc2/.readthedocs.yml000066400000000000000000000001421324327352200174130ustar00rootroot00000000000000python: version: 3 pip_install: true extra_requirements: - docs - GUI androguard-3.1.0-rc2/.travis.yml000066400000000000000000000021021324327352200164340ustar00rootroot00000000000000language: python # Download jadx decompiler before_script: - wget https://github.com/skylot/jadx/releases/download/v0.6.1/jadx-0.6.1.zip -O /tmp/jadx-0.6.1.zip - unzip /tmp/jadx-0.6.1.zip -d jadx-0.6.1 - export PATH=$PATH:$PWD/jadx-0.6.1/bin python: - "3.6" - "3.5" - "2.7" - "3.3" - "3.4" - "3.7-dev" # - "3.8-dev" - "nightly" # command to install dependencies install: - "pip install .[tests,docs]" # command to run tests script: - nosetests --with-coverage --with-timer --timer-top-n 50 # Testing the scripts - crude ;) - for f in `find -name \*.apk`; do echo "testing $f"; time ./androaxml.py -i $f > /dev/null; time ./androaxml.py -i $f -o /dev/null; time ./androarsc.py -i $f > /dev/null; time ./androarsc.py -i $f -o /dev/null; time ./androarsc.py -i $f -t string > /dev/null; time ./androarsc.py -i $f -t string -o /dev/null; done - python setup.py build_sphinx notifications: email: recipients: - desnos@t0t0.fr on_success: always on_failure: always after_success: - codecov androguard-3.1.0-rc2/LICENCE-2.0000066400000000000000000000236761324327352200156300ustar00rootroot00000000000000 Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS androguard-3.1.0-rc2/README.md000066400000000000000000000043551324327352200156160ustar00rootroot00000000000000# Androguard [![Build Status](https://travis-ci.org/androguard/androguard.svg?branch=master)](https://travis-ci.org/androguard/androguard) [![Documentation Status](https://readthedocs.org/projects/androguard/badge/?version=latest)](http://androguard.readthedocs.io/en/latest/?badge=latest) ## Features Androguard is a full python tool to play with Android files. * DEX, ODEX * APK * Android's binary xml * Android resources * Disassemble DEX/ODEX bytecodes * Decompiler for DEX/ODEX files ## Authors: Androguard Team Androguard + tools: Anthony Desnos (desnos at t0t0.fr). DAD (DAD is A Decompiler): Geoffroy Gueguen (geoffroy dot gueguen at gmail dot com) ## Documentation Find the documentation for master on [ReadTheDocs](http://androguard.readthedocs.io/en/latest/). There are some (probably broken/outdated) examples and demos in the folders [demos](https://github.com/androguard/androguard/tree/master/demos) and [examples](https://github.com/androguard/androguard/tree/master/examples). ## Licenses ### Androguard Copyright (C) 2012 - 2016, Anthony Desnos (desnos at t0t0.fr) All rights reserved. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS-IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ### DAD Copyright (C) 2012 - 2016, Geoffroy Gueguen (geoffroy dot gueguen at gmail dot com) All rights reserved. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS-IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. androguard-3.1.0-rc2/androarsc.py000077500000000000000000000067771324327352200167020ustar00rootroot00000000000000#!/usr/bin/env python # This file is part of Androguard. # # Copyright (C) 2012, Anthony Desnos # All rights reserved. # # Androguard is free software: you can redistribute it and/or modify # it under the terms of the GNU Lesser General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # Androguard is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with Androguard. If not, see . from __future__ import print_function import sys from optparse import OptionParser from xml.dom import minidom import codecs from androguard.core import androconf from androguard.core.bytecodes import apk from androguard.util import read option_0 = { 'name': ('-i', '--input'), 'help': 'filename input (APK or android resources(arsc))', 'nargs': 1 } option_1 = { 'name': ('-p', '--package'), 'help': 'select the package (optional)', 'nargs': 1 } option_2 = { 'name': ('-l', '--locale'), 'help': 'select the locale (optional)', 'nargs': 1 } option_3 = { 'name': ('-t', '--type'), 'help': 'select the type (string, interger, public, ...)', 'nargs': 1 } option_4 = {'name': ('-o', '--output'), 'help': 'filename output', 'nargs': 1} option_5 = { 'name': ('-v', '--version'), 'help': 'version of the API', 'action': 'count' } options = [option_0, option_1, option_2, option_3, option_4, option_5] def main(options, arguments): if options.input is not None: buff = "" arscobj = None ret_type = androconf.is_android(options.input) if ret_type == "APK": a = apk.APK(options.input) arscobj = a.get_android_resources() elif ret_type == "ARSC": arscobj = apk.ARSCParser(read(options.input)) else: print("Unknown file type") return if not options.package and not options.type and not options.locale: buff = "" for package in arscobj.get_packages_names(): buff += package + "\n" for locale in arscobj.get_locales(package): buff += "\t" + repr(locale) + "\n" for ttype in arscobj.get_types(package, locale): buff += "\t\t" + ttype + "\n" else: package = options.package or arscobj.get_packages_names()[0] ttype = options.type or "public" locale = options.locale or '\x00\x00' buff = minidom.parseString(getattr( arscobj, "get_" + ttype + "_resources")(package, locale)).toprettyxml() if options.output is not None: fd = codecs.open(options.output, "w", "utf-8") fd.write(buff) fd.close() else: print(buff) elif options.version is not None: print("Androarsc version %s" % androconf.ANDROGUARD_VERSION) if __name__ == "__main__": parser = OptionParser() for option in options: param = option['name'] del option['name'] parser.add_option(*param, **option) options, arguments = parser.parse_args() sys.argv[:] = arguments main(options, arguments) androguard-3.1.0-rc2/androauto.py000077500000000000000000000037201324327352200167030ustar00rootroot00000000000000#!/usr/bin/env python # This file is part of Androguard. # # Copyright (C) 2012, Anthony Desnos # All rights reserved. # # Androguard is free software: you can redistribute it and/or modify # it under the terms of the GNU Lesser General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # Androguard is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with Androguard. If not, see . from __future__ import print_function from builtins import object import sys from optparse import OptionParser from androguard.core.analysis import auto option_0 = { 'name': ('-d', '--directory'), 'help': 'directory input', 'nargs': 1 } option_1 = {'name': ('-v', '--verbose'), 'help': 'add debug', 'action': 'count'} options = [option_0, option_1] class AndroLog(object): def __init__(self, id_file, filename): self.id_file = id_file self.filename = filename class AndroTest(auto.DirectoryAndroAnalysis): def analysis_app(self, log, apkobj, dexobj, adexobj): print(log.id_file, log.filename, apkobj, dexobj, adexobj) def main(options, arguments): if options.directory: settings = { "my": AndroTest(options.directory), "log": AndroLog, "max_fetcher": 3, } aa = auto.AndroAuto(settings) aa.go() if __name__ == "__main__": parser = OptionParser() for option in options: param = option['name'] del option['name'] parser.add_option(*param, **option) options, arguments = parser.parse_args() sys.argv[:] = arguments main(options, arguments) androguard-3.1.0-rc2/androaxml.py000077500000000000000000000045621324327352200167010ustar00rootroot00000000000000#!/usr/bin/env python # This file is part of Androguard. # # Copyright (C) 2012, Anthony Desnos # All rights reserved. # # Androguard is free software: you can redistribute it and/or modify # it under the terms of the GNU Lesser General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # Androguard is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with Androguard. If not, see . from __future__ import print_function import sys from lxml import etree from optparse import OptionParser from androguard.core import androconf from androguard.core.bytecodes import apk from androguard.util import read option_0 = { 'name': ('-i', '--input'), 'help': 'filename input (APK or android\'s binary xml)', 'nargs': 1 } option_1 = { 'name': ('-o', '--output'), 'help': 'filename output of the xml', 'nargs': 1 } option_2 = { 'name': ('-v', '--version'), 'help': 'version of the API', 'action': 'count' } options = [option_0, option_1, option_2] def main(options, arguments): if options.input is not None: ret_type = androconf.is_android(options.input) if ret_type == "APK": a = apk.APK(options.input) axml = a.get_android_manifest_xml() elif ".xml" in options.input: axml = apk.AXMLPrinter(read(options.input)).get_xml_obj() else: print("Unknown file type") return buff = etree.tostring(axml, pretty_print=True) if options.output: with open(options.output, "wb") as fd: fd.write(buff) else: print(buff.decode("UTF-8")) elif options.version is not None: print("Androaxml version %s" % androconf.ANDROGUARD_VERSION) if __name__ == "__main__": parser = OptionParser() for option in options: param = option['name'] del option['name'] parser.add_option(*param, **option) options, arguments = parser.parse_args() sys.argv[:] = arguments main(options, arguments) androguard-3.1.0-rc2/androdd.py000077500000000000000000000171341324327352200163260ustar00rootroot00000000000000#!/usr/bin/env python from __future__ import print_function import os import re import shutil import sys from optparse import OptionParser from androguard import session from androguard.core import androconf from androguard.core.bytecode import method2dot, method2format from androguard.core.bytecodes import dvm from androguard.decompiler import decompiler option_0 = { 'name': ('-i', '--input'), 'help': 'file : use this filename', 'nargs': 1 } option_1 = { 'name': ('-o', '--output'), 'help': 'base directory to output all files', 'nargs': 1 } option_2 = { 'name': ('-d', '--decompiler'), 'help': 'choose a decompiler', 'nargs': 1 } option_3 = { 'name': ('-j', '--jar'), 'help': 'output jar file', 'action': 'count' } option_4 = { 'name': ('-f', '--format'), 'help': 'write the method in specific format (png, ...)', 'nargs': 1 } option_5 = { 'name': ('-l', '--limit'), 'help': 'limit analysis to specific methods/classes by using a regexp', 'nargs': 1 } options = [option_0, option_1, option_2, option_3, option_4, option_5] def valid_class_name(class_name): if class_name[-1] == ";": return class_name[1:-1] return class_name def create_directory(class_name, output): output_name = output if output_name[-1] != "/": output_name = output_name + "/" pathdir = output_name + class_name try: if not os.path.exists(pathdir): os.makedirs(pathdir) except OSError: # FIXME pass def export_apps_to_format(filename, s, output, methods_filter=None, jar=None, decompiler_type=None, form=None): print("Dump information %s in %s" % (filename, output)) if not os.path.exists(output): print("Create directory %s" % output) os.makedirs(output) else: print("Clean directory %s" % output) androconf.rrmdir(output) os.makedirs(output) methods_filter_expr = None if methods_filter: methods_filter_expr = re.compile(methods_filter) output_name = output if output_name[-1] != "/": output_name = output_name + "/" dump_classes = [] for _, vm, vmx in s.get_objects_dex(): print("Decompilation ...", end=' ') sys.stdout.flush() if decompiler_type == "dex2jad": vm.set_decompiler(decompiler.DecompilerDex2Jad(vm, androconf.CONF["BIN_DEX2JAR"], androconf.CONF["BIN_JAD"], androconf.CONF["TMP_DIRECTORY"])) elif decompiler_type == "dex2winejad": vm.set_decompiler(decompiler.DecompilerDex2WineJad(vm, androconf.CONF["BIN_DEX2JAR"], androconf.CONF["BIN_WINEJAD"], androconf.CONF["TMP_DIRECTORY"])) elif decompiler_type == "ded": vm.set_decompiler(decompiler.DecompilerDed(vm, androconf.CONF["BIN_DED"], androconf.CONF["TMP_DIRECTORY"])) elif decompiler_type == "dex2fernflower": vm.set_decompiler(decompiler.DecompilerDex2Fernflower(vm, androconf.CONF["BIN_DEX2JAR"], androconf.CONF["BIN_FERNFLOWER"], androconf.CONF["OPTIONS_FERNFLOWER"], androconf.CONF["TMP_DIRECTORY"])) print("End") if options.jar: print("jar ...", end=' ') filenamejar = decompiler.Dex2Jar(vm, androconf.CONF["BIN_DEX2JAR"], androconf.CONF["TMP_DIRECTORY"]).get_jar() shutil.move(filenamejar, output + "classes.jar") print("End") for method in vm.get_methods(): if methods_filter_expr: msig = "%s%s%s" % (method.get_class_name(), method.get_name(), method.get_descriptor()) if not methods_filter_expr.search(msig): continue filename_class = valid_class_name(method.get_class_name()) create_directory(filename_class, output) print("Dump %s %s %s ..." % (method.get_class_name(), method.get_name(), method.get_descriptor()), end=' ') filename_class = output_name + filename_class if filename_class[-1] != "/": filename_class = filename_class + "/" descriptor = method.get_descriptor() descriptor = descriptor.replace(";", "") descriptor = descriptor.replace(" ", "") descriptor = descriptor.replace("(", "-") descriptor = descriptor.replace(")", "-") descriptor = descriptor.replace("/", "_") filename = filename_class + method.get_name() + descriptor if len(method.get_name() + descriptor) > 250: all_identical_name_methods = vm.get_methods_descriptor( method.get_class_name(), method.get_name()) pos = 0 for i in all_identical_name_methods: if i.get_descriptor() == method.get_descriptor(): break pos += 1 filename = filename_class + method.get_name() + "_%d" % pos buff = method2dot(vmx.get_method(method)) if form: print("%s ..." % form, end=' ') method2format(filename + "." + form, form, None, buff) if method.get_class_name() not in dump_classes: print("source codes ...", end=' ') current_class = vm.get_class(method.get_class_name()) current_filename_class = valid_class_name( current_class.get_name()) current_filename_class = output_name + current_filename_class + ".java" with open(current_filename_class, "w") as fd: fd.write(current_class.get_source()) dump_classes.append(method.get_class_name()) print("bytecodes ...", end=' ') bytecode_buff = dvm.get_bytecodes_method(vm, vmx, method) with open(filename + ".ag", "w") as fd: fd.write(bytecode_buff) print() def main(options, arguments): if options.input is not None and options.output is not None: s = session.Session() with open(options.input, "rb") as fd: s.add(options.input, fd.read()) export_apps_to_format(options.input, s, options.output, options.limit, options.jar, options.decompiler, options.format) else: print("Please, specify an input file and an output directory") if __name__ == "__main__": parser = OptionParser() for option in options: param = option['name'] del option['name'] parser.add_option(*param, **option) options, arguments = parser.parse_args() sys.argv[:] = arguments main(options, arguments) androguard-3.1.0-rc2/androdis.py000077500000000000000000000042141324327352200165110ustar00rootroot00000000000000#!/usr/bin/env python # This file is part of Androguard. # # Copyright (C) 2012, Axelle Apvrille # Anthony Desnos # All rights reserved. # # Androguard is free software: you can redistribute it and/or modify # it under the terms of the GNU Lesser General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # Androguard is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with Androguard. If not, see . from __future__ import print_function from optparse import OptionParser from androguard.core.bytecodes import dvm from androguard.core.bytecodes.apk import * option_0 = { 'name': ('-i', '--input'), 'help': 'file : use this filename (DEX/ODEX)', 'nargs': 1 } option_1 = { 'name': ('-o', '--offset'), 'help': 'offset to disassemble', 'nargs': 1 } option_2 = {'name': ('-s', '--size'), 'help': 'size', 'nargs': 1} options = [option_0, option_1, option_2] def disassemble(dex, offset, size): # FIXME where is auto gone? d = dvm.auto(dex) if d is not None: nb = 0 idx = offset for i in d.disassemble(offset, size): print("%-8d(%08x)" % (nb, idx), end=' ') i.show(idx) print() idx += i.get_length() nb += 1 def main(options, arguments): if options.input and options.offset and options.size: offset = int(options.offset, 0) size = int(options.size, 0) disassemble(options.input, offset, size) if __name__ == "__main__": parser = OptionParser() for option in options: param = option['name'] del option['name'] parser.add_option(*param, **option) options, arguments = parser.parse_args() sys.argv[:] = arguments main(options, arguments) androguard-3.1.0-rc2/androguard/000077500000000000000000000000001324327352200164565ustar00rootroot00000000000000androguard-3.1.0-rc2/androguard/__init__.py000066400000000000000000000002371324327352200205710ustar00rootroot00000000000000# The current version of Androguard # Please use only this variable in any scripts, # to keep the version number the same everywhere. __version__ = "3.1.0rc2" androguard-3.1.0-rc2/androguard/core/000077500000000000000000000000001324327352200174065ustar00rootroot00000000000000androguard-3.1.0-rc2/androguard/core/__init__.py000066400000000000000000000000011324327352200215060ustar00rootroot00000000000000 androguard-3.1.0-rc2/androguard/core/analysis/000077500000000000000000000000001324327352200212315ustar00rootroot00000000000000androguard-3.1.0-rc2/androguard/core/analysis/__init__.py000066400000000000000000000000011324327352200233310ustar00rootroot00000000000000 androguard-3.1.0-rc2/androguard/core/analysis/analysis.py000066400000000000000000001116321324327352200234320ustar00rootroot00000000000000from __future__ import print_function from future import standard_library standard_library.install_aliases() from builtins import str from builtins import range from builtins import object import re import collections import multiprocessing import queue import time from androguard.core.androconf import is_ascii_problem from androguard.core.bytecodes import dvm import logging from androguard.core import bytecode log = logging.getLogger("androguard.analysis") class DVMBasicBlock(object): """ A simple basic block of a dalvik method """ def __init__(self, start, vm, method, context): self.__vm = vm self.method = method self.context = context self.last_length = 0 self.nb_instructions = 0 self.fathers = [] self.childs = [] self.start = start self.end = self.start self.special_ins = {} self.name = "%s-BB@0x%x" % (self.method.get_name(), self.start) self.exception_analysis = None self.notes = [] self.__cached_instructions = None def get_notes(self): return self.notes def set_notes(self, value): self.notes = [value] def add_note(self, note): self.notes.append(note) def clear_notes(self): self.notes = [] def get_instructions(self): """ Get all instructions from a basic block. :rtype: Return all instructions in the current basic block """ tmp_ins = [] idx = 0 for i in self.method.get_instructions(): if self.start <= idx < self.end: yield i idx += i.get_length() def get_nb_instructions(self): return self.nb_instructions def get_method(self): return self.method def get_name(self): return "%s-BB@0x%x" % (self.method.get_name(), self.start) def get_start(self): return self.start def get_end(self): return self.end def get_last(self): return self.get_instructions()[-1] def get_next(self): """ Get next basic blocks :rtype: a list of the next basic blocks """ return self.childs def get_prev(self): """ Get previous basic blocks :rtype: a list of the previous basic blocks """ return self.fathers def set_fathers(self, f): self.fathers.append(f) def get_last_length(self): return self.last_length def set_childs(self, values): # print self, self.start, self.end, values if not values: next_block = self.context.get_basic_block(self.end + 1) if next_block is not None: self.childs.append((self.end - self.get_last_length(), self.end, next_block)) else: for i in values: if i != -1: next_block = self.context.get_basic_block(i) if next_block is not None: self.childs.append((self.end - self.get_last_length(), i, next_block)) for c in self.childs: if c[2] is not None: c[2].set_fathers((c[1], c[0], self)) def push(self, i): self.nb_instructions += 1 idx = self.end self.last_length = i.get_length() self.end += self.last_length op_value = i.get_op_value() if op_value == 0x26 or (0x2b <= op_value <= 0x2c): code = self.method.get_code().get_bc() self.special_ins[idx] = code.get_ins_off(idx + i.get_ref_off() * 2) def get_special_ins(self, idx): """ Return the associated instruction to a specific instruction (for example a packed/sparse switch) :param idx: the index of the instruction :rtype: None or an Instruction """ if idx in self.special_ins: return self.special_ins[idx] else: return None def get_exception_analysis(self): return self.exception_analysis def set_exception_analysis(self, exception_analysis): self.exception_analysis = exception_analysis def show(self): print(self.get_name(), self.get_start(), self.get_end()) class Enum(object): def __init__(self, names): self.names = names for value, name in enumerate(self.names): setattr(self, name.upper(), value) def tuples(self): return tuple(enumerate(self.names)) TAG_ANDROID = Enum( ['ANDROID', 'TELEPHONY', 'SMS', 'SMSMESSAGE', 'ACCESSIBILITYSERVICE', 'ACCOUNTS', 'ANIMATION', 'APP', 'BLUETOOTH', 'CONTENT', 'DATABASE', 'DEBUG', 'DRM', 'GESTURE', 'GRAPHICS', 'HARDWARE', 'INPUTMETHODSERVICE', 'LOCATION', 'MEDIA', 'MTP', 'NET', 'NFC', 'OPENGL', 'OS', 'PREFERENCE', 'PROVIDER', 'RENDERSCRIPT', 'SAX', 'SECURITY', 'SERVICE', 'SPEECH', 'SUPPORT', 'TEST', 'TEXT', 'UTIL', 'VIEW', 'WEBKIT', 'WIDGET', 'DALVIK_BYTECODE', 'DALVIK_SYSTEM', 'JAVA_REFLECTION']) TAG_REVERSE_ANDROID = dict((i[0], i[1]) for i in TAG_ANDROID.tuples()) TAGS_ANDROID = { TAG_ANDROID.ANDROID: [0, "Landroid"], TAG_ANDROID.TELEPHONY: [0, "Landroid/telephony"], TAG_ANDROID.SMS: [0, "Landroid/telephony/SmsManager"], TAG_ANDROID.SMSMESSAGE: [0, "Landroid/telephony/SmsMessage"], TAG_ANDROID.DEBUG: [0, "Landroid/os/Debug"], TAG_ANDROID.ACCESSIBILITYSERVICE: [0, "Landroid/accessibilityservice"], TAG_ANDROID.ACCOUNTS: [0, "Landroid/accounts"], TAG_ANDROID.ANIMATION: [0, "Landroid/animation"], TAG_ANDROID.APP: [0, "Landroid/app"], TAG_ANDROID.BLUETOOTH: [0, "Landroid/bluetooth"], TAG_ANDROID.CONTENT: [0, "Landroid/content"], TAG_ANDROID.DATABASE: [0, "Landroid/database"], TAG_ANDROID.DRM: [0, "Landroid/drm"], TAG_ANDROID.GESTURE: [0, "Landroid/gesture"], TAG_ANDROID.GRAPHICS: [0, "Landroid/graphics"], TAG_ANDROID.HARDWARE: [0, "Landroid/hardware"], TAG_ANDROID.INPUTMETHODSERVICE: [0, "Landroid/inputmethodservice"], TAG_ANDROID.LOCATION: [0, "Landroid/location"], TAG_ANDROID.MEDIA: [0, "Landroid/media"], TAG_ANDROID.MTP: [0, "Landroid/mtp"], TAG_ANDROID.NET: [0, "Landroid/net"], TAG_ANDROID.NFC: [0, "Landroid/nfc"], TAG_ANDROID.OPENGL: [0, "Landroid/opengl"], TAG_ANDROID.OS: [0, "Landroid/os"], TAG_ANDROID.PREFERENCE: [0, "Landroid/preference"], TAG_ANDROID.PROVIDER: [0, "Landroid/provider"], TAG_ANDROID.RENDERSCRIPT: [0, "Landroid/renderscript"], TAG_ANDROID.SAX: [0, "Landroid/sax"], TAG_ANDROID.SECURITY: [0, "Landroid/security"], TAG_ANDROID.SERVICE: [0, "Landroid/service"], TAG_ANDROID.SPEECH: [0, "Landroid/speech"], TAG_ANDROID.SUPPORT: [0, "Landroid/support"], TAG_ANDROID.TEST: [0, "Landroid/test"], TAG_ANDROID.TEXT: [0, "Landroid/text"], TAG_ANDROID.UTIL: [0, "Landroid/util"], TAG_ANDROID.VIEW: [0, "Landroid/view"], TAG_ANDROID.WEBKIT: [0, "Landroid/webkit"], TAG_ANDROID.WIDGET: [0, "Landroid/widget"], TAG_ANDROID.DALVIK_BYTECODE: [0, "Ldalvik/bytecode"], TAG_ANDROID.DALVIK_SYSTEM: [0, "Ldalvik/system"], TAG_ANDROID.JAVA_REFLECTION: [0, "Ljava/lang/reflect"], } class Tags(object): """ Handle specific tags :param patterns: :params reverse: """ def __init__(self, patterns=TAGS_ANDROID, reverse=TAG_REVERSE_ANDROID): self.tags = set() self.patterns = patterns self.reverse = TAG_REVERSE_ANDROID for i in self.patterns: self.patterns[i][1] = re.compile(self.patterns[i][1]) def emit(self, method): for i in self.patterns: if self.patterns[i][0] == 0: if self.patterns[i][1].search(method.get_class()) is not None: self.tags.add(i) def emit_by_classname(self, classname): for i in self.patterns: if self.patterns[i][0] == 0: if self.patterns[i][1].search(classname) is not None: self.tags.add(i) def get_list(self): return [self.reverse[i] for i in self.tags] def __contains__(self, key): return key in self.tags def __str__(self): return str([self.reverse[i] for i in self.tags]) def empty(self): return self.tags == set() class BasicBlocks(object): """ This class represents all basic blocks of a method """ def __init__(self, _vm): self.__vm = _vm self.bb = [] def push(self, bb): self.bb.append(bb) def pop(self, idx): return self.bb.pop(idx) def get_basic_block(self, idx): for i in self.bb: if i.get_start() <= idx < i.get_end(): return i return None def get(self): """ :rtype: return each basic block (:class:`DVMBasicBlock` object) """ for i in self.bb: yield i def gets(self): """ :rtype: a list of basic blocks (:class:`DVMBasicBlock` objects) """ return self.bb def get_basic_block_pos(self, idx): return self.bb[idx] class ExceptionAnalysis(object): def __init__(self, exception, bb): self.start = exception[0] self.end = exception[1] self.exceptions = exception[2:] for i in self.exceptions: i.append(bb.get_basic_block(i[1])) def show_buff(self): buff = "%x:%x\n" % (self.start, self.end) for i in self.exceptions: if i[2] is None: buff += "\t(%s -> %x %s)\n" % (i[0], i[1], i[2]) else: buff += "\t(%s -> %x %s)\n" % (i[0], i[1], i[2].get_name()) return buff[:-1] def get(self): d = {"start": self.start, "end": self.end, "list": []} for i in self.exceptions: d["list"].append({"name": i[0], "idx": i[1], "bb": i[2].get_name()}) return d class Exceptions(object): def __init__(self, _vm): self.__vm = _vm self.exceptions = [] def add(self, exceptions, basic_blocks): for i in exceptions: self.exceptions.append(ExceptionAnalysis(i, basic_blocks)) def get_exception(self, addr_start, addr_end): for i in self.exceptions: if i.start >= addr_start and i.end <= addr_end: return i elif addr_end <= i.end and addr_start >= i.start: return i return None def gets(self): return self.exceptions def get(self): for i in self.exceptions: yield i BasicOPCODES = [] for i in dvm.BRANCH_DVM_OPCODES: BasicOPCODES.append(re.compile(i)) class MethodAnalysis(object): def __init__(self, vm, method): """ This class analyses in details a method of a class/dex file :type vm: a :class:`DalvikVMFormat` object :type method: a :class:`EncodedMethod` object """ self.__vm = vm self.method = method self.basic_blocks = BasicBlocks(self.__vm) self.exceptions = Exceptions(self.__vm) self.code = self.method.get_code() if self.code: self._create_basic_block() def _create_basic_block(self): current_basic = DVMBasicBlock(0, self.__vm, self.method, self.basic_blocks) self.basic_blocks.push(current_basic) bc = self.code.get_bc() l = [] h = {} idx = 0 log.debug("Parsing instructions") for i in bc.get_instructions(): for j in BasicOPCODES: if j.match(i.get_name()) is not None: v = dvm.determineNext(i, idx, self.method) h[idx] = v l.extend(v) break idx += i.get_length() log.debug("Parsing exceptions") excepts = dvm.determineException(self.__vm, self.method) for i in excepts: l.extend([i[0]]) for handler in i[2:]: l.append(handler[1]) log.debug("Creating basic blocks in %s" % self.method) idx = 0 for i in bc.get_instructions(): # index is a destination if idx in l: if current_basic.get_nb_instructions() != 0: current_basic = DVMBasicBlock(current_basic.get_end(), self.__vm, self.method, self.basic_blocks) self.basic_blocks.push(current_basic) current_basic.push(i) # index is a branch instruction if idx in h: current_basic = DVMBasicBlock(current_basic.get_end(), self.__vm, self.method, self.basic_blocks) self.basic_blocks.push(current_basic) idx += i.get_length() if current_basic.get_nb_instructions() == 0: self.basic_blocks.pop(-1) log.debug("Settings basic blocks childs") for i in self.basic_blocks.get(): try: i.set_childs(h[i.end - i.get_last_length()]) except KeyError: i.set_childs([]) log.debug("Creating exceptions") # Create exceptions self.exceptions.add(excepts, self.basic_blocks) for i in self.basic_blocks.get(): # setup exception by basic block i.set_exception_analysis(self.exceptions.get_exception(i.start, i.end - 1)) def get_basic_blocks(self): """ :rtype: a :class:`BasicBlocks` object """ return self.basic_blocks def get_length(self): """ :rtype: an integer which is the length of the code """ return self.code.get_length() if self.code else 0 def get_vm(self): return self.__vm def get_method(self): return self.method def show(self): """ Prints the content of this method to stdout. This will print the method signature and the decompiled code. """ args, ret = self.method.get_descriptor()[1:].split(")") if self.code: # We patch the descriptor here and add the registers, if code is available args = args.split(" ") reg_len = self.code.get_registers_size() nb_args = len(args) start_reg = reg_len - nb_args args = ["{} v{}".format(a, start_reg + i) for i, a in enumerate(args)] print("METHOD {} {} {} ({}){}".format( self.method.get_class_name(), self.method.get_access_flags_string(), self.method.get_name(), ", ".join(args), ret)) bytecode.PrettyShow(self, self.basic_blocks.gets(), self.method.notes) def __repr__(self): return "".format(self.method) class StringAnalysis(object): def __init__(self, value): """ StringAnalysis contains the XREFs of a string. As Strings are only used as a source, they only contain the XREF_FROM set, i.e. where the string is used. This Array stores the information in which method the String is used. """ self.value = value self.orig_value = value self.xreffrom = set() def AddXrefFrom(self, classobj, methodobj): self.xreffrom.add((classobj, methodobj)) def get_xref_from(self): return self.xreffrom def set_value(self, value): self.value = value def get_value(self): return self.value def get_orig_value(self): return self.orig_value def __str__(self): data = "XREFto for string %s in\n" % repr(self.get_value()) for ref_class, ref_method in self.xreffrom: data += "%s:%s\n" % (ref_class.get_vm_class().get_name(), ref_method) return data def __repr__(self): # TODO should remove all chars that are not pleasent. e.g. newlines if len(self.get_value()) > 20: s = "'{}'...".format(self.get_value()[:20]) else: s = "'{}'".format(self.get_value()) return "".format(s) class MethodClassAnalysis(object): def __init__(self, method): """ MethodClassAnalysis contains the XREFs for a given method. Both referneces to other methods (XREF_TO) as well as methods calling this method (XREF_FROM) are saved. :param method: `dvm.EncodedMethod` """ self.method = method self.xrefto = set() self.xreffrom = set() def AddXrefTo(self, classobj, methodobj, offset): self.xrefto.add((classobj, methodobj, offset)) def AddXrefFrom(self, classobj, methodobj, offset): self.xreffrom.add((classobj, methodobj, offset)) def get_xref_from(self): return self.xreffrom def get_xref_to(self): return self.xrefto def get_method(self): """ Return the `EncodedMethod` object that relates to this object :return: `dvm.EncodedMethod` """ return self.method def __str__(self): data = "XREFto for %s\n" % self.method for ref_class, ref_method, offset in self.xrefto: data += "in\n" data += "%s:%s @0x%x\n" % (ref_class.get_vm_class().get_name(), ref_method, offset) data += "XREFFrom for %s\n" % self.method for ref_class, ref_method, offset in self.xreffrom: data += "in\n" data += "%s:%s @0x%x\n" % (ref_class.get_vm_class().get_name(), ref_method, offset) return data def __repr__(self): return "".format(self.method, " EXTERNAL" if isinstance(self.method, ExternalMethod) else "") class FieldClassAnalysis(object): def __init__(self, field): """ FieldClassAnalysis contains the XREFs for a class field. Instead of using XREF_FROM/XREF_TO, this object has methods for READ and WRITE access to the field. That means, that it will show you, where the field is read or written. :param field: `dvm.EncodedField` """ self.field = field self.xrefread = set() self.xrefwrite = set() def AddXrefRead(self, classobj, methodobj): self.xrefread.add((classobj, methodobj)) def AddXrefWrite(self, classobj, methodobj): self.xrefwrite.add((classobj, methodobj)) def get_xref_read(self): return self.xrefread def get_xref_write(self): return self.xrefwrite def get_field(self): return self.field def __str__(self): data = "XREFRead for %s\n" % self.field for ref_class, ref_method in self.xrefread: data += "in\n" data += "%s:%s\n" % (ref_class.get_vm_class().get_name(), ref_method) data += "XREFWrite for %s\n" % self.field for ref_class, ref_method in self.xrefwrite: data += "in\n" data += "%s:%s\n" % (ref_class.get_vm_class().get_name(), ref_method) return data def __repr__(self): return "{}>".format(self.field.class_name, self.field.name) REF_NEW_INSTANCE = 0 REF_CLASS_USAGE = 1 class ExternalClass: def __init__(self, name): """ The ExternalClass is used for all classes that are not defined in the DEX file, thus are external classes. """ self.name = name self.methods = {} def get_methods(self): return self.methods.values() def GetMethod(self, name, descriptor): key = name + str(descriptor) if key not in self.methods: self.methods[key] = ExternalMethod(self.name, name, descriptor) return self.methods[key] def get_name(self): """ Returns the name of the ExternalClass object """ return self.name def __repr__(self): return "".format(self.name) class ExternalMethod(object): def __init__(self, class_name, name, descriptor): self.class_name = class_name self.name = name self.descriptor = descriptor def get_name(self): return self.name def get_class_name(self): return self.class_name def get_descriptor(self): return ''.join(self.descriptor) def get_access_flags_string(self): # TODO can we assume that external methods are always public? # they can also be static... # or constructor... return "" def __str__(self): return "%s->%s%s" % (self.class_name, self.name, ''.join(self.descriptor)) def __repr__(self): return "".format(self.__str__()) class ClassAnalysis(object): def __init__(self, classobj, internal=False): """ ClassAnalysis contains the XREFs from a given Class. Also external classes will generate xrefs, obviously only XREF_FROM are shown for external classes. """ self.orig_class = classobj self._inherits_methods = {} self._methods = {} self._fields = {} self.internal = internal self.xrefto = collections.defaultdict(set) self.xreffrom = collections.defaultdict(set) def get_methods(self): """ Return all `MethodClassAnalysis` objects of this class """ return list(self._methods.values()) def get_fields(self): """ Return all `FieldClassAnalysis` objects of this class """ return self._fields.values() def get_nb_methods(self): """ Get the number of methods in this class """ return len(self._methods) def get_method_analysis(self, method): return self._methods.get(method) def get_field_analysis(self, field): return self._fields.get(field) def GetFakeMethod(self, name, descriptor): if not self.internal: return self.orig_class.GetMethod(name, descriptor) # We are searching an unknown method in this class # It could be something that the class herits key = name + str(descriptor) if key not in self._inherits_methods: self._inherits_methods[key] = ExternalMethod(self.orig_class.get_name(), name, descriptor) return self._inherits_methods[key] def AddFXrefRead(self, method, classobj, field): if field not in self._fields: self._fields[field] = FieldClassAnalysis(field) self._fields[field].AddXrefRead(classobj, method) def AddFXrefWrite(self, method, classobj, field): if field not in self._fields: self._fields[field] = FieldClassAnalysis(field) self._fields[field].AddXrefWrite(classobj, method) def AddMXrefTo(self, method1, classobj, method2, offset): if method1 not in self._methods: self._methods[method1] = MethodClassAnalysis(method1) self._methods[method1].AddXrefTo(classobj, method2, offset) def AddMXrefFrom(self, method1, classobj, method2, offset): if method1 not in self._methods: self._methods[method1] = MethodClassAnalysis(method1) self._methods[method1].AddXrefFrom(classobj, method2, offset) def AddXrefTo(self, ref_kind, classobj, methodobj, offset): self.xrefto[classobj].add((ref_kind, methodobj, offset)) def AddXrefFrom(self, ref_kind, classobj, methodobj, offset): self.xreffrom[classobj].add((ref_kind, methodobj, offset)) def get_xref_from(self): return self.xreffrom def get_xref_to(self): return self.xrefto def get_vm_class(self): return self.orig_class def __repr__(self): return "".format(self.orig_class.get_name(), " EXTERNAL" if isinstance(self.orig_class, ExternalClass) else "") def __str__(self): # Print only instanceiations from other classes here # TODO also method xref and field xref should be printed? data = "XREFto for %s\n" % self.orig_class for ref_class in self.xrefto: data += str(ref_class.get_vm_class().get_name()) + " " data += "in\n" for ref_kind, ref_method, ref_offset in self.xrefto[ref_class]: data += "%d %s 0x%x\n" % (ref_kind, ref_method, ref_offset) data += "\n" data += "XREFFrom for %s\n" % self.orig_class for ref_class in self.xreffrom: data += str(ref_class.get_vm_class().get_name()) + " " data += "in\n" for ref_kind, ref_method, ref_offset in self.xreffrom[ref_class]: data += "%d %s 0x%x\n" % (ref_kind, ref_method, ref_offset) data += "\n" return data class Analysis(object): def __init__(self, vm=None): """ Analysis Object The Analysis contains a lot of information about (multiple) DalvikVMFormat objects Features are for example XREFs between Classes, Methods, Fields and Strings. Multiple DalvikVMFormat Objects can be added using the function `add` XREFs are created for: * classes (`ClassAnalysis`) * methods (`MethodClassAnalysis`) * strings (`StringAnalyis`) * fields (`FieldClassAnalysis`) :param vm: inital DalvikVMFormat object (default None) """ self.vms = [] self.classes = {} self.strings = {} self.methods = {} if vm: self.add(vm) def add(self, vm): """ Add a DalvikVMFormat to this Analysis :param vm: """ self.vms.append(vm) for current_class in vm.get_classes(): self.classes[current_class.get_name()] = ClassAnalysis(current_class, True) for method in vm.get_methods(): self.methods[method] = MethodAnalysis(vm, method) def _get_all_classes(self): """ Returns all Class objects of all VMs in this Analysis Used by create_xref(). """ for vm in self.vms: for current_class in vm.get_classes(): yield current_class def create_xref(self): log.debug("Creating XREF/DREF") started_at = time.time() # TODO multiprocessing for c in self._get_all_classes(): self._create_xref(c) diff = time.time() - started_at log.info("End of creating XREF/DREF {:.0f}:{:.2f}".format(*divmod(diff, 60))) def _create_xref(self, current_class): """ Create the xref for `current_class` """ cur_cls_name = current_class.get_name() log.debug("Creating XREF/DREF for %s" % cur_cls_name) for current_method in current_class.get_methods(): log.debug("Creating XREF for %s" % current_method) code = current_method.get_code() if code is None: continue off = 0 for instruction in code.get_bc().get_instructions(): op_value = instruction.get_op_value() if op_value in [0x1c, 0x22]: idx_type = instruction.get_ref_kind() type_info = instruction.cm.vm.get_cm_type(idx_type) # Internal xref related to class manipulation if type_info in self.classes and type_info != cur_cls_name: if op_value == 0x22: # new instance self.classes[cur_cls_name].AddXrefTo(REF_NEW_INSTANCE, self.classes[type_info], current_method, off) self.classes[type_info].AddXrefFrom(REF_NEW_INSTANCE, self.classes[cur_cls_name], current_method, off) else: # class reference self.classes[cur_cls_name].AddXrefTo(REF_CLASS_USAGE, self.classes[type_info], current_method, off) self.classes[type_info].AddXrefFrom(REF_CLASS_USAGE, self.classes[cur_cls_name], current_method, off) elif ((0x6e <= op_value <= 0x72) or (0x74 <= op_value <= 0x78)): idx_meth = instruction.get_ref_kind() method_info = instruction.cm.vm.get_cm_method(idx_meth) if method_info: class_info = method_info[0] method_item = instruction.cm.vm.get_method_descriptor(method_info[0], method_info[1], ''.join(method_info[2])) if not method_item: # Seems to be an external classes, create it first if method_info[0] not in self.classes: self.classes[method_info[0]] = ClassAnalysis(ExternalClass(method_info[0]), False) method_item = self.classes[method_info[0]].GetFakeMethod(method_info[1], method_info[2]) self.classes[cur_cls_name].AddMXrefTo(current_method, self.classes[class_info], method_item, off) self.classes[class_info].AddMXrefFrom(method_item, self.classes[cur_cls_name], current_method, off) # Internal xref related to class manipulation if class_info in self.classes and class_info != cur_cls_name: self.classes[cur_cls_name].AddXrefTo(REF_CLASS_USAGE, self.classes[class_info], method_item, off) self.classes[class_info].AddXrefFrom(REF_CLASS_USAGE, self.classes[cur_cls_name], current_method, off) elif 0x1a <= op_value <= 0x1b: string_value = instruction.cm.vm.get_cm_string(instruction.get_ref_kind()) if string_value not in self.strings: self.strings[string_value] = StringAnalysis(string_value) self.strings[string_value].AddXrefFrom(self.classes[cur_cls_name], current_method) elif 0x52 <= op_value <= 0x6d: idx_field = instruction.get_ref_kind() field_info = instruction.cm.vm.get_cm_field(idx_field) field_item = instruction.cm.vm.get_field_descriptor(field_info[0], field_info[2], field_info[1]) if field_item: if (0x52 <= op_value <= 0x58) or (0x60 <= op_value <= 0x66): # read access to a field self.classes[cur_cls_name].AddFXrefRead(current_method, self.classes[cur_cls_name], field_item) else: # write access to a field self.classes[cur_cls_name].AddFXrefWrite(current_method, self.classes[cur_cls_name], field_item) off += instruction.get_length() def get_method(self, method): """ :param method: :return: `MethodAnalysis` object for the given method """ if method in self.methods: return self.methods[method] else: return None def get_method_by_name(self, class_name, method_name, method_descriptor): if class_name in self.classes: for method in self.classes[class_name].get_vm_class().get_methods(): if method.get_name() == method_name and method.get_descriptor( ) == method_descriptor: return method return None def get_method_analysis(self, method): """ :param method: :return: `MethodClassAnalysis` for the given method """ class_analysis = self.get_class_analysis(method.get_class_name()) if class_analysis: return class_analysis.get_method_analysis(method) return None def get_method_analysis_by_name(self, class_name, method_name, method_descriptor): method = self.get_method_by_name(class_name, method_name, method_descriptor) if method: return self.get_method_analysis(method) return None def get_field_analysis(self, field): class_analysis = self.get_class_analysis(field.get_class_name()) if class_analysis: return class_analysis.get_field_analysis(field) return None def is_class_present(self, class_name): return class_name in self.classes def get_class_analysis(self, class_name): return self.classes.get(class_name) def get_external_classes(self): """ Returns all external classes, that means all classes that are not defined in the given set of `DalvikVMObjects`. :rtype: generator of `ClassAnalysis` """ for i in self.classes: if not self.classes[i].internal: yield self.classes[i] def get_strings_analysis(self): return self.strings def get_strings(self): """ Returns a list of `StringAnalysis` objects :rtype: list of `StringAnalysis` """ return self.strings.values() def get_classes(self): """ Returns a list of `ClassAnalysis` objects :rtype: list of `ClassAnalysis` """ return self.classes.values() def get_methods(self): """ Returns a list of `MethodClassAnalysis` objects """ for c in self.classes.values(): for m in c.get_methods(): yield m def get_fields(self): """ Returns a list of `FieldClassAnalysis` objects """ for c in self.classes.values(): for f in c.get_fields(): yield f def find_classes(self, name=".*", no_external=False): """ Find classes by name, using regular expression This method will return all ClassAnalysis Object that match the name of the class. :param name: regular expression for class name (default ".*") :param no_external: Remove external classes from the output (default False) :rtype: generator of `ClassAnalysis` """ for cname, c in self.classes.items(): if no_external and isinstance(c.get_vm_class(), ExternalClass): continue if re.match(name, cname): yield c def find_methods(self, classname=".*", methodname=".*", descriptor=".*", accessflags=".*", no_external=False): """ Find a method by name using regular expression. This method will return all MethodClassAnalysis objects, which match the classname, methodname, descriptor and accessflags of the method. :param classname: regular expression for the classname :param methodname: regular expression for the method name :param descriptor: regular expression for the descriptor :param accessflags: regular expression for the accessflags :param no_external: Remove external method from the output (default False) :rtype: generator of `MethodClassAnalysis` """ for cname, c in self.classes.items(): if re.match(classname, cname): for m in c.get_methods(): z = m.get_method() # TODO is it even possible that an internal class has # external methods? Maybe we should check for ExternalClass # instead... if no_external and isinstance(z, ExternalMethod): continue if re.match(methodname, z.get_name()) and \ re.match(descriptor, z.get_descriptor()) and \ re.match(accessflags, z.get_access_flags_string()): yield m def find_strings(self, string=".*"): """ Find strings by regex :param string: regular expression for the string to search for :rtype: generator of `StringAnalysis` """ for s, sa in self.strings.items(): if re.match(string, s): yield sa def find_fields(self, classname=".*", fieldname=".*", fieldtype=".*", accessflags=".*"): """ find fields by regex :param classname: regular expression of the classname :param fieldname: regular expression of the fieldname :param fieldtype: regular expression of the fieldtype :param accessflags: regular expression of the access flags :rtype: generator of `FieldClassAnalysis` """ for cname, c in self.classes.items(): if re.match(classname, cname): for f in c.get_fields(): z = f.get_field() if re.match(fieldname, z.get_name()) and \ re.match(fieldtype, z.get_descriptor()) and \ re.match(accessflags, z.get_access_flags_string()): yield f def __repr__(self): return "".format(len(self.vms), len(self.classes), len(self.strings)) def is_ascii_obfuscation(vm): """ Tests if any class inside a DalvikVMObject uses ASCII Obfuscation (e.g. UTF-8 Chars in Classnames) :param vm: `DalvikVMObject` :return: True if ascii obfuscation otherwise False """ for classe in vm.get_classes(): if is_ascii_problem(classe.get_name()): return True for method in classe.get_methods(): if is_ascii_problem(method.get_name()): return True return False androguard-3.1.0-rc2/androguard/core/analysis/auto.py000066400000000000000000000247171324327352200225660ustar00rootroot00000000000000from future import standard_library standard_library.install_aliases() from builtins import range from builtins import object import os import queue import threading import time import zlib from androguard.core import androconf from androguard.core.bytecodes import apk, dvm from androguard.core.analysis import analysis from androguard.util import read import logging log = logging.getLogger("androguard.auto") class AndroAuto(object): """ The main class which analyse automatically android apps by calling methods from a specific object :param settings: the settings of the analysis :type settings: dict """ def __init__(self, settings): self.settings = settings def dump(self): """ Dump the analysis """ self.settings["my"].dump() def dump_file(self, filename): """ Dump the analysis in a filename """ self.settings["my"].dump_file(filename) def go(self): """ Launch the analysis """ myandro = self.settings["my"] def worker(idx, q): log.debug("Running worker-%d" % idx) while True: a, d, dx, axmlobj, arscobj = None, None, None, None, None try: filename, fileraw = q.get() id_file = zlib.adler32(fileraw) log.debug("(worker-%d) get %s %d" % (idx, filename, id_file)) log = self.settings["log"](id_file, filename) is_analysis_dex, is_analysis_adex = True, True log.debug("(worker-%d) filtering file %d" % (idx, id_file)) filter_file_ret, filter_file_type = myandro.filter_file( log, fileraw) if filter_file_ret: log.debug("(worker-%d) analysis %s" % (id_file, filter_file_type)) if filter_file_type == "APK": a = myandro.create_apk(log, fileraw) is_analysis_dex = myandro.analysis_apk(log, a) fileraw = a.get_dex() filter_file_type = androconf.is_android_raw(fileraw) elif filter_file_type == "AXML": axmlobj = myandro.create_axml(log, fileraw) myandro.analysis_axml(log, axmlobj) elif filter_file_type == "ARSC": arscobj = myandro.create_arsc(log, fileraw) myandro.analysis_arsc(log, arscobj) if is_analysis_dex and filter_file_type == "DEX": d = myandro.create_dex(log, fileraw) is_analysis_adex = myandro.analysis_dex(log, d) elif is_analysis_dex and filter_file_type == "DEY": d = myandro.create_dey(log, fileraw) is_analysis_adex = myandro.analysis_dey(log, d) if is_analysis_adex and d: dx = myandro.create_adex(log, d) myandro.analysis_adex(log, dx) myandro.analysis_app(log, a, d, dx) myandro.finish(log) except Exception as why: myandro.crash(log, why) myandro.finish(log) del a, d, dx, axmlobj, arscobj q.task_done() q = queue.Queue(self.settings["max_fetcher"]) for i in range(self.settings["max_fetcher"]): t = threading.Thread(target=worker, args=[i, q]) t.daemon = True t.start() terminated = True while terminated: terminated = myandro.fetcher(q) try: if terminated: time.sleep(10) except KeyboardInterrupt: terminated = False q.join() class DefaultAndroAnalysis(object): """ This class can be used as a template in order to analyse apps """ def fetcher(self, q): """ This method is called to fetch a new app in order to analyse it. The queue must be fill with the following format: (filename, raw) :param q: the Queue to put new app """ pass def filter_file(self, log, fileraw): """ This method is called in order to filer a specific app :param log: an object which corresponds to a unique app :param fileraw: the raw app (a string) :rtype: a set with 2 elements, the return value (boolean) if it is necessary to continue the analysis and the file type """ file_type = androconf.is_android_raw(fileraw) if file_type == "APK" or file_type == "DEX" or file_type == "DEY" or file_type == "AXML" or file_type == "ARSC": return True, file_type return False, None def create_axml(self, log, fileraw): """ This method is called in order to create a new AXML object :param log: an object which corresponds to a unique app :param fileraw: the raw axml (a string) :rtype: an :class:`APK` object """ return apk.AXMLPrinter(fileraw) def create_arsc(self, log, fileraw): """ This method is called in order to create a new ARSC object :param log: an object which corresponds to a unique app :param fileraw: the raw arsc (a string) :rtype: an :class:`APK` object """ return apk.ARSCParser(fileraw) def create_apk(self, log, fileraw): """ This method is called in order to create a new APK object :param log: an object which corresponds to a unique app :param fileraw: the raw apk (a string) :rtype: an :class:`APK` object """ return apk.APK(fileraw, raw=True) def create_dex(self, log, dexraw): """ This method is called in order to create a DalvikVMFormat object :param log: an object which corresponds to a unique app :param dexraw: the raw classes.dex (a string) :rtype: a :class:`DalvikVMFormat` object """ return dvm.DalvikVMFormat(dexraw) def create_dey(self, log, dexraw): """ This method is called in order to create a DalvikOdexVMFormat object :param log: an object which corresponds to a unique app :param dexraw: the raw odex file (a string) :rtype: a :class:`DalvikOdexVMFormat` object """ return dvm.DalvikOdexVMFormat(dexraw) def create_adex(self, log, dexobj): """ This method is called in order to create a VMAnalysis object :param log: an object which corresponds to a unique app :param dexobj: a :class:`DalvikVMFormat` object :rytpe: a :class:`Analysis` object """ vm_analysis = analysis.Analysis(dexobj) vm_analysis.create_xref() return vm_analysis def analysis_axml(self, log, axmlobj): """ This method is called in order to know if the analysis must continue :param log: an object which corresponds to a unique app :param axmlobj: a :class:`AXMLPrinter` object :rtype: a boolean """ return True def analysis_arsc(self, log, arscobj): """ This method is called in order to know if the analysis must continue :param log: an object which corresponds to a unique app :param arscobj: a :class:`ARSCParser` object :rtype: a boolean """ return True def analysis_apk(self, log, apkobj): """ This method is called in order to know if the analysis must continue :param log: an object which corresponds to a unique app :param apkobj: a :class:`APK` object :rtype: a boolean """ return True def analysis_dex(self, log, dexobj): """ This method is called in order to know if the analysis must continue :param log: an object which corresponds to a unique app :param dexobj: a :class:`DalvikVMFormat` object :rtype: a boolean """ return True def analysis_dey(self, log, deyobj): """ This method is called in order to know if the analysis must continue :param log: an object which corresponds to a unique app :param deyobj: a :class:`DalvikOdexVMFormat` object :rtype: a boolean """ return True def analysis_adex(self, log, adexobj): """ This method is called in order to know if the analysis must continue :param log: an object which corresponds to a unique app :param adexobj: a :class:`VMAnalysis` object :rtype: a boolean """ return True def analysis_app(self, log, apkobj, dexobj, adexobj): """ This method is called if you wish to analyse the final app :param log: an object which corresponds to a unique app :param apkobj: a :class:`APK` object :param dexobj: a :class:`DalvikVMFormat` object :param adexobj: a :class:`VMAnalysis` object """ pass def finish(self, log): """ This method is called before the end of the analysis :param log: an object which corresponds to a unique app """ pass def crash(self, log, why): """ This method is called if a crash appends :param log: an object which corresponds to a unique app :param why: the string exception """ pass def dump(self): """ This method is called to dump the result """ pass def dump_file(self, filename): """ This method is called to dump the result in a file :param filename: the filename to dump the result """ pass class DirectoryAndroAnalysis(DefaultAndroAnalysis): """ A simple class example to analyse a directory """ def __init__(self, directory): self.directory = directory def fetcher(self, q): for root, dirs, files in os.walk(self.directory, followlinks=True): if files: for f in files: real_filename = root if real_filename[-1] != "/": real_filename += "/" real_filename += f q.put((real_filename, read(real_filename))) return False androguard-3.1.0-rc2/androguard/core/androconf.py000066400000000000000000000211431324327352200217320ustar00rootroot00000000000000import sys import os import logging import tempfile from androguard import __version__ from androguard.core.api_specific_resources import load_permission_mappings, load_permissions ANDROGUARD_VERSION = __version__ log = logging.getLogger("androguard.default") class InvalidResourceError(Exception): """ Invalid Resource Erorr is thrown by load_api_specific_resource_module """ pass def is_ascii_problem(s): """ Test if a string contains other chars than ASCII :param s: a string to test :return: True if string contains other chars than ASCII, False otherwise """ try: s.decode("ascii") return False except UnicodeDecodeError: return True class Color(object): Normal = "\033[0m" Black = "\033[30m" Red = "\033[31m" Green = "\033[32m" Yellow = "\033[33m" Blue = "\033[34m" Purple = "\033[35m" Cyan = "\033[36m" Grey = "\033[37m" Bold = "\033[1m" # TODO most of these options are duplicated, as they are also the default arguments to the functions CONF = { # Assume the binary is in $PATH, otherwise give full path "BIN_JADX": "jadx", "BIN_DED": "ded.sh", "BIN_DEX2JAR": "dex2jar.sh", "BIN_JAD": "jad", "BIN_WINEJAD": "jad.exe", "BIN_FERNFLOWER": "fernflower.jar", "BIN_JARSIGNER": "jarsigner", "OPTIONS_FERNFLOWER": {"dgs": '1', "asc": '1'}, "PRETTY_SHOW": 1, "TMP_DIRECTORY": tempfile.gettempdir(), # Full python or mix python/c++ (native) # "ENGINE" : "automatic", "ENGINE": "python", "RECODE_ASCII_STRING": False, "RECODE_ASCII_STRING_METH": None, "DEOBFUSCATED_STRING": True, # "DEOBFUSCATED_STRING_METH" : get_deobfuscated_string, "COLORS": { "OFFSET": Color.Yellow, "OFFSET_ADDR": Color.Green, "INSTRUCTION_NAME": Color.Yellow, "BRANCH_FALSE": Color.Red, "BRANCH_TRUE": Color.Green, "BRANCH": Color.Blue, "EXCEPTION": Color.Cyan, "BB": Color.Purple, "NOTE": Color.Red, "NORMAL": Color.Normal, "OUTPUT": { "normal": Color.Normal, "registers": Color.Normal, "literal": Color.Green, "offset": Color.Purple, "raw": Color.Red, "string": Color.Red, "meth": Color.Cyan, "type": Color.Blue, "field": Color.Green, } }, "PRINT_FCT": sys.stdout.write, "LAZY_ANALYSIS": False, "MAGIC_PATH_FILE": None, "DEFAULT_API": 16, # this is the minimal API version we have "SESSION": None, } def default_colors(obj): CONF["COLORS"]["OFFSET"] = obj.Yellow CONF["COLORS"]["OFFSET_ADDR"] = obj.Green CONF["COLORS"]["INSTRUCTION_NAME"] = obj.Yellow CONF["COLORS"]["BRANCH_FALSE"] = obj.Red CONF["COLORS"]["BRANCH_TRUE"] = obj.Green CONF["COLORS"]["BRANCH"] = obj.Blue CONF["COLORS"]["EXCEPTION"] = obj.Cyan CONF["COLORS"]["BB"] = obj.Purple CONF["COLORS"]["NOTE"] = obj.Red CONF["COLORS"]["NORMAL"] = obj.Normal CONF["COLORS"]["OUTPUT"]["normal"] = obj.Normal CONF["COLORS"]["OUTPUT"]["registers"] = obj.Normal CONF["COLORS"]["OUTPUT"]["literal"] = obj.Green CONF["COLORS"]["OUTPUT"]["offset"] = obj.Purple CONF["COLORS"]["OUTPUT"]["raw"] = obj.Red CONF["COLORS"]["OUTPUT"]["string"] = obj.Red CONF["COLORS"]["OUTPUT"]["meth"] = obj.Cyan CONF["COLORS"]["OUTPUT"]["type"] = obj.Blue CONF["COLORS"]["OUTPUT"]["field"] = obj.Green def disable_colors(): """ Disable colors from the output (color = normal)""" for i in CONF["COLORS"]: if isinstance(CONF["COLORS"][i], dict): for j in CONF["COLORS"][i]: CONF["COLORS"][i][j] = Color.normal else: CONF["COLORS"][i] = Color.normal def remove_colors(): """ Remove colors from the output (no escape sequences)""" for i in CONF["COLORS"]: if isinstance(CONF["COLORS"][i], dict): for j in CONF["COLORS"][i]: CONF["COLORS"][i][j] = "" else: CONF["COLORS"][i] = "" def enable_colors(colors): for i in colors: CONF["COLORS"][i] = colors[i] def save_colors(): c = {} for i in CONF["COLORS"]: if isinstance(CONF["COLORS"][i], dict): c[i] = {} for j in CONF["COLORS"][i]: c[i][j] = CONF["COLORS"][i][j] else: c[i] = CONF["COLORS"][i] return c def is_android(filename): """Return the type of the file @param filename : the filename @rtype : "APK", "DEX", None """ if not filename: return None with open(filename, "rb") as fd: f_bytes = fd.read() return is_android_raw(f_bytes) def is_android_raw(raw): """ Returns a string that describes the type of file, for common Android specific formats """ val = None # We do not check for META-INF/MANIFEST.MF, # as you also want to analyze unsigned APKs... # AndroidManifest.xml should be in every APK. # classes.dex and resources.arsc are not required! # if raw[0:2] == b"PK" and b'META-INF/MANIFEST.MF' in raw: # TODO this check might be still invalid. A ZIP file with stored APK inside would match as well. # probably it would be better to rewrite this and add more sanity checks. if raw[0:2] == b"PK" and b'AndroidManifest.xml' in raw: val = "APK" elif raw[0:3] == b"dex": val = "DEX" elif raw[0:3] == b"dey": val = "DEY" elif raw[0:4] == b"\x03\x00\x08\x00": val = "AXML" elif raw[0:4] == b"\x02\x00\x0C\x00": val = b"ARSC" return val def show_logging(level=logging.INFO): """ enable log messages on stdout We will catch all messages here! From all loggers... """ logger = logging.getLogger() h = logging.StreamHandler(stream=sys.stdout) h.setFormatter(logging.Formatter(fmt="%(asctime)s [%(levelname)-8s] %(name)s (%(filename)s): %(message)s")) logger.addHandler(h) logger.setLevel(level) def set_options(key, value): CONF[key] = value def rrmdir(directory): """ Recursivly delete a directory :param directory: directory to remove """ for root, dirs, files in os.walk(directory, topdown=False): for name in files: os.remove(os.path.join(root, name)) for name in dirs: os.rmdir(os.path.join(root, name)) os.rmdir(directory) def make_color_tuple(color): """ turn something like "#000000" into 0,0,0 or "#FFFFFF into "255,255,255" """ R = color[1:3] G = color[3:5] B = color[5:7] R = int(R, 16) G = int(G, 16) B = int(B, 16) return R, G, B def interpolate_tuple(startcolor, goalcolor, steps): """ Take two RGB color sets and mix them over a specified number of steps. Return the list """ # white R = startcolor[0] G = startcolor[1] B = startcolor[2] targetR = goalcolor[0] targetG = goalcolor[1] targetB = goalcolor[2] DiffR = targetR - R DiffG = targetG - G DiffB = targetB - B buffer = [] for i in range(0, steps + 1): iR = R + (DiffR * i // steps) iG = G + (DiffG * i // steps) iB = B + (DiffB * i // steps) hR = str.replace(hex(iR), "0x", "") hG = str.replace(hex(iG), "0x", "") hB = str.replace(hex(iB), "0x", "") if len(hR) == 1: hR = "0" + hR if len(hB) == 1: hB = "0" + hB if len(hG) == 1: hG = "0" + hG color = str.upper("#" + hR + hG + hB) buffer.append(color) return buffer def color_range(startcolor, goalcolor, steps): """ wrapper for interpolate_tuple that accepts colors as html ("#CCCCC" and such) """ start_tuple = make_color_tuple(startcolor) goal_tuple = make_color_tuple(goalcolor) return interpolate_tuple(start_tuple, goal_tuple, steps) def load_api_specific_resource_module(resource_name, api=None): """ Load the module from the JSON files and return a dict, which might be empty if the resource could not be loaded. If no api version is given, the default one from the CONF dict is used. :param resource_name: Name of the resource to load :param api: API version :return: dict """ loader = dict(aosp_permissions=load_permissions, api_permission_mappings=load_permission_mappings) if resource_name not in loader: raise InvalidResourceError("Invalid Resource '{}', not in [{}]".format(resource_name, ", ".join(loader.keys()))) if not api: api = CONF["DEFAULT_API"] return loader[resource_name](api) androguard-3.1.0-rc2/androguard/core/api_specific_resources/000077500000000000000000000000001324327352200241165ustar00rootroot00000000000000androguard-3.1.0-rc2/androguard/core/api_specific_resources/__init__.py000066400000000000000000000023021324327352200262240ustar00rootroot00000000000000import json import os class APILevelNotFoundError(Exception): pass def load_permissions(apilevel): """ Load the Permissions for the given apilevel :param apilevel: integer value of the API level :return: a dictionary of {Permission Name: {Permission info} """ root = os.path.dirname(os.path.realpath(__file__)) permissions_file = os.path.join(root, "aosp_permissions", "permissions_{}.json".format(apilevel)) if not os.path.isfile(permissions_file): return {} with open(permissions_file, "r") as fp: return json.load(fp) def load_permission_mappings(apilevel): """ Load the API/Permission mapping for the requested API level. If the requetsed level was not found, None is returned. :param apilevel: integer value of the API level, i.e. 24 for Android 7.0 :return: a dictionary of {MethodSignature: [List of Permissions]} """ root = os.path.dirname(os.path.realpath(__file__)) permissions_file = os.path.join(root, "api_permission_mappings", "permissions_{}.json".format(apilevel)) if not os.path.isfile(permissions_file): return {} with open(permissions_file, "r") as fp: return json.load(fp) androguard-3.1.0-rc2/androguard/core/api_specific_resources/aosp_permissions/000077500000000000000000000000001324327352200275135ustar00rootroot00000000000000androguard-3.1.0-rc2/androguard/core/api_specific_resources/aosp_permissions/permissions_16.json000066400000000000000000001446311324327352200333000ustar00rootroot00000000000000{ "android.permission.SEND_SMS": { "permissionGroup": "android.permission-group.COST_MONEY", "description": "@string/permdesc_sendSms", "protectionLevel": "dangerous", "label": "@string/permlab_sendSms" }, "android.permission.SEND_SMS_NO_CONFIRMATION": { "permissionGroup": "android.permission-group.COST_MONEY", "description": "@string/permdesc_sendSmsNoConfirmation", "protectionLevel": "signature|system", "label": "@string/permlab_sendSmsNoConfirmation" }, "android.permission.CALL_PHONE": { "permissionGroup": "android.permission-group.COST_MONEY", "description": "@string/permdesc_callPhone", "protectionLevel": "dangerous", "label": "@string/permlab_callPhone" }, "android.permission.RECEIVE_SMS": { "permissionGroup": "android.permission-group.MESSAGES", "description": "@string/permdesc_receiveSms", "protectionLevel": "dangerous", "label": "@string/permlab_receiveSms" }, "android.permission.RECEIVE_MMS": { "permissionGroup": "android.permission-group.MESSAGES", "description": "@string/permdesc_receiveMms", "protectionLevel": "dangerous", "label": "@string/permlab_receiveMms" }, "android.permission.RECEIVE_EMERGENCY_BROADCAST": { "permissionGroup": "android.permission-group.MESSAGES", "description": "@string/permdesc_receiveEmergencyBroadcast", "protectionLevel": "signature|system", "label": "@string/permlab_receiveEmergencyBroadcast" }, "android.permission.READ_CELL_BROADCASTS": { "permissionGroup": "android.permission-group.MESSAGES", "description": "@string/permdesc_readCellBroadcasts", "protectionLevel": "dangerous", "label": "@string/permlab_readCellBroadcasts" }, "android.permission.READ_SMS": { "permissionGroup": "android.permission-group.MESSAGES", "description": "@string/permdesc_readSms", "protectionLevel": "dangerous", "label": "@string/permlab_readSms" }, "android.permission.WRITE_SMS": { "permissionGroup": "android.permission-group.MESSAGES", "description": "@string/permdesc_writeSms", "protectionLevel": "dangerous", "label": "@string/permlab_writeSms" }, "android.permission.RECEIVE_WAP_PUSH": { "permissionGroup": "android.permission-group.MESSAGES", "description": "@string/permdesc_receiveWapPush", "protectionLevel": "dangerous", "label": "@string/permlab_receiveWapPush" }, "android.permission.READ_CONTACTS": { "permissionGroup": "android.permission-group.PERSONAL_INFO", "description": "@string/permdesc_readContacts", "protectionLevel": "dangerous", "label": "@string/permlab_readContacts" }, "android.permission.WRITE_CONTACTS": { "permissionGroup": "android.permission-group.PERSONAL_INFO", "description": "@string/permdesc_writeContacts", "protectionLevel": "dangerous", "label": "@string/permlab_writeContacts" }, "android.permission.READ_CALL_LOG": { "permissionGroup": "android.permission-group.PERSONAL_INFO", "description": "@string/permdesc_readCallLog", "protectionLevel": "dangerous", "label": "@string/permlab_readCallLog" }, "android.permission.WRITE_CALL_LOG": { "permissionGroup": "android.permission-group.PERSONAL_INFO", "description": "@string/permdesc_writeCallLog", "protectionLevel": "dangerous", "label": "@string/permlab_writeCallLog" }, "android.permission.READ_PROFILE": { "permissionGroup": "android.permission-group.PERSONAL_INFO", "description": "@string/permdesc_readProfile", "protectionLevel": "dangerous", "label": "@string/permlab_readProfile" }, "android.permission.WRITE_PROFILE": { "permissionGroup": "android.permission-group.PERSONAL_INFO", "description": "@string/permdesc_writeProfile", "protectionLevel": "dangerous", "label": "@string/permlab_writeProfile" }, "android.permission.READ_SOCIAL_STREAM": { "permissionGroup": "android.permission-group.PERSONAL_INFO", "description": "@string/permdesc_readSocialStream", "protectionLevel": "dangerous", "label": "@string/permlab_readSocialStream" }, "android.permission.WRITE_SOCIAL_STREAM": { "permissionGroup": "android.permission-group.PERSONAL_INFO", "description": "@string/permdesc_writeSocialStream", "protectionLevel": "dangerous", "label": "@string/permlab_writeSocialStream" }, "android.permission.READ_CALENDAR": { "permissionGroup": "android.permission-group.PERSONAL_INFO", "description": "@string/permdesc_readCalendar", "protectionLevel": "dangerous", "label": "@string/permlab_readCalendar" }, "android.permission.WRITE_CALENDAR": { "permissionGroup": "android.permission-group.PERSONAL_INFO", "description": "@string/permdesc_writeCalendar", "protectionLevel": "dangerous", "label": "@string/permlab_writeCalendar" }, "android.permission.READ_USER_DICTIONARY": { "permissionGroup": "android.permission-group.PERSONAL_INFO", "description": "@string/permdesc_readDictionary", "protectionLevel": "dangerous", "label": "@string/permlab_readDictionary" }, "android.permission.WRITE_USER_DICTIONARY": { "permissionGroup": "android.permission-group.PERSONAL_INFO", "description": "@string/permdesc_writeDictionary", "protectionLevel": "normal", "label": "@string/permlab_writeDictionary" }, "com.android.browser.permission.READ_HISTORY_BOOKMARKS": { "permissionGroup": "android.permission-group.PERSONAL_INFO", "description": "@string/permdesc_readHistoryBookmarks", "protectionLevel": "dangerous", "label": "@string/permlab_readHistoryBookmarks" }, "com.android.browser.permission.WRITE_HISTORY_BOOKMARKS": { "permissionGroup": "android.permission-group.PERSONAL_INFO", "description": "@string/permdesc_writeHistoryBookmarks", "protectionLevel": "dangerous", "label": "@string/permlab_writeHistoryBookmarks" }, "com.android.alarm.permission.SET_ALARM": { "permissionGroup": "android.permission-group.PERSONAL_INFO", "description": "@string/permdesc_setAlarm", "protectionLevel": "normal", "label": "@string/permlab_setAlarm" }, "com.android.voicemail.permission.ADD_VOICEMAIL": { "permissionGroup": "android.permission-group.PERSONAL_INFO", "description": "@string/permdesc_addVoicemail", "protectionLevel": "dangerous", "label": "@string/permlab_addVoicemail" }, "android.permission.ACCESS_FINE_LOCATION": { "permissionGroup": "android.permission-group.LOCATION", "description": "@string/permdesc_accessFineLocation", "protectionLevel": "dangerous", "label": "@string/permlab_accessFineLocation" }, "android.permission.ACCESS_COARSE_LOCATION": { "permissionGroup": "android.permission-group.LOCATION", "description": "@string/permdesc_accessCoarseLocation", "protectionLevel": "dangerous", "label": "@string/permlab_accessCoarseLocation" }, "android.permission.ACCESS_MOCK_LOCATION": { "permissionGroup": "android.permission-group.LOCATION", "description": "@string/permdesc_accessMockLocation", "protectionLevel": "dangerous", "label": "@string/permlab_accessMockLocation" }, "android.permission.ACCESS_LOCATION_EXTRA_COMMANDS": { "permissionGroup": "android.permission-group.LOCATION", "description": "@string/permdesc_accessLocationExtraCommands", "protectionLevel": "normal", "label": "@string/permlab_accessLocationExtraCommands" }, "android.permission.INSTALL_LOCATION_PROVIDER": { "permissionGroup": "", "description": "@string/permdesc_installLocationProvider", "protectionLevel": "signature|system", "label": "@string/permlab_installLocationProvider" }, "android.permission.INTERNET": { "permissionGroup": "android.permission-group.NETWORK", "description": "@string/permdesc_createNetworkSockets", "protectionLevel": "dangerous", "label": "@string/permlab_createNetworkSockets" }, "android.permission.ACCESS_NETWORK_STATE": { "permissionGroup": "android.permission-group.NETWORK", "description": "@string/permdesc_accessNetworkState", "protectionLevel": "normal", "label": "@string/permlab_accessNetworkState" }, "android.permission.ACCESS_WIFI_STATE": { "permissionGroup": "android.permission-group.NETWORK", "description": "@string/permdesc_accessWifiState", "protectionLevel": "normal", "label": "@string/permlab_accessWifiState" }, "android.permission.ACCESS_WIMAX_STATE": { "permissionGroup": "android.permission-group.NETWORK", "description": "@string/permdesc_accessWimaxState", "protectionLevel": "normal", "label": "@string/permlab_accessWimaxState" }, "android.permission.BLUETOOTH": { "permissionGroup": "android.permission-group.NETWORK", "description": "@string/permdesc_bluetooth", "protectionLevel": "dangerous", "label": "@string/permlab_bluetooth" }, "android.permission.NFC": { "permissionGroup": "android.permission-group.NETWORK", "description": "@string/permdesc_nfc", "protectionLevel": "dangerous", "label": "@string/permlab_nfc" }, "android.permission.USE_SIP": { "permissionGroup": "android.permission-group.NETWORK", "description": "@string/permdesc_use_sip", "protectionLevel": "dangerous", "label": "@string/permlab_use_sip" }, "android.permission.ACCOUNT_MANAGER": { "permissionGroup": "android.permission-group.ACCOUNTS", "description": "@string/permdesc_accountManagerService", "protectionLevel": "signature", "label": "@string/permlab_accountManagerService" }, "android.permission.CONNECTIVITY_INTERNAL": { "permissionGroup": "android.permission-group.NETWORK", "description": "", "protectionLevel": "signature|system", "label": "" }, "android.permission.GET_ACCOUNTS": { "permissionGroup": "android.permission-group.ACCOUNTS", "description": "@string/permdesc_getAccounts", "protectionLevel": "normal", "label": "@string/permlab_getAccounts" }, "android.permission.AUTHENTICATE_ACCOUNTS": { "permissionGroup": "android.permission-group.ACCOUNTS", "description": "@string/permdesc_authenticateAccounts", "protectionLevel": "dangerous", "label": "@string/permlab_authenticateAccounts" }, "android.permission.USE_CREDENTIALS": { "permissionGroup": "android.permission-group.ACCOUNTS", "description": "@string/permdesc_useCredentials", "protectionLevel": "dangerous", "label": "@string/permlab_useCredentials" }, "android.permission.MANAGE_ACCOUNTS": { "permissionGroup": "android.permission-group.ACCOUNTS", "description": "@string/permdesc_manageAccounts", "protectionLevel": "dangerous", "label": "@string/permlab_manageAccounts" }, "android.permission.MODIFY_AUDIO_SETTINGS": { "permissionGroup": "android.permission-group.HARDWARE_CONTROLS", "description": "@string/permdesc_modifyAudioSettings", "protectionLevel": "dangerous", "label": "@string/permlab_modifyAudioSettings" }, "android.permission.RECORD_AUDIO": { "permissionGroup": "android.permission-group.HARDWARE_CONTROLS", "description": "@string/permdesc_recordAudio", "protectionLevel": "dangerous", "label": "@string/permlab_recordAudio" }, "android.permission.CAMERA": { "permissionGroup": "android.permission-group.HARDWARE_CONTROLS", "description": "@string/permdesc_camera", "protectionLevel": "dangerous", "label": "@string/permlab_camera" }, "android.permission.VIBRATE": { "permissionGroup": "android.permission-group.HARDWARE_CONTROLS", "description": "@string/permdesc_vibrate", "protectionLevel": "normal", "label": "@string/permlab_vibrate" }, "android.permission.FLASHLIGHT": { "permissionGroup": "android.permission-group.HARDWARE_CONTROLS", "description": "@string/permdesc_flashlight", "protectionLevel": "normal", "label": "@string/permlab_flashlight" }, "android.permission.MANAGE_USB": { "permissionGroup": "android.permission-group.HARDWARE_CONTROLS", "description": "@string/permdesc_manageUsb", "protectionLevel": "signature|system", "label": "@string/permlab_manageUsb" }, "android.permission.ACCESS_MTP": { "permissionGroup": "android.permission-group.HARDWARE_CONTROLS", "description": "@string/permdesc_accessMtp", "protectionLevel": "signature|system", "label": "@string/permlab_accessMtp" }, "android.permission.HARDWARE_TEST": { "permissionGroup": "android.permission-group.HARDWARE_CONTROLS", "description": "@string/permdesc_hardware_test", "protectionLevel": "signature", "label": "@string/permlab_hardware_test" }, "android.permission.NET_ADMIN": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.REMOTE_AUDIO_PLAYBACK": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.PROCESS_OUTGOING_CALLS": { "permissionGroup": "android.permission-group.PHONE_CALLS", "description": "@string/permdesc_processOutgoingCalls", "protectionLevel": "dangerous", "label": "@string/permlab_processOutgoingCalls" }, "android.permission.MODIFY_PHONE_STATE": { "permissionGroup": "android.permission-group.PHONE_CALLS", "description": "@string/permdesc_modifyPhoneState", "protectionLevel": "signature|system", "label": "@string/permlab_modifyPhoneState" }, "android.permission.READ_PHONE_STATE": { "permissionGroup": "android.permission-group.PHONE_CALLS", "description": "@string/permdesc_readPhoneState", "protectionLevel": "dangerous", "label": "@string/permlab_readPhoneState" }, "android.permission.READ_PRIVILEGED_PHONE_STATE": { "permissionGroup": "android.permission-group.PHONE_CALLS", "description": "", "protectionLevel": "signature|system", "label": "" }, "android.permission.READ_EXTERNAL_STORAGE": { "permissionGroup": "android.permission-group.DEVELOPMENT_TOOLS", "description": "@string/permdesc_sdcardRead", "protectionLevel": "normal", "label": "@string/permlab_sdcardRead" }, "android.permission.WRITE_EXTERNAL_STORAGE": { "permissionGroup": "android.permission-group.STORAGE", "description": "@string/permdesc_sdcardWrite", "protectionLevel": "dangerous", "label": "@string/permlab_sdcardWrite" }, "android.permission.WRITE_MEDIA_STORAGE": { "permissionGroup": "android.permission-group.STORAGE", "description": "@string/permdesc_mediaStorageWrite", "protectionLevel": "signature|system", "label": "@string/permlab_mediaStorageWrite" }, "android.permission.WRITE_SETTINGS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_writeSettings", "protectionLevel": "dangerous", "label": "@string/permlab_writeSettings" }, "android.permission.WRITE_GSERVICES": { "permissionGroup": "", "description": "@string/permdesc_writeGservices", "protectionLevel": "signature|system", "label": "@string/permlab_writeGservices" }, "android.permission.EXPAND_STATUS_BAR": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_expandStatusBar", "protectionLevel": "normal", "label": "@string/permlab_expandStatusBar" }, "android.permission.GET_TASKS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_getTasks", "protectionLevel": "dangerous", "label": "@string/permlab_getTasks" }, "android.permission.GET_DETAILED_TASKS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_getDetailedTasks", "protectionLevel": "signature", "label": "@string/permlab_getDetailedTasks" }, "android.permission.REORDER_TASKS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_reorderTasks", "protectionLevel": "dangerous", "label": "@string/permlab_reorderTasks" }, "android.permission.REMOVE_TASKS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_removeTasks", "protectionLevel": "signature", "label": "@string/permlab_removeTasks" }, "android.permission.START_ANY_ACTIVITY": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_startAnyActivity", "protectionLevel": "signature", "label": "@string/permlab_startAnyActivity" }, "android.permission.SET_SCREEN_COMPATIBILITY": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_setScreenCompatibility", "protectionLevel": "signature", "label": "@string/permlab_setScreenCompatibility" }, "android.permission.CHANGE_CONFIGURATION": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_changeConfiguration", "protectionLevel": "dangerous", "label": "@string/permlab_changeConfiguration" }, "android.permission.RESTART_PACKAGES": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_killBackgroundProcesses", "protectionLevel": "normal", "label": "@string/permlab_killBackgroundProcesses" }, "android.permission.KILL_BACKGROUND_PROCESSES": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_killBackgroundProcesses", "protectionLevel": "normal", "label": "@string/permlab_killBackgroundProcesses" }, "android.permission.FORCE_STOP_PACKAGES": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_forceStopPackages", "protectionLevel": "signature", "label": "@string/permlab_forceStopPackages" }, "android.permission.RETRIEVE_WINDOW_CONTENT": { "permissionGroup": "android.permission-group.PERSONAL_INFO", "description": "@string/permdesc_retrieve_window_content", "protectionLevel": "signature|system", "label": "@string/permlab_retrieve_window_content" }, "android.permission.SYSTEM_ALERT_WINDOW": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_systemAlertWindow", "protectionLevel": "dangerous", "label": "@string/permlab_systemAlertWindow" }, "android.permission.SET_ANIMATION_SCALE": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_setAnimationScale", "protectionLevel": "signature|system|development", "label": "@string/permlab_setAnimationScale" }, "android.permission.PERSISTENT_ACTIVITY": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_persistentActivity", "protectionLevel": "dangerous", "label": "@string/permlab_persistentActivity" }, "android.permission.GET_PACKAGE_SIZE": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_getPackageSize", "protectionLevel": "normal", "label": "@string/permlab_getPackageSize" }, "android.permission.SET_PREFERRED_APPLICATIONS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_setPreferredApplications", "protectionLevel": "signature", "label": "@string/permlab_setPreferredApplications" }, "android.permission.RECEIVE_BOOT_COMPLETED": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_receiveBootCompleted", "protectionLevel": "normal", "label": "@string/permlab_receiveBootCompleted" }, "android.permission.BROADCAST_STICKY": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_broadcastSticky", "protectionLevel": "normal", "label": "@string/permlab_broadcastSticky" }, "android.permission.WAKE_LOCK": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_wakeLock", "protectionLevel": "dangerous", "label": "@string/permlab_wakeLock" }, "android.permission.SET_WALLPAPER": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_setWallpaper", "protectionLevel": "normal", "label": "@string/permlab_setWallpaper" }, "android.permission.SET_WALLPAPER_HINTS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_setWallpaperHints", "protectionLevel": "normal", "label": "@string/permlab_setWallpaperHints" }, "android.permission.SET_TIME": { "permissionGroup": "", "description": "@string/permdesc_setTime", "protectionLevel": "signature|system", "label": "@string/permlab_setTime" }, "android.permission.SET_TIME_ZONE": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_setTimeZone", "protectionLevel": "dangerous", "label": "@string/permlab_setTimeZone" }, "android.permission.MOUNT_UNMOUNT_FILESYSTEMS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_mount_unmount_filesystems", "protectionLevel": "dangerous", "label": "@string/permlab_mount_unmount_filesystems" }, "android.permission.MOUNT_FORMAT_FILESYSTEMS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_mount_format_filesystems", "protectionLevel": "dangerous", "label": "@string/permlab_mount_format_filesystems" }, "android.permission.ASEC_ACCESS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_asec_access", "protectionLevel": "signature", "label": "@string/permlab_asec_access" }, "android.permission.ASEC_CREATE": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_asec_create", "protectionLevel": "signature", "label": "@string/permlab_asec_create" }, "android.permission.ASEC_DESTROY": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_asec_destroy", "protectionLevel": "signature", "label": "@string/permlab_asec_destroy" }, "android.permission.ASEC_MOUNT_UNMOUNT": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_asec_mount_unmount", "protectionLevel": "signature", "label": "@string/permlab_asec_mount_unmount" }, "android.permission.ASEC_RENAME": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_asec_rename", "protectionLevel": "signature", "label": "@string/permlab_asec_rename" }, "android.permission.DISABLE_KEYGUARD": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_disableKeyguard", "protectionLevel": "dangerous", "label": "@string/permlab_disableKeyguard" }, "android.permission.READ_SYNC_SETTINGS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_readSyncSettings", "protectionLevel": "normal", "label": "@string/permlab_readSyncSettings" }, "android.permission.WRITE_SYNC_SETTINGS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_writeSyncSettings", "protectionLevel": "dangerous", "label": "@string/permlab_writeSyncSettings" }, "android.permission.READ_SYNC_STATS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_readSyncStats", "protectionLevel": "normal", "label": "@string/permlab_readSyncStats" }, "android.permission.WRITE_APN_SETTINGS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_writeApnSettings", "protectionLevel": "signature|system", "label": "@string/permlab_writeApnSettings" }, "android.permission.SUBSCRIBED_FEEDS_READ": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_subscribedFeedsRead", "protectionLevel": "normal", "label": "@string/permlab_subscribedFeedsRead" }, "android.permission.SUBSCRIBED_FEEDS_WRITE": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_subscribedFeedsWrite", "protectionLevel": "dangerous", "label": "@string/permlab_subscribedFeedsWrite" }, "android.permission.CHANGE_NETWORK_STATE": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_changeNetworkState", "protectionLevel": "dangerous", "label": "@string/permlab_changeNetworkState" }, "android.permission.CHANGE_WIFI_STATE": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_changeWifiState", "protectionLevel": "dangerous", "label": "@string/permlab_changeWifiState" }, "android.permission.CHANGE_WIMAX_STATE": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_changeWimaxState", "protectionLevel": "dangerous", "label": "@string/permlab_changeWimaxState" }, "android.permission.CHANGE_WIFI_MULTICAST_STATE": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_changeWifiMulticastState", "protectionLevel": "dangerous", "label": "@string/permlab_changeWifiMulticastState" }, "android.permission.BLUETOOTH_ADMIN": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_bluetoothAdmin", "protectionLevel": "dangerous", "label": "@string/permlab_bluetoothAdmin" }, "android.permission.CLEAR_APP_CACHE": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_clearAppCache", "protectionLevel": "dangerous", "label": "@string/permlab_clearAppCache" }, "android.permission.ALLOW_ANY_CODEC_FOR_PLAYBACK": { "permissionGroup": "", "description": "@string/permdesc_anyCodecForPlayback", "protectionLevel": "signature|system", "label": "@string/permlab_anyCodecForPlayback" }, "android.permission.WRITE_SECURE_SETTINGS": { "permissionGroup": "android.permission-group.DEVELOPMENT_TOOLS", "description": "@string/permdesc_writeSecureSettings", "protectionLevel": "signature|system|development", "label": "@string/permlab_writeSecureSettings" }, "android.permission.DUMP": { "permissionGroup": "android.permission-group.DEVELOPMENT_TOOLS", "description": "@string/permdesc_dump", "protectionLevel": "signature|system|development", "label": "@string/permlab_dump" }, "android.permission.READ_LOGS": { "permissionGroup": "android.permission-group.DEVELOPMENT_TOOLS", "description": "@string/permdesc_readLogs", "protectionLevel": "signature|system|development", "label": "@string/permlab_readLogs" }, "android.permission.SET_DEBUG_APP": { "permissionGroup": "android.permission-group.DEVELOPMENT_TOOLS", "description": "@string/permdesc_setDebugApp", "protectionLevel": "signature|system|development", "label": "@string/permlab_setDebugApp" }, "android.permission.SET_PROCESS_LIMIT": { "permissionGroup": "android.permission-group.DEVELOPMENT_TOOLS", "description": "@string/permdesc_setProcessLimit", "protectionLevel": "signature|system|development", "label": "@string/permlab_setProcessLimit" }, "android.permission.SET_ALWAYS_FINISH": { "permissionGroup": "android.permission-group.DEVELOPMENT_TOOLS", "description": "@string/permdesc_setAlwaysFinish", "protectionLevel": "signature|system|development", "label": "@string/permlab_setAlwaysFinish" }, "android.permission.SIGNAL_PERSISTENT_PROCESSES": { "permissionGroup": "android.permission-group.DEVELOPMENT_TOOLS", "description": "@string/permdesc_signalPersistentProcesses", "protectionLevel": "signature|system|development", "label": "@string/permlab_signalPersistentProcesses" }, "android.permission.DIAGNOSTIC": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_diagnostic", "protectionLevel": "signature", "label": "@string/permlab_diagnostic" }, "android.permission.STATUS_BAR": { "permissionGroup": "", "description": "@string/permdesc_statusBar", "protectionLevel": "signature|system", "label": "@string/permlab_statusBar" }, "android.permission.STATUS_BAR_SERVICE": { "permissionGroup": "", "description": "@string/permdesc_statusBarService", "protectionLevel": "signature", "label": "@string/permlab_statusBarService" }, "android.permission.FORCE_BACK": { "permissionGroup": "", "description": "@string/permdesc_forceBack", "protectionLevel": "signature", "label": "@string/permlab_forceBack" }, "android.permission.UPDATE_DEVICE_STATS": { "permissionGroup": "", "description": "@string/permdesc_batteryStats", "protectionLevel": "signature|system", "label": "@string/permlab_batteryStats" }, "android.permission.INTERNAL_SYSTEM_WINDOW": { "permissionGroup": "", "description": "@string/permdesc_internalSystemWindow", "protectionLevel": "signature", "label": "@string/permlab_internalSystemWindow" }, "android.permission.MANAGE_APP_TOKENS": { "permissionGroup": "", "description": "@string/permdesc_manageAppTokens", "protectionLevel": "signature", "label": "@string/permlab_manageAppTokens" }, "android.permission.INJECT_EVENTS": { "permissionGroup": "", "description": "@string/permdesc_injectEvents", "protectionLevel": "signature", "label": "@string/permlab_injectEvents" }, "android.permission.SET_ACTIVITY_WATCHER": { "permissionGroup": "", "description": "@string/permdesc_runSetActivityWatcher", "protectionLevel": "signature", "label": "@string/permlab_runSetActivityWatcher" }, "android.permission.SHUTDOWN": { "permissionGroup": "", "description": "@string/permdesc_shutdown", "protectionLevel": "signature|system", "label": "@string/permlab_shutdown" }, "android.permission.STOP_APP_SWITCHES": { "permissionGroup": "", "description": "@string/permdesc_stopAppSwitches", "protectionLevel": "signature|system", "label": "@string/permlab_stopAppSwitches" }, "android.permission.READ_INPUT_STATE": { "permissionGroup": "", "description": "@string/permdesc_readInputState", "protectionLevel": "signature", "label": "@string/permlab_readInputState" }, "android.permission.BIND_INPUT_METHOD": { "permissionGroup": "", "description": "@string/permdesc_bindInputMethod", "protectionLevel": "signature", "label": "@string/permlab_bindInputMethod" }, "android.permission.BIND_ACCESSIBILITY_SERVICE": { "permissionGroup": "", "description": "@string/permdesc_bindAccessibilityService", "protectionLevel": "signature", "label": "@string/permlab_bindAccessibilityService" }, "android.permission.BIND_TEXT_SERVICE": { "permissionGroup": "", "description": "@string/permdesc_bindTextService", "protectionLevel": "signature", "label": "@string/permlab_bindTextService" }, "android.permission.BIND_VPN_SERVICE": { "permissionGroup": "", "description": "@string/permdesc_bindVpnService", "protectionLevel": "signature", "label": "@string/permlab_bindVpnService" }, "android.permission.BIND_WALLPAPER": { "permissionGroup": "", "description": "@string/permdesc_bindWallpaper", "protectionLevel": "signature|system", "label": "@string/permlab_bindWallpaper" }, "android.permission.BIND_DEVICE_ADMIN": { "permissionGroup": "", "description": "@string/permdesc_bindDeviceAdmin", "protectionLevel": "signature", "label": "@string/permlab_bindDeviceAdmin" }, "android.permission.SET_ORIENTATION": { "permissionGroup": "", "description": "@string/permdesc_setOrientation", "protectionLevel": "signature", "label": "@string/permlab_setOrientation" }, "android.permission.SET_POINTER_SPEED": { "permissionGroup": "", "description": "@string/permdesc_setPointerSpeed", "protectionLevel": "signature", "label": "@string/permlab_setPointerSpeed" }, "android.permission.SET_KEYBOARD_LAYOUT": { "permissionGroup": "", "description": "@string/permdesc_setKeyboardLayout", "protectionLevel": "signature", "label": "@string/permlab_setKeyboardLayout" }, "android.permission.INSTALL_PACKAGES": { "permissionGroup": "", "description": "@string/permdesc_installPackages", "protectionLevel": "signature|system", "label": "@string/permlab_installPackages" }, "android.permission.CLEAR_APP_USER_DATA": { "permissionGroup": "", "description": "@string/permdesc_clearAppUserData", "protectionLevel": "signature", "label": "@string/permlab_clearAppUserData" }, "android.permission.DELETE_CACHE_FILES": { "permissionGroup": "", "description": "@string/permdesc_deleteCacheFiles", "protectionLevel": "signature|system", "label": "@string/permlab_deleteCacheFiles" }, "android.permission.DELETE_PACKAGES": { "permissionGroup": "", "description": "@string/permdesc_deletePackages", "protectionLevel": "signature|system", "label": "@string/permlab_deletePackages" }, "android.permission.MOVE_PACKAGE": { "permissionGroup": "", "description": "@string/permdesc_movePackage", "protectionLevel": "signature|system", "label": "@string/permlab_movePackage" }, "android.permission.CHANGE_COMPONENT_ENABLED_STATE": { "permissionGroup": "", "description": "@string/permdesc_changeComponentState", "protectionLevel": "signature|system", "label": "@string/permlab_changeComponentState" }, "android.permission.GRANT_REVOKE_PERMISSIONS": { "permissionGroup": "", "description": "@string/permdesc_grantRevokePermissions", "protectionLevel": "signature", "label": "@string/permlab_grantRevokePermissions" }, "android.permission.ACCESS_SURFACE_FLINGER": { "permissionGroup": "", "description": "@string/permdesc_accessSurfaceFlinger", "protectionLevel": "signature", "label": "@string/permlab_accessSurfaceFlinger" }, "android.permission.READ_FRAME_BUFFER": { "permissionGroup": "", "description": "@string/permdesc_readFrameBuffer", "protectionLevel": "signature|system", "label": "@string/permlab_readFrameBuffer" }, "android.permission.BRICK": { "permissionGroup": "", "description": "@string/permdesc_brick", "protectionLevel": "signature", "label": "@string/permlab_brick" }, "android.permission.REBOOT": { "permissionGroup": "", "description": "@string/permdesc_reboot", "protectionLevel": "signature|system", "label": "@string/permlab_reboot" }, "android.permission.DEVICE_POWER": { "permissionGroup": "", "description": "@string/permdesc_devicePower", "protectionLevel": "signature", "label": "@string/permlab_devicePower" }, "android.permission.FACTORY_TEST": { "permissionGroup": "", "description": "@string/permdesc_factoryTest", "protectionLevel": "signature", "label": "@string/permlab_factoryTest" }, "android.permission.BROADCAST_PACKAGE_REMOVED": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_broadcastPackageRemoved", "protectionLevel": "signature", "label": "@string/permlab_broadcastPackageRemoved" }, "android.permission.BROADCAST_SMS": { "permissionGroup": "android.permission-group.MESSAGES", "description": "@string/permdesc_broadcastSmsReceived", "protectionLevel": "signature", "label": "@string/permlab_broadcastSmsReceived" }, "android.permission.BROADCAST_WAP_PUSH": { "permissionGroup": "android.permission-group.MESSAGES", "description": "@string/permdesc_broadcastWapPush", "protectionLevel": "signature", "label": "@string/permlab_broadcastWapPush" }, "android.permission.MASTER_CLEAR": { "permissionGroup": "", "description": "@string/permdesc_masterClear", "protectionLevel": "signature|system", "label": "@string/permlab_masterClear" }, "android.permission.CALL_PRIVILEGED": { "permissionGroup": "", "description": "@string/permdesc_callPrivileged", "protectionLevel": "signature|system", "label": "@string/permlab_callPrivileged" }, "android.permission.PERFORM_CDMA_PROVISIONING": { "permissionGroup": "", "description": "@string/permdesc_performCdmaProvisioning", "protectionLevel": "signature|system", "label": "@string/permlab_performCdmaProvisioning" }, "android.permission.CONTROL_LOCATION_UPDATES": { "permissionGroup": "", "description": "@string/permdesc_locationUpdates", "protectionLevel": "signature|system", "label": "@string/permlab_locationUpdates" }, "android.permission.ACCESS_CHECKIN_PROPERTIES": { "permissionGroup": "", "description": "@string/permdesc_checkinProperties", "protectionLevel": "signature|system", "label": "@string/permlab_checkinProperties" }, "android.permission.PACKAGE_USAGE_STATS": { "permissionGroup": "", "description": "@string/permdesc_pkgUsageStats", "protectionLevel": "signature|system", "label": "@string/permlab_pkgUsageStats" }, "android.permission.BATTERY_STATS": { "permissionGroup": "", "description": "@string/permdesc_batteryStats", "protectionLevel": "normal", "label": "@string/permlab_batteryStats" }, "android.permission.BACKUP": { "permissionGroup": "", "description": "@string/permdesc_backup", "protectionLevel": "signature|system", "label": "@string/permlab_backup" }, "android.permission.CONFIRM_FULL_BACKUP": { "permissionGroup": "", "description": "@string/permdesc_confirm_full_backup", "protectionLevel": "signature", "label": "@string/permlab_confirm_full_backup" }, "android.permission.BIND_REMOTEVIEWS": { "permissionGroup": "", "description": "@string/permdesc_bindRemoteViews", "protectionLevel": "signature|system", "label": "@string/permlab_bindRemoteViews" }, "android.permission.BIND_APPWIDGET": { "permissionGroup": "android.permission-group.PERSONAL_INFO", "description": "@string/permdesc_bindGadget", "protectionLevel": "signature|system", "label": "@string/permlab_bindGadget" }, "android.permission.MODIFY_APPWIDGET_BIND_PERMISSIONS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "", "protectionLevel": "signature|system", "label": "" }, "android.permission.CHANGE_BACKGROUND_DATA_SETTING": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_changeBackgroundDataSetting", "protectionLevel": "signature", "label": "@string/permlab_changeBackgroundDataSetting" }, "android.permission.GLOBAL_SEARCH": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "", "protectionLevel": "signature|system", "label": "" }, "android.permission.GLOBAL_SEARCH_CONTROL": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.SET_WALLPAPER_COMPONENT": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "", "protectionLevel": "signature|system", "label": "" }, "android.permission.ACCESS_CACHE_FILESYSTEM": { "permissionGroup": "", "description": "@string/permdesc_cache_filesystem", "protectionLevel": "signature|system", "label": "@string/permlab_cache_filesystem" }, "android.permission.COPY_PROTECTED_DATA": { "permissionGroup": "", "description": "@string/permlab_copyProtectedData", "protectionLevel": "signature", "label": "@string/permlab_copyProtectedData" }, "android.permission.CRYPT_KEEPER": { "permissionGroup": "", "description": "", "protectionLevel": "signature|system", "label": "" }, "android.permission.READ_NETWORK_USAGE_HISTORY": { "permissionGroup": "", "description": "@string/permdesc_readNetworkUsageHistory", "protectionLevel": "signature|system", "label": "@string/permlab_readNetworkUsageHistory" }, "android.permission.MANAGE_NETWORK_POLICY": { "permissionGroup": "", "description": "@string/permdesc_manageNetworkPolicy", "protectionLevel": "signature", "label": "@string/permlab_manageNetworkPolicy" }, "android.permission.MODIFY_NETWORK_ACCOUNTING": { "permissionGroup": "", "description": "@string/permdesc_modifyNetworkAccounting", "protectionLevel": "signature|system", "label": "@string/permlab_modifyNetworkAccounting" }, "android.intent.category.MASTER_CLEAR.permission.C2D_MESSAGE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.PACKAGE_VERIFICATION_AGENT": { "permissionGroup": "", "description": "@string/permdesc_packageVerificationAgent", "protectionLevel": "signature|system", "label": "@string/permlab_packageVerificationAgent" }, "android.permission.BIND_PACKAGE_VERIFIER": { "permissionGroup": "", "description": "@string/permdesc_bindPackageVerifier", "protectionLevel": "signature", "label": "@string/permlab_bindPackageVerifier" }, "android.permission.SERIAL_PORT": { "permissionGroup": "", "description": "@string/permdesc_serialPort", "protectionLevel": "normal", "label": "@string/permlab_serialPort" }, "android.permission.ACCESS_CONTENT_PROVIDERS_EXTERNALLY": { "permissionGroup": "", "description": "@string/permdesc_accessContentProvidersExternally", "protectionLevel": "signature", "label": "@string/permlab_accessContentProvidersExternally" }, "android.permission.UPDATE_LOCK": { "permissionGroup": "", "description": "@string/permdesc_updateLock", "protectionLevel": "signatureOrSystem", "label": "@string/permlab_updateLock" }, "android.permission.ACCESS_BLUETOOTH_SHARE": { "permissionGroup": "", "description": "@string/permdesc_bluetoothShareManager", "protectionLevel": "signature", "label": "@string/permlab_bluetoothShareManager" }, "com.android.permission.WHITELIST_BLUETOOTH_DEVICE": { "permissionGroup": "", "description": "@string/permdesc_bluetoothWhitelist", "protectionLevel": "signature", "label": "@string/permlab_bluetoothWhitelist" }, "com.android.permission.HANDOVER_STATUS": { "permissionGroup": "", "description": "@string/permdesc_handoverStatus", "protectionLevel": "signature", "label": "@string/permlab_handoverStatus" }, "com.android.browser.permission.PRELOAD": { "permissionGroup": "", "description": "", "protectionLevel": "signatureOrSystem", "label": "@string/permission_preload_label" }, "com.android.email.permission.READ_ATTACHMENT": { "permissionGroup": "android.permission-group.MESSAGES", "description": "@string/permission_read_attachment_desc", "protectionLevel": "dangerous", "label": "@string/permission_read_attachment_label" }, "com.android.email.permission.ACCESS_PROVIDER": { "permissionGroup": "", "description": "@string/permission_access_provider_desc", "protectionLevel": "signature", "label": "@string/permission_access_provider_label" }, "com.android.launcher.permission.PRELOAD_WORKSPACE": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "", "protectionLevel": "system|signature", "label": "" }, "com.android.launcher.permission.INSTALL_SHORTCUT": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_install_shortcut", "protectionLevel": "normal", "label": "@string/permlab_install_shortcut" }, "com.android.launcher.permission.UNINSTALL_SHORTCUT": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_uninstall_shortcut", "protectionLevel": "normal", "label": "@string/permlab_uninstall_shortcut" }, "com.android.launcher.permission.READ_SETTINGS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_read_settings", "protectionLevel": "normal", "label": "@string/permlab_read_settings" }, "com.android.launcher.permission.WRITE_SETTINGS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_write_settings", "protectionLevel": "normal", "label": "@string/permlab_write_settings" }, "com.android.voicemail.permission.READ_WRITE_ALL_VOICEMAIL": { "permissionGroup": "android.permission-group.PERSONAL_INFO", "description": "@string/read_write_all_voicemail_description", "protectionLevel": "signature", "label": "@string/read_write_all_voicemail_label" }, "android.permission.ACCESS_DOWNLOAD_MANAGER": { "permissionGroup": "", "description": "@string/permdesc_downloadManager", "protectionLevel": "signatureOrSystem", "label": "@string/permlab_downloadManager" }, "android.permission.ACCESS_DOWNLOAD_MANAGER_ADVANCED": { "permissionGroup": "", "description": "@string/permdesc_downloadManagerAdvanced", "protectionLevel": "signatureOrSystem", "label": "@string/permlab_downloadManagerAdvanced" }, "android.permission.SEND_DOWNLOAD_COMPLETED_INTENTS": { "permissionGroup": "", "description": "@string/permdesc_downloadCompletedIntent", "protectionLevel": "signature", "label": "@string/permlab_downloadCompletedIntent" }, "android.permission.DOWNLOAD_CACHE_NON_PURGEABLE": { "permissionGroup": "", "description": "@string/permdesc_downloadCacheNonPurgeable", "protectionLevel": "signatureOrSystem", "label": "@string/permlab_downloadCacheNonPurgeable" }, "android.permission.DOWNLOAD_WITHOUT_NOTIFICATION": { "permissionGroup": "android.permission-group.NETWORK", "description": "@string/permdesc_downloadWithoutNotification", "protectionLevel": "normal", "label": "@string/permlab_downloadWithoutNotification" }, "android.permission.ACCESS_ALL_DOWNLOADS": { "permissionGroup": "", "description": "@string/permdesc_accessAllDownloads", "protectionLevel": "signature", "label": "@string/permlab_accessAllDownloads" }, "android.permission.ACCESS_DRM": { "permissionGroup": "", "description": "@string/permdesc_accessDrm", "protectionLevel": "signature", "label": "@string/permlab_accessDrm" }, "android.permission.INSTALL_DRM": { "permissionGroup": "", "description": "@string/permdesc_installDrm", "protectionLevel": "normal", "label": "@string/permlab_installDrm" } }androguard-3.1.0-rc2/androguard/core/api_specific_resources/aosp_permissions/permissions_17.json000066400000000000000000001554501324327352200333020ustar00rootroot00000000000000{ "android.permission.SEND_SMS": { "permissionGroup": "android.permission-group.MESSAGES", "description": "@string/permdesc_sendSms", "protectionLevel": "dangerous", "label": "@string/permlab_sendSms" }, "android.permission.SEND_SMS_NO_CONFIRMATION": { "permissionGroup": "android.permission-group.MESSAGES", "description": "@string/permdesc_sendSmsNoConfirmation", "protectionLevel": "signature|system", "label": "@string/permlab_sendSmsNoConfirmation" }, "android.permission.RECEIVE_SMS": { "permissionGroup": "android.permission-group.MESSAGES", "description": "@string/permdesc_receiveSms", "protectionLevel": "dangerous", "label": "@string/permlab_receiveSms" }, "android.permission.RECEIVE_MMS": { "permissionGroup": "android.permission-group.MESSAGES", "description": "@string/permdesc_receiveMms", "protectionLevel": "dangerous", "label": "@string/permlab_receiveMms" }, "android.permission.RECEIVE_EMERGENCY_BROADCAST": { "permissionGroup": "android.permission-group.MESSAGES", "description": "@string/permdesc_receiveEmergencyBroadcast", "protectionLevel": "signature|system", "label": "@string/permlab_receiveEmergencyBroadcast" }, "android.permission.READ_CELL_BROADCASTS": { "permissionGroup": "android.permission-group.MESSAGES", "description": "@string/permdesc_readCellBroadcasts", "protectionLevel": "dangerous", "label": "@string/permlab_readCellBroadcasts" }, "android.permission.READ_SMS": { "permissionGroup": "android.permission-group.MESSAGES", "description": "@string/permdesc_readSms", "protectionLevel": "dangerous", "label": "@string/permlab_readSms" }, "android.permission.WRITE_SMS": { "permissionGroup": "android.permission-group.MESSAGES", "description": "@string/permdesc_writeSms", "protectionLevel": "dangerous", "label": "@string/permlab_writeSms" }, "android.permission.RECEIVE_WAP_PUSH": { "permissionGroup": "android.permission-group.MESSAGES", "description": "@string/permdesc_receiveWapPush", "protectionLevel": "dangerous", "label": "@string/permlab_receiveWapPush" }, "android.permission.READ_CONTACTS": { "permissionGroup": "android.permission-group.SOCIAL_INFO", "description": "@string/permdesc_readContacts", "protectionLevel": "dangerous", "label": "@string/permlab_readContacts" }, "android.permission.WRITE_CONTACTS": { "permissionGroup": "android.permission-group.SOCIAL_INFO", "description": "@string/permdesc_writeContacts", "protectionLevel": "dangerous", "label": "@string/permlab_writeContacts" }, "android.permission.BIND_DIRECTORY_SEARCH": { "permissionGroup": "android.permission-group.PERSONAL_INFO", "description": "", "protectionLevel": "signature|system", "label": "" }, "android.permission.READ_CALL_LOG": { "permissionGroup": "android.permission-group.SOCIAL_INFO", "description": "@string/permdesc_readCallLog", "protectionLevel": "dangerous", "label": "@string/permlab_readCallLog" }, "android.permission.WRITE_CALL_LOG": { "permissionGroup": "android.permission-group.SOCIAL_INFO", "description": "@string/permdesc_writeCallLog", "protectionLevel": "dangerous", "label": "@string/permlab_writeCallLog" }, "android.permission.READ_SOCIAL_STREAM": { "permissionGroup": "android.permission-group.SOCIAL_INFO", "description": "@string/permdesc_readSocialStream", "protectionLevel": "dangerous", "label": "@string/permlab_readSocialStream" }, "android.permission.WRITE_SOCIAL_STREAM": { "permissionGroup": "android.permission-group.SOCIAL_INFO", "description": "@string/permdesc_writeSocialStream", "protectionLevel": "dangerous", "label": "@string/permlab_writeSocialStream" }, "android.permission.READ_PROFILE": { "permissionGroup": "android.permission-group.PERSONAL_INFO", "description": "@string/permdesc_readProfile", "protectionLevel": "dangerous", "label": "@string/permlab_readProfile" }, "android.permission.WRITE_PROFILE": { "permissionGroup": "android.permission-group.PERSONAL_INFO", "description": "@string/permdesc_writeProfile", "protectionLevel": "dangerous", "label": "@string/permlab_writeProfile" }, "android.permission.READ_CALENDAR": { "permissionGroup": "android.permission-group.PERSONAL_INFO", "description": "@string/permdesc_readCalendar", "protectionLevel": "dangerous", "label": "@string/permlab_readCalendar" }, "android.permission.WRITE_CALENDAR": { "permissionGroup": "android.permission-group.PERSONAL_INFO", "description": "@string/permdesc_writeCalendar", "protectionLevel": "dangerous", "label": "@string/permlab_writeCalendar" }, "android.permission.READ_USER_DICTIONARY": { "permissionGroup": "android.permission-group.USER_DICTIONARY", "description": "@string/permdesc_readDictionary", "protectionLevel": "dangerous", "label": "@string/permlab_readDictionary" }, "android.permission.WRITE_USER_DICTIONARY": { "permissionGroup": "android.permission-group.WRITE_USER_DICTIONARY", "description": "@string/permdesc_writeDictionary", "protectionLevel": "normal", "label": "@string/permlab_writeDictionary" }, "com.android.browser.permission.READ_HISTORY_BOOKMARKS": { "permissionGroup": "android.permission-group.BOOKMARKS", "description": "@string/permdesc_readHistoryBookmarks", "protectionLevel": "dangerous", "label": "@string/permlab_readHistoryBookmarks" }, "com.android.browser.permission.WRITE_HISTORY_BOOKMARKS": { "permissionGroup": "android.permission-group.BOOKMARKS", "description": "@string/permdesc_writeHistoryBookmarks", "protectionLevel": "dangerous", "label": "@string/permlab_writeHistoryBookmarks" }, "com.android.alarm.permission.SET_ALARM": { "permissionGroup": "android.permission-group.DEVICE_ALARMS", "description": "@string/permdesc_setAlarm", "protectionLevel": "normal", "label": "@string/permlab_setAlarm" }, "com.android.voicemail.permission.ADD_VOICEMAIL": { "permissionGroup": "android.permission-group.VOICEMAIL", "description": "@string/permdesc_addVoicemail", "protectionLevel": "dangerous", "label": "@string/permlab_addVoicemail" }, "android.permission.ACCESS_FINE_LOCATION": { "permissionGroup": "android.permission-group.LOCATION", "description": "@string/permdesc_accessFineLocation", "protectionLevel": "dangerous", "label": "@string/permlab_accessFineLocation" }, "android.permission.ACCESS_COARSE_LOCATION": { "permissionGroup": "android.permission-group.LOCATION", "description": "@string/permdesc_accessCoarseLocation", "protectionLevel": "dangerous", "label": "@string/permlab_accessCoarseLocation" }, "android.permission.ACCESS_MOCK_LOCATION": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_accessMockLocation", "protectionLevel": "dangerous", "label": "@string/permlab_accessMockLocation" }, "android.permission.ACCESS_LOCATION_EXTRA_COMMANDS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_accessLocationExtraCommands", "protectionLevel": "normal", "label": "@string/permlab_accessLocationExtraCommands" }, "android.permission.INSTALL_LOCATION_PROVIDER": { "permissionGroup": "", "description": "@string/permdesc_installLocationProvider", "protectionLevel": "signature|system", "label": "@string/permlab_installLocationProvider" }, "android.permission.INTERNET": { "permissionGroup": "android.permission-group.NETWORK", "description": "@string/permdesc_createNetworkSockets", "protectionLevel": "dangerous", "label": "@string/permlab_createNetworkSockets" }, "android.permission.ACCESS_NETWORK_STATE": { "permissionGroup": "android.permission-group.NETWORK", "description": "@string/permdesc_accessNetworkState", "protectionLevel": "normal", "label": "@string/permlab_accessNetworkState" }, "android.permission.ACCESS_WIFI_STATE": { "permissionGroup": "android.permission-group.NETWORK", "description": "@string/permdesc_accessWifiState", "protectionLevel": "normal", "label": "@string/permlab_accessWifiState" }, "android.permission.CHANGE_WIFI_STATE": { "permissionGroup": "android.permission-group.NETWORK", "description": "@string/permdesc_changeWifiState", "protectionLevel": "dangerous", "label": "@string/permlab_changeWifiState" }, "android.permission.ACCESS_WIMAX_STATE": { "permissionGroup": "android.permission-group.NETWORK", "description": "@string/permdesc_accessWimaxState", "protectionLevel": "normal", "label": "@string/permlab_accessWimaxState" }, "android.permission.CHANGE_WIMAX_STATE": { "permissionGroup": "android.permission-group.NETWORK", "description": "@string/permdesc_changeWimaxState", "protectionLevel": "dangerous", "label": "@string/permlab_changeWimaxState" }, "android.permission.BLUETOOTH": { "permissionGroup": "android.permission-group.BLUETOOTH_NETWORK", "description": "@string/permdesc_bluetooth", "protectionLevel": "dangerous", "label": "@string/permlab_bluetooth" }, "android.permission.BLUETOOTH_ADMIN": { "permissionGroup": "android.permission-group.BLUETOOTH_NETWORK", "description": "@string/permdesc_bluetoothAdmin", "protectionLevel": "dangerous", "label": "@string/permlab_bluetoothAdmin" }, "android.permission.BLUETOOTH_STACK": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.NFC": { "permissionGroup": "android.permission-group.NETWORK", "description": "@string/permdesc_nfc", "protectionLevel": "dangerous", "label": "@string/permlab_nfc" }, "android.permission.CONNECTIVITY_INTERNAL": { "permissionGroup": "android.permission-group.NETWORK", "description": "", "protectionLevel": "signature|system", "label": "" }, "android.permission.RECEIVE_DATA_ACTIVITY_CHANGE": { "permissionGroup": "android.permission-group.NETWORK", "description": "", "protectionLevel": "signature|system", "label": "" }, "android.permission.GET_ACCOUNTS": { "permissionGroup": "android.permission-group.ACCOUNTS", "description": "@string/permdesc_getAccounts", "protectionLevel": "normal", "label": "@string/permlab_getAccounts" }, "android.permission.AUTHENTICATE_ACCOUNTS": { "permissionGroup": "android.permission-group.ACCOUNTS", "description": "@string/permdesc_authenticateAccounts", "protectionLevel": "dangerous", "label": "@string/permlab_authenticateAccounts" }, "android.permission.USE_CREDENTIALS": { "permissionGroup": "android.permission-group.ACCOUNTS", "description": "@string/permdesc_useCredentials", "protectionLevel": "dangerous", "label": "@string/permlab_useCredentials" }, "android.permission.MANAGE_ACCOUNTS": { "permissionGroup": "android.permission-group.ACCOUNTS", "description": "@string/permdesc_manageAccounts", "protectionLevel": "dangerous", "label": "@string/permlab_manageAccounts" }, "android.permission.ACCOUNT_MANAGER": { "permissionGroup": "android.permission-group.ACCOUNTS", "description": "@string/permdesc_accountManagerService", "protectionLevel": "signature", "label": "@string/permlab_accountManagerService" }, "android.permission.CHANGE_WIFI_MULTICAST_STATE": { "permissionGroup": "android.permission-group.AFFECTS_BATTERY", "description": "@string/permdesc_changeWifiMulticastState", "protectionLevel": "dangerous", "label": "@string/permlab_changeWifiMulticastState" }, "android.permission.VIBRATE": { "permissionGroup": "android.permission-group.AFFECTS_BATTERY", "description": "@string/permdesc_vibrate", "protectionLevel": "normal", "label": "@string/permlab_vibrate" }, "android.permission.FLASHLIGHT": { "permissionGroup": "android.permission-group.AFFECTS_BATTERY", "description": "@string/permdesc_flashlight", "protectionLevel": "normal", "label": "@string/permlab_flashlight" }, "android.permission.WAKE_LOCK": { "permissionGroup": "android.permission-group.AFFECTS_BATTERY", "description": "@string/permdesc_wakeLock", "protectionLevel": "normal", "label": "@string/permlab_wakeLock" }, "android.permission.MODIFY_AUDIO_SETTINGS": { "permissionGroup": "android.permission-group.AUDIO_SETTINGS", "description": "@string/permdesc_modifyAudioSettings", "protectionLevel": "normal", "label": "@string/permlab_modifyAudioSettings" }, "android.permission.MANAGE_USB": { "permissionGroup": "android.permission-group.HARDWARE_CONTROLS", "description": "@string/permdesc_manageUsb", "protectionLevel": "signature|system", "label": "@string/permlab_manageUsb" }, "android.permission.ACCESS_MTP": { "permissionGroup": "android.permission-group.HARDWARE_CONTROLS", "description": "@string/permdesc_accessMtp", "protectionLevel": "signature|system", "label": "@string/permlab_accessMtp" }, "android.permission.HARDWARE_TEST": { "permissionGroup": "android.permission-group.HARDWARE_CONTROLS", "description": "@string/permdesc_hardware_test", "protectionLevel": "signature", "label": "@string/permlab_hardware_test" }, "android.permission.NET_ADMIN": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.REMOTE_AUDIO_PLAYBACK": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.RECORD_AUDIO": { "permissionGroup": "android.permission-group.MICROPHONE", "description": "", "protectionLevel": "dangerous", "label": "@string/permlab_recordAudio" }, "android.permission.CAMERA": { "permissionGroup": "android.permission-group.CAMERA", "description": "@string/permdesc_camera", "protectionLevel": "dangerous", "label": "@string/permlab_camera" }, "android.permission.PROCESS_OUTGOING_CALLS": { "permissionGroup": "android.permission-group.PHONE_CALLS", "description": "@string/permdesc_processOutgoingCalls", "protectionLevel": "dangerous", "label": "@string/permlab_processOutgoingCalls" }, "android.permission.MODIFY_PHONE_STATE": { "permissionGroup": "android.permission-group.PHONE_CALLS", "description": "@string/permdesc_modifyPhoneState", "protectionLevel": "signature|system", "label": "@string/permlab_modifyPhoneState" }, "android.permission.READ_PHONE_STATE": { "permissionGroup": "android.permission-group.PHONE_CALLS", "description": "@string/permdesc_readPhoneState", "protectionLevel": "dangerous", "label": "@string/permlab_readPhoneState" }, "android.permission.READ_PRIVILEGED_PHONE_STATE": { "permissionGroup": "android.permission-group.PHONE_CALLS", "description": "", "protectionLevel": "signature|system", "label": "" }, "android.permission.CALL_PHONE": { "permissionGroup": "android.permission-group.PHONE_CALLS", "description": "@string/permdesc_callPhone", "protectionLevel": "dangerous", "label": "@string/permlab_callPhone" }, "android.permission.USE_SIP": { "permissionGroup": "android.permission-group.PHONE_CALLS", "description": "@string/permdesc_use_sip", "protectionLevel": "dangerous", "label": "@string/permlab_use_sip" }, "android.permission.READ_EXTERNAL_STORAGE": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_sdcardRead", "protectionLevel": "normal", "label": "@string/permlab_sdcardRead" }, "android.permission.WRITE_EXTERNAL_STORAGE": { "permissionGroup": "android.permission-group.STORAGE", "description": "@string/permdesc_sdcardWrite", "protectionLevel": "dangerous", "label": "@string/permlab_sdcardWrite" }, "android.permission.WRITE_MEDIA_STORAGE": { "permissionGroup": "android.permission-group.STORAGE", "description": "@string/permdesc_mediaStorageWrite", "protectionLevel": "signature|system", "label": "@string/permlab_mediaStorageWrite" }, "android.permission.DISABLE_KEYGUARD": { "permissionGroup": "android.permission-group.SCREENLOCK", "description": "@string/permdesc_disableKeyguard", "protectionLevel": "dangerous", "label": "@string/permlab_disableKeyguard" }, "android.permission.GET_TASKS": { "permissionGroup": "android.permission-group.APP_INFO", "description": "@string/permdesc_getTasks", "protectionLevel": "dangerous", "label": "@string/permlab_getTasks" }, "android.permission.INTERACT_ACROSS_USERS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_interactAcrossUsers", "protectionLevel": "signature|system|development", "label": "@string/permlab_interactAcrossUsers" }, "android.permission.INTERACT_ACROSS_USERS_FULL": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_interactAcrossUsersFull", "protectionLevel": "signature", "label": "@string/permlab_interactAcrossUsersFull" }, "android.permission.MANAGE_USERS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_manageUsers", "protectionLevel": "signature|system", "label": "@string/permlab_manageUsers" }, "android.permission.GET_DETAILED_TASKS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_getDetailedTasks", "protectionLevel": "signature", "label": "@string/permlab_getDetailedTasks" }, "android.permission.REORDER_TASKS": { "permissionGroup": "android.permission-group.APP_INFO", "description": "@string/permdesc_reorderTasks", "protectionLevel": "normal", "label": "@string/permlab_reorderTasks" }, "android.permission.REMOVE_TASKS": { "permissionGroup": "android.permission-group.APP_INFO", "description": "@string/permdesc_removeTasks", "protectionLevel": "signature", "label": "@string/permlab_removeTasks" }, "android.permission.START_ANY_ACTIVITY": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_startAnyActivity", "protectionLevel": "signature", "label": "@string/permlab_startAnyActivity" }, "android.permission.RESTART_PACKAGES": { "permissionGroup": "android.permission-group.APP_INFO", "description": "@string/permdesc_killBackgroundProcesses", "protectionLevel": "normal", "label": "@string/permlab_killBackgroundProcesses" }, "android.permission.KILL_BACKGROUND_PROCESSES": { "permissionGroup": "android.permission-group.APP_INFO", "description": "@string/permdesc_killBackgroundProcesses", "protectionLevel": "normal", "label": "@string/permlab_killBackgroundProcesses" }, "android.permission.SYSTEM_ALERT_WINDOW": { "permissionGroup": "android.permission-group.DISPLAY", "description": "@string/permdesc_systemAlertWindow", "protectionLevel": "dangerous", "label": "@string/permlab_systemAlertWindow" }, "android.permission.SET_WALLPAPER": { "permissionGroup": "android.permission-group.WALLPAPER", "description": "@string/permdesc_setWallpaper", "protectionLevel": "normal", "label": "@string/permlab_setWallpaper" }, "android.permission.SET_WALLPAPER_HINTS": { "permissionGroup": "android.permission-group.WALLPAPER", "description": "@string/permdesc_setWallpaperHints", "protectionLevel": "normal", "label": "@string/permlab_setWallpaperHints" }, "android.permission.SET_TIME": { "permissionGroup": "", "description": "@string/permdesc_setTime", "protectionLevel": "signature|system", "label": "@string/permlab_setTime" }, "android.permission.SET_TIME_ZONE": { "permissionGroup": "android.permission-group.SYSTEM_CLOCK", "description": "@string/permdesc_setTimeZone", "protectionLevel": "normal", "label": "@string/permlab_setTimeZone" }, "android.permission.EXPAND_STATUS_BAR": { "permissionGroup": "android.permission-group.STATUS_BAR", "description": "@string/permdesc_expandStatusBar", "protectionLevel": "normal", "label": "@string/permlab_expandStatusBar" }, "android.permission.READ_SYNC_SETTINGS": { "permissionGroup": "android.permission-group.SYNC_SETTINGS", "description": "@string/permdesc_readSyncSettings", "protectionLevel": "normal", "label": "@string/permlab_readSyncSettings" }, "android.permission.WRITE_SYNC_SETTINGS": { "permissionGroup": "android.permission-group.SYNC_SETTINGS", "description": "@string/permdesc_writeSyncSettings", "protectionLevel": "normal", "label": "@string/permlab_writeSyncSettings" }, "android.permission.READ_SYNC_STATS": { "permissionGroup": "android.permission-group.SYNC_SETTINGS", "description": "@string/permdesc_readSyncStats", "protectionLevel": "normal", "label": "@string/permlab_readSyncStats" }, "android.permission.SET_SCREEN_COMPATIBILITY": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_setScreenCompatibility", "protectionLevel": "signature", "label": "@string/permlab_setScreenCompatibility" }, "android.permission.ACCESS_ALL_EXTERNAL_STORAGE": { "permissionGroup": "android.permission-group.DEVELOPMENT_TOOLS", "description": "@string/permdesc_sdcardAccessAll", "protectionLevel": "signature", "label": "@string/permlab_sdcardAccessAll" }, "android.permission.CHANGE_CONFIGURATION": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_changeConfiguration", "protectionLevel": "system|signature", "label": "@string/permlab_changeConfiguration" }, "android.permission.WRITE_SETTINGS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_writeSettings", "protectionLevel": "normal", "label": "@string/permlab_writeSettings" }, "android.permission.WRITE_GSERVICES": { "permissionGroup": "", "description": "@string/permdesc_writeGservices", "protectionLevel": "signature|system", "label": "@string/permlab_writeGservices" }, "android.permission.FORCE_STOP_PACKAGES": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_forceStopPackages", "protectionLevel": "signature", "label": "@string/permlab_forceStopPackages" }, "android.permission.RETRIEVE_WINDOW_CONTENT": { "permissionGroup": "android.permission-group.PERSONAL_INFO", "description": "@string/permdesc_retrieve_window_content", "protectionLevel": "signature|system", "label": "@string/permlab_retrieve_window_content" }, "android.permission.SET_ANIMATION_SCALE": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_setAnimationScale", "protectionLevel": "signature|system|development", "label": "@string/permlab_setAnimationScale" }, "android.permission.PERSISTENT_ACTIVITY": { "permissionGroup": "android.permission-group.APP_INFO", "description": "@string/permdesc_persistentActivity", "protectionLevel": "normal", "label": "@string/permlab_persistentActivity" }, "android.permission.GET_PACKAGE_SIZE": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_getPackageSize", "protectionLevel": "normal", "label": "@string/permlab_getPackageSize" }, "android.permission.SET_PREFERRED_APPLICATIONS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_setPreferredApplications", "protectionLevel": "signature", "label": "@string/permlab_setPreferredApplications" }, "android.permission.RECEIVE_BOOT_COMPLETED": { "permissionGroup": "android.permission-group.APP_INFO", "description": "@string/permdesc_receiveBootCompleted", "protectionLevel": "normal", "label": "@string/permlab_receiveBootCompleted" }, "android.permission.BROADCAST_STICKY": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_broadcastSticky", "protectionLevel": "normal", "label": "@string/permlab_broadcastSticky" }, "android.permission.MOUNT_UNMOUNT_FILESYSTEMS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_mount_unmount_filesystems", "protectionLevel": "system|signature", "label": "@string/permlab_mount_unmount_filesystems" }, "android.permission.MOUNT_FORMAT_FILESYSTEMS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_mount_format_filesystems", "protectionLevel": "system|signature", "label": "@string/permlab_mount_format_filesystems" }, "android.permission.ASEC_ACCESS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_asec_access", "protectionLevel": "signature", "label": "@string/permlab_asec_access" }, "android.permission.ASEC_CREATE": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_asec_create", "protectionLevel": "signature", "label": "@string/permlab_asec_create" }, "android.permission.ASEC_DESTROY": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_asec_destroy", "protectionLevel": "signature", "label": "@string/permlab_asec_destroy" }, "android.permission.ASEC_MOUNT_UNMOUNT": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_asec_mount_unmount", "protectionLevel": "signature", "label": "@string/permlab_asec_mount_unmount" }, "android.permission.ASEC_RENAME": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_asec_rename", "protectionLevel": "signature", "label": "@string/permlab_asec_rename" }, "android.permission.WRITE_APN_SETTINGS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_writeApnSettings", "protectionLevel": "signature|system", "label": "@string/permlab_writeApnSettings" }, "android.permission.SUBSCRIBED_FEEDS_READ": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_subscribedFeedsRead", "protectionLevel": "normal", "label": "@string/permlab_subscribedFeedsRead" }, "android.permission.SUBSCRIBED_FEEDS_WRITE": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_subscribedFeedsWrite", "protectionLevel": "dangerous", "label": "@string/permlab_subscribedFeedsWrite" }, "android.permission.CHANGE_NETWORK_STATE": { "permissionGroup": "android.permission-group.NETWORK", "description": "@string/permdesc_changeNetworkState", "protectionLevel": "normal", "label": "@string/permlab_changeNetworkState" }, "android.permission.CLEAR_APP_CACHE": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_clearAppCache", "protectionLevel": "dangerous", "label": "@string/permlab_clearAppCache" }, "android.permission.ALLOW_ANY_CODEC_FOR_PLAYBACK": { "permissionGroup": "", "description": "@string/permdesc_anyCodecForPlayback", "protectionLevel": "signature|system", "label": "@string/permlab_anyCodecForPlayback" }, "android.permission.WRITE_SECURE_SETTINGS": { "permissionGroup": "android.permission-group.DEVELOPMENT_TOOLS", "description": "@string/permdesc_writeSecureSettings", "protectionLevel": "signature|system|development", "label": "@string/permlab_writeSecureSettings" }, "android.permission.DUMP": { "permissionGroup": "android.permission-group.DEVELOPMENT_TOOLS", "description": "@string/permdesc_dump", "protectionLevel": "signature|system|development", "label": "@string/permlab_dump" }, "android.permission.READ_LOGS": { "permissionGroup": "android.permission-group.DEVELOPMENT_TOOLS", "description": "@string/permdesc_readLogs", "protectionLevel": "signature|system|development", "label": "@string/permlab_readLogs" }, "android.permission.SET_DEBUG_APP": { "permissionGroup": "android.permission-group.DEVELOPMENT_TOOLS", "description": "@string/permdesc_setDebugApp", "protectionLevel": "signature|system|development", "label": "@string/permlab_setDebugApp" }, "android.permission.SET_PROCESS_LIMIT": { "permissionGroup": "android.permission-group.DEVELOPMENT_TOOLS", "description": "@string/permdesc_setProcessLimit", "protectionLevel": "signature|system|development", "label": "@string/permlab_setProcessLimit" }, "android.permission.SET_ALWAYS_FINISH": { "permissionGroup": "android.permission-group.DEVELOPMENT_TOOLS", "description": "@string/permdesc_setAlwaysFinish", "protectionLevel": "signature|system|development", "label": "@string/permlab_setAlwaysFinish" }, "android.permission.SIGNAL_PERSISTENT_PROCESSES": { "permissionGroup": "android.permission-group.DEVELOPMENT_TOOLS", "description": "@string/permdesc_signalPersistentProcesses", "protectionLevel": "signature|system|development", "label": "@string/permlab_signalPersistentProcesses" }, "android.permission.DIAGNOSTIC": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_diagnostic", "protectionLevel": "signature", "label": "@string/permlab_diagnostic" }, "android.permission.STATUS_BAR": { "permissionGroup": "", "description": "@string/permdesc_statusBar", "protectionLevel": "signature|system", "label": "@string/permlab_statusBar" }, "android.permission.STATUS_BAR_SERVICE": { "permissionGroup": "", "description": "@string/permdesc_statusBarService", "protectionLevel": "signature", "label": "@string/permlab_statusBarService" }, "android.permission.FORCE_BACK": { "permissionGroup": "", "description": "@string/permdesc_forceBack", "protectionLevel": "signature", "label": "@string/permlab_forceBack" }, "android.permission.UPDATE_DEVICE_STATS": { "permissionGroup": "", "description": "@string/permdesc_updateBatteryStats", "protectionLevel": "signature|system", "label": "@string/permlab_updateBatteryStats" }, "android.permission.INTERNAL_SYSTEM_WINDOW": { "permissionGroup": "", "description": "@string/permdesc_internalSystemWindow", "protectionLevel": "signature", "label": "@string/permlab_internalSystemWindow" }, "android.permission.MANAGE_APP_TOKENS": { "permissionGroup": "", "description": "@string/permdesc_manageAppTokens", "protectionLevel": "signature", "label": "@string/permlab_manageAppTokens" }, "android.permission.FREEZE_SCREEN": { "permissionGroup": "", "description": "@string/permdesc_freezeScreen", "protectionLevel": "signature", "label": "@string/permlab_freezeScreen" }, "android.permission.INJECT_EVENTS": { "permissionGroup": "", "description": "@string/permdesc_injectEvents", "protectionLevel": "signature", "label": "@string/permlab_injectEvents" }, "android.permission.FILTER_EVENTS": { "permissionGroup": "", "description": "@string/permdesc_filter_events", "protectionLevel": "signature", "label": "@string/permlab_filter_events" }, "android.permission.RETRIEVE_WINDOW_INFO": { "permissionGroup": "", "description": "@string/permdesc_retrieve_window_info", "protectionLevel": "signature", "label": "@string/permlab_retrieve_window_info" }, "android.permission.TEMPORARY_ENABLE_ACCESSIBILITY": { "permissionGroup": "", "description": "@string/permdesc_temporary_enable_accessibility", "protectionLevel": "signature", "label": "@string/permlab_temporary_enable_accessibility" }, "android.permission.MAGNIFY_DISPLAY": { "permissionGroup": "", "description": "@string/permdesc_magnify_display", "protectionLevel": "signature", "label": "@string/permlab_magnify_display" }, "android.permission.SET_ACTIVITY_WATCHER": { "permissionGroup": "", "description": "@string/permdesc_runSetActivityWatcher", "protectionLevel": "signature", "label": "@string/permlab_runSetActivityWatcher" }, "android.permission.SHUTDOWN": { "permissionGroup": "", "description": "@string/permdesc_shutdown", "protectionLevel": "signature|system", "label": "@string/permlab_shutdown" }, "android.permission.STOP_APP_SWITCHES": { "permissionGroup": "", "description": "@string/permdesc_stopAppSwitches", "protectionLevel": "signature|system", "label": "@string/permlab_stopAppSwitches" }, "android.permission.READ_INPUT_STATE": { "permissionGroup": "", "description": "@string/permdesc_readInputState", "protectionLevel": "signature", "label": "@string/permlab_readInputState" }, "android.permission.BIND_INPUT_METHOD": { "permissionGroup": "", "description": "@string/permdesc_bindInputMethod", "protectionLevel": "signature", "label": "@string/permlab_bindInputMethod" }, "android.permission.BIND_ACCESSIBILITY_SERVICE": { "permissionGroup": "", "description": "@string/permdesc_bindAccessibilityService", "protectionLevel": "signature", "label": "@string/permlab_bindAccessibilityService" }, "android.permission.BIND_TEXT_SERVICE": { "permissionGroup": "", "description": "@string/permdesc_bindTextService", "protectionLevel": "signature", "label": "@string/permlab_bindTextService" }, "android.permission.BIND_VPN_SERVICE": { "permissionGroup": "", "description": "@string/permdesc_bindVpnService", "protectionLevel": "signature", "label": "@string/permlab_bindVpnService" }, "android.permission.BIND_WALLPAPER": { "permissionGroup": "", "description": "@string/permdesc_bindWallpaper", "protectionLevel": "signature|system", "label": "@string/permlab_bindWallpaper" }, "android.permission.BIND_DEVICE_ADMIN": { "permissionGroup": "", "description": "@string/permdesc_bindDeviceAdmin", "protectionLevel": "signature", "label": "@string/permlab_bindDeviceAdmin" }, "android.permission.SET_ORIENTATION": { "permissionGroup": "", "description": "@string/permdesc_setOrientation", "protectionLevel": "signature", "label": "@string/permlab_setOrientation" }, "android.permission.SET_POINTER_SPEED": { "permissionGroup": "", "description": "@string/permdesc_setPointerSpeed", "protectionLevel": "signature", "label": "@string/permlab_setPointerSpeed" }, "android.permission.SET_KEYBOARD_LAYOUT": { "permissionGroup": "", "description": "@string/permdesc_setKeyboardLayout", "protectionLevel": "signature", "label": "@string/permlab_setKeyboardLayout" }, "android.permission.INSTALL_PACKAGES": { "permissionGroup": "", "description": "@string/permdesc_installPackages", "protectionLevel": "signature|system", "label": "@string/permlab_installPackages" }, "android.permission.CLEAR_APP_USER_DATA": { "permissionGroup": "", "description": "@string/permdesc_clearAppUserData", "protectionLevel": "signature", "label": "@string/permlab_clearAppUserData" }, "android.permission.DELETE_CACHE_FILES": { "permissionGroup": "", "description": "@string/permdesc_deleteCacheFiles", "protectionLevel": "signature|system", "label": "@string/permlab_deleteCacheFiles" }, "android.permission.DELETE_PACKAGES": { "permissionGroup": "", "description": "@string/permdesc_deletePackages", "protectionLevel": "signature|system", "label": "@string/permlab_deletePackages" }, "android.permission.MOVE_PACKAGE": { "permissionGroup": "", "description": "@string/permdesc_movePackage", "protectionLevel": "signature|system", "label": "@string/permlab_movePackage" }, "android.permission.CHANGE_COMPONENT_ENABLED_STATE": { "permissionGroup": "", "description": "@string/permdesc_changeComponentState", "protectionLevel": "signature|system", "label": "@string/permlab_changeComponentState" }, "android.permission.GRANT_REVOKE_PERMISSIONS": { "permissionGroup": "", "description": "@string/permdesc_grantRevokePermissions", "protectionLevel": "signature", "label": "@string/permlab_grantRevokePermissions" }, "android.permission.ACCESS_SURFACE_FLINGER": { "permissionGroup": "", "description": "@string/permdesc_accessSurfaceFlinger", "protectionLevel": "signature", "label": "@string/permlab_accessSurfaceFlinger" }, "android.permission.READ_FRAME_BUFFER": { "permissionGroup": "", "description": "@string/permdesc_readFrameBuffer", "protectionLevel": "signature|system", "label": "@string/permlab_readFrameBuffer" }, "android.permission.CONFIGURE_WIFI_DISPLAY": { "permissionGroup": "", "description": "@string/permdesc_configureWifiDisplay", "protectionLevel": "signature", "label": "@string/permlab_configureWifiDisplay" }, "android.permission.CONTROL_WIFI_DISPLAY": { "permissionGroup": "", "description": "@string/permdesc_controlWifiDisplay", "protectionLevel": "signature", "label": "@string/permlab_controlWifiDisplay" }, "android.permission.BRICK": { "permissionGroup": "", "description": "@string/permdesc_brick", "protectionLevel": "signature", "label": "@string/permlab_brick" }, "android.permission.REBOOT": { "permissionGroup": "", "description": "@string/permdesc_reboot", "protectionLevel": "signature|system", "label": "@string/permlab_reboot" }, "android.permission.DEVICE_POWER": { "permissionGroup": "", "description": "@string/permdesc_devicePower", "protectionLevel": "signature", "label": "@string/permlab_devicePower" }, "android.permission.NET_TUNNELING": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.FACTORY_TEST": { "permissionGroup": "", "description": "@string/permdesc_factoryTest", "protectionLevel": "signature", "label": "@string/permlab_factoryTest" }, "android.permission.BROADCAST_PACKAGE_REMOVED": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_broadcastPackageRemoved", "protectionLevel": "signature", "label": "@string/permlab_broadcastPackageRemoved" }, "android.permission.BROADCAST_SMS": { "permissionGroup": "android.permission-group.MESSAGES", "description": "@string/permdesc_broadcastSmsReceived", "protectionLevel": "signature", "label": "@string/permlab_broadcastSmsReceived" }, "android.permission.BROADCAST_WAP_PUSH": { "permissionGroup": "android.permission-group.MESSAGES", "description": "@string/permdesc_broadcastWapPush", "protectionLevel": "signature", "label": "@string/permlab_broadcastWapPush" }, "android.permission.MASTER_CLEAR": { "permissionGroup": "", "description": "@string/permdesc_masterClear", "protectionLevel": "signature|system", "label": "@string/permlab_masterClear" }, "android.permission.CALL_PRIVILEGED": { "permissionGroup": "", "description": "@string/permdesc_callPrivileged", "protectionLevel": "signature|system", "label": "@string/permlab_callPrivileged" }, "android.permission.PERFORM_CDMA_PROVISIONING": { "permissionGroup": "", "description": "@string/permdesc_performCdmaProvisioning", "protectionLevel": "signature|system", "label": "@string/permlab_performCdmaProvisioning" }, "android.permission.CONTROL_LOCATION_UPDATES": { "permissionGroup": "", "description": "@string/permdesc_locationUpdates", "protectionLevel": "signature|system", "label": "@string/permlab_locationUpdates" }, "android.permission.ACCESS_CHECKIN_PROPERTIES": { "permissionGroup": "", "description": "@string/permdesc_checkinProperties", "protectionLevel": "signature|system", "label": "@string/permlab_checkinProperties" }, "android.permission.PACKAGE_USAGE_STATS": { "permissionGroup": "", "description": "@string/permdesc_pkgUsageStats", "protectionLevel": "signature|system", "label": "@string/permlab_pkgUsageStats" }, "android.permission.BATTERY_STATS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_batteryStats", "protectionLevel": "dangerous", "label": "@string/permlab_batteryStats" }, "android.permission.BACKUP": { "permissionGroup": "", "description": "@string/permdesc_backup", "protectionLevel": "signature|system", "label": "@string/permlab_backup" }, "android.permission.CONFIRM_FULL_BACKUP": { "permissionGroup": "", "description": "@string/permdesc_confirm_full_backup", "protectionLevel": "signature", "label": "@string/permlab_confirm_full_backup" }, "android.permission.BIND_REMOTEVIEWS": { "permissionGroup": "", "description": "@string/permdesc_bindRemoteViews", "protectionLevel": "signature|system", "label": "@string/permlab_bindRemoteViews" }, "android.permission.BIND_APPWIDGET": { "permissionGroup": "android.permission-group.PERSONAL_INFO", "description": "@string/permdesc_bindGadget", "protectionLevel": "signature|system", "label": "@string/permlab_bindGadget" }, "android.permission.BIND_KEYGUARD_APPWIDGET": { "permissionGroup": "android.permission-group.PERSONAL_INFO", "description": "", "protectionLevel": "signature|system", "label": "" }, "android.permission.MODIFY_APPWIDGET_BIND_PERMISSIONS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "", "protectionLevel": "signature|system", "label": "" }, "android.permission.CHANGE_BACKGROUND_DATA_SETTING": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_changeBackgroundDataSetting", "protectionLevel": "signature", "label": "@string/permlab_changeBackgroundDataSetting" }, "android.permission.GLOBAL_SEARCH": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "", "protectionLevel": "signature|system", "label": "" }, "android.permission.GLOBAL_SEARCH_CONTROL": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.SET_WALLPAPER_COMPONENT": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "", "protectionLevel": "signature|system", "label": "" }, "android.permission.READ_DREAM_STATE": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.WRITE_DREAM_STATE": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.ACCESS_CACHE_FILESYSTEM": { "permissionGroup": "", "description": "@string/permdesc_cache_filesystem", "protectionLevel": "signature|system", "label": "@string/permlab_cache_filesystem" }, "android.permission.COPY_PROTECTED_DATA": { "permissionGroup": "", "description": "@string/permlab_copyProtectedData", "protectionLevel": "signature", "label": "@string/permlab_copyProtectedData" }, "android.permission.CRYPT_KEEPER": { "permissionGroup": "", "description": "", "protectionLevel": "signature|system", "label": "" }, "android.permission.READ_NETWORK_USAGE_HISTORY": { "permissionGroup": "", "description": "@string/permdesc_readNetworkUsageHistory", "protectionLevel": "signature|system", "label": "@string/permlab_readNetworkUsageHistory" }, "android.permission.MANAGE_NETWORK_POLICY": { "permissionGroup": "", "description": "@string/permdesc_manageNetworkPolicy", "protectionLevel": "signature", "label": "@string/permlab_manageNetworkPolicy" }, "android.permission.MODIFY_NETWORK_ACCOUNTING": { "permissionGroup": "", "description": "@string/permdesc_modifyNetworkAccounting", "protectionLevel": "signature|system", "label": "@string/permlab_modifyNetworkAccounting" }, "android.intent.category.MASTER_CLEAR.permission.C2D_MESSAGE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.PACKAGE_VERIFICATION_AGENT": { "permissionGroup": "", "description": "@string/permdesc_packageVerificationAgent", "protectionLevel": "signature|system", "label": "@string/permlab_packageVerificationAgent" }, "android.permission.BIND_PACKAGE_VERIFIER": { "permissionGroup": "", "description": "@string/permdesc_bindPackageVerifier", "protectionLevel": "signature", "label": "@string/permlab_bindPackageVerifier" }, "android.permission.SERIAL_PORT": { "permissionGroup": "", "description": "@string/permdesc_serialPort", "protectionLevel": "signature|system", "label": "@string/permlab_serialPort" }, "android.permission.ACCESS_CONTENT_PROVIDERS_EXTERNALLY": { "permissionGroup": "", "description": "@string/permdesc_accessContentProvidersExternally", "protectionLevel": "signature", "label": "@string/permlab_accessContentProvidersExternally" }, "android.permission.UPDATE_LOCK": { "permissionGroup": "", "description": "@string/permdesc_updateLock", "protectionLevel": "signatureOrSystem", "label": "@string/permlab_updateLock" }, "android.permission.ACCESS_BLUETOOTH_SHARE": { "permissionGroup": "", "description": "@string/permdesc_bluetoothShareManager", "protectionLevel": "signature", "label": "@string/permlab_bluetoothShareManager" }, "com.android.permission.WHITELIST_BLUETOOTH_DEVICE": { "permissionGroup": "", "description": "@string/permdesc_bluetoothWhitelist", "protectionLevel": "signature", "label": "@string/permlab_bluetoothWhitelist" }, "com.android.permission.HANDOVER_STATUS": { "permissionGroup": "", "description": "@string/permdesc_handoverStatus", "protectionLevel": "signature", "label": "@string/permlab_handoverStatus" }, "com.android.browser.permission.PRELOAD": { "permissionGroup": "", "description": "", "protectionLevel": "signatureOrSystem", "label": "@string/permission_preload_label" }, "com.android.email.permission.READ_ATTACHMENT": { "permissionGroup": "android.permission-group.MESSAGES", "description": "@string/permission_read_attachment_desc", "protectionLevel": "dangerous", "label": "@string/permission_read_attachment_label" }, "com.android.email.permission.ACCESS_PROVIDER": { "permissionGroup": "", "description": "@string/permission_access_provider_desc", "protectionLevel": "signature", "label": "@string/permission_access_provider_label" }, "com.android.gallery3d.permission.GALLERY_PROVIDER": { "permissionGroup": "", "description": "", "protectionLevel": "signatureOrSystem", "label": "" }, "com.android.launcher.permission.PRELOAD_WORKSPACE": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "", "protectionLevel": "system|signature", "label": "" }, "com.android.launcher.permission.INSTALL_SHORTCUT": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_install_shortcut", "protectionLevel": "dangerous", "label": "@string/permlab_install_shortcut" }, "com.android.launcher.permission.UNINSTALL_SHORTCUT": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_uninstall_shortcut", "protectionLevel": "dangerous", "label": "@string/permlab_uninstall_shortcut" }, "com.android.launcher.permission.READ_SETTINGS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_read_settings", "protectionLevel": "normal", "label": "@string/permlab_read_settings" }, "com.android.launcher.permission.WRITE_SETTINGS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_write_settings", "protectionLevel": "normal", "label": "@string/permlab_write_settings" }, "com.android.voicemail.permission.READ_WRITE_ALL_VOICEMAIL": { "permissionGroup": "android.permission-group.PERSONAL_INFO", "description": "@string/read_write_all_voicemail_description", "protectionLevel": "signature", "label": "@string/read_write_all_voicemail_label" }, "android.permission.ACCESS_DOWNLOAD_MANAGER": { "permissionGroup": "", "description": "@string/permdesc_downloadManager", "protectionLevel": "signatureOrSystem", "label": "@string/permlab_downloadManager" }, "android.permission.ACCESS_DOWNLOAD_MANAGER_ADVANCED": { "permissionGroup": "", "description": "@string/permdesc_downloadManagerAdvanced", "protectionLevel": "signatureOrSystem", "label": "@string/permlab_downloadManagerAdvanced" }, "android.permission.SEND_DOWNLOAD_COMPLETED_INTENTS": { "permissionGroup": "", "description": "@string/permdesc_downloadCompletedIntent", "protectionLevel": "signature", "label": "@string/permlab_downloadCompletedIntent" }, "android.permission.DOWNLOAD_CACHE_NON_PURGEABLE": { "permissionGroup": "", "description": "@string/permdesc_downloadCacheNonPurgeable", "protectionLevel": "signatureOrSystem", "label": "@string/permlab_downloadCacheNonPurgeable" }, "android.permission.DOWNLOAD_WITHOUT_NOTIFICATION": { "permissionGroup": "android.permission-group.NETWORK", "description": "@string/permdesc_downloadWithoutNotification", "protectionLevel": "normal", "label": "@string/permlab_downloadWithoutNotification" }, "android.permission.ACCESS_ALL_DOWNLOADS": { "permissionGroup": "", "description": "@string/permdesc_accessAllDownloads", "protectionLevel": "signature", "label": "@string/permlab_accessAllDownloads" }, "android.permission.ACCESS_DRM": { "permissionGroup": "", "description": "@string/permdesc_accessDrm", "protectionLevel": "signature", "label": "@string/permlab_accessDrm" }, "android.permission.INSTALL_DRM": { "permissionGroup": "", "description": "@string/permdesc_installDrm", "protectionLevel": "normal", "label": "@string/permlab_installDrm" } }androguard-3.1.0-rc2/androguard/core/api_specific_resources/aosp_permissions/permissions_18.json000066400000000000000000001615201324327352200332760ustar00rootroot00000000000000{ "android.permission.SEND_SMS": { "permissionGroup": "android.permission-group.MESSAGES", "description": "@string/permdesc_sendSms", "protectionLevel": "dangerous", "label": "@string/permlab_sendSms" }, "android.permission.SEND_RESPOND_VIA_MESSAGE": { "permissionGroup": "android.permission-group.MESSAGES", "description": "@string/permdesc_sendRespondViaMessageRequest", "protectionLevel": "signature|system", "label": "@string/permlab_sendRespondViaMessageRequest" }, "android.permission.RECEIVE_SMS": { "permissionGroup": "android.permission-group.MESSAGES", "description": "@string/permdesc_receiveSms", "protectionLevel": "dangerous", "label": "@string/permlab_receiveSms" }, "android.permission.RECEIVE_MMS": { "permissionGroup": "android.permission-group.MESSAGES", "description": "@string/permdesc_receiveMms", "protectionLevel": "dangerous", "label": "@string/permlab_receiveMms" }, "android.permission.RECEIVE_EMERGENCY_BROADCAST": { "permissionGroup": "android.permission-group.MESSAGES", "description": "@string/permdesc_receiveEmergencyBroadcast", "protectionLevel": "signature|system", "label": "@string/permlab_receiveEmergencyBroadcast" }, "android.permission.READ_CELL_BROADCASTS": { "permissionGroup": "android.permission-group.MESSAGES", "description": "@string/permdesc_readCellBroadcasts", "protectionLevel": "dangerous", "label": "@string/permlab_readCellBroadcasts" }, "android.permission.READ_SMS": { "permissionGroup": "android.permission-group.MESSAGES", "description": "@string/permdesc_readSms", "protectionLevel": "dangerous", "label": "@string/permlab_readSms" }, "android.permission.WRITE_SMS": { "permissionGroup": "android.permission-group.MESSAGES", "description": "@string/permdesc_writeSms", "protectionLevel": "dangerous", "label": "@string/permlab_writeSms" }, "android.permission.RECEIVE_WAP_PUSH": { "permissionGroup": "android.permission-group.MESSAGES", "description": "@string/permdesc_receiveWapPush", "protectionLevel": "dangerous", "label": "@string/permlab_receiveWapPush" }, "android.permission.READ_CONTACTS": { "permissionGroup": "android.permission-group.SOCIAL_INFO", "description": "@string/permdesc_readContacts", "protectionLevel": "dangerous", "label": "@string/permlab_readContacts" }, "android.permission.WRITE_CONTACTS": { "permissionGroup": "android.permission-group.SOCIAL_INFO", "description": "@string/permdesc_writeContacts", "protectionLevel": "dangerous", "label": "@string/permlab_writeContacts" }, "android.permission.BIND_DIRECTORY_SEARCH": { "permissionGroup": "android.permission-group.PERSONAL_INFO", "description": "", "protectionLevel": "signature|system", "label": "" }, "android.permission.READ_CALL_LOG": { "permissionGroup": "android.permission-group.SOCIAL_INFO", "description": "@string/permdesc_readCallLog", "protectionLevel": "dangerous", "label": "@string/permlab_readCallLog" }, "android.permission.WRITE_CALL_LOG": { "permissionGroup": "android.permission-group.SOCIAL_INFO", "description": "@string/permdesc_writeCallLog", "protectionLevel": "dangerous", "label": "@string/permlab_writeCallLog" }, "android.permission.READ_SOCIAL_STREAM": { "permissionGroup": "android.permission-group.SOCIAL_INFO", "description": "@string/permdesc_readSocialStream", "protectionLevel": "dangerous", "label": "@string/permlab_readSocialStream" }, "android.permission.WRITE_SOCIAL_STREAM": { "permissionGroup": "android.permission-group.SOCIAL_INFO", "description": "@string/permdesc_writeSocialStream", "protectionLevel": "dangerous", "label": "@string/permlab_writeSocialStream" }, "android.permission.READ_PROFILE": { "permissionGroup": "android.permission-group.PERSONAL_INFO", "description": "@string/permdesc_readProfile", "protectionLevel": "dangerous", "label": "@string/permlab_readProfile" }, "android.permission.WRITE_PROFILE": { "permissionGroup": "android.permission-group.PERSONAL_INFO", "description": "@string/permdesc_writeProfile", "protectionLevel": "dangerous", "label": "@string/permlab_writeProfile" }, "android.permission.READ_CALENDAR": { "permissionGroup": "android.permission-group.PERSONAL_INFO", "description": "@string/permdesc_readCalendar", "protectionLevel": "dangerous", "label": "@string/permlab_readCalendar" }, "android.permission.WRITE_CALENDAR": { "permissionGroup": "android.permission-group.PERSONAL_INFO", "description": "@string/permdesc_writeCalendar", "protectionLevel": "dangerous", "label": "@string/permlab_writeCalendar" }, "android.permission.READ_USER_DICTIONARY": { "permissionGroup": "android.permission-group.USER_DICTIONARY", "description": "@string/permdesc_readDictionary", "protectionLevel": "dangerous", "label": "@string/permlab_readDictionary" }, "android.permission.WRITE_USER_DICTIONARY": { "permissionGroup": "android.permission-group.WRITE_USER_DICTIONARY", "description": "@string/permdesc_writeDictionary", "protectionLevel": "normal", "label": "@string/permlab_writeDictionary" }, "com.android.browser.permission.READ_HISTORY_BOOKMARKS": { "permissionGroup": "android.permission-group.BOOKMARKS", "description": "@string/permdesc_readHistoryBookmarks", "protectionLevel": "dangerous", "label": "@string/permlab_readHistoryBookmarks" }, "com.android.browser.permission.WRITE_HISTORY_BOOKMARKS": { "permissionGroup": "android.permission-group.BOOKMARKS", "description": "@string/permdesc_writeHistoryBookmarks", "protectionLevel": "dangerous", "label": "@string/permlab_writeHistoryBookmarks" }, "com.android.alarm.permission.SET_ALARM": { "permissionGroup": "android.permission-group.DEVICE_ALARMS", "description": "@string/permdesc_setAlarm", "protectionLevel": "normal", "label": "@string/permlab_setAlarm" }, "com.android.voicemail.permission.ADD_VOICEMAIL": { "permissionGroup": "android.permission-group.VOICEMAIL", "description": "@string/permdesc_addVoicemail", "protectionLevel": "dangerous", "label": "@string/permlab_addVoicemail" }, "android.permission.ACCESS_FINE_LOCATION": { "permissionGroup": "android.permission-group.LOCATION", "description": "@string/permdesc_accessFineLocation", "protectionLevel": "dangerous", "label": "@string/permlab_accessFineLocation" }, "android.permission.ACCESS_COARSE_LOCATION": { "permissionGroup": "android.permission-group.LOCATION", "description": "@string/permdesc_accessCoarseLocation", "protectionLevel": "dangerous", "label": "@string/permlab_accessCoarseLocation" }, "android.permission.ACCESS_MOCK_LOCATION": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_accessMockLocation", "protectionLevel": "dangerous", "label": "@string/permlab_accessMockLocation" }, "android.permission.ACCESS_LOCATION_EXTRA_COMMANDS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_accessLocationExtraCommands", "protectionLevel": "normal", "label": "@string/permlab_accessLocationExtraCommands" }, "android.permission.INSTALL_LOCATION_PROVIDER": { "permissionGroup": "", "description": "@string/permdesc_installLocationProvider", "protectionLevel": "signature|system", "label": "@string/permlab_installLocationProvider" }, "android.permission.LOCATION_HARDWARE": { "permissionGroup": "android.permission-group.LOCATION", "description": "", "protectionLevel": "signature|system", "label": "" }, "android.permission.INTERNET": { "permissionGroup": "android.permission-group.NETWORK", "description": "@string/permdesc_createNetworkSockets", "protectionLevel": "dangerous", "label": "@string/permlab_createNetworkSockets" }, "android.permission.ACCESS_NETWORK_STATE": { "permissionGroup": "android.permission-group.NETWORK", "description": "@string/permdesc_accessNetworkState", "protectionLevel": "normal", "label": "@string/permlab_accessNetworkState" }, "android.permission.ACCESS_WIFI_STATE": { "permissionGroup": "android.permission-group.NETWORK", "description": "@string/permdesc_accessWifiState", "protectionLevel": "normal", "label": "@string/permlab_accessWifiState" }, "android.permission.CHANGE_WIFI_STATE": { "permissionGroup": "android.permission-group.NETWORK", "description": "@string/permdesc_changeWifiState", "protectionLevel": "dangerous", "label": "@string/permlab_changeWifiState" }, "android.permission.ACCESS_WIMAX_STATE": { "permissionGroup": "android.permission-group.NETWORK", "description": "@string/permdesc_accessWimaxState", "protectionLevel": "normal", "label": "@string/permlab_accessWimaxState" }, "android.permission.CHANGE_WIMAX_STATE": { "permissionGroup": "android.permission-group.NETWORK", "description": "@string/permdesc_changeWimaxState", "protectionLevel": "dangerous", "label": "@string/permlab_changeWimaxState" }, "android.permission.BLUETOOTH": { "permissionGroup": "android.permission-group.BLUETOOTH_NETWORK", "description": "@string/permdesc_bluetooth", "protectionLevel": "dangerous", "label": "@string/permlab_bluetooth" }, "android.permission.BLUETOOTH_ADMIN": { "permissionGroup": "android.permission-group.BLUETOOTH_NETWORK", "description": "@string/permdesc_bluetoothAdmin", "protectionLevel": "dangerous", "label": "@string/permlab_bluetoothAdmin" }, "android.permission.BLUETOOTH_STACK": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.NFC": { "permissionGroup": "android.permission-group.NETWORK", "description": "@string/permdesc_nfc", "protectionLevel": "dangerous", "label": "@string/permlab_nfc" }, "android.permission.CONNECTIVITY_INTERNAL": { "permissionGroup": "android.permission-group.NETWORK", "description": "", "protectionLevel": "signature|system", "label": "" }, "android.permission.RECEIVE_DATA_ACTIVITY_CHANGE": { "permissionGroup": "android.permission-group.NETWORK", "description": "", "protectionLevel": "signature|system", "label": "" }, "android.permission.LOOP_RADIO": { "permissionGroup": "android.permission-group.NETWORK", "description": "", "protectionLevel": "signature|system", "label": "" }, "android.permission.GET_ACCOUNTS": { "permissionGroup": "android.permission-group.ACCOUNTS", "description": "@string/permdesc_getAccounts", "protectionLevel": "normal", "label": "@string/permlab_getAccounts" }, "android.permission.AUTHENTICATE_ACCOUNTS": { "permissionGroup": "android.permission-group.ACCOUNTS", "description": "@string/permdesc_authenticateAccounts", "protectionLevel": "dangerous", "label": "@string/permlab_authenticateAccounts" }, "android.permission.USE_CREDENTIALS": { "permissionGroup": "android.permission-group.ACCOUNTS", "description": "@string/permdesc_useCredentials", "protectionLevel": "dangerous", "label": "@string/permlab_useCredentials" }, "android.permission.MANAGE_ACCOUNTS": { "permissionGroup": "android.permission-group.ACCOUNTS", "description": "@string/permdesc_manageAccounts", "protectionLevel": "dangerous", "label": "@string/permlab_manageAccounts" }, "android.permission.ACCOUNT_MANAGER": { "permissionGroup": "android.permission-group.ACCOUNTS", "description": "@string/permdesc_accountManagerService", "protectionLevel": "signature", "label": "@string/permlab_accountManagerService" }, "android.permission.CHANGE_WIFI_MULTICAST_STATE": { "permissionGroup": "android.permission-group.AFFECTS_BATTERY", "description": "@string/permdesc_changeWifiMulticastState", "protectionLevel": "dangerous", "label": "@string/permlab_changeWifiMulticastState" }, "android.permission.VIBRATE": { "permissionGroup": "android.permission-group.AFFECTS_BATTERY", "description": "@string/permdesc_vibrate", "protectionLevel": "normal", "label": "@string/permlab_vibrate" }, "android.permission.FLASHLIGHT": { "permissionGroup": "android.permission-group.AFFECTS_BATTERY", "description": "@string/permdesc_flashlight", "protectionLevel": "normal", "label": "@string/permlab_flashlight" }, "android.permission.WAKE_LOCK": { "permissionGroup": "android.permission-group.AFFECTS_BATTERY", "description": "@string/permdesc_wakeLock", "protectionLevel": "normal", "label": "@string/permlab_wakeLock" }, "android.permission.MODIFY_AUDIO_SETTINGS": { "permissionGroup": "android.permission-group.AUDIO_SETTINGS", "description": "@string/permdesc_modifyAudioSettings", "protectionLevel": "normal", "label": "@string/permlab_modifyAudioSettings" }, "android.permission.MANAGE_USB": { "permissionGroup": "android.permission-group.HARDWARE_CONTROLS", "description": "@string/permdesc_manageUsb", "protectionLevel": "signature|system", "label": "@string/permlab_manageUsb" }, "android.permission.ACCESS_MTP": { "permissionGroup": "android.permission-group.HARDWARE_CONTROLS", "description": "@string/permdesc_accessMtp", "protectionLevel": "signature|system", "label": "@string/permlab_accessMtp" }, "android.permission.HARDWARE_TEST": { "permissionGroup": "android.permission-group.HARDWARE_CONTROLS", "description": "@string/permdesc_hardware_test", "protectionLevel": "signature", "label": "@string/permlab_hardware_test" }, "android.permission.NET_ADMIN": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.REMOTE_AUDIO_PLAYBACK": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.RECORD_AUDIO": { "permissionGroup": "android.permission-group.MICROPHONE", "description": "@string/permdesc_recordAudio", "protectionLevel": "dangerous", "label": "@string/permlab_recordAudio" }, "android.permission.CAMERA": { "permissionGroup": "android.permission-group.CAMERA", "description": "@string/permdesc_camera", "protectionLevel": "dangerous", "label": "@string/permlab_camera" }, "android.permission.CAMERA_DISABLE_TRANSMIT_LED": { "permissionGroup": "android.permission-group.CAMERA", "description": "@string/permdesc_cameraDisableTransmitLed", "protectionLevel": "signature|system", "label": "@string/permlab_cameraDisableTransmitLed" }, "android.permission.PROCESS_OUTGOING_CALLS": { "permissionGroup": "android.permission-group.PHONE_CALLS", "description": "@string/permdesc_processOutgoingCalls", "protectionLevel": "dangerous", "label": "@string/permlab_processOutgoingCalls" }, "android.permission.MODIFY_PHONE_STATE": { "permissionGroup": "android.permission-group.PHONE_CALLS", "description": "@string/permdesc_modifyPhoneState", "protectionLevel": "signature|system", "label": "@string/permlab_modifyPhoneState" }, "android.permission.READ_PHONE_STATE": { "permissionGroup": "android.permission-group.PHONE_CALLS", "description": "@string/permdesc_readPhoneState", "protectionLevel": "dangerous", "label": "@string/permlab_readPhoneState" }, "android.permission.READ_PRIVILEGED_PHONE_STATE": { "permissionGroup": "android.permission-group.PHONE_CALLS", "description": "", "protectionLevel": "signature|system", "label": "" }, "android.permission.CALL_PHONE": { "permissionGroup": "android.permission-group.PHONE_CALLS", "description": "@string/permdesc_callPhone", "protectionLevel": "dangerous", "label": "@string/permlab_callPhone" }, "android.permission.USE_SIP": { "permissionGroup": "android.permission-group.PHONE_CALLS", "description": "@string/permdesc_use_sip", "protectionLevel": "dangerous", "label": "@string/permlab_use_sip" }, "android.permission.READ_EXTERNAL_STORAGE": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_sdcardRead", "protectionLevel": "normal", "label": "@string/permlab_sdcardRead" }, "android.permission.WRITE_EXTERNAL_STORAGE": { "permissionGroup": "android.permission-group.STORAGE", "description": "@string/permdesc_sdcardWrite", "protectionLevel": "dangerous", "label": "@string/permlab_sdcardWrite" }, "android.permission.WRITE_MEDIA_STORAGE": { "permissionGroup": "android.permission-group.STORAGE", "description": "@string/permdesc_mediaStorageWrite", "protectionLevel": "signature|system", "label": "@string/permlab_mediaStorageWrite" }, "android.permission.DISABLE_KEYGUARD": { "permissionGroup": "android.permission-group.SCREENLOCK", "description": "@string/permdesc_disableKeyguard", "protectionLevel": "dangerous", "label": "@string/permlab_disableKeyguard" }, "android.permission.GET_TASKS": { "permissionGroup": "android.permission-group.APP_INFO", "description": "@string/permdesc_getTasks", "protectionLevel": "dangerous", "label": "@string/permlab_getTasks" }, "android.permission.INTERACT_ACROSS_USERS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_interactAcrossUsers", "protectionLevel": "signature|system|development", "label": "@string/permlab_interactAcrossUsers" }, "android.permission.INTERACT_ACROSS_USERS_FULL": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_interactAcrossUsersFull", "protectionLevel": "signature", "label": "@string/permlab_interactAcrossUsersFull" }, "android.permission.MANAGE_USERS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_manageUsers", "protectionLevel": "signature|system", "label": "@string/permlab_manageUsers" }, "android.permission.GET_DETAILED_TASKS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_getDetailedTasks", "protectionLevel": "signature", "label": "@string/permlab_getDetailedTasks" }, "android.permission.REORDER_TASKS": { "permissionGroup": "android.permission-group.APP_INFO", "description": "@string/permdesc_reorderTasks", "protectionLevel": "normal", "label": "@string/permlab_reorderTasks" }, "android.permission.REMOVE_TASKS": { "permissionGroup": "android.permission-group.APP_INFO", "description": "@string/permdesc_removeTasks", "protectionLevel": "signature", "label": "@string/permlab_removeTasks" }, "android.permission.START_ANY_ACTIVITY": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_startAnyActivity", "protectionLevel": "signature", "label": "@string/permlab_startAnyActivity" }, "android.permission.RESTART_PACKAGES": { "permissionGroup": "android.permission-group.APP_INFO", "description": "@string/permdesc_killBackgroundProcesses", "protectionLevel": "normal", "label": "@string/permlab_killBackgroundProcesses" }, "android.permission.KILL_BACKGROUND_PROCESSES": { "permissionGroup": "android.permission-group.APP_INFO", "description": "@string/permdesc_killBackgroundProcesses", "protectionLevel": "normal", "label": "@string/permlab_killBackgroundProcesses" }, "android.permission.SYSTEM_ALERT_WINDOW": { "permissionGroup": "android.permission-group.DISPLAY", "description": "@string/permdesc_systemAlertWindow", "protectionLevel": "dangerous", "label": "@string/permlab_systemAlertWindow" }, "android.permission.SET_WALLPAPER": { "permissionGroup": "android.permission-group.WALLPAPER", "description": "@string/permdesc_setWallpaper", "protectionLevel": "normal", "label": "@string/permlab_setWallpaper" }, "android.permission.SET_WALLPAPER_HINTS": { "permissionGroup": "android.permission-group.WALLPAPER", "description": "@string/permdesc_setWallpaperHints", "protectionLevel": "normal", "label": "@string/permlab_setWallpaperHints" }, "android.permission.SET_TIME": { "permissionGroup": "", "description": "@string/permdesc_setTime", "protectionLevel": "signature|system", "label": "@string/permlab_setTime" }, "android.permission.SET_TIME_ZONE": { "permissionGroup": "android.permission-group.SYSTEM_CLOCK", "description": "@string/permdesc_setTimeZone", "protectionLevel": "normal", "label": "@string/permlab_setTimeZone" }, "android.permission.EXPAND_STATUS_BAR": { "permissionGroup": "android.permission-group.STATUS_BAR", "description": "@string/permdesc_expandStatusBar", "protectionLevel": "normal", "label": "@string/permlab_expandStatusBar" }, "android.permission.READ_SYNC_SETTINGS": { "permissionGroup": "android.permission-group.SYNC_SETTINGS", "description": "@string/permdesc_readSyncSettings", "protectionLevel": "normal", "label": "@string/permlab_readSyncSettings" }, "android.permission.WRITE_SYNC_SETTINGS": { "permissionGroup": "android.permission-group.SYNC_SETTINGS", "description": "@string/permdesc_writeSyncSettings", "protectionLevel": "normal", "label": "@string/permlab_writeSyncSettings" }, "android.permission.READ_SYNC_STATS": { "permissionGroup": "android.permission-group.SYNC_SETTINGS", "description": "@string/permdesc_readSyncStats", "protectionLevel": "normal", "label": "@string/permlab_readSyncStats" }, "android.permission.SET_SCREEN_COMPATIBILITY": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_setScreenCompatibility", "protectionLevel": "signature", "label": "@string/permlab_setScreenCompatibility" }, "android.permission.ACCESS_ALL_EXTERNAL_STORAGE": { "permissionGroup": "android.permission-group.DEVELOPMENT_TOOLS", "description": "@string/permdesc_sdcardAccessAll", "protectionLevel": "signature", "label": "@string/permlab_sdcardAccessAll" }, "android.permission.CHANGE_CONFIGURATION": { "permissionGroup": "android.permission-group.DEVELOPMENT_TOOLS", "description": "@string/permdesc_changeConfiguration", "protectionLevel": "signature|system|development", "label": "@string/permlab_changeConfiguration" }, "android.permission.WRITE_SETTINGS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_writeSettings", "protectionLevel": "normal", "label": "@string/permlab_writeSettings" }, "android.permission.WRITE_GSERVICES": { "permissionGroup": "", "description": "@string/permdesc_writeGservices", "protectionLevel": "signature|system", "label": "@string/permlab_writeGservices" }, "android.permission.FORCE_STOP_PACKAGES": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_forceStopPackages", "protectionLevel": "signature", "label": "@string/permlab_forceStopPackages" }, "android.permission.RETRIEVE_WINDOW_CONTENT": { "permissionGroup": "android.permission-group.PERSONAL_INFO", "description": "@string/permdesc_retrieve_window_content", "protectionLevel": "signature|system", "label": "@string/permlab_retrieve_window_content" }, "android.permission.SET_ANIMATION_SCALE": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_setAnimationScale", "protectionLevel": "signature|system|development", "label": "@string/permlab_setAnimationScale" }, "android.permission.PERSISTENT_ACTIVITY": { "permissionGroup": "android.permission-group.APP_INFO", "description": "@string/permdesc_persistentActivity", "protectionLevel": "normal", "label": "@string/permlab_persistentActivity" }, "android.permission.GET_PACKAGE_SIZE": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_getPackageSize", "protectionLevel": "normal", "label": "@string/permlab_getPackageSize" }, "android.permission.SET_PREFERRED_APPLICATIONS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_setPreferredApplications", "protectionLevel": "signature", "label": "@string/permlab_setPreferredApplications" }, "android.permission.RECEIVE_BOOT_COMPLETED": { "permissionGroup": "android.permission-group.APP_INFO", "description": "@string/permdesc_receiveBootCompleted", "protectionLevel": "normal", "label": "@string/permlab_receiveBootCompleted" }, "android.permission.BROADCAST_STICKY": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_broadcastSticky", "protectionLevel": "normal", "label": "@string/permlab_broadcastSticky" }, "android.permission.MOUNT_UNMOUNT_FILESYSTEMS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_mount_unmount_filesystems", "protectionLevel": "system|signature", "label": "@string/permlab_mount_unmount_filesystems" }, "android.permission.MOUNT_FORMAT_FILESYSTEMS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_mount_format_filesystems", "protectionLevel": "system|signature", "label": "@string/permlab_mount_format_filesystems" }, "android.permission.ASEC_ACCESS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_asec_access", "protectionLevel": "signature", "label": "@string/permlab_asec_access" }, "android.permission.ASEC_CREATE": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_asec_create", "protectionLevel": "signature", "label": "@string/permlab_asec_create" }, "android.permission.ASEC_DESTROY": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_asec_destroy", "protectionLevel": "signature", "label": "@string/permlab_asec_destroy" }, "android.permission.ASEC_MOUNT_UNMOUNT": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_asec_mount_unmount", "protectionLevel": "signature", "label": "@string/permlab_asec_mount_unmount" }, "android.permission.ASEC_RENAME": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_asec_rename", "protectionLevel": "signature", "label": "@string/permlab_asec_rename" }, "android.permission.WRITE_APN_SETTINGS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_writeApnSettings", "protectionLevel": "signature|system", "label": "@string/permlab_writeApnSettings" }, "android.permission.SUBSCRIBED_FEEDS_READ": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_subscribedFeedsRead", "protectionLevel": "normal", "label": "@string/permlab_subscribedFeedsRead" }, "android.permission.SUBSCRIBED_FEEDS_WRITE": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_subscribedFeedsWrite", "protectionLevel": "dangerous", "label": "@string/permlab_subscribedFeedsWrite" }, "android.permission.CHANGE_NETWORK_STATE": { "permissionGroup": "android.permission-group.NETWORK", "description": "@string/permdesc_changeNetworkState", "protectionLevel": "normal", "label": "@string/permlab_changeNetworkState" }, "android.permission.CLEAR_APP_CACHE": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_clearAppCache", "protectionLevel": "dangerous", "label": "@string/permlab_clearAppCache" }, "android.permission.ALLOW_ANY_CODEC_FOR_PLAYBACK": { "permissionGroup": "", "description": "@string/permdesc_anyCodecForPlayback", "protectionLevel": "signature|system", "label": "@string/permlab_anyCodecForPlayback" }, "android.permission.WRITE_SECURE_SETTINGS": { "permissionGroup": "android.permission-group.DEVELOPMENT_TOOLS", "description": "@string/permdesc_writeSecureSettings", "protectionLevel": "signature|system|development", "label": "@string/permlab_writeSecureSettings" }, "android.permission.DUMP": { "permissionGroup": "android.permission-group.DEVELOPMENT_TOOLS", "description": "@string/permdesc_dump", "protectionLevel": "signature|system|development", "label": "@string/permlab_dump" }, "android.permission.READ_LOGS": { "permissionGroup": "android.permission-group.DEVELOPMENT_TOOLS", "description": "@string/permdesc_readLogs", "protectionLevel": "signature|system|development", "label": "@string/permlab_readLogs" }, "android.permission.SET_DEBUG_APP": { "permissionGroup": "android.permission-group.DEVELOPMENT_TOOLS", "description": "@string/permdesc_setDebugApp", "protectionLevel": "signature|system|development", "label": "@string/permlab_setDebugApp" }, "android.permission.SET_PROCESS_LIMIT": { "permissionGroup": "android.permission-group.DEVELOPMENT_TOOLS", "description": "@string/permdesc_setProcessLimit", "protectionLevel": "signature|system|development", "label": "@string/permlab_setProcessLimit" }, "android.permission.SET_ALWAYS_FINISH": { "permissionGroup": "android.permission-group.DEVELOPMENT_TOOLS", "description": "@string/permdesc_setAlwaysFinish", "protectionLevel": "signature|system|development", "label": "@string/permlab_setAlwaysFinish" }, "android.permission.SIGNAL_PERSISTENT_PROCESSES": { "permissionGroup": "android.permission-group.DEVELOPMENT_TOOLS", "description": "@string/permdesc_signalPersistentProcesses", "protectionLevel": "signature|system|development", "label": "@string/permlab_signalPersistentProcesses" }, "android.permission.DIAGNOSTIC": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_diagnostic", "protectionLevel": "signature", "label": "@string/permlab_diagnostic" }, "android.permission.STATUS_BAR": { "permissionGroup": "", "description": "@string/permdesc_statusBar", "protectionLevel": "signature|system", "label": "@string/permlab_statusBar" }, "android.permission.STATUS_BAR_SERVICE": { "permissionGroup": "", "description": "@string/permdesc_statusBarService", "protectionLevel": "signature", "label": "@string/permlab_statusBarService" }, "android.permission.FORCE_BACK": { "permissionGroup": "", "description": "@string/permdesc_forceBack", "protectionLevel": "signature", "label": "@string/permlab_forceBack" }, "android.permission.UPDATE_DEVICE_STATS": { "permissionGroup": "", "description": "@string/permdesc_updateBatteryStats", "protectionLevel": "signature|system", "label": "@string/permlab_updateBatteryStats" }, "android.permission.GET_APP_OPS_STATS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_getAppOpsStats", "protectionLevel": "signature|system|development", "label": "@string/permlab_getAppOpsStats" }, "android.permission.UPDATE_APP_OPS_STATS": { "permissionGroup": "", "description": "@string/permdesc_updateAppOpsStats", "protectionLevel": "signature|system", "label": "@string/permlab_updateAppOpsStats" }, "android.permission.INTERNAL_SYSTEM_WINDOW": { "permissionGroup": "", "description": "@string/permdesc_internalSystemWindow", "protectionLevel": "signature", "label": "@string/permlab_internalSystemWindow" }, "android.permission.MANAGE_APP_TOKENS": { "permissionGroup": "", "description": "@string/permdesc_manageAppTokens", "protectionLevel": "signature", "label": "@string/permlab_manageAppTokens" }, "android.permission.FREEZE_SCREEN": { "permissionGroup": "", "description": "@string/permdesc_freezeScreen", "protectionLevel": "signature", "label": "@string/permlab_freezeScreen" }, "android.permission.INJECT_EVENTS": { "permissionGroup": "", "description": "@string/permdesc_injectEvents", "protectionLevel": "signature", "label": "@string/permlab_injectEvents" }, "android.permission.FILTER_EVENTS": { "permissionGroup": "", "description": "@string/permdesc_filter_events", "protectionLevel": "signature", "label": "@string/permlab_filter_events" }, "android.permission.RETRIEVE_WINDOW_INFO": { "permissionGroup": "", "description": "@string/permdesc_retrieve_window_info", "protectionLevel": "signature", "label": "@string/permlab_retrieve_window_info" }, "android.permission.TEMPORARY_ENABLE_ACCESSIBILITY": { "permissionGroup": "", "description": "@string/permdesc_temporary_enable_accessibility", "protectionLevel": "signature", "label": "@string/permlab_temporary_enable_accessibility" }, "android.permission.MAGNIFY_DISPLAY": { "permissionGroup": "", "description": "@string/permdesc_magnify_display", "protectionLevel": "signature", "label": "@string/permlab_magnify_display" }, "android.permission.SET_ACTIVITY_WATCHER": { "permissionGroup": "", "description": "@string/permdesc_runSetActivityWatcher", "protectionLevel": "signature", "label": "@string/permlab_runSetActivityWatcher" }, "android.permission.SHUTDOWN": { "permissionGroup": "", "description": "@string/permdesc_shutdown", "protectionLevel": "signature|system", "label": "@string/permlab_shutdown" }, "android.permission.STOP_APP_SWITCHES": { "permissionGroup": "", "description": "@string/permdesc_stopAppSwitches", "protectionLevel": "signature|system", "label": "@string/permlab_stopAppSwitches" }, "android.permission.GET_TOP_ACTIVITY_INFO": { "permissionGroup": "", "description": "@string/permdesc_getTopActivityInfo", "protectionLevel": "signature", "label": "@string/permlab_getTopActivityInfo" }, "android.permission.READ_INPUT_STATE": { "permissionGroup": "", "description": "@string/permdesc_readInputState", "protectionLevel": "signature", "label": "@string/permlab_readInputState" }, "android.permission.BIND_INPUT_METHOD": { "permissionGroup": "", "description": "@string/permdesc_bindInputMethod", "protectionLevel": "signature", "label": "@string/permlab_bindInputMethod" }, "android.permission.BIND_ACCESSIBILITY_SERVICE": { "permissionGroup": "", "description": "@string/permdesc_bindAccessibilityService", "protectionLevel": "signature", "label": "@string/permlab_bindAccessibilityService" }, "android.permission.BIND_TEXT_SERVICE": { "permissionGroup": "", "description": "@string/permdesc_bindTextService", "protectionLevel": "signature", "label": "@string/permlab_bindTextService" }, "android.permission.BIND_VPN_SERVICE": { "permissionGroup": "", "description": "@string/permdesc_bindVpnService", "protectionLevel": "signature", "label": "@string/permlab_bindVpnService" }, "android.permission.BIND_WALLPAPER": { "permissionGroup": "", "description": "@string/permdesc_bindWallpaper", "protectionLevel": "signature|system", "label": "@string/permlab_bindWallpaper" }, "android.permission.BIND_DEVICE_ADMIN": { "permissionGroup": "", "description": "@string/permdesc_bindDeviceAdmin", "protectionLevel": "signature", "label": "@string/permlab_bindDeviceAdmin" }, "android.permission.SET_ORIENTATION": { "permissionGroup": "", "description": "@string/permdesc_setOrientation", "protectionLevel": "signature", "label": "@string/permlab_setOrientation" }, "android.permission.SET_POINTER_SPEED": { "permissionGroup": "", "description": "@string/permdesc_setPointerSpeed", "protectionLevel": "signature", "label": "@string/permlab_setPointerSpeed" }, "android.permission.SET_KEYBOARD_LAYOUT": { "permissionGroup": "", "description": "@string/permdesc_setKeyboardLayout", "protectionLevel": "signature", "label": "@string/permlab_setKeyboardLayout" }, "android.permission.INSTALL_PACKAGES": { "permissionGroup": "", "description": "@string/permdesc_installPackages", "protectionLevel": "signature|system", "label": "@string/permlab_installPackages" }, "android.permission.CLEAR_APP_USER_DATA": { "permissionGroup": "", "description": "@string/permdesc_clearAppUserData", "protectionLevel": "signature", "label": "@string/permlab_clearAppUserData" }, "android.permission.DELETE_CACHE_FILES": { "permissionGroup": "", "description": "@string/permdesc_deleteCacheFiles", "protectionLevel": "signature|system", "label": "@string/permlab_deleteCacheFiles" }, "android.permission.DELETE_PACKAGES": { "permissionGroup": "", "description": "@string/permdesc_deletePackages", "protectionLevel": "signature|system", "label": "@string/permlab_deletePackages" }, "android.permission.MOVE_PACKAGE": { "permissionGroup": "", "description": "@string/permdesc_movePackage", "protectionLevel": "signature|system", "label": "@string/permlab_movePackage" }, "android.permission.CHANGE_COMPONENT_ENABLED_STATE": { "permissionGroup": "", "description": "@string/permdesc_changeComponentState", "protectionLevel": "signature|system", "label": "@string/permlab_changeComponentState" }, "android.permission.GRANT_REVOKE_PERMISSIONS": { "permissionGroup": "", "description": "@string/permdesc_grantRevokePermissions", "protectionLevel": "signature", "label": "@string/permlab_grantRevokePermissions" }, "android.permission.ACCESS_SURFACE_FLINGER": { "permissionGroup": "", "description": "@string/permdesc_accessSurfaceFlinger", "protectionLevel": "signature", "label": "@string/permlab_accessSurfaceFlinger" }, "android.permission.READ_FRAME_BUFFER": { "permissionGroup": "", "description": "@string/permdesc_readFrameBuffer", "protectionLevel": "signature|system", "label": "@string/permlab_readFrameBuffer" }, "android.permission.CONFIGURE_WIFI_DISPLAY": { "permissionGroup": "", "description": "@string/permdesc_configureWifiDisplay", "protectionLevel": "signature", "label": "@string/permlab_configureWifiDisplay" }, "android.permission.CONTROL_WIFI_DISPLAY": { "permissionGroup": "", "description": "@string/permdesc_controlWifiDisplay", "protectionLevel": "signature", "label": "@string/permlab_controlWifiDisplay" }, "android.permission.BRICK": { "permissionGroup": "", "description": "@string/permdesc_brick", "protectionLevel": "signature", "label": "@string/permlab_brick" }, "android.permission.REBOOT": { "permissionGroup": "", "description": "@string/permdesc_reboot", "protectionLevel": "signature|system", "label": "@string/permlab_reboot" }, "android.permission.DEVICE_POWER": { "permissionGroup": "", "description": "@string/permdesc_devicePower", "protectionLevel": "signature", "label": "@string/permlab_devicePower" }, "android.permission.NET_TUNNELING": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.FACTORY_TEST": { "permissionGroup": "", "description": "@string/permdesc_factoryTest", "protectionLevel": "signature", "label": "@string/permlab_factoryTest" }, "android.permission.BROADCAST_PACKAGE_REMOVED": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_broadcastPackageRemoved", "protectionLevel": "signature", "label": "@string/permlab_broadcastPackageRemoved" }, "android.permission.BROADCAST_SMS": { "permissionGroup": "android.permission-group.MESSAGES", "description": "@string/permdesc_broadcastSmsReceived", "protectionLevel": "signature", "label": "@string/permlab_broadcastSmsReceived" }, "android.permission.BROADCAST_WAP_PUSH": { "permissionGroup": "android.permission-group.MESSAGES", "description": "@string/permdesc_broadcastWapPush", "protectionLevel": "signature", "label": "@string/permlab_broadcastWapPush" }, "android.permission.MASTER_CLEAR": { "permissionGroup": "", "description": "@string/permdesc_masterClear", "protectionLevel": "signature|system", "label": "@string/permlab_masterClear" }, "android.permission.CALL_PRIVILEGED": { "permissionGroup": "", "description": "@string/permdesc_callPrivileged", "protectionLevel": "signature|system", "label": "@string/permlab_callPrivileged" }, "android.permission.PERFORM_CDMA_PROVISIONING": { "permissionGroup": "", "description": "@string/permdesc_performCdmaProvisioning", "protectionLevel": "signature|system", "label": "@string/permlab_performCdmaProvisioning" }, "android.permission.CONTROL_LOCATION_UPDATES": { "permissionGroup": "", "description": "@string/permdesc_locationUpdates", "protectionLevel": "signature|system", "label": "@string/permlab_locationUpdates" }, "android.permission.ACCESS_CHECKIN_PROPERTIES": { "permissionGroup": "", "description": "@string/permdesc_checkinProperties", "protectionLevel": "signature|system", "label": "@string/permlab_checkinProperties" }, "android.permission.PACKAGE_USAGE_STATS": { "permissionGroup": "", "description": "@string/permdesc_pkgUsageStats", "protectionLevel": "signature|system", "label": "@string/permlab_pkgUsageStats" }, "android.permission.BATTERY_STATS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_batteryStats", "protectionLevel": "dangerous", "label": "@string/permlab_batteryStats" }, "android.permission.BACKUP": { "permissionGroup": "", "description": "@string/permdesc_backup", "protectionLevel": "signature|system", "label": "@string/permlab_backup" }, "android.permission.CONFIRM_FULL_BACKUP": { "permissionGroup": "", "description": "@string/permdesc_confirm_full_backup", "protectionLevel": "signature", "label": "@string/permlab_confirm_full_backup" }, "android.permission.BIND_REMOTEVIEWS": { "permissionGroup": "", "description": "@string/permdesc_bindRemoteViews", "protectionLevel": "signature|system", "label": "@string/permlab_bindRemoteViews" }, "android.permission.BIND_APPWIDGET": { "permissionGroup": "android.permission-group.PERSONAL_INFO", "description": "@string/permdesc_bindGadget", "protectionLevel": "signature|system", "label": "@string/permlab_bindGadget" }, "android.permission.BIND_KEYGUARD_APPWIDGET": { "permissionGroup": "android.permission-group.PERSONAL_INFO", "description": "", "protectionLevel": "signature|system", "label": "" }, "android.permission.MODIFY_APPWIDGET_BIND_PERMISSIONS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "", "protectionLevel": "signature|system", "label": "" }, "android.permission.CHANGE_BACKGROUND_DATA_SETTING": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_changeBackgroundDataSetting", "protectionLevel": "signature", "label": "@string/permlab_changeBackgroundDataSetting" }, "android.permission.GLOBAL_SEARCH": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "", "protectionLevel": "signature|system", "label": "" }, "android.permission.GLOBAL_SEARCH_CONTROL": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.SET_WALLPAPER_COMPONENT": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "", "protectionLevel": "signature|system", "label": "" }, "android.permission.READ_DREAM_STATE": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.WRITE_DREAM_STATE": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.ACCESS_CACHE_FILESYSTEM": { "permissionGroup": "", "description": "@string/permdesc_cache_filesystem", "protectionLevel": "signature|system", "label": "@string/permlab_cache_filesystem" }, "android.permission.COPY_PROTECTED_DATA": { "permissionGroup": "", "description": "@string/permlab_copyProtectedData", "protectionLevel": "signature", "label": "@string/permlab_copyProtectedData" }, "android.permission.CRYPT_KEEPER": { "permissionGroup": "", "description": "", "protectionLevel": "signature|system", "label": "" }, "android.permission.READ_NETWORK_USAGE_HISTORY": { "permissionGroup": "", "description": "@string/permdesc_readNetworkUsageHistory", "protectionLevel": "signature|system", "label": "@string/permlab_readNetworkUsageHistory" }, "android.permission.MANAGE_NETWORK_POLICY": { "permissionGroup": "", "description": "@string/permdesc_manageNetworkPolicy", "protectionLevel": "signature", "label": "@string/permlab_manageNetworkPolicy" }, "android.permission.MODIFY_NETWORK_ACCOUNTING": { "permissionGroup": "", "description": "@string/permdesc_modifyNetworkAccounting", "protectionLevel": "signature|system", "label": "@string/permlab_modifyNetworkAccounting" }, "android.intent.category.MASTER_CLEAR.permission.C2D_MESSAGE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.PACKAGE_VERIFICATION_AGENT": { "permissionGroup": "", "description": "@string/permdesc_packageVerificationAgent", "protectionLevel": "signature|system", "label": "@string/permlab_packageVerificationAgent" }, "android.permission.BIND_PACKAGE_VERIFIER": { "permissionGroup": "", "description": "@string/permdesc_bindPackageVerifier", "protectionLevel": "signature", "label": "@string/permlab_bindPackageVerifier" }, "android.permission.SERIAL_PORT": { "permissionGroup": "", "description": "@string/permdesc_serialPort", "protectionLevel": "signature|system", "label": "@string/permlab_serialPort" }, "android.permission.ACCESS_CONTENT_PROVIDERS_EXTERNALLY": { "permissionGroup": "", "description": "@string/permdesc_accessContentProvidersExternally", "protectionLevel": "signature", "label": "@string/permlab_accessContentProvidersExternally" }, "android.permission.UPDATE_LOCK": { "permissionGroup": "", "description": "@string/permdesc_updateLock", "protectionLevel": "signatureOrSystem", "label": "@string/permlab_updateLock" }, "android.permission.ACCESS_NOTIFICATIONS": { "permissionGroup": "", "description": "@string/permdesc_accessNotifications", "protectionLevel": "signature|system", "label": "@string/permlab_accessNotifications" }, "android.permission.BIND_NOTIFICATION_LISTENER_SERVICE": { "permissionGroup": "", "description": "@string/permdesc_bindNotificationListenerService", "protectionLevel": "signature", "label": "@string/permlab_bindNotificationListenerService" }, "android.permission.ACCESS_BLUETOOTH_SHARE": { "permissionGroup": "", "description": "@string/permdesc_bluetoothShareManager", "protectionLevel": "signature", "label": "@string/permlab_bluetoothShareManager" }, "com.android.permission.WHITELIST_BLUETOOTH_DEVICE": { "permissionGroup": "", "description": "@string/permdesc_bluetoothWhitelist", "protectionLevel": "signature", "label": "@string/permlab_bluetoothWhitelist" }, "com.android.permission.HANDOVER_STATUS": { "permissionGroup": "", "description": "@string/permdesc_handoverStatus", "protectionLevel": "signature", "label": "@string/permlab_handoverStatus" }, "com.android.browser.permission.PRELOAD": { "permissionGroup": "", "description": "", "protectionLevel": "signatureOrSystem", "label": "@string/permission_preload_label" }, "com.android.email.permission.READ_ATTACHMENT": { "permissionGroup": "android.permission-group.MESSAGES", "description": "@string/permission_read_attachment_desc", "protectionLevel": "dangerous", "label": "@string/permission_read_attachment_label" }, "com.android.email.permission.ACCESS_PROVIDER": { "permissionGroup": "", "description": "@string/permission_access_provider_desc", "protectionLevel": "signature", "label": "@string/permission_access_provider_label" }, "com.android.gallery3d.permission.GALLERY_PROVIDER": { "permissionGroup": "", "description": "", "protectionLevel": "signatureOrSystem", "label": "" }, "com.android.launcher.permission.PRELOAD_WORKSPACE": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "", "protectionLevel": "system|signature", "label": "" }, "com.android.launcher.permission.INSTALL_SHORTCUT": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_install_shortcut", "protectionLevel": "dangerous", "label": "@string/permlab_install_shortcut" }, "com.android.launcher.permission.UNINSTALL_SHORTCUT": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_uninstall_shortcut", "protectionLevel": "dangerous", "label": "@string/permlab_uninstall_shortcut" }, "com.android.launcher.permission.READ_SETTINGS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_read_settings", "protectionLevel": "normal", "label": "@string/permlab_read_settings" }, "com.android.launcher.permission.WRITE_SETTINGS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_write_settings", "protectionLevel": "normal", "label": "@string/permlab_write_settings" }, "com.android.voicemail.permission.READ_WRITE_ALL_VOICEMAIL": { "permissionGroup": "android.permission-group.PERSONAL_INFO", "description": "@string/read_write_all_voicemail_description", "protectionLevel": "signature", "label": "@string/read_write_all_voicemail_label" }, "android.permission.ACCESS_DOWNLOAD_MANAGER": { "permissionGroup": "", "description": "@string/permdesc_downloadManager", "protectionLevel": "signatureOrSystem", "label": "@string/permlab_downloadManager" }, "android.permission.ACCESS_DOWNLOAD_MANAGER_ADVANCED": { "permissionGroup": "", "description": "@string/permdesc_downloadManagerAdvanced", "protectionLevel": "signatureOrSystem", "label": "@string/permlab_downloadManagerAdvanced" }, "android.permission.SEND_DOWNLOAD_COMPLETED_INTENTS": { "permissionGroup": "", "description": "@string/permdesc_downloadCompletedIntent", "protectionLevel": "signature", "label": "@string/permlab_downloadCompletedIntent" }, "android.permission.DOWNLOAD_CACHE_NON_PURGEABLE": { "permissionGroup": "", "description": "@string/permdesc_downloadCacheNonPurgeable", "protectionLevel": "signatureOrSystem", "label": "@string/permlab_downloadCacheNonPurgeable" }, "android.permission.DOWNLOAD_WITHOUT_NOTIFICATION": { "permissionGroup": "android.permission-group.NETWORK", "description": "@string/permdesc_downloadWithoutNotification", "protectionLevel": "normal", "label": "@string/permlab_downloadWithoutNotification" }, "android.permission.ACCESS_ALL_DOWNLOADS": { "permissionGroup": "", "description": "@string/permdesc_accessAllDownloads", "protectionLevel": "signature", "label": "@string/permlab_accessAllDownloads" }, "android.permission.ACCESS_DRM": { "permissionGroup": "", "description": "@string/permdesc_accessDrm", "protectionLevel": "signature", "label": "@string/permlab_accessDrm" }, "android.permission.INSTALL_DRM": { "permissionGroup": "", "description": "@string/permdesc_installDrm", "protectionLevel": "normal", "label": "@string/permlab_installDrm" } }androguard-3.1.0-rc2/androguard/core/api_specific_resources/aosp_permissions/permissions_19.json000066400000000000000000001756161324327352200333120ustar00rootroot00000000000000{ "android.permission.SEND_SMS": { "permissionGroup": "android.permission-group.MESSAGES", "description": "@string/permdesc_sendSms", "protectionLevel": "dangerous", "label": "@string/permlab_sendSms" }, "android.permission.SEND_RESPOND_VIA_MESSAGE": { "permissionGroup": "android.permission-group.MESSAGES", "description": "@string/permdesc_sendRespondViaMessageRequest", "protectionLevel": "signature|system", "label": "@string/permlab_sendRespondViaMessageRequest" }, "android.permission.RECEIVE_SMS": { "permissionGroup": "android.permission-group.MESSAGES", "description": "@string/permdesc_receiveSms", "protectionLevel": "dangerous", "label": "@string/permlab_receiveSms" }, "android.permission.RECEIVE_MMS": { "permissionGroup": "android.permission-group.MESSAGES", "description": "@string/permdesc_receiveMms", "protectionLevel": "dangerous", "label": "@string/permlab_receiveMms" }, "android.permission.RECEIVE_EMERGENCY_BROADCAST": { "permissionGroup": "android.permission-group.MESSAGES", "description": "@string/permdesc_receiveEmergencyBroadcast", "protectionLevel": "signature|system", "label": "@string/permlab_receiveEmergencyBroadcast" }, "android.permission.READ_CELL_BROADCASTS": { "permissionGroup": "android.permission-group.MESSAGES", "description": "@string/permdesc_readCellBroadcasts", "protectionLevel": "dangerous", "label": "@string/permlab_readCellBroadcasts" }, "android.permission.READ_SMS": { "permissionGroup": "android.permission-group.MESSAGES", "description": "@string/permdesc_readSms", "protectionLevel": "dangerous", "label": "@string/permlab_readSms" }, "android.permission.WRITE_SMS": { "permissionGroup": "android.permission-group.MESSAGES", "description": "@string/permdesc_writeSms", "protectionLevel": "dangerous", "label": "@string/permlab_writeSms" }, "android.permission.RECEIVE_WAP_PUSH": { "permissionGroup": "android.permission-group.MESSAGES", "description": "@string/permdesc_receiveWapPush", "protectionLevel": "dangerous", "label": "@string/permlab_receiveWapPush" }, "android.permission.READ_CONTACTS": { "permissionGroup": "android.permission-group.SOCIAL_INFO", "description": "@string/permdesc_readContacts", "protectionLevel": "dangerous", "label": "@string/permlab_readContacts" }, "android.permission.WRITE_CONTACTS": { "permissionGroup": "android.permission-group.SOCIAL_INFO", "description": "@string/permdesc_writeContacts", "protectionLevel": "dangerous", "label": "@string/permlab_writeContacts" }, "android.permission.BIND_DIRECTORY_SEARCH": { "permissionGroup": "android.permission-group.PERSONAL_INFO", "description": "", "protectionLevel": "signature|system", "label": "" }, "android.permission.READ_CALL_LOG": { "permissionGroup": "android.permission-group.SOCIAL_INFO", "description": "@string/permdesc_readCallLog", "protectionLevel": "dangerous", "label": "@string/permlab_readCallLog" }, "android.permission.WRITE_CALL_LOG": { "permissionGroup": "android.permission-group.SOCIAL_INFO", "description": "@string/permdesc_writeCallLog", "protectionLevel": "dangerous", "label": "@string/permlab_writeCallLog" }, "android.permission.READ_SOCIAL_STREAM": { "permissionGroup": "android.permission-group.SOCIAL_INFO", "description": "@string/permdesc_readSocialStream", "protectionLevel": "dangerous", "label": "@string/permlab_readSocialStream" }, "android.permission.WRITE_SOCIAL_STREAM": { "permissionGroup": "android.permission-group.SOCIAL_INFO", "description": "@string/permdesc_writeSocialStream", "protectionLevel": "dangerous", "label": "@string/permlab_writeSocialStream" }, "android.permission.READ_PROFILE": { "permissionGroup": "android.permission-group.PERSONAL_INFO", "description": "@string/permdesc_readProfile", "protectionLevel": "dangerous", "label": "@string/permlab_readProfile" }, "android.permission.WRITE_PROFILE": { "permissionGroup": "android.permission-group.PERSONAL_INFO", "description": "@string/permdesc_writeProfile", "protectionLevel": "dangerous", "label": "@string/permlab_writeProfile" }, "android.permission.READ_CALENDAR": { "permissionGroup": "android.permission-group.PERSONAL_INFO", "description": "@string/permdesc_readCalendar", "protectionLevel": "dangerous", "label": "@string/permlab_readCalendar" }, "android.permission.WRITE_CALENDAR": { "permissionGroup": "android.permission-group.PERSONAL_INFO", "description": "@string/permdesc_writeCalendar", "protectionLevel": "dangerous", "label": "@string/permlab_writeCalendar" }, "android.permission.READ_USER_DICTIONARY": { "permissionGroup": "android.permission-group.USER_DICTIONARY", "description": "@string/permdesc_readDictionary", "protectionLevel": "dangerous", "label": "@string/permlab_readDictionary" }, "android.permission.WRITE_USER_DICTIONARY": { "permissionGroup": "android.permission-group.WRITE_USER_DICTIONARY", "description": "@string/permdesc_writeDictionary", "protectionLevel": "normal", "label": "@string/permlab_writeDictionary" }, "com.android.browser.permission.READ_HISTORY_BOOKMARKS": { "permissionGroup": "android.permission-group.BOOKMARKS", "description": "@string/permdesc_readHistoryBookmarks", "protectionLevel": "dangerous", "label": "@string/permlab_readHistoryBookmarks" }, "com.android.browser.permission.WRITE_HISTORY_BOOKMARKS": { "permissionGroup": "android.permission-group.BOOKMARKS", "description": "@string/permdesc_writeHistoryBookmarks", "protectionLevel": "dangerous", "label": "@string/permlab_writeHistoryBookmarks" }, "com.android.alarm.permission.SET_ALARM": { "permissionGroup": "android.permission-group.DEVICE_ALARMS", "description": "@string/permdesc_setAlarm", "protectionLevel": "normal", "label": "@string/permlab_setAlarm" }, "com.android.voicemail.permission.ADD_VOICEMAIL": { "permissionGroup": "android.permission-group.VOICEMAIL", "description": "@string/permdesc_addVoicemail", "protectionLevel": "dangerous", "label": "@string/permlab_addVoicemail" }, "android.permission.ACCESS_FINE_LOCATION": { "permissionGroup": "android.permission-group.LOCATION", "description": "@string/permdesc_accessFineLocation", "protectionLevel": "dangerous", "label": "@string/permlab_accessFineLocation" }, "android.permission.ACCESS_COARSE_LOCATION": { "permissionGroup": "android.permission-group.LOCATION", "description": "@string/permdesc_accessCoarseLocation", "protectionLevel": "dangerous", "label": "@string/permlab_accessCoarseLocation" }, "android.permission.ACCESS_MOCK_LOCATION": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_accessMockLocation", "protectionLevel": "dangerous", "label": "@string/permlab_accessMockLocation" }, "android.permission.ACCESS_LOCATION_EXTRA_COMMANDS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_accessLocationExtraCommands", "protectionLevel": "normal", "label": "@string/permlab_accessLocationExtraCommands" }, "android.permission.INSTALL_LOCATION_PROVIDER": { "permissionGroup": "", "description": "@string/permdesc_installLocationProvider", "protectionLevel": "signature|system", "label": "@string/permlab_installLocationProvider" }, "android.permission.LOCATION_HARDWARE": { "permissionGroup": "android.permission-group.LOCATION", "description": "", "protectionLevel": "signature|system", "label": "" }, "android.permission.INTERNET": { "permissionGroup": "android.permission-group.NETWORK", "description": "@string/permdesc_createNetworkSockets", "protectionLevel": "dangerous", "label": "@string/permlab_createNetworkSockets" }, "android.permission.ACCESS_NETWORK_STATE": { "permissionGroup": "android.permission-group.NETWORK", "description": "@string/permdesc_accessNetworkState", "protectionLevel": "normal", "label": "@string/permlab_accessNetworkState" }, "android.permission.ACCESS_WIFI_STATE": { "permissionGroup": "android.permission-group.NETWORK", "description": "@string/permdesc_accessWifiState", "protectionLevel": "normal", "label": "@string/permlab_accessWifiState" }, "android.permission.CHANGE_WIFI_STATE": { "permissionGroup": "android.permission-group.NETWORK", "description": "@string/permdesc_changeWifiState", "protectionLevel": "dangerous", "label": "@string/permlab_changeWifiState" }, "android.permission.ACCESS_WIMAX_STATE": { "permissionGroup": "android.permission-group.NETWORK", "description": "@string/permdesc_accessWimaxState", "protectionLevel": "normal", "label": "@string/permlab_accessWimaxState" }, "android.permission.CHANGE_WIMAX_STATE": { "permissionGroup": "android.permission-group.NETWORK", "description": "@string/permdesc_changeWimaxState", "protectionLevel": "dangerous", "label": "@string/permlab_changeWimaxState" }, "android.permission.BLUETOOTH": { "permissionGroup": "android.permission-group.BLUETOOTH_NETWORK", "description": "@string/permdesc_bluetooth", "protectionLevel": "dangerous", "label": "@string/permlab_bluetooth" }, "android.permission.BLUETOOTH_ADMIN": { "permissionGroup": "android.permission-group.BLUETOOTH_NETWORK", "description": "@string/permdesc_bluetoothAdmin", "protectionLevel": "dangerous", "label": "@string/permlab_bluetoothAdmin" }, "android.permission.BLUETOOTH_PRIVILEGED": { "permissionGroup": "android.permission-group.BLUETOOTH_NETWORK", "description": "@string/permdesc_bluetoothPriv", "protectionLevel": "system|signature", "label": "@string/permlab_bluetoothPriv" }, "android.permission.BLUETOOTH_STACK": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.NFC": { "permissionGroup": "android.permission-group.NETWORK", "description": "@string/permdesc_nfc", "protectionLevel": "dangerous", "label": "@string/permlab_nfc" }, "android.permission.CONNECTIVITY_INTERNAL": { "permissionGroup": "android.permission-group.NETWORK", "description": "", "protectionLevel": "signature|system", "label": "" }, "android.permission.RECEIVE_DATA_ACTIVITY_CHANGE": { "permissionGroup": "android.permission-group.NETWORK", "description": "", "protectionLevel": "signature|system", "label": "" }, "android.permission.LOOP_RADIO": { "permissionGroup": "android.permission-group.NETWORK", "description": "", "protectionLevel": "signature|system", "label": "" }, "android.permission.GET_ACCOUNTS": { "permissionGroup": "android.permission-group.ACCOUNTS", "description": "@string/permdesc_getAccounts", "protectionLevel": "normal", "label": "@string/permlab_getAccounts" }, "android.permission.AUTHENTICATE_ACCOUNTS": { "permissionGroup": "android.permission-group.ACCOUNTS", "description": "@string/permdesc_authenticateAccounts", "protectionLevel": "dangerous", "label": "@string/permlab_authenticateAccounts" }, "android.permission.USE_CREDENTIALS": { "permissionGroup": "android.permission-group.ACCOUNTS", "description": "@string/permdesc_useCredentials", "protectionLevel": "dangerous", "label": "@string/permlab_useCredentials" }, "android.permission.MANAGE_ACCOUNTS": { "permissionGroup": "android.permission-group.ACCOUNTS", "description": "@string/permdesc_manageAccounts", "protectionLevel": "dangerous", "label": "@string/permlab_manageAccounts" }, "android.permission.ACCOUNT_MANAGER": { "permissionGroup": "android.permission-group.ACCOUNTS", "description": "@string/permdesc_accountManagerService", "protectionLevel": "signature", "label": "@string/permlab_accountManagerService" }, "android.permission.CHANGE_WIFI_MULTICAST_STATE": { "permissionGroup": "android.permission-group.AFFECTS_BATTERY", "description": "@string/permdesc_changeWifiMulticastState", "protectionLevel": "dangerous", "label": "@string/permlab_changeWifiMulticastState" }, "android.permission.VIBRATE": { "permissionGroup": "android.permission-group.AFFECTS_BATTERY", "description": "@string/permdesc_vibrate", "protectionLevel": "normal", "label": "@string/permlab_vibrate" }, "android.permission.FLASHLIGHT": { "permissionGroup": "android.permission-group.AFFECTS_BATTERY", "description": "@string/permdesc_flashlight", "protectionLevel": "normal", "label": "@string/permlab_flashlight" }, "android.permission.WAKE_LOCK": { "permissionGroup": "android.permission-group.AFFECTS_BATTERY", "description": "@string/permdesc_wakeLock", "protectionLevel": "normal", "label": "@string/permlab_wakeLock" }, "android.permission.TRANSMIT_IR": { "permissionGroup": "android.permission-group.AFFECTS_BATTERY", "description": "@string/permdesc_transmitIr", "protectionLevel": "normal", "label": "@string/permlab_transmitIr" }, "android.permission.MODIFY_AUDIO_SETTINGS": { "permissionGroup": "android.permission-group.AUDIO_SETTINGS", "description": "@string/permdesc_modifyAudioSettings", "protectionLevel": "normal", "label": "@string/permlab_modifyAudioSettings" }, "android.permission.MANAGE_USB": { "permissionGroup": "android.permission-group.HARDWARE_CONTROLS", "description": "@string/permdesc_manageUsb", "protectionLevel": "signature|system", "label": "@string/permlab_manageUsb" }, "android.permission.ACCESS_MTP": { "permissionGroup": "android.permission-group.HARDWARE_CONTROLS", "description": "@string/permdesc_accessMtp", "protectionLevel": "signature|system", "label": "@string/permlab_accessMtp" }, "android.permission.HARDWARE_TEST": { "permissionGroup": "android.permission-group.HARDWARE_CONTROLS", "description": "@string/permdesc_hardware_test", "protectionLevel": "signature", "label": "@string/permlab_hardware_test" }, "android.permission.NET_ADMIN": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.REMOTE_AUDIO_PLAYBACK": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.RECORD_AUDIO": { "permissionGroup": "android.permission-group.MICROPHONE", "description": "@string/permdesc_recordAudio", "protectionLevel": "dangerous", "label": "@string/permlab_recordAudio" }, "android.permission.CAMERA": { "permissionGroup": "android.permission-group.CAMERA", "description": "@string/permdesc_camera", "protectionLevel": "dangerous", "label": "@string/permlab_camera" }, "android.permission.CAMERA_DISABLE_TRANSMIT_LED": { "permissionGroup": "android.permission-group.CAMERA", "description": "@string/permdesc_cameraDisableTransmitLed", "protectionLevel": "signature|system", "label": "@string/permlab_cameraDisableTransmitLed" }, "android.permission.PROCESS_OUTGOING_CALLS": { "permissionGroup": "android.permission-group.PHONE_CALLS", "description": "@string/permdesc_processOutgoingCalls", "protectionLevel": "dangerous", "label": "@string/permlab_processOutgoingCalls" }, "android.permission.MODIFY_PHONE_STATE": { "permissionGroup": "android.permission-group.PHONE_CALLS", "description": "@string/permdesc_modifyPhoneState", "protectionLevel": "signature|system", "label": "@string/permlab_modifyPhoneState" }, "android.permission.READ_PHONE_STATE": { "permissionGroup": "android.permission-group.PHONE_CALLS", "description": "@string/permdesc_readPhoneState", "protectionLevel": "dangerous", "label": "@string/permlab_readPhoneState" }, "android.permission.READ_PRIVILEGED_PHONE_STATE": { "permissionGroup": "android.permission-group.PHONE_CALLS", "description": "", "protectionLevel": "signature|system", "label": "" }, "android.permission.CALL_PHONE": { "permissionGroup": "android.permission-group.PHONE_CALLS", "description": "@string/permdesc_callPhone", "protectionLevel": "dangerous", "label": "@string/permlab_callPhone" }, "android.permission.USE_SIP": { "permissionGroup": "android.permission-group.PHONE_CALLS", "description": "@string/permdesc_use_sip", "protectionLevel": "dangerous", "label": "@string/permlab_use_sip" }, "android.permission.BIND_CALL_SERVICE": { "permissionGroup": "android.permission-group.PHONE_CALLS", "description": "@string/permdesc_bind_call_service", "protectionLevel": "system|signature", "label": "@string/permlab_bind_call_service" }, "android.permission.READ_EXTERNAL_STORAGE": { "permissionGroup": "android.permission-group.STORAGE", "description": "@string/permdesc_sdcardRead", "protectionLevel": "normal", "label": "@string/permlab_sdcardRead" }, "android.permission.WRITE_EXTERNAL_STORAGE": { "permissionGroup": "android.permission-group.STORAGE", "description": "@string/permdesc_sdcardWrite", "protectionLevel": "dangerous", "label": "@string/permlab_sdcardWrite" }, "android.permission.WRITE_MEDIA_STORAGE": { "permissionGroup": "android.permission-group.STORAGE", "description": "@string/permdesc_mediaStorageWrite", "protectionLevel": "signature|system", "label": "@string/permlab_mediaStorageWrite" }, "android.permission.MANAGE_DOCUMENTS": { "permissionGroup": "android.permission-group.STORAGE", "description": "@string/permdesc_manageDocs", "protectionLevel": "signature", "label": "@string/permlab_manageDocs" }, "android.permission.DISABLE_KEYGUARD": { "permissionGroup": "android.permission-group.SCREENLOCK", "description": "@string/permdesc_disableKeyguard", "protectionLevel": "dangerous", "label": "@string/permlab_disableKeyguard" }, "android.permission.GET_TASKS": { "permissionGroup": "android.permission-group.APP_INFO", "description": "@string/permdesc_getTasks", "protectionLevel": "dangerous", "label": "@string/permlab_getTasks" }, "android.permission.INTERACT_ACROSS_USERS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_interactAcrossUsers", "protectionLevel": "signature|system|development", "label": "@string/permlab_interactAcrossUsers" }, "android.permission.INTERACT_ACROSS_USERS_FULL": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_interactAcrossUsersFull", "protectionLevel": "signature", "label": "@string/permlab_interactAcrossUsersFull" }, "android.permission.MANAGE_USERS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_manageUsers", "protectionLevel": "signature|system", "label": "@string/permlab_manageUsers" }, "android.permission.GET_DETAILED_TASKS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_getDetailedTasks", "protectionLevel": "signature", "label": "@string/permlab_getDetailedTasks" }, "android.permission.REORDER_TASKS": { "permissionGroup": "android.permission-group.APP_INFO", "description": "@string/permdesc_reorderTasks", "protectionLevel": "normal", "label": "@string/permlab_reorderTasks" }, "android.permission.REMOVE_TASKS": { "permissionGroup": "android.permission-group.APP_INFO", "description": "@string/permdesc_removeTasks", "protectionLevel": "signature", "label": "@string/permlab_removeTasks" }, "android.permission.MANAGE_ACTIVITY_STACKS": { "permissionGroup": "android.permission-group.APP_INFO", "description": "@string/permdesc_manageActivityStacks", "protectionLevel": "signature", "label": "@string/permlab_manageActivityStacks" }, "android.permission.START_ANY_ACTIVITY": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_startAnyActivity", "protectionLevel": "signature", "label": "@string/permlab_startAnyActivity" }, "android.permission.RESTART_PACKAGES": { "permissionGroup": "android.permission-group.APP_INFO", "description": "@string/permdesc_killBackgroundProcesses", "protectionLevel": "normal", "label": "@string/permlab_killBackgroundProcesses" }, "android.permission.KILL_BACKGROUND_PROCESSES": { "permissionGroup": "android.permission-group.APP_INFO", "description": "@string/permdesc_killBackgroundProcesses", "protectionLevel": "normal", "label": "@string/permlab_killBackgroundProcesses" }, "android.permission.SYSTEM_ALERT_WINDOW": { "permissionGroup": "android.permission-group.DISPLAY", "description": "@string/permdesc_systemAlertWindow", "protectionLevel": "dangerous", "label": "@string/permlab_systemAlertWindow" }, "android.permission.SET_WALLPAPER": { "permissionGroup": "android.permission-group.WALLPAPER", "description": "@string/permdesc_setWallpaper", "protectionLevel": "normal", "label": "@string/permlab_setWallpaper" }, "android.permission.SET_WALLPAPER_HINTS": { "permissionGroup": "android.permission-group.WALLPAPER", "description": "@string/permdesc_setWallpaperHints", "protectionLevel": "normal", "label": "@string/permlab_setWallpaperHints" }, "android.permission.SET_TIME": { "permissionGroup": "", "description": "@string/permdesc_setTime", "protectionLevel": "signature|system", "label": "@string/permlab_setTime" }, "android.permission.SET_TIME_ZONE": { "permissionGroup": "android.permission-group.SYSTEM_CLOCK", "description": "@string/permdesc_setTimeZone", "protectionLevel": "normal", "label": "@string/permlab_setTimeZone" }, "android.permission.EXPAND_STATUS_BAR": { "permissionGroup": "android.permission-group.STATUS_BAR", "description": "@string/permdesc_expandStatusBar", "protectionLevel": "normal", "label": "@string/permlab_expandStatusBar" }, "com.android.launcher.permission.INSTALL_SHORTCUT": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_install_shortcut", "protectionLevel": "dangerous", "label": "@string/permlab_install_shortcut" }, "com.android.launcher.permission.UNINSTALL_SHORTCUT": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_uninstall_shortcut", "protectionLevel": "dangerous", "label": "@string/permlab_uninstall_shortcut" }, "android.permission.READ_SYNC_SETTINGS": { "permissionGroup": "android.permission-group.SYNC_SETTINGS", "description": "@string/permdesc_readSyncSettings", "protectionLevel": "normal", "label": "@string/permlab_readSyncSettings" }, "android.permission.WRITE_SYNC_SETTINGS": { "permissionGroup": "android.permission-group.SYNC_SETTINGS", "description": "@string/permdesc_writeSyncSettings", "protectionLevel": "normal", "label": "@string/permlab_writeSyncSettings" }, "android.permission.READ_SYNC_STATS": { "permissionGroup": "android.permission-group.SYNC_SETTINGS", "description": "@string/permdesc_readSyncStats", "protectionLevel": "normal", "label": "@string/permlab_readSyncStats" }, "android.permission.SET_SCREEN_COMPATIBILITY": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_setScreenCompatibility", "protectionLevel": "signature", "label": "@string/permlab_setScreenCompatibility" }, "android.permission.ACCESS_ALL_EXTERNAL_STORAGE": { "permissionGroup": "android.permission-group.DEVELOPMENT_TOOLS", "description": "@string/permdesc_sdcardAccessAll", "protectionLevel": "signature", "label": "@string/permlab_sdcardAccessAll" }, "android.permission.CHANGE_CONFIGURATION": { "permissionGroup": "android.permission-group.DEVELOPMENT_TOOLS", "description": "@string/permdesc_changeConfiguration", "protectionLevel": "signature|system|development", "label": "@string/permlab_changeConfiguration" }, "android.permission.WRITE_SETTINGS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_writeSettings", "protectionLevel": "normal", "label": "@string/permlab_writeSettings" }, "android.permission.WRITE_GSERVICES": { "permissionGroup": "", "description": "@string/permdesc_writeGservices", "protectionLevel": "signature|system", "label": "@string/permlab_writeGservices" }, "android.permission.FORCE_STOP_PACKAGES": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_forceStopPackages", "protectionLevel": "signature|system", "label": "@string/permlab_forceStopPackages" }, "android.permission.RETRIEVE_WINDOW_CONTENT": { "permissionGroup": "android.permission-group.PERSONAL_INFO", "description": "@string/permdesc_retrieve_window_content", "protectionLevel": "signature|system", "label": "@string/permlab_retrieve_window_content" }, "android.permission.SET_ANIMATION_SCALE": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_setAnimationScale", "protectionLevel": "signature|system|development", "label": "@string/permlab_setAnimationScale" }, "android.permission.PERSISTENT_ACTIVITY": { "permissionGroup": "android.permission-group.APP_INFO", "description": "@string/permdesc_persistentActivity", "protectionLevel": "normal", "label": "@string/permlab_persistentActivity" }, "android.permission.GET_PACKAGE_SIZE": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_getPackageSize", "protectionLevel": "normal", "label": "@string/permlab_getPackageSize" }, "android.permission.SET_PREFERRED_APPLICATIONS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_setPreferredApplications", "protectionLevel": "signature", "label": "@string/permlab_setPreferredApplications" }, "android.permission.RECEIVE_BOOT_COMPLETED": { "permissionGroup": "android.permission-group.APP_INFO", "description": "@string/permdesc_receiveBootCompleted", "protectionLevel": "normal", "label": "@string/permlab_receiveBootCompleted" }, "android.permission.BROADCAST_STICKY": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_broadcastSticky", "protectionLevel": "normal", "label": "@string/permlab_broadcastSticky" }, "android.permission.MOUNT_UNMOUNT_FILESYSTEMS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_mount_unmount_filesystems", "protectionLevel": "system|signature", "label": "@string/permlab_mount_unmount_filesystems" }, "android.permission.MOUNT_FORMAT_FILESYSTEMS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_mount_format_filesystems", "protectionLevel": "system|signature", "label": "@string/permlab_mount_format_filesystems" }, "android.permission.ASEC_ACCESS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_asec_access", "protectionLevel": "signature", "label": "@string/permlab_asec_access" }, "android.permission.ASEC_CREATE": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_asec_create", "protectionLevel": "signature", "label": "@string/permlab_asec_create" }, "android.permission.ASEC_DESTROY": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_asec_destroy", "protectionLevel": "signature", "label": "@string/permlab_asec_destroy" }, "android.permission.ASEC_MOUNT_UNMOUNT": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_asec_mount_unmount", "protectionLevel": "signature", "label": "@string/permlab_asec_mount_unmount" }, "android.permission.ASEC_RENAME": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_asec_rename", "protectionLevel": "signature", "label": "@string/permlab_asec_rename" }, "android.permission.WRITE_APN_SETTINGS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_writeApnSettings", "protectionLevel": "signature|system", "label": "@string/permlab_writeApnSettings" }, "android.permission.SUBSCRIBED_FEEDS_READ": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_subscribedFeedsRead", "protectionLevel": "normal", "label": "@string/permlab_subscribedFeedsRead" }, "android.permission.SUBSCRIBED_FEEDS_WRITE": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_subscribedFeedsWrite", "protectionLevel": "dangerous", "label": "@string/permlab_subscribedFeedsWrite" }, "android.permission.CHANGE_NETWORK_STATE": { "permissionGroup": "android.permission-group.NETWORK", "description": "@string/permdesc_changeNetworkState", "protectionLevel": "normal", "label": "@string/permlab_changeNetworkState" }, "android.permission.CLEAR_APP_CACHE": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_clearAppCache", "protectionLevel": "dangerous", "label": "@string/permlab_clearAppCache" }, "android.permission.ALLOW_ANY_CODEC_FOR_PLAYBACK": { "permissionGroup": "", "description": "@string/permdesc_anyCodecForPlayback", "protectionLevel": "signature|system", "label": "@string/permlab_anyCodecForPlayback" }, "android.permission.MANAGE_CA_CERTIFICATES": { "permissionGroup": "", "description": "@string/permdesc_manageCaCertificates", "protectionLevel": "signature|system", "label": "@string/permlab_manageCaCertificates" }, "android.permission.WRITE_SECURE_SETTINGS": { "permissionGroup": "android.permission-group.DEVELOPMENT_TOOLS", "description": "@string/permdesc_writeSecureSettings", "protectionLevel": "signature|system|development", "label": "@string/permlab_writeSecureSettings" }, "android.permission.DUMP": { "permissionGroup": "android.permission-group.DEVELOPMENT_TOOLS", "description": "@string/permdesc_dump", "protectionLevel": "signature|system|development", "label": "@string/permlab_dump" }, "android.permission.READ_LOGS": { "permissionGroup": "android.permission-group.DEVELOPMENT_TOOLS", "description": "@string/permdesc_readLogs", "protectionLevel": "signature|system|development", "label": "@string/permlab_readLogs" }, "android.permission.SET_DEBUG_APP": { "permissionGroup": "android.permission-group.DEVELOPMENT_TOOLS", "description": "@string/permdesc_setDebugApp", "protectionLevel": "signature|system|development", "label": "@string/permlab_setDebugApp" }, "android.permission.SET_PROCESS_LIMIT": { "permissionGroup": "android.permission-group.DEVELOPMENT_TOOLS", "description": "@string/permdesc_setProcessLimit", "protectionLevel": "signature|system|development", "label": "@string/permlab_setProcessLimit" }, "android.permission.SET_ALWAYS_FINISH": { "permissionGroup": "android.permission-group.DEVELOPMENT_TOOLS", "description": "@string/permdesc_setAlwaysFinish", "protectionLevel": "signature|system|development", "label": "@string/permlab_setAlwaysFinish" }, "android.permission.SIGNAL_PERSISTENT_PROCESSES": { "permissionGroup": "android.permission-group.DEVELOPMENT_TOOLS", "description": "@string/permdesc_signalPersistentProcesses", "protectionLevel": "signature|system|development", "label": "@string/permlab_signalPersistentProcesses" }, "android.permission.DIAGNOSTIC": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_diagnostic", "protectionLevel": "signature", "label": "@string/permlab_diagnostic" }, "android.permission.STATUS_BAR": { "permissionGroup": "", "description": "@string/permdesc_statusBar", "protectionLevel": "signature|system", "label": "@string/permlab_statusBar" }, "android.permission.STATUS_BAR_SERVICE": { "permissionGroup": "", "description": "@string/permdesc_statusBarService", "protectionLevel": "signature", "label": "@string/permlab_statusBarService" }, "android.permission.FORCE_BACK": { "permissionGroup": "", "description": "@string/permdesc_forceBack", "protectionLevel": "signature", "label": "@string/permlab_forceBack" }, "android.permission.UPDATE_DEVICE_STATS": { "permissionGroup": "", "description": "@string/permdesc_updateBatteryStats", "protectionLevel": "signature|system", "label": "@string/permlab_updateBatteryStats" }, "android.permission.GET_APP_OPS_STATS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_getAppOpsStats", "protectionLevel": "signature|system|development", "label": "@string/permlab_getAppOpsStats" }, "android.permission.UPDATE_APP_OPS_STATS": { "permissionGroup": "", "description": "@string/permdesc_updateAppOpsStats", "protectionLevel": "signature|system", "label": "@string/permlab_updateAppOpsStats" }, "android.permission.INTERNAL_SYSTEM_WINDOW": { "permissionGroup": "", "description": "@string/permdesc_internalSystemWindow", "protectionLevel": "signature", "label": "@string/permlab_internalSystemWindow" }, "android.permission.MANAGE_APP_TOKENS": { "permissionGroup": "", "description": "@string/permdesc_manageAppTokens", "protectionLevel": "signature", "label": "@string/permlab_manageAppTokens" }, "android.permission.FREEZE_SCREEN": { "permissionGroup": "", "description": "@string/permdesc_freezeScreen", "protectionLevel": "signature", "label": "@string/permlab_freezeScreen" }, "android.permission.INJECT_EVENTS": { "permissionGroup": "", "description": "@string/permdesc_injectEvents", "protectionLevel": "signature", "label": "@string/permlab_injectEvents" }, "android.permission.FILTER_EVENTS": { "permissionGroup": "", "description": "@string/permdesc_filter_events", "protectionLevel": "signature", "label": "@string/permlab_filter_events" }, "android.permission.RETRIEVE_WINDOW_INFO": { "permissionGroup": "", "description": "@string/permdesc_retrieve_window_info", "protectionLevel": "signature", "label": "@string/permlab_retrieve_window_info" }, "android.permission.TEMPORARY_ENABLE_ACCESSIBILITY": { "permissionGroup": "", "description": "@string/permdesc_temporary_enable_accessibility", "protectionLevel": "signature", "label": "@string/permlab_temporary_enable_accessibility" }, "android.permission.MAGNIFY_DISPLAY": { "permissionGroup": "", "description": "@string/permdesc_magnify_display", "protectionLevel": "signature", "label": "@string/permlab_magnify_display" }, "android.permission.SET_ACTIVITY_WATCHER": { "permissionGroup": "", "description": "@string/permdesc_runSetActivityWatcher", "protectionLevel": "signature", "label": "@string/permlab_runSetActivityWatcher" }, "android.permission.SHUTDOWN": { "permissionGroup": "", "description": "@string/permdesc_shutdown", "protectionLevel": "signature|system", "label": "@string/permlab_shutdown" }, "android.permission.STOP_APP_SWITCHES": { "permissionGroup": "", "description": "@string/permdesc_stopAppSwitches", "protectionLevel": "signature|system", "label": "@string/permlab_stopAppSwitches" }, "android.permission.GET_TOP_ACTIVITY_INFO": { "permissionGroup": "", "description": "@string/permdesc_getTopActivityInfo", "protectionLevel": "signature", "label": "@string/permlab_getTopActivityInfo" }, "android.permission.READ_INPUT_STATE": { "permissionGroup": "", "description": "@string/permdesc_readInputState", "protectionLevel": "signature", "label": "@string/permlab_readInputState" }, "android.permission.BIND_INPUT_METHOD": { "permissionGroup": "", "description": "@string/permdesc_bindInputMethod", "protectionLevel": "signature", "label": "@string/permlab_bindInputMethod" }, "android.permission.BIND_ACCESSIBILITY_SERVICE": { "permissionGroup": "", "description": "@string/permdesc_bindAccessibilityService", "protectionLevel": "signature", "label": "@string/permlab_bindAccessibilityService" }, "android.permission.BIND_PRINT_SERVICE": { "permissionGroup": "", "description": "@string/permdesc_bindPrintService", "protectionLevel": "signature", "label": "@string/permlab_bindPrintService" }, "android.permission.BIND_NFC_SERVICE": { "permissionGroup": "", "description": "@string/permdesc_bindNfcService", "protectionLevel": "signature", "label": "@string/permlab_bindNfcService" }, "android.permission.BIND_PRINT_SPOOLER_SERVICE": { "permissionGroup": "", "description": "@string/permdesc_bindPrintSpoolerService", "protectionLevel": "signature", "label": "@string/permlab_bindPrintSpoolerService" }, "android.permission.BIND_TEXT_SERVICE": { "permissionGroup": "", "description": "@string/permdesc_bindTextService", "protectionLevel": "signature", "label": "@string/permlab_bindTextService" }, "android.permission.BIND_VPN_SERVICE": { "permissionGroup": "", "description": "@string/permdesc_bindVpnService", "protectionLevel": "signature", "label": "@string/permlab_bindVpnService" }, "android.permission.BIND_WALLPAPER": { "permissionGroup": "", "description": "@string/permdesc_bindWallpaper", "protectionLevel": "signature|system", "label": "@string/permlab_bindWallpaper" }, "android.permission.BIND_REMOTE_DISPLAY": { "permissionGroup": "", "description": "@string/permdesc_bindRemoteDisplay", "protectionLevel": "signature", "label": "@string/permlab_bindRemoteDisplay" }, "android.permission.BIND_DEVICE_ADMIN": { "permissionGroup": "", "description": "@string/permdesc_bindDeviceAdmin", "protectionLevel": "signature", "label": "@string/permlab_bindDeviceAdmin" }, "android.permission.MANAGE_DEVICE_ADMINS": { "permissionGroup": "", "description": "@string/permdesc_manageDeviceAdmins", "protectionLevel": "signature|system", "label": "@string/permlab_manageDeviceAdmins" }, "android.permission.SET_ORIENTATION": { "permissionGroup": "", "description": "@string/permdesc_setOrientation", "protectionLevel": "signature", "label": "@string/permlab_setOrientation" }, "android.permission.SET_POINTER_SPEED": { "permissionGroup": "", "description": "@string/permdesc_setPointerSpeed", "protectionLevel": "signature", "label": "@string/permlab_setPointerSpeed" }, "android.permission.SET_KEYBOARD_LAYOUT": { "permissionGroup": "", "description": "@string/permdesc_setKeyboardLayout", "protectionLevel": "signature", "label": "@string/permlab_setKeyboardLayout" }, "android.permission.INSTALL_PACKAGES": { "permissionGroup": "", "description": "@string/permdesc_installPackages", "protectionLevel": "signature|system", "label": "@string/permlab_installPackages" }, "android.permission.CLEAR_APP_USER_DATA": { "permissionGroup": "", "description": "@string/permdesc_clearAppUserData", "protectionLevel": "signature", "label": "@string/permlab_clearAppUserData" }, "android.permission.DELETE_CACHE_FILES": { "permissionGroup": "", "description": "@string/permdesc_deleteCacheFiles", "protectionLevel": "signature|system", "label": "@string/permlab_deleteCacheFiles" }, "android.permission.DELETE_PACKAGES": { "permissionGroup": "", "description": "@string/permdesc_deletePackages", "protectionLevel": "signature|system", "label": "@string/permlab_deletePackages" }, "android.permission.MOVE_PACKAGE": { "permissionGroup": "", "description": "@string/permdesc_movePackage", "protectionLevel": "signature|system", "label": "@string/permlab_movePackage" }, "android.permission.CHANGE_COMPONENT_ENABLED_STATE": { "permissionGroup": "", "description": "@string/permdesc_changeComponentState", "protectionLevel": "signature|system", "label": "@string/permlab_changeComponentState" }, "android.permission.GRANT_REVOKE_PERMISSIONS": { "permissionGroup": "", "description": "@string/permdesc_grantRevokePermissions", "protectionLevel": "signature", "label": "@string/permlab_grantRevokePermissions" }, "android.permission.ACCESS_SURFACE_FLINGER": { "permissionGroup": "", "description": "@string/permdesc_accessSurfaceFlinger", "protectionLevel": "signature", "label": "@string/permlab_accessSurfaceFlinger" }, "android.permission.READ_FRAME_BUFFER": { "permissionGroup": "", "description": "@string/permdesc_readFrameBuffer", "protectionLevel": "signature|system", "label": "@string/permlab_readFrameBuffer" }, "android.permission.CONFIGURE_WIFI_DISPLAY": { "permissionGroup": "", "description": "@string/permdesc_configureWifiDisplay", "protectionLevel": "signature", "label": "@string/permlab_configureWifiDisplay" }, "android.permission.CONTROL_WIFI_DISPLAY": { "permissionGroup": "", "description": "@string/permdesc_controlWifiDisplay", "protectionLevel": "signature", "label": "@string/permlab_controlWifiDisplay" }, "android.permission.CAPTURE_AUDIO_OUTPUT": { "permissionGroup": "", "description": "@string/permdesc_captureAudioOutput", "protectionLevel": "signature|system", "label": "@string/permlab_captureAudioOutput" }, "android.permission.CAPTURE_AUDIO_HOTWORD": { "permissionGroup": "", "description": "@string/permdesc_captureAudioHotword", "protectionLevel": "signature|system", "label": "@string/permlab_captureAudioHotword" }, "android.permission.CAPTURE_VIDEO_OUTPUT": { "permissionGroup": "", "description": "@string/permdesc_captureVideoOutput", "protectionLevel": "signature|system", "label": "@string/permlab_captureVideoOutput" }, "android.permission.CAPTURE_SECURE_VIDEO_OUTPUT": { "permissionGroup": "", "description": "@string/permdesc_captureSecureVideoOutput", "protectionLevel": "signature|system", "label": "@string/permlab_captureSecureVideoOutput" }, "android.permission.MEDIA_CONTENT_CONTROL": { "permissionGroup": "", "description": "@string/permdesc_mediaContentControl", "protectionLevel": "signature|system", "label": "@string/permlab_mediaContentControl" }, "android.permission.BRICK": { "permissionGroup": "", "description": "@string/permdesc_brick", "protectionLevel": "signature", "label": "@string/permlab_brick" }, "android.permission.REBOOT": { "permissionGroup": "", "description": "@string/permdesc_reboot", "protectionLevel": "signature|system", "label": "@string/permlab_reboot" }, "android.permission.DEVICE_POWER": { "permissionGroup": "", "description": "@string/permdesc_devicePower", "protectionLevel": "signature", "label": "@string/permlab_devicePower" }, "android.permission.NET_TUNNELING": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.FACTORY_TEST": { "permissionGroup": "", "description": "@string/permdesc_factoryTest", "protectionLevel": "signature", "label": "@string/permlab_factoryTest" }, "android.permission.BROADCAST_PACKAGE_REMOVED": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_broadcastPackageRemoved", "protectionLevel": "signature", "label": "@string/permlab_broadcastPackageRemoved" }, "android.permission.BROADCAST_SMS": { "permissionGroup": "android.permission-group.MESSAGES", "description": "@string/permdesc_broadcastSmsReceived", "protectionLevel": "signature", "label": "@string/permlab_broadcastSmsReceived" }, "android.permission.BROADCAST_WAP_PUSH": { "permissionGroup": "android.permission-group.MESSAGES", "description": "@string/permdesc_broadcastWapPush", "protectionLevel": "signature", "label": "@string/permlab_broadcastWapPush" }, "android.permission.MASTER_CLEAR": { "permissionGroup": "", "description": "@string/permdesc_masterClear", "protectionLevel": "signature|system", "label": "@string/permlab_masterClear" }, "android.permission.CALL_PRIVILEGED": { "permissionGroup": "", "description": "@string/permdesc_callPrivileged", "protectionLevel": "signature|system", "label": "@string/permlab_callPrivileged" }, "android.permission.PERFORM_CDMA_PROVISIONING": { "permissionGroup": "", "description": "@string/permdesc_performCdmaProvisioning", "protectionLevel": "signature|system", "label": "@string/permlab_performCdmaProvisioning" }, "android.permission.CONTROL_LOCATION_UPDATES": { "permissionGroup": "", "description": "@string/permdesc_locationUpdates", "protectionLevel": "signature|system", "label": "@string/permlab_locationUpdates" }, "android.permission.ACCESS_CHECKIN_PROPERTIES": { "permissionGroup": "", "description": "@string/permdesc_checkinProperties", "protectionLevel": "signature|system", "label": "@string/permlab_checkinProperties" }, "android.permission.PACKAGE_USAGE_STATS": { "permissionGroup": "", "description": "@string/permdesc_pkgUsageStats", "protectionLevel": "signature|system", "label": "@string/permlab_pkgUsageStats" }, "android.permission.BATTERY_STATS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_batteryStats", "protectionLevel": "signature|system", "label": "@string/permlab_batteryStats" }, "android.permission.BACKUP": { "permissionGroup": "", "description": "@string/permdesc_backup", "protectionLevel": "signature|system", "label": "@string/permlab_backup" }, "android.permission.CONFIRM_FULL_BACKUP": { "permissionGroup": "", "description": "@string/permdesc_confirm_full_backup", "protectionLevel": "signature", "label": "@string/permlab_confirm_full_backup" }, "android.permission.BIND_REMOTEVIEWS": { "permissionGroup": "", "description": "@string/permdesc_bindRemoteViews", "protectionLevel": "signature|system", "label": "@string/permlab_bindRemoteViews" }, "android.permission.BIND_APPWIDGET": { "permissionGroup": "android.permission-group.PERSONAL_INFO", "description": "@string/permdesc_bindGadget", "protectionLevel": "signature|system", "label": "@string/permlab_bindGadget" }, "android.permission.BIND_KEYGUARD_APPWIDGET": { "permissionGroup": "android.permission-group.PERSONAL_INFO", "description": "", "protectionLevel": "signature|system", "label": "" }, "android.permission.MODIFY_APPWIDGET_BIND_PERMISSIONS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "", "protectionLevel": "signature|system", "label": "" }, "android.permission.CHANGE_BACKGROUND_DATA_SETTING": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_changeBackgroundDataSetting", "protectionLevel": "signature", "label": "@string/permlab_changeBackgroundDataSetting" }, "android.permission.GLOBAL_SEARCH": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "", "protectionLevel": "signature|system", "label": "" }, "android.permission.GLOBAL_SEARCH_CONTROL": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.SET_WALLPAPER_COMPONENT": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "", "protectionLevel": "signature|system", "label": "" }, "android.permission.READ_DREAM_STATE": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.WRITE_DREAM_STATE": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.ACCESS_CACHE_FILESYSTEM": { "permissionGroup": "", "description": "@string/permdesc_cache_filesystem", "protectionLevel": "signature|system", "label": "@string/permlab_cache_filesystem" }, "android.permission.COPY_PROTECTED_DATA": { "permissionGroup": "", "description": "@string/permlab_copyProtectedData", "protectionLevel": "signature", "label": "@string/permlab_copyProtectedData" }, "android.permission.CRYPT_KEEPER": { "permissionGroup": "", "description": "", "protectionLevel": "signature|system", "label": "" }, "android.permission.READ_NETWORK_USAGE_HISTORY": { "permissionGroup": "", "description": "@string/permdesc_readNetworkUsageHistory", "protectionLevel": "signature|system", "label": "@string/permlab_readNetworkUsageHistory" }, "android.permission.MANAGE_NETWORK_POLICY": { "permissionGroup": "", "description": "@string/permdesc_manageNetworkPolicy", "protectionLevel": "signature", "label": "@string/permlab_manageNetworkPolicy" }, "android.permission.MODIFY_NETWORK_ACCOUNTING": { "permissionGroup": "", "description": "@string/permdesc_modifyNetworkAccounting", "protectionLevel": "signature|system", "label": "@string/permlab_modifyNetworkAccounting" }, "android.permission.MARK_NETWORK_SOCKET": { "permissionGroup": "", "description": "@string/permdesc_markNetworkSocket", "protectionLevel": "signature|system", "label": "@string/permlab_markNetworkSocket" }, "android.intent.category.MASTER_CLEAR.permission.C2D_MESSAGE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.PACKAGE_VERIFICATION_AGENT": { "permissionGroup": "", "description": "@string/permdesc_packageVerificationAgent", "protectionLevel": "signature|system", "label": "@string/permlab_packageVerificationAgent" }, "android.permission.BIND_PACKAGE_VERIFIER": { "permissionGroup": "", "description": "@string/permdesc_bindPackageVerifier", "protectionLevel": "signature", "label": "@string/permlab_bindPackageVerifier" }, "android.permission.SERIAL_PORT": { "permissionGroup": "", "description": "@string/permdesc_serialPort", "protectionLevel": "signature|system", "label": "@string/permlab_serialPort" }, "android.permission.ACCESS_CONTENT_PROVIDERS_EXTERNALLY": { "permissionGroup": "", "description": "@string/permdesc_accessContentProvidersExternally", "protectionLevel": "signature", "label": "@string/permlab_accessContentProvidersExternally" }, "android.permission.UPDATE_LOCK": { "permissionGroup": "", "description": "@string/permdesc_updateLock", "protectionLevel": "signatureOrSystem", "label": "@string/permlab_updateLock" }, "android.permission.ACCESS_NOTIFICATIONS": { "permissionGroup": "", "description": "@string/permdesc_accessNotifications", "protectionLevel": "signature|system", "label": "@string/permlab_accessNotifications" }, "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE": { "permissionGroup": "", "description": "@string/permdesc_access_keyguard_secure_storage", "protectionLevel": "signature", "label": "@string/permlab_access_keyguard_secure_storage" }, "android.permission.CONTROL_KEYGUARD": { "permissionGroup": "", "description": "@string/permdesc_control_keyguard", "protectionLevel": "signature", "label": "@string/permlab_control_keyguard" }, "android.permission.BIND_NOTIFICATION_LISTENER_SERVICE": { "permissionGroup": "", "description": "@string/permdesc_bindNotificationListenerService", "protectionLevel": "signature", "label": "@string/permlab_bindNotificationListenerService" }, "android.permission.INVOKE_CARRIER_SETUP": { "permissionGroup": "", "description": "@string/permdesc_invokeCarrierSetup", "protectionLevel": "signature|system", "label": "@string/permlab_invokeCarrierSetup" }, "android.permission.ACCESS_NETWORK_CONDITIONS": { "permissionGroup": "", "description": "@string/permdesc_accessNetworkConditions", "protectionLevel": "signature|system", "label": "@string/permlab_accessNetworkConditions" }, "android.permission.ACCESS_BLUETOOTH_SHARE": { "permissionGroup": "", "description": "@string/permdesc_bluetoothShareManager", "protectionLevel": "signature", "label": "@string/permlab_bluetoothShareManager" }, "com.android.permission.WHITELIST_BLUETOOTH_DEVICE": { "permissionGroup": "", "description": "@string/permdesc_bluetoothWhitelist", "protectionLevel": "signature", "label": "@string/permlab_bluetoothWhitelist" }, "com.android.permission.HANDOVER_STATUS": { "permissionGroup": "", "description": "@string/permdesc_handoverStatus", "protectionLevel": "signature", "label": "@string/permlab_handoverStatus" }, "com.android.browser.permission.PRELOAD": { "permissionGroup": "", "description": "", "protectionLevel": "signatureOrSystem", "label": "@string/permission_preload_label" }, "com.android.email.permission.READ_ATTACHMENT": { "permissionGroup": "android.permission-group.MESSAGES", "description": "@string/permission_read_attachment_desc", "protectionLevel": "dangerous", "label": "@string/permission_read_attachment_label" }, "com.android.email.permission.ACCESS_PROVIDER": { "permissionGroup": "", "description": "@string/permission_access_provider_desc", "protectionLevel": "signature", "label": "@string/permission_access_provider_label" }, "com.android.gallery3d.permission.GALLERY_PROVIDER": { "permissionGroup": "", "description": "", "protectionLevel": "signatureOrSystem", "label": "" }, "com.android.launcher.permission.PRELOAD_WORKSPACE": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "", "protectionLevel": "signatureOrSystem", "label": "" }, "com.android.launcher.permission.READ_SETTINGS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_read_settings", "protectionLevel": "normal", "label": "@string/permlab_read_settings" }, "com.android.launcher.permission.WRITE_SETTINGS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_write_settings", "protectionLevel": "signatureOrSystem", "label": "@string/permlab_write_settings" }, "com.android.launcher3.permission.PRELOAD_WORKSPACE": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "", "protectionLevel": "signatureOrSystem", "label": "" }, "com.android.launcher3.permission.READ_SETTINGS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_read_settings", "protectionLevel": "normal", "label": "@string/permlab_read_settings" }, "com.android.launcher3.permission.WRITE_SETTINGS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_write_settings", "protectionLevel": "signatureOrSystem", "label": "@string/permlab_write_settings" }, "com.android.launcher3.permission.RECEIVE_LAUNCH_BROADCASTS": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.MMS_SEND_OUTBOX_MSG": { "permissionGroup": "", "description": "@string/desc_mms_send_outbox_msg", "protectionLevel": "signatureOrSystem", "label": "@string/label_mms_send_outbox_msg" }, "com.android.voicemail.permission.READ_WRITE_ALL_VOICEMAIL": { "permissionGroup": "android.permission-group.PERSONAL_INFO", "description": "@string/read_write_all_voicemail_description", "protectionLevel": "system|signature", "label": "@string/read_write_all_voicemail_label" }, "android.permission.ACCESS_DOWNLOAD_MANAGER": { "permissionGroup": "", "description": "@string/permdesc_downloadManager", "protectionLevel": "signatureOrSystem", "label": "@string/permlab_downloadManager" }, "android.permission.ACCESS_DOWNLOAD_MANAGER_ADVANCED": { "permissionGroup": "", "description": "@string/permdesc_downloadManagerAdvanced", "protectionLevel": "signatureOrSystem", "label": "@string/permlab_downloadManagerAdvanced" }, "android.permission.SEND_DOWNLOAD_COMPLETED_INTENTS": { "permissionGroup": "", "description": "@string/permdesc_downloadCompletedIntent", "protectionLevel": "signature", "label": "@string/permlab_downloadCompletedIntent" }, "android.permission.DOWNLOAD_CACHE_NON_PURGEABLE": { "permissionGroup": "", "description": "@string/permdesc_downloadCacheNonPurgeable", "protectionLevel": "signatureOrSystem", "label": "@string/permlab_downloadCacheNonPurgeable" }, "android.permission.DOWNLOAD_WITHOUT_NOTIFICATION": { "permissionGroup": "android.permission-group.NETWORK", "description": "@string/permdesc_downloadWithoutNotification", "protectionLevel": "normal", "label": "@string/permlab_downloadWithoutNotification" }, "android.permission.ACCESS_ALL_DOWNLOADS": { "permissionGroup": "", "description": "@string/permdesc_accessAllDownloads", "protectionLevel": "signature", "label": "@string/permlab_accessAllDownloads" } }androguard-3.1.0-rc2/androguard/core/api_specific_resources/aosp_permissions/permissions_21.json000066400000000000000000002217471324327352200333000ustar00rootroot00000000000000{ "android.permission.SEND_SMS": { "permissionGroup": "android.permission-group.MESSAGES", "description": "@string/permdesc_sendSms", "protectionLevel": "dangerous", "label": "@string/permlab_sendSms" }, "android.permission.SEND_RESPOND_VIA_MESSAGE": { "permissionGroup": "android.permission-group.MESSAGES", "description": "@string/permdesc_sendRespondViaMessageRequest", "protectionLevel": "signature|system", "label": "@string/permlab_sendRespondViaMessageRequest" }, "android.permission.RECEIVE_SMS": { "permissionGroup": "android.permission-group.MESSAGES", "description": "@string/permdesc_receiveSms", "protectionLevel": "dangerous", "label": "@string/permlab_receiveSms" }, "android.permission.RECEIVE_MMS": { "permissionGroup": "android.permission-group.MESSAGES", "description": "@string/permdesc_receiveMms", "protectionLevel": "dangerous", "label": "@string/permlab_receiveMms" }, "android.permission.RECEIVE_EMERGENCY_BROADCAST": { "permissionGroup": "android.permission-group.MESSAGES", "description": "@string/permdesc_receiveEmergencyBroadcast", "protectionLevel": "signature|system", "label": "@string/permlab_receiveEmergencyBroadcast" }, "android.permission.READ_CELL_BROADCASTS": { "permissionGroup": "android.permission-group.MESSAGES", "description": "@string/permdesc_readCellBroadcasts", "protectionLevel": "dangerous", "label": "@string/permlab_readCellBroadcasts" }, "android.permission.READ_SMS": { "permissionGroup": "android.permission-group.MESSAGES", "description": "@string/permdesc_readSms", "protectionLevel": "dangerous", "label": "@string/permlab_readSms" }, "android.permission.WRITE_SMS": { "permissionGroup": "android.permission-group.MESSAGES", "description": "@string/permdesc_writeSms", "protectionLevel": "dangerous", "label": "@string/permlab_writeSms" }, "android.permission.RECEIVE_WAP_PUSH": { "permissionGroup": "android.permission-group.MESSAGES", "description": "@string/permdesc_receiveWapPush", "protectionLevel": "dangerous", "label": "@string/permlab_receiveWapPush" }, "android.permission.RECEIVE_BLUETOOTH_MAP": { "permissionGroup": "android.permission-group.MESSAGES", "description": "@string/permdesc_receiveBluetoothMap", "protectionLevel": "signature|system", "label": "@string/permlab_receiveBluetoothMap" }, "android.permission.READ_CONTACTS": { "permissionGroup": "android.permission-group.SOCIAL_INFO", "description": "@string/permdesc_readContacts", "protectionLevel": "dangerous", "label": "@string/permlab_readContacts" }, "android.permission.WRITE_CONTACTS": { "permissionGroup": "android.permission-group.SOCIAL_INFO", "description": "@string/permdesc_writeContacts", "protectionLevel": "dangerous", "label": "@string/permlab_writeContacts" }, "android.permission.BIND_DIRECTORY_SEARCH": { "permissionGroup": "android.permission-group.PERSONAL_INFO", "description": "", "protectionLevel": "signature|system", "label": "" }, "android.permission.READ_CALL_LOG": { "permissionGroup": "android.permission-group.SOCIAL_INFO", "description": "@string/permdesc_readCallLog", "protectionLevel": "dangerous", "label": "@string/permlab_readCallLog" }, "android.permission.WRITE_CALL_LOG": { "permissionGroup": "android.permission-group.SOCIAL_INFO", "description": "@string/permdesc_writeCallLog", "protectionLevel": "dangerous", "label": "@string/permlab_writeCallLog" }, "android.permission.READ_SOCIAL_STREAM": { "permissionGroup": "android.permission-group.SOCIAL_INFO", "description": "@string/permdesc_readSocialStream", "protectionLevel": "dangerous", "label": "@string/permlab_readSocialStream" }, "android.permission.WRITE_SOCIAL_STREAM": { "permissionGroup": "android.permission-group.SOCIAL_INFO", "description": "@string/permdesc_writeSocialStream", "protectionLevel": "dangerous", "label": "@string/permlab_writeSocialStream" }, "android.permission.READ_PROFILE": { "permissionGroup": "android.permission-group.PERSONAL_INFO", "description": "@string/permdesc_readProfile", "protectionLevel": "dangerous", "label": "@string/permlab_readProfile" }, "android.permission.WRITE_PROFILE": { "permissionGroup": "android.permission-group.PERSONAL_INFO", "description": "@string/permdesc_writeProfile", "protectionLevel": "dangerous", "label": "@string/permlab_writeProfile" }, "android.permission.BODY_SENSORS": { "permissionGroup": "android.permission-group.PERSONAL_INFO", "description": "@string/permdesc_bodySensors", "protectionLevel": "", "label": "@string/permlab_bodySensors" }, "android.permission.READ_CALENDAR": { "permissionGroup": "android.permission-group.PERSONAL_INFO", "description": "@string/permdesc_readCalendar", "protectionLevel": "dangerous", "label": "@string/permlab_readCalendar" }, "android.permission.WRITE_CALENDAR": { "permissionGroup": "android.permission-group.PERSONAL_INFO", "description": "@string/permdesc_writeCalendar", "protectionLevel": "dangerous", "label": "@string/permlab_writeCalendar" }, "android.permission.READ_USER_DICTIONARY": { "permissionGroup": "android.permission-group.USER_DICTIONARY", "description": "@string/permdesc_readDictionary", "protectionLevel": "dangerous", "label": "@string/permlab_readDictionary" }, "android.permission.WRITE_USER_DICTIONARY": { "permissionGroup": "android.permission-group.WRITE_USER_DICTIONARY", "description": "@string/permdesc_writeDictionary", "protectionLevel": "normal", "label": "@string/permlab_writeDictionary" }, "com.android.browser.permission.READ_HISTORY_BOOKMARKS": { "permissionGroup": "android.permission-group.BOOKMARKS", "description": "@string/permdesc_readHistoryBookmarks", "protectionLevel": "dangerous", "label": "@string/permlab_readHistoryBookmarks" }, "com.android.browser.permission.WRITE_HISTORY_BOOKMARKS": { "permissionGroup": "android.permission-group.BOOKMARKS", "description": "@string/permdesc_writeHistoryBookmarks", "protectionLevel": "dangerous", "label": "@string/permlab_writeHistoryBookmarks" }, "com.android.alarm.permission.SET_ALARM": { "permissionGroup": "android.permission-group.DEVICE_ALARMS", "description": "@string/permdesc_setAlarm", "protectionLevel": "normal", "label": "@string/permlab_setAlarm" }, "com.android.voicemail.permission.ADD_VOICEMAIL": { "permissionGroup": "android.permission-group.VOICEMAIL", "description": "@string/permdesc_addVoicemail", "protectionLevel": "dangerous", "label": "@string/permlab_addVoicemail" }, "com.android.voicemail.permission.WRITE_VOICEMAIL": { "permissionGroup": "android.permission-group.VOICEMAIL", "description": "@string/permdesc_writeVoicemail", "protectionLevel": "system|signature", "label": "@string/permlab_writeVoicemail" }, "com.android.voicemail.permission.READ_VOICEMAIL": { "permissionGroup": "android.permission-group.VOICEMAIL", "description": "@string/permdesc_readVoicemail", "protectionLevel": "system|signature", "label": "@string/permlab_readVoicemail" }, "android.permission.ACCESS_FINE_LOCATION": { "permissionGroup": "android.permission-group.LOCATION", "description": "@string/permdesc_accessFineLocation", "protectionLevel": "dangerous", "label": "@string/permlab_accessFineLocation" }, "android.permission.ACCESS_COARSE_LOCATION": { "permissionGroup": "android.permission-group.LOCATION", "description": "@string/permdesc_accessCoarseLocation", "protectionLevel": "dangerous", "label": "@string/permlab_accessCoarseLocation" }, "android.permission.ACCESS_MOCK_LOCATION": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_accessMockLocation", "protectionLevel": "dangerous", "label": "@string/permlab_accessMockLocation" }, "android.permission.ACCESS_LOCATION_EXTRA_COMMANDS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_accessLocationExtraCommands", "protectionLevel": "normal", "label": "@string/permlab_accessLocationExtraCommands" }, "android.permission.INSTALL_LOCATION_PROVIDER": { "permissionGroup": "", "description": "@string/permdesc_installLocationProvider", "protectionLevel": "signature|system", "label": "@string/permlab_installLocationProvider" }, "android.permission.HDMI_CEC": { "permissionGroup": "", "description": "", "protectionLevel": "signatureOrSystem", "label": "" }, "android.permission.LOCATION_HARDWARE": { "permissionGroup": "android.permission-group.LOCATION", "description": "", "protectionLevel": "signature|system", "label": "" }, "android.permission.INTERNET": { "permissionGroup": "android.permission-group.NETWORK", "description": "@string/permdesc_createNetworkSockets", "protectionLevel": "dangerous", "label": "@string/permlab_createNetworkSockets" }, "android.permission.ACCESS_NETWORK_STATE": { "permissionGroup": "android.permission-group.NETWORK", "description": "@string/permdesc_accessNetworkState", "protectionLevel": "normal", "label": "@string/permlab_accessNetworkState" }, "android.permission.ACCESS_WIFI_STATE": { "permissionGroup": "android.permission-group.NETWORK", "description": "@string/permdesc_accessWifiState", "protectionLevel": "normal", "label": "@string/permlab_accessWifiState" }, "android.permission.CHANGE_WIFI_STATE": { "permissionGroup": "android.permission-group.NETWORK", "description": "@string/permdesc_changeWifiState", "protectionLevel": "dangerous", "label": "@string/permlab_changeWifiState" }, "android.permission.READ_WIFI_CREDENTIAL": { "permissionGroup": "android.permission-group.NETWORK", "description": "", "protectionLevel": "signature|system", "label": "" }, "android.permission.ACCESS_WIMAX_STATE": { "permissionGroup": "android.permission-group.NETWORK", "description": "@string/permdesc_accessWimaxState", "protectionLevel": "normal", "label": "@string/permlab_accessWimaxState" }, "android.permission.CHANGE_WIMAX_STATE": { "permissionGroup": "android.permission-group.NETWORK", "description": "@string/permdesc_changeWimaxState", "protectionLevel": "dangerous", "label": "@string/permlab_changeWimaxState" }, "android.permission.SCORE_NETWORKS": { "permissionGroup": "android.permission-group.NETWORK", "description": "@string/permdesc_scoreNetworks", "protectionLevel": "signature|system", "label": "@string/permlab_scoreNetworks" }, "android.permission.BLUETOOTH": { "permissionGroup": "android.permission-group.BLUETOOTH_NETWORK", "description": "@string/permdesc_bluetooth", "protectionLevel": "dangerous", "label": "@string/permlab_bluetooth" }, "android.permission.BLUETOOTH_ADMIN": { "permissionGroup": "android.permission-group.BLUETOOTH_NETWORK", "description": "@string/permdesc_bluetoothAdmin", "protectionLevel": "dangerous", "label": "@string/permlab_bluetoothAdmin" }, "android.permission.BLUETOOTH_PRIVILEGED": { "permissionGroup": "android.permission-group.BLUETOOTH_NETWORK", "description": "@string/permdesc_bluetoothPriv", "protectionLevel": "system|signature", "label": "@string/permlab_bluetoothPriv" }, "android.permission.BLUETOOTH_MAP": { "permissionGroup": "android.permission-group.BLUETOOTH_NETWORK", "description": "@string/permdesc_bluetoothMap", "protectionLevel": "signature", "label": "@string/permlab_bluetoothMap" }, "android.permission.BLUETOOTH_STACK": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.NFC": { "permissionGroup": "android.permission-group.NETWORK", "description": "@string/permdesc_nfc", "protectionLevel": "dangerous", "label": "@string/permlab_nfc" }, "android.permission.CONNECTIVITY_INTERNAL": { "permissionGroup": "android.permission-group.NETWORK", "description": "", "protectionLevel": "signature|system", "label": "" }, "android.permission.RECEIVE_DATA_ACTIVITY_CHANGE": { "permissionGroup": "android.permission-group.NETWORK", "description": "", "protectionLevel": "signature|system", "label": "" }, "android.permission.LOOP_RADIO": { "permissionGroup": "android.permission-group.NETWORK", "description": "", "protectionLevel": "signature|system", "label": "" }, "android.permission.NFC_HANDOVER_STATUS": { "permissionGroup": "", "description": "@string/permdesc_handoverStatus", "protectionLevel": "signature|system", "label": "@string/permlab_handoverStatus" }, "android.permission.GET_ACCOUNTS": { "permissionGroup": "android.permission-group.ACCOUNTS", "description": "@string/permdesc_getAccounts", "protectionLevel": "normal", "label": "@string/permlab_getAccounts" }, "android.permission.AUTHENTICATE_ACCOUNTS": { "permissionGroup": "android.permission-group.ACCOUNTS", "description": "@string/permdesc_authenticateAccounts", "protectionLevel": "dangerous", "label": "@string/permlab_authenticateAccounts" }, "android.permission.USE_CREDENTIALS": { "permissionGroup": "android.permission-group.ACCOUNTS", "description": "@string/permdesc_useCredentials", "protectionLevel": "dangerous", "label": "@string/permlab_useCredentials" }, "android.permission.MANAGE_ACCOUNTS": { "permissionGroup": "android.permission-group.ACCOUNTS", "description": "@string/permdesc_manageAccounts", "protectionLevel": "dangerous", "label": "@string/permlab_manageAccounts" }, "android.permission.ACCOUNT_MANAGER": { "permissionGroup": "android.permission-group.ACCOUNTS", "description": "@string/permdesc_accountManagerService", "protectionLevel": "signature", "label": "@string/permlab_accountManagerService" }, "android.permission.CHANGE_WIFI_MULTICAST_STATE": { "permissionGroup": "android.permission-group.AFFECTS_BATTERY", "description": "@string/permdesc_changeWifiMulticastState", "protectionLevel": "dangerous", "label": "@string/permlab_changeWifiMulticastState" }, "android.permission.VIBRATE": { "permissionGroup": "android.permission-group.AFFECTS_BATTERY", "description": "@string/permdesc_vibrate", "protectionLevel": "normal", "label": "@string/permlab_vibrate" }, "android.permission.FLASHLIGHT": { "permissionGroup": "android.permission-group.AFFECTS_BATTERY", "description": "@string/permdesc_flashlight", "protectionLevel": "normal", "label": "@string/permlab_flashlight" }, "android.permission.WAKE_LOCK": { "permissionGroup": "android.permission-group.AFFECTS_BATTERY", "description": "@string/permdesc_wakeLock", "protectionLevel": "normal", "label": "@string/permlab_wakeLock" }, "android.permission.TRANSMIT_IR": { "permissionGroup": "android.permission-group.AFFECTS_BATTERY", "description": "@string/permdesc_transmitIr", "protectionLevel": "normal", "label": "@string/permlab_transmitIr" }, "android.permission.MODIFY_AUDIO_SETTINGS": { "permissionGroup": "android.permission-group.AUDIO_SETTINGS", "description": "@string/permdesc_modifyAudioSettings", "protectionLevel": "normal", "label": "@string/permlab_modifyAudioSettings" }, "android.permission.MANAGE_USB": { "permissionGroup": "android.permission-group.HARDWARE_CONTROLS", "description": "@string/permdesc_manageUsb", "protectionLevel": "signature|system", "label": "@string/permlab_manageUsb" }, "android.permission.ACCESS_MTP": { "permissionGroup": "android.permission-group.HARDWARE_CONTROLS", "description": "@string/permdesc_accessMtp", "protectionLevel": "signature|system", "label": "@string/permlab_accessMtp" }, "android.permission.HARDWARE_TEST": { "permissionGroup": "android.permission-group.HARDWARE_CONTROLS", "description": "@string/permdesc_hardware_test", "protectionLevel": "signature", "label": "@string/permlab_hardware_test" }, "android.permission.NET_ADMIN": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.REMOTE_AUDIO_PLAYBACK": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.TV_INPUT_HARDWARE": { "permissionGroup": "", "description": "", "protectionLevel": "signatureOrSystem", "label": "" }, "android.permission.CAPTURE_TV_INPUT": { "permissionGroup": "", "description": "", "protectionLevel": "signatureOrSystem", "label": "" }, "android.permission.OEM_UNLOCK_STATE": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.RECORD_AUDIO": { "permissionGroup": "android.permission-group.MICROPHONE", "description": "@string/permdesc_recordAudio", "protectionLevel": "dangerous", "label": "@string/permlab_recordAudio" }, "android.permission.CAMERA": { "permissionGroup": "android.permission-group.CAMERA", "description": "@string/permdesc_camera", "protectionLevel": "dangerous", "label": "@string/permlab_camera" }, "android.permission.CAMERA_DISABLE_TRANSMIT_LED": { "permissionGroup": "android.permission-group.CAMERA", "description": "@string/permdesc_cameraDisableTransmitLed", "protectionLevel": "signature|system", "label": "@string/permlab_cameraDisableTransmitLed" }, "android.permission.PROCESS_OUTGOING_CALLS": { "permissionGroup": "android.permission-group.PHONE_CALLS", "description": "@string/permdesc_processOutgoingCalls", "protectionLevel": "dangerous", "label": "@string/permlab_processOutgoingCalls" }, "android.permission.MODIFY_PHONE_STATE": { "permissionGroup": "android.permission-group.PHONE_CALLS", "description": "@string/permdesc_modifyPhoneState", "protectionLevel": "signature|system", "label": "@string/permlab_modifyPhoneState" }, "android.permission.READ_PHONE_STATE": { "permissionGroup": "android.permission-group.PHONE_CALLS", "description": "@string/permdesc_readPhoneState", "protectionLevel": "dangerous", "label": "@string/permlab_readPhoneState" }, "android.permission.READ_PRECISE_PHONE_STATE": { "permissionGroup": "android.permission-group.PHONE_CALLS", "description": "@string/permdesc_readPrecisePhoneState", "protectionLevel": "signature|system", "label": "@string/permlab_readPrecisePhoneState" }, "android.permission.READ_PRIVILEGED_PHONE_STATE": { "permissionGroup": "android.permission-group.PHONE_CALLS", "description": "", "protectionLevel": "signature|system", "label": "" }, "android.permission.CALL_PHONE": { "permissionGroup": "android.permission-group.PHONE_CALLS", "description": "@string/permdesc_callPhone", "protectionLevel": "dangerous", "label": "@string/permlab_callPhone" }, "android.permission.USE_SIP": { "permissionGroup": "android.permission-group.PHONE_CALLS", "description": "@string/permdesc_use_sip", "protectionLevel": "dangerous", "label": "@string/permlab_use_sip" }, "android.permission.BIND_INCALL_SERVICE": { "permissionGroup": "android.permission-group.PHONE_CALLS", "description": "@string/permdesc_bind_incall_service", "protectionLevel": "system|signature", "label": "@string/permlab_bind_incall_service" }, "android.permission.BIND_CONNECTION_SERVICE": { "permissionGroup": "android.permission-group.PHONE_CALLS", "description": "@string/permdesc_bind_connection_service", "protectionLevel": "system|signature", "label": "@string/permlab_bind_connection_service" }, "android.permission.CONTROL_INCALL_EXPERIENCE": { "permissionGroup": "android.permission-group.PHONE_CALLS", "description": "@string/permdesc_control_incall_experience", "protectionLevel": "system|signature", "label": "@string/permlab_control_incall_experience" }, "android.permission.READ_EXTERNAL_STORAGE": { "permissionGroup": "android.permission-group.STORAGE", "description": "@string/permdesc_sdcardRead", "protectionLevel": "normal", "label": "@string/permlab_sdcardRead" }, "android.permission.WRITE_EXTERNAL_STORAGE": { "permissionGroup": "android.permission-group.STORAGE", "description": "@string/permdesc_sdcardWrite", "protectionLevel": "dangerous", "label": "@string/permlab_sdcardWrite" }, "android.permission.WRITE_MEDIA_STORAGE": { "permissionGroup": "android.permission-group.STORAGE", "description": "@string/permdesc_mediaStorageWrite", "protectionLevel": "signature|system", "label": "@string/permlab_mediaStorageWrite" }, "android.permission.MANAGE_DOCUMENTS": { "permissionGroup": "android.permission-group.STORAGE", "description": "@string/permdesc_manageDocs", "protectionLevel": "signature", "label": "@string/permlab_manageDocs" }, "android.permission.DISABLE_KEYGUARD": { "permissionGroup": "android.permission-group.SCREENLOCK", "description": "@string/permdesc_disableKeyguard", "protectionLevel": "dangerous", "label": "@string/permlab_disableKeyguard" }, "android.permission.GET_TASKS": { "permissionGroup": "android.permission-group.APP_INFO", "description": "@string/permdesc_getTasks", "protectionLevel": "normal", "label": "@string/permlab_getTasks" }, "android.permission.REAL_GET_TASKS": { "permissionGroup": "android.permission-group.APP_INFO", "description": "@string/permdesc_getTasks", "protectionLevel": "signature|system", "label": "@string/permlab_getTasks" }, "android.permission.START_TASKS_FROM_RECENTS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_startTasksFromRecents", "protectionLevel": "signature|system", "label": "@string/permlab_startTasksFromRecents" }, "android.permission.INTERACT_ACROSS_USERS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_interactAcrossUsers", "protectionLevel": "signature|system|development", "label": "@string/permlab_interactAcrossUsers" }, "android.permission.INTERACT_ACROSS_USERS_FULL": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_interactAcrossUsersFull", "protectionLevel": "signature", "label": "@string/permlab_interactAcrossUsersFull" }, "android.permission.MANAGE_USERS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_manageUsers", "protectionLevel": "signature|system", "label": "@string/permlab_manageUsers" }, "android.permission.GET_DETAILED_TASKS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_getDetailedTasks", "protectionLevel": "signature", "label": "@string/permlab_getDetailedTasks" }, "android.permission.REORDER_TASKS": { "permissionGroup": "android.permission-group.APP_INFO", "description": "@string/permdesc_reorderTasks", "protectionLevel": "normal", "label": "@string/permlab_reorderTasks" }, "android.permission.REMOVE_TASKS": { "permissionGroup": "android.permission-group.APP_INFO", "description": "@string/permdesc_removeTasks", "protectionLevel": "signature", "label": "@string/permlab_removeTasks" }, "android.permission.MANAGE_ACTIVITY_STACKS": { "permissionGroup": "android.permission-group.APP_INFO", "description": "@string/permdesc_manageActivityStacks", "protectionLevel": "signature|system", "label": "@string/permlab_manageActivityStacks" }, "android.permission.START_ANY_ACTIVITY": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_startAnyActivity", "protectionLevel": "signature", "label": "@string/permlab_startAnyActivity" }, "android.permission.RESTART_PACKAGES": { "permissionGroup": "android.permission-group.APP_INFO", "description": "@string/permdesc_killBackgroundProcesses", "protectionLevel": "normal", "label": "@string/permlab_killBackgroundProcesses" }, "android.permission.KILL_BACKGROUND_PROCESSES": { "permissionGroup": "android.permission-group.APP_INFO", "description": "@string/permdesc_killBackgroundProcesses", "protectionLevel": "normal", "label": "@string/permlab_killBackgroundProcesses" }, "android.permission.SYSTEM_ALERT_WINDOW": { "permissionGroup": "android.permission-group.DISPLAY", "description": "@string/permdesc_systemAlertWindow", "protectionLevel": "dangerous", "label": "@string/permlab_systemAlertWindow" }, "android.permission.SET_WALLPAPER": { "permissionGroup": "android.permission-group.WALLPAPER", "description": "@string/permdesc_setWallpaper", "protectionLevel": "normal", "label": "@string/permlab_setWallpaper" }, "android.permission.SET_WALLPAPER_HINTS": { "permissionGroup": "android.permission-group.WALLPAPER", "description": "@string/permdesc_setWallpaperHints", "protectionLevel": "normal", "label": "@string/permlab_setWallpaperHints" }, "android.permission.SET_TIME": { "permissionGroup": "", "description": "@string/permdesc_setTime", "protectionLevel": "signature|system", "label": "@string/permlab_setTime" }, "android.permission.SET_TIME_ZONE": { "permissionGroup": "android.permission-group.SYSTEM_CLOCK", "description": "@string/permdesc_setTimeZone", "protectionLevel": "normal", "label": "@string/permlab_setTimeZone" }, "android.permission.EXPAND_STATUS_BAR": { "permissionGroup": "android.permission-group.STATUS_BAR", "description": "@string/permdesc_expandStatusBar", "protectionLevel": "normal", "label": "@string/permlab_expandStatusBar" }, "com.android.launcher.permission.INSTALL_SHORTCUT": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_install_shortcut", "protectionLevel": "dangerous", "label": "@string/permlab_install_shortcut" }, "com.android.launcher.permission.UNINSTALL_SHORTCUT": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_uninstall_shortcut", "protectionLevel": "dangerous", "label": "@string/permlab_uninstall_shortcut" }, "android.permission.READ_SYNC_SETTINGS": { "permissionGroup": "android.permission-group.SYNC_SETTINGS", "description": "@string/permdesc_readSyncSettings", "protectionLevel": "normal", "label": "@string/permlab_readSyncSettings" }, "android.permission.WRITE_SYNC_SETTINGS": { "permissionGroup": "android.permission-group.SYNC_SETTINGS", "description": "@string/permdesc_writeSyncSettings", "protectionLevel": "normal", "label": "@string/permlab_writeSyncSettings" }, "android.permission.READ_SYNC_STATS": { "permissionGroup": "android.permission-group.SYNC_SETTINGS", "description": "@string/permdesc_readSyncStats", "protectionLevel": "normal", "label": "@string/permlab_readSyncStats" }, "android.permission.SET_SCREEN_COMPATIBILITY": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_setScreenCompatibility", "protectionLevel": "signature", "label": "@string/permlab_setScreenCompatibility" }, "android.permission.ACCESS_ALL_EXTERNAL_STORAGE": { "permissionGroup": "android.permission-group.DEVELOPMENT_TOOLS", "description": "@string/permdesc_sdcardAccessAll", "protectionLevel": "signature", "label": "@string/permlab_sdcardAccessAll" }, "android.permission.CHANGE_CONFIGURATION": { "permissionGroup": "android.permission-group.DEVELOPMENT_TOOLS", "description": "@string/permdesc_changeConfiguration", "protectionLevel": "signature|system|development", "label": "@string/permlab_changeConfiguration" }, "android.permission.WRITE_SETTINGS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_writeSettings", "protectionLevel": "normal", "label": "@string/permlab_writeSettings" }, "android.permission.WRITE_GSERVICES": { "permissionGroup": "", "description": "@string/permdesc_writeGservices", "protectionLevel": "signature|system", "label": "@string/permlab_writeGservices" }, "android.permission.FORCE_STOP_PACKAGES": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_forceStopPackages", "protectionLevel": "signature|system", "label": "@string/permlab_forceStopPackages" }, "android.permission.RETRIEVE_WINDOW_CONTENT": { "permissionGroup": "android.permission-group.PERSONAL_INFO", "description": "@string/permdesc_retrieve_window_content", "protectionLevel": "signature|system", "label": "@string/permlab_retrieve_window_content" }, "android.permission.SET_ANIMATION_SCALE": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_setAnimationScale", "protectionLevel": "signature|system|development", "label": "@string/permlab_setAnimationScale" }, "android.permission.PERSISTENT_ACTIVITY": { "permissionGroup": "android.permission-group.APP_INFO", "description": "@string/permdesc_persistentActivity", "protectionLevel": "normal", "label": "@string/permlab_persistentActivity" }, "android.permission.GET_PACKAGE_SIZE": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_getPackageSize", "protectionLevel": "normal", "label": "@string/permlab_getPackageSize" }, "android.permission.SET_PREFERRED_APPLICATIONS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_setPreferredApplications", "protectionLevel": "signature", "label": "@string/permlab_setPreferredApplications" }, "android.permission.RECEIVE_BOOT_COMPLETED": { "permissionGroup": "android.permission-group.APP_INFO", "description": "@string/permdesc_receiveBootCompleted", "protectionLevel": "normal", "label": "@string/permlab_receiveBootCompleted" }, "android.permission.BROADCAST_STICKY": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_broadcastSticky", "protectionLevel": "normal", "label": "@string/permlab_broadcastSticky" }, "android.permission.MOUNT_UNMOUNT_FILESYSTEMS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_mount_unmount_filesystems", "protectionLevel": "system|signature", "label": "@string/permlab_mount_unmount_filesystems" }, "android.permission.MOUNT_FORMAT_FILESYSTEMS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_mount_format_filesystems", "protectionLevel": "system|signature", "label": "@string/permlab_mount_format_filesystems" }, "android.permission.ASEC_ACCESS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_asec_access", "protectionLevel": "signature", "label": "@string/permlab_asec_access" }, "android.permission.ASEC_CREATE": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_asec_create", "protectionLevel": "signature", "label": "@string/permlab_asec_create" }, "android.permission.ASEC_DESTROY": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_asec_destroy", "protectionLevel": "signature", "label": "@string/permlab_asec_destroy" }, "android.permission.ASEC_MOUNT_UNMOUNT": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_asec_mount_unmount", "protectionLevel": "signature", "label": "@string/permlab_asec_mount_unmount" }, "android.permission.ASEC_RENAME": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_asec_rename", "protectionLevel": "signature", "label": "@string/permlab_asec_rename" }, "android.permission.WRITE_APN_SETTINGS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_writeApnSettings", "protectionLevel": "signature|system", "label": "@string/permlab_writeApnSettings" }, "android.permission.SUBSCRIBED_FEEDS_READ": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_subscribedFeedsRead", "protectionLevel": "normal", "label": "@string/permlab_subscribedFeedsRead" }, "android.permission.SUBSCRIBED_FEEDS_WRITE": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_subscribedFeedsWrite", "protectionLevel": "dangerous", "label": "@string/permlab_subscribedFeedsWrite" }, "android.permission.CHANGE_NETWORK_STATE": { "permissionGroup": "android.permission-group.NETWORK", "description": "@string/permdesc_changeNetworkState", "protectionLevel": "normal", "label": "@string/permlab_changeNetworkState" }, "android.permission.CLEAR_APP_CACHE": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_clearAppCache", "protectionLevel": "dangerous", "label": "@string/permlab_clearAppCache" }, "android.permission.ALLOW_ANY_CODEC_FOR_PLAYBACK": { "permissionGroup": "", "description": "@string/permdesc_anyCodecForPlayback", "protectionLevel": "signature|system", "label": "@string/permlab_anyCodecForPlayback" }, "android.permission.MANAGE_CA_CERTIFICATES": { "permissionGroup": "", "description": "@string/permdesc_manageCaCertificates", "protectionLevel": "signature|system", "label": "@string/permlab_manageCaCertificates" }, "android.permission.RECOVERY": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_recovery", "protectionLevel": "signature|system", "label": "@string/permlab_recovery" }, "android.permission.BIND_JOB_SERVICE": { "permissionGroup": "", "description": "@string/permdesc_bindJobService", "protectionLevel": "signature", "label": "@string/permlab_bindJobService" }, "android.permission.WRITE_SECURE_SETTINGS": { "permissionGroup": "android.permission-group.DEVELOPMENT_TOOLS", "description": "@string/permdesc_writeSecureSettings", "protectionLevel": "signature|system|development", "label": "@string/permlab_writeSecureSettings" }, "android.permission.DUMP": { "permissionGroup": "android.permission-group.DEVELOPMENT_TOOLS", "description": "@string/permdesc_dump", "protectionLevel": "signature|system|development", "label": "@string/permlab_dump" }, "android.permission.READ_LOGS": { "permissionGroup": "android.permission-group.DEVELOPMENT_TOOLS", "description": "@string/permdesc_readLogs", "protectionLevel": "signature|system|development", "label": "@string/permlab_readLogs" }, "android.permission.SET_DEBUG_APP": { "permissionGroup": "android.permission-group.DEVELOPMENT_TOOLS", "description": "@string/permdesc_setDebugApp", "protectionLevel": "signature|system|development", "label": "@string/permlab_setDebugApp" }, "android.permission.SET_PROCESS_LIMIT": { "permissionGroup": "android.permission-group.DEVELOPMENT_TOOLS", "description": "@string/permdesc_setProcessLimit", "protectionLevel": "signature|system|development", "label": "@string/permlab_setProcessLimit" }, "android.permission.SET_ALWAYS_FINISH": { "permissionGroup": "android.permission-group.DEVELOPMENT_TOOLS", "description": "@string/permdesc_setAlwaysFinish", "protectionLevel": "signature|system|development", "label": "@string/permlab_setAlwaysFinish" }, "android.permission.SIGNAL_PERSISTENT_PROCESSES": { "permissionGroup": "android.permission-group.DEVELOPMENT_TOOLS", "description": "@string/permdesc_signalPersistentProcesses", "protectionLevel": "signature|system|development", "label": "@string/permlab_signalPersistentProcesses" }, "android.permission.DIAGNOSTIC": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_diagnostic", "protectionLevel": "signature", "label": "@string/permlab_diagnostic" }, "android.permission.STATUS_BAR": { "permissionGroup": "", "description": "@string/permdesc_statusBar", "protectionLevel": "signature|system", "label": "@string/permlab_statusBar" }, "android.permission.STATUS_BAR_SERVICE": { "permissionGroup": "", "description": "@string/permdesc_statusBarService", "protectionLevel": "signature", "label": "@string/permlab_statusBarService" }, "android.permission.FORCE_BACK": { "permissionGroup": "", "description": "@string/permdesc_forceBack", "protectionLevel": "signature", "label": "@string/permlab_forceBack" }, "android.permission.UPDATE_DEVICE_STATS": { "permissionGroup": "", "description": "@string/permdesc_updateBatteryStats", "protectionLevel": "signature|system", "label": "@string/permlab_updateBatteryStats" }, "android.permission.GET_APP_OPS_STATS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_getAppOpsStats", "protectionLevel": "signature|system|development", "label": "@string/permlab_getAppOpsStats" }, "android.permission.UPDATE_APP_OPS_STATS": { "permissionGroup": "", "description": "@string/permdesc_updateAppOpsStats", "protectionLevel": "signature|system", "label": "@string/permlab_updateAppOpsStats" }, "android.permission.INTERNAL_SYSTEM_WINDOW": { "permissionGroup": "", "description": "@string/permdesc_internalSystemWindow", "protectionLevel": "signature", "label": "@string/permlab_internalSystemWindow" }, "android.permission.MANAGE_APP_TOKENS": { "permissionGroup": "", "description": "@string/permdesc_manageAppTokens", "protectionLevel": "signature", "label": "@string/permlab_manageAppTokens" }, "android.permission.FREEZE_SCREEN": { "permissionGroup": "", "description": "@string/permdesc_freezeScreen", "protectionLevel": "signature", "label": "@string/permlab_freezeScreen" }, "android.permission.INJECT_EVENTS": { "permissionGroup": "", "description": "@string/permdesc_injectEvents", "protectionLevel": "signature", "label": "@string/permlab_injectEvents" }, "android.permission.FILTER_EVENTS": { "permissionGroup": "", "description": "@string/permdesc_filter_events", "protectionLevel": "signature", "label": "@string/permlab_filter_events" }, "android.permission.RETRIEVE_WINDOW_TOKEN": { "permissionGroup": "", "description": "@string/permdesc_retrieveWindowToken", "protectionLevel": "signature", "label": "@string/permlab_retrieveWindowToken" }, "android.permission.FRAME_STATS": { "permissionGroup": "", "description": "@string/permdesc_frameStats", "protectionLevel": "signature", "label": "@string/permlab_frameStats" }, "android.permission.TEMPORARY_ENABLE_ACCESSIBILITY": { "permissionGroup": "", "description": "@string/permdesc_temporary_enable_accessibility", "protectionLevel": "signature", "label": "@string/permlab_temporary_enable_accessibility" }, "android.permission.SET_ACTIVITY_WATCHER": { "permissionGroup": "", "description": "@string/permdesc_runSetActivityWatcher", "protectionLevel": "signature", "label": "@string/permlab_runSetActivityWatcher" }, "android.permission.SHUTDOWN": { "permissionGroup": "", "description": "@string/permdesc_shutdown", "protectionLevel": "signature|system", "label": "@string/permlab_shutdown" }, "android.permission.STOP_APP_SWITCHES": { "permissionGroup": "", "description": "@string/permdesc_stopAppSwitches", "protectionLevel": "signature|system", "label": "@string/permlab_stopAppSwitches" }, "android.permission.GET_TOP_ACTIVITY_INFO": { "permissionGroup": "", "description": "@string/permdesc_getTopActivityInfo", "protectionLevel": "signature", "label": "@string/permlab_getTopActivityInfo" }, "android.permission.READ_INPUT_STATE": { "permissionGroup": "", "description": "@string/permdesc_readInputState", "protectionLevel": "signature", "label": "@string/permlab_readInputState" }, "android.permission.BIND_INPUT_METHOD": { "permissionGroup": "", "description": "@string/permdesc_bindInputMethod", "protectionLevel": "signature", "label": "@string/permlab_bindInputMethod" }, "android.permission.BIND_ACCESSIBILITY_SERVICE": { "permissionGroup": "", "description": "@string/permdesc_bindAccessibilityService", "protectionLevel": "signature", "label": "@string/permlab_bindAccessibilityService" }, "android.permission.BIND_PRINT_SERVICE": { "permissionGroup": "", "description": "@string/permdesc_bindPrintService", "protectionLevel": "signature", "label": "@string/permlab_bindPrintService" }, "android.permission.BIND_NFC_SERVICE": { "permissionGroup": "", "description": "@string/permdesc_bindNfcService", "protectionLevel": "signature", "label": "@string/permlab_bindNfcService" }, "android.permission.BIND_PRINT_SPOOLER_SERVICE": { "permissionGroup": "", "description": "@string/permdesc_bindPrintSpoolerService", "protectionLevel": "signature", "label": "@string/permlab_bindPrintSpoolerService" }, "android.permission.BIND_TEXT_SERVICE": { "permissionGroup": "", "description": "@string/permdesc_bindTextService", "protectionLevel": "signature", "label": "@string/permlab_bindTextService" }, "android.permission.BIND_VPN_SERVICE": { "permissionGroup": "", "description": "@string/permdesc_bindVpnService", "protectionLevel": "signature", "label": "@string/permlab_bindVpnService" }, "android.permission.BIND_WALLPAPER": { "permissionGroup": "", "description": "@string/permdesc_bindWallpaper", "protectionLevel": "signature|system", "label": "@string/permlab_bindWallpaper" }, "android.permission.BIND_VOICE_INTERACTION": { "permissionGroup": "", "description": "@string/permdesc_bindVoiceInteraction", "protectionLevel": "signature", "label": "@string/permlab_bindVoiceInteraction" }, "android.permission.MANAGE_VOICE_KEYPHRASES": { "permissionGroup": "", "description": "@string/permdesc_manageVoiceKeyphrases", "protectionLevel": "signature|system", "label": "@string/permlab_manageVoiceKeyphrases" }, "android.permission.BIND_REMOTE_DISPLAY": { "permissionGroup": "", "description": "@string/permdesc_bindRemoteDisplay", "protectionLevel": "signature", "label": "@string/permlab_bindRemoteDisplay" }, "android.permission.BIND_TV_INPUT": { "permissionGroup": "", "description": "@string/permdesc_bindTvInput", "protectionLevel": "signature|system", "label": "@string/permlab_bindTvInput" }, "android.permission.MODIFY_PARENTAL_CONTROLS": { "permissionGroup": "", "description": "@string/permdesc_modifyParentalControls", "protectionLevel": "signature|system", "label": "@string/permlab_modifyParentalControls" }, "android.permission.BIND_DEVICE_ADMIN": { "permissionGroup": "", "description": "@string/permdesc_bindDeviceAdmin", "protectionLevel": "signature", "label": "@string/permlab_bindDeviceAdmin" }, "android.permission.MANAGE_DEVICE_ADMINS": { "permissionGroup": "", "description": "@string/permdesc_manageDeviceAdmins", "protectionLevel": "signature|system", "label": "@string/permlab_manageDeviceAdmins" }, "android.permission.SET_ORIENTATION": { "permissionGroup": "", "description": "@string/permdesc_setOrientation", "protectionLevel": "signature", "label": "@string/permlab_setOrientation" }, "android.permission.SET_POINTER_SPEED": { "permissionGroup": "", "description": "@string/permdesc_setPointerSpeed", "protectionLevel": "signature", "label": "@string/permlab_setPointerSpeed" }, "android.permission.SET_INPUT_CALIBRATION": { "permissionGroup": "", "description": "@string/permdesc_setInputCalibration", "protectionLevel": "signature", "label": "@string/permlab_setInputCalibration" }, "android.permission.SET_KEYBOARD_LAYOUT": { "permissionGroup": "", "description": "@string/permdesc_setKeyboardLayout", "protectionLevel": "signature", "label": "@string/permlab_setKeyboardLayout" }, "android.permission.INSTALL_PACKAGES": { "permissionGroup": "", "description": "@string/permdesc_installPackages", "protectionLevel": "signature|system", "label": "@string/permlab_installPackages" }, "android.permission.CLEAR_APP_USER_DATA": { "permissionGroup": "", "description": "@string/permdesc_clearAppUserData", "protectionLevel": "signature", "label": "@string/permlab_clearAppUserData" }, "android.permission.DELETE_CACHE_FILES": { "permissionGroup": "", "description": "@string/permdesc_deleteCacheFiles", "protectionLevel": "signature|system", "label": "@string/permlab_deleteCacheFiles" }, "android.permission.DELETE_PACKAGES": { "permissionGroup": "", "description": "@string/permdesc_deletePackages", "protectionLevel": "signature|system", "label": "@string/permlab_deletePackages" }, "android.permission.MOVE_PACKAGE": { "permissionGroup": "", "description": "@string/permdesc_movePackage", "protectionLevel": "signature|system", "label": "@string/permlab_movePackage" }, "android.permission.CHANGE_COMPONENT_ENABLED_STATE": { "permissionGroup": "", "description": "@string/permdesc_changeComponentState", "protectionLevel": "signature|system", "label": "@string/permlab_changeComponentState" }, "android.permission.GRANT_REVOKE_PERMISSIONS": { "permissionGroup": "", "description": "@string/permdesc_grantRevokePermissions", "protectionLevel": "signature", "label": "@string/permlab_grantRevokePermissions" }, "android.permission.ACCESS_SURFACE_FLINGER": { "permissionGroup": "", "description": "@string/permdesc_accessSurfaceFlinger", "protectionLevel": "signature", "label": "@string/permlab_accessSurfaceFlinger" }, "android.permission.READ_FRAME_BUFFER": { "permissionGroup": "", "description": "@string/permdesc_readFrameBuffer", "protectionLevel": "signature|system", "label": "@string/permlab_readFrameBuffer" }, "android.permission.ACCESS_INPUT_FLINGER": { "permissionGroup": "", "description": "@string/permdesc_accessInputFlinger", "protectionLevel": "signature", "label": "@string/permlab_accessInputFlinger" }, "android.permission.CONFIGURE_WIFI_DISPLAY": { "permissionGroup": "", "description": "@string/permdesc_configureWifiDisplay", "protectionLevel": "signature", "label": "@string/permlab_configureWifiDisplay" }, "android.permission.CONTROL_WIFI_DISPLAY": { "permissionGroup": "", "description": "@string/permdesc_controlWifiDisplay", "protectionLevel": "signature", "label": "@string/permlab_controlWifiDisplay" }, "android.permission.CAPTURE_AUDIO_OUTPUT": { "permissionGroup": "", "description": "@string/permdesc_captureAudioOutput", "protectionLevel": "signature|system", "label": "@string/permlab_captureAudioOutput" }, "android.permission.CAPTURE_AUDIO_HOTWORD": { "permissionGroup": "", "description": "@string/permdesc_captureAudioHotword", "protectionLevel": "signature|system", "label": "@string/permlab_captureAudioHotword" }, "android.permission.MODIFY_AUDIO_ROUTING": { "permissionGroup": "", "description": "@string/permdesc_modifyAudioRouting", "protectionLevel": "signature|system", "label": "@string/permlab_modifyAudioRouting" }, "android.permission.CAPTURE_VIDEO_OUTPUT": { "permissionGroup": "", "description": "@string/permdesc_captureVideoOutput", "protectionLevel": "signature|system", "label": "@string/permlab_captureVideoOutput" }, "android.permission.CAPTURE_SECURE_VIDEO_OUTPUT": { "permissionGroup": "", "description": "@string/permdesc_captureSecureVideoOutput", "protectionLevel": "signature|system", "label": "@string/permlab_captureSecureVideoOutput" }, "android.permission.MEDIA_CONTENT_CONTROL": { "permissionGroup": "", "description": "@string/permdesc_mediaContentControl", "protectionLevel": "signature|system", "label": "@string/permlab_mediaContentControl" }, "android.permission.BRICK": { "permissionGroup": "", "description": "@string/permdesc_brick", "protectionLevel": "signature", "label": "@string/permlab_brick" }, "android.permission.REBOOT": { "permissionGroup": "", "description": "@string/permdesc_reboot", "protectionLevel": "signature|system", "label": "@string/permlab_reboot" }, "android.permission.DEVICE_POWER": { "permissionGroup": "", "description": "@string/permdesc_devicePower", "protectionLevel": "signature", "label": "@string/permlab_devicePower" }, "android.permission.USER_ACTIVITY": { "permissionGroup": "", "description": "@string/permdesc_userActivity", "protectionLevel": "signature|system", "label": "@string/permlab_userActivity" }, "android.permission.NET_TUNNELING": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.FACTORY_TEST": { "permissionGroup": "", "description": "@string/permdesc_factoryTest", "protectionLevel": "signature", "label": "@string/permlab_factoryTest" }, "android.permission.BROADCAST_PACKAGE_REMOVED": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_broadcastPackageRemoved", "protectionLevel": "signature", "label": "@string/permlab_broadcastPackageRemoved" }, "android.permission.BROADCAST_SMS": { "permissionGroup": "android.permission-group.MESSAGES", "description": "@string/permdesc_broadcastSmsReceived", "protectionLevel": "signature", "label": "@string/permlab_broadcastSmsReceived" }, "android.permission.BROADCAST_WAP_PUSH": { "permissionGroup": "android.permission-group.MESSAGES", "description": "@string/permdesc_broadcastWapPush", "protectionLevel": "signature", "label": "@string/permlab_broadcastWapPush" }, "android.permission.BROADCAST_SCORE_NETWORKS": { "permissionGroup": "", "description": "@string/permdesc_broadcastScoreNetworks", "protectionLevel": "signature|system", "label": "@string/permlab_broadcastScoreNetworks" }, "android.permission.MASTER_CLEAR": { "permissionGroup": "", "description": "@string/permdesc_masterClear", "protectionLevel": "signature|system", "label": "@string/permlab_masterClear" }, "android.permission.CALL_PRIVILEGED": { "permissionGroup": "", "description": "@string/permdesc_callPrivileged", "protectionLevel": "signature|system", "label": "@string/permlab_callPrivileged" }, "android.permission.PERFORM_CDMA_PROVISIONING": { "permissionGroup": "", "description": "@string/permdesc_performCdmaProvisioning", "protectionLevel": "signature|system", "label": "@string/permlab_performCdmaProvisioning" }, "android.permission.CONTROL_LOCATION_UPDATES": { "permissionGroup": "", "description": "@string/permdesc_locationUpdates", "protectionLevel": "signature|system", "label": "@string/permlab_locationUpdates" }, "android.permission.ACCESS_CHECKIN_PROPERTIES": { "permissionGroup": "", "description": "@string/permdesc_checkinProperties", "protectionLevel": "signature|system", "label": "@string/permlab_checkinProperties" }, "android.permission.PACKAGE_USAGE_STATS": { "permissionGroup": "", "description": "@string/permdesc_pkgUsageStats", "protectionLevel": "signature|development|appop", "label": "@string/permlab_pkgUsageStats" }, "android.permission.BATTERY_STATS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_batteryStats", "protectionLevel": "signature|system|development", "label": "@string/permlab_batteryStats" }, "android.permission.BACKUP": { "permissionGroup": "", "description": "@string/permdesc_backup", "protectionLevel": "signature|system", "label": "@string/permlab_backup" }, "android.permission.CONFIRM_FULL_BACKUP": { "permissionGroup": "", "description": "@string/permdesc_confirm_full_backup", "protectionLevel": "signature", "label": "@string/permlab_confirm_full_backup" }, "android.permission.BIND_REMOTEVIEWS": { "permissionGroup": "", "description": "@string/permdesc_bindRemoteViews", "protectionLevel": "signature|system", "label": "@string/permlab_bindRemoteViews" }, "android.permission.BIND_APPWIDGET": { "permissionGroup": "android.permission-group.PERSONAL_INFO", "description": "@string/permdesc_bindGadget", "protectionLevel": "signature|system", "label": "@string/permlab_bindGadget" }, "android.permission.BIND_KEYGUARD_APPWIDGET": { "permissionGroup": "android.permission-group.PERSONAL_INFO", "description": "", "protectionLevel": "signature|system", "label": "" }, "android.permission.MODIFY_APPWIDGET_BIND_PERMISSIONS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "", "protectionLevel": "signature|system", "label": "" }, "android.permission.CHANGE_BACKGROUND_DATA_SETTING": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_changeBackgroundDataSetting", "protectionLevel": "signature", "label": "@string/permlab_changeBackgroundDataSetting" }, "android.permission.GLOBAL_SEARCH": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "", "protectionLevel": "signature|system", "label": "" }, "android.permission.GLOBAL_SEARCH_CONTROL": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.READ_SEARCH_INDEXABLES": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "", "protectionLevel": "signature|system", "label": "" }, "android.permission.SET_WALLPAPER_COMPONENT": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "", "protectionLevel": "signature|system", "label": "" }, "android.permission.READ_DREAM_STATE": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "", "protectionLevel": "signature|system", "label": "" }, "android.permission.WRITE_DREAM_STATE": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "", "protectionLevel": "signature|system", "label": "" }, "android.permission.ACCESS_CACHE_FILESYSTEM": { "permissionGroup": "", "description": "@string/permdesc_cache_filesystem", "protectionLevel": "signature|system", "label": "@string/permlab_cache_filesystem" }, "android.permission.COPY_PROTECTED_DATA": { "permissionGroup": "", "description": "@string/permlab_copyProtectedData", "protectionLevel": "signature", "label": "@string/permlab_copyProtectedData" }, "android.permission.CRYPT_KEEPER": { "permissionGroup": "", "description": "", "protectionLevel": "signature|system", "label": "" }, "android.permission.READ_NETWORK_USAGE_HISTORY": { "permissionGroup": "", "description": "@string/permdesc_readNetworkUsageHistory", "protectionLevel": "signature|system", "label": "@string/permlab_readNetworkUsageHistory" }, "android.permission.MANAGE_NETWORK_POLICY": { "permissionGroup": "", "description": "@string/permdesc_manageNetworkPolicy", "protectionLevel": "signature", "label": "@string/permlab_manageNetworkPolicy" }, "android.permission.MODIFY_NETWORK_ACCOUNTING": { "permissionGroup": "", "description": "@string/permdesc_modifyNetworkAccounting", "protectionLevel": "signature|system", "label": "@string/permlab_modifyNetworkAccounting" }, "android.intent.category.MASTER_CLEAR.permission.C2D_MESSAGE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.PACKAGE_VERIFICATION_AGENT": { "permissionGroup": "", "description": "@string/permdesc_packageVerificationAgent", "protectionLevel": "signature|system", "label": "@string/permlab_packageVerificationAgent" }, "android.permission.BIND_PACKAGE_VERIFIER": { "permissionGroup": "", "description": "@string/permdesc_bindPackageVerifier", "protectionLevel": "signature", "label": "@string/permlab_bindPackageVerifier" }, "android.permission.SERIAL_PORT": { "permissionGroup": "", "description": "@string/permdesc_serialPort", "protectionLevel": "signature|system", "label": "@string/permlab_serialPort" }, "android.permission.ACCESS_CONTENT_PROVIDERS_EXTERNALLY": { "permissionGroup": "", "description": "@string/permdesc_accessContentProvidersExternally", "protectionLevel": "signature", "label": "@string/permlab_accessContentProvidersExternally" }, "android.permission.UPDATE_LOCK": { "permissionGroup": "", "description": "@string/permdesc_updateLock", "protectionLevel": "signatureOrSystem", "label": "@string/permlab_updateLock" }, "android.permission.ACCESS_NOTIFICATIONS": { "permissionGroup": "", "description": "@string/permdesc_accessNotifications", "protectionLevel": "signature|system", "label": "@string/permlab_accessNotifications" }, "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE": { "permissionGroup": "", "description": "@string/permdesc_access_keyguard_secure_storage", "protectionLevel": "signature", "label": "@string/permlab_access_keyguard_secure_storage" }, "android.permission.CONTROL_KEYGUARD": { "permissionGroup": "", "description": "@string/permdesc_control_keyguard", "protectionLevel": "signature", "label": "@string/permlab_control_keyguard" }, "android.permission.TRUST_LISTENER": { "permissionGroup": "", "description": "@string/permdesc_trust_listener", "protectionLevel": "signature", "label": "@string/permlab_trust_listener" }, "android.permission.PROVIDE_TRUST_AGENT": { "permissionGroup": "", "description": "@string/permdesc_provide_trust_agent", "protectionLevel": "signatureOrSystem", "label": "@string/permlab_provide_trust_agent" }, "android.permission.LAUNCH_TRUST_AGENT_SETTINGS": { "permissionGroup": "", "description": "@string/permdesc_launch_trust_agent_settings", "protectionLevel": "signatureOrSystem", "label": "@string/permlab_launch_trust_agent_settings" }, "android.permission.BIND_TRUST_AGENT": { "permissionGroup": "", "description": "@string/permdesc_bind_trust_agent_service", "protectionLevel": "signature", "label": "@string/permlab_bind_trust_agent_service" }, "android.permission.BIND_NOTIFICATION_LISTENER_SERVICE": { "permissionGroup": "", "description": "@string/permdesc_bindNotificationListenerService", "protectionLevel": "signature", "label": "@string/permlab_bindNotificationListenerService" }, "android.permission.BIND_CONDITION_PROVIDER_SERVICE": { "permissionGroup": "", "description": "@string/permdesc_bindConditionProviderService", "protectionLevel": "signature", "label": "@string/permlab_bindConditionProviderService" }, "android.permission.BIND_DREAM_SERVICE": { "permissionGroup": "", "description": "@string/permdesc_bindDreamService", "protectionLevel": "signature", "label": "@string/permlab_bindDreamService" }, "android.permission.INVOKE_CARRIER_SETUP": { "permissionGroup": "", "description": "@string/permdesc_invokeCarrierSetup", "protectionLevel": "signature|system", "label": "@string/permlab_invokeCarrierSetup" }, "android.permission.ACCESS_NETWORK_CONDITIONS": { "permissionGroup": "", "description": "@string/permdesc_accessNetworkConditions", "protectionLevel": "signature|system", "label": "@string/permlab_accessNetworkConditions" }, "android.permission.ACCESS_DRM_CERTIFICATES": { "permissionGroup": "", "description": "@string/permdesc_accessDrmCertificates", "protectionLevel": "signature|system", "label": "@string/permlab_accessDrmCertificates" }, "android.permission.MANAGE_MEDIA_PROJECTION": { "permissionGroup": "", "description": "@string/permdesc_manageMediaProjection", "protectionLevel": "signature", "label": "@string/permlab_manageMediaProjection" }, "android.permission.READ_INSTALL_SESSIONS": { "permissionGroup": "", "description": "@string/permdesc_readInstallSessions", "protectionLevel": "", "label": "@string/permlab_readInstallSessions" }, "android.permission.REMOVE_DRM_CERTIFICATES": { "permissionGroup": "", "description": "@string/permdesc_removeDrmCertificates", "protectionLevel": "signature|system", "label": "@string/permlab_removeDrmCertificates" }, "org.chromium.chrome.shell.permission.SANDBOX": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "org.chromium.chrome.shell.permission.C2D_MESSAGE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.ACCESS_BLUETOOTH_SHARE": { "permissionGroup": "", "description": "@string/permdesc_bluetoothShareManager", "protectionLevel": "signature", "label": "@string/permlab_bluetoothShareManager" }, "com.android.permission.WHITELIST_BLUETOOTH_DEVICE": { "permissionGroup": "", "description": "@string/permdesc_bluetoothWhitelist", "protectionLevel": "signature", "label": "@string/permlab_bluetoothWhitelist" }, "com.android.browser.permission.PRELOAD": { "permissionGroup": "", "description": "", "protectionLevel": "signatureOrSystem", "label": "@string/permission_preload_label" }, "com.android.email.permission.READ_ATTACHMENT": { "permissionGroup": "android.permission-group.MESSAGES", "description": "@string/permission_read_attachment_desc", "protectionLevel": "dangerous", "label": "@string/permission_read_attachment_label" }, "com.android.email.permission.ACCESS_PROVIDER": { "permissionGroup": "", "description": "@string/permission_access_provider_desc", "protectionLevel": "signature", "label": "@string/permission_access_provider_label" }, "com.android.gallery3d.permission.GALLERY_PROVIDER": { "permissionGroup": "", "description": "", "protectionLevel": "signatureOrSystem", "label": "" }, "com.android.launcher.permission.PRELOAD_WORKSPACE": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "", "protectionLevel": "signatureOrSystem", "label": "" }, "com.android.launcher.permission.READ_SETTINGS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_read_settings", "protectionLevel": "normal", "label": "@string/permlab_read_settings" }, "com.android.launcher.permission.WRITE_SETTINGS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_write_settings", "protectionLevel": "signatureOrSystem", "label": "@string/permlab_write_settings" }, "com.android.launcher3.permission.READ_SETTINGS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_read_settings", "protectionLevel": "normal", "label": "@string/permlab_read_settings" }, "com.android.launcher3.permission.WRITE_SETTINGS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_write_settings", "protectionLevel": "signatureOrSystem", "label": "@string/permlab_write_settings" }, "com.android.launcher3.permission.RECEIVE_LAUNCH_BROADCASTS": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "com.android.launcher3.permission.RECEIVE_FIRST_LOAD_BROADCAST": { "permissionGroup": "", "description": "", "protectionLevel": "signatureOrSystem", "label": "" }, "android.permission.MMS_SEND_OUTBOX_MSG": { "permissionGroup": "", "description": "@string/desc_mms_send_outbox_msg", "protectionLevel": "signatureOrSystem", "label": "@string/label_mms_send_outbox_msg" }, "android.permission.ACCESS_DOWNLOAD_MANAGER": { "permissionGroup": "", "description": "@string/permdesc_downloadManager", "protectionLevel": "signatureOrSystem", "label": "@string/permlab_downloadManager" }, "android.permission.ACCESS_DOWNLOAD_MANAGER_ADVANCED": { "permissionGroup": "", "description": "@string/permdesc_downloadManagerAdvanced", "protectionLevel": "signatureOrSystem", "label": "@string/permlab_downloadManagerAdvanced" }, "android.permission.SEND_DOWNLOAD_COMPLETED_INTENTS": { "permissionGroup": "", "description": "@string/permdesc_downloadCompletedIntent", "protectionLevel": "signature", "label": "@string/permlab_downloadCompletedIntent" }, "android.permission.DOWNLOAD_CACHE_NON_PURGEABLE": { "permissionGroup": "", "description": "@string/permdesc_downloadCacheNonPurgeable", "protectionLevel": "signatureOrSystem", "label": "@string/permlab_downloadCacheNonPurgeable" }, "android.permission.DOWNLOAD_WITHOUT_NOTIFICATION": { "permissionGroup": "android.permission-group.NETWORK", "description": "@string/permdesc_downloadWithoutNotification", "protectionLevel": "normal", "label": "@string/permlab_downloadWithoutNotification" }, "android.permission.ACCESS_ALL_DOWNLOADS": { "permissionGroup": "", "description": "@string/permdesc_accessAllDownloads", "protectionLevel": "signature", "label": "@string/permlab_accessAllDownloads" }, "com.android.providers.tv.permission.READ_EPG_DATA": { "permissionGroup": "", "description": "@string/permdesc_readEpgData", "protectionLevel": "dangerous", "label": "@string/permlab_readEpgData" }, "com.android.providers.tv.permission.WRITE_EPG_DATA": { "permissionGroup": "", "description": "@string/permdesc_writeEpgData", "protectionLevel": "dangerous", "label": "@string/permlab_writeEpgData" }, "com.android.providers.tv.permission.ACCESS_ALL_EPG_DATA": { "permissionGroup": "", "description": "@string/permdesc_accessAllEpgData", "protectionLevel": "signatureOrSystem", "label": "@string/permlab_accessAllEpgData" }, "com.android.providers.tv.permission.ACCESS_WATCHED_PROGRAMS": { "permissionGroup": "", "description": "@string/permdesc_accessWatchedPrograms", "protectionLevel": "signatureOrSystem", "label": "@string/permlab_accessWatchedPrograms" } }androguard-3.1.0-rc2/androguard/core/api_specific_resources/aosp_permissions/permissions_22.json000066400000000000000000002264441324327352200333000ustar00rootroot00000000000000{ "android.permission.SEND_SMS": { "permissionGroup": "android.permission-group.MESSAGES", "description": "@string/permdesc_sendSms", "protectionLevel": "dangerous", "label": "@string/permlab_sendSms" }, "android.permission.SEND_RESPOND_VIA_MESSAGE": { "permissionGroup": "android.permission-group.MESSAGES", "description": "@string/permdesc_sendRespondViaMessageRequest", "protectionLevel": "signature|system", "label": "@string/permlab_sendRespondViaMessageRequest" }, "android.permission.RECEIVE_SMS": { "permissionGroup": "android.permission-group.MESSAGES", "description": "@string/permdesc_receiveSms", "protectionLevel": "dangerous", "label": "@string/permlab_receiveSms" }, "android.permission.RECEIVE_MMS": { "permissionGroup": "android.permission-group.MESSAGES", "description": "@string/permdesc_receiveMms", "protectionLevel": "dangerous", "label": "@string/permlab_receiveMms" }, "android.permission.CARRIER_FILTER_SMS": { "permissionGroup": "android.permission-group.MESSAGES", "description": "", "protectionLevel": "signature|system", "label": "" }, "android.permission.RECEIVE_EMERGENCY_BROADCAST": { "permissionGroup": "android.permission-group.MESSAGES", "description": "@string/permdesc_receiveEmergencyBroadcast", "protectionLevel": "signature|system", "label": "@string/permlab_receiveEmergencyBroadcast" }, "android.permission.READ_CELL_BROADCASTS": { "permissionGroup": "android.permission-group.MESSAGES", "description": "@string/permdesc_readCellBroadcasts", "protectionLevel": "dangerous", "label": "@string/permlab_readCellBroadcasts" }, "android.permission.READ_SMS": { "permissionGroup": "android.permission-group.MESSAGES", "description": "@string/permdesc_readSms", "protectionLevel": "dangerous", "label": "@string/permlab_readSms" }, "android.permission.WRITE_SMS": { "permissionGroup": "android.permission-group.MESSAGES", "description": "@string/permdesc_writeSms", "protectionLevel": "dangerous", "label": "@string/permlab_writeSms" }, "android.permission.RECEIVE_WAP_PUSH": { "permissionGroup": "android.permission-group.MESSAGES", "description": "@string/permdesc_receiveWapPush", "protectionLevel": "dangerous", "label": "@string/permlab_receiveWapPush" }, "android.permission.RECEIVE_BLUETOOTH_MAP": { "permissionGroup": "android.permission-group.MESSAGES", "description": "@string/permdesc_receiveBluetoothMap", "protectionLevel": "signature|system", "label": "@string/permlab_receiveBluetoothMap" }, "android.permission.READ_CONTACTS": { "permissionGroup": "android.permission-group.SOCIAL_INFO", "description": "@string/permdesc_readContacts", "protectionLevel": "dangerous", "label": "@string/permlab_readContacts" }, "android.permission.WRITE_CONTACTS": { "permissionGroup": "android.permission-group.SOCIAL_INFO", "description": "@string/permdesc_writeContacts", "protectionLevel": "dangerous", "label": "@string/permlab_writeContacts" }, "android.permission.BIND_DIRECTORY_SEARCH": { "permissionGroup": "android.permission-group.PERSONAL_INFO", "description": "", "protectionLevel": "signature|system", "label": "" }, "android.permission.READ_CALL_LOG": { "permissionGroup": "android.permission-group.SOCIAL_INFO", "description": "@string/permdesc_readCallLog", "protectionLevel": "dangerous", "label": "@string/permlab_readCallLog" }, "android.permission.WRITE_CALL_LOG": { "permissionGroup": "android.permission-group.SOCIAL_INFO", "description": "@string/permdesc_writeCallLog", "protectionLevel": "dangerous", "label": "@string/permlab_writeCallLog" }, "android.permission.READ_SOCIAL_STREAM": { "permissionGroup": "android.permission-group.SOCIAL_INFO", "description": "@string/permdesc_readSocialStream", "protectionLevel": "dangerous", "label": "@string/permlab_readSocialStream" }, "android.permission.WRITE_SOCIAL_STREAM": { "permissionGroup": "android.permission-group.SOCIAL_INFO", "description": "@string/permdesc_writeSocialStream", "protectionLevel": "dangerous", "label": "@string/permlab_writeSocialStream" }, "android.permission.READ_PROFILE": { "permissionGroup": "android.permission-group.PERSONAL_INFO", "description": "@string/permdesc_readProfile", "protectionLevel": "dangerous", "label": "@string/permlab_readProfile" }, "android.permission.WRITE_PROFILE": { "permissionGroup": "android.permission-group.PERSONAL_INFO", "description": "@string/permdesc_writeProfile", "protectionLevel": "dangerous", "label": "@string/permlab_writeProfile" }, "android.permission.BODY_SENSORS": { "permissionGroup": "android.permission-group.PERSONAL_INFO", "description": "@string/permdesc_bodySensors", "protectionLevel": "", "label": "@string/permlab_bodySensors" }, "android.permission.READ_CALENDAR": { "permissionGroup": "android.permission-group.PERSONAL_INFO", "description": "@string/permdesc_readCalendar", "protectionLevel": "dangerous", "label": "@string/permlab_readCalendar" }, "android.permission.WRITE_CALENDAR": { "permissionGroup": "android.permission-group.PERSONAL_INFO", "description": "@string/permdesc_writeCalendar", "protectionLevel": "dangerous", "label": "@string/permlab_writeCalendar" }, "android.permission.READ_USER_DICTIONARY": { "permissionGroup": "android.permission-group.USER_DICTIONARY", "description": "@string/permdesc_readDictionary", "protectionLevel": "dangerous", "label": "@string/permlab_readDictionary" }, "android.permission.WRITE_USER_DICTIONARY": { "permissionGroup": "android.permission-group.WRITE_USER_DICTIONARY", "description": "@string/permdesc_writeDictionary", "protectionLevel": "normal", "label": "@string/permlab_writeDictionary" }, "com.android.browser.permission.READ_HISTORY_BOOKMARKS": { "permissionGroup": "android.permission-group.BOOKMARKS", "description": "@string/permdesc_readHistoryBookmarks", "protectionLevel": "dangerous", "label": "@string/permlab_readHistoryBookmarks" }, "com.android.browser.permission.WRITE_HISTORY_BOOKMARKS": { "permissionGroup": "android.permission-group.BOOKMARKS", "description": "@string/permdesc_writeHistoryBookmarks", "protectionLevel": "dangerous", "label": "@string/permlab_writeHistoryBookmarks" }, "com.android.alarm.permission.SET_ALARM": { "permissionGroup": "android.permission-group.DEVICE_ALARMS", "description": "@string/permdesc_setAlarm", "protectionLevel": "normal", "label": "@string/permlab_setAlarm" }, "com.android.voicemail.permission.ADD_VOICEMAIL": { "permissionGroup": "android.permission-group.VOICEMAIL", "description": "@string/permdesc_addVoicemail", "protectionLevel": "dangerous", "label": "@string/permlab_addVoicemail" }, "com.android.voicemail.permission.WRITE_VOICEMAIL": { "permissionGroup": "android.permission-group.VOICEMAIL", "description": "@string/permdesc_writeVoicemail", "protectionLevel": "system|signature", "label": "@string/permlab_writeVoicemail" }, "com.android.voicemail.permission.READ_VOICEMAIL": { "permissionGroup": "android.permission-group.VOICEMAIL", "description": "@string/permdesc_readVoicemail", "protectionLevel": "system|signature", "label": "@string/permlab_readVoicemail" }, "android.permission.ACCESS_FINE_LOCATION": { "permissionGroup": "android.permission-group.LOCATION", "description": "@string/permdesc_accessFineLocation", "protectionLevel": "dangerous", "label": "@string/permlab_accessFineLocation" }, "android.permission.ACCESS_COARSE_LOCATION": { "permissionGroup": "android.permission-group.LOCATION", "description": "@string/permdesc_accessCoarseLocation", "protectionLevel": "dangerous", "label": "@string/permlab_accessCoarseLocation" }, "android.permission.ACCESS_MOCK_LOCATION": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_accessMockLocation", "protectionLevel": "dangerous", "label": "@string/permlab_accessMockLocation" }, "android.permission.ACCESS_LOCATION_EXTRA_COMMANDS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_accessLocationExtraCommands", "protectionLevel": "normal", "label": "@string/permlab_accessLocationExtraCommands" }, "android.permission.INSTALL_LOCATION_PROVIDER": { "permissionGroup": "", "description": "@string/permdesc_installLocationProvider", "protectionLevel": "signature|system", "label": "@string/permlab_installLocationProvider" }, "android.permission.HDMI_CEC": { "permissionGroup": "", "description": "", "protectionLevel": "signatureOrSystem", "label": "" }, "android.permission.LOCATION_HARDWARE": { "permissionGroup": "android.permission-group.LOCATION", "description": "", "protectionLevel": "signature|system", "label": "" }, "android.permission.INTERNET": { "permissionGroup": "android.permission-group.NETWORK", "description": "@string/permdesc_createNetworkSockets", "protectionLevel": "dangerous", "label": "@string/permlab_createNetworkSockets" }, "android.permission.ACCESS_NETWORK_STATE": { "permissionGroup": "android.permission-group.NETWORK", "description": "@string/permdesc_accessNetworkState", "protectionLevel": "normal", "label": "@string/permlab_accessNetworkState" }, "android.permission.ACCESS_WIFI_STATE": { "permissionGroup": "android.permission-group.NETWORK", "description": "@string/permdesc_accessWifiState", "protectionLevel": "normal", "label": "@string/permlab_accessWifiState" }, "android.permission.CHANGE_WIFI_STATE": { "permissionGroup": "android.permission-group.NETWORK", "description": "@string/permdesc_changeWifiState", "protectionLevel": "dangerous", "label": "@string/permlab_changeWifiState" }, "android.permission.READ_WIFI_CREDENTIAL": { "permissionGroup": "android.permission-group.NETWORK", "description": "", "protectionLevel": "signature|system", "label": "" }, "android.permission.ACCESS_WIMAX_STATE": { "permissionGroup": "android.permission-group.NETWORK", "description": "@string/permdesc_accessWimaxState", "protectionLevel": "normal", "label": "@string/permlab_accessWimaxState" }, "android.permission.CHANGE_WIMAX_STATE": { "permissionGroup": "android.permission-group.NETWORK", "description": "@string/permdesc_changeWimaxState", "protectionLevel": "dangerous", "label": "@string/permlab_changeWimaxState" }, "android.permission.SCORE_NETWORKS": { "permissionGroup": "android.permission-group.NETWORK", "description": "@string/permdesc_scoreNetworks", "protectionLevel": "signature|system", "label": "@string/permlab_scoreNetworks" }, "android.permission.BLUETOOTH": { "permissionGroup": "android.permission-group.BLUETOOTH_NETWORK", "description": "@string/permdesc_bluetooth", "protectionLevel": "dangerous", "label": "@string/permlab_bluetooth" }, "android.permission.BLUETOOTH_ADMIN": { "permissionGroup": "android.permission-group.BLUETOOTH_NETWORK", "description": "@string/permdesc_bluetoothAdmin", "protectionLevel": "dangerous", "label": "@string/permlab_bluetoothAdmin" }, "android.permission.BLUETOOTH_PRIVILEGED": { "permissionGroup": "android.permission-group.BLUETOOTH_NETWORK", "description": "@string/permdesc_bluetoothPriv", "protectionLevel": "system|signature", "label": "@string/permlab_bluetoothPriv" }, "android.permission.BLUETOOTH_MAP": { "permissionGroup": "android.permission-group.BLUETOOTH_NETWORK", "description": "@string/permdesc_bluetoothMap", "protectionLevel": "signature", "label": "@string/permlab_bluetoothMap" }, "android.permission.BLUETOOTH_STACK": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.NFC": { "permissionGroup": "android.permission-group.NETWORK", "description": "@string/permdesc_nfc", "protectionLevel": "dangerous", "label": "@string/permlab_nfc" }, "android.permission.CONNECTIVITY_INTERNAL": { "permissionGroup": "android.permission-group.NETWORK", "description": "", "protectionLevel": "signature|system", "label": "" }, "android.permission.RECEIVE_DATA_ACTIVITY_CHANGE": { "permissionGroup": "android.permission-group.NETWORK", "description": "", "protectionLevel": "signature|system", "label": "" }, "android.permission.LOOP_RADIO": { "permissionGroup": "android.permission-group.NETWORK", "description": "", "protectionLevel": "signature|system", "label": "" }, "android.permission.NFC_HANDOVER_STATUS": { "permissionGroup": "", "description": "@string/permdesc_handoverStatus", "protectionLevel": "signature|system", "label": "@string/permlab_handoverStatus" }, "android.permission.GET_ACCOUNTS": { "permissionGroup": "android.permission-group.ACCOUNTS", "description": "@string/permdesc_getAccounts", "protectionLevel": "normal", "label": "@string/permlab_getAccounts" }, "android.permission.AUTHENTICATE_ACCOUNTS": { "permissionGroup": "android.permission-group.ACCOUNTS", "description": "@string/permdesc_authenticateAccounts", "protectionLevel": "dangerous", "label": "@string/permlab_authenticateAccounts" }, "android.permission.USE_CREDENTIALS": { "permissionGroup": "android.permission-group.ACCOUNTS", "description": "@string/permdesc_useCredentials", "protectionLevel": "dangerous", "label": "@string/permlab_useCredentials" }, "android.permission.MANAGE_ACCOUNTS": { "permissionGroup": "android.permission-group.ACCOUNTS", "description": "@string/permdesc_manageAccounts", "protectionLevel": "dangerous", "label": "@string/permlab_manageAccounts" }, "android.permission.ACCOUNT_MANAGER": { "permissionGroup": "android.permission-group.ACCOUNTS", "description": "@string/permdesc_accountManagerService", "protectionLevel": "signature", "label": "@string/permlab_accountManagerService" }, "android.permission.CHANGE_WIFI_MULTICAST_STATE": { "permissionGroup": "android.permission-group.AFFECTS_BATTERY", "description": "@string/permdesc_changeWifiMulticastState", "protectionLevel": "dangerous", "label": "@string/permlab_changeWifiMulticastState" }, "android.permission.VIBRATE": { "permissionGroup": "android.permission-group.AFFECTS_BATTERY", "description": "@string/permdesc_vibrate", "protectionLevel": "normal", "label": "@string/permlab_vibrate" }, "android.permission.FLASHLIGHT": { "permissionGroup": "android.permission-group.AFFECTS_BATTERY", "description": "@string/permdesc_flashlight", "protectionLevel": "normal", "label": "@string/permlab_flashlight" }, "android.permission.WAKE_LOCK": { "permissionGroup": "android.permission-group.AFFECTS_BATTERY", "description": "@string/permdesc_wakeLock", "protectionLevel": "normal", "label": "@string/permlab_wakeLock" }, "android.permission.TRANSMIT_IR": { "permissionGroup": "android.permission-group.AFFECTS_BATTERY", "description": "@string/permdesc_transmitIr", "protectionLevel": "normal", "label": "@string/permlab_transmitIr" }, "android.permission.MODIFY_AUDIO_SETTINGS": { "permissionGroup": "android.permission-group.AUDIO_SETTINGS", "description": "@string/permdesc_modifyAudioSettings", "protectionLevel": "normal", "label": "@string/permlab_modifyAudioSettings" }, "android.permission.MANAGE_USB": { "permissionGroup": "android.permission-group.HARDWARE_CONTROLS", "description": "@string/permdesc_manageUsb", "protectionLevel": "signature|system", "label": "@string/permlab_manageUsb" }, "android.permission.ACCESS_MTP": { "permissionGroup": "android.permission-group.HARDWARE_CONTROLS", "description": "@string/permdesc_accessMtp", "protectionLevel": "signature|system", "label": "@string/permlab_accessMtp" }, "android.permission.HARDWARE_TEST": { "permissionGroup": "android.permission-group.HARDWARE_CONTROLS", "description": "@string/permdesc_hardware_test", "protectionLevel": "signature", "label": "@string/permlab_hardware_test" }, "android.permission.ACCESS_FM_RADIO": { "permissionGroup": "android.permission-group.HARDWARE_CONTROLS", "description": "@string/permdesc_fm", "protectionLevel": "signature|system", "label": "@string/permlab_fm" }, "android.permission.NET_ADMIN": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.REMOTE_AUDIO_PLAYBACK": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.TV_INPUT_HARDWARE": { "permissionGroup": "", "description": "", "protectionLevel": "signatureOrSystem", "label": "" }, "android.permission.CAPTURE_TV_INPUT": { "permissionGroup": "", "description": "", "protectionLevel": "signatureOrSystem", "label": "" }, "android.permission.OEM_UNLOCK_STATE": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.ACCESS_PDB_STATE": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.RECORD_AUDIO": { "permissionGroup": "android.permission-group.MICROPHONE", "description": "@string/permdesc_recordAudio", "protectionLevel": "dangerous", "label": "@string/permlab_recordAudio" }, "android.permission.CAMERA": { "permissionGroup": "android.permission-group.CAMERA", "description": "@string/permdesc_camera", "protectionLevel": "dangerous", "label": "@string/permlab_camera" }, "android.permission.CAMERA_DISABLE_TRANSMIT_LED": { "permissionGroup": "android.permission-group.CAMERA", "description": "@string/permdesc_cameraDisableTransmitLed", "protectionLevel": "signature|system", "label": "@string/permlab_cameraDisableTransmitLed" }, "android.permission.PROCESS_OUTGOING_CALLS": { "permissionGroup": "android.permission-group.PHONE_CALLS", "description": "@string/permdesc_processOutgoingCalls", "protectionLevel": "dangerous", "label": "@string/permlab_processOutgoingCalls" }, "android.permission.MODIFY_PHONE_STATE": { "permissionGroup": "android.permission-group.PHONE_CALLS", "description": "@string/permdesc_modifyPhoneState", "protectionLevel": "signature|system", "label": "@string/permlab_modifyPhoneState" }, "android.permission.READ_PHONE_STATE": { "permissionGroup": "android.permission-group.PHONE_CALLS", "description": "@string/permdesc_readPhoneState", "protectionLevel": "dangerous", "label": "@string/permlab_readPhoneState" }, "android.permission.READ_PRECISE_PHONE_STATE": { "permissionGroup": "android.permission-group.PHONE_CALLS", "description": "@string/permdesc_readPrecisePhoneState", "protectionLevel": "signature|system", "label": "@string/permlab_readPrecisePhoneState" }, "android.permission.READ_PRIVILEGED_PHONE_STATE": { "permissionGroup": "android.permission-group.PHONE_CALLS", "description": "", "protectionLevel": "signature|system", "label": "" }, "android.permission.CALL_PHONE": { "permissionGroup": "android.permission-group.PHONE_CALLS", "description": "@string/permdesc_callPhone", "protectionLevel": "dangerous", "label": "@string/permlab_callPhone" }, "android.permission.USE_SIP": { "permissionGroup": "android.permission-group.PHONE_CALLS", "description": "@string/permdesc_use_sip", "protectionLevel": "dangerous", "label": "@string/permlab_use_sip" }, "android.permission.REGISTER_SIM_SUBSCRIPTION": { "permissionGroup": "android.permission-group.PHONE_CALLS", "description": "@string/permdesc_register_sim_subscription", "protectionLevel": "system|signature", "label": "@string/permlab_register_sim_subscription" }, "android.permission.REGISTER_CALL_PROVIDER": { "permissionGroup": "android.permission-group.PHONE_CALLS", "description": "@string/permdesc_register_call_provider", "protectionLevel": "system|signature", "label": "@string/permlab_register_call_provider" }, "android.permission.REGISTER_CONNECTION_MANAGER": { "permissionGroup": "android.permission-group.PHONE_CALLS", "description": "@string/permdesc_connection_manager", "protectionLevel": "system|signature", "label": "@string/permlab_connection_manager" }, "android.permission.BIND_INCALL_SERVICE": { "permissionGroup": "android.permission-group.PHONE_CALLS", "description": "@string/permdesc_bind_incall_service", "protectionLevel": "system|signature", "label": "@string/permlab_bind_incall_service" }, "android.permission.BIND_CONNECTION_SERVICE": { "permissionGroup": "android.permission-group.PHONE_CALLS", "description": "@string/permdesc_bind_connection_service", "protectionLevel": "system|signature", "label": "@string/permlab_bind_connection_service" }, "android.permission.CONTROL_INCALL_EXPERIENCE": { "permissionGroup": "android.permission-group.PHONE_CALLS", "description": "@string/permdesc_control_incall_experience", "protectionLevel": "system|signature", "label": "@string/permlab_control_incall_experience" }, "android.permission.READ_EXTERNAL_STORAGE": { "permissionGroup": "android.permission-group.STORAGE", "description": "@string/permdesc_sdcardRead", "protectionLevel": "normal", "label": "@string/permlab_sdcardRead" }, "android.permission.WRITE_EXTERNAL_STORAGE": { "permissionGroup": "android.permission-group.STORAGE", "description": "@string/permdesc_sdcardWrite", "protectionLevel": "dangerous", "label": "@string/permlab_sdcardWrite" }, "android.permission.WRITE_MEDIA_STORAGE": { "permissionGroup": "android.permission-group.STORAGE", "description": "@string/permdesc_mediaStorageWrite", "protectionLevel": "signature|system", "label": "@string/permlab_mediaStorageWrite" }, "android.permission.MANAGE_DOCUMENTS": { "permissionGroup": "android.permission-group.STORAGE", "description": "@string/permdesc_manageDocs", "protectionLevel": "signature", "label": "@string/permlab_manageDocs" }, "android.permission.DISABLE_KEYGUARD": { "permissionGroup": "android.permission-group.SCREENLOCK", "description": "@string/permdesc_disableKeyguard", "protectionLevel": "dangerous", "label": "@string/permlab_disableKeyguard" }, "android.permission.GET_TASKS": { "permissionGroup": "android.permission-group.APP_INFO", "description": "@string/permdesc_getTasks", "protectionLevel": "normal", "label": "@string/permlab_getTasks" }, "android.permission.REAL_GET_TASKS": { "permissionGroup": "android.permission-group.APP_INFO", "description": "@string/permdesc_getTasks", "protectionLevel": "signature|system", "label": "@string/permlab_getTasks" }, "android.permission.START_TASKS_FROM_RECENTS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_startTasksFromRecents", "protectionLevel": "signature|system", "label": "@string/permlab_startTasksFromRecents" }, "android.permission.INTERACT_ACROSS_USERS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_interactAcrossUsers", "protectionLevel": "signature|system|development", "label": "@string/permlab_interactAcrossUsers" }, "android.permission.INTERACT_ACROSS_USERS_FULL": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_interactAcrossUsersFull", "protectionLevel": "signature", "label": "@string/permlab_interactAcrossUsersFull" }, "android.permission.MANAGE_USERS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_manageUsers", "protectionLevel": "signature|system", "label": "@string/permlab_manageUsers" }, "android.permission.GET_DETAILED_TASKS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_getDetailedTasks", "protectionLevel": "signature", "label": "@string/permlab_getDetailedTasks" }, "android.permission.REORDER_TASKS": { "permissionGroup": "android.permission-group.APP_INFO", "description": "@string/permdesc_reorderTasks", "protectionLevel": "normal", "label": "@string/permlab_reorderTasks" }, "android.permission.REMOVE_TASKS": { "permissionGroup": "android.permission-group.APP_INFO", "description": "@string/permdesc_removeTasks", "protectionLevel": "signature", "label": "@string/permlab_removeTasks" }, "android.permission.MANAGE_ACTIVITY_STACKS": { "permissionGroup": "android.permission-group.APP_INFO", "description": "@string/permdesc_manageActivityStacks", "protectionLevel": "signature|system", "label": "@string/permlab_manageActivityStacks" }, "android.permission.START_ANY_ACTIVITY": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_startAnyActivity", "protectionLevel": "signature", "label": "@string/permlab_startAnyActivity" }, "android.permission.RESTART_PACKAGES": { "permissionGroup": "android.permission-group.APP_INFO", "description": "@string/permdesc_killBackgroundProcesses", "protectionLevel": "normal", "label": "@string/permlab_killBackgroundProcesses" }, "android.permission.KILL_BACKGROUND_PROCESSES": { "permissionGroup": "android.permission-group.APP_INFO", "description": "@string/permdesc_killBackgroundProcesses", "protectionLevel": "normal", "label": "@string/permlab_killBackgroundProcesses" }, "android.permission.SYSTEM_ALERT_WINDOW": { "permissionGroup": "android.permission-group.DISPLAY", "description": "@string/permdesc_systemAlertWindow", "protectionLevel": "dangerous", "label": "@string/permlab_systemAlertWindow" }, "android.permission.SET_WALLPAPER": { "permissionGroup": "android.permission-group.WALLPAPER", "description": "@string/permdesc_setWallpaper", "protectionLevel": "normal", "label": "@string/permlab_setWallpaper" }, "android.permission.SET_WALLPAPER_HINTS": { "permissionGroup": "android.permission-group.WALLPAPER", "description": "@string/permdesc_setWallpaperHints", "protectionLevel": "normal", "label": "@string/permlab_setWallpaperHints" }, "android.permission.SET_TIME": { "permissionGroup": "", "description": "@string/permdesc_setTime", "protectionLevel": "signature|system", "label": "@string/permlab_setTime" }, "android.permission.SET_TIME_ZONE": { "permissionGroup": "android.permission-group.SYSTEM_CLOCK", "description": "@string/permdesc_setTimeZone", "protectionLevel": "normal", "label": "@string/permlab_setTimeZone" }, "android.permission.EXPAND_STATUS_BAR": { "permissionGroup": "android.permission-group.STATUS_BAR", "description": "@string/permdesc_expandStatusBar", "protectionLevel": "normal", "label": "@string/permlab_expandStatusBar" }, "com.android.launcher.permission.INSTALL_SHORTCUT": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_install_shortcut", "protectionLevel": "dangerous", "label": "@string/permlab_install_shortcut" }, "com.android.launcher.permission.UNINSTALL_SHORTCUT": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_uninstall_shortcut", "protectionLevel": "dangerous", "label": "@string/permlab_uninstall_shortcut" }, "android.permission.READ_SYNC_SETTINGS": { "permissionGroup": "android.permission-group.SYNC_SETTINGS", "description": "@string/permdesc_readSyncSettings", "protectionLevel": "normal", "label": "@string/permlab_readSyncSettings" }, "android.permission.WRITE_SYNC_SETTINGS": { "permissionGroup": "android.permission-group.SYNC_SETTINGS", "description": "@string/permdesc_writeSyncSettings", "protectionLevel": "normal", "label": "@string/permlab_writeSyncSettings" }, "android.permission.READ_SYNC_STATS": { "permissionGroup": "android.permission-group.SYNC_SETTINGS", "description": "@string/permdesc_readSyncStats", "protectionLevel": "normal", "label": "@string/permlab_readSyncStats" }, "android.permission.SET_SCREEN_COMPATIBILITY": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_setScreenCompatibility", "protectionLevel": "signature", "label": "@string/permlab_setScreenCompatibility" }, "android.permission.ACCESS_ALL_EXTERNAL_STORAGE": { "permissionGroup": "android.permission-group.DEVELOPMENT_TOOLS", "description": "@string/permdesc_sdcardAccessAll", "protectionLevel": "signature", "label": "@string/permlab_sdcardAccessAll" }, "android.permission.CHANGE_CONFIGURATION": { "permissionGroup": "android.permission-group.DEVELOPMENT_TOOLS", "description": "@string/permdesc_changeConfiguration", "protectionLevel": "signature|system|development", "label": "@string/permlab_changeConfiguration" }, "android.permission.WRITE_SETTINGS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_writeSettings", "protectionLevel": "normal", "label": "@string/permlab_writeSettings" }, "android.permission.WRITE_GSERVICES": { "permissionGroup": "", "description": "@string/permdesc_writeGservices", "protectionLevel": "signature|system", "label": "@string/permlab_writeGservices" }, "android.permission.FORCE_STOP_PACKAGES": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_forceStopPackages", "protectionLevel": "signature|system", "label": "@string/permlab_forceStopPackages" }, "android.permission.RETRIEVE_WINDOW_CONTENT": { "permissionGroup": "android.permission-group.PERSONAL_INFO", "description": "@string/permdesc_retrieve_window_content", "protectionLevel": "signature|system", "label": "@string/permlab_retrieve_window_content" }, "android.permission.SET_ANIMATION_SCALE": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_setAnimationScale", "protectionLevel": "signature|system|development", "label": "@string/permlab_setAnimationScale" }, "android.permission.PERSISTENT_ACTIVITY": { "permissionGroup": "android.permission-group.APP_INFO", "description": "@string/permdesc_persistentActivity", "protectionLevel": "normal", "label": "@string/permlab_persistentActivity" }, "android.permission.GET_PACKAGE_SIZE": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_getPackageSize", "protectionLevel": "normal", "label": "@string/permlab_getPackageSize" }, "android.permission.SET_PREFERRED_APPLICATIONS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_setPreferredApplications", "protectionLevel": "signature", "label": "@string/permlab_setPreferredApplications" }, "android.permission.RECEIVE_BOOT_COMPLETED": { "permissionGroup": "android.permission-group.APP_INFO", "description": "@string/permdesc_receiveBootCompleted", "protectionLevel": "normal", "label": "@string/permlab_receiveBootCompleted" }, "android.permission.BROADCAST_STICKY": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_broadcastSticky", "protectionLevel": "normal", "label": "@string/permlab_broadcastSticky" }, "android.permission.MOUNT_UNMOUNT_FILESYSTEMS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_mount_unmount_filesystems", "protectionLevel": "system|signature", "label": "@string/permlab_mount_unmount_filesystems" }, "android.permission.MOUNT_FORMAT_FILESYSTEMS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_mount_format_filesystems", "protectionLevel": "system|signature", "label": "@string/permlab_mount_format_filesystems" }, "android.permission.ASEC_ACCESS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_asec_access", "protectionLevel": "signature", "label": "@string/permlab_asec_access" }, "android.permission.ASEC_CREATE": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_asec_create", "protectionLevel": "signature", "label": "@string/permlab_asec_create" }, "android.permission.ASEC_DESTROY": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_asec_destroy", "protectionLevel": "signature", "label": "@string/permlab_asec_destroy" }, "android.permission.ASEC_MOUNT_UNMOUNT": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_asec_mount_unmount", "protectionLevel": "signature", "label": "@string/permlab_asec_mount_unmount" }, "android.permission.ASEC_RENAME": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_asec_rename", "protectionLevel": "signature", "label": "@string/permlab_asec_rename" }, "android.permission.WRITE_APN_SETTINGS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_writeApnSettings", "protectionLevel": "signature|system", "label": "@string/permlab_writeApnSettings" }, "android.permission.SUBSCRIBED_FEEDS_READ": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_subscribedFeedsRead", "protectionLevel": "normal", "label": "@string/permlab_subscribedFeedsRead" }, "android.permission.SUBSCRIBED_FEEDS_WRITE": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_subscribedFeedsWrite", "protectionLevel": "dangerous", "label": "@string/permlab_subscribedFeedsWrite" }, "android.permission.CHANGE_NETWORK_STATE": { "permissionGroup": "android.permission-group.NETWORK", "description": "@string/permdesc_changeNetworkState", "protectionLevel": "normal", "label": "@string/permlab_changeNetworkState" }, "android.permission.CLEAR_APP_CACHE": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_clearAppCache", "protectionLevel": "dangerous", "label": "@string/permlab_clearAppCache" }, "android.permission.ALLOW_ANY_CODEC_FOR_PLAYBACK": { "permissionGroup": "", "description": "@string/permdesc_anyCodecForPlayback", "protectionLevel": "signature|system", "label": "@string/permlab_anyCodecForPlayback" }, "android.permission.MANAGE_CA_CERTIFICATES": { "permissionGroup": "", "description": "@string/permdesc_manageCaCertificates", "protectionLevel": "signature|system", "label": "@string/permlab_manageCaCertificates" }, "android.permission.RECOVERY": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_recovery", "protectionLevel": "signature|system", "label": "@string/permlab_recovery" }, "android.permission.BIND_JOB_SERVICE": { "permissionGroup": "", "description": "@string/permdesc_bindJobService", "protectionLevel": "signature", "label": "@string/permlab_bindJobService" }, "android.permission.WRITE_SECURE_SETTINGS": { "permissionGroup": "android.permission-group.DEVELOPMENT_TOOLS", "description": "@string/permdesc_writeSecureSettings", "protectionLevel": "signature|system|development", "label": "@string/permlab_writeSecureSettings" }, "android.permission.DUMP": { "permissionGroup": "android.permission-group.DEVELOPMENT_TOOLS", "description": "@string/permdesc_dump", "protectionLevel": "signature|system|development", "label": "@string/permlab_dump" }, "android.permission.READ_LOGS": { "permissionGroup": "android.permission-group.DEVELOPMENT_TOOLS", "description": "@string/permdesc_readLogs", "protectionLevel": "signature|system|development", "label": "@string/permlab_readLogs" }, "android.permission.SET_DEBUG_APP": { "permissionGroup": "android.permission-group.DEVELOPMENT_TOOLS", "description": "@string/permdesc_setDebugApp", "protectionLevel": "signature|system|development", "label": "@string/permlab_setDebugApp" }, "android.permission.SET_PROCESS_LIMIT": { "permissionGroup": "android.permission-group.DEVELOPMENT_TOOLS", "description": "@string/permdesc_setProcessLimit", "protectionLevel": "signature|system|development", "label": "@string/permlab_setProcessLimit" }, "android.permission.SET_ALWAYS_FINISH": { "permissionGroup": "android.permission-group.DEVELOPMENT_TOOLS", "description": "@string/permdesc_setAlwaysFinish", "protectionLevel": "signature|system|development", "label": "@string/permlab_setAlwaysFinish" }, "android.permission.SIGNAL_PERSISTENT_PROCESSES": { "permissionGroup": "android.permission-group.DEVELOPMENT_TOOLS", "description": "@string/permdesc_signalPersistentProcesses", "protectionLevel": "signature|system|development", "label": "@string/permlab_signalPersistentProcesses" }, "android.permission.DIAGNOSTIC": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_diagnostic", "protectionLevel": "signature", "label": "@string/permlab_diagnostic" }, "android.permission.STATUS_BAR": { "permissionGroup": "", "description": "@string/permdesc_statusBar", "protectionLevel": "signature|system", "label": "@string/permlab_statusBar" }, "android.permission.STATUS_BAR_SERVICE": { "permissionGroup": "", "description": "@string/permdesc_statusBarService", "protectionLevel": "signature", "label": "@string/permlab_statusBarService" }, "android.permission.FORCE_BACK": { "permissionGroup": "", "description": "@string/permdesc_forceBack", "protectionLevel": "signature", "label": "@string/permlab_forceBack" }, "android.permission.UPDATE_DEVICE_STATS": { "permissionGroup": "", "description": "@string/permdesc_updateBatteryStats", "protectionLevel": "signature|system", "label": "@string/permlab_updateBatteryStats" }, "android.permission.GET_APP_OPS_STATS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_getAppOpsStats", "protectionLevel": "signature|system|development", "label": "@string/permlab_getAppOpsStats" }, "android.permission.UPDATE_APP_OPS_STATS": { "permissionGroup": "", "description": "@string/permdesc_updateAppOpsStats", "protectionLevel": "signature|system", "label": "@string/permlab_updateAppOpsStats" }, "android.permission.INTERNAL_SYSTEM_WINDOW": { "permissionGroup": "", "description": "@string/permdesc_internalSystemWindow", "protectionLevel": "signature", "label": "@string/permlab_internalSystemWindow" }, "android.permission.MANAGE_APP_TOKENS": { "permissionGroup": "", "description": "@string/permdesc_manageAppTokens", "protectionLevel": "signature", "label": "@string/permlab_manageAppTokens" }, "android.permission.FREEZE_SCREEN": { "permissionGroup": "", "description": "@string/permdesc_freezeScreen", "protectionLevel": "signature", "label": "@string/permlab_freezeScreen" }, "android.permission.INJECT_EVENTS": { "permissionGroup": "", "description": "@string/permdesc_injectEvents", "protectionLevel": "signature", "label": "@string/permlab_injectEvents" }, "android.permission.FILTER_EVENTS": { "permissionGroup": "", "description": "@string/permdesc_filter_events", "protectionLevel": "signature", "label": "@string/permlab_filter_events" }, "android.permission.RETRIEVE_WINDOW_TOKEN": { "permissionGroup": "", "description": "@string/permdesc_retrieveWindowToken", "protectionLevel": "signature", "label": "@string/permlab_retrieveWindowToken" }, "android.permission.FRAME_STATS": { "permissionGroup": "", "description": "@string/permdesc_frameStats", "protectionLevel": "signature", "label": "@string/permlab_frameStats" }, "android.permission.TEMPORARY_ENABLE_ACCESSIBILITY": { "permissionGroup": "", "description": "@string/permdesc_temporary_enable_accessibility", "protectionLevel": "signature", "label": "@string/permlab_temporary_enable_accessibility" }, "android.permission.SET_ACTIVITY_WATCHER": { "permissionGroup": "", "description": "@string/permdesc_runSetActivityWatcher", "protectionLevel": "signature", "label": "@string/permlab_runSetActivityWatcher" }, "android.permission.SHUTDOWN": { "permissionGroup": "", "description": "@string/permdesc_shutdown", "protectionLevel": "signature|system", "label": "@string/permlab_shutdown" }, "android.permission.STOP_APP_SWITCHES": { "permissionGroup": "", "description": "@string/permdesc_stopAppSwitches", "protectionLevel": "signature|system", "label": "@string/permlab_stopAppSwitches" }, "android.permission.GET_TOP_ACTIVITY_INFO": { "permissionGroup": "", "description": "@string/permdesc_getTopActivityInfo", "protectionLevel": "signature", "label": "@string/permlab_getTopActivityInfo" }, "android.permission.READ_INPUT_STATE": { "permissionGroup": "", "description": "@string/permdesc_readInputState", "protectionLevel": "signature", "label": "@string/permlab_readInputState" }, "android.permission.BIND_INPUT_METHOD": { "permissionGroup": "", "description": "@string/permdesc_bindInputMethod", "protectionLevel": "signature", "label": "@string/permlab_bindInputMethod" }, "android.permission.BIND_ACCESSIBILITY_SERVICE": { "permissionGroup": "", "description": "@string/permdesc_bindAccessibilityService", "protectionLevel": "signature", "label": "@string/permlab_bindAccessibilityService" }, "android.permission.BIND_PRINT_SERVICE": { "permissionGroup": "", "description": "@string/permdesc_bindPrintService", "protectionLevel": "signature", "label": "@string/permlab_bindPrintService" }, "android.permission.BIND_NFC_SERVICE": { "permissionGroup": "", "description": "@string/permdesc_bindNfcService", "protectionLevel": "signature", "label": "@string/permlab_bindNfcService" }, "android.permission.BIND_PRINT_SPOOLER_SERVICE": { "permissionGroup": "", "description": "@string/permdesc_bindPrintSpoolerService", "protectionLevel": "signature", "label": "@string/permlab_bindPrintSpoolerService" }, "android.permission.BIND_TEXT_SERVICE": { "permissionGroup": "", "description": "@string/permdesc_bindTextService", "protectionLevel": "signature", "label": "@string/permlab_bindTextService" }, "android.permission.BIND_VPN_SERVICE": { "permissionGroup": "", "description": "@string/permdesc_bindVpnService", "protectionLevel": "signature", "label": "@string/permlab_bindVpnService" }, "android.permission.BIND_WALLPAPER": { "permissionGroup": "", "description": "@string/permdesc_bindWallpaper", "protectionLevel": "signature|system", "label": "@string/permlab_bindWallpaper" }, "android.permission.BIND_VOICE_INTERACTION": { "permissionGroup": "", "description": "@string/permdesc_bindVoiceInteraction", "protectionLevel": "signature", "label": "@string/permlab_bindVoiceInteraction" }, "android.permission.MANAGE_VOICE_KEYPHRASES": { "permissionGroup": "", "description": "@string/permdesc_manageVoiceKeyphrases", "protectionLevel": "signature|system", "label": "@string/permlab_manageVoiceKeyphrases" }, "android.permission.BIND_REMOTE_DISPLAY": { "permissionGroup": "", "description": "@string/permdesc_bindRemoteDisplay", "protectionLevel": "signature", "label": "@string/permlab_bindRemoteDisplay" }, "android.permission.BIND_TV_INPUT": { "permissionGroup": "", "description": "@string/permdesc_bindTvInput", "protectionLevel": "signature|system", "label": "@string/permlab_bindTvInput" }, "android.permission.MODIFY_PARENTAL_CONTROLS": { "permissionGroup": "", "description": "@string/permdesc_modifyParentalControls", "protectionLevel": "signature|system", "label": "@string/permlab_modifyParentalControls" }, "android.permission.BIND_DEVICE_ADMIN": { "permissionGroup": "", "description": "@string/permdesc_bindDeviceAdmin", "protectionLevel": "signature", "label": "@string/permlab_bindDeviceAdmin" }, "android.permission.MANAGE_DEVICE_ADMINS": { "permissionGroup": "", "description": "@string/permdesc_manageDeviceAdmins", "protectionLevel": "signature|system", "label": "@string/permlab_manageDeviceAdmins" }, "android.permission.SET_ORIENTATION": { "permissionGroup": "", "description": "@string/permdesc_setOrientation", "protectionLevel": "signature", "label": "@string/permlab_setOrientation" }, "android.permission.SET_POINTER_SPEED": { "permissionGroup": "", "description": "@string/permdesc_setPointerSpeed", "protectionLevel": "signature", "label": "@string/permlab_setPointerSpeed" }, "android.permission.SET_INPUT_CALIBRATION": { "permissionGroup": "", "description": "@string/permdesc_setInputCalibration", "protectionLevel": "signature", "label": "@string/permlab_setInputCalibration" }, "android.permission.SET_KEYBOARD_LAYOUT": { "permissionGroup": "", "description": "@string/permdesc_setKeyboardLayout", "protectionLevel": "signature", "label": "@string/permlab_setKeyboardLayout" }, "android.permission.INSTALL_PACKAGES": { "permissionGroup": "", "description": "@string/permdesc_installPackages", "protectionLevel": "signature|system", "label": "@string/permlab_installPackages" }, "android.permission.CLEAR_APP_USER_DATA": { "permissionGroup": "", "description": "@string/permdesc_clearAppUserData", "protectionLevel": "signature", "label": "@string/permlab_clearAppUserData" }, "android.permission.DELETE_CACHE_FILES": { "permissionGroup": "", "description": "@string/permdesc_deleteCacheFiles", "protectionLevel": "signature|system", "label": "@string/permlab_deleteCacheFiles" }, "android.permission.DELETE_PACKAGES": { "permissionGroup": "", "description": "@string/permdesc_deletePackages", "protectionLevel": "signature|system", "label": "@string/permlab_deletePackages" }, "android.permission.MOVE_PACKAGE": { "permissionGroup": "", "description": "@string/permdesc_movePackage", "protectionLevel": "signature|system", "label": "@string/permlab_movePackage" }, "android.permission.CHANGE_COMPONENT_ENABLED_STATE": { "permissionGroup": "", "description": "@string/permdesc_changeComponentState", "protectionLevel": "signature|system", "label": "@string/permlab_changeComponentState" }, "android.permission.GRANT_REVOKE_PERMISSIONS": { "permissionGroup": "", "description": "@string/permdesc_grantRevokePermissions", "protectionLevel": "signature", "label": "@string/permlab_grantRevokePermissions" }, "android.permission.ACCESS_SURFACE_FLINGER": { "permissionGroup": "", "description": "@string/permdesc_accessSurfaceFlinger", "protectionLevel": "signature", "label": "@string/permlab_accessSurfaceFlinger" }, "android.permission.READ_FRAME_BUFFER": { "permissionGroup": "", "description": "@string/permdesc_readFrameBuffer", "protectionLevel": "signature|system", "label": "@string/permlab_readFrameBuffer" }, "android.permission.ACCESS_INPUT_FLINGER": { "permissionGroup": "", "description": "@string/permdesc_accessInputFlinger", "protectionLevel": "signature", "label": "@string/permlab_accessInputFlinger" }, "android.permission.CONFIGURE_WIFI_DISPLAY": { "permissionGroup": "", "description": "@string/permdesc_configureWifiDisplay", "protectionLevel": "signature", "label": "@string/permlab_configureWifiDisplay" }, "android.permission.CONTROL_WIFI_DISPLAY": { "permissionGroup": "", "description": "@string/permdesc_controlWifiDisplay", "protectionLevel": "signature", "label": "@string/permlab_controlWifiDisplay" }, "android.permission.CONTROL_VPN": { "permissionGroup": "", "description": "@string/permdesc_controlVpn", "protectionLevel": "signature|system", "label": "@string/permlab_controlVpn" }, "android.permission.CAPTURE_AUDIO_OUTPUT": { "permissionGroup": "", "description": "@string/permdesc_captureAudioOutput", "protectionLevel": "signature|system", "label": "@string/permlab_captureAudioOutput" }, "android.permission.CAPTURE_AUDIO_HOTWORD": { "permissionGroup": "", "description": "@string/permdesc_captureAudioHotword", "protectionLevel": "signature|system", "label": "@string/permlab_captureAudioHotword" }, "android.permission.MODIFY_AUDIO_ROUTING": { "permissionGroup": "", "description": "@string/permdesc_modifyAudioRouting", "protectionLevel": "signature|system", "label": "@string/permlab_modifyAudioRouting" }, "android.permission.CAPTURE_VIDEO_OUTPUT": { "permissionGroup": "", "description": "@string/permdesc_captureVideoOutput", "protectionLevel": "signature|system", "label": "@string/permlab_captureVideoOutput" }, "android.permission.CAPTURE_SECURE_VIDEO_OUTPUT": { "permissionGroup": "", "description": "@string/permdesc_captureSecureVideoOutput", "protectionLevel": "signature|system", "label": "@string/permlab_captureSecureVideoOutput" }, "android.permission.MEDIA_CONTENT_CONTROL": { "permissionGroup": "", "description": "@string/permdesc_mediaContentControl", "protectionLevel": "signature|system", "label": "@string/permlab_mediaContentControl" }, "android.permission.BRICK": { "permissionGroup": "", "description": "@string/permdesc_brick", "protectionLevel": "signature", "label": "@string/permlab_brick" }, "android.permission.REBOOT": { "permissionGroup": "", "description": "@string/permdesc_reboot", "protectionLevel": "signature|system", "label": "@string/permlab_reboot" }, "android.permission.DEVICE_POWER": { "permissionGroup": "", "description": "@string/permdesc_devicePower", "protectionLevel": "signature", "label": "@string/permlab_devicePower" }, "android.permission.USER_ACTIVITY": { "permissionGroup": "", "description": "@string/permdesc_userActivity", "protectionLevel": "signature|system", "label": "@string/permlab_userActivity" }, "android.permission.NET_TUNNELING": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.FACTORY_TEST": { "permissionGroup": "", "description": "@string/permdesc_factoryTest", "protectionLevel": "signature", "label": "@string/permlab_factoryTest" }, "android.permission.BROADCAST_PACKAGE_REMOVED": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_broadcastPackageRemoved", "protectionLevel": "signature", "label": "@string/permlab_broadcastPackageRemoved" }, "android.permission.BROADCAST_SMS": { "permissionGroup": "android.permission-group.MESSAGES", "description": "@string/permdesc_broadcastSmsReceived", "protectionLevel": "signature", "label": "@string/permlab_broadcastSmsReceived" }, "android.permission.BROADCAST_WAP_PUSH": { "permissionGroup": "android.permission-group.MESSAGES", "description": "@string/permdesc_broadcastWapPush", "protectionLevel": "signature", "label": "@string/permlab_broadcastWapPush" }, "android.permission.BROADCAST_NETWORK_PRIVILEGED": { "permissionGroup": "android.permission-group.NETWORK", "description": "@string/permdesc_broadcastNetworkPrivileged", "protectionLevel": "signature|system", "label": "@string/permlab_broadcastNetworkPrivileged" }, "android.permission.MASTER_CLEAR": { "permissionGroup": "", "description": "@string/permdesc_masterClear", "protectionLevel": "signature|system", "label": "@string/permlab_masterClear" }, "android.permission.CALL_PRIVILEGED": { "permissionGroup": "", "description": "@string/permdesc_callPrivileged", "protectionLevel": "signature|system", "label": "@string/permlab_callPrivileged" }, "android.permission.PERFORM_CDMA_PROVISIONING": { "permissionGroup": "", "description": "@string/permdesc_performCdmaProvisioning", "protectionLevel": "signature|system", "label": "@string/permlab_performCdmaProvisioning" }, "android.permission.CONTROL_LOCATION_UPDATES": { "permissionGroup": "", "description": "@string/permdesc_locationUpdates", "protectionLevel": "signature|system", "label": "@string/permlab_locationUpdates" }, "android.permission.ACCESS_CHECKIN_PROPERTIES": { "permissionGroup": "", "description": "@string/permdesc_checkinProperties", "protectionLevel": "signature|system", "label": "@string/permlab_checkinProperties" }, "android.permission.PACKAGE_USAGE_STATS": { "permissionGroup": "", "description": "@string/permdesc_pkgUsageStats", "protectionLevel": "signature|development|appop", "label": "@string/permlab_pkgUsageStats" }, "android.permission.BATTERY_STATS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_batteryStats", "protectionLevel": "signature|system|development", "label": "@string/permlab_batteryStats" }, "android.permission.BACKUP": { "permissionGroup": "", "description": "@string/permdesc_backup", "protectionLevel": "signature|system", "label": "@string/permlab_backup" }, "android.permission.CONFIRM_FULL_BACKUP": { "permissionGroup": "", "description": "@string/permdesc_confirm_full_backup", "protectionLevel": "signature", "label": "@string/permlab_confirm_full_backup" }, "android.permission.BIND_REMOTEVIEWS": { "permissionGroup": "", "description": "@string/permdesc_bindRemoteViews", "protectionLevel": "signature|system", "label": "@string/permlab_bindRemoteViews" }, "android.permission.BIND_APPWIDGET": { "permissionGroup": "android.permission-group.PERSONAL_INFO", "description": "@string/permdesc_bindGadget", "protectionLevel": "signature|system", "label": "@string/permlab_bindGadget" }, "android.permission.BIND_KEYGUARD_APPWIDGET": { "permissionGroup": "android.permission-group.PERSONAL_INFO", "description": "", "protectionLevel": "signature|system", "label": "" }, "android.permission.MODIFY_APPWIDGET_BIND_PERMISSIONS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "", "protectionLevel": "signature|system", "label": "" }, "android.permission.CHANGE_BACKGROUND_DATA_SETTING": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_changeBackgroundDataSetting", "protectionLevel": "signature", "label": "@string/permlab_changeBackgroundDataSetting" }, "android.permission.GLOBAL_SEARCH": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "", "protectionLevel": "signature|system", "label": "" }, "android.permission.GLOBAL_SEARCH_CONTROL": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.READ_SEARCH_INDEXABLES": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "", "protectionLevel": "signature|system", "label": "" }, "android.permission.SET_WALLPAPER_COMPONENT": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "", "protectionLevel": "signature|system", "label": "" }, "android.permission.READ_DREAM_STATE": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "", "protectionLevel": "signature|system", "label": "" }, "android.permission.WRITE_DREAM_STATE": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "", "protectionLevel": "signature|system", "label": "" }, "android.permission.ACCESS_CACHE_FILESYSTEM": { "permissionGroup": "", "description": "@string/permdesc_cache_filesystem", "protectionLevel": "signature|system", "label": "@string/permlab_cache_filesystem" }, "android.permission.COPY_PROTECTED_DATA": { "permissionGroup": "", "description": "@string/permlab_copyProtectedData", "protectionLevel": "signature", "label": "@string/permlab_copyProtectedData" }, "android.permission.CRYPT_KEEPER": { "permissionGroup": "", "description": "", "protectionLevel": "signature|system", "label": "" }, "android.permission.READ_NETWORK_USAGE_HISTORY": { "permissionGroup": "", "description": "@string/permdesc_readNetworkUsageHistory", "protectionLevel": "signature|system", "label": "@string/permlab_readNetworkUsageHistory" }, "android.permission.MANAGE_NETWORK_POLICY": { "permissionGroup": "", "description": "@string/permdesc_manageNetworkPolicy", "protectionLevel": "signature", "label": "@string/permlab_manageNetworkPolicy" }, "android.permission.MODIFY_NETWORK_ACCOUNTING": { "permissionGroup": "", "description": "@string/permdesc_modifyNetworkAccounting", "protectionLevel": "signature|system", "label": "@string/permlab_modifyNetworkAccounting" }, "android.intent.category.MASTER_CLEAR.permission.C2D_MESSAGE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.PACKAGE_VERIFICATION_AGENT": { "permissionGroup": "", "description": "@string/permdesc_packageVerificationAgent", "protectionLevel": "signature|system", "label": "@string/permlab_packageVerificationAgent" }, "android.permission.BIND_PACKAGE_VERIFIER": { "permissionGroup": "", "description": "@string/permdesc_bindPackageVerifier", "protectionLevel": "signature", "label": "@string/permlab_bindPackageVerifier" }, "android.permission.SERIAL_PORT": { "permissionGroup": "", "description": "@string/permdesc_serialPort", "protectionLevel": "signature|system", "label": "@string/permlab_serialPort" }, "android.permission.ACCESS_CONTENT_PROVIDERS_EXTERNALLY": { "permissionGroup": "", "description": "@string/permdesc_accessContentProvidersExternally", "protectionLevel": "signature", "label": "@string/permlab_accessContentProvidersExternally" }, "android.permission.UPDATE_LOCK": { "permissionGroup": "", "description": "@string/permdesc_updateLock", "protectionLevel": "signatureOrSystem", "label": "@string/permlab_updateLock" }, "android.permission.ACCESS_NOTIFICATIONS": { "permissionGroup": "", "description": "@string/permdesc_accessNotifications", "protectionLevel": "signature|system", "label": "@string/permlab_accessNotifications" }, "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE": { "permissionGroup": "", "description": "@string/permdesc_access_keyguard_secure_storage", "protectionLevel": "signature", "label": "@string/permlab_access_keyguard_secure_storage" }, "android.permission.CONTROL_KEYGUARD": { "permissionGroup": "", "description": "@string/permdesc_control_keyguard", "protectionLevel": "signature", "label": "@string/permlab_control_keyguard" }, "android.permission.TRUST_LISTENER": { "permissionGroup": "", "description": "@string/permdesc_trust_listener", "protectionLevel": "signature", "label": "@string/permlab_trust_listener" }, "android.permission.PROVIDE_TRUST_AGENT": { "permissionGroup": "", "description": "@string/permdesc_provide_trust_agent", "protectionLevel": "signatureOrSystem", "label": "@string/permlab_provide_trust_agent" }, "android.permission.LAUNCH_TRUST_AGENT_SETTINGS": { "permissionGroup": "", "description": "@string/permdesc_launch_trust_agent_settings", "protectionLevel": "signatureOrSystem", "label": "@string/permlab_launch_trust_agent_settings" }, "android.permission.BIND_TRUST_AGENT": { "permissionGroup": "", "description": "@string/permdesc_bind_trust_agent_service", "protectionLevel": "signature", "label": "@string/permlab_bind_trust_agent_service" }, "android.permission.BIND_NOTIFICATION_LISTENER_SERVICE": { "permissionGroup": "", "description": "@string/permdesc_bindNotificationListenerService", "protectionLevel": "signature", "label": "@string/permlab_bindNotificationListenerService" }, "android.permission.BIND_CONDITION_PROVIDER_SERVICE": { "permissionGroup": "", "description": "@string/permdesc_bindConditionProviderService", "protectionLevel": "signature", "label": "@string/permlab_bindConditionProviderService" }, "android.permission.BIND_DREAM_SERVICE": { "permissionGroup": "", "description": "@string/permdesc_bindDreamService", "protectionLevel": "signature", "label": "@string/permlab_bindDreamService" }, "android.permission.INVOKE_CARRIER_SETUP": { "permissionGroup": "", "description": "@string/permdesc_invokeCarrierSetup", "protectionLevel": "signature|system", "label": "@string/permlab_invokeCarrierSetup" }, "android.permission.ACCESS_NETWORK_CONDITIONS": { "permissionGroup": "", "description": "@string/permdesc_accessNetworkConditions", "protectionLevel": "signature|system", "label": "@string/permlab_accessNetworkConditions" }, "android.permission.ACCESS_DRM_CERTIFICATES": { "permissionGroup": "", "description": "@string/permdesc_accessDrmCertificates", "protectionLevel": "signature|system", "label": "@string/permlab_accessDrmCertificates" }, "android.permission.MANAGE_MEDIA_PROJECTION": { "permissionGroup": "", "description": "@string/permdesc_manageMediaProjection", "protectionLevel": "signature", "label": "@string/permlab_manageMediaProjection" }, "android.permission.READ_INSTALL_SESSIONS": { "permissionGroup": "", "description": "@string/permdesc_readInstallSessions", "protectionLevel": "", "label": "@string/permlab_readInstallSessions" }, "android.permission.REMOVE_DRM_CERTIFICATES": { "permissionGroup": "", "description": "@string/permdesc_removeDrmCertificates", "protectionLevel": "signature|system", "label": "@string/permlab_removeDrmCertificates" }, "android.permission.BIND_CARRIER_MESSAGING_SERVICE": { "permissionGroup": "", "description": "@string/permdesc_bindCarrierMessagingService", "protectionLevel": "signature|system", "label": "@string/permlab_bindCarrierMessagingService" }, "org.chromium.chrome.shell.permission.SANDBOX": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "org.chromium.chrome.shell.permission.C2D_MESSAGE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "org.chromium.chrome.shell.permission.DEBUG": { "permissionGroup": "android.permission-group.DEVELOPMENT_TOOLS", "description": "", "protectionLevel": "signature", "label": "Debug web pages in Chrome Shell" }, "android.permission.ACCESS_BLUETOOTH_SHARE": { "permissionGroup": "", "description": "@string/permdesc_bluetoothShareManager", "protectionLevel": "signature", "label": "@string/permlab_bluetoothShareManager" }, "com.android.permission.WHITELIST_BLUETOOTH_DEVICE": { "permissionGroup": "", "description": "@string/permdesc_bluetoothWhitelist", "protectionLevel": "signature", "label": "@string/permlab_bluetoothWhitelist" }, "com.android.browser.permission.PRELOAD": { "permissionGroup": "", "description": "", "protectionLevel": "signatureOrSystem", "label": "@string/permission_preload_label" }, "com.android.email.permission.READ_ATTACHMENT": { "permissionGroup": "android.permission-group.MESSAGES", "description": "@string/permission_read_attachment_desc", "protectionLevel": "dangerous", "label": "@string/permission_read_attachment_label" }, "com.android.email.permission.ACCESS_PROVIDER": { "permissionGroup": "", "description": "@string/permission_access_provider_desc", "protectionLevel": "signature", "label": "@string/permission_access_provider_label" }, "com.android.gallery3d.permission.GALLERY_PROVIDER": { "permissionGroup": "", "description": "", "protectionLevel": "signatureOrSystem", "label": "" }, "com.android.launcher.permission.PRELOAD_WORKSPACE": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "", "protectionLevel": "signatureOrSystem", "label": "" }, "com.android.launcher.permission.READ_SETTINGS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_read_settings", "protectionLevel": "normal", "label": "@string/permlab_read_settings" }, "com.android.launcher.permission.WRITE_SETTINGS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_write_settings", "protectionLevel": "signatureOrSystem", "label": "@string/permlab_write_settings" }, "com.android.launcher3.permission.READ_SETTINGS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_read_settings", "protectionLevel": "normal", "label": "@string/permlab_read_settings" }, "com.android.launcher3.permission.WRITE_SETTINGS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_write_settings", "protectionLevel": "signatureOrSystem", "label": "@string/permlab_write_settings" }, "com.android.launcher3.permission.RECEIVE_LAUNCH_BROADCASTS": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "com.android.launcher3.permission.RECEIVE_FIRST_LOAD_BROADCAST": { "permissionGroup": "", "description": "", "protectionLevel": "signatureOrSystem", "label": "" }, "android.permission.MMS_SEND_OUTBOX_MSG": { "permissionGroup": "", "description": "@string/desc_mms_send_outbox_msg", "protectionLevel": "signatureOrSystem", "label": "@string/label_mms_send_outbox_msg" }, "android.permission.ACCESS_DOWNLOAD_MANAGER": { "permissionGroup": "", "description": "@string/permdesc_downloadManager", "protectionLevel": "signatureOrSystem", "label": "@string/permlab_downloadManager" }, "android.permission.ACCESS_DOWNLOAD_MANAGER_ADVANCED": { "permissionGroup": "", "description": "@string/permdesc_downloadManagerAdvanced", "protectionLevel": "signatureOrSystem", "label": "@string/permlab_downloadManagerAdvanced" }, "android.permission.SEND_DOWNLOAD_COMPLETED_INTENTS": { "permissionGroup": "", "description": "@string/permdesc_downloadCompletedIntent", "protectionLevel": "signature", "label": "@string/permlab_downloadCompletedIntent" }, "android.permission.DOWNLOAD_CACHE_NON_PURGEABLE": { "permissionGroup": "", "description": "@string/permdesc_downloadCacheNonPurgeable", "protectionLevel": "signatureOrSystem", "label": "@string/permlab_downloadCacheNonPurgeable" }, "android.permission.DOWNLOAD_WITHOUT_NOTIFICATION": { "permissionGroup": "android.permission-group.NETWORK", "description": "@string/permdesc_downloadWithoutNotification", "protectionLevel": "normal", "label": "@string/permlab_downloadWithoutNotification" }, "android.permission.ACCESS_ALL_DOWNLOADS": { "permissionGroup": "", "description": "@string/permdesc_accessAllDownloads", "protectionLevel": "signature", "label": "@string/permlab_accessAllDownloads" }, "com.android.providers.tv.permission.READ_EPG_DATA": { "permissionGroup": "", "description": "@string/permdesc_readEpgData", "protectionLevel": "dangerous", "label": "@string/permlab_readEpgData" }, "com.android.providers.tv.permission.WRITE_EPG_DATA": { "permissionGroup": "", "description": "@string/permdesc_writeEpgData", "protectionLevel": "dangerous", "label": "@string/permlab_writeEpgData" }, "com.android.providers.tv.permission.ACCESS_ALL_EPG_DATA": { "permissionGroup": "", "description": "@string/permdesc_accessAllEpgData", "protectionLevel": "signatureOrSystem", "label": "@string/permlab_accessAllEpgData" }, "com.android.providers.tv.permission.ACCESS_WATCHED_PROGRAMS": { "permissionGroup": "", "description": "@string/permdesc_accessWatchedPrograms", "protectionLevel": "signatureOrSystem", "label": "@string/permlab_accessWatchedPrograms" } }androguard-3.1.0-rc2/androguard/core/api_specific_resources/aosp_permissions/permissions_23.json000066400000000000000000002033441324327352200332730ustar00rootroot00000000000000{ "android.permission.READ_CONTACTS": { "permissionGroup": "android.permission-group.CONTACTS", "description": "@string/permdesc_readContacts", "protectionLevel": "dangerous", "label": "@string/permlab_readContacts" }, "android.permission.WRITE_CONTACTS": { "permissionGroup": "android.permission-group.CONTACTS", "description": "@string/permdesc_writeContacts", "protectionLevel": "dangerous", "label": "@string/permlab_writeContacts" }, "android.permission.READ_CALENDAR": { "permissionGroup": "android.permission-group.CALENDAR", "description": "@string/permdesc_readCalendar", "protectionLevel": "dangerous", "label": "@string/permlab_readCalendar" }, "android.permission.WRITE_CALENDAR": { "permissionGroup": "android.permission-group.CALENDAR", "description": "@string/permdesc_writeCalendar", "protectionLevel": "dangerous", "label": "@string/permlab_writeCalendar" }, "android.permission.SEND_SMS": { "permissionGroup": "android.permission-group.SMS", "description": "@string/permdesc_sendSms", "protectionLevel": "dangerous", "label": "@string/permlab_sendSms" }, "android.permission.RECEIVE_SMS": { "permissionGroup": "android.permission-group.SMS", "description": "@string/permdesc_receiveSms", "protectionLevel": "dangerous", "label": "@string/permlab_receiveSms" }, "android.permission.READ_SMS": { "permissionGroup": "android.permission-group.SMS", "description": "@string/permdesc_readSms", "protectionLevel": "dangerous", "label": "@string/permlab_readSms" }, "android.permission.RECEIVE_WAP_PUSH": { "permissionGroup": "android.permission-group.SMS", "description": "@string/permdesc_receiveWapPush", "protectionLevel": "dangerous", "label": "@string/permlab_receiveWapPush" }, "android.permission.RECEIVE_MMS": { "permissionGroup": "android.permission-group.SMS", "description": "@string/permdesc_receiveMms", "protectionLevel": "dangerous", "label": "@string/permlab_receiveMms" }, "android.permission.READ_CELL_BROADCASTS": { "permissionGroup": "android.permission-group.SMS", "description": "@string/permdesc_readCellBroadcasts", "protectionLevel": "dangerous", "label": "@string/permlab_readCellBroadcasts" }, "android.permission.READ_EXTERNAL_STORAGE": { "permissionGroup": "android.permission-group.STORAGE", "description": "@string/permdesc_sdcardRead", "protectionLevel": "dangerous", "label": "@string/permlab_sdcardRead" }, "android.permission.WRITE_EXTERNAL_STORAGE": { "permissionGroup": "android.permission-group.STORAGE", "description": "@string/permdesc_sdcardWrite", "protectionLevel": "dangerous", "label": "@string/permlab_sdcardWrite" }, "android.permission.ACCESS_FINE_LOCATION": { "permissionGroup": "android.permission-group.LOCATION", "description": "@string/permdesc_accessFineLocation", "protectionLevel": "dangerous", "label": "@string/permlab_accessFineLocation" }, "android.permission.ACCESS_COARSE_LOCATION": { "permissionGroup": "android.permission-group.LOCATION", "description": "@string/permdesc_accessCoarseLocation", "protectionLevel": "dangerous", "label": "@string/permlab_accessCoarseLocation" }, "android.permission.READ_PHONE_STATE": { "permissionGroup": "android.permission-group.PHONE", "description": "@string/permdesc_readPhoneState", "protectionLevel": "dangerous", "label": "@string/permlab_readPhoneState" }, "android.permission.CALL_PHONE": { "permissionGroup": "android.permission-group.PHONE", "description": "@string/permdesc_callPhone", "protectionLevel": "dangerous", "label": "@string/permlab_callPhone" }, "android.permission.ACCESS_IMS_CALL_SERVICE": { "permissionGroup": "android.permission-group.PHONE", "description": "@string/permdesc_accessImsCallService", "protectionLevel": "signature|system", "label": "@string/permlab_accessImsCallService" }, "android.permission.READ_CALL_LOG": { "permissionGroup": "android.permission-group.PHONE", "description": "@string/permdesc_readCallLog", "protectionLevel": "dangerous", "label": "@string/permlab_readCallLog" }, "android.permission.WRITE_CALL_LOG": { "permissionGroup": "android.permission-group.PHONE", "description": "@string/permdesc_writeCallLog", "protectionLevel": "dangerous", "label": "@string/permlab_writeCallLog" }, "com.android.voicemail.permission.ADD_VOICEMAIL": { "permissionGroup": "android.permission-group.PHONE", "description": "@string/permdesc_addVoicemail", "protectionLevel": "dangerous", "label": "@string/permlab_addVoicemail" }, "android.permission.USE_SIP": { "permissionGroup": "android.permission-group.PHONE", "description": "@string/permdesc_use_sip", "protectionLevel": "dangerous", "label": "@string/permlab_use_sip" }, "android.permission.PROCESS_OUTGOING_CALLS": { "permissionGroup": "android.permission-group.PHONE", "description": "@string/permdesc_processOutgoingCalls", "protectionLevel": "dangerous", "label": "@string/permlab_processOutgoingCalls" }, "android.permission.RECORD_AUDIO": { "permissionGroup": "android.permission-group.MICROPHONE", "description": "@string/permdesc_recordAudio", "protectionLevel": "dangerous", "label": "@string/permlab_recordAudio" }, "android.permission.CAMERA": { "permissionGroup": "android.permission-group.CAMERA", "description": "@string/permdesc_camera", "protectionLevel": "dangerous", "label": "@string/permlab_camera" }, "android.permission.BODY_SENSORS": { "permissionGroup": "android.permission-group.SENSORS", "description": "@string/permdesc_bodySensors", "protectionLevel": "dangerous", "label": "@string/permlab_bodySensors" }, "android.permission.USE_FINGERPRINT": { "permissionGroup": "android.permission-group.SENSORS", "description": "@string/permdesc_useFingerprint", "protectionLevel": "normal", "label": "@string/permlab_useFingerprint" }, "android.permission.READ_PROFILE": { "permissionGroup": "", "description": "", "protectionLevel": "normal", "label": "" }, "android.permission.WRITE_PROFILE": { "permissionGroup": "", "description": "", "protectionLevel": "normal", "label": "" }, "android.permission.READ_SOCIAL_STREAM": { "permissionGroup": "", "description": "", "protectionLevel": "normal", "label": "" }, "android.permission.WRITE_SOCIAL_STREAM": { "permissionGroup": "", "description": "", "protectionLevel": "normal", "label": "" }, "android.permission.READ_USER_DICTIONARY": { "permissionGroup": "", "description": "", "protectionLevel": "normal", "label": "" }, "android.permission.WRITE_USER_DICTIONARY": { "permissionGroup": "", "description": "", "protectionLevel": "normal", "label": "" }, "android.permission.WRITE_SMS": { "permissionGroup": "", "description": "", "protectionLevel": "normal", "label": "" }, "com.android.browser.permission.READ_HISTORY_BOOKMARKS": { "permissionGroup": "", "description": "", "protectionLevel": "normal", "label": "" }, "com.android.browser.permission.WRITE_HISTORY_BOOKMARKS": { "permissionGroup": "", "description": "", "protectionLevel": "normal", "label": "" }, "android.permission.AUTHENTICATE_ACCOUNTS": { "permissionGroup": "", "description": "", "protectionLevel": "normal", "label": "" }, "android.permission.MANAGE_ACCOUNTS": { "permissionGroup": "", "description": "", "protectionLevel": "normal", "label": "" }, "android.permission.USE_CREDENTIALS": { "permissionGroup": "", "description": "", "protectionLevel": "normal", "label": "" }, "android.permission.SUBSCRIBED_FEEDS_READ": { "permissionGroup": "", "description": "", "protectionLevel": "normal", "label": "" }, "android.permission.SUBSCRIBED_FEEDS_WRITE": { "permissionGroup": "", "description": "", "protectionLevel": "normal", "label": "" }, "android.permission.SEND_RESPOND_VIA_MESSAGE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.CARRIER_FILTER_SMS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.RECEIVE_EMERGENCY_BROADCAST": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.RECEIVE_BLUETOOTH_MAP": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.BIND_DIRECTORY_SEARCH": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "com.android.alarm.permission.SET_ALARM": { "permissionGroup": "", "description": "@string/permdesc_setAlarm", "protectionLevel": "normal", "label": "@string/permlab_setAlarm" }, "com.android.voicemail.permission.WRITE_VOICEMAIL": { "permissionGroup": "", "description": "", "protectionLevel": "system|signature", "label": "" }, "com.android.voicemail.permission.READ_VOICEMAIL": { "permissionGroup": "", "description": "", "protectionLevel": "system|signature", "label": "" }, "android.permission.ACCESS_LOCATION_EXTRA_COMMANDS": { "permissionGroup": "", "description": "@string/permdesc_accessLocationExtraCommands", "protectionLevel": "normal", "label": "@string/permlab_accessLocationExtraCommands" }, "android.permission.INSTALL_LOCATION_PROVIDER": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.HDMI_CEC": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.LOCATION_HARDWARE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.ACCESS_MOCK_LOCATION": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.INTERNET": { "permissionGroup": "", "description": "@string/permdesc_createNetworkSockets", "protectionLevel": "normal", "label": "@string/permlab_createNetworkSockets" }, "android.permission.ACCESS_NETWORK_STATE": { "permissionGroup": "", "description": "@string/permdesc_accessNetworkState", "protectionLevel": "normal", "label": "@string/permlab_accessNetworkState" }, "android.permission.ACCESS_WIFI_STATE": { "permissionGroup": "", "description": "@string/permdesc_accessWifiState", "protectionLevel": "normal", "label": "@string/permlab_accessWifiState" }, "android.permission.CHANGE_WIFI_STATE": { "permissionGroup": "", "description": "@string/permdesc_changeWifiState", "protectionLevel": "normal", "label": "@string/permlab_changeWifiState" }, "android.permission.READ_WIFI_CREDENTIAL": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.RECEIVE_WIFI_CREDENTIAL_CHANGE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.OVERRIDE_WIFI_CONFIG": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.ACCESS_WIMAX_STATE": { "permissionGroup": "", "description": "@string/permdesc_accessWimaxState", "protectionLevel": "normal", "label": "@string/permlab_accessWimaxState" }, "android.permission.CHANGE_WIMAX_STATE": { "permissionGroup": "", "description": "@string/permdesc_changeWimaxState", "protectionLevel": "normal", "label": "@string/permlab_changeWimaxState" }, "android.permission.SCORE_NETWORKS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.BLUETOOTH": { "permissionGroup": "", "description": "@string/permdesc_bluetooth", "protectionLevel": "normal", "label": "@string/permlab_bluetooth" }, "android.permission.BLUETOOTH_ADMIN": { "permissionGroup": "", "description": "@string/permdesc_bluetoothAdmin", "protectionLevel": "normal", "label": "@string/permlab_bluetoothAdmin" }, "android.permission.BLUETOOTH_PRIVILEGED": { "permissionGroup": "", "description": "", "protectionLevel": "system|signature", "label": "" }, "android.permission.BLUETOOTH_MAP": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.BLUETOOTH_STACK": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.NFC": { "permissionGroup": "", "description": "@string/permdesc_nfc", "protectionLevel": "normal", "label": "@string/permlab_nfc" }, "android.permission.CONNECTIVITY_INTERNAL": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.PACKET_KEEPALIVE_OFFLOAD": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.RECEIVE_DATA_ACTIVITY_CHANGE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.LOOP_RADIO": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.NFC_HANDOVER_STATUS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.GET_ACCOUNTS": { "permissionGroup": "android.permission-group.CONTACTS", "description": "@string/permdesc_getAccounts", "protectionLevel": "dangerous", "label": "@string/permlab_getAccounts" }, "android.permission.ACCOUNT_MANAGER": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.CHANGE_WIFI_MULTICAST_STATE": { "permissionGroup": "", "description": "@string/permdesc_changeWifiMulticastState", "protectionLevel": "normal", "label": "@string/permlab_changeWifiMulticastState" }, "android.permission.VIBRATE": { "permissionGroup": "", "description": "@string/permdesc_vibrate", "protectionLevel": "normal", "label": "@string/permlab_vibrate" }, "android.permission.FLASHLIGHT": { "permissionGroup": "", "description": "@string/permdesc_flashlight", "protectionLevel": "normal", "label": "@string/permlab_flashlight" }, "android.permission.WAKE_LOCK": { "permissionGroup": "", "description": "@string/permdesc_wakeLock", "protectionLevel": "normal", "label": "@string/permlab_wakeLock" }, "android.permission.TRANSMIT_IR": { "permissionGroup": "", "description": "@string/permdesc_transmitIr", "protectionLevel": "normal", "label": "@string/permlab_transmitIr" }, "android.permission.MODIFY_AUDIO_SETTINGS": { "permissionGroup": "", "description": "@string/permdesc_modifyAudioSettings", "protectionLevel": "normal", "label": "@string/permlab_modifyAudioSettings" }, "android.permission.MANAGE_USB": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.ACCESS_MTP": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.HARDWARE_TEST": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.ACCESS_FM_RADIO": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.NET_ADMIN": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.REMOTE_AUDIO_PLAYBACK": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.TV_INPUT_HARDWARE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.CAPTURE_TV_INPUT": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.DVB_DEVICE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.OEM_UNLOCK_STATE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.ACCESS_PDB_STATE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.NOTIFY_PENDING_SYSTEM_UPDATE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.CAMERA_DISABLE_TRANSMIT_LED": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.CAMERA_SEND_SYSTEM_EVENTS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.MODIFY_PHONE_STATE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.READ_PRECISE_PHONE_STATE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.READ_PRIVILEGED_PHONE_STATE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.REGISTER_SIM_SUBSCRIPTION": { "permissionGroup": "", "description": "", "protectionLevel": "system|signature", "label": "" }, "android.permission.REGISTER_CALL_PROVIDER": { "permissionGroup": "", "description": "", "protectionLevel": "system|signature", "label": "" }, "android.permission.REGISTER_CONNECTION_MANAGER": { "permissionGroup": "", "description": "", "protectionLevel": "system|signature", "label": "" }, "android.permission.BIND_INCALL_SERVICE": { "permissionGroup": "", "description": "", "protectionLevel": "system|signature", "label": "" }, "android.permission.BIND_CONNECTION_SERVICE": { "permissionGroup": "", "description": "", "protectionLevel": "system|signature", "label": "" }, "android.permission.BIND_TELECOM_CONNECTION_SERVICE": { "permissionGroup": "", "description": "", "protectionLevel": "system|signature", "label": "" }, "android.permission.CONTROL_INCALL_EXPERIENCE": { "permissionGroup": "", "description": "", "protectionLevel": "system|signature", "label": "" }, "android.permission.RECEIVE_STK_COMMANDS": { "permissionGroup": "", "description": "", "protectionLevel": "system|signature", "label": "" }, "android.permission.WRITE_MEDIA_STORAGE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.MANAGE_DOCUMENTS": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.DISABLE_KEYGUARD": { "permissionGroup": "", "description": "@string/permdesc_disableKeyguard", "protectionLevel": "normal", "label": "@string/permlab_disableKeyguard" }, "android.permission.GET_TASKS": { "permissionGroup": "", "description": "@string/permdesc_getTasks", "protectionLevel": "normal", "label": "@string/permlab_getTasks" }, "android.permission.REAL_GET_TASKS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.START_TASKS_FROM_RECENTS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.INTERACT_ACROSS_USERS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged|development", "label": "" }, "android.permission.INTERACT_ACROSS_USERS_FULL": { "permissionGroup": "", "description": "", "protectionLevel": "signature|installer", "label": "" }, "android.permission.MANAGE_USERS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS": { "permissionGroup": "", "description": "@string/permdesc_manageProfileAndDeviceOwners", "protectionLevel": "signature", "label": "@string/permlab_manageProfileAndDeviceOwners" }, "android.permission.GET_DETAILED_TASKS": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.REORDER_TASKS": { "permissionGroup": "", "description": "@string/permdesc_reorderTasks", "protectionLevel": "normal", "label": "@string/permlab_reorderTasks" }, "android.permission.REMOVE_TASKS": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.MANAGE_ACTIVITY_STACKS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.START_ANY_ACTIVITY": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.RESTART_PACKAGES": { "permissionGroup": "", "description": "@string/permdesc_killBackgroundProcesses", "protectionLevel": "normal", "label": "@string/permlab_killBackgroundProcesses" }, "android.permission.KILL_BACKGROUND_PROCESSES": { "permissionGroup": "", "description": "@string/permdesc_killBackgroundProcesses", "protectionLevel": "normal", "label": "@string/permlab_killBackgroundProcesses" }, "android.permission.GET_PACKAGE_IMPORTANCE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.SYSTEM_ALERT_WINDOW": { "permissionGroup": "", "description": "@string/permdesc_systemAlertWindow", "protectionLevel": "signature|preinstalled|appop|pre23", "label": "@string/permlab_systemAlertWindow" }, "android.permission.SET_WALLPAPER": { "permissionGroup": "", "description": "@string/permdesc_setWallpaper", "protectionLevel": "normal", "label": "@string/permlab_setWallpaper" }, "android.permission.SET_WALLPAPER_HINTS": { "permissionGroup": "", "description": "@string/permdesc_setWallpaperHints", "protectionLevel": "normal", "label": "@string/permlab_setWallpaperHints" }, "android.permission.SET_TIME": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.SET_TIME_ZONE": { "permissionGroup": "", "description": "@string/permdesc_setTimeZone", "protectionLevel": "normal", "label": "@string/permlab_setTimeZone" }, "android.permission.EXPAND_STATUS_BAR": { "permissionGroup": "", "description": "@string/permdesc_expandStatusBar", "protectionLevel": "normal", "label": "@string/permlab_expandStatusBar" }, "com.android.launcher.permission.INSTALL_SHORTCUT": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_install_shortcut", "protectionLevel": "dangerous", "label": "@string/permlab_install_shortcut" }, "com.android.launcher.permission.UNINSTALL_SHORTCUT": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_uninstall_shortcut", "protectionLevel": "dangerous", "label": "@string/permlab_uninstall_shortcut" }, "android.permission.READ_SYNC_SETTINGS": { "permissionGroup": "", "description": "@string/permdesc_readSyncSettings", "protectionLevel": "normal", "label": "@string/permlab_readSyncSettings" }, "android.permission.WRITE_SYNC_SETTINGS": { "permissionGroup": "", "description": "@string/permdesc_writeSyncSettings", "protectionLevel": "normal", "label": "@string/permlab_writeSyncSettings" }, "android.permission.READ_SYNC_STATS": { "permissionGroup": "", "description": "@string/permdesc_readSyncStats", "protectionLevel": "normal", "label": "@string/permlab_readSyncStats" }, "android.permission.SET_SCREEN_COMPATIBILITY": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.CHANGE_CONFIGURATION": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged|development", "label": "" }, "android.permission.WRITE_SETTINGS": { "permissionGroup": "", "description": "@string/permdesc_writeSettings", "protectionLevel": "signature|preinstalled|appop|pre23", "label": "@string/permlab_writeSettings" }, "android.permission.WRITE_GSERVICES": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.FORCE_STOP_PACKAGES": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.RETRIEVE_WINDOW_CONTENT": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.SET_ANIMATION_SCALE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged|development", "label": "" }, "android.permission.PERSISTENT_ACTIVITY": { "permissionGroup": "", "description": "@string/permdesc_persistentActivity", "protectionLevel": "normal", "label": "@string/permlab_persistentActivity" }, "android.permission.GET_PACKAGE_SIZE": { "permissionGroup": "", "description": "@string/permdesc_getPackageSize", "protectionLevel": "normal", "label": "@string/permlab_getPackageSize" }, "android.permission.SET_PREFERRED_APPLICATIONS": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.RECEIVE_BOOT_COMPLETED": { "permissionGroup": "", "description": "@string/permdesc_receiveBootCompleted", "protectionLevel": "normal", "label": "@string/permlab_receiveBootCompleted" }, "android.permission.BROADCAST_STICKY": { "permissionGroup": "", "description": "@string/permdesc_broadcastSticky", "protectionLevel": "normal", "label": "@string/permlab_broadcastSticky" }, "android.permission.MOUNT_UNMOUNT_FILESYSTEMS": { "permissionGroup": "", "description": "", "protectionLevel": "system|signature", "label": "" }, "android.permission.MOUNT_FORMAT_FILESYSTEMS": { "permissionGroup": "", "description": "", "protectionLevel": "system|signature", "label": "" }, "android.permission.ASEC_ACCESS": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.ASEC_CREATE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.ASEC_DESTROY": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.ASEC_MOUNT_UNMOUNT": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.ASEC_RENAME": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.WRITE_APN_SETTINGS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.CHANGE_NETWORK_STATE": { "permissionGroup": "", "description": "@string/permdesc_changeNetworkState", "protectionLevel": "signature|preinstalled|appop|pre23", "label": "@string/permlab_changeNetworkState" }, "android.permission.CLEAR_APP_CACHE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.ALLOW_ANY_CODEC_FOR_PLAYBACK": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.MANAGE_CA_CERTIFICATES": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.RECOVERY": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.BIND_JOB_SERVICE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.UPDATE_CONFIG": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.WRITE_SECURE_SETTINGS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged|development", "label": "" }, "android.permission.DUMP": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged|development", "label": "" }, "android.permission.READ_LOGS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged|development", "label": "" }, "android.permission.SET_DEBUG_APP": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged|development", "label": "" }, "android.permission.SET_PROCESS_LIMIT": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged|development", "label": "" }, "android.permission.SET_ALWAYS_FINISH": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged|development", "label": "" }, "android.permission.SIGNAL_PERSISTENT_PROCESSES": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged|development", "label": "" }, "android.permission.GET_ACCOUNTS_PRIVILEGED": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.DIAGNOSTIC": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.STATUS_BAR": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.STATUS_BAR_SERVICE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.FORCE_BACK": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.UPDATE_DEVICE_STATS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.GET_APP_OPS_STATS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged|development", "label": "" }, "android.permission.UPDATE_APP_OPS_STATS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged|installer", "label": "" }, "android.permission.INTERNAL_SYSTEM_WINDOW": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.MANAGE_APP_TOKENS": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.FREEZE_SCREEN": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.INJECT_EVENTS": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.FILTER_EVENTS": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.RETRIEVE_WINDOW_TOKEN": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.FRAME_STATS": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.TEMPORARY_ENABLE_ACCESSIBILITY": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.SET_ACTIVITY_WATCHER": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.SHUTDOWN": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.STOP_APP_SWITCHES": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.GET_TOP_ACTIVITY_INFO": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.READ_INPUT_STATE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.BIND_INPUT_METHOD": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.BIND_MIDI_DEVICE_SERVICE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.BIND_ACCESSIBILITY_SERVICE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.BIND_PRINT_SERVICE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.BIND_NFC_SERVICE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.BIND_PRINT_SPOOLER_SERVICE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.BIND_TEXT_SERVICE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.BIND_VPN_SERVICE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.BIND_WALLPAPER": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.BIND_VOICE_INTERACTION": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.MANAGE_VOICE_KEYPHRASES": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.BIND_REMOTE_DISPLAY": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.BIND_TV_INPUT": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.MODIFY_PARENTAL_CONTROLS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.BIND_ROUTE_PROVIDER": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.BIND_DEVICE_ADMIN": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.MANAGE_DEVICE_ADMINS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.SET_ORIENTATION": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.SET_POINTER_SPEED": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.SET_INPUT_CALIBRATION": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.SET_KEYBOARD_LAYOUT": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.TABLET_MODE_LISTENER": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.REQUEST_INSTALL_PACKAGES": { "permissionGroup": "", "description": "@string/permdesc_requestInstallPackages", "protectionLevel": "normal", "label": "@string/permlab_requestInstallPackages" }, "android.permission.INSTALL_PACKAGES": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.CLEAR_APP_USER_DATA": { "permissionGroup": "", "description": "", "protectionLevel": "signature|installer", "label": "" }, "android.permission.DELETE_CACHE_FILES": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.DELETE_PACKAGES": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.MOVE_PACKAGE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.CHANGE_COMPONENT_ENABLED_STATE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.GRANT_RUNTIME_PERMISSIONS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|installer", "label": "" }, "android.permission.INSTALL_GRANT_RUNTIME_PERMISSIONS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|installer|verifier", "label": "" }, "android.permission.REVOKE_RUNTIME_PERMISSIONS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|installer|verifier", "label": "" }, "android.permission.OBSERVE_GRANT_REVOKE_PERMISSIONS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.ACCESS_SURFACE_FLINGER": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.READ_FRAME_BUFFER": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.ACCESS_INPUT_FLINGER": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.CONFIGURE_WIFI_DISPLAY": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.CONTROL_WIFI_DISPLAY": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.CONFIGURE_DISPLAY_COLOR_TRANSFORM": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.CONTROL_VPN": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.CAPTURE_AUDIO_OUTPUT": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.CAPTURE_AUDIO_HOTWORD": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.MODIFY_AUDIO_ROUTING": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.CAPTURE_VIDEO_OUTPUT": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.CAPTURE_SECURE_VIDEO_OUTPUT": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.MEDIA_CONTENT_CONTROL": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.BRICK": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.REBOOT": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.DEVICE_POWER": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.USER_ACTIVITY": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.NET_TUNNELING": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.FACTORY_TEST": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.BROADCAST_PACKAGE_REMOVED": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.BROADCAST_SMS": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.BROADCAST_WAP_PUSH": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.BROADCAST_NETWORK_PRIVILEGED": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.MASTER_CLEAR": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.CALL_PRIVILEGED": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.PERFORM_CDMA_PROVISIONING": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.PERFORM_SIM_ACTIVATION": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.CONTROL_LOCATION_UPDATES": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.ACCESS_CHECKIN_PROPERTIES": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.PACKAGE_USAGE_STATS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged|development|appop", "label": "" }, "android.permission.CHANGE_APP_IDLE_STATE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST": { "permissionGroup": "", "description": "", "protectionLevel": "system|signature", "label": "" }, "android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS": { "permissionGroup": "", "description": "", "protectionLevel": "normal", "label": "" }, "android.permission.BATTERY_STATS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged|development", "label": "" }, "android.permission.BACKUP": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.CONFIRM_FULL_BACKUP": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.BIND_REMOTEVIEWS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.BIND_APPWIDGET": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.BIND_KEYGUARD_APPWIDGET": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.MODIFY_APPWIDGET_BIND_PERMISSIONS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.CHANGE_BACKGROUND_DATA_SETTING": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.GLOBAL_SEARCH": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.GLOBAL_SEARCH_CONTROL": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.READ_SEARCH_INDEXABLES": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.SET_WALLPAPER_COMPONENT": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.READ_DREAM_STATE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.WRITE_DREAM_STATE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.ACCESS_CACHE_FILESYSTEM": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.COPY_PROTECTED_DATA": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.CRYPT_KEEPER": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.READ_NETWORK_USAGE_HISTORY": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.MANAGE_NETWORK_POLICY": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.MODIFY_NETWORK_ACCOUNTING": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.intent.category.MASTER_CLEAR.permission.C2D_MESSAGE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.PACKAGE_VERIFICATION_AGENT": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.BIND_PACKAGE_VERIFIER": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.INTENT_FILTER_VERIFICATION_AGENT": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.BIND_INTENT_FILTER_VERIFIER": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.SERIAL_PORT": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.ACCESS_CONTENT_PROVIDERS_EXTERNALLY": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.UPDATE_LOCK": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.ACCESS_NOTIFICATIONS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.ACCESS_NOTIFICATION_POLICY": { "permissionGroup": "", "description": "@string/permdesc_access_notification_policy", "protectionLevel": "normal", "label": "@string/permlab_access_notification_policy" }, "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.MANAGE_FINGERPRINT": { "permissionGroup": "", "description": "", "protectionLevel": "system|signature", "label": "" }, "android.permission.RESET_FINGERPRINT_LOCKOUT": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.CONTROL_KEYGUARD": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.TRUST_LISTENER": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.PROVIDE_TRUST_AGENT": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.LAUNCH_TRUST_AGENT_SETTINGS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.BIND_TRUST_AGENT": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.BIND_NOTIFICATION_LISTENER_SERVICE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.BIND_CHOOSER_TARGET_SERVICE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.BIND_CONDITION_PROVIDER_SERVICE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.BIND_DREAM_SERVICE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.INVOKE_CARRIER_SETUP": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.ACCESS_NETWORK_CONDITIONS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.ACCESS_DRM_CERTIFICATES": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.MANAGE_MEDIA_PROJECTION": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.READ_INSTALL_SESSIONS": { "permissionGroup": "", "description": "@string/permdesc_readInstallSessions", "protectionLevel": "normal", "label": "@string/permlab_readInstallSessions" }, "android.permission.REMOVE_DRM_CERTIFICATES": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.BIND_CARRIER_MESSAGING_SERVICE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.ACCESS_VOICE_INTERACTION_SERVICE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.BIND_CARRIER_SERVICES": { "permissionGroup": "", "description": "@string/permdesc_bindCarrierServices", "protectionLevel": "signature|privileged", "label": "@string/permlab_bindCarrierServices" }, "android.permission.QUERY_DO_NOT_ASK_CREDENTIALS_ON_BOOT": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.KILL_UID": { "permissionGroup": "", "description": "", "protectionLevel": "signature|installer", "label": "" }, "android.permission.LOCAL_MAC_ADDRESS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.PEERS_MAC_ADDRESS": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.DISPATCH_NFC_MESSAGE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.ACCESS_BLUETOOTH_SHARE": { "permissionGroup": "", "description": "@string/permdesc_bluetoothShareManager", "protectionLevel": "signature", "label": "@string/permlab_bluetoothShareManager" }, "com.android.permission.WHITELIST_BLUETOOTH_DEVICE": { "permissionGroup": "", "description": "@string/permdesc_bluetoothWhitelist", "protectionLevel": "signature", "label": "@string/permlab_bluetoothWhitelist" }, "com.android.browser.permission.PRELOAD": { "permissionGroup": "", "description": "", "protectionLevel": "signatureOrSystem", "label": "@string/permission_preload_label" }, "com.android.email.permission.READ_ATTACHMENT": { "permissionGroup": "android.permission-group.MESSAGES", "description": "@string/permission_read_attachment_desc", "protectionLevel": "dangerous", "label": "@string/permission_read_attachment_label" }, "com.android.email.permission.ACCESS_PROVIDER": { "permissionGroup": "", "description": "@string/permission_access_provider_desc", "protectionLevel": "signature", "label": "@string/permission_access_provider_label" }, "com.android.gallery3d.permission.GALLERY_PROVIDER": { "permissionGroup": "", "description": "", "protectionLevel": "signatureOrSystem", "label": "" }, "com.android.launcher.permission.PRELOAD_WORKSPACE": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "", "protectionLevel": "signatureOrSystem", "label": "" }, "com.android.launcher.permission.READ_SETTINGS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_read_settings", "protectionLevel": "normal", "label": "@string/permlab_read_settings" }, "com.android.launcher.permission.WRITE_SETTINGS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_write_settings", "protectionLevel": "signatureOrSystem", "label": "@string/permlab_write_settings" }, "com.android.launcher3.permission.READ_SETTINGS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_read_settings", "protectionLevel": "normal", "label": "@string/permlab_read_settings" }, "com.android.launcher3.permission.WRITE_SETTINGS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_write_settings", "protectionLevel": "signatureOrSystem", "label": "@string/permlab_write_settings" }, "com.android.launcher3.permission.RECEIVE_LAUNCH_BROADCASTS": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "com.android.launcher3.permission.RECEIVE_FIRST_LOAD_BROADCAST": { "permissionGroup": "", "description": "", "protectionLevel": "signatureOrSystem", "label": "" }, "android.permission.SEND_CALL_LOG_CHANGE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|system", "label": "Broadcast that a change happened to the call log." }, "android.permission.ACCESS_DOWNLOAD_MANAGER": { "permissionGroup": "", "description": "@string/permdesc_downloadManager", "protectionLevel": "signatureOrSystem", "label": "@string/permlab_downloadManager" }, "android.permission.ACCESS_DOWNLOAD_MANAGER_ADVANCED": { "permissionGroup": "", "description": "@string/permdesc_downloadManagerAdvanced", "protectionLevel": "signatureOrSystem", "label": "@string/permlab_downloadManagerAdvanced" }, "android.permission.SEND_DOWNLOAD_COMPLETED_INTENTS": { "permissionGroup": "", "description": "@string/permdesc_downloadCompletedIntent", "protectionLevel": "signature", "label": "@string/permlab_downloadCompletedIntent" }, "android.permission.DOWNLOAD_CACHE_NON_PURGEABLE": { "permissionGroup": "", "description": "@string/permdesc_downloadCacheNonPurgeable", "protectionLevel": "signatureOrSystem", "label": "@string/permlab_downloadCacheNonPurgeable" }, "android.permission.DOWNLOAD_WITHOUT_NOTIFICATION": { "permissionGroup": "android.permission-group.NETWORK", "description": "@string/permdesc_downloadWithoutNotification", "protectionLevel": "normal", "label": "@string/permlab_downloadWithoutNotification" }, "android.permission.ACCESS_ALL_DOWNLOADS": { "permissionGroup": "", "description": "@string/permdesc_accessAllDownloads", "protectionLevel": "signature", "label": "@string/permlab_accessAllDownloads" }, "android.permission.READ_TV_LISTINGS": { "permissionGroup": "", "description": "@string/permdesc_readTvListings", "protectionLevel": "dangerous", "label": "@string/permlab_readTvListings" }, "com.android.providers.tv.permission.READ_EPG_DATA": { "permissionGroup": "", "description": "@string/permdesc_readEpgData", "protectionLevel": "normal", "label": "@string/permlab_readEpgData" }, "com.android.providers.tv.permission.WRITE_EPG_DATA": { "permissionGroup": "", "description": "@string/permdesc_writeEpgData", "protectionLevel": "normal", "label": "@string/permlab_writeEpgData" }, "com.android.providers.tv.permission.ACCESS_ALL_EPG_DATA": { "permissionGroup": "", "description": "@string/permdesc_accessAllEpgData", "protectionLevel": "signatureOrSystem", "label": "@string/permlab_accessAllEpgData" }, "com.android.providers.tv.permission.ACCESS_WATCHED_PROGRAMS": { "permissionGroup": "", "description": "@string/permdesc_accessWatchedPrograms", "protectionLevel": "signatureOrSystem", "label": "@string/permlab_accessWatchedPrograms" } }androguard-3.1.0-rc2/androguard/core/api_specific_resources/aosp_permissions/permissions_24.json000066400000000000000000002204401324327352200332700ustar00rootroot00000000000000{ "android.permission.READ_CONTACTS": { "permissionGroup": "android.permission-group.CONTACTS", "description": "@string/permdesc_readContacts", "protectionLevel": "dangerous", "label": "@string/permlab_readContacts" }, "android.permission.WRITE_CONTACTS": { "permissionGroup": "android.permission-group.CONTACTS", "description": "@string/permdesc_writeContacts", "protectionLevel": "dangerous", "label": "@string/permlab_writeContacts" }, "android.permission.READ_CALENDAR": { "permissionGroup": "android.permission-group.CALENDAR", "description": "@string/permdesc_readCalendar", "protectionLevel": "dangerous", "label": "@string/permlab_readCalendar" }, "android.permission.WRITE_CALENDAR": { "permissionGroup": "android.permission-group.CALENDAR", "description": "@string/permdesc_writeCalendar", "protectionLevel": "dangerous", "label": "@string/permlab_writeCalendar" }, "android.permission.SEND_SMS": { "permissionGroup": "android.permission-group.SMS", "description": "@string/permdesc_sendSms", "protectionLevel": "dangerous", "label": "@string/permlab_sendSms" }, "android.permission.RECEIVE_SMS": { "permissionGroup": "android.permission-group.SMS", "description": "@string/permdesc_receiveSms", "protectionLevel": "dangerous", "label": "@string/permlab_receiveSms" }, "android.permission.READ_SMS": { "permissionGroup": "android.permission-group.SMS", "description": "@string/permdesc_readSms", "protectionLevel": "dangerous", "label": "@string/permlab_readSms" }, "android.permission.RECEIVE_WAP_PUSH": { "permissionGroup": "android.permission-group.SMS", "description": "@string/permdesc_receiveWapPush", "protectionLevel": "dangerous", "label": "@string/permlab_receiveWapPush" }, "android.permission.RECEIVE_MMS": { "permissionGroup": "android.permission-group.SMS", "description": "@string/permdesc_receiveMms", "protectionLevel": "dangerous", "label": "@string/permlab_receiveMms" }, "android.permission.READ_CELL_BROADCASTS": { "permissionGroup": "android.permission-group.SMS", "description": "@string/permdesc_readCellBroadcasts", "protectionLevel": "dangerous", "label": "@string/permlab_readCellBroadcasts" }, "android.permission.READ_EXTERNAL_STORAGE": { "permissionGroup": "android.permission-group.STORAGE", "description": "@string/permdesc_sdcardRead", "protectionLevel": "dangerous", "label": "@string/permlab_sdcardRead" }, "android.permission.WRITE_EXTERNAL_STORAGE": { "permissionGroup": "android.permission-group.STORAGE", "description": "@string/permdesc_sdcardWrite", "protectionLevel": "dangerous", "label": "@string/permlab_sdcardWrite" }, "android.permission.ACCESS_FINE_LOCATION": { "permissionGroup": "android.permission-group.LOCATION", "description": "@string/permdesc_accessFineLocation", "protectionLevel": "dangerous", "label": "@string/permlab_accessFineLocation" }, "android.permission.ACCESS_COARSE_LOCATION": { "permissionGroup": "android.permission-group.LOCATION", "description": "@string/permdesc_accessCoarseLocation", "protectionLevel": "dangerous", "label": "@string/permlab_accessCoarseLocation" }, "android.permission.READ_PHONE_STATE": { "permissionGroup": "android.permission-group.PHONE", "description": "@string/permdesc_readPhoneState", "protectionLevel": "dangerous", "label": "@string/permlab_readPhoneState" }, "android.permission.CALL_PHONE": { "permissionGroup": "android.permission-group.PHONE", "description": "@string/permdesc_callPhone", "protectionLevel": "dangerous", "label": "@string/permlab_callPhone" }, "android.permission.ACCESS_IMS_CALL_SERVICE": { "permissionGroup": "android.permission-group.PHONE", "description": "@string/permdesc_accessImsCallService", "protectionLevel": "signature|privileged", "label": "@string/permlab_accessImsCallService" }, "android.permission.READ_CALL_LOG": { "permissionGroup": "android.permission-group.PHONE", "description": "@string/permdesc_readCallLog", "protectionLevel": "dangerous", "label": "@string/permlab_readCallLog" }, "android.permission.WRITE_CALL_LOG": { "permissionGroup": "android.permission-group.PHONE", "description": "@string/permdesc_writeCallLog", "protectionLevel": "dangerous", "label": "@string/permlab_writeCallLog" }, "com.android.voicemail.permission.ADD_VOICEMAIL": { "permissionGroup": "android.permission-group.PHONE", "description": "@string/permdesc_addVoicemail", "protectionLevel": "dangerous", "label": "@string/permlab_addVoicemail" }, "android.permission.USE_SIP": { "permissionGroup": "android.permission-group.PHONE", "description": "@string/permdesc_use_sip", "protectionLevel": "dangerous", "label": "@string/permlab_use_sip" }, "android.permission.PROCESS_OUTGOING_CALLS": { "permissionGroup": "android.permission-group.PHONE", "description": "@string/permdesc_processOutgoingCalls", "protectionLevel": "dangerous", "label": "@string/permlab_processOutgoingCalls" }, "android.permission.RECORD_AUDIO": { "permissionGroup": "android.permission-group.MICROPHONE", "description": "@string/permdesc_recordAudio", "protectionLevel": "dangerous", "label": "@string/permlab_recordAudio" }, "android.permission.ACCESS_UCE_PRESENCE_SERVICE": { "permissionGroup": "android.permission-group.PHONE", "description": "", "protectionLevel": "signatureOrSystem", "label": "" }, "android.permission.ACCESS_UCE_OPTIONS_SERVICE": { "permissionGroup": "android.permission-group.PHONE", "description": "", "protectionLevel": "signatureOrSystem", "label": "" }, "android.permission.CAMERA": { "permissionGroup": "android.permission-group.CAMERA", "description": "@string/permdesc_camera", "protectionLevel": "dangerous", "label": "@string/permlab_camera" }, "android.permission.BODY_SENSORS": { "permissionGroup": "android.permission-group.SENSORS", "description": "@string/permdesc_bodySensors", "protectionLevel": "dangerous", "label": "@string/permlab_bodySensors" }, "android.permission.USE_FINGERPRINT": { "permissionGroup": "android.permission-group.SENSORS", "description": "@string/permdesc_useFingerprint", "protectionLevel": "normal", "label": "@string/permlab_useFingerprint" }, "android.permission.READ_PROFILE": { "permissionGroup": "", "description": "", "protectionLevel": "normal", "label": "" }, "android.permission.WRITE_PROFILE": { "permissionGroup": "", "description": "", "protectionLevel": "normal", "label": "" }, "android.permission.READ_SOCIAL_STREAM": { "permissionGroup": "", "description": "", "protectionLevel": "normal", "label": "" }, "android.permission.WRITE_SOCIAL_STREAM": { "permissionGroup": "", "description": "", "protectionLevel": "normal", "label": "" }, "android.permission.READ_USER_DICTIONARY": { "permissionGroup": "", "description": "", "protectionLevel": "normal", "label": "" }, "android.permission.WRITE_USER_DICTIONARY": { "permissionGroup": "", "description": "", "protectionLevel": "normal", "label": "" }, "android.permission.WRITE_SMS": { "permissionGroup": "", "description": "", "protectionLevel": "normal", "label": "" }, "com.android.browser.permission.READ_HISTORY_BOOKMARKS": { "permissionGroup": "", "description": "", "protectionLevel": "normal", "label": "" }, "com.android.browser.permission.WRITE_HISTORY_BOOKMARKS": { "permissionGroup": "", "description": "", "protectionLevel": "normal", "label": "" }, "android.permission.AUTHENTICATE_ACCOUNTS": { "permissionGroup": "", "description": "", "protectionLevel": "normal", "label": "" }, "android.permission.MANAGE_ACCOUNTS": { "permissionGroup": "", "description": "", "protectionLevel": "normal", "label": "" }, "android.permission.USE_CREDENTIALS": { "permissionGroup": "", "description": "", "protectionLevel": "normal", "label": "" }, "android.permission.SUBSCRIBED_FEEDS_READ": { "permissionGroup": "", "description": "", "protectionLevel": "normal", "label": "" }, "android.permission.SUBSCRIBED_FEEDS_WRITE": { "permissionGroup": "", "description": "", "protectionLevel": "normal", "label": "" }, "android.permission.FLASHLIGHT": { "permissionGroup": "", "description": "", "protectionLevel": "normal", "label": "" }, "android.permission.SEND_RESPOND_VIA_MESSAGE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.SEND_SMS_NO_CONFIRMATION": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.CARRIER_FILTER_SMS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.RECEIVE_EMERGENCY_BROADCAST": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.RECEIVE_BLUETOOTH_MAP": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.BIND_DIRECTORY_SEARCH": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.MODIFY_CELL_BROADCASTS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "com.android.alarm.permission.SET_ALARM": { "permissionGroup": "", "description": "@string/permdesc_setAlarm", "protectionLevel": "normal", "label": "@string/permlab_setAlarm" }, "com.android.voicemail.permission.WRITE_VOICEMAIL": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "com.android.voicemail.permission.READ_VOICEMAIL": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.ACCESS_LOCATION_EXTRA_COMMANDS": { "permissionGroup": "", "description": "@string/permdesc_accessLocationExtraCommands", "protectionLevel": "normal", "label": "@string/permlab_accessLocationExtraCommands" }, "android.permission.INSTALL_LOCATION_PROVIDER": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.HDMI_CEC": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.LOCATION_HARDWARE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.ACCESS_MOCK_LOCATION": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.INTERNET": { "permissionGroup": "", "description": "@string/permdesc_createNetworkSockets", "protectionLevel": "normal", "label": "@string/permlab_createNetworkSockets" }, "android.permission.ACCESS_NETWORK_STATE": { "permissionGroup": "", "description": "@string/permdesc_accessNetworkState", "protectionLevel": "normal", "label": "@string/permlab_accessNetworkState" }, "android.permission.ACCESS_WIFI_STATE": { "permissionGroup": "", "description": "@string/permdesc_accessWifiState", "protectionLevel": "normal", "label": "@string/permlab_accessWifiState" }, "android.permission.CHANGE_WIFI_STATE": { "permissionGroup": "", "description": "@string/permdesc_changeWifiState", "protectionLevel": "normal", "label": "@string/permlab_changeWifiState" }, "android.permission.READ_WIFI_CREDENTIAL": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.TETHER_PRIVILEGED": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.RECEIVE_WIFI_CREDENTIAL_CHANGE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.OVERRIDE_WIFI_CONFIG": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.ACCESS_WIMAX_STATE": { "permissionGroup": "", "description": "@string/permdesc_accessWimaxState", "protectionLevel": "normal", "label": "@string/permlab_accessWimaxState" }, "android.permission.CHANGE_WIMAX_STATE": { "permissionGroup": "", "description": "@string/permdesc_changeWimaxState", "protectionLevel": "normal", "label": "@string/permlab_changeWimaxState" }, "android.permission.SCORE_NETWORKS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.BLUETOOTH": { "permissionGroup": "", "description": "@string/permdesc_bluetooth", "protectionLevel": "normal", "label": "@string/permlab_bluetooth" }, "android.permission.BLUETOOTH_ADMIN": { "permissionGroup": "", "description": "@string/permdesc_bluetoothAdmin", "protectionLevel": "normal", "label": "@string/permlab_bluetoothAdmin" }, "android.permission.BLUETOOTH_PRIVILEGED": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.BLUETOOTH_MAP": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.BLUETOOTH_STACK": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.NFC": { "permissionGroup": "", "description": "@string/permdesc_nfc", "protectionLevel": "normal", "label": "@string/permlab_nfc" }, "android.permission.CONNECTIVITY_INTERNAL": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.PACKET_KEEPALIVE_OFFLOAD": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.RECEIVE_DATA_ACTIVITY_CHANGE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.LOOP_RADIO": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.NFC_HANDOVER_STATUS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.GET_ACCOUNTS": { "permissionGroup": "android.permission-group.CONTACTS", "description": "@string/permdesc_getAccounts", "protectionLevel": "dangerous", "label": "@string/permlab_getAccounts" }, "android.permission.ACCOUNT_MANAGER": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.CHANGE_WIFI_MULTICAST_STATE": { "permissionGroup": "", "description": "@string/permdesc_changeWifiMulticastState", "protectionLevel": "normal", "label": "@string/permlab_changeWifiMulticastState" }, "android.permission.VIBRATE": { "permissionGroup": "", "description": "@string/permdesc_vibrate", "protectionLevel": "normal", "label": "@string/permlab_vibrate" }, "android.permission.WAKE_LOCK": { "permissionGroup": "", "description": "@string/permdesc_wakeLock", "protectionLevel": "normal", "label": "@string/permlab_wakeLock" }, "android.permission.TRANSMIT_IR": { "permissionGroup": "", "description": "@string/permdesc_transmitIr", "protectionLevel": "normal", "label": "@string/permlab_transmitIr" }, "android.permission.MODIFY_AUDIO_SETTINGS": { "permissionGroup": "", "description": "@string/permdesc_modifyAudioSettings", "protectionLevel": "normal", "label": "@string/permlab_modifyAudioSettings" }, "android.permission.MANAGE_USB": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.ACCESS_MTP": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.HARDWARE_TEST": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.ACCESS_FM_RADIO": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.NET_ADMIN": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.REMOTE_AUDIO_PLAYBACK": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.TV_INPUT_HARDWARE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.CAPTURE_TV_INPUT": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.DVB_DEVICE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.READ_OEM_UNLOCK_STATE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.OEM_UNLOCK_STATE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.ACCESS_PDB_STATE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.NOTIFY_PENDING_SYSTEM_UPDATE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.CAMERA_DISABLE_TRANSMIT_LED": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.CAMERA_SEND_SYSTEM_EVENTS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.MODIFY_PHONE_STATE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.READ_PRECISE_PHONE_STATE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.READ_PRIVILEGED_PHONE_STATE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.REGISTER_SIM_SUBSCRIPTION": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.REGISTER_CALL_PROVIDER": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.REGISTER_CONNECTION_MANAGER": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.BIND_INCALL_SERVICE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.BIND_SCREENING_SERVICE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.BIND_CONNECTION_SERVICE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.BIND_TELECOM_CONNECTION_SERVICE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.CONTROL_INCALL_EXPERIENCE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.RECEIVE_STK_COMMANDS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.WRITE_MEDIA_STORAGE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.MANAGE_DOCUMENTS": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.CACHE_CONTENT": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.DISABLE_KEYGUARD": { "permissionGroup": "", "description": "@string/permdesc_disableKeyguard", "protectionLevel": "normal", "label": "@string/permlab_disableKeyguard" }, "android.permission.GET_TASKS": { "permissionGroup": "", "description": "@string/permdesc_getTasks", "protectionLevel": "normal", "label": "@string/permlab_getTasks" }, "android.permission.REAL_GET_TASKS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.START_TASKS_FROM_RECENTS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.INTERACT_ACROSS_USERS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged|development", "label": "" }, "android.permission.INTERACT_ACROSS_USERS_FULL": { "permissionGroup": "", "description": "", "protectionLevel": "signature|installer", "label": "" }, "android.permission.MANAGE_USERS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.CREATE_USERS": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS": { "permissionGroup": "", "description": "@string/permdesc_manageProfileAndDeviceOwners", "protectionLevel": "signature", "label": "@string/permlab_manageProfileAndDeviceOwners" }, "android.permission.GET_DETAILED_TASKS": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.REORDER_TASKS": { "permissionGroup": "", "description": "@string/permdesc_reorderTasks", "protectionLevel": "normal", "label": "@string/permlab_reorderTasks" }, "android.permission.REMOVE_TASKS": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.MANAGE_ACTIVITY_STACKS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.START_ANY_ACTIVITY": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.RESTART_PACKAGES": { "permissionGroup": "", "description": "@string/permdesc_killBackgroundProcesses", "protectionLevel": "normal", "label": "@string/permlab_killBackgroundProcesses" }, "android.permission.KILL_BACKGROUND_PROCESSES": { "permissionGroup": "", "description": "@string/permdesc_killBackgroundProcesses", "protectionLevel": "normal", "label": "@string/permlab_killBackgroundProcesses" }, "android.permission.GET_PROCESS_STATE_AND_OOM_SCORE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged|development", "label": "" }, "android.permission.GET_PACKAGE_IMPORTANCE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.GET_INTENT_SENDER_INTENT": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.SYSTEM_ALERT_WINDOW": { "permissionGroup": "", "description": "@string/permdesc_systemAlertWindow", "protectionLevel": "signature|preinstalled|appop|pre23|development", "label": "@string/permlab_systemAlertWindow" }, "android.permission.SET_WALLPAPER": { "permissionGroup": "", "description": "@string/permdesc_setWallpaper", "protectionLevel": "normal", "label": "@string/permlab_setWallpaper" }, "android.permission.SET_WALLPAPER_HINTS": { "permissionGroup": "", "description": "@string/permdesc_setWallpaperHints", "protectionLevel": "normal", "label": "@string/permlab_setWallpaperHints" }, "android.permission.SET_TIME": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.SET_TIME_ZONE": { "permissionGroup": "", "description": "@string/permdesc_setTimeZone", "protectionLevel": "normal", "label": "@string/permlab_setTimeZone" }, "android.permission.EXPAND_STATUS_BAR": { "permissionGroup": "", "description": "@string/permdesc_expandStatusBar", "protectionLevel": "normal", "label": "@string/permlab_expandStatusBar" }, "com.android.launcher.permission.INSTALL_SHORTCUT": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_install_shortcut", "protectionLevel": "dangerous", "label": "@string/permlab_install_shortcut" }, "com.android.launcher.permission.UNINSTALL_SHORTCUT": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_uninstall_shortcut", "protectionLevel": "dangerous", "label": "@string/permlab_uninstall_shortcut" }, "android.permission.READ_SYNC_SETTINGS": { "permissionGroup": "", "description": "@string/permdesc_readSyncSettings", "protectionLevel": "normal", "label": "@string/permlab_readSyncSettings" }, "android.permission.WRITE_SYNC_SETTINGS": { "permissionGroup": "", "description": "@string/permdesc_writeSyncSettings", "protectionLevel": "normal", "label": "@string/permlab_writeSyncSettings" }, "android.permission.READ_SYNC_STATS": { "permissionGroup": "", "description": "@string/permdesc_readSyncStats", "protectionLevel": "normal", "label": "@string/permlab_readSyncStats" }, "android.permission.SET_SCREEN_COMPATIBILITY": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.CHANGE_CONFIGURATION": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged|development", "label": "" }, "android.permission.WRITE_SETTINGS": { "permissionGroup": "", "description": "@string/permdesc_writeSettings", "protectionLevel": "signature|preinstalled|appop|pre23", "label": "@string/permlab_writeSettings" }, "android.permission.WRITE_GSERVICES": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.FORCE_STOP_PACKAGES": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.RETRIEVE_WINDOW_CONTENT": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.SET_ANIMATION_SCALE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged|development", "label": "" }, "android.permission.PERSISTENT_ACTIVITY": { "permissionGroup": "", "description": "@string/permdesc_persistentActivity", "protectionLevel": "normal", "label": "@string/permlab_persistentActivity" }, "android.permission.GET_PACKAGE_SIZE": { "permissionGroup": "", "description": "@string/permdesc_getPackageSize", "protectionLevel": "normal", "label": "@string/permlab_getPackageSize" }, "android.permission.SET_PREFERRED_APPLICATIONS": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.RECEIVE_BOOT_COMPLETED": { "permissionGroup": "", "description": "@string/permdesc_receiveBootCompleted", "protectionLevel": "normal", "label": "@string/permlab_receiveBootCompleted" }, "android.permission.BROADCAST_STICKY": { "permissionGroup": "", "description": "@string/permdesc_broadcastSticky", "protectionLevel": "normal", "label": "@string/permlab_broadcastSticky" }, "android.permission.MOUNT_UNMOUNT_FILESYSTEMS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.MOUNT_FORMAT_FILESYSTEMS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.STORAGE_INTERNAL": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.ASEC_ACCESS": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.ASEC_CREATE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.ASEC_DESTROY": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.ASEC_MOUNT_UNMOUNT": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.ASEC_RENAME": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.WRITE_APN_SETTINGS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.CHANGE_NETWORK_STATE": { "permissionGroup": "", "description": "@string/permdesc_changeNetworkState", "protectionLevel": "normal", "label": "@string/permlab_changeNetworkState" }, "android.permission.CLEAR_APP_CACHE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.ALLOW_ANY_CODEC_FOR_PLAYBACK": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.MANAGE_CA_CERTIFICATES": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.RECOVERY": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.BIND_JOB_SERVICE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.UPDATE_CONFIG": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.RESET_SHORTCUT_MANAGER_THROTTLING": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.WRITE_SECURE_SETTINGS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged|development", "label": "" }, "android.permission.DUMP": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged|development", "label": "" }, "android.permission.READ_LOGS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged|development", "label": "" }, "android.permission.SET_DEBUG_APP": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged|development", "label": "" }, "android.permission.SET_PROCESS_LIMIT": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged|development", "label": "" }, "android.permission.SET_ALWAYS_FINISH": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged|development", "label": "" }, "android.permission.SIGNAL_PERSISTENT_PROCESSES": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged|development", "label": "" }, "android.permission.GET_ACCOUNTS_PRIVILEGED": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.GET_PASSWORD": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.DIAGNOSTIC": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.STATUS_BAR": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.STATUS_BAR_SERVICE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.BIND_QUICK_SETTINGS_TILE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.FORCE_BACK": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.UPDATE_DEVICE_STATS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.GET_APP_OPS_STATS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged|development", "label": "" }, "android.permission.UPDATE_APP_OPS_STATS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged|installer", "label": "" }, "android.permission.MANAGE_APP_OPS_RESTRICTIONS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|installer", "label": "" }, "android.permission.INTERNAL_SYSTEM_WINDOW": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.MANAGE_APP_TOKENS": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.REGISTER_WINDOW_MANAGER_LISTENERS": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.FREEZE_SCREEN": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.INJECT_EVENTS": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.FILTER_EVENTS": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.RETRIEVE_WINDOW_TOKEN": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.FRAME_STATS": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.TEMPORARY_ENABLE_ACCESSIBILITY": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.SET_ACTIVITY_WATCHER": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.SHUTDOWN": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.STOP_APP_SWITCHES": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.GET_TOP_ACTIVITY_INFO": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.READ_INPUT_STATE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.BIND_INPUT_METHOD": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.BIND_MIDI_DEVICE_SERVICE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.BIND_ACCESSIBILITY_SERVICE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.BIND_PRINT_SERVICE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.BIND_PRINT_RECOMMENDATION_SERVICE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.BIND_NFC_SERVICE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.BIND_PRINT_SPOOLER_SERVICE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.BIND_RUNTIME_PERMISSION_PRESENTER_SERVICE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.BIND_TEXT_SERVICE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.BIND_VPN_SERVICE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.BIND_WALLPAPER": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.BIND_VOICE_INTERACTION": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.MANAGE_VOICE_KEYPHRASES": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.BIND_REMOTE_DISPLAY": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.BIND_TV_INPUT": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.BIND_TV_REMOTE_SERVICE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.TV_VIRTUAL_REMOTE_CONTROLLER": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.MODIFY_PARENTAL_CONTROLS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.BIND_ROUTE_PROVIDER": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.BIND_DEVICE_ADMIN": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.MANAGE_DEVICE_ADMINS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.SET_ORIENTATION": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.SET_POINTER_SPEED": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.SET_INPUT_CALIBRATION": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.SET_KEYBOARD_LAYOUT": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.TABLET_MODE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.REQUEST_INSTALL_PACKAGES": { "permissionGroup": "", "description": "@string/permdesc_requestInstallPackages", "protectionLevel": "normal", "label": "@string/permlab_requestInstallPackages" }, "android.permission.INSTALL_PACKAGES": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.CLEAR_APP_USER_DATA": { "permissionGroup": "", "description": "", "protectionLevel": "signature|installer", "label": "" }, "android.permission.GET_APP_GRANTED_URI_PERMISSIONS": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.CLEAR_APP_GRANTED_URI_PERMISSIONS": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.DELETE_CACHE_FILES": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.DELETE_PACKAGES": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.MOVE_PACKAGE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.CHANGE_COMPONENT_ENABLED_STATE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.GRANT_RUNTIME_PERMISSIONS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|installer|verifier", "label": "" }, "android.permission.INSTALL_GRANT_RUNTIME_PERMISSIONS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|installer|verifier", "label": "" }, "android.permission.REVOKE_RUNTIME_PERMISSIONS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|installer|verifier", "label": "" }, "android.permission.OBSERVE_GRANT_REVOKE_PERMISSIONS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.ACCESS_SURFACE_FLINGER": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.READ_FRAME_BUFFER": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.ACCESS_INPUT_FLINGER": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.CONFIGURE_WIFI_DISPLAY": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.CONTROL_WIFI_DISPLAY": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.CONFIGURE_DISPLAY_COLOR_TRANSFORM": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.CONTROL_VPN": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.CAPTURE_AUDIO_OUTPUT": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.CAPTURE_AUDIO_HOTWORD": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.MODIFY_AUDIO_ROUTING": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.CAPTURE_VIDEO_OUTPUT": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.CAPTURE_SECURE_VIDEO_OUTPUT": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.MEDIA_CONTENT_CONTROL": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.BRICK": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.REBOOT": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.DEVICE_POWER": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.USER_ACTIVITY": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.NET_TUNNELING": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.FACTORY_TEST": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.BROADCAST_PACKAGE_REMOVED": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.BROADCAST_SMS": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.BROADCAST_WAP_PUSH": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.BROADCAST_NETWORK_PRIVILEGED": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.MASTER_CLEAR": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.CALL_PRIVILEGED": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.PERFORM_CDMA_PROVISIONING": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.PERFORM_SIM_ACTIVATION": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.CONTROL_LOCATION_UPDATES": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.ACCESS_CHECKIN_PROPERTIES": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.PACKAGE_USAGE_STATS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged|development|appop", "label": "" }, "android.permission.CHANGE_APP_IDLE_STATE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS": { "permissionGroup": "", "description": "", "protectionLevel": "normal", "label": "" }, "android.permission.BATTERY_STATS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged|development", "label": "" }, "android.permission.BACKUP": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.CONFIRM_FULL_BACKUP": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.BIND_REMOTEVIEWS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.BIND_APPWIDGET": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.BIND_KEYGUARD_APPWIDGET": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.MODIFY_APPWIDGET_BIND_PERMISSIONS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.CHANGE_BACKGROUND_DATA_SETTING": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.GLOBAL_SEARCH": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.GLOBAL_SEARCH_CONTROL": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.READ_SEARCH_INDEXABLES": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.SET_WALLPAPER_COMPONENT": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.READ_DREAM_STATE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.WRITE_DREAM_STATE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.ACCESS_CACHE_FILESYSTEM": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.COPY_PROTECTED_DATA": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.CRYPT_KEEPER": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.READ_NETWORK_USAGE_HISTORY": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.MANAGE_NETWORK_POLICY": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.MODIFY_NETWORK_ACCOUNTING": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.intent.category.MASTER_CLEAR.permission.C2D_MESSAGE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.PACKAGE_VERIFICATION_AGENT": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.BIND_PACKAGE_VERIFIER": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.INTENT_FILTER_VERIFICATION_AGENT": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.BIND_INTENT_FILTER_VERIFIER": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.SERIAL_PORT": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.ACCESS_CONTENT_PROVIDERS_EXTERNALLY": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.UPDATE_LOCK": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.ACCESS_NOTIFICATIONS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.ACCESS_NOTIFICATION_POLICY": { "permissionGroup": "", "description": "@string/permdesc_access_notification_policy", "protectionLevel": "normal", "label": "@string/permlab_access_notification_policy" }, "android.permission.MANAGE_NOTIFICATIONS": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.MANAGE_FINGERPRINT": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.RESET_FINGERPRINT_LOCKOUT": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.CONTROL_KEYGUARD": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.TRUST_LISTENER": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.PROVIDE_TRUST_AGENT": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.LAUNCH_TRUST_AGENT_SETTINGS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.BIND_TRUST_AGENT": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.BIND_NOTIFICATION_LISTENER_SERVICE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.BIND_NOTIFICATION_RANKER_SERVICE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.BIND_CHOOSER_TARGET_SERVICE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.BIND_CONDITION_PROVIDER_SERVICE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.BIND_DREAM_SERVICE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.INVOKE_CARRIER_SETUP": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.ACCESS_NETWORK_CONDITIONS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.ACCESS_DRM_CERTIFICATES": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.MANAGE_MEDIA_PROJECTION": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.READ_INSTALL_SESSIONS": { "permissionGroup": "", "description": "@string/permdesc_readInstallSessions", "protectionLevel": "normal", "label": "@string/permlab_readInstallSessions" }, "android.permission.REMOVE_DRM_CERTIFICATES": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.BIND_CARRIER_MESSAGING_SERVICE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.ACCESS_VOICE_INTERACTION_SERVICE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.BIND_CARRIER_SERVICES": { "permissionGroup": "", "description": "@string/permdesc_bindCarrierServices", "protectionLevel": "signature|privileged", "label": "@string/permlab_bindCarrierServices" }, "android.permission.QUERY_DO_NOT_ASK_CREDENTIALS_ON_BOOT": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.KILL_UID": { "permissionGroup": "", "description": "", "protectionLevel": "signature|installer", "label": "" }, "android.permission.LOCAL_MAC_ADDRESS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.PEERS_MAC_ADDRESS": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.DISPATCH_NFC_MESSAGE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.MODIFY_DAY_NIGHT_MODE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.ACCESS_EPHEMERAL_APPS": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.RECEIVE_MEDIA_RESOURCE_USAGE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.MANAGE_SOUND_TRIGGER": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.DISPATCH_PROVISIONING_MESSAGE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.READ_BLOCKED_NUMBERS": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.WRITE_BLOCKED_NUMBERS": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.BIND_VR_LISTENER_SERVICE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.ACCESS_VR_MANAGER": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.UPDATE_LOCK_TASK_PACKAGES": { "permissionGroup": "", "description": "", "protectionLevel": "signature|setup", "label": "" }, "android.permission.SUBSTITUTE_NOTIFICATION_APP_NAME": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.ACCESS_BLUETOOTH_SHARE": { "permissionGroup": "", "description": "@string/permdesc_bluetoothShareManager", "protectionLevel": "signature", "label": "@string/permlab_bluetoothShareManager" }, "com.android.permission.WHITELIST_BLUETOOTH_DEVICE": { "permissionGroup": "", "description": "@string/permdesc_bluetoothWhitelist", "protectionLevel": "signature", "label": "@string/permlab_bluetoothWhitelist" }, "com.android.email.permission.READ_ATTACHMENT": { "permissionGroup": "android.permission-group.MESSAGES", "description": "@string/permission_read_attachment_desc", "protectionLevel": "dangerous", "label": "@string/permission_read_attachment_label" }, "com.android.email.permission.ACCESS_PROVIDER": { "permissionGroup": "", "description": "@string/permission_access_provider_desc", "protectionLevel": "signature", "label": "@string/permission_access_provider_label" }, "com.android.gallery3d.permission.GALLERY_PROVIDER": { "permissionGroup": "", "description": "", "protectionLevel": "signatureOrSystem", "label": "" }, "com.android.launcher.permission.PRELOAD_WORKSPACE": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "com.android.launcher.permission.READ_SETTINGS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_read_settings", "protectionLevel": "normal", "label": "@string/permlab_read_settings" }, "com.android.launcher.permission.WRITE_SETTINGS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_write_settings", "protectionLevel": "signature|privileged", "label": "@string/permlab_write_settings" }, "com.android.launcher3.permission.READ_SETTINGS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_read_settings", "protectionLevel": "normal", "label": "@string/permlab_read_settings" }, "com.android.launcher3.permission.WRITE_SETTINGS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_write_settings", "protectionLevel": "signatureOrSystem", "label": "@string/permlab_write_settings" }, "com.android.launcher3.permission.RECEIVE_LAUNCH_BROADCASTS": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "com.android.launcher3.permission.RECEIVE_FIRST_LOAD_BROADCAST": { "permissionGroup": "", "description": "", "protectionLevel": "signatureOrSystem", "label": "" }, "com.android.tv.permission.RECEIVE_INPUT_EVENT": { "permissionGroup": "", "description": "@string/permdesc_receiveInputEvent", "protectionLevel": "signatureOrSystem", "label": "@string/permlab_receiveInputEvent" }, "android.permission.SEND_CALL_LOG_CHANGE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|system", "label": "Broadcast that a change happened to the call log." }, "android.permission.ACCESS_DOWNLOAD_MANAGER": { "permissionGroup": "", "description": "@string/permdesc_downloadManager", "protectionLevel": "signatureOrSystem", "label": "@string/permlab_downloadManager" }, "android.permission.ACCESS_DOWNLOAD_MANAGER_ADVANCED": { "permissionGroup": "", "description": "@string/permdesc_downloadManagerAdvanced", "protectionLevel": "signatureOrSystem", "label": "@string/permlab_downloadManagerAdvanced" }, "android.permission.SEND_DOWNLOAD_COMPLETED_INTENTS": { "permissionGroup": "", "description": "@string/permdesc_downloadCompletedIntent", "protectionLevel": "signature", "label": "@string/permlab_downloadCompletedIntent" }, "android.permission.DOWNLOAD_CACHE_NON_PURGEABLE": { "permissionGroup": "", "description": "@string/permdesc_downloadCacheNonPurgeable", "protectionLevel": "signatureOrSystem", "label": "@string/permlab_downloadCacheNonPurgeable" }, "android.permission.DOWNLOAD_WITHOUT_NOTIFICATION": { "permissionGroup": "android.permission-group.NETWORK", "description": "@string/permdesc_downloadWithoutNotification", "protectionLevel": "normal", "label": "@string/permlab_downloadWithoutNotification" }, "android.permission.ACCESS_ALL_DOWNLOADS": { "permissionGroup": "", "description": "@string/permdesc_accessAllDownloads", "protectionLevel": "signature", "label": "@string/permlab_accessAllDownloads" }, "android.permission.READ_TV_LISTINGS": { "permissionGroup": "", "description": "@string/permdesc_readTvListings", "protectionLevel": "dangerous", "label": "@string/permlab_readTvListings" }, "com.android.providers.tv.permission.READ_EPG_DATA": { "permissionGroup": "", "description": "@string/permdesc_readEpgData", "protectionLevel": "normal", "label": "@string/permlab_readEpgData" }, "com.android.providers.tv.permission.WRITE_EPG_DATA": { "permissionGroup": "", "description": "@string/permdesc_writeEpgData", "protectionLevel": "normal", "label": "@string/permlab_writeEpgData" }, "com.android.providers.tv.permission.ACCESS_ALL_EPG_DATA": { "permissionGroup": "", "description": "@string/permdesc_accessAllEpgData", "protectionLevel": "signatureOrSystem", "label": "@string/permlab_accessAllEpgData" }, "com.android.providers.tv.permission.ACCESS_WATCHED_PROGRAMS": { "permissionGroup": "", "description": "@string/permdesc_accessWatchedPrograms", "protectionLevel": "signatureOrSystem", "label": "@string/permlab_accessWatchedPrograms" } }androguard-3.1.0-rc2/androguard/core/api_specific_resources/aosp_permissions/permissions_25.json000066400000000000000000002204311324327352200332710ustar00rootroot00000000000000{ "android.permission.READ_CONTACTS": { "permissionGroup": "android.permission-group.CONTACTS", "description": "@string/permdesc_readContacts", "protectionLevel": "dangerous", "label": "@string/permlab_readContacts" }, "android.permission.WRITE_CONTACTS": { "permissionGroup": "android.permission-group.CONTACTS", "description": "@string/permdesc_writeContacts", "protectionLevel": "dangerous", "label": "@string/permlab_writeContacts" }, "android.permission.READ_CALENDAR": { "permissionGroup": "android.permission-group.CALENDAR", "description": "@string/permdesc_readCalendar", "protectionLevel": "dangerous", "label": "@string/permlab_readCalendar" }, "android.permission.WRITE_CALENDAR": { "permissionGroup": "android.permission-group.CALENDAR", "description": "@string/permdesc_writeCalendar", "protectionLevel": "dangerous", "label": "@string/permlab_writeCalendar" }, "android.permission.SEND_SMS": { "permissionGroup": "android.permission-group.SMS", "description": "@string/permdesc_sendSms", "protectionLevel": "dangerous", "label": "@string/permlab_sendSms" }, "android.permission.RECEIVE_SMS": { "permissionGroup": "android.permission-group.SMS", "description": "@string/permdesc_receiveSms", "protectionLevel": "dangerous", "label": "@string/permlab_receiveSms" }, "android.permission.READ_SMS": { "permissionGroup": "android.permission-group.SMS", "description": "@string/permdesc_readSms", "protectionLevel": "dangerous", "label": "@string/permlab_readSms" }, "android.permission.RECEIVE_WAP_PUSH": { "permissionGroup": "android.permission-group.SMS", "description": "@string/permdesc_receiveWapPush", "protectionLevel": "dangerous", "label": "@string/permlab_receiveWapPush" }, "android.permission.RECEIVE_MMS": { "permissionGroup": "android.permission-group.SMS", "description": "@string/permdesc_receiveMms", "protectionLevel": "dangerous", "label": "@string/permlab_receiveMms" }, "android.permission.READ_CELL_BROADCASTS": { "permissionGroup": "android.permission-group.SMS", "description": "@string/permdesc_readCellBroadcasts", "protectionLevel": "dangerous", "label": "@string/permlab_readCellBroadcasts" }, "android.permission.READ_EXTERNAL_STORAGE": { "permissionGroup": "android.permission-group.STORAGE", "description": "@string/permdesc_sdcardRead", "protectionLevel": "dangerous", "label": "@string/permlab_sdcardRead" }, "android.permission.WRITE_EXTERNAL_STORAGE": { "permissionGroup": "android.permission-group.STORAGE", "description": "@string/permdesc_sdcardWrite", "protectionLevel": "dangerous", "label": "@string/permlab_sdcardWrite" }, "android.permission.ACCESS_FINE_LOCATION": { "permissionGroup": "android.permission-group.LOCATION", "description": "@string/permdesc_accessFineLocation", "protectionLevel": "dangerous", "label": "@string/permlab_accessFineLocation" }, "android.permission.ACCESS_COARSE_LOCATION": { "permissionGroup": "android.permission-group.LOCATION", "description": "@string/permdesc_accessCoarseLocation", "protectionLevel": "dangerous", "label": "@string/permlab_accessCoarseLocation" }, "android.permission.READ_PHONE_STATE": { "permissionGroup": "android.permission-group.PHONE", "description": "@string/permdesc_readPhoneState", "protectionLevel": "dangerous", "label": "@string/permlab_readPhoneState" }, "android.permission.CALL_PHONE": { "permissionGroup": "android.permission-group.PHONE", "description": "@string/permdesc_callPhone", "protectionLevel": "dangerous", "label": "@string/permlab_callPhone" }, "android.permission.ACCESS_IMS_CALL_SERVICE": { "permissionGroup": "android.permission-group.PHONE", "description": "@string/permdesc_accessImsCallService", "protectionLevel": "signature|privileged", "label": "@string/permlab_accessImsCallService" }, "android.permission.READ_CALL_LOG": { "permissionGroup": "android.permission-group.PHONE", "description": "@string/permdesc_readCallLog", "protectionLevel": "dangerous", "label": "@string/permlab_readCallLog" }, "android.permission.WRITE_CALL_LOG": { "permissionGroup": "android.permission-group.PHONE", "description": "@string/permdesc_writeCallLog", "protectionLevel": "dangerous", "label": "@string/permlab_writeCallLog" }, "com.android.voicemail.permission.ADD_VOICEMAIL": { "permissionGroup": "android.permission-group.PHONE", "description": "@string/permdesc_addVoicemail", "protectionLevel": "dangerous", "label": "@string/permlab_addVoicemail" }, "android.permission.USE_SIP": { "permissionGroup": "android.permission-group.PHONE", "description": "@string/permdesc_use_sip", "protectionLevel": "dangerous", "label": "@string/permlab_use_sip" }, "android.permission.PROCESS_OUTGOING_CALLS": { "permissionGroup": "android.permission-group.PHONE", "description": "@string/permdesc_processOutgoingCalls", "protectionLevel": "dangerous", "label": "@string/permlab_processOutgoingCalls" }, "android.permission.RECORD_AUDIO": { "permissionGroup": "android.permission-group.MICROPHONE", "description": "@string/permdesc_recordAudio", "protectionLevel": "dangerous", "label": "@string/permlab_recordAudio" }, "android.permission.ACCESS_UCE_PRESENCE_SERVICE": { "permissionGroup": "android.permission-group.PHONE", "description": "", "protectionLevel": "signatureOrSystem", "label": "" }, "android.permission.ACCESS_UCE_OPTIONS_SERVICE": { "permissionGroup": "android.permission-group.PHONE", "description": "", "protectionLevel": "signatureOrSystem", "label": "" }, "android.permission.CAMERA": { "permissionGroup": "android.permission-group.CAMERA", "description": "@string/permdesc_camera", "protectionLevel": "dangerous", "label": "@string/permlab_camera" }, "android.permission.BODY_SENSORS": { "permissionGroup": "android.permission-group.SENSORS", "description": "@string/permdesc_bodySensors", "protectionLevel": "dangerous", "label": "@string/permlab_bodySensors" }, "android.permission.USE_FINGERPRINT": { "permissionGroup": "android.permission-group.SENSORS", "description": "@string/permdesc_useFingerprint", "protectionLevel": "normal", "label": "@string/permlab_useFingerprint" }, "android.permission.READ_PROFILE": { "permissionGroup": "", "description": "", "protectionLevel": "normal", "label": "" }, "android.permission.WRITE_PROFILE": { "permissionGroup": "", "description": "", "protectionLevel": "normal", "label": "" }, "android.permission.READ_SOCIAL_STREAM": { "permissionGroup": "", "description": "", "protectionLevel": "normal", "label": "" }, "android.permission.WRITE_SOCIAL_STREAM": { "permissionGroup": "", "description": "", "protectionLevel": "normal", "label": "" }, "android.permission.READ_USER_DICTIONARY": { "permissionGroup": "", "description": "", "protectionLevel": "normal", "label": "" }, "android.permission.WRITE_USER_DICTIONARY": { "permissionGroup": "", "description": "", "protectionLevel": "normal", "label": "" }, "android.permission.WRITE_SMS": { "permissionGroup": "", "description": "", "protectionLevel": "normal", "label": "" }, "com.android.browser.permission.READ_HISTORY_BOOKMARKS": { "permissionGroup": "", "description": "", "protectionLevel": "normal", "label": "" }, "com.android.browser.permission.WRITE_HISTORY_BOOKMARKS": { "permissionGroup": "", "description": "", "protectionLevel": "normal", "label": "" }, "android.permission.AUTHENTICATE_ACCOUNTS": { "permissionGroup": "", "description": "", "protectionLevel": "normal", "label": "" }, "android.permission.MANAGE_ACCOUNTS": { "permissionGroup": "", "description": "", "protectionLevel": "normal", "label": "" }, "android.permission.USE_CREDENTIALS": { "permissionGroup": "", "description": "", "protectionLevel": "normal", "label": "" }, "android.permission.SUBSCRIBED_FEEDS_READ": { "permissionGroup": "", "description": "", "protectionLevel": "normal", "label": "" }, "android.permission.SUBSCRIBED_FEEDS_WRITE": { "permissionGroup": "", "description": "", "protectionLevel": "normal", "label": "" }, "android.permission.FLASHLIGHT": { "permissionGroup": "", "description": "", "protectionLevel": "normal", "label": "" }, "android.permission.SEND_RESPOND_VIA_MESSAGE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.SEND_SMS_NO_CONFIRMATION": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.CARRIER_FILTER_SMS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.RECEIVE_EMERGENCY_BROADCAST": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.RECEIVE_BLUETOOTH_MAP": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.BIND_DIRECTORY_SEARCH": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.MODIFY_CELL_BROADCASTS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "com.android.alarm.permission.SET_ALARM": { "permissionGroup": "", "description": "@string/permdesc_setAlarm", "protectionLevel": "normal", "label": "@string/permlab_setAlarm" }, "com.android.voicemail.permission.WRITE_VOICEMAIL": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "com.android.voicemail.permission.READ_VOICEMAIL": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.ACCESS_LOCATION_EXTRA_COMMANDS": { "permissionGroup": "", "description": "@string/permdesc_accessLocationExtraCommands", "protectionLevel": "normal", "label": "@string/permlab_accessLocationExtraCommands" }, "android.permission.INSTALL_LOCATION_PROVIDER": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.HDMI_CEC": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.LOCATION_HARDWARE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.ACCESS_MOCK_LOCATION": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.INTERNET": { "permissionGroup": "", "description": "@string/permdesc_createNetworkSockets", "protectionLevel": "normal", "label": "@string/permlab_createNetworkSockets" }, "android.permission.ACCESS_NETWORK_STATE": { "permissionGroup": "", "description": "@string/permdesc_accessNetworkState", "protectionLevel": "normal", "label": "@string/permlab_accessNetworkState" }, "android.permission.ACCESS_WIFI_STATE": { "permissionGroup": "", "description": "@string/permdesc_accessWifiState", "protectionLevel": "normal", "label": "@string/permlab_accessWifiState" }, "android.permission.CHANGE_WIFI_STATE": { "permissionGroup": "", "description": "@string/permdesc_changeWifiState", "protectionLevel": "normal", "label": "@string/permlab_changeWifiState" }, "android.permission.READ_WIFI_CREDENTIAL": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.TETHER_PRIVILEGED": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.RECEIVE_WIFI_CREDENTIAL_CHANGE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.OVERRIDE_WIFI_CONFIG": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.ACCESS_WIMAX_STATE": { "permissionGroup": "", "description": "@string/permdesc_accessWimaxState", "protectionLevel": "normal", "label": "@string/permlab_accessWimaxState" }, "android.permission.CHANGE_WIMAX_STATE": { "permissionGroup": "", "description": "@string/permdesc_changeWimaxState", "protectionLevel": "normal", "label": "@string/permlab_changeWimaxState" }, "android.permission.SCORE_NETWORKS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.BLUETOOTH": { "permissionGroup": "", "description": "@string/permdesc_bluetooth", "protectionLevel": "normal", "label": "@string/permlab_bluetooth" }, "android.permission.BLUETOOTH_ADMIN": { "permissionGroup": "", "description": "@string/permdesc_bluetoothAdmin", "protectionLevel": "normal", "label": "@string/permlab_bluetoothAdmin" }, "android.permission.BLUETOOTH_PRIVILEGED": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.BLUETOOTH_MAP": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.BLUETOOTH_STACK": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.NFC": { "permissionGroup": "", "description": "@string/permdesc_nfc", "protectionLevel": "normal", "label": "@string/permlab_nfc" }, "android.permission.CONNECTIVITY_INTERNAL": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.CONNECTIVITY_USE_RESTRICTED_NETWORKS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.PACKET_KEEPALIVE_OFFLOAD": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.RECEIVE_DATA_ACTIVITY_CHANGE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.LOOP_RADIO": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.NFC_HANDOVER_STATUS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.GET_ACCOUNTS": { "permissionGroup": "android.permission-group.CONTACTS", "description": "@string/permdesc_getAccounts", "protectionLevel": "dangerous", "label": "@string/permlab_getAccounts" }, "android.permission.ACCOUNT_MANAGER": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.CHANGE_WIFI_MULTICAST_STATE": { "permissionGroup": "", "description": "@string/permdesc_changeWifiMulticastState", "protectionLevel": "normal", "label": "@string/permlab_changeWifiMulticastState" }, "android.permission.VIBRATE": { "permissionGroup": "", "description": "@string/permdesc_vibrate", "protectionLevel": "normal", "label": "@string/permlab_vibrate" }, "android.permission.WAKE_LOCK": { "permissionGroup": "", "description": "@string/permdesc_wakeLock", "protectionLevel": "normal", "label": "@string/permlab_wakeLock" }, "android.permission.TRANSMIT_IR": { "permissionGroup": "", "description": "@string/permdesc_transmitIr", "protectionLevel": "normal", "label": "@string/permlab_transmitIr" }, "android.permission.MODIFY_AUDIO_SETTINGS": { "permissionGroup": "", "description": "@string/permdesc_modifyAudioSettings", "protectionLevel": "normal", "label": "@string/permlab_modifyAudioSettings" }, "android.permission.MANAGE_USB": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.ACCESS_MTP": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.HARDWARE_TEST": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.ACCESS_FM_RADIO": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.NET_ADMIN": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.REMOTE_AUDIO_PLAYBACK": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.TV_INPUT_HARDWARE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.CAPTURE_TV_INPUT": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.DVB_DEVICE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.READ_OEM_UNLOCK_STATE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.OEM_UNLOCK_STATE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.ACCESS_PDB_STATE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.NOTIFY_PENDING_SYSTEM_UPDATE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.CAMERA_DISABLE_TRANSMIT_LED": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.CAMERA_SEND_SYSTEM_EVENTS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.MODIFY_PHONE_STATE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.READ_PRECISE_PHONE_STATE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.READ_PRIVILEGED_PHONE_STATE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.REGISTER_SIM_SUBSCRIPTION": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.REGISTER_CALL_PROVIDER": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.REGISTER_CONNECTION_MANAGER": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.BIND_INCALL_SERVICE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.BIND_SCREENING_SERVICE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.BIND_CONNECTION_SERVICE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.BIND_TELECOM_CONNECTION_SERVICE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.CONTROL_INCALL_EXPERIENCE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.RECEIVE_STK_COMMANDS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.WRITE_MEDIA_STORAGE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.MANAGE_DOCUMENTS": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.CACHE_CONTENT": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.DISABLE_KEYGUARD": { "permissionGroup": "", "description": "@string/permdesc_disableKeyguard", "protectionLevel": "normal", "label": "@string/permlab_disableKeyguard" }, "android.permission.GET_TASKS": { "permissionGroup": "", "description": "@string/permdesc_getTasks", "protectionLevel": "normal", "label": "@string/permlab_getTasks" }, "android.permission.REAL_GET_TASKS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.START_TASKS_FROM_RECENTS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.INTERACT_ACROSS_USERS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged|development", "label": "" }, "android.permission.INTERACT_ACROSS_USERS_FULL": { "permissionGroup": "", "description": "", "protectionLevel": "signature|installer", "label": "" }, "android.permission.MANAGE_USERS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.CREATE_USERS": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS": { "permissionGroup": "", "description": "@string/permdesc_manageProfileAndDeviceOwners", "protectionLevel": "signature", "label": "@string/permlab_manageProfileAndDeviceOwners" }, "android.permission.GET_DETAILED_TASKS": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.REORDER_TASKS": { "permissionGroup": "", "description": "@string/permdesc_reorderTasks", "protectionLevel": "normal", "label": "@string/permlab_reorderTasks" }, "android.permission.REMOVE_TASKS": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.MANAGE_ACTIVITY_STACKS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.START_ANY_ACTIVITY": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.RESTART_PACKAGES": { "permissionGroup": "", "description": "@string/permdesc_killBackgroundProcesses", "protectionLevel": "normal", "label": "@string/permlab_killBackgroundProcesses" }, "android.permission.KILL_BACKGROUND_PROCESSES": { "permissionGroup": "", "description": "@string/permdesc_killBackgroundProcesses", "protectionLevel": "normal", "label": "@string/permlab_killBackgroundProcesses" }, "android.permission.GET_PROCESS_STATE_AND_OOM_SCORE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged|development", "label": "" }, "android.permission.GET_PACKAGE_IMPORTANCE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.GET_INTENT_SENDER_INTENT": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.SYSTEM_ALERT_WINDOW": { "permissionGroup": "", "description": "@string/permdesc_systemAlertWindow", "protectionLevel": "signature|preinstalled|appop|pre23|development", "label": "@string/permlab_systemAlertWindow" }, "android.permission.SET_WALLPAPER": { "permissionGroup": "", "description": "@string/permdesc_setWallpaper", "protectionLevel": "normal", "label": "@string/permlab_setWallpaper" }, "android.permission.SET_WALLPAPER_HINTS": { "permissionGroup": "", "description": "@string/permdesc_setWallpaperHints", "protectionLevel": "normal", "label": "@string/permlab_setWallpaperHints" }, "android.permission.SET_TIME": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.SET_TIME_ZONE": { "permissionGroup": "", "description": "@string/permdesc_setTimeZone", "protectionLevel": "normal", "label": "@string/permlab_setTimeZone" }, "android.permission.EXPAND_STATUS_BAR": { "permissionGroup": "", "description": "@string/permdesc_expandStatusBar", "protectionLevel": "normal", "label": "@string/permlab_expandStatusBar" }, "com.android.launcher.permission.INSTALL_SHORTCUT": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_install_shortcut", "protectionLevel": "dangerous", "label": "@string/permlab_install_shortcut" }, "com.android.launcher.permission.UNINSTALL_SHORTCUT": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_uninstall_shortcut", "protectionLevel": "dangerous", "label": "@string/permlab_uninstall_shortcut" }, "android.permission.READ_SYNC_SETTINGS": { "permissionGroup": "", "description": "@string/permdesc_readSyncSettings", "protectionLevel": "normal", "label": "@string/permlab_readSyncSettings" }, "android.permission.WRITE_SYNC_SETTINGS": { "permissionGroup": "", "description": "@string/permdesc_writeSyncSettings", "protectionLevel": "normal", "label": "@string/permlab_writeSyncSettings" }, "android.permission.READ_SYNC_STATS": { "permissionGroup": "", "description": "@string/permdesc_readSyncStats", "protectionLevel": "normal", "label": "@string/permlab_readSyncStats" }, "android.permission.SET_SCREEN_COMPATIBILITY": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.CHANGE_CONFIGURATION": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged|development", "label": "" }, "android.permission.WRITE_SETTINGS": { "permissionGroup": "", "description": "@string/permdesc_writeSettings", "protectionLevel": "signature|preinstalled|appop|pre23", "label": "@string/permlab_writeSettings" }, "android.permission.WRITE_GSERVICES": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.FORCE_STOP_PACKAGES": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.RETRIEVE_WINDOW_CONTENT": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.SET_ANIMATION_SCALE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged|development", "label": "" }, "android.permission.PERSISTENT_ACTIVITY": { "permissionGroup": "", "description": "@string/permdesc_persistentActivity", "protectionLevel": "normal", "label": "@string/permlab_persistentActivity" }, "android.permission.GET_PACKAGE_SIZE": { "permissionGroup": "", "description": "@string/permdesc_getPackageSize", "protectionLevel": "normal", "label": "@string/permlab_getPackageSize" }, "android.permission.SET_PREFERRED_APPLICATIONS": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.RECEIVE_BOOT_COMPLETED": { "permissionGroup": "", "description": "@string/permdesc_receiveBootCompleted", "protectionLevel": "normal", "label": "@string/permlab_receiveBootCompleted" }, "android.permission.BROADCAST_STICKY": { "permissionGroup": "", "description": "@string/permdesc_broadcastSticky", "protectionLevel": "normal", "label": "@string/permlab_broadcastSticky" }, "android.permission.MOUNT_UNMOUNT_FILESYSTEMS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.MOUNT_FORMAT_FILESYSTEMS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.STORAGE_INTERNAL": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.ASEC_ACCESS": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.ASEC_CREATE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.ASEC_DESTROY": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.ASEC_MOUNT_UNMOUNT": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.ASEC_RENAME": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.WRITE_APN_SETTINGS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.CHANGE_NETWORK_STATE": { "permissionGroup": "", "description": "@string/permdesc_changeNetworkState", "protectionLevel": "normal", "label": "@string/permlab_changeNetworkState" }, "android.permission.CLEAR_APP_CACHE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.ALLOW_ANY_CODEC_FOR_PLAYBACK": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.MANAGE_CA_CERTIFICATES": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.RECOVERY": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.BIND_JOB_SERVICE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.UPDATE_CONFIG": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.RESET_SHORTCUT_MANAGER_THROTTLING": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.WRITE_SECURE_SETTINGS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged|development", "label": "" }, "android.permission.DUMP": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged|development", "label": "" }, "android.permission.READ_LOGS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged|development", "label": "" }, "android.permission.SET_DEBUG_APP": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged|development", "label": "" }, "android.permission.SET_PROCESS_LIMIT": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged|development", "label": "" }, "android.permission.SET_ALWAYS_FINISH": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged|development", "label": "" }, "android.permission.SIGNAL_PERSISTENT_PROCESSES": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged|development", "label": "" }, "android.permission.GET_ACCOUNTS_PRIVILEGED": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.GET_PASSWORD": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.DIAGNOSTIC": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.STATUS_BAR": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.STATUS_BAR_SERVICE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.BIND_QUICK_SETTINGS_TILE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.FORCE_BACK": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.UPDATE_DEVICE_STATS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.GET_APP_OPS_STATS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged|development", "label": "" }, "android.permission.UPDATE_APP_OPS_STATS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged|installer", "label": "" }, "android.permission.MANAGE_APP_OPS_RESTRICTIONS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|installer", "label": "" }, "android.permission.INTERNAL_SYSTEM_WINDOW": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.MANAGE_APP_TOKENS": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.REGISTER_WINDOW_MANAGER_LISTENERS": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.FREEZE_SCREEN": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.INJECT_EVENTS": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.FILTER_EVENTS": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.RETRIEVE_WINDOW_TOKEN": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.FRAME_STATS": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.TEMPORARY_ENABLE_ACCESSIBILITY": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.SET_ACTIVITY_WATCHER": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.SHUTDOWN": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.STOP_APP_SWITCHES": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.GET_TOP_ACTIVITY_INFO": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.READ_INPUT_STATE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.BIND_INPUT_METHOD": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.BIND_MIDI_DEVICE_SERVICE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.BIND_ACCESSIBILITY_SERVICE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.BIND_PRINT_SERVICE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.BIND_PRINT_RECOMMENDATION_SERVICE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.BIND_NFC_SERVICE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.BIND_PRINT_SPOOLER_SERVICE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.BIND_RUNTIME_PERMISSION_PRESENTER_SERVICE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.BIND_TEXT_SERVICE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.BIND_VPN_SERVICE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.BIND_WALLPAPER": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.BIND_VOICE_INTERACTION": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.MANAGE_VOICE_KEYPHRASES": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.BIND_REMOTE_DISPLAY": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.BIND_TV_INPUT": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.BIND_TV_REMOTE_SERVICE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.TV_VIRTUAL_REMOTE_CONTROLLER": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.MODIFY_PARENTAL_CONTROLS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.BIND_ROUTE_PROVIDER": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.BIND_DEVICE_ADMIN": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.MANAGE_DEVICE_ADMINS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.SET_ORIENTATION": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.SET_POINTER_SPEED": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.SET_INPUT_CALIBRATION": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.SET_KEYBOARD_LAYOUT": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.TABLET_MODE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.REQUEST_INSTALL_PACKAGES": { "permissionGroup": "", "description": "@string/permdesc_requestInstallPackages", "protectionLevel": "normal", "label": "@string/permlab_requestInstallPackages" }, "android.permission.INSTALL_PACKAGES": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.CLEAR_APP_USER_DATA": { "permissionGroup": "", "description": "", "protectionLevel": "signature|installer", "label": "" }, "android.permission.GET_APP_GRANTED_URI_PERMISSIONS": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.CLEAR_APP_GRANTED_URI_PERMISSIONS": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.DELETE_CACHE_FILES": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.DELETE_PACKAGES": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.MOVE_PACKAGE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.CHANGE_COMPONENT_ENABLED_STATE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.GRANT_RUNTIME_PERMISSIONS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|installer|verifier", "label": "" }, "android.permission.INSTALL_GRANT_RUNTIME_PERMISSIONS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|installer|verifier", "label": "" }, "android.permission.REVOKE_RUNTIME_PERMISSIONS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|installer|verifier", "label": "" }, "android.permission.OBSERVE_GRANT_REVOKE_PERMISSIONS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.ACCESS_SURFACE_FLINGER": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.READ_FRAME_BUFFER": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.ACCESS_INPUT_FLINGER": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.CONFIGURE_WIFI_DISPLAY": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.CONTROL_WIFI_DISPLAY": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.CONFIGURE_DISPLAY_COLOR_MODE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.CONTROL_VPN": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.CAPTURE_AUDIO_OUTPUT": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.CAPTURE_AUDIO_HOTWORD": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.MODIFY_AUDIO_ROUTING": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.CAPTURE_VIDEO_OUTPUT": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.CAPTURE_SECURE_VIDEO_OUTPUT": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.MEDIA_CONTENT_CONTROL": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.BRICK": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.REBOOT": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.DEVICE_POWER": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.USER_ACTIVITY": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.NET_TUNNELING": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.FACTORY_TEST": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.BROADCAST_PACKAGE_REMOVED": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.BROADCAST_SMS": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.BROADCAST_WAP_PUSH": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.BROADCAST_NETWORK_PRIVILEGED": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.MASTER_CLEAR": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.CALL_PRIVILEGED": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.PERFORM_CDMA_PROVISIONING": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.PERFORM_SIM_ACTIVATION": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.CONTROL_LOCATION_UPDATES": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.ACCESS_CHECKIN_PROPERTIES": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.PACKAGE_USAGE_STATS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged|development|appop", "label": "" }, "android.permission.CHANGE_APP_IDLE_STATE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS": { "permissionGroup": "", "description": "", "protectionLevel": "normal", "label": "" }, "android.permission.BATTERY_STATS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged|development", "label": "" }, "android.permission.BACKUP": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.CONFIRM_FULL_BACKUP": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.BIND_REMOTEVIEWS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.BIND_APPWIDGET": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.BIND_KEYGUARD_APPWIDGET": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.MODIFY_APPWIDGET_BIND_PERMISSIONS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.CHANGE_BACKGROUND_DATA_SETTING": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.GLOBAL_SEARCH": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.GLOBAL_SEARCH_CONTROL": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.READ_SEARCH_INDEXABLES": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.SET_WALLPAPER_COMPONENT": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.READ_DREAM_STATE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.WRITE_DREAM_STATE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.ACCESS_CACHE_FILESYSTEM": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.COPY_PROTECTED_DATA": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.CRYPT_KEEPER": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.READ_NETWORK_USAGE_HISTORY": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.MANAGE_NETWORK_POLICY": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.MODIFY_NETWORK_ACCOUNTING": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.intent.category.MASTER_CLEAR.permission.C2D_MESSAGE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.PACKAGE_VERIFICATION_AGENT": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.BIND_PACKAGE_VERIFIER": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.INTENT_FILTER_VERIFICATION_AGENT": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.BIND_INTENT_FILTER_VERIFIER": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.SERIAL_PORT": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.ACCESS_CONTENT_PROVIDERS_EXTERNALLY": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.UPDATE_LOCK": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.ACCESS_NOTIFICATIONS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.ACCESS_NOTIFICATION_POLICY": { "permissionGroup": "", "description": "@string/permdesc_access_notification_policy", "protectionLevel": "normal", "label": "@string/permlab_access_notification_policy" }, "android.permission.MANAGE_NOTIFICATIONS": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.MANAGE_FINGERPRINT": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.RESET_FINGERPRINT_LOCKOUT": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.CONTROL_KEYGUARD": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.TRUST_LISTENER": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.PROVIDE_TRUST_AGENT": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.LAUNCH_TRUST_AGENT_SETTINGS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.BIND_TRUST_AGENT": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.BIND_NOTIFICATION_LISTENER_SERVICE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.BIND_NOTIFICATION_RANKER_SERVICE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.BIND_CHOOSER_TARGET_SERVICE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.BIND_CONDITION_PROVIDER_SERVICE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.BIND_DREAM_SERVICE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.INVOKE_CARRIER_SETUP": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.ACCESS_NETWORK_CONDITIONS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.ACCESS_DRM_CERTIFICATES": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.MANAGE_MEDIA_PROJECTION": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.READ_INSTALL_SESSIONS": { "permissionGroup": "", "description": "@string/permdesc_readInstallSessions", "protectionLevel": "normal", "label": "@string/permlab_readInstallSessions" }, "android.permission.REMOVE_DRM_CERTIFICATES": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.BIND_CARRIER_MESSAGING_SERVICE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.ACCESS_VOICE_INTERACTION_SERVICE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.BIND_CARRIER_SERVICES": { "permissionGroup": "", "description": "@string/permdesc_bindCarrierServices", "protectionLevel": "signature|privileged", "label": "@string/permlab_bindCarrierServices" }, "android.permission.QUERY_DO_NOT_ASK_CREDENTIALS_ON_BOOT": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.KILL_UID": { "permissionGroup": "", "description": "", "protectionLevel": "signature|installer", "label": "" }, "android.permission.LOCAL_MAC_ADDRESS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.PEERS_MAC_ADDRESS": { "permissionGroup": "", "description": "", "protectionLevel": "signature|setup", "label": "" }, "android.permission.DISPATCH_NFC_MESSAGE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.MODIFY_DAY_NIGHT_MODE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.ACCESS_EPHEMERAL_APPS": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.RECEIVE_MEDIA_RESOURCE_USAGE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.MANAGE_SOUND_TRIGGER": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.DISPATCH_PROVISIONING_MESSAGE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "android.permission.READ_BLOCKED_NUMBERS": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.WRITE_BLOCKED_NUMBERS": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.BIND_VR_LISTENER_SERVICE": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.ACCESS_VR_MANAGER": { "permissionGroup": "", "description": "", "protectionLevel": "signature", "label": "" }, "android.permission.UPDATE_LOCK_TASK_PACKAGES": { "permissionGroup": "", "description": "", "protectionLevel": "signature|setup", "label": "" }, "android.permission.SUBSTITUTE_NOTIFICATION_APP_NAME": { "permissionGroup": "", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "com.android.rcs.eab.permission.READ_WRITE_EAB": { "permissionGroup": "", "description": "", "protectionLevel": "signatureOrSystem", "label": "" }, "android.permission.ACCESS_BLUETOOTH_SHARE": { "permissionGroup": "", "description": "@string/permdesc_bluetoothShareManager", "protectionLevel": "signature", "label": "@string/permlab_bluetoothShareManager" }, "com.android.permission.WHITELIST_BLUETOOTH_DEVICE": { "permissionGroup": "", "description": "@string/permdesc_bluetoothWhitelist", "protectionLevel": "signature", "label": "@string/permlab_bluetoothWhitelist" }, "com.android.email.permission.READ_ATTACHMENT": { "permissionGroup": "android.permission-group.MESSAGES", "description": "@string/permission_read_attachment_desc", "protectionLevel": "dangerous", "label": "@string/permission_read_attachment_label" }, "com.android.email.permission.ACCESS_PROVIDER": { "permissionGroup": "", "description": "@string/permission_access_provider_desc", "protectionLevel": "signature", "label": "@string/permission_access_provider_label" }, "com.android.gallery3d.permission.GALLERY_PROVIDER": { "permissionGroup": "", "description": "", "protectionLevel": "signatureOrSystem", "label": "" }, "com.android.launcher.permission.PRELOAD_WORKSPACE": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "", "protectionLevel": "signature|privileged", "label": "" }, "com.android.launcher.permission.READ_SETTINGS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_read_settings", "protectionLevel": "normal", "label": "@string/permlab_read_settings" }, "com.android.launcher.permission.WRITE_SETTINGS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_write_settings", "protectionLevel": "signature|privileged", "label": "@string/permlab_write_settings" }, "com.android.launcher3.permission.READ_SETTINGS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_read_settings", "protectionLevel": "normal", "label": "@string/permlab_read_settings" }, "com.android.launcher3.permission.WRITE_SETTINGS": { "permissionGroup": "android.permission-group.SYSTEM_TOOLS", "description": "@string/permdesc_write_settings", "protectionLevel": "signatureOrSystem", "label": "@string/permlab_write_settings" }, "com.android.tv.permission.RECEIVE_INPUT_EVENT": { "permissionGroup": "", "description": "@string/permdesc_receiveInputEvent", "protectionLevel": "signatureOrSystem", "label": "@string/permlab_receiveInputEvent" }, "android.permission.SEND_CALL_LOG_CHANGE": { "permissionGroup": "", "description": "", "protectionLevel": "signature|system", "label": "Broadcast that a change happened to the call log." }, "android.permission.ACCESS_DOWNLOAD_MANAGER": { "permissionGroup": "", "description": "@string/permdesc_downloadManager", "protectionLevel": "signatureOrSystem", "label": "@string/permlab_downloadManager" }, "android.permission.ACCESS_DOWNLOAD_MANAGER_ADVANCED": { "permissionGroup": "", "description": "@string/permdesc_downloadManagerAdvanced", "protectionLevel": "signatureOrSystem", "label": "@string/permlab_downloadManagerAdvanced" }, "android.permission.SEND_DOWNLOAD_COMPLETED_INTENTS": { "permissionGroup": "", "description": "@string/permdesc_downloadCompletedIntent", "protectionLevel": "signature", "label": "@string/permlab_downloadCompletedIntent" }, "android.permission.DOWNLOAD_CACHE_NON_PURGEABLE": { "permissionGroup": "", "description": "@string/permdesc_downloadCacheNonPurgeable", "protectionLevel": "signatureOrSystem", "label": "@string/permlab_downloadCacheNonPurgeable" }, "android.permission.DOWNLOAD_WITHOUT_NOTIFICATION": { "permissionGroup": "android.permission-group.NETWORK", "description": "@string/permdesc_downloadWithoutNotification", "protectionLevel": "normal", "label": "@string/permlab_downloadWithoutNotification" }, "android.permission.ACCESS_ALL_DOWNLOADS": { "permissionGroup": "", "description": "@string/permdesc_accessAllDownloads", "protectionLevel": "signature", "label": "@string/permlab_accessAllDownloads" }, "android.permission.READ_TV_LISTINGS": { "permissionGroup": "", "description": "@string/permdesc_readTvListings", "protectionLevel": "dangerous", "label": "@string/permlab_readTvListings" }, "com.android.providers.tv.permission.READ_EPG_DATA": { "permissionGroup": "", "description": "@string/permdesc_readEpgData", "protectionLevel": "normal", "label": "@string/permlab_readEpgData" }, "com.android.providers.tv.permission.WRITE_EPG_DATA": { "permissionGroup": "", "description": "@string/permdesc_writeEpgData", "protectionLevel": "normal", "label": "@string/permlab_writeEpgData" }, "com.android.providers.tv.permission.ACCESS_ALL_EPG_DATA": { "permissionGroup": "", "description": "@string/permdesc_accessAllEpgData", "protectionLevel": "signatureOrSystem", "label": "@string/permlab_accessAllEpgData" }, "com.android.providers.tv.permission.ACCESS_WATCHED_PROGRAMS": { "permissionGroup": "", "description": "@string/permdesc_accessWatchedPrograms", "protectionLevel": "signatureOrSystem", "label": "@string/permlab_accessWatchedPrograms" } }androguard-3.1.0-rc2/androguard/core/api_specific_resources/api_permission_mappings/000077500000000000000000000000001324327352200310355ustar00rootroot00000000000000permissions_16.json000066400000000000000000005357741324327352200345570ustar00rootroot00000000000000androguard-3.1.0-rc2/androguard/core/api_specific_resources/api_permission_mappings{ "Landroid/accounts/AbstractAccountAuthenticator$Transport;-addAccount-(Landroid/accounts/IAccountAuthenticatorResponse; Ljava/lang/String; Ljava/lang/String; [Ljava/lang/String; Landroid/os/Bundle;)V": [ "android.permission.ACCOUNT_MANAGER" ], "Landroid/accounts/AbstractAccountAuthenticator$Transport;-confirmCredentials-(Landroid/accounts/IAccountAuthenticatorResponse; Landroid/accounts/Account; Landroid/os/Bundle;)V": [ "android.permission.ACCOUNT_MANAGER" ], "Landroid/accounts/AbstractAccountAuthenticator$Transport;-editProperties-(Landroid/accounts/IAccountAuthenticatorResponse; Ljava/lang/String;)V": [ "android.permission.ACCOUNT_MANAGER" ], "Landroid/accounts/AbstractAccountAuthenticator$Transport;-getAccountRemovalAllowed-(Landroid/accounts/IAccountAuthenticatorResponse; Landroid/accounts/Account;)V": [ "android.permission.ACCOUNT_MANAGER" ], "Landroid/accounts/AbstractAccountAuthenticator$Transport;-getAuthToken-(Landroid/accounts/IAccountAuthenticatorResponse; Landroid/accounts/Account; Ljava/lang/String; Landroid/os/Bundle;)V": [ "android.permission.ACCOUNT_MANAGER" ], "Landroid/accounts/AbstractAccountAuthenticator$Transport;-getAuthTokenLabel-(Landroid/accounts/IAccountAuthenticatorResponse; Ljava/lang/String;)V": [ "android.permission.ACCOUNT_MANAGER" ], "Landroid/accounts/AbstractAccountAuthenticator$Transport;-hasFeatures-(Landroid/accounts/IAccountAuthenticatorResponse; Landroid/accounts/Account; [Ljava/lang/String;)V": [ "android.permission.ACCOUNT_MANAGER" ], "Landroid/accounts/AbstractAccountAuthenticator$Transport;-updateCredentials-(Landroid/accounts/IAccountAuthenticatorResponse; Landroid/accounts/Account; Ljava/lang/String; Landroid/os/Bundle;)V": [ "android.permission.ACCOUNT_MANAGER" ], "Landroid/accounts/AccountManagerService;-addAccount-(Landroid/accounts/Account; Ljava/lang/String; Landroid/os/Bundle;)Z": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Landroid/accounts/AccountManagerService;-addAcount-(Landroid/accounts/IAccountManagerResponse; Ljava/lang/String; Ljava/lang/String; [Ljava/lang/String; Z Landroid/os/Bundle;)V": [ "android.permission.MANAGE_ACCOUNTS" ], "Landroid/accounts/AccountManagerService;-clearPassword-(Landroid/accounts/Account;)V": [ "android.permission.MANAGE_ACCOUNTS" ], "Landroid/accounts/AccountManagerService;-confirmCredentials-(Landroid/accounts/IAccountManagerResponse; Landroid/accounts/Account; Landroid/os/Bundle; Z)V": [ "android.permission.MANAGE_ACCOUNTS" ], "Landroid/accounts/AccountManagerService;-editProperties-(Landroid/accounts/IAccountManagerResponse; Ljava/lang/String; Z)V": [ "android.permission.MANAGE_ACCOUNTS" ], "Landroid/accounts/AccountManagerService;-getAccounts-(Ljava/lang/String;)[Landroid/accounts/Account;": [ "android.permission.GET_ACCOUNTS" ], "Landroid/accounts/AccountManagerService;-getAccountsByFeatures-(Landroid/accounts/IAccountManagerResponse; Ljava/lang/String; [Ljava/lang/String;)V": [ "android.permission.GET_ACCOUNTS" ], "Landroid/accounts/AccountManagerService;-getAuthToken-(Landroid/accounts/IAccountManagerResponse; Landroid/accounts/Account; Ljava/lang/String; Z Z Landroid/os/Bundle;)V": [ "android.permission.USE_CREDENTIALS" ], "Landroid/accounts/AccountManagerService;-getPassword-(Landroid/accounts/Account;)Ljava/lang/String;": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Landroid/accounts/AccountManagerService;-getUserData-(Landroid/accounts/Account; Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Landroid/accounts/AccountManagerService;-hasFeatures-(Landroid/accounts/IAccountManagerResponse; Landroid/accounts/Account; [Ljava/lang/String;)V": [ "android.permission.GET_ACCOUNTS" ], "Landroid/accounts/AccountManagerService;-invalidateAuthToken-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.MANAGE_ACCOUNTS", "android.permission.USE_CREDENTIALS" ], "Landroid/accounts/AccountManagerService;-peekAuthToken-(Landroid/accounts/Account; Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Landroid/accounts/AccountManagerService;-removeAccount-(Landroid/accounts/IAccountManagerResponse; Landroid/accounts/Account;)V": [ "android.permission.MANAGE_ACCOUNTS" ], "Landroid/accounts/AccountManagerService;-setAuthToken-(Landroid/accounts/Account; Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Landroid/accounts/AccountManagerService;-setPassword-(Landroid/accounts/Account; Ljava/lang/String;)V": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Landroid/accounts/AccountManagerService;-setUserData-(Landroid/accounts/Account; Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Landroid/accounts/AccountManagerService;-updateCredentials-(Landroid/accounts/IAccountManagerResponse; Landroid/accounts/Account; Ljava/lang/String; Z Landroid/os/Bundle;)V": [ "android.permission.MANAGE_ACCOUNTS" ], "Landroid/content/ContentService;-addPeriodicSync-(Landroid/accounts/Account; Ljava/lang/String; Landroid/os/Bundle; J)V": [ "android.permission.WRITE_SYNC_SETTINGS" ], "Landroid/content/ContentService;-getCurrentSyncs-()Ljava/util/List;": [ "android.permission.READ_SYNC_STATS" ], "Landroid/content/ContentService;-getIsSyncable-(Landroid/accounts/Account; Ljava/lang/String;)I": [ "android.permission.READ_SYNC_SETTINGS" ], "Landroid/content/ContentService;-getMasterSyncAutomatically-()Z": [ "android.permission.READ_SYNC_SETTINGS" ], "Landroid/content/ContentService;-getPeriodicSyncs-(Landroid/accounts/Account; Ljava/lang/String;)Ljava/util/List;": [ "android.permission.READ_SYNC_SETTINGS" ], "Landroid/content/ContentService;-getSyncAutomatically-(Landroid/accounts/Account; Ljava/lang/String;)Z": [ "android.permission.READ_SYNC_SETTINGS" ], "Landroid/content/ContentService;-getSyncStatus-(Landroid/accounts/Account; Ljava/lang/String;)Landroid/content/SyncStatusInfo;": [ "android.permission.READ_SYNC_STATS" ], "Landroid/content/ContentService;-isSyncActive-(Landroid/accounts/Account; Ljava/lang/String;)Z": [ "android.permission.READ_SYNC_STATS" ], "Landroid/content/ContentService;-isSyncPending-(Landroid/accounts/Account; Ljava/lang/String;)Z": [ "android.permission.READ_SYNC_STATS" ], "Landroid/content/ContentService;-removePeriodicSync-(Landroid/accounts/Account; Ljava/lang/String; Landroid/os/Bundle;)V": [ "android.permission.WRITE_SYNC_SETTINGS" ], "Landroid/content/ContentService;-setIsSyncable-(Landroid/accounts/Account; Ljava/lang/String; I)V": [ "android.permission.WRITE_SYNC_SETTINGS" ], "Landroid/content/ContentService;-setMasterSyncAutomatically-(Z)V": [ "android.permission.WRITE_SYNC_SETTINGS" ], "Landroid/content/ContentService;-setSyncAutomatically-(Landroid/accounts/Account; Ljava/lang/String; Z)V": [ "android.permission.WRITE_SYNC_SETTINGS" ], "Landroid/media/AudioService;-registerMediaButtonEventReceiverForCalls-(Landroid/content/ComponentName;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Landroid/media/AudioService;-setBluetoothScoOn-(Z)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/media/AudioService;-setMode-(I Landroid/os/IBinder;)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/media/AudioService;-setRingtonePlayer-(Landroid/media/IRingtonePlayer;)V": [ "android.permission.REMOTE_AUDIO_PLAYBACK" ], "Landroid/media/AudioService;-setSpeakerphoneOn-(Z)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/media/AudioService;-startBluetoothSco-(Landroid/os/IBinder;)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/media/AudioService;-stopBluetoothSco-(Landroid/os/IBinder;)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/media/AudioService;-unregisterMediaButtonEventReceiverForCalls-()V": [ "android.permission.MODIFY_PHONE_STATE" ], "Landroid/net/wifi/p2p/WifiP2pService;-getMessenger-()Landroid/os/Messenger;": [ "android.permission.ACCESS_WIFI_STATE", "android.permission.CHANGE_WIFI_STATE" ], "Landroid/server/BluetoothA2dpService;-allowIncomingConnect-(Landroid/bluetooth/BluetoothDevice; Z)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Landroid/server/BluetoothA2dpService;-connect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Landroid/server/BluetoothA2dpService;-connectSinkInternal-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Landroid/server/BluetoothA2dpService;-disconnect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Landroid/server/BluetoothA2dpService;-disconnectSinkInternal-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Landroid/server/BluetoothA2dpService;-getConnectedDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Landroid/server/BluetoothA2dpService;-getConnectionState-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Landroid/server/BluetoothA2dpService;-getDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Landroid/server/BluetoothA2dpService;-getPriority-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Landroid/server/BluetoothA2dpService;-isA2dpPlaying-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Landroid/server/BluetoothA2dpService;-resumeSink-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Landroid/server/BluetoothA2dpService;-setPriority-(Landroid/bluetooth/BluetoothDevice; I)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Landroid/server/BluetoothA2dpService;-suspendSink-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Landroid/server/BluetoothService;-addRfcommServiceRecord-(Ljava/lang/String; Landroid/os/ParcelUuid; I Landroid/os/IBinder;)I": [ "android.permission.BLUETOOTH" ], "Landroid/server/BluetoothService;-allowIncomingProfileConnect-(Landroid/bluetooth/BluetoothDevice; Z)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Landroid/server/BluetoothService;-cancelBondProcess-(Ljava/lang/String;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Landroid/server/BluetoothService;-cancelDiscovery-()Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Landroid/server/BluetoothService;-cancelPairingUserInput-(Ljava/lang/String;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Landroid/server/BluetoothService;-changeApplicationBluetoothState-(Z Landroid/bluetooth/IBluetoothStateChangeCallback; Landroid/os/IBinder;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/server/BluetoothService;-connectChannelToSink-(Landroid/bluetooth/BluetoothDevice; Landroid/bluetooth/BluetoothHealthAppConfiguration; I)Z": [ "android.permission.BLUETOOTH" ], "Landroid/server/BluetoothService;-connectChannelToSource-(Landroid/bluetooth/BluetoothDevice; Landroid/bluetooth/BluetoothHealthAppConfiguration;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/server/BluetoothService;-connectHeadset-(Ljava/lang/String;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Landroid/server/BluetoothService;-connectInputDevice-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Landroid/server/BluetoothService;-connectPanDevice-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Landroid/server/BluetoothService;-createBond-(Ljava/lang/String;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Landroid/server/BluetoothService;-createBondOutOfBand-(Ljava/lang/String; [B [B)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Landroid/server/BluetoothService;-disable-(Z)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Landroid/server/BluetoothService;-disconnectChannel-(Landroid/bluetooth/BluetoothDevice; Landroid/bluetooth/BluetoothHealthAppConfiguration; I)Z": [ "android.permission.BLUETOOTH" ], "Landroid/server/BluetoothService;-disconnectHeadset-(Ljava/lang/String;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Landroid/server/BluetoothService;-disconnectInputDevice-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Landroid/server/BluetoothService;-disconnectPanDevice-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Landroid/server/BluetoothService;-enable-()Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Landroid/server/BluetoothService;-enableNoAutoConnect-()Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Landroid/server/BluetoothService;-fetchRemoteUuids-(Ljava/lang/String; Landroid/os/ParcelUuid; Landroid/bluetooth/IBluetoothCallback;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/server/BluetoothService;-getAddress-()Ljava/lang/String;": [ "android.permission.BLUETOOTH" ], "Landroid/server/BluetoothService;-getBluetoothState-()I": [ "android.permission.BLUETOOTH" ], "Landroid/server/BluetoothService;-getBondState-(Ljava/lang/String;)I": [ "android.permission.BLUETOOTH" ], "Landroid/server/BluetoothService;-getConnectedHealthDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Landroid/server/BluetoothService;-getConnectedInputDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Landroid/server/BluetoothService;-getConnectedPanDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Landroid/server/BluetoothService;-getDiscoverableTimeout-()I": [ "android.permission.BLUETOOTH" ], "Landroid/server/BluetoothService;-getHealthDeviceConnectionState-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Landroid/server/BluetoothService;-getHealthDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Landroid/server/BluetoothService;-getInputDeviceConnectionState-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Landroid/server/BluetoothService;-getInputDevicePriority-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Landroid/server/BluetoothService;-getInputDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Landroid/server/BluetoothService;-getMainChannelFd-(Landroid/bluetooth/BluetoothDevice; Landroid/bluetooth/BluetoothHealthAppConfiguration;)Landroid/os/ParcelFileDescriptor;": [ "android.permission.BLUETOOTH" ], "Landroid/server/BluetoothService;-getName-()Ljava/lang/String;": [ "android.permission.BLUETOOTH" ], "Landroid/server/BluetoothService;-getPanDeviceConnectionState-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Landroid/server/BluetoothService;-getPanDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Landroid/server/BluetoothService;-getProfileConnectionState-(I)I": [ "android.permission.BLUETOOTH" ], "Landroid/server/BluetoothService;-getRemoteAlias-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.BLUETOOTH" ], "Landroid/server/BluetoothService;-getRemoteClass-(Ljava/lang/String;)I": [ "android.permission.BLUETOOTH" ], "Landroid/server/BluetoothService;-getRemoteName-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.BLUETOOTH" ], "Landroid/server/BluetoothService;-getRemoteServiceChannel-(Ljava/lang/String; Landroid/os/ParcelUuid;)I": [ "android.permission.BLUETOOTH" ], "Landroid/server/BluetoothService;-getRemoteUuids-(Ljava/lang/String;)[Landroid/os/ParcelUuid;": [ "android.permission.BLUETOOTH" ], "Landroid/server/BluetoothService;-getScanMode-()I": [ "android.permission.BLUETOOTH" ], "Landroid/server/BluetoothService;-getTrustState-(Ljava/lang/String;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/server/BluetoothService;-getUuids-()[Landroid/os/ParcelUuid;": [ "android.permission.BLUETOOTH" ], "Landroid/server/BluetoothService;-isDiscovering-()Z": [ "android.permission.BLUETOOTH" ], "Landroid/server/BluetoothService;-isEnabled-()Z": [ "android.permission.BLUETOOTH" ], "Landroid/server/BluetoothService;-isTetheringOn-()Z": [ "android.permission.BLUETOOTH" ], "Landroid/server/BluetoothService;-listBonds-()[Ljava/lang/String;": [ "android.permission.BLUETOOTH" ], "Landroid/server/BluetoothService;-readOutOfBandData-()[B": [ "android.permission.BLUETOOTH" ], "Landroid/server/BluetoothService;-registerAppConfiguration-(Landroid/bluetooth/BluetoothHealthAppConfiguration; Landroid/bluetooth/IBluetoothHealthCallback;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/server/BluetoothService;-removeBond-(Ljava/lang/String;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Landroid/server/BluetoothService;-removeServiceRecord-(I)V": [ "android.permission.BLUETOOTH" ], "Landroid/server/BluetoothService;-setBluetoothTethering-(Z)V": [ "android.permission.BLUETOOTH" ], "Landroid/server/BluetoothService;-setDeviceOutOfBandData-(Ljava/lang/String; [B [B)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Landroid/server/BluetoothService;-setDiscoverableTimeout-(I)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Landroid/server/BluetoothService;-setInputDevicePriority-(Landroid/bluetooth/BluetoothDevice; I)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Landroid/server/BluetoothService;-setName-(Ljava/lang/String;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Landroid/server/BluetoothService;-setPairingConfirmation-(Ljava/lang/String; Z)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Landroid/server/BluetoothService;-setPasskey-(Ljava/lang/String; I)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Landroid/server/BluetoothService;-setPin-(Ljava/lang/String; [B)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Landroid/server/BluetoothService;-setRemoteAlias-(Ljava/lang/String; Ljava/lang/String;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/server/BluetoothService;-setRemoteOutOfBandData-(Ljava/lang/String;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Landroid/server/BluetoothService;-setScanMode-(I I)Z": [ "android.permission.BLUETOOTH", "android.permission.WRITE_SECURE_SETTINGS" ], "Landroid/server/BluetoothService;-setTrust-(Ljava/lang/String; Z)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Landroid/server/BluetoothService;-startDiscovery-()Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Landroid/server/BluetoothService;-unregisterAppConfiguration-(Landroid/bluetooth/BluetoothHealthAppConfiguration;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/email/provider/AttachmentProvider;-openFile-(Landroid/net/Uri; Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;": [ "com.android.email.permission.ACCESS_PROVIDER" ], "Lcom/android/internal/telephony/IccPhoneBookInterfaceManager;-getAdnRecordsInEf-(I)Ljava/util/List;": [ "android.permission.READ_CONTACTS", "android.permission.READ_CONTACTS" ], "Lcom/android/internal/telephony/IccPhoneBookInterfaceManager;-updateAdnRecordsInEfByIndex-(I Ljava/lang/String; Ljava/lang/String; I Ljava/lang/String;)Z": [ "android.permission.WRITE_CONTACTS", "android.permission.WRITE_CONTACTS" ], "Lcom/android/internal/telephony/IccPhoneBookInterfaceManager;-updateAdnRecordsInEfBySearch-(I Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/lang/String;)Z": [ "android.permission.WRITE_CONTACTS", "android.permission.WRITE_CONTACTS" ], "Lcom/android/internal/telephony/IccPhoneBookInterfaceManagerProxy;-getAdnRecordsInEf-(I)Ljava/util/List;": [ "android.permission.READ_CONTACTS" ], "Lcom/android/internal/telephony/IccPhoneBookInterfaceManagerProxy;-updateAdnRecordsInEfByIndex-(I Ljava/lang/String; Ljava/lang/String; I Ljava/lang/String;)Z": [ "android.permission.WRITE_CONTACTS" ], "Lcom/android/internal/telephony/IccPhoneBookInterfaceManagerProxy;-updateAdnRecordsInEfBySearch-(I Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/lang/String;)Z": [ "android.permission.WRITE_CONTACTS" ], "Lcom/android/internal/telephony/IccSmsInterfaceManager;-sendData-(Ljava/lang/String; Ljava/lang/String; I [B Landroid/app/PendingIntent; Landroid/app/PendingIntent;)V": [ "android.permission.SEND_SMS", "android.permission.SEND_SMS" ], "Lcom/android/internal/telephony/IccSmsInterfaceManager;-sendMultipartText-(Ljava/lang/String; Ljava/lang/String; Ljava/util/List; Ljava/util/List; Ljava/util/List;)V": [ "android.permission.SEND_SMS", "android.permission.SEND_SMS" ], "Lcom/android/internal/telephony/IccSmsInterfaceManager;-sendText-(Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Landroid/app/PendingIntent; Landroid/app/PendingIntent;)V": [ "android.permission.SEND_SMS", "android.permission.SEND_SMS" ], "Lcom/android/internal/telephony/IccSmsInterfaceManagerProxy;-sendData-(Ljava/lang/String; Ljava/lang/String; I [B Landroid/app/PendingIntent; Landroid/app/PendingIntent;)V": [ "android.permission.SEND_SMS" ], "Lcom/android/internal/telephony/IccSmsInterfaceManagerProxy;-sendMultipartText-(Ljava/lang/String; Ljava/lang/String; Ljava/util/List; Ljava/util/List; Ljava/util/List;)V": [ "android.permission.SEND_SMS" ], "Lcom/android/internal/telephony/IccSmsInterfaceManagerProxy;-sendText-(Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Landroid/app/PendingIntent; Landroid/app/PendingIntent;)V": [ "android.permission.SEND_SMS" ], "Lcom/android/internal/telephony/PhoneSubInfo;-getCompleteVoiceMailNumber-()Ljava/lang/String;": [ "android.permission.CALL_PRIVILEGED" ], "Lcom/android/internal/telephony/PhoneSubInfo;-getDeviceId-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfo;-getDeviceSvn-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfo;-getIccSerialNumber-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfo;-getIsimDomain-()Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfo;-getIsimImpi-()Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfo;-getIsimImpu-()[Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfo;-getLine1AlphaTag-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfo;-getLine1Number-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfo;-getMsisdn-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfo;-getSubscriberId-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfo;-getVoiceMailAlphaTag-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfo;-getVoiceMailNumber-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/cdma/RuimSmsInterfaceManager;-copyMessageToIccEf-(I [B [B)Z": [ "android.permission.RECEIVE_SMS", "android.permission.SEND_SMS" ], "Lcom/android/internal/telephony/cdma/RuimSmsInterfaceManager;-getAllMessagesFromIccEf-()Ljava/util/List;": [ "android.permission.RECEIVE_SMS" ], "Lcom/android/internal/telephony/cdma/RuimSmsInterfaceManager;-updateMessageOnIccEf-(I I [B)Z": [ "android.permission.RECEIVE_SMS", "android.permission.SEND_SMS" ], "Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;-copyMessageToIccEf-(I [B [B)Z": [ "android.permission.RECEIVE_SMS", "android.permission.SEND_SMS" ], "Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;-disableCellBroadcast-(I)Z": [ "android.permission.RECEIVE_SMS" ], "Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;-disableCellBroadcastRange-(I I)Z": [ "android.permission.RECEIVE_SMS" ], "Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;-enableCellBroadcast-(I)Z": [ "android.permission.RECEIVE_SMS" ], "Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;-enableCellBroadcastRange-(I I)Z": [ "android.permission.RECEIVE_SMS" ], "Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;-getAllMessagesFromIccEf-()Ljava/util/List;": [ "android.permission.RECEIVE_SMS" ], "Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;-updateMessageOnIccEf-(I I [B)Z": [ "android.permission.RECEIVE_SMS", "android.permission.SEND_SMS" ], "Lcom/android/nfc/NfcService$NfcAdapterExtrasService;-authenticate-(Ljava/lang/String; [B)V": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$NfcAdapterExtrasService;-close-(Ljava/lang/String; Landroid/os/IBinder;)Landroid/os/Bundle;": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$NfcAdapterExtrasService;-getCardEmulationRoute-(Ljava/lang/String;)I": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$NfcAdapterExtrasService;-open-(Ljava/lang/String; Landroid/os/IBinder;)Landroid/os/Bundle;": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$NfcAdapterExtrasService;-setCardEmulationRoute-(Ljava/lang/String; I)V": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$NfcAdapterExtrasService;-transceive-(Ljava/lang/String; [B)Landroid/os/Bundle;": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$NfcAdapterService;-disable-(Z)Z": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/nfc/NfcService$NfcAdapterService;-disableNdefPush-()Z": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/nfc/NfcService$NfcAdapterService;-dispatch-(Landroid/nfc/Tag;)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/nfc/NfcService$NfcAdapterService;-enable-()Z": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/nfc/NfcService$NfcAdapterService;-enableNdefPush-()Z": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/nfc/NfcService$NfcAdapterService;-getNfcAdapterExtrasInterface-(Ljava/lang/String;)Landroid/nfc/INfcAdapterExtras;": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$NfcAdapterService;-setForegroundDispatch-(Landroid/app/PendingIntent; [Landroid/content/IntentFilter; Landroid/nfc/TechListParcel;)V": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$NfcAdapterService;-setNdefPushCallback-(Landroid/nfc/INdefPushCallback;)V": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$NfcAdapterService;-setP2pModes-(I I)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/nfc/NfcService$TagService;-close-(I)I": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-connect-(I I)I": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-formatNdef-(I [B)I": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-getTechList-(I)[I": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-getTimeout-(I)I": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-isNdef-(I)Z": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-ndefMakeReadOnly-(I)I": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-ndefRead-(I)Landroid/nfc/NdefMessage;": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-ndefWrite-(I Landroid/nfc/NdefMessage;)I": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-reconnect-(I)I": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-rediscover-(I)Landroid/nfc/Tag;": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-resetTimeouts-()V": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-setTimeout-(I I)I": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-transceive-(I [B Z)Landroid/nfc/TransceiveResult;": [ "android.permission.NFC" ], "Lcom/android/phone/PhoneInterfaceManager;-answerRingingCall-()V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-call-(Ljava/lang/String;)V": [ "android.permission.CALL_PHONE" ], "Lcom/android/phone/PhoneInterfaceManager;-cancelMissedCallsNotification-()V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-disableApnType-(Ljava/lang/String;)I": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-disableDataConnectivity-()Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-disableLocationUpdates-()V": [ "android.permission.CONTROL_LOCATION_UPDATES" ], "Lcom/android/phone/PhoneInterfaceManager;-enableApnType-(Ljava/lang/String;)I": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-enableDataConnectivity-()Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-enableLocationUpdates-()V": [ "android.permission.CONTROL_LOCATION_UPDATES" ], "Lcom/android/phone/PhoneInterfaceManager;-endCall-()Z": [ "android.permission.CALL_PHONE" ], "Lcom/android/phone/PhoneInterfaceManager;-getAllCellInfo-()Ljava/util/List;": [ "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/phone/PhoneInterfaceManager;-getCellLocation-()Landroid/os/Bundle;": [ "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/phone/PhoneInterfaceManager;-getNeighboringCellInfo-()Ljava/util/List;": [ "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/phone/PhoneInterfaceManager;-handlePinMmi-(Ljava/lang/String;)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-isSimPinEnabled-()Z": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-setRadio-(Z)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-silenceRinger-()V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-supplyPin-(Ljava/lang/String;)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-supplyPuk-(Ljava/lang/String; Ljava/lang/String;)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-toggleRadioOnOff-()V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/providers/contacts/AbstractContactsProvider;-bulkInsert-(Landroid/net/Uri; [Landroid/content/ContentValues;)I": [ "android.permission.WRITE_PROFILE" ], "Lcom/android/providers/contacts/AbstractContactsProvider;-delete-(Landroid/net/Uri; Ljava/lang/String; [Ljava/lang/String;)I": [ "android.permission.WRITE_PROFILE" ], "Lcom/android/providers/contacts/AbstractContactsProvider;-insert-(Landroid/net/Uri; Landroid/content/ContentValues;)Landroid/net/Uri;": [ "android.permission.WRITE_PROFILE" ], "Lcom/android/providers/contacts/AbstractContactsProvider;-update-(Landroid/net/Uri; Landroid/content/ContentValues; Ljava/lang/String; [Ljava/lang/String;)I": [ "android.permission.WRITE_PROFILE" ], "Lcom/android/providers/contacts/CallLogProvider;-delete-(Landroid/net/Uri; Ljava/lang/String; [Ljava/lang/String;)I": [ "com.android.voicemail.permission.ADD_VOICEMAIL" ], "Lcom/android/providers/contacts/CallLogProvider;-insert-(Landroid/net/Uri; Landroid/content/ContentValues;)Landroid/net/Uri;": [ "com.android.voicemail.permission.ADD_VOICEMAIL" ], "Lcom/android/providers/contacts/CallLogProvider;-update-(Landroid/net/Uri; Landroid/content/ContentValues; Ljava/lang/String; [Ljava/lang/String;)I": [ "com.android.voicemail.permission.ADD_VOICEMAIL" ], "Lcom/android/providers/contacts/ContactsProvider2;-bulkInsert-(Landroid/net/Uri; [Landroid/content/ContentValues;)I": [ "android.permission.READ_SOCIAL_STREAM" ], "Lcom/android/providers/contacts/ContactsProvider2;-call-(Ljava/lang/String; Ljava/lang/String; Landroid/os/Bundle;)Landroid/os/Bundle;": [ "android.permission.READ_SOCIAL_STREAM" ], "Lcom/android/providers/contacts/ContactsProvider2;-delete-(Landroid/net/Uri; Ljava/lang/String; [Ljava/lang/String;)I": [ "android.permission.READ_SOCIAL_STREAM", "android.permission.WRITE_SOCIAL_STREAM" ], "Lcom/android/providers/contacts/ContactsProvider2;-getType-(Landroid/net/Uri;)Ljava/lang/String;": [ "android.permission.READ_SOCIAL_STREAM" ], "Lcom/android/providers/contacts/ContactsProvider2;-insert-(Landroid/net/Uri; Landroid/content/ContentValues;)Landroid/net/Uri;": [ "android.permission.READ_SOCIAL_STREAM", "android.permission.WRITE_SOCIAL_STREAM" ], "Lcom/android/providers/contacts/ContactsProvider2;-update-(Landroid/net/Uri; Landroid/content/ContentValues; Ljava/lang/String; [Ljava/lang/String;)I": [ "android.permission.READ_SOCIAL_STREAM", "android.permission.WRITE_SOCIAL_STREAM" ], "Lcom/android/providers/contacts/ProfileProvider;-openAssetFile-(Landroid/net/Uri; Ljava/lang/String;)Landroid/content/res/AssetFileDescriptor;": [ "android.permission.READ_PROFILE", "android.permission.WRITE_PROFILE" ], "Lcom/android/providers/contacts/VoicemailContentProvider;-delete-(Landroid/net/Uri; Ljava/lang/String; [Ljava/lang/String;)I": [ "com.android.voicemail.permission.ADD_VOICEMAIL" ], "Lcom/android/providers/contacts/VoicemailContentProvider;-insert-(Landroid/net/Uri; Landroid/content/ContentValues;)Landroid/net/Uri;": [ "com.android.voicemail.permission.ADD_VOICEMAIL" ], "Lcom/android/providers/contacts/VoicemailContentProvider;-openFile-(Landroid/net/Uri; Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;": [ "com.android.voicemail.permission.ADD_VOICEMAIL" ], "Lcom/android/providers/contacts/VoicemailContentProvider;-update-(Landroid/net/Uri; Landroid/content/ContentValues; Ljava/lang/String; [Ljava/lang/String;)I": [ "com.android.voicemail.permission.ADD_VOICEMAIL" ], "Lcom/android/providers/downloads/DownloadProvider;-delete-(Landroid/net/Uri; Ljava/lang/String; [Ljava/lang/String;)I": [ "android.permission.ACCESS_ALL_DOWNLOADS" ], "Lcom/android/providers/downloads/DownloadProvider;-insert-(Landroid/net/Uri; Landroid/content/ContentValues;)Landroid/net/Uri;": [ "android.permission.ACCESS_CACHE_FILESYSTEM", "android.permission.ACCESS_DOWNLOAD_MANAGER", "android.permission.ACCESS_DOWNLOAD_MANAGER_ADVANCED", "android.permission.DOWNLOAD_CACHE_NON_PURGEABLE", "android.permission.DOWNLOAD_WITHOUT_NOTIFICATION", "android.permission.INTERNET", "android.permission.WRITE_EXTERNAL_STORAGE" ], "Lcom/android/providers/downloads/DownloadProvider;-openFile-(Landroid/net/Uri; Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;": [ "android.permission.ACCESS_ALL_DOWNLOADS" ], "Lcom/android/providers/downloads/DownloadProvider;-update-(Landroid/net/Uri; Landroid/content/ContentValues; Ljava/lang/String; [Ljava/lang/String;)I": [ "android.permission.ACCESS_ALL_DOWNLOADS" ], "Lcom/android/providers/drm/DrmProvider;-delete-(Landroid/net/Uri; Ljava/lang/String; [Ljava/lang/String;)I": [ "android.permission.ACCESS_DRM" ], "Lcom/android/providers/drm/DrmProvider;-insert-(Landroid/net/Uri; Landroid/content/ContentValues;)Landroid/net/Uri;": [ "android.permission.INSTALL_DRM" ], "Lcom/android/providers/drm/DrmProvider;-update-(Landroid/net/Uri; Landroid/content/ContentValues; Ljava/lang/String; [Ljava/lang/String;)I": [ "android.permission.ACCESS_DRM" ], "Lcom/android/providers/media/MediaProvider;-openFile-(Landroid/net/Uri; Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;": [ "android.permission.ACCESS_CACHE_FILESYSTEM", "android.permission.READ_EXTERNAL_STORAGE", "android.permission.WRITE_EXTERNAL_STORAGE" ], "Lcom/android/providers/settings/SettingsProvider;-bulkInsert-(Landroid/net/Uri; [Landroid/content/ContentValues;)I": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/providers/settings/SettingsProvider;-delete-(Landroid/net/Uri; Ljava/lang/String; [Ljava/lang/String;)I": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/providers/settings/SettingsProvider;-insert-(Landroid/net/Uri; Landroid/content/ContentValues;)Landroid/net/Uri;": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/providers/settings/SettingsProvider;-openAssetFile-(Landroid/net/Uri; Ljava/lang/String;)Landroid/content/res/AssetFileDescriptor;": [ "android.permission.ACCESS_DRM" ], "Lcom/android/providers/settings/SettingsProvider;-openFile-(Landroid/net/Uri; Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;": [ "android.permission.ACCESS_DRM" ], "Lcom/android/providers/settings/SettingsProvider;-update-(Landroid/net/Uri; Landroid/content/ContentValues; Ljava/lang/String; [Ljava/lang/String;)I": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/providers/telephony/TelephonyProvider;-delete-(Landroid/net/Uri; Ljava/lang/String; [Ljava/lang/String;)I": [ "android.permission.WRITE_APN_SETTINGS" ], "Lcom/android/providers/telephony/TelephonyProvider;-insert-(Landroid/net/Uri; Landroid/content/ContentValues;)Landroid/net/Uri;": [ "android.permission.WRITE_APN_SETTINGS" ], "Lcom/android/providers/telephony/TelephonyProvider;-update-(Landroid/net/Uri; Landroid/content/ContentValues; Ljava/lang/String; [Ljava/lang/String;)I": [ "android.permission.WRITE_APN_SETTINGS" ], "Lcom/android/server/AlarmManagerService;-setTime-(J)V": [ "android.permission.SET_TIME" ], "Lcom/android/server/AlarmManagerService;-setTimeZone-(Ljava/lang/String;)V": [ "android.permission.SET_TIME_ZONE" ], "Lcom/android/server/AppWidgetService;-bindAppWidgetId-(I Landroid/content/ComponentName;)V": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/AppWidgetService;-bindAppWidgetIdIfAllowed-(Ljava/lang/String; I Landroid/content/ComponentName;)Z": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/AppWidgetService;-bindRemoteViewsService-(I Landroid/content/Intent; Landroid/os/IBinder;)V": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/AppWidgetService;-deleteAppWidgetId-(I)V": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/AppWidgetService;-getAppWidgetInfo-(I)Landroid/appwidget/AppWidgetProviderInfo;": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/AppWidgetService;-getAppWidgetOptions-(I)Landroid/os/Bundle;": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/AppWidgetService;-getAppWidgetViews-(I)Landroid/widget/RemoteViews;": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/AppWidgetService;-hasBindAppWidgetPermission-(Ljava/lang/String;)Z": [ "android.permission.MODIFY_APPWIDGET_BIND_PERMISSIONS" ], "Lcom/android/server/AppWidgetService;-notifyAppWidgetViewDataChanged-([I I)V": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/AppWidgetService;-partiallyUpdateAppWidgetIds-([I Landroid/widget/RemoteViews;)V": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/AppWidgetService;-setBindAppWidgetPermission-(Ljava/lang/String; Z)V": [ "android.permission.MODIFY_APPWIDGET_BIND_PERMISSIONS" ], "Lcom/android/server/AppWidgetService;-unbindRemoteViewsService-(I Landroid/content/Intent;)V": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/AppWidgetService;-updateAppWidgetIds-([I Landroid/widget/RemoteViews;)V": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/AppWidgetService;-updateAppWidgetOptions-(I Landroid/os/Bundle;)V": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/AppWidgetService;-updateAppWidgetProvider-(Landroid/content/ComponentName; Landroid/widget/RemoteViews;)V": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/BackupManagerService$ActiveRestoreSession;-getAvailableRestoreSets-(Landroid/app/backup/IRestoreObserver;)I": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService$ActiveRestoreSession;-restoreAll-(J Landroid/app/backup/IRestoreObserver;)I": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService$ActiveRestoreSession;-restorePackage-(Ljava/lang/String; Landroid/app/backup/IRestoreObserver;)I": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService$ActiveRestoreSession;-restoreSome-(J Landroid/app/backup/IRestoreObserver; [Ljava/lang/String;)I": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService;-acknowledgeFullBackupOrRestore-(I Z Ljava/lang/String; Ljava/lang/String; Landroid/app/backup/IFullBackupRestoreObserver;)V": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService;-backupNow-()V": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService;-beginRestoreSession-(Ljava/lang/String; Ljava/lang/String;)Landroid/app/backup/IRestoreSession;": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService;-clearBackupData-(Ljava/lang/String;)V": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService;-dataChanged-(Ljava/lang/String;)V": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService;-fullBackup-(Landroid/os/ParcelFileDescriptor; Z Z Z Z [Ljava/lang/String;)V": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService;-fullRestore-(Landroid/os/ParcelFileDescriptor;)V": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService;-getConfigurationIntent-(Ljava/lang/String;)Landroid/content/Intent;": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService;-getCurrentTransport-()Ljava/lang/String;": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService;-getDestinationString-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService;-hasBackupPassword-()Z": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService;-isBackupEnabled-()Z": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService;-listAllTransports-()[Ljava/lang/String;": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService;-selectBackupTransport-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService;-setAutoRestore-(Z)V": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService;-setBackupEnabled-(Z)V": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService;-setBackupPassword-(Ljava/lang/String; Ljava/lang/String;)Z": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService;-setBackupProvisioned-(Z)V": [ "android.permission.BACKUP" ], "Lcom/android/server/ConnectivityService;-getActiveLinkProperties-()Landroid/net/LinkProperties;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getActiveNetworkInfo-()Landroid/net/NetworkInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getActiveNetworkInfoForUid-(I)Landroid/net/NetworkInfo;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-getActiveNetworkQuotaInfo-()Landroid/net/NetworkQuotaInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getAllNetworkInfo-()[Landroid/net/NetworkInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getAllNetworkState-()[Landroid/net/NetworkState;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getLastTetherError-(Ljava/lang/String;)I": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getLinkProperties-(I)Landroid/net/LinkProperties;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getMobileDataEnabled-()Z": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getNetworkInfo-(I)Landroid/net/NetworkInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getNetworkPreference-()I": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getTetherableBluetoothRegexs-()[Ljava/lang/String;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getTetherableIfaces-()[Ljava/lang/String;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getTetherableUsbRegexs-()[Ljava/lang/String;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getTetherableWifiRegexs-()[Ljava/lang/String;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getTetheredIfacePairs-()[Ljava/lang/String;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getTetheredIfaces-()[Ljava/lang/String;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getTetheringErroredIfaces-()[Ljava/lang/String;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-isActiveNetworkMetered-()Z": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-isNetworkSupported-(I)Z": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-isTetheringSupported-()Z": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-reportInetCondition-(I I)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/ConnectivityService;-requestNetworkTransitionWakelock-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-requestRouteToHost-(I I)Z": [ "android.permission.CHANGE_NETWORK_STATE", "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-requestRouteToHostAddress-(I [B)Z": [ "android.permission.CHANGE_NETWORK_STATE", "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-setDataDependency-(I Z)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-setGlobalProxy-(Landroid/net/ProxyProperties;)V": [ "android.permission.CHANGE_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-setMobileDataEnabled-(Z)V": [ "android.permission.CHANGE_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-setNetworkPreference-(I)V": [ "android.permission.CHANGE_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-setPolicyDataEnable-(I Z)V": [ "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/ConnectivityService;-setRadio-(I Z)Z": [ "android.permission.CHANGE_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-setRadios-(Z)Z": [ "android.permission.CHANGE_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-setUsbTethering-(Z)I": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-startUsingNetworkFeature-(I Ljava/lang/String; Landroid/os/IBinder;)I": [ "android.permission.CHANGE_NETWORK_STATE", "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-stopUsingNetworkFeature-(I Ljava/lang/String;)I": [ "android.permission.CHANGE_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-tether-(Ljava/lang/String;)I": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.CHANGE_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-untether-(Ljava/lang/String;)I": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.CHANGE_NETWORK_STATE" ], "Lcom/android/server/DevicePolicyManagerService;-getRemoveWarning-(Landroid/content/ComponentName; Landroid/os/RemoteCallback;)V": [ "android.permission.BIND_DEVICE_ADMIN" ], "Lcom/android/server/DevicePolicyManagerService;-removeActiveAdmin-(Landroid/content/ComponentName;)V": [ "android.permission.BIND_DEVICE_ADMIN" ], "Lcom/android/server/DevicePolicyManagerService;-reportFailedPasswordAttempt-()V": [ "android.permission.BIND_DEVICE_ADMIN" ], "Lcom/android/server/DevicePolicyManagerService;-reportSuccessfulPasswordAttempt-()V": [ "android.permission.BIND_DEVICE_ADMIN" ], "Lcom/android/server/DevicePolicyManagerService;-setActiveAdmin-(Landroid/content/ComponentName; Z)V": [ "android.permission.BIND_DEVICE_ADMIN" ], "Lcom/android/server/DevicePolicyManagerService;-setActivePasswordState-(I I I I I I I I)V": [ "android.permission.BIND_DEVICE_ADMIN" ], "Lcom/android/server/DropBoxManagerService;-getNextEntry-(Ljava/lang/String; J)Landroid/os/DropBoxManager$Entry;": [ "android.permission.READ_LOGS" ], "Lcom/android/server/InputMethodManagerService;-setInputMethod-(Landroid/os/IBinder; Ljava/lang/String;)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/InputMethodManagerService;-setInputMethodAndSubtype-(Landroid/os/IBinder; Ljava/lang/String; Landroid/view/inputmethod/InputMethodSubtype;)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/InputMethodManagerService;-setInputMethodEnabled-(Ljava/lang/String; Z)Z": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/InputMethodManagerService;-switchToLastInputMethod-(Landroid/os/IBinder;)Z": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/InputMethodManagerService;-switchToNextInputMethod-(Landroid/os/IBinder; Z)Z": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/LocationManagerService;-addGpsStatusListener-(Landroid/location/IGpsStatusListener;)Z": [ "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-addProximityAlert-(D D F J Landroid/app/PendingIntent;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-addTestProvider-(Ljava/lang/String; Z Z Z Z Z Z Z I I)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Lcom/android/server/LocationManagerService;-clearTestProviderEnabled-(Ljava/lang/String;)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Lcom/android/server/LocationManagerService;-clearTestProviderLocation-(Ljava/lang/String;)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Lcom/android/server/LocationManagerService;-clearTestProviderStatus-(Ljava/lang/String;)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Lcom/android/server/LocationManagerService;-getBestProvider-(Landroid/location/Criteria; Z)Ljava/lang/String;": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-getLastKnownLocation-(Ljava/lang/String;)Landroid/location/Location;": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-getProviderInfo-(Ljava/lang/String;)Landroid/os/Bundle;": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-getProviders-(Landroid/location/Criteria; Z)Ljava/util/List;": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-isProviderEnabled-(Ljava/lang/String;)Z": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-removeTestProvider-(Ljava/lang/String;)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Lcom/android/server/LocationManagerService;-reportLocation-(Landroid/location/Location; Z)V": [ "android.permission.INSTALL_LOCATION_PROVIDER" ], "Lcom/android/server/LocationManagerService;-requestLocationUpdates-(Ljava/lang/String; Landroid/location/Criteria; J F Z Landroid/location/ILocationListener;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-requestLocationUpdatesPI-(Ljava/lang/String; Landroid/location/Criteria; J F Z Landroid/app/PendingIntent;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-sendExtraCommand-(Ljava/lang/String; Ljava/lang/String; Landroid/os/Bundle;)Z": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION", "android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" ], "Lcom/android/server/LocationManagerService;-setTestProviderEnabled-(Ljava/lang/String; Z)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Lcom/android/server/LocationManagerService;-setTestProviderLocation-(Ljava/lang/String; Landroid/location/Location;)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Lcom/android/server/LocationManagerService;-setTestProviderStatus-(Ljava/lang/String; I Landroid/os/Bundle; J)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Lcom/android/server/MountService;-changeEncryptionPassword-(Ljava/lang/String;)I": [ "android.permission.CRYPT_KEEPER" ], "Lcom/android/server/MountService;-createSecureContainer-(Ljava/lang/String; I Ljava/lang/String; Ljava/lang/String; I Z)I": [ "android.permission.ASEC_CREATE" ], "Lcom/android/server/MountService;-decryptStorage-(Ljava/lang/String;)I": [ "android.permission.CRYPT_KEEPER" ], "Lcom/android/server/MountService;-destroySecureContainer-(Ljava/lang/String; Z)I": [ "android.permission.ASEC_DESTROY" ], "Lcom/android/server/MountService;-encryptStorage-(Ljava/lang/String;)I": [ "android.permission.CRYPT_KEEPER" ], "Lcom/android/server/MountService;-finalizeSecureContainer-(Ljava/lang/String;)I": [ "android.permission.ASEC_CREATE" ], "Lcom/android/server/MountService;-fixPermissionsSecureContainer-(Ljava/lang/String; I Ljava/lang/String;)I": [ "android.permission.ASEC_CREATE" ], "Lcom/android/server/MountService;-formatVolume-(Ljava/lang/String;)I": [ "android.permission.MOUNT_FORMAT_FILESYSTEMS" ], "Lcom/android/server/MountService;-getEncryptionState-()I": [ "android.permission.CRYPT_KEEPER" ], "Lcom/android/server/MountService;-getSecureContainerFilesystemPath-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.ASEC_ACCESS" ], "Lcom/android/server/MountService;-getSecureContainerList-()[Ljava/lang/String;": [ "android.permission.ASEC_ACCESS" ], "Lcom/android/server/MountService;-getSecureContainerPath-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.ASEC_ACCESS" ], "Lcom/android/server/MountService;-getStorageUsers-(Ljava/lang/String;)[I": [ "android.permission.MOUNT_UNMOUNT_FILESYSTEMS" ], "Lcom/android/server/MountService;-isSecureContainerMounted-(Ljava/lang/String;)Z": [ "android.permission.ASEC_ACCESS" ], "Lcom/android/server/MountService;-mountSecureContainer-(Ljava/lang/String; Ljava/lang/String; I)I": [ "android.permission.ASEC_MOUNT_UNMOUNT" ], "Lcom/android/server/MountService;-mountVolume-(Ljava/lang/String;)I": [ "android.permission.MOUNT_UNMOUNT_FILESYSTEMS" ], "Lcom/android/server/MountService;-renameSecureContainer-(Ljava/lang/String; Ljava/lang/String;)I": [ "android.permission.ASEC_RENAME" ], "Lcom/android/server/MountService;-setUsbMassStorageEnabled-(Z)V": [ "android.permission.MOUNT_UNMOUNT_FILESYSTEMS" ], "Lcom/android/server/MountService;-shutdown-(Landroid/os/storage/IMountShutdownObserver;)V": [ "android.permission.SHUTDOWN" ], "Lcom/android/server/MountService;-unmountSecureContainer-(Ljava/lang/String; Z)I": [ "android.permission.ASEC_MOUNT_UNMOUNT" ], "Lcom/android/server/MountService;-unmountVolume-(Ljava/lang/String; Z Z)V": [ "android.permission.MOUNT_UNMOUNT_FILESYSTEMS" ], "Lcom/android/server/MountService;-verifyEncryptionPassword-(Ljava/lang/String;)I": [ "android.permission.CRYPT_KEEPER" ], "Lcom/android/server/NetworkManagementService;-addRoute-(Ljava/lang/String; Landroid/net/RouteInfo;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-addSecondaryRoute-(Ljava/lang/String; Landroid/net/RouteInfo;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-attachPppd-(Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-clearInterfaceAddresses-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-detachPppd-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-disableIpv6-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-disableNat-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-enableIpv6-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-enableNat-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-flushDefaultDnsCache-()V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-flushInterfaceDnsCache-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getDnsForwarders-()[Ljava/lang/String;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getInterfaceConfig-(Ljava/lang/String;)Landroid/net/InterfaceConfiguration;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getInterfaceRxThrottle-(Ljava/lang/String;)I": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getInterfaceTxThrottle-(Ljava/lang/String;)I": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getIpForwardingEnabled-()Z": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getNetworkStatsDetail-()Landroid/net/NetworkStats;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getNetworkStatsSummaryDev-()Landroid/net/NetworkStats;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getNetworkStatsSummaryXt-()Landroid/net/NetworkStats;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getNetworkStatsTethering-([Ljava/lang/String;)Landroid/net/NetworkStats;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getNetworkStatsUidDetail-(I)Landroid/net/NetworkStats;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getRoutes-(Ljava/lang/String;)[Landroid/net/RouteInfo;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-isBandwidthControlEnabled-()Z": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-isTetheringStarted-()Z": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-listInterfaces-()[Ljava/lang/String;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-listTetheredInterfaces-()[Ljava/lang/String;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-listTtys-()[Ljava/lang/String;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-registerObserver-(Landroid/net/INetworkManagementEventObserver;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-removeInterfaceAlert-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-removeInterfaceQuota-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-removeRoute-(Ljava/lang/String; Landroid/net/RouteInfo;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-removeSecondaryRoute-(Ljava/lang/String; Landroid/net/RouteInfo;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setAccessPoint-(Landroid/net/wifi/WifiConfiguration; Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setDefaultInterfaceForDns-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setDnsForwarders-([Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setDnsServersForInterface-(Ljava/lang/String; [Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setGlobalAlert-(J)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setInterfaceAlert-(Ljava/lang/String; J)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setInterfaceConfig-(Ljava/lang/String; Landroid/net/InterfaceConfiguration;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setInterfaceDown-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setInterfaceIpv6PrivacyExtensions-(Ljava/lang/String; Z)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setInterfaceQuota-(Ljava/lang/String; J)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setInterfaceThrottle-(Ljava/lang/String; I I)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setInterfaceUp-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setIpForwardingEnabled-(Z)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setUidNetworkRules-(I Z)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-shutdown-()V": [ "android.permission.SHUTDOWN" ], "Lcom/android/server/NetworkManagementService;-startAccessPoint-(Landroid/net/wifi/WifiConfiguration; Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-startTethering-([Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-stopAccessPoint-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-stopTethering-()V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-tetherInterface-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-unregisterObserver-(Landroid/net/INetworkManagementEventObserver;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-untetherInterface-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-wifiFirmwareReload-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NsdService;-getMessenger-()Landroid/os/Messenger;": [ "android.permission.INTERNET" ], "Lcom/android/server/NsdService;-setEnabled-(Z)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/PowerManagerService;-acquireWakeLock-(I Landroid/os/IBinder; Ljava/lang/String; Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS", "android.permission.WAKE_LOCK" ], "Lcom/android/server/PowerManagerService;-clearUserActivityTimeout-(J J)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/PowerManagerService;-crash-(Ljava/lang/String;)V": [ "android.permission.REBOOT" ], "Lcom/android/server/PowerManagerService;-goToSleep-(J)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/PowerManagerService;-goToSleepWithReason-(J I)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/PowerManagerService;-preventScreenOn-(Z)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/PowerManagerService;-reboot-(Ljava/lang/String;)V": [ "android.permission.REBOOT" ], "Lcom/android/server/PowerManagerService;-releaseWakeLock-(Landroid/os/IBinder; I)V": [ "android.permission.DEVICE_POWER", "android.permission.WAKE_LOCK" ], "Lcom/android/server/PowerManagerService;-setAttentionLight-(Z I)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/PowerManagerService;-setAutoBrightnessAdjustment-(F)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/PowerManagerService;-setBacklightBrightness-(I)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/PowerManagerService;-setMaximumScreenOffTimeount-(I)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/PowerManagerService;-setPokeLock-(I Landroid/os/IBinder; Ljava/lang/String;)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/PowerManagerService;-setStayOnSetting-(I)V": [ "android.permission.WRITE_SETTINGS" ], "Lcom/android/server/PowerManagerService;-updateWakeLockWorkSource-(Landroid/os/IBinder; Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/PowerManagerService;-userActivity-(J Z)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/PowerManagerService;-userActivityWithForce-(J Z Z)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/SerialService;-getSerialPorts-()[Ljava/lang/String;": [ "android.permission.SERIAL_PORT" ], "Lcom/android/server/SerialService;-openSerialPort-(Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;": [ "android.permission.SERIAL_PORT" ], "Lcom/android/server/StatusBarManagerService;-collapse-()V": [ "android.permission.EXPAND_STATUS_BAR" ], "Lcom/android/server/StatusBarManagerService;-disable-(I Landroid/os/IBinder; Ljava/lang/String;)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/StatusBarManagerService;-expand-()V": [ "android.permission.EXPAND_STATUS_BAR" ], "Lcom/android/server/StatusBarManagerService;-onClearAllNotifications-()V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/StatusBarManagerService;-onNotificationClear-(Ljava/lang/String; Ljava/lang/String; I)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/StatusBarManagerService;-onNotificationClick-(Ljava/lang/String; Ljava/lang/String; I)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/StatusBarManagerService;-onNotificationError-(Ljava/lang/String; Ljava/lang/String; I I I Ljava/lang/String;)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/StatusBarManagerService;-onPanelRevealed-()V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/StatusBarManagerService;-registerStatusBar-(Lcom/android/internal/statusbar/IStatusBar; Lcom/android/internal/statusbar/StatusBarIconList; Ljava/util/List; Ljava/util/List; [I Ljava/util/List;)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/StatusBarManagerService;-removeIcon-(Ljava/lang/String;)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/StatusBarManagerService;-setIcon-(Ljava/lang/String; Ljava/lang/String; I I Ljava/lang/String;)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/StatusBarManagerService;-setIconVisibility-(Ljava/lang/String; Z)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/StatusBarManagerService;-setImeWindowStatus-(Landroid/os/IBinder; I I)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/StatusBarManagerService;-setSystemUiVisibility-(I I)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/StatusBarManagerService;-topAppWindowChanged-(Z)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/TelephonyRegistry;-listen-(Ljava/lang/String; Lcom/android/internal/telephony/IPhoneStateListener; I Z)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.READ_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyCallForwardingChanged-(Z)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyCallState-(I Ljava/lang/String;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyCellInfo-(Landroid/telephony/CellInfo;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyCellLocation-(Landroid/os/Bundle;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyDataActivity-(I)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyDataConnection-(I Z Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Landroid/net/LinkProperties; Landroid/net/LinkCapabilities; I Z)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyDataConnectionFailed-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyMessageWaitingChanged-(Z)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyOtaspChanged-(I)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyServiceState-(Landroid/telephony/ServiceState;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifySignalStrength-(Landroid/telephony/SignalStrength;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TextServicesManagerService;-setCurrentSpellChecker-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/TextServicesManagerService;-setCurrentSpellCheckerSubtype-(Ljava/lang/String; I)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/TextServicesManagerService;-setSpellCheckerEnabled-(Z)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/ThrottleService;-getByteCount-(Ljava/lang/String; I I I)J": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ThrottleService;-getCliffLevel-(Ljava/lang/String; I)I": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ThrottleService;-getCliffThreshold-(Ljava/lang/String; I)J": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ThrottleService;-getHelpUri-()Ljava/lang/String;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ThrottleService;-getPeriodStartTime-(Ljava/lang/String;)J": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ThrottleService;-getResetTime-(Ljava/lang/String;)J": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ThrottleService;-getThrottle-(Ljava/lang/String;)I": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/UpdateLockService;-acquireUpdateLock-(Landroid/os/IBinder; Ljava/lang/String;)V": [ "android.permission.UPDATE_LOCK" ], "Lcom/android/server/UpdateLockService;-releaseUpdateLock-(Landroid/os/IBinder;)V": [ "android.permission.UPDATE_LOCK" ], "Lcom/android/server/VibratorService;-cancelVibrate-(Landroid/os/IBinder;)V": [ "android.permission.VIBRATE" ], "Lcom/android/server/VibratorService;-vibrate-(J Landroid/os/IBinder;)V": [ "android.permission.VIBRATE" ], "Lcom/android/server/VibratorService;-vibratePattern-([J I Landroid/os/IBinder;)V": [ "android.permission.VIBRATE" ], "Lcom/android/server/WallpaperManagerService;-setDimensionHints-(I I)V": [ "android.permission.SET_WALLPAPER_HINTS" ], "Lcom/android/server/WallpaperManagerService;-setWallpaper-(Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;": [ "android.permission.SET_WALLPAPER" ], "Lcom/android/server/WallpaperManagerService;-setWallpaperComponent-(Landroid/content/ComponentName;)V": [ "android.permission.SET_WALLPAPER_COMPONENT" ], "Lcom/android/server/WifiService;-acquireMulticastLock-(Landroid/os/IBinder; Ljava/lang/String;)V": [ "android.permission.CHANGE_WIFI_MULTICAST_STATE" ], "Lcom/android/server/WifiService;-acquireWifiLock-(Landroid/os/IBinder; I Ljava/lang/String; Landroid/os/WorkSource;)Z": [ "android.permission.WAKE_LOCK" ], "Lcom/android/server/WifiService;-addOrUpdateNetwork-(Landroid/net/wifi/WifiConfiguration;)I": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/WifiService;-addToBlacklist-(Ljava/lang/String;)V": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/WifiService;-clearBlacklist-()V": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/WifiService;-disableNetwork-(I)Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/WifiService;-disconnect-()V": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/WifiService;-enableNetwork-(I Z)Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/WifiService;-getConfigFile-()Ljava/lang/String;": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/WifiService;-getConfiguredNetworks-()Ljava/util/List;": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/WifiService;-getConnectionInfo-()Landroid/net/wifi/WifiInfo;": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/WifiService;-getDhcpInfo-()Landroid/net/DhcpInfo;": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/WifiService;-getFrequencyBand-()I": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/WifiService;-getScanResults-()Ljava/util/List;": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/WifiService;-getWifiApConfiguration-()Landroid/net/wifi/WifiConfiguration;": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/WifiService;-getWifiApEnabledState-()I": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/WifiService;-getWifiEnabledState-()I": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/WifiService;-getWifiServiceMessenger-()Landroid/os/Messenger;": [ "android.permission.ACCESS_WIFI_STATE", "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/WifiService;-getWifiStateMachineMessenger-()Landroid/os/Messenger;": [ "android.permission.ACCESS_WIFI_STATE", "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/WifiService;-initializeMulticastFiltering-()V": [ "android.permission.CHANGE_WIFI_MULTICAST_STATE" ], "Lcom/android/server/WifiService;-isMulticastEnabled-()Z": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/WifiService;-pingSupplicant-()Z": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/WifiService;-reassociate-()V": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/WifiService;-reconnect-()V": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/WifiService;-releaseMulticastLock-()V": [ "android.permission.CHANGE_WIFI_MULTICAST_STATE" ], "Lcom/android/server/WifiService;-releaseWifiLock-(Landroid/os/IBinder;)Z": [ "android.permission.WAKE_LOCK" ], "Lcom/android/server/WifiService;-removeNetwork-(I)Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/WifiService;-saveConfiguration-()Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/WifiService;-setCountryCode-(Ljava/lang/String; Z)V": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/WifiService;-setFrequencyBand-(I Z)V": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/WifiService;-setWifiApConfiguration-(Landroid/net/wifi/WifiConfiguration;)V": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/WifiService;-setWifiApEnabled-(Landroid/net/wifi/WifiConfiguration; Z)V": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/WifiService;-setWifiEnabled-(Z)Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/WifiService;-startScan-(Z)V": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/WifiService;-startWifi-()V": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/WifiService;-stopWifi-()V": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/WifiService;-updateWifiLockWorkSource-(Landroid/os/IBinder; Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/ActivityManagerService;-activitySlept-(Landroid/os/IBinder;)V": [ "android.permission.BROADCAST_STICKY", "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-activityStopped-(Landroid/os/IBinder; Landroid/os/Bundle; Landroid/graphics/Bitmap; Ljava/lang/CharSequence;)V": [ "android.permission.BROADCAST_STICKY", "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-bindBackupAgent-(Landroid/content/pm/ApplicationInfo; I)Z": [ "android.permission.BACKUP", "android.permission.BROADCAST_STICKY", "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-bindService-(Landroid/app/IApplicationThread; Landroid/os/IBinder; Landroid/content/Intent; Ljava/lang/String; Landroid/app/IServiceConnection; I I)I": [ "android.permission.BROADCAST_STICKY", "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-crashApplication-(I I Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.FORCE_STOP_PACKAGES" ], "Lcom/android/server/am/ActivityManagerService;-dismissKeyguardOnNextActivity-()V": [ "android.permission.BROADCAST_STICKY", "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-dumpHeap-(Ljava/lang/String; Z Ljava/lang/String; Landroid/os/ParcelFileDescriptor;)Z": [ "android.permission.SET_ACTIVITY_WATCHER" ], "Lcom/android/server/am/ActivityManagerService;-finishHeavyWeightApp-()V": [ "android.permission.BROADCAST_STICKY", "android.permission.FORCE_STOP_PACKAGES", "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-finishReceiver-(Landroid/os/IBinder; I Ljava/lang/String; Landroid/os/Bundle; Z)V": [ "android.permission.BROADCAST_STICKY", "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-forceStopPackage-(Ljava/lang/String;)V": [ "android.permission.FORCE_STOP_PACKAGES" ], "Lcom/android/server/am/ActivityManagerService;-getContentProviderExternal-(Ljava/lang/String; Landroid/os/IBinder;)Landroid/app/IActivityManager$ContentProviderHolder;": [ "android.permission.ACCESS_CONTENT_PROVIDERS_EXTERNALLY" ], "Lcom/android/server/am/ActivityManagerService;-getRecentTasks-(I I)Ljava/util/List;": [ "android.permission.GET_TASKS" ], "Lcom/android/server/am/ActivityManagerService;-getTaskThumbnails-(I)Landroid/app/ActivityManager$TaskThumbnails;": [ "android.permission.READ_FRAME_BUFFER" ], "Lcom/android/server/am/ActivityManagerService;-getTasks-(I I Landroid/app/IThumbnailReceiver;)Ljava/util/List;": [ "android.permission.GET_TASKS" ], "Lcom/android/server/am/ActivityManagerService;-goingToSleep-()V": [ "android.permission.BROADCAST_STICKY", "android.permission.DEVICE_POWER", "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-handleApplicationCrash-(Landroid/os/IBinder; Landroid/app/ApplicationErrorReport$CrashInfo;)V": [ "android.permission.BROADCAST_STICKY", "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-handleApplicationWtf-(Landroid/os/IBinder; Ljava/lang/String; Landroid/app/ApplicationErrorReport$CrashInfo;)Z": [ "android.permission.BROADCAST_STICKY", "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-killAllBackgroundProcesses-()V": [ "android.permission.BROADCAST_STICKY", "android.permission.KILL_BACKGROUND_PROCESSES", "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-killBackgroundProcesses-(Ljava/lang/String;)V": [ "android.permission.KILL_BACKGROUND_PROCESSES" ], "Lcom/android/server/am/ActivityManagerService;-moveActivityTaskToBack-(Landroid/os/IBinder; Z)Z": [ "android.permission.BROADCAST_STICKY", "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-moveTaskBackwards-(I)V": [ "android.permission.REORDER_TASKS" ], "Lcom/android/server/am/ActivityManagerService;-moveTaskToBack-(I)V": [ "android.permission.REORDER_TASKS" ], "Lcom/android/server/am/ActivityManagerService;-moveTaskToFront-(I I Landroid/os/Bundle;)V": [ "android.permission.BROADCAST_STICKY", "android.permission.REORDER_TASKS", "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-navigateUpTo-(Landroid/os/IBinder; Landroid/content/Intent; I Landroid/content/Intent;)Z": [ "android.permission.BROADCAST_STICKY", "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-profileControl-(Ljava/lang/String; Z Ljava/lang/String; Landroid/os/ParcelFileDescriptor; I)Z": [ "android.permission.SET_ACTIVITY_WATCHER" ], "Lcom/android/server/am/ActivityManagerService;-registerProcessObserver-(Landroid/app/IProcessObserver;)V": [ "android.permission.SET_ACTIVITY_WATCHER" ], "Lcom/android/server/am/ActivityManagerService;-removeContentProviderExternal-(Ljava/lang/String; Landroid/os/IBinder;)V": [ "android.permission.ACCESS_CONTENT_PROVIDERS_EXTERNALLY", "android.permission.BROADCAST_STICKY", "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-removeSubTask-(I I)Z": [ "android.permission.REMOVE_TASKS" ], "Lcom/android/server/am/ActivityManagerService;-removeTask-(I I)Z": [ "android.permission.REMOVE_TASKS" ], "Lcom/android/server/am/ActivityManagerService;-resumeAppSwitches-()V": [ "android.permission.STOP_APP_SWITCHES" ], "Lcom/android/server/am/ActivityManagerService;-setActivityController-(Landroid/app/IActivityController;)V": [ "android.permission.SET_ACTIVITY_WATCHER" ], "Lcom/android/server/am/ActivityManagerService;-setAlwaysFinish-(Z)V": [ "android.permission.SET_ALWAYS_FINISH" ], "Lcom/android/server/am/ActivityManagerService;-setDebugApp-(Ljava/lang/String; Z Z)V": [ "android.permission.SET_DEBUG_APP" ], "Lcom/android/server/am/ActivityManagerService;-setFrontActivityScreenCompatMode-(I)V": [ "android.permission.BROADCAST_STICKY", "android.permission.SET_SCREEN_COMPATIBILITY", "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-setLockScreenShown-(Z)V": [ "android.permission.BROADCAST_STICKY", "android.permission.DEVICE_POWER", "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-setPackageAskScreenCompat-(Ljava/lang/String; Z)V": [ "android.permission.SET_SCREEN_COMPATIBILITY" ], "Lcom/android/server/am/ActivityManagerService;-setPackageScreenCompatMode-(Ljava/lang/String; I)V": [ "android.permission.BROADCAST_STICKY", "android.permission.SET_SCREEN_COMPATIBILITY", "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-setProcessForeground-(Landroid/os/IBinder; I Z)V": [ "android.permission.BROADCAST_STICKY", "android.permission.SET_PROCESS_LIMIT", "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-setProcessLimit-(I)V": [ "android.permission.BROADCAST_STICKY", "android.permission.SET_PROCESS_LIMIT", "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-setRequestedOrientation-(Landroid/os/IBinder; I)V": [ "android.permission.BROADCAST_STICKY", "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-shutdown-(I)Z": [ "android.permission.BROADCAST_STICKY", "android.permission.SHUTDOWN", "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-signalPersistentProcesses-(I)V": [ "android.permission.SIGNAL_PERSISTENT_PROCESSES" ], "Lcom/android/server/am/ActivityManagerService;-startActivities-(Landroid/app/IApplicationThread; [Landroid/content/Intent; [Ljava/lang/String; Landroid/os/IBinder; Landroid/os/Bundle;)I": [ "android.permission.SET_DEBUG_APP" ], "Lcom/android/server/am/ActivityManagerService;-startActivitiesInPackage-(I [Landroid/content/Intent; [Ljava/lang/String; Landroid/os/IBinder; Landroid/os/Bundle;)I": [ "android.permission.SET_DEBUG_APP" ], "Lcom/android/server/am/ActivityManagerService;-startActivity-(Landroid/app/IApplicationThread; Landroid/content/Intent; Ljava/lang/String; Landroid/os/IBinder; Ljava/lang/String; I I Ljava/lang/String; Landroid/os/ParcelFileDescriptor; Landroid/os/Bundle;)I": [ "android.permission.SET_DEBUG_APP" ], "Lcom/android/server/am/ActivityManagerService;-startActivityAndWait-(Landroid/app/IApplicationThread; Landroid/content/Intent; Ljava/lang/String; Landroid/os/IBinder; Ljava/lang/String; I I Ljava/lang/String; Landroid/os/ParcelFileDescriptor; Landroid/os/Bundle;)Landroid/app/IActivityManager$WaitResult;": [ "android.permission.SET_DEBUG_APP" ], "Lcom/android/server/am/ActivityManagerService;-startActivityInPackage-(I Landroid/content/Intent; Ljava/lang/String; Landroid/os/IBinder; Ljava/lang/String; I I Landroid/os/Bundle;)I": [ "android.permission.SET_DEBUG_APP" ], "Lcom/android/server/am/ActivityManagerService;-startActivityWithConfig-(Landroid/app/IApplicationThread; Landroid/content/Intent; Ljava/lang/String; Landroid/os/IBinder; Ljava/lang/String; I I Landroid/content/res/Configuration; Landroid/os/Bundle;)I": [ "android.permission.SET_DEBUG_APP" ], "Lcom/android/server/am/ActivityManagerService;-startRunning-(Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.BROADCAST_STICKY", "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-stopAppSwitches-()V": [ "android.permission.BROADCAST_STICKY", "android.permission.START_ANY_ACTIVITY", "android.permission.STOP_APP_SWITCHES" ], "Lcom/android/server/am/ActivityManagerService;-switchUser-(I)Z": [ "android.permission.BROADCAST_STICKY", "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-unbroadcastIntent-(Landroid/app/IApplicationThread; Landroid/content/Intent; I)V": [ "android.permission.BROADCAST_STICKY" ], "Lcom/android/server/am/ActivityManagerService;-unhandledBack-()V": [ "android.permission.FORCE_BACK" ], "Lcom/android/server/am/ActivityManagerService;-unregisterReceiver-(Landroid/content/IIntentReceiver;)V": [ "android.permission.BROADCAST_STICKY", "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-updateConfiguration-(Landroid/content/res/Configuration;)V": [ "android.permission.CHANGE_CONFIGURATION" ], "Lcom/android/server/am/ActivityManagerService;-updatePersistentConfiguration-(Landroid/content/res/Configuration;)V": [ "android.permission.CHANGE_CONFIGURATION" ], "Lcom/android/server/am/ActivityManagerService;-wakingUp-()V": [ "android.permission.BROADCAST_STICKY", "android.permission.DEVICE_POWER", "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/BatteryStatsService;-getAwakeTimeBattery-()J": [ "android.permission.BATTERY_STATS" ], "Lcom/android/server/am/BatteryStatsService;-getAwakeTimePlugged-()J": [ "android.permission.BATTERY_STATS" ], "Lcom/android/server/am/BatteryStatsService;-getStatistics-()[B": [ "android.permission.BATTERY_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteBluetoothOff-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteBluetoothOn-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteFullWifiLockAcquired-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteFullWifiLockAcquiredFromSource-(Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteFullWifiLockReleased-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteFullWifiLockReleasedFromSource-(Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteInputEvent-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteNetworkInterfaceType-(Ljava/lang/String; I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-notePhoneDataConnectionState-(I Z)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-notePhoneOff-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-notePhoneOn-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-notePhoneSignalStrength-(Landroid/telephony/SignalStrength;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-notePhoneState-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteScanWifiLockAcquired-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteScanWifiLockAcquiredFromSource-(Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteScanWifiLockReleased-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteScanWifiLockReleasedFromSource-(Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteScreenBrightness-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteScreenOff-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteScreenOn-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStartGps-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStartSensor-(I I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStartWakelock-(I I Ljava/lang/String; I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStartWakelockFromSource-(Landroid/os/WorkSource; I Ljava/lang/String; I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStopGps-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStopSensor-(I I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStopWakelock-(I I Ljava/lang/String; I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStopWakelockFromSource-(Landroid/os/WorkSource; I Ljava/lang/String; I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteUserActivity-(I I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiMulticastDisabled-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiMulticastDisabledFromSource-(Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiMulticastEnabled-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiMulticastEnabledFromSource-(Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiOff-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiOn-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiRunning-(Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiRunningChanged-(Landroid/os/WorkSource; Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiStopped-(Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-setBatteryState-(I I I I I I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/UsageStatsService;-getAllPkgUsageStats-()[Lcom/android/internal/os/PkgUsageStats;": [ "android.permission.PACKAGE_USAGE_STATS" ], "Lcom/android/server/am/UsageStatsService;-getPkgUsageStats-(Landroid/content/ComponentName;)Lcom/android/internal/os/PkgUsageStats;": [ "android.permission.PACKAGE_USAGE_STATS" ], "Lcom/android/server/am/UsageStatsService;-noteLaunchTime-(Landroid/content/ComponentName; I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/UsageStatsService;-notePauseComponent-(Landroid/content/ComponentName;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/UsageStatsService;-noteResumeComponent-(Landroid/content/ComponentName;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/input/InputManagerService;-addKeyboardLayoutForInputDevice-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.SET_KEYBOARD_LAYOUT" ], "Lcom/android/server/input/InputManagerService;-removeKeyboardLayoutForInputDevice-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.SET_KEYBOARD_LAYOUT" ], "Lcom/android/server/input/InputManagerService;-setCurrentKeyboardLayoutForInputDevice-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.SET_KEYBOARD_LAYOUT" ], "Lcom/android/server/input/InputManagerService;-tryPointerSpeed-(I)V": [ "android.permission.SET_POINTER_SPEED" ], "Lcom/android/server/net/NetworkPolicyManagerService;-getAppPolicy-(I)I": [ "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-getAppsWithPolicy-(I)[I": [ "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-getNetworkPolicies-()[Landroid/net/NetworkPolicy;": [ "android.permission.MANAGE_NETWORK_POLICY", "android.permission.READ_PHONE_STATE" ], "Lcom/android/server/net/NetworkPolicyManagerService;-getNetworkQuotaInfo-(Landroid/net/NetworkState;)Landroid/net/NetworkQuotaInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/net/NetworkPolicyManagerService;-getRestrictBackground-()Z": [ "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-isUidForeground-(I)Z": [ "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-registerListener-(Landroid/net/INetworkPolicyListener;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/net/NetworkPolicyManagerService;-setAppPolicy-(I I)V": [ "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-setNetworkPolicies-([Landroid/net/NetworkPolicy;)V": [ "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-setRestrictBackground-(Z)V": [ "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-snoozeLimit-(Landroid/net/NetworkTemplate;)V": [ "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-unregisterListener-(Landroid/net/INetworkPolicyListener;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/net/NetworkStatsService;-advisePersistThreshold-(J)V": [ "android.permission.MODIFY_NETWORK_ACCOUNTING" ], "Lcom/android/server/net/NetworkStatsService;-forceUpdate-()V": [ "android.permission.READ_NETWORK_USAGE_HISTORY" ], "Lcom/android/server/net/NetworkStatsService;-getDataLayerSnapshotForUid-(I)Landroid/net/NetworkStats;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/net/NetworkStatsService;-getNetworkTotalBytes-(Landroid/net/NetworkTemplate; J J)J": [ "android.permission.READ_NETWORK_USAGE_HISTORY" ], "Lcom/android/server/net/NetworkStatsService;-incrementOperationCount-(I I I)V": [ "android.permission.MODIFY_NETWORK_ACCOUNTING" ], "Lcom/android/server/net/NetworkStatsService;-openSession-()Landroid/net/INetworkStatsSession;": [ "android.permission.READ_NETWORK_USAGE_HISTORY" ], "Lcom/android/server/net/NetworkStatsService;-setUidForeground-(I Z)V": [ "android.permission.MODIFY_NETWORK_ACCOUNTING" ], "Lcom/android/server/pm/PackageManagerService;-addPreferredActivity-(Landroid/content/IntentFilter; I [Landroid/content/ComponentName; Landroid/content/ComponentName;)V": [ "android.permission.SET_PREFERRED_APPLICATIONS" ], "Lcom/android/server/pm/PackageManagerService;-clearApplicationUserData-(Ljava/lang/String; Landroid/content/pm/IPackageDataObserver; I)V": [ "android.permission.CLEAR_APP_USER_DATA" ], "Lcom/android/server/pm/PackageManagerService;-clearPackagePreferredActivities-(Ljava/lang/String;)V": [ "android.permission.SET_PREFERRED_APPLICATIONS" ], "Lcom/android/server/pm/PackageManagerService;-deleteApplicationCacheFiles-(Ljava/lang/String; Landroid/content/pm/IPackageDataObserver;)V": [ "android.permission.DELETE_CACHE_FILES" ], "Lcom/android/server/pm/PackageManagerService;-deletePackage-(Ljava/lang/String; Landroid/content/pm/IPackageDeleteObserver; I)V": [ "android.permission.DELETE_PACKAGES" ], "Lcom/android/server/pm/PackageManagerService;-freeStorage-(J Landroid/content/IntentSender;)V": [ "android.permission.CLEAR_APP_CACHE" ], "Lcom/android/server/pm/PackageManagerService;-freeStorageAndNotify-(J Landroid/content/pm/IPackageDataObserver;)V": [ "android.permission.CLEAR_APP_CACHE" ], "Lcom/android/server/pm/PackageManagerService;-getPackageSizeInfo-(Ljava/lang/String; Landroid/content/pm/IPackageStatsObserver;)V": [ "android.permission.GET_PACKAGE_SIZE" ], "Lcom/android/server/pm/PackageManagerService;-getVerifierDeviceIdentity-()Landroid/content/pm/VerifierDeviceIdentity;": [ "android.permission.PACKAGE_VERIFICATION_AGENT" ], "Lcom/android/server/pm/PackageManagerService;-grantPermission-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.GRANT_REVOKE_PERMISSIONS" ], "Lcom/android/server/pm/PackageManagerService;-installPackage-(Landroid/net/Uri; Landroid/content/pm/IPackageInstallObserver; I Ljava/lang/String;)V": [ "android.permission.INSTALL_PACKAGES" ], "Lcom/android/server/pm/PackageManagerService;-installPackageWithVerification-(Landroid/net/Uri; Landroid/content/pm/IPackageInstallObserver; I Ljava/lang/String; Landroid/net/Uri; Landroid/content/pm/ManifestDigest; Landroid/content/pm/ContainerEncryptionParams;)V": [ "android.permission.INSTALL_PACKAGES" ], "Lcom/android/server/pm/PackageManagerService;-movePackage-(Ljava/lang/String; Landroid/content/pm/IPackageMoveObserver; I)V": [ "android.permission.MOVE_PACKAGE" ], "Lcom/android/server/pm/PackageManagerService;-replacePreferredActivity-(Landroid/content/IntentFilter; I [Landroid/content/ComponentName; Landroid/content/ComponentName;)V": [ "android.permission.SET_PREFERRED_APPLICATIONS" ], "Lcom/android/server/pm/PackageManagerService;-revokePermission-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.GRANT_REVOKE_PERMISSIONS" ], "Lcom/android/server/pm/PackageManagerService;-setApplicationEnabledSetting-(Ljava/lang/String; I I I)V": [ "android.permission.CHANGE_COMPONENT_ENABLED_STATE" ], "Lcom/android/server/pm/PackageManagerService;-setComponentEnabledSetting-(Landroid/content/ComponentName; I I I)V": [ "android.permission.CHANGE_COMPONENT_ENABLED_STATE" ], "Lcom/android/server/pm/PackageManagerService;-setInstallLocation-(I)Z": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/pm/PackageManagerService;-setPackageStoppedState-(Ljava/lang/String; Z I)V": [ "android.permission.CHANGE_COMPONENT_ENABLED_STATE" ], "Lcom/android/server/pm/PackageManagerService;-setPermissionEnforced-(Ljava/lang/String; Z)V": [ "android.permission.GRANT_REVOKE_PERMISSIONS" ], "Lcom/android/server/sip/SipService;-close-(Ljava/lang/String;)V": [ "android.permission.USE_SIP" ], "Lcom/android/server/sip/SipService;-createSession-(Landroid/net/sip/SipProfile; Landroid/net/sip/ISipSessionListener;)Landroid/net/sip/ISipSession;": [ "android.permission.USE_SIP" ], "Lcom/android/server/sip/SipService;-getListOfProfiles-()[Landroid/net/sip/SipProfile;": [ "android.permission.USE_SIP" ], "Lcom/android/server/sip/SipService;-getPendingSession-(Ljava/lang/String;)Landroid/net/sip/ISipSession;": [ "android.permission.USE_SIP" ], "Lcom/android/server/sip/SipService;-isOpened-(Ljava/lang/String;)Z": [ "android.permission.USE_SIP" ], "Lcom/android/server/sip/SipService;-isRegistered-(Ljava/lang/String;)Z": [ "android.permission.USE_SIP" ], "Lcom/android/server/sip/SipService;-open-(Landroid/net/sip/SipProfile;)V": [ "android.permission.USE_SIP" ], "Lcom/android/server/sip/SipService;-open3-(Landroid/net/sip/SipProfile; Landroid/app/PendingIntent; Landroid/net/sip/ISipSessionListener;)V": [ "android.permission.USE_SIP" ], "Lcom/android/server/sip/SipService;-setRegistrationListener-(Ljava/lang/String; Landroid/net/sip/ISipSessionListener;)V": [ "android.permission.USE_SIP" ], "Lcom/android/server/usb/UsbService;-clearDefaults-(Ljava/lang/String;)V": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-grantAccessoryPermission-(Landroid/hardware/usb/UsbAccessory; I)V": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-grantDevicePermission-(Landroid/hardware/usb/UsbDevice; I)V": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-hasDefaults-(Ljava/lang/String;)Z": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-setAccessoryPackage-(Landroid/hardware/usb/UsbAccessory; Ljava/lang/String;)V": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-setCurrentFunction-(Ljava/lang/String; Z)V": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-setDevicePackage-(Landroid/hardware/usb/UsbDevice; Ljava/lang/String;)V": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-setMassStorageBackingFile-(Ljava/lang/String;)V": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/wm/WindowManagerService;-addAppToken-(I Landroid/view/IApplicationToken; I I Z)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-addWindowToken-(Landroid/os/IBinder; I)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-disableKeyguard-(Landroid/os/IBinder; Ljava/lang/String;)V": [ "android.permission.DISABLE_KEYGUARD" ], "Lcom/android/server/wm/WindowManagerService;-dismissKeyguard-()V": [ "android.permission.DISABLE_KEYGUARD" ], "Lcom/android/server/wm/WindowManagerService;-executeAppTransition-()V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-exitKeyguardSecurely-(Landroid/view/IOnKeyguardExitResult;)V": [ "android.permission.DISABLE_KEYGUARD" ], "Lcom/android/server/wm/WindowManagerService;-freezeRotation-(I)V": [ "android.permission.SET_ORIENTATION" ], "Lcom/android/server/wm/WindowManagerService;-isViewServerRunning-()Z": [ "android.permission.DUMP" ], "Lcom/android/server/wm/WindowManagerService;-moveAppToken-(I Landroid/os/IBinder;)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-moveAppTokensToBottom-(Ljava/util/List;)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-moveAppTokensToTop-(Ljava/util/List;)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-pauseKeyDispatching-(Landroid/os/IBinder;)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-prepareAppTransition-(I Z)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-reenableKeyguard-(Landroid/os/IBinder;)V": [ "android.permission.DISABLE_KEYGUARD" ], "Lcom/android/server/wm/WindowManagerService;-removeAppToken-(Landroid/os/IBinder;)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-removeWindowToken-(Landroid/os/IBinder;)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-resumeKeyDispatching-(Landroid/os/IBinder;)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-screenshotApplications-(Landroid/os/IBinder; I I)Landroid/graphics/Bitmap;": [ "android.permission.READ_FRAME_BUFFER" ], "Lcom/android/server/wm/WindowManagerService;-setAnimationScale-(I F)V": [ "android.permission.SET_ANIMATION_SCALE" ], "Lcom/android/server/wm/WindowManagerService;-setAnimationScales-([F)V": [ "android.permission.SET_ANIMATION_SCALE" ], "Lcom/android/server/wm/WindowManagerService;-setAppGroupId-(Landroid/os/IBinder; I)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-setAppOrientation-(Landroid/view/IApplicationToken; I)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-setAppStartingWindow-(Landroid/os/IBinder; Ljava/lang/String; I Landroid/content/res/CompatibilityInfo; Ljava/lang/CharSequence; I I I Landroid/os/IBinder; Z)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-setAppVisibility-(Landroid/os/IBinder; Z)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-setAppWillBeHidden-(Landroid/os/IBinder;)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-setEventDispatching-(Z)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-setFocusedApp-(Landroid/os/IBinder; Z)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-setNewConfiguration-(Landroid/content/res/Configuration;)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-startAppFreezingScreen-(Landroid/os/IBinder; I)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-startViewServer-(I)Z": [ "android.permission.DUMP" ], "Lcom/android/server/wm/WindowManagerService;-statusBarVisibilityChanged-(I)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/wm/WindowManagerService;-stopAppFreezingScreen-(Landroid/os/IBinder; Z)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-stopViewServer-()Z": [ "android.permission.DUMP" ], "Lcom/android/server/wm/WindowManagerService;-thawRotation-()V": [ "android.permission.SET_ORIENTATION" ], "Lcom/android/server/wm/WindowManagerService;-updateOrientationFromAppTokens-(Landroid/content/res/Configuration; Landroid/os/IBinder;)Landroid/content/res/Configuration;": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/ti/server/StubFmService;-resumeFm-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxChangeAudioTarget-(I I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxChangeDigitalTargetConfiguration-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxCompleteScan_nb-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxDisable-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxDisableAudioRouting-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxDisableRds-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxDisableRds_nb-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxEnable-()Z": [ "ti.permission.FMRX", "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxEnableAudioRouting-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxEnableRds-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxEnableRds_nb-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetBand-()I": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetBand_nb-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetChannelSpacing-()I": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetChannelSpacing_nb-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetCompleteScanProgress-()I": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetCompleteScanProgress_nb-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetDeEmphasisFilter-()I": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetDeEmphasisFilter_nb-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetFMState-()I": [ "ti.permission.FMRX" ], "Lcom/ti/server/StubFmService;-rxGetFwVersion-()D": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetMonoStereoMode-()I": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetMonoStereoMode_nb-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetMuteMode-()I": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetMuteMode_nb-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetRdsAfSwitchMode-()I": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetRdsAfSwitchMode_nb-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetRdsGroupMask-()J": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetRdsGroupMask_nb-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetRdsSystem-()I": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetRdsSystem_nb-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetRfDependentMuteMode-()I": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetRfDependentMuteMode_nb-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetRssi-()I": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetRssiThreshold-()I": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetRssiThreshold_nb-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetRssi_nb-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetTunedFrequency-()I": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetTunedFrequency_nb-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetVolume-()I": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetVolume_nb-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxIsEnabled-()Z": [ "ti.permission.FMRX" ], "Lcom/ti/server/StubFmService;-rxIsFMPaused-()Z": [ "ti.permission.FMRX" ], "Lcom/ti/server/StubFmService;-rxIsValidChannel-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxSeek_nb-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxSetBand-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxSetBand_nb-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxSetChannelSpacing-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxSetChannelSpacing_nb-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxSetDeEmphasisFilter-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxSetDeEmphasisFilter_nb-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxSetMonoStereoMode-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxSetMonoStereoMode_nb-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxSetMuteMode-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxSetMuteMode_nb-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxSetRdsAfSwitchMode-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxSetRdsAfSwitchMode_nb-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxSetRdsGroupMask-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxSetRdsGroupMask_nb-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxSetRdsSystem-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxSetRdsSystem_nb-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxSetRfDependentMuteMode-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxSetRfDependentMuteMode_nb-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxSetRssiThreshold-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxSetRssiThreshold_nb-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxSetVolume-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxStopCompleteScan-()I": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxStopCompleteScan_nb-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxStopSeek-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxStopSeek_nb-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxTune_nb-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-txChangeAudioSource-(I I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-txChangeDigitalSourceConfiguration-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-txDisable-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-txDisableRds-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-txEnable-()Z": [ "ti.permission.FMRX", "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-txEnableRds-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-txGetFMState-()I": [ "ti.permission.FMRX" ], "Lcom/ti/server/StubFmService;-txSetMonoStereoMode-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-txSetMuteMode-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-txSetPowerLevel-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-txSetPreEmphasisFilter-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-txSetRdsAfCode-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-txSetRdsECC-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-txSetRdsMusicSpeechFlag-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-txSetRdsPiCode-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-txSetRdsPsDisplayMode-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-txSetRdsPsScrollSpeed-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-txSetRdsPtyCode-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-txSetRdsTextPsMsg-(Ljava/lang/String;)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-txSetRdsTextRepertoire-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-txSetRdsTextRtMsg-(I Ljava/lang/String; I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-txSetRdsTrafficCodes-(I I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-txSetRdsTransmissionMode-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-txSetRdsTransmittedGroupsMask-(J)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-txStartTransmission-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-txStopTransmission-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-txTune-(J)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-txWriteRdsRawData-(Ljava/lang/String;)Z": [ "ti.permission.FMRX_ADMIN" ], "Landroid/accounts/AccountAuthenticatorActivity;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/accounts/AccountAuthenticatorActivity;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/accounts/AccountAuthenticatorActivity;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/accounts/AccountAuthenticatorActivity;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/accounts/AccountAuthenticatorActivity;-unregisterReceiver-(Landroid/content/BroadcastReceiver;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/accounts/AccountManager;-addAccountExplicitly-(Landroid/accounts/Account; Ljava/lang/String; Landroid/os/Bundle;)Z": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Landroid/accounts/AccountManager;-addOnAccountsUpdatedListener-(Landroid/accounts/OnAccountsUpdateListener; Landroid/os/Handler; Z)V": [ "android.permission.GET_ACCOUNTS" ], "Landroid/accounts/AccountManager;-clearPassword-(Landroid/accounts/Account;)V": [ "android.permission.MANAGE_ACCOUNTS" ], "Landroid/accounts/AccountManager;-getAccounts-()[Landroid/accounts/Account;": [ "android.permission.GET_ACCOUNTS" ], "Landroid/accounts/AccountManager;-getAccountsByType-(Ljava/lang/String;)[Landroid/accounts/Account;": [ "android.permission.GET_ACCOUNTS" ], "Landroid/accounts/AccountManager;-getPassword-(Landroid/accounts/Account;)Ljava/lang/String;": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Landroid/accounts/AccountManager;-getUserData-(Landroid/accounts/Account; Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Landroid/accounts/AccountManager;-invalidateAuthToken-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.MANAGE_ACCOUNTS", "android.permission.USE_CREDENTIALS" ], "Landroid/accounts/AccountManager;-peekAuthToken-(Landroid/accounts/Account; Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Landroid/accounts/AccountManager;-removeOnAccountsUpdatedListener-(Landroid/accounts/OnAccountsUpdateListener;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/accounts/AccountManager;-setAuthToken-(Landroid/accounts/Account; Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Landroid/accounts/AccountManager;-setPassword-(Landroid/accounts/Account; Ljava/lang/String;)V": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Landroid/accounts/AccountManager;-setUserData-(Landroid/accounts/Account; Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Landroid/app/Activity;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/Activity;-moveTaskToBack-(Z)Z": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/Activity;-navigateUpTo-(Landroid/content/Intent;)Z": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/Activity;-navigateUpToFromChild-(Landroid/app/Activity; Landroid/content/Intent;)Z": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/Activity;-onMenuItemSelected-(I Landroid/view/MenuItem;)Z": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/Activity;-onNavigateUp-()Z": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/Activity;-onNavigateUpFromChild-(Landroid/app/Activity;)Z": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/Activity;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/Activity;-setRequestedOrientation-(I)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/Activity;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/Activity;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/Activity;-unregisterReceiver-(Landroid/content/BroadcastReceiver;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ActivityGroup;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/ActivityGroup;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ActivityGroup;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/ActivityGroup;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/ActivityGroup;-unregisterReceiver-(Landroid/content/BroadcastReceiver;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ActivityManager;-getRecentTasks-(I I)Ljava/util/List;": [ "android.permission.GET_TASKS" ], "Landroid/app/ActivityManager;-getRunningTasks-(I)Ljava/util/List;": [ "android.permission.GET_TASKS" ], "Landroid/app/ActivityManager;-killBackgroundProcesses-(Ljava/lang/String;)V": [ "android.permission.KILL_BACKGROUND_PROCESSES" ], "Landroid/app/ActivityManager;-moveTaskToFront-(I I)V": [ "android.permission.BROADCAST_STICKY", "android.permission.REORDER_TASKS" ], "Landroid/app/ActivityManager;-moveTaskToFront-(I I Landroid/os/Bundle;)V": [ "android.permission.BROADCAST_STICKY", "android.permission.REORDER_TASKS" ], "Landroid/app/ActivityManager;-restartPackage-(Ljava/lang/String;)V": [ "android.permission.KILL_BACKGROUND_PROCESSES" ], "Landroid/app/AlarmManager;-setTimeZone-(Ljava/lang/String;)V": [ "android.permission.SET_TIME_ZONE" ], "Landroid/app/AliasActivity;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/AliasActivity;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/AliasActivity;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/AliasActivity;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/AliasActivity;-unregisterReceiver-(Landroid/content/BroadcastReceiver;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/Application;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/Application;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/Application;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/Application;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/Application;-unregisterReceiver-(Landroid/content/BroadcastReceiver;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ExpandableListActivity;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/ExpandableListActivity;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ExpandableListActivity;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/ExpandableListActivity;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/ExpandableListActivity;-unregisterReceiver-(Landroid/content/BroadcastReceiver;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/KeyguardManager$KeyguardLock;-disableKeyguard-()V": [ "android.permission.DISABLE_KEYGUARD" ], "Landroid/app/KeyguardManager$KeyguardLock;-reenableKeyguard-()V": [ "android.permission.DISABLE_KEYGUARD" ], "Landroid/app/KeyguardManager;-exitKeyguardSecurely-(Landroid/app/KeyguardManager$OnKeyguardExitResult;)V": [ "android.permission.DISABLE_KEYGUARD" ], "Landroid/app/ListActivity;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/ListActivity;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ListActivity;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/ListActivity;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/ListActivity;-unregisterReceiver-(Landroid/content/BroadcastReceiver;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/NativeActivity;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/NativeActivity;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/NativeActivity;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/NativeActivity;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/NativeActivity;-unregisterReceiver-(Landroid/content/BroadcastReceiver;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/TabActivity;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/TabActivity;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/TabActivity;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/TabActivity;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/TabActivity;-unregisterReceiver-(Landroid/content/BroadcastReceiver;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/WallpaperManager;-clear-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/WallpaperManager;-setBitmap-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/WallpaperManager;-setResource-(I)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/WallpaperManager;-setStream-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/WallpaperManager;-suggestDesiredDimensions-(I I)V": [ "android.permission.SET_WALLPAPER_HINTS" ], "Landroid/app/backup/BackupAgentHelper;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/backup/BackupAgentHelper;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/backup/BackupAgentHelper;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/backup/BackupAgentHelper;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/backup/BackupAgentHelper;-unregisterReceiver-(Landroid/content/BroadcastReceiver;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/bluetooth/BluetoothA2dp;-getConnectedDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothA2dp;-getConnectionState-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothA2dp;-getDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothA2dp;-isA2dpPlaying-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothAdapter;-cancelDiscovery-()Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothAdapter;-disable-()Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothAdapter;-enable-()Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothAdapter;-getAddress-()Ljava/lang/String;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-getBondedDevices-()Ljava/util/Set;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-getName-()Ljava/lang/String;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-getProfileConnectionState-(I)I": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-getScanMode-()I": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-getState-()I": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-isDiscovering-()Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-isEnabled-()Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-listenUsingInsecureRfcommWithServiceRecord-(Ljava/lang/String; Ljava/util/UUID;)Landroid/bluetooth/BluetoothServerSocket;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-listenUsingRfcommWithServiceRecord-(Ljava/lang/String; Ljava/util/UUID;)Landroid/bluetooth/BluetoothServerSocket;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-setName-(Ljava/lang/String;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothAdapter;-startDiscovery-()Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothDevice;-fetchUuidsWithSdp-()Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothDevice;-getBluetoothClass-()Landroid/bluetooth/BluetoothClass;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothDevice;-getBondState-()I": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothDevice;-getName-()Ljava/lang/String;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothDevice;-getUuids-()[Landroid/os/ParcelUuid;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHeadset;-getConnectedDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHeadset;-getConnectionState-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHeadset;-getDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHeadset;-isAudioConnected-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHeadset;-startVoiceRecognition-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHeadset;-stopVoiceRecognition-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHealth;-connectChannelToSource-(Landroid/bluetooth/BluetoothDevice; Landroid/bluetooth/BluetoothHealthAppConfiguration;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothHealth;-disconnectChannel-(Landroid/bluetooth/BluetoothDevice; Landroid/bluetooth/BluetoothHealthAppConfiguration; I)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothHealth;-getConnectedDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHealth;-getConnectionState-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHealth;-getDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHealth;-getMainChannelFd-(Landroid/bluetooth/BluetoothDevice; Landroid/bluetooth/BluetoothHealthAppConfiguration;)Landroid/os/ParcelFileDescriptor;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHealth;-registerSinkAppConfiguration-(Ljava/lang/String; I Landroid/bluetooth/BluetoothHealthCallback;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHealth;-unregisterAppConfiguration-(Landroid/bluetooth/BluetoothHealthAppConfiguration;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothSocket;-connect-()V": [ "android.permission.BLUETOOTH" ], "Landroid/content/BroadcastReceiver$PendingResult;-finish-()V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/content/ContextWrapper;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/content/ContextWrapper;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/content/ContextWrapper;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/content/ContextWrapper;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/content/ContextWrapper;-unregisterReceiver-(Landroid/content/BroadcastReceiver;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/content/MutableContextWrapper;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/content/MutableContextWrapper;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/content/MutableContextWrapper;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/content/MutableContextWrapper;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/content/MutableContextWrapper;-unregisterReceiver-(Landroid/content/BroadcastReceiver;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/inputmethodservice/InputMethodService;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/inputmethodservice/InputMethodService;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/inputmethodservice/InputMethodService;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/inputmethodservice/InputMethodService;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/inputmethodservice/InputMethodService;-unregisterReceiver-(Landroid/content/BroadcastReceiver;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/location/LocationManager;-addGpsStatusListener-(Landroid/location/GpsStatus$Listener;)Z": [ "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-addNmeaListener-(Landroid/location/GpsStatus$NmeaListener;)Z": [ "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-addProximityAlert-(D D F J Landroid/app/PendingIntent;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-addTestProvider-(Ljava/lang/String; Z Z Z Z Z Z Z I I)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Landroid/location/LocationManager;-clearTestProviderEnabled-(Ljava/lang/String;)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Landroid/location/LocationManager;-clearTestProviderLocation-(Ljava/lang/String;)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Landroid/location/LocationManager;-clearTestProviderStatus-(Ljava/lang/String;)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Landroid/location/LocationManager;-getBestProvider-(Landroid/location/Criteria; Z)Ljava/lang/String;": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-getLastKnownLocation-(Ljava/lang/String;)Landroid/location/Location;": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-getProvider-(Ljava/lang/String;)Landroid/location/LocationProvider;": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-getProviders-(Landroid/location/Criteria; Z)Ljava/util/List;": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-getProviders-(Z)Ljava/util/List;": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-isProviderEnabled-(Ljava/lang/String;)Z": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-removeTestProvider-(Ljava/lang/String;)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Landroid/location/LocationManager;-requestLocationUpdates-(Ljava/lang/String; J F Landroid/app/PendingIntent;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-requestLocationUpdates-(Ljava/lang/String; J F Landroid/location/LocationListener;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-requestLocationUpdates-(Ljava/lang/String; J F Landroid/location/LocationListener; Landroid/os/Looper;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-requestLocationUpdates-(J F Landroid/location/Criteria; Landroid/app/PendingIntent;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-requestLocationUpdates-(J F Landroid/location/Criteria; Landroid/location/LocationListener; Landroid/os/Looper;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-requestSingleUpdate-(Landroid/location/Criteria; Landroid/app/PendingIntent;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-requestSingleUpdate-(Landroid/location/Criteria; Landroid/location/LocationListener; Landroid/os/Looper;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-requestSingleUpdate-(Ljava/lang/String; Landroid/app/PendingIntent;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-requestSingleUpdate-(Ljava/lang/String; Landroid/location/LocationListener; Landroid/os/Looper;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-sendExtraCommand-(Ljava/lang/String; Ljava/lang/String; Landroid/os/Bundle;)Z": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION", "android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" ], "Landroid/location/LocationManager;-setTestProviderEnabled-(Ljava/lang/String; Z)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Landroid/location/LocationManager;-setTestProviderLocation-(Ljava/lang/String; Landroid/location/Location;)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Landroid/location/LocationManager;-setTestProviderStatus-(Ljava/lang/String; I Landroid/os/Bundle; J)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Landroid/media/AsyncPlayer;-play-(Landroid/content/Context; Landroid/net/Uri; Z I)V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/AsyncPlayer;-stop-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/AudioManager;-setBluetoothScoOn-(Z)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/media/AudioManager;-setMode-(I)V": [ "android.permission.BLUETOOTH", "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/media/AudioManager;-setSpeakerphoneOn-(Z)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/media/AudioManager;-startBluetoothSco-()V": [ "android.permission.BLUETOOTH", "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/media/AudioManager;-stopBluetoothSco-()V": [ "android.permission.BLUETOOTH", "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/media/MediaPlayer;-pause-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/MediaPlayer;-release-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/MediaPlayer;-reset-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/MediaPlayer;-setWakeMode-(Landroid/content/Context; I)V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/MediaPlayer;-start-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/MediaPlayer;-stop-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/Ringtone;-play-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/Ringtone;-setStreamType-(I)V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/Ringtone;-stop-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/RingtoneManager;-getRingtone-(Landroid/content/Context; Landroid/net/Uri;)Landroid/media/Ringtone;": [ "android.permission.WAKE_LOCK" ], "Landroid/media/RingtoneManager;-getRingtone-(I)Landroid/media/Ringtone;": [ "android.permission.WAKE_LOCK" ], "Landroid/media/RingtoneManager;-stopPreviousRingtone-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/net/ConnectivityManager;-getActiveNetworkInfo-()Landroid/net/NetworkInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-getAllNetworkInfo-()[Landroid/net/NetworkInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-getNetworkInfo-(I)Landroid/net/NetworkInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-getNetworkPreference-()I": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-isActiveNetworkMetered-()Z": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-requestRouteToHost-(I I)Z": [ "android.permission.CHANGE_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-setNetworkPreference-(I)V": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN", "android.permission.CHANGE_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-startUsingNetworkFeature-(I Ljava/lang/String;)I": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN", "android.permission.CHANGE_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-stopUsingNetworkFeature-(I Ljava/lang/String;)I": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN", "android.permission.CHANGE_NETWORK_STATE" ], "Landroid/net/VpnService;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/net/VpnService;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/net/VpnService;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/net/VpnService;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/net/VpnService;-unregisterReceiver-(Landroid/content/BroadcastReceiver;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/net/sip/SipAudioCall;-close-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/net/sip/SipAudioCall;-endCall-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/net/sip/SipAudioCall;-setSpeakerMode-(Z)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/net/sip/SipAudioCall;-startAudio-()V": [ "android.permission.ACCESS_WIFI_STATE", "android.permission.WAKE_LOCK" ], "Landroid/net/sip/SipManager;-close-(Ljava/lang/String;)V": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-createSipSession-(Landroid/net/sip/SipProfile; Landroid/net/sip/SipSession$Listener;)Landroid/net/sip/SipSession;": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-getSessionFor-(Landroid/content/Intent;)Landroid/net/sip/SipSession;": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-isOpened-(Ljava/lang/String;)Z": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-isRegistered-(Ljava/lang/String;)Z": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-makeAudioCall-(Landroid/net/sip/SipProfile; Landroid/net/sip/SipProfile; Landroid/net/sip/SipAudioCall$Listener; I)Landroid/net/sip/SipAudioCall;": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-makeAudioCall-(Ljava/lang/String; Ljava/lang/String; Landroid/net/sip/SipAudioCall$Listener; I)Landroid/net/sip/SipAudioCall;": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-open-(Landroid/net/sip/SipProfile;)V": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-open-(Landroid/net/sip/SipProfile; Landroid/app/PendingIntent; Landroid/net/sip/SipRegistrationListener;)V": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-register-(Landroid/net/sip/SipProfile; I Landroid/net/sip/SipRegistrationListener;)V": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-setRegistrationListener-(Ljava/lang/String; Landroid/net/sip/SipRegistrationListener;)V": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-takeAudioCall-(Landroid/content/Intent; Landroid/net/sip/SipAudioCall$Listener;)Landroid/net/sip/SipAudioCall;": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-unregister-(Landroid/net/sip/SipProfile; Landroid/net/sip/SipRegistrationListener;)V": [ "android.permission.USE_SIP" ], "Landroid/net/wifi/WifiManager$MulticastLock;-acquire-()V": [ "android.permission.CHANGE_WIFI_MULTICAST_STATE" ], "Landroid/net/wifi/WifiManager$MulticastLock;-release-()V": [ "android.permission.CHANGE_WIFI_MULTICAST_STATE" ], "Landroid/net/wifi/WifiManager$WifiLock;-acquire-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/net/wifi/WifiManager$WifiLock;-release-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/net/wifi/WifiManager;-addNetwork-(Landroid/net/wifi/WifiConfiguration;)I": [ "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-disableNetwork-(I)Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-disconnect-()Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-enableNetwork-(I Z)Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-getConfiguredNetworks-()Ljava/util/List;": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-getConnectionInfo-()Landroid/net/wifi/WifiInfo;": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-getDhcpInfo-()Landroid/net/DhcpInfo;": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-getScanResults-()Ljava/util/List;": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-getWifiState-()I": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-isWifiEnabled-()Z": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-pingSupplicant-()Z": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-reassociate-()Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-reconnect-()Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-removeNetwork-(I)Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-saveConfiguration-()Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-setWifiEnabled-(Z)Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-startScan-()Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-updateNetwork-(Landroid/net/wifi/WifiConfiguration;)I": [ "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/p2p/WifiP2pManager;-initialize-(Landroid/content/Context; Landroid/os/Looper; Landroid/net/wifi/p2p/WifiP2pManager$ChannelListener;)Landroid/net/wifi/p2p/WifiP2pManager$Channel;": [ "android.permission.ACCESS_WIFI_STATE", "android.permission.CHANGE_WIFI_STATE" ], "Landroid/nfc/NfcAdapter;-disableForegroundDispatch-(Landroid/app/Activity;)V": [ "android.permission.NFC" ], "Landroid/nfc/NfcAdapter;-disableForegroundNdefPush-(Landroid/app/Activity;)V": [ "android.permission.NFC" ], "Landroid/nfc/NfcAdapter;-enableForegroundDispatch-(Landroid/app/Activity; Landroid/app/PendingIntent; [Landroid/content/IntentFilter; [L[java/lang/String;)V": [ "android.permission.NFC" ], "Landroid/nfc/NfcAdapter;-enableForegroundNdefPush-(Landroid/app/Activity; Landroid/nfc/NdefMessage;)V": [ "android.permission.NFC" ], "Landroid/nfc/NfcAdapter;-setBeamPushUris-([Landroid/net/Uri; Landroid/app/Activity;)V": [ "android.permission.NFC" ], "Landroid/nfc/NfcAdapter;-setBeamPushUrisCallback-(Landroid/nfc/NfcAdapter$CreateBeamUrisCallback; Landroid/app/Activity;)V": [ "android.permission.NFC" ], "Landroid/nfc/NfcAdapter;-setNdefPushMessage-(Landroid/nfc/NdefMessage; Landroid/app/Activity; [Landroid/app/Activity;)V": [ "android.permission.NFC" ], "Landroid/nfc/NfcAdapter;-setNdefPushMessageCallback-(Landroid/nfc/NfcAdapter$CreateNdefMessageCallback; Landroid/app/Activity; [Landroid/app/Activity;)V": [ "android.permission.NFC" ], "Landroid/nfc/NfcAdapter;-setOnNdefPushCompleteCallback-(Landroid/nfc/NfcAdapter$OnNdefPushCompleteCallback; Landroid/app/Activity; [Landroid/app/Activity;)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/BasicTagTechnology;-close-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/BasicTagTechnology;-connect-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/IsoDep;-close-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/IsoDep;-connect-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/IsoDep;-getTimeout-()I": [ "android.permission.NFC" ], "Landroid/nfc/tech/IsoDep;-setTimeout-(I)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/IsoDep;-transceive-([B)[B": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareClassic;-authenticateSectorWithKeyA-(I [B)Z": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareClassic;-authenticateSectorWithKeyB-(I [B)Z": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareClassic;-close-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareClassic;-connect-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareClassic;-decrement-(I I)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareClassic;-getTimeout-()I": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareClassic;-increment-(I I)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareClassic;-readBlock-(I)[B": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareClassic;-restore-(I)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareClassic;-setTimeout-(I)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareClassic;-transceive-([B)[B": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareClassic;-transfer-(I)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareClassic;-writeBlock-(I [B)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareUltralight;-close-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareUltralight;-connect-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareUltralight;-getTimeout-()I": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareUltralight;-readPages-(I)[B": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareUltralight;-setTimeout-(I)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareUltralight;-transceive-([B)[B": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareUltralight;-writePage-(I [B)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/Ndef;-close-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/Ndef;-connect-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/Ndef;-getNdefMessage-()Landroid/nfc/NdefMessage;": [ "android.permission.NFC" ], "Landroid/nfc/tech/Ndef;-makeReadOnly-()Z": [ "android.permission.NFC" ], "Landroid/nfc/tech/Ndef;-writeNdefMessage-(Landroid/nfc/NdefMessage;)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NdefFormatable;-close-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NdefFormatable;-connect-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NdefFormatable;-format-(Landroid/nfc/NdefMessage;)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NdefFormatable;-formatReadOnly-(Landroid/nfc/NdefMessage;)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcA;-close-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcA;-connect-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcA;-getTimeout-()I": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcA;-setTimeout-(I)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcA;-transceive-([B)[B": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcB;-close-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcB;-connect-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcB;-transceive-([B)[B": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcF;-close-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcF;-connect-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcF;-getTimeout-()I": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcF;-setTimeout-(I)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcF;-transceive-([B)[B": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcV;-close-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcV;-connect-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcV;-transceive-([B)[B": [ "android.permission.NFC" ], "Landroid/os/PowerManager$WakeLock;-acquire-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/os/PowerManager$WakeLock;-acquire-(J)V": [ "android.permission.WAKE_LOCK" ], "Landroid/os/PowerManager$WakeLock;-release-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/os/SystemVibrator;-cancel-()V": [ "android.permission.VIBRATE" ], "Landroid/os/SystemVibrator;-vibrate-([J I)V": [ "android.permission.VIBRATE" ], "Landroid/os/SystemVibrator;-vibrate-(J)V": [ "android.permission.VIBRATE" ], "Landroid/telephony/SmsManager;-sendDataMessage-(Ljava/lang/String; Ljava/lang/String; S [B Landroid/app/PendingIntent; Landroid/app/PendingIntent;)V": [ "android.permission.SEND_SMS" ], "Landroid/telephony/SmsManager;-sendMultipartTextMessage-(Ljava/lang/String; Ljava/lang/String; Ljava/util/ArrayList; Ljava/util/ArrayList; Ljava/util/ArrayList;)V": [ "android.permission.SEND_SMS" ], "Landroid/telephony/SmsManager;-sendTextMessage-(Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Landroid/app/PendingIntent; Landroid/app/PendingIntent;)V": [ "android.permission.SEND_SMS" ], "Landroid/telephony/TelephonyManager;-getCellLocation-()Landroid/telephony/CellLocation;": [ "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/telephony/TelephonyManager;-getDeviceId-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Landroid/telephony/TelephonyManager;-getDeviceSoftwareVersion-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Landroid/telephony/TelephonyManager;-getLine1Number-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Landroid/telephony/TelephonyManager;-getNeighboringCellInfo-()Ljava/util/List;": [ "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/telephony/TelephonyManager;-getSimSerialNumber-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Landroid/telephony/TelephonyManager;-getSubscriberId-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Landroid/telephony/TelephonyManager;-getVoiceMailAlphaTag-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Landroid/telephony/TelephonyManager;-getVoiceMailNumber-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Landroid/telephony/TelephonyManager;-listen-(Landroid/telephony/PhoneStateListener; I)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.READ_PHONE_STATE" ], "Landroid/telephony/gsm/SmsManager;-sendDataMessage-(Ljava/lang/String; Ljava/lang/String; S [B Landroid/app/PendingIntent; Landroid/app/PendingIntent;)V": [ "android.permission.SEND_SMS" ], "Landroid/telephony/gsm/SmsManager;-sendMultipartTextMessage-(Ljava/lang/String; Ljava/lang/String; Ljava/util/ArrayList; Ljava/util/ArrayList; Ljava/util/ArrayList;)V": [ "android.permission.SEND_SMS" ], "Landroid/telephony/gsm/SmsManager;-sendTextMessage-(Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Landroid/app/PendingIntent; Landroid/app/PendingIntent;)V": [ "android.permission.SEND_SMS" ], "Landroid/test/IsolatedContext;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/test/IsolatedContext;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/test/IsolatedContext;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/test/IsolatedContext;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/test/IsolatedContext;-unregisterReceiver-(Landroid/content/BroadcastReceiver;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/test/RenamingDelegatingContext;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/test/RenamingDelegatingContext;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/test/RenamingDelegatingContext;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/test/RenamingDelegatingContext;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/test/RenamingDelegatingContext;-unregisterReceiver-(Landroid/content/BroadcastReceiver;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/test/mock/MockApplication;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/test/mock/MockApplication;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/test/mock/MockApplication;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/test/mock/MockApplication;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/test/mock/MockApplication;-unregisterReceiver-(Landroid/content/BroadcastReceiver;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/view/ContextThemeWrapper;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/view/ContextThemeWrapper;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/view/ContextThemeWrapper;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/view/ContextThemeWrapper;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/view/ContextThemeWrapper;-unregisterReceiver-(Landroid/content/BroadcastReceiver;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/widget/VideoView;-onKeyDown-(I Landroid/view/KeyEvent;)Z": [ "android.permission.WAKE_LOCK" ], "Landroid/widget/VideoView;-pause-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/widget/VideoView;-resume-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/widget/VideoView;-setVideoPath-(Ljava/lang/String;)V": [ "android.permission.WAKE_LOCK" ], "Landroid/widget/VideoView;-setVideoURI-(Landroid/net/Uri;)V": [ "android.permission.WAKE_LOCK" ], "Landroid/widget/VideoView;-start-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/widget/VideoView;-stopPlayback-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/widget/VideoView;-suspend-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/widget/ZoomButtonsController;-setVisible-(Z)V": [ "android.permission.BROADCAST_STICKY" ] }permissions_17.json000066400000000000000000006426071324327352200345520ustar00rootroot00000000000000androguard-3.1.0-rc2/androguard/core/api_specific_resources/api_permission_mappings{ "Landroid/accounts/AbstractAccountAuthenticator$Transport;-addAccount-(Landroid/accounts/IAccountAuthenticatorResponse; Ljava/lang/String; Ljava/lang/String; [Ljava/lang/String; Landroid/os/Bundle;)V": [ "android.permission.ACCOUNT_MANAGER" ], "Landroid/accounts/AbstractAccountAuthenticator$Transport;-confirmCredentials-(Landroid/accounts/IAccountAuthenticatorResponse; Landroid/accounts/Account; Landroid/os/Bundle;)V": [ "android.permission.ACCOUNT_MANAGER" ], "Landroid/accounts/AbstractAccountAuthenticator$Transport;-editProperties-(Landroid/accounts/IAccountAuthenticatorResponse; Ljava/lang/String;)V": [ "android.permission.ACCOUNT_MANAGER" ], "Landroid/accounts/AbstractAccountAuthenticator$Transport;-getAccountRemovalAllowed-(Landroid/accounts/IAccountAuthenticatorResponse; Landroid/accounts/Account;)V": [ "android.permission.ACCOUNT_MANAGER" ], "Landroid/accounts/AbstractAccountAuthenticator$Transport;-getAuthToken-(Landroid/accounts/IAccountAuthenticatorResponse; Landroid/accounts/Account; Ljava/lang/String; Landroid/os/Bundle;)V": [ "android.permission.ACCOUNT_MANAGER" ], "Landroid/accounts/AbstractAccountAuthenticator$Transport;-getAuthTokenLabel-(Landroid/accounts/IAccountAuthenticatorResponse; Ljava/lang/String;)V": [ "android.permission.ACCOUNT_MANAGER" ], "Landroid/accounts/AbstractAccountAuthenticator$Transport;-hasFeatures-(Landroid/accounts/IAccountAuthenticatorResponse; Landroid/accounts/Account; [Ljava/lang/String;)V": [ "android.permission.ACCOUNT_MANAGER" ], "Landroid/accounts/AbstractAccountAuthenticator$Transport;-updateCredentials-(Landroid/accounts/IAccountAuthenticatorResponse; Landroid/accounts/Account; Ljava/lang/String; Landroid/os/Bundle;)V": [ "android.permission.ACCOUNT_MANAGER" ], "Landroid/accounts/AccountManagerService;-addAccount-(Landroid/accounts/Account; Ljava/lang/String; Landroid/os/Bundle;)Z": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Landroid/accounts/AccountManagerService;-addAcount-(Landroid/accounts/IAccountManagerResponse; Ljava/lang/String; Ljava/lang/String; [Ljava/lang/String; Z Landroid/os/Bundle;)V": [ "android.permission.MANAGE_ACCOUNTS" ], "Landroid/accounts/AccountManagerService;-clearPassword-(Landroid/accounts/Account;)V": [ "android.permission.MANAGE_ACCOUNTS" ], "Landroid/accounts/AccountManagerService;-confirmCredentialsAsUser-(Landroid/accounts/IAccountManagerResponse; Landroid/accounts/Account; Landroid/os/Bundle; Z I)V": [ "android.permission.MANAGE_ACCOUNTS" ], "Landroid/accounts/AccountManagerService;-editProperties-(Landroid/accounts/IAccountManagerResponse; Ljava/lang/String; Z)V": [ "android.permission.MANAGE_ACCOUNTS" ], "Landroid/accounts/AccountManagerService;-getAccounts-(Ljava/lang/String;)[Landroid/accounts/Account;": [ "android.permission.GET_ACCOUNTS" ], "Landroid/accounts/AccountManagerService;-getAccountsAsUser-(Ljava/lang/String; I)[Landroid/accounts/Account;": [ "android.permission.GET_ACCOUNTS" ], "Landroid/accounts/AccountManagerService;-getAccountsByFeatures-(Landroid/accounts/IAccountManagerResponse; Ljava/lang/String; [Ljava/lang/String;)V": [ "android.permission.GET_ACCOUNTS" ], "Landroid/accounts/AccountManagerService;-getAuthToken-(Landroid/accounts/IAccountManagerResponse; Landroid/accounts/Account; Ljava/lang/String; Z Z Landroid/os/Bundle;)V": [ "android.permission.USE_CREDENTIALS" ], "Landroid/accounts/AccountManagerService;-getPassword-(Landroid/accounts/Account;)Ljava/lang/String;": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Landroid/accounts/AccountManagerService;-getUserData-(Landroid/accounts/Account; Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Landroid/accounts/AccountManagerService;-hasFeatures-(Landroid/accounts/IAccountManagerResponse; Landroid/accounts/Account; [Ljava/lang/String;)V": [ "android.permission.GET_ACCOUNTS" ], "Landroid/accounts/AccountManagerService;-invalidateAuthToken-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.MANAGE_ACCOUNTS", "android.permission.USE_CREDENTIALS" ], "Landroid/accounts/AccountManagerService;-peekAuthToken-(Landroid/accounts/Account; Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Landroid/accounts/AccountManagerService;-removeAccount-(Landroid/accounts/IAccountManagerResponse; Landroid/accounts/Account;)V": [ "android.permission.MANAGE_ACCOUNTS" ], "Landroid/accounts/AccountManagerService;-setAuthToken-(Landroid/accounts/Account; Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Landroid/accounts/AccountManagerService;-setPassword-(Landroid/accounts/Account; Ljava/lang/String;)V": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Landroid/accounts/AccountManagerService;-setUserData-(Landroid/accounts/Account; Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Landroid/accounts/AccountManagerService;-updateCredentials-(Landroid/accounts/IAccountManagerResponse; Landroid/accounts/Account; Ljava/lang/String; Z Landroid/os/Bundle;)V": [ "android.permission.MANAGE_ACCOUNTS" ], "Landroid/content/ContentService;-addPeriodicSync-(Landroid/accounts/Account; Ljava/lang/String; Landroid/os/Bundle; J)V": [ "android.permission.WRITE_SYNC_SETTINGS" ], "Landroid/content/ContentService;-getCurrentSyncs-()Ljava/util/List;": [ "android.permission.READ_SYNC_STATS" ], "Landroid/content/ContentService;-getIsSyncable-(Landroid/accounts/Account; Ljava/lang/String;)I": [ "android.permission.READ_SYNC_SETTINGS" ], "Landroid/content/ContentService;-getMasterSyncAutomatically-()Z": [ "android.permission.READ_SYNC_SETTINGS" ], "Landroid/content/ContentService;-getPeriodicSyncs-(Landroid/accounts/Account; Ljava/lang/String;)Ljava/util/List;": [ "android.permission.READ_SYNC_SETTINGS" ], "Landroid/content/ContentService;-getSyncAutomatically-(Landroid/accounts/Account; Ljava/lang/String;)Z": [ "android.permission.READ_SYNC_SETTINGS" ], "Landroid/content/ContentService;-getSyncStatus-(Landroid/accounts/Account; Ljava/lang/String;)Landroid/content/SyncStatusInfo;": [ "android.permission.READ_SYNC_STATS" ], "Landroid/content/ContentService;-isSyncActive-(Landroid/accounts/Account; Ljava/lang/String;)Z": [ "android.permission.READ_SYNC_STATS" ], "Landroid/content/ContentService;-isSyncPending-(Landroid/accounts/Account; Ljava/lang/String;)Z": [ "android.permission.READ_SYNC_STATS" ], "Landroid/content/ContentService;-registerContentObserver-(Landroid/net/Uri; Z Landroid/database/IContentObserver; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Landroid/content/ContentService;-removePeriodicSync-(Landroid/accounts/Account; Ljava/lang/String; Landroid/os/Bundle;)V": [ "android.permission.WRITE_SYNC_SETTINGS" ], "Landroid/content/ContentService;-setIsSyncable-(Landroid/accounts/Account; Ljava/lang/String; I)V": [ "android.permission.WRITE_SYNC_SETTINGS" ], "Landroid/content/ContentService;-setMasterSyncAutomatically-(Z)V": [ "android.permission.WRITE_SYNC_SETTINGS" ], "Landroid/content/ContentService;-setSyncAutomatically-(Landroid/accounts/Account; Ljava/lang/String; Z)V": [ "android.permission.WRITE_SYNC_SETTINGS" ], "Landroid/media/AudioService;-registerMediaButtonEventReceiverForCalls-(Landroid/content/ComponentName;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Landroid/media/AudioService;-setBluetoothScoOn-(Z)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/media/AudioService;-setMode-(I Landroid/os/IBinder;)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/media/AudioService;-setRingtonePlayer-(Landroid/media/IRingtonePlayer;)V": [ "android.permission.REMOTE_AUDIO_PLAYBACK" ], "Landroid/media/AudioService;-setSpeakerphoneOn-(Z)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/media/AudioService;-startBluetoothSco-(Landroid/os/IBinder;)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/media/AudioService;-stopBluetoothSco-(Landroid/os/IBinder;)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/media/AudioService;-unregisterMediaButtonEventReceiverForCalls-()V": [ "android.permission.MODIFY_PHONE_STATE" ], "Landroid/net/wifi/p2p/WifiP2pService;-getMessenger-()Landroid/os/Messenger;": [ "android.permission.ACCESS_WIFI_STATE", "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/bluetooth/a2dp/A2dpService$BluetoothA2dpBinder;-connect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/a2dp/A2dpService$BluetoothA2dpBinder;-disconnect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/a2dp/A2dpService$BluetoothA2dpBinder;-getConnectedDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/a2dp/A2dpService$BluetoothA2dpBinder;-getConnectionState-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/a2dp/A2dpService$BluetoothA2dpBinder;-getDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/a2dp/A2dpService$BluetoothA2dpBinder;-getPriority-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/a2dp/A2dpService$BluetoothA2dpBinder;-isA2dpPlaying-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/a2dp/A2dpService$BluetoothA2dpBinder;-setPriority-(Landroid/bluetooth/BluetoothDevice; I)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-cancelBondProcess-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-cancelDiscovery-()Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-connectSocket-(Landroid/bluetooth/BluetoothDevice; I Landroid/os/ParcelUuid; I I)Landroid/os/ParcelFileDescriptor;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-createBond-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-createSocketChannel-(I Ljava/lang/String; Landroid/os/ParcelUuid; I I)Landroid/os/ParcelFileDescriptor;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-disable-()Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-enable-()Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-enableNoAutoConnect-()Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-fetchRemoteUuids-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getAdapterConnectionState-()I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getAddress-()Ljava/lang/String;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getBondState-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getBondedDevices-()[Landroid/bluetooth/BluetoothDevice;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getDiscoverableTimeout-()I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getName-()Ljava/lang/String;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getProfileConnectionState-(I)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getRemoteAlias-(Landroid/bluetooth/BluetoothDevice;)Ljava/lang/String;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getRemoteClass-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getRemoteName-(Landroid/bluetooth/BluetoothDevice;)Ljava/lang/String;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getRemoteUuids-(Landroid/bluetooth/BluetoothDevice;)[Landroid/os/ParcelUuid;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getScanMode-()I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getState-()I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getUuids-()[Landroid/os/ParcelUuid;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-isDiscovering-()Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-isEnabled-()Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-removeBond-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-sendConnectionStateChange-(Landroid/bluetooth/BluetoothDevice; I I I)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-setDiscoverableTimeout-(I)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-setName-(Ljava/lang/String;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-setPairingConfirmation-(Landroid/bluetooth/BluetoothDevice; Z)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-setPasskey-(Landroid/bluetooth/BluetoothDevice; Z I [B)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-setPin-(Landroid/bluetooth/BluetoothDevice; Z I [B)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-setRemoteAlias-(Landroid/bluetooth/BluetoothDevice; Ljava/lang/String;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-setScanMode-(I I)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-startDiscovery-()Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hdp/HealthService$BluetoothHealthBinder;-connectChannelToSink-(Landroid/bluetooth/BluetoothDevice; Landroid/bluetooth/BluetoothHealthAppConfiguration; I)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hdp/HealthService$BluetoothHealthBinder;-connectChannelToSource-(Landroid/bluetooth/BluetoothDevice; Landroid/bluetooth/BluetoothHealthAppConfiguration;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hdp/HealthService$BluetoothHealthBinder;-disconnectChannel-(Landroid/bluetooth/BluetoothDevice; Landroid/bluetooth/BluetoothHealthAppConfiguration; I)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hdp/HealthService$BluetoothHealthBinder;-getConnectedHealthDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hdp/HealthService$BluetoothHealthBinder;-getHealthDeviceConnectionState-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hdp/HealthService$BluetoothHealthBinder;-getHealthDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hdp/HealthService$BluetoothHealthBinder;-getMainChannelFd-(Landroid/bluetooth/BluetoothDevice; Landroid/bluetooth/BluetoothHealthAppConfiguration;)Landroid/os/ParcelFileDescriptor;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hdp/HealthService$BluetoothHealthBinder;-registerAppConfiguration-(Landroid/bluetooth/BluetoothHealthAppConfiguration; Landroid/bluetooth/IBluetoothHealthCallback;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hdp/HealthService$BluetoothHealthBinder;-unregisterAppConfiguration-(Landroid/bluetooth/BluetoothHealthAppConfiguration;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-clccResponse-(I I I I Z Ljava/lang/String; I)V": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN", "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-connect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-connectAudio-()Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-disconnect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-disconnectAudio-()Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-getConnectedDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-getConnectionState-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-getDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-getPriority-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-isAudioConnected-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-isAudioOn-()Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-phoneStateChanged-(I I I Ljava/lang/String; I)V": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN", "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-roamChanged-(Z)V": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN", "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-setPriority-(Landroid/bluetooth/BluetoothDevice; I)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-startVoiceRecognition-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-stopVoiceRecognition-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-connect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-disconnect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-getConnectedDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-getDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-getPriority-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-getProtocolMode-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-getReport-(Landroid/bluetooth/BluetoothDevice; B B I)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-sendData-(Landroid/bluetooth/BluetoothDevice; Ljava/lang/String;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-setPriority-(Landroid/bluetooth/BluetoothDevice; I)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-setProtocolMode-(Landroid/bluetooth/BluetoothDevice; I)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-setReport-(Landroid/bluetooth/BluetoothDevice; B Ljava/lang/String;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-virtualUnplug-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/pan/PanService$BluetoothPanBinder;-connect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/pan/PanService$BluetoothPanBinder;-disconnect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/pan/PanService$BluetoothPanBinder;-getConnectedDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/pan/PanService$BluetoothPanBinder;-getDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/pan/PanService$BluetoothPanBinder;-setBluetoothTethering-(Z)V": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/email/provider/AttachmentProvider;-openFile-(Landroid/net/Uri; Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;": [ "com.android.email.permission.ACCESS_PROVIDER" ], "Lcom/android/internal/telephony/IccPhoneBookInterfaceManager;-getAdnRecordsInEf-(I)Ljava/util/List;": [ "android.permission.READ_CONTACTS", "android.permission.READ_CONTACTS" ], "Lcom/android/internal/telephony/IccPhoneBookInterfaceManager;-updateAdnRecordsInEfByIndex-(I Ljava/lang/String; Ljava/lang/String; I Ljava/lang/String;)Z": [ "android.permission.WRITE_CONTACTS", "android.permission.WRITE_CONTACTS" ], "Lcom/android/internal/telephony/IccPhoneBookInterfaceManager;-updateAdnRecordsInEfBySearch-(I Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/lang/String;)Z": [ "android.permission.WRITE_CONTACTS", "android.permission.WRITE_CONTACTS" ], "Lcom/android/internal/telephony/IccPhoneBookInterfaceManagerProxy;-getAdnRecordsInEf-(I)Ljava/util/List;": [ "android.permission.READ_CONTACTS" ], "Lcom/android/internal/telephony/IccPhoneBookInterfaceManagerProxy;-updateAdnRecordsInEfByIndex-(I Ljava/lang/String; Ljava/lang/String; I Ljava/lang/String;)Z": [ "android.permission.WRITE_CONTACTS" ], "Lcom/android/internal/telephony/IccPhoneBookInterfaceManagerProxy;-updateAdnRecordsInEfBySearch-(I Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/lang/String;)Z": [ "android.permission.WRITE_CONTACTS" ], "Lcom/android/internal/telephony/IccSmsInterfaceManager;-sendData-(Ljava/lang/String; Ljava/lang/String; I [B Landroid/app/PendingIntent; Landroid/app/PendingIntent;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.SEND_SMS", "android.permission.SEND_SMS_NO_CONFIRMATION" ], "Lcom/android/internal/telephony/IccSmsInterfaceManager;-sendMultipartText-(Ljava/lang/String; Ljava/lang/String; Ljava/util/List; Ljava/util/List; Ljava/util/List;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.SEND_SMS", "android.permission.SEND_SMS_NO_CONFIRMATION" ], "Lcom/android/internal/telephony/IccSmsInterfaceManager;-sendText-(Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Landroid/app/PendingIntent; Landroid/app/PendingIntent;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.SEND_SMS", "android.permission.SEND_SMS_NO_CONFIRMATION" ], "Lcom/android/internal/telephony/IccSmsInterfaceManagerProxy;-sendData-(Ljava/lang/String; Ljava/lang/String; I [B Landroid/app/PendingIntent; Landroid/app/PendingIntent;)V": [ "android.permission.SEND_SMS" ], "Lcom/android/internal/telephony/IccSmsInterfaceManagerProxy;-sendMultipartText-(Ljava/lang/String; Ljava/lang/String; Ljava/util/List; Ljava/util/List; Ljava/util/List;)V": [ "android.permission.SEND_SMS" ], "Lcom/android/internal/telephony/IccSmsInterfaceManagerProxy;-sendText-(Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Landroid/app/PendingIntent; Landroid/app/PendingIntent;)V": [ "android.permission.SEND_SMS" ], "Lcom/android/internal/telephony/PhoneSubInfo;-getCompleteVoiceMailNumber-()Ljava/lang/String;": [ "android.permission.CALL_PRIVILEGED" ], "Lcom/android/internal/telephony/PhoneSubInfo;-getDeviceId-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfo;-getDeviceSvn-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfo;-getIccSerialNumber-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfo;-getIsimDomain-()Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfo;-getIsimImpi-()Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfo;-getIsimImpu-()[Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfo;-getLine1AlphaTag-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfo;-getLine1Number-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfo;-getMsisdn-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfo;-getSubscriberId-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfo;-getVoiceMailAlphaTag-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfo;-getVoiceMailNumber-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/cdma/RuimSmsInterfaceManager;-copyMessageToIccEf-(I [B [B)Z": [ "android.permission.RECEIVE_SMS", "android.permission.SEND_SMS" ], "Lcom/android/internal/telephony/cdma/RuimSmsInterfaceManager;-getAllMessagesFromIccEf-()Ljava/util/List;": [ "android.permission.RECEIVE_SMS" ], "Lcom/android/internal/telephony/cdma/RuimSmsInterfaceManager;-updateMessageOnIccEf-(I I [B)Z": [ "android.permission.RECEIVE_SMS", "android.permission.SEND_SMS" ], "Lcom/android/nfc/NfcService$NfcAdapterExtrasService;-authenticate-(Ljava/lang/String; [B)V": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$NfcAdapterExtrasService;-close-(Ljava/lang/String; Landroid/os/IBinder;)Landroid/os/Bundle;": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$NfcAdapterExtrasService;-getCardEmulationRoute-(Ljava/lang/String;)I": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$NfcAdapterExtrasService;-getDriverName-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$NfcAdapterExtrasService;-open-(Ljava/lang/String; Landroid/os/IBinder;)Landroid/os/Bundle;": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$NfcAdapterExtrasService;-setCardEmulationRoute-(Ljava/lang/String; I)V": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$NfcAdapterExtrasService;-transceive-(Ljava/lang/String; [B)Landroid/os/Bundle;": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$NfcAdapterService;-disable-(Z)Z": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/nfc/NfcService$NfcAdapterService;-disableNdefPush-()Z": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/nfc/NfcService$NfcAdapterService;-dispatch-(Landroid/nfc/Tag;)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/nfc/NfcService$NfcAdapterService;-enable-()Z": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/nfc/NfcService$NfcAdapterService;-enableNdefPush-()Z": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/nfc/NfcService$NfcAdapterService;-getNfcAdapterExtrasInterface-(Ljava/lang/String;)Landroid/nfc/INfcAdapterExtras;": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$NfcAdapterService;-setForegroundDispatch-(Landroid/app/PendingIntent; [Landroid/content/IntentFilter; Landroid/nfc/TechListParcel;)V": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$NfcAdapterService;-setNdefPushCallback-(Landroid/nfc/INdefPushCallback;)V": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$NfcAdapterService;-setP2pModes-(I I)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/nfc/NfcService$TagService;-close-(I)I": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-connect-(I I)I": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-formatNdef-(I [B)I": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-getTechList-(I)[I": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-getTimeout-(I)I": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-isNdef-(I)Z": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-ndefMakeReadOnly-(I)I": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-ndefRead-(I)Landroid/nfc/NdefMessage;": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-ndefWrite-(I Landroid/nfc/NdefMessage;)I": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-reconnect-(I)I": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-rediscover-(I)Landroid/nfc/Tag;": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-resetTimeouts-()V": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-setTimeout-(I I)I": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-transceive-(I [B Z)Landroid/nfc/TransceiveResult;": [ "android.permission.NFC" ], "Lcom/android/phone/PhoneInterfaceManager;-answerRingingCall-()V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-call-(Ljava/lang/String;)V": [ "android.permission.CALL_PHONE" ], "Lcom/android/phone/PhoneInterfaceManager;-cancelMissedCallsNotification-()V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-disableApnType-(Ljava/lang/String;)I": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-disableDataConnectivity-()Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-disableLocationUpdates-()V": [ "android.permission.CONTROL_LOCATION_UPDATES" ], "Lcom/android/phone/PhoneInterfaceManager;-enableApnType-(Ljava/lang/String;)I": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-enableDataConnectivity-()Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-enableLocationUpdates-()V": [ "android.permission.CONTROL_LOCATION_UPDATES" ], "Lcom/android/phone/PhoneInterfaceManager;-endCall-()Z": [ "android.permission.CALL_PHONE" ], "Lcom/android/phone/PhoneInterfaceManager;-getAllCellInfo-()Ljava/util/List;": [ "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/phone/PhoneInterfaceManager;-getCellLocation-()Landroid/os/Bundle;": [ "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/phone/PhoneInterfaceManager;-getNeighboringCellInfo-()Ljava/util/List;": [ "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/phone/PhoneInterfaceManager;-handlePinMmi-(Ljava/lang/String;)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-isSimPinEnabled-()Z": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-setRadio-(Z)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-silenceRinger-()V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-supplyPin-(Ljava/lang/String;)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-supplyPuk-(Ljava/lang/String; Ljava/lang/String;)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-toggleRadioOnOff-()V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/providers/contacts/AbstractContactsProvider;-bulkInsert-(Landroid/net/Uri; [Landroid/content/ContentValues;)I": [ "android.permission.WRITE_PROFILE" ], "Lcom/android/providers/contacts/AbstractContactsProvider;-delete-(Landroid/net/Uri; Ljava/lang/String; [Ljava/lang/String;)I": [ "android.permission.WRITE_PROFILE" ], "Lcom/android/providers/contacts/AbstractContactsProvider;-insert-(Landroid/net/Uri; Landroid/content/ContentValues;)Landroid/net/Uri;": [ "android.permission.WRITE_PROFILE" ], "Lcom/android/providers/contacts/AbstractContactsProvider;-update-(Landroid/net/Uri; Landroid/content/ContentValues; Ljava/lang/String; [Ljava/lang/String;)I": [ "android.permission.WRITE_PROFILE" ], "Lcom/android/providers/contacts/CallLogProvider;-delete-(Landroid/net/Uri; Ljava/lang/String; [Ljava/lang/String;)I": [ "com.android.voicemail.permission.ADD_VOICEMAIL" ], "Lcom/android/providers/contacts/CallLogProvider;-insert-(Landroid/net/Uri; Landroid/content/ContentValues;)Landroid/net/Uri;": [ "com.android.voicemail.permission.ADD_VOICEMAIL" ], "Lcom/android/providers/contacts/CallLogProvider;-update-(Landroid/net/Uri; Landroid/content/ContentValues; Ljava/lang/String; [Ljava/lang/String;)I": [ "com.android.voicemail.permission.ADD_VOICEMAIL" ], "Lcom/android/providers/contacts/ContactsProvider2;-bulkInsert-(Landroid/net/Uri; [Landroid/content/ContentValues;)I": [ "android.permission.READ_SOCIAL_STREAM" ], "Lcom/android/providers/contacts/ContactsProvider2;-call-(Ljava/lang/String; Ljava/lang/String; Landroid/os/Bundle;)Landroid/os/Bundle;": [ "android.permission.READ_SOCIAL_STREAM" ], "Lcom/android/providers/contacts/ContactsProvider2;-delete-(Landroid/net/Uri; Ljava/lang/String; [Ljava/lang/String;)I": [ "android.permission.READ_SOCIAL_STREAM", "android.permission.WRITE_SOCIAL_STREAM" ], "Lcom/android/providers/contacts/ContactsProvider2;-getType-(Landroid/net/Uri;)Ljava/lang/String;": [ "android.permission.READ_SOCIAL_STREAM" ], "Lcom/android/providers/contacts/ContactsProvider2;-insert-(Landroid/net/Uri; Landroid/content/ContentValues;)Landroid/net/Uri;": [ "android.permission.READ_SOCIAL_STREAM", "android.permission.WRITE_SOCIAL_STREAM" ], "Lcom/android/providers/contacts/ContactsProvider2;-update-(Landroid/net/Uri; Landroid/content/ContentValues; Ljava/lang/String; [Ljava/lang/String;)I": [ "android.permission.READ_SOCIAL_STREAM", "android.permission.WRITE_SOCIAL_STREAM" ], "Lcom/android/providers/contacts/ProfileProvider;-openAssetFile-(Landroid/net/Uri; Ljava/lang/String;)Landroid/content/res/AssetFileDescriptor;": [ "android.permission.READ_PROFILE", "android.permission.WRITE_PROFILE" ], "Lcom/android/providers/contacts/VoicemailContentProvider;-delete-(Landroid/net/Uri; Ljava/lang/String; [Ljava/lang/String;)I": [ "com.android.voicemail.permission.ADD_VOICEMAIL" ], "Lcom/android/providers/contacts/VoicemailContentProvider;-insert-(Landroid/net/Uri; Landroid/content/ContentValues;)Landroid/net/Uri;": [ "com.android.voicemail.permission.ADD_VOICEMAIL" ], "Lcom/android/providers/contacts/VoicemailContentProvider;-openFile-(Landroid/net/Uri; Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;": [ "com.android.voicemail.permission.ADD_VOICEMAIL" ], "Lcom/android/providers/contacts/VoicemailContentProvider;-update-(Landroid/net/Uri; Landroid/content/ContentValues; Ljava/lang/String; [Ljava/lang/String;)I": [ "com.android.voicemail.permission.ADD_VOICEMAIL" ], "Lcom/android/providers/downloads/DownloadProvider;-delete-(Landroid/net/Uri; Ljava/lang/String; [Ljava/lang/String;)I": [ "android.permission.ACCESS_ALL_DOWNLOADS" ], "Lcom/android/providers/downloads/DownloadProvider;-insert-(Landroid/net/Uri; Landroid/content/ContentValues;)Landroid/net/Uri;": [ "android.permission.ACCESS_CACHE_FILESYSTEM", "android.permission.ACCESS_DOWNLOAD_MANAGER", "android.permission.ACCESS_DOWNLOAD_MANAGER_ADVANCED", "android.permission.DOWNLOAD_CACHE_NON_PURGEABLE", "android.permission.DOWNLOAD_WITHOUT_NOTIFICATION", "android.permission.INTERNET", "android.permission.WRITE_EXTERNAL_STORAGE" ], "Lcom/android/providers/downloads/DownloadProvider;-openFile-(Landroid/net/Uri; Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;": [ "android.permission.ACCESS_ALL_DOWNLOADS" ], "Lcom/android/providers/downloads/DownloadProvider;-update-(Landroid/net/Uri; Landroid/content/ContentValues; Ljava/lang/String; [Ljava/lang/String;)I": [ "android.permission.ACCESS_ALL_DOWNLOADS" ], "Lcom/android/providers/drm/DrmProvider;-delete-(Landroid/net/Uri; Ljava/lang/String; [Ljava/lang/String;)I": [ "android.permission.ACCESS_DRM" ], "Lcom/android/providers/drm/DrmProvider;-insert-(Landroid/net/Uri; Landroid/content/ContentValues;)Landroid/net/Uri;": [ "android.permission.INSTALL_DRM" ], "Lcom/android/providers/drm/DrmProvider;-update-(Landroid/net/Uri; Landroid/content/ContentValues; Ljava/lang/String; [Ljava/lang/String;)I": [ "android.permission.ACCESS_DRM" ], "Lcom/android/providers/media/MediaProvider;-openFile-(Landroid/net/Uri; Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;": [ "android.permission.ACCESS_CACHE_FILESYSTEM", "android.permission.READ_EXTERNAL_STORAGE", "android.permission.WRITE_EXTERNAL_STORAGE" ], "Lcom/android/providers/settings/SettingsProvider;-bulkInsert-(Landroid/net/Uri; [Landroid/content/ContentValues;)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/providers/settings/SettingsProvider;-call-(Ljava/lang/String; Ljava/lang/String; Landroid/os/Bundle;)Landroid/os/Bundle;": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/providers/settings/SettingsProvider;-delete-(Landroid/net/Uri; Ljava/lang/String; [Ljava/lang/String;)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/providers/settings/SettingsProvider;-insert-(Landroid/net/Uri; Landroid/content/ContentValues;)Landroid/net/Uri;": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/providers/settings/SettingsProvider;-openAssetFile-(Landroid/net/Uri; Ljava/lang/String;)Landroid/content/res/AssetFileDescriptor;": [ "android.permission.ACCESS_DRM" ], "Lcom/android/providers/settings/SettingsProvider;-openFile-(Landroid/net/Uri; Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;": [ "android.permission.ACCESS_DRM" ], "Lcom/android/providers/settings/SettingsProvider;-update-(Landroid/net/Uri; Landroid/content/ContentValues; Ljava/lang/String; [Ljava/lang/String;)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/providers/telephony/TelephonyProvider;-delete-(Landroid/net/Uri; Ljava/lang/String; [Ljava/lang/String;)I": [ "android.permission.WRITE_APN_SETTINGS" ], "Lcom/android/providers/telephony/TelephonyProvider;-insert-(Landroid/net/Uri; Landroid/content/ContentValues;)Landroid/net/Uri;": [ "android.permission.WRITE_APN_SETTINGS" ], "Lcom/android/providers/telephony/TelephonyProvider;-update-(Landroid/net/Uri; Landroid/content/ContentValues; Ljava/lang/String; [Ljava/lang/String;)I": [ "android.permission.WRITE_APN_SETTINGS" ], "Lcom/android/server/AlarmManagerService;-setTime-(J)V": [ "android.permission.SET_TIME" ], "Lcom/android/server/AlarmManagerService;-setTimeZone-(Ljava/lang/String;)V": [ "android.permission.SET_TIME_ZONE" ], "Lcom/android/server/AppWidgetService;-bindAppWidgetId-(I Landroid/content/ComponentName; Landroid/os/Bundle;)V": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/AppWidgetService;-bindAppWidgetIdIfAllowed-(Ljava/lang/String; I Landroid/content/ComponentName; Landroid/os/Bundle;)Z": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/AppWidgetService;-bindRemoteViewsService-(I Landroid/content/Intent; Landroid/os/IBinder; I)V": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/AppWidgetService;-deleteAppWidgetId-(I)V": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/AppWidgetService;-getAppWidgetInfo-(I)Landroid/appwidget/AppWidgetProviderInfo;": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/AppWidgetService;-getAppWidgetOptions-(I)Landroid/os/Bundle;": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/AppWidgetService;-getAppWidgetViews-(I)Landroid/widget/RemoteViews;": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/AppWidgetService;-hasBindAppWidgetPermission-(Ljava/lang/String;)Z": [ "android.permission.MODIFY_APPWIDGET_BIND_PERMISSIONS" ], "Lcom/android/server/AppWidgetService;-notifyAppWidgetViewDataChanged-([I I)V": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/AppWidgetService;-partiallyUpdateAppWidgetIds-([I Landroid/widget/RemoteViews;)V": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/AppWidgetService;-setBindAppWidgetPermission-(Ljava/lang/String; Z)V": [ "android.permission.MODIFY_APPWIDGET_BIND_PERMISSIONS" ], "Lcom/android/server/AppWidgetService;-unbindRemoteViewsService-(I Landroid/content/Intent; I)V": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/AppWidgetService;-updateAppWidgetIds-([I Landroid/widget/RemoteViews;)V": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/AppWidgetService;-updateAppWidgetOptions-(I Landroid/os/Bundle;)V": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/AppWidgetService;-updateAppWidgetProvider-(Landroid/content/ComponentName; Landroid/widget/RemoteViews;)V": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/BackupManagerService$ActiveRestoreSession;-getAvailableRestoreSets-(Landroid/app/backup/IRestoreObserver;)I": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService$ActiveRestoreSession;-restoreAll-(J Landroid/app/backup/IRestoreObserver;)I": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService$ActiveRestoreSession;-restorePackage-(Ljava/lang/String; Landroid/app/backup/IRestoreObserver;)I": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService$ActiveRestoreSession;-restoreSome-(J Landroid/app/backup/IRestoreObserver; [Ljava/lang/String;)I": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService;-acknowledgeFullBackupOrRestore-(I Z Ljava/lang/String; Ljava/lang/String; Landroid/app/backup/IFullBackupRestoreObserver;)V": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService;-backupNow-()V": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService;-beginRestoreSession-(Ljava/lang/String; Ljava/lang/String;)Landroid/app/backup/IRestoreSession;": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService;-clearBackupData-(Ljava/lang/String;)V": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService;-dataChanged-(Ljava/lang/String;)V": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService;-fullBackup-(Landroid/os/ParcelFileDescriptor; Z Z Z Z [Ljava/lang/String;)V": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService;-fullRestore-(Landroid/os/ParcelFileDescriptor;)V": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService;-getConfigurationIntent-(Ljava/lang/String;)Landroid/content/Intent;": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService;-getCurrentTransport-()Ljava/lang/String;": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService;-getDestinationString-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService;-hasBackupPassword-()Z": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService;-isBackupEnabled-()Z": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService;-listAllTransports-()[Ljava/lang/String;": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService;-selectBackupTransport-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService;-setAutoRestore-(Z)V": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService;-setBackupEnabled-(Z)V": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService;-setBackupPassword-(Ljava/lang/String; Ljava/lang/String;)Z": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService;-setBackupProvisioned-(Z)V": [ "android.permission.BACKUP" ], "Lcom/android/server/BluetoothManagerService;-disable-(Z)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/server/BluetoothManagerService;-enable-()Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/server/BluetoothManagerService;-enableNoAutoConnect-()Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/server/BluetoothManagerService;-getAddress-()Ljava/lang/String;": [ "android.permission.BLUETOOTH" ], "Lcom/android/server/BluetoothManagerService;-getName-()Ljava/lang/String;": [ "android.permission.BLUETOOTH" ], "Lcom/android/server/BluetoothManagerService;-registerStateChangeCallback-(Landroid/bluetooth/IBluetoothStateChangeCallback;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/server/BluetoothManagerService;-unregisterAdapter-(Landroid/bluetooth/IBluetoothManagerCallback;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/server/BluetoothManagerService;-unregisterStateChangeCallback-(Landroid/bluetooth/IBluetoothStateChangeCallback;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/server/ConnectivityService;-getActiveLinkProperties-()Landroid/net/LinkProperties;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getActiveNetworkInfo-()Landroid/net/NetworkInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getActiveNetworkInfoForUid-(I)Landroid/net/NetworkInfo;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-getActiveNetworkQuotaInfo-()Landroid/net/NetworkQuotaInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getAllNetworkInfo-()[Landroid/net/NetworkInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getAllNetworkState-()[Landroid/net/NetworkState;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getLastTetherError-(Ljava/lang/String;)I": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getLinkProperties-(I)Landroid/net/LinkProperties;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getMobileDataEnabled-()Z": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getNetworkInfo-(I)Landroid/net/NetworkInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getNetworkPreference-()I": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getTetherableBluetoothRegexs-()[Ljava/lang/String;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getTetherableIfaces-()[Ljava/lang/String;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getTetherableUsbRegexs-()[Ljava/lang/String;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getTetherableWifiRegexs-()[Ljava/lang/String;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getTetheredIfacePairs-()[Ljava/lang/String;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getTetheredIfaces-()[Ljava/lang/String;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getTetheringErroredIfaces-()[Ljava/lang/String;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-isActiveNetworkMetered-()Z": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-isNetworkSupported-(I)Z": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-isTetheringSupported-()Z": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-reportInetCondition-(I I)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/ConnectivityService;-requestNetworkTransitionWakelock-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-requestRouteToHost-(I I)Z": [ "android.permission.CHANGE_NETWORK_STATE", "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-requestRouteToHostAddress-(I [B)Z": [ "android.permission.CHANGE_NETWORK_STATE", "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-setDataDependency-(I Z)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-setGlobalProxy-(Landroid/net/ProxyProperties;)V": [ "android.permission.CHANGE_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-setMobileDataEnabled-(Z)V": [ "android.permission.CHANGE_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-setNetworkPreference-(I)V": [ "android.permission.CHANGE_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-setPolicyDataEnable-(I Z)V": [ "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/ConnectivityService;-setRadio-(I Z)Z": [ "android.permission.CHANGE_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-setRadios-(Z)Z": [ "android.permission.CHANGE_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-setUsbTethering-(Z)I": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-startLegacyVpn-(Lcom/android/internal/net/VpnProfile;)V": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-startUsingNetworkFeature-(I Ljava/lang/String; Landroid/os/IBinder;)I": [ "android.permission.CHANGE_NETWORK_STATE", "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-stopUsingNetworkFeature-(I Ljava/lang/String;)I": [ "android.permission.CHANGE_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-tether-(Ljava/lang/String;)I": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.CHANGE_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-untether-(Ljava/lang/String;)I": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.CHANGE_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-updateLockdownVpn-()Z": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/DevicePolicyManagerService;-getActiveAdmins-(I)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-getCameraDisabled-(Landroid/content/ComponentName; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-getCurrentFailedPasswordAttempts-(I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-getGlobalProxyAdmin-(I)Landroid/content/ComponentName;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-getKeyguardDisabledFeatures-(Landroid/content/ComponentName; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-getMaximumFailedPasswordsForWipe-(Landroid/content/ComponentName; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-getMaximumTimeToLock-(Landroid/content/ComponentName; I)J": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-getPasswordExpiration-(Landroid/content/ComponentName; I)J": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-getPasswordExpirationTimeout-(Landroid/content/ComponentName; I)J": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-getPasswordHistoryLength-(Landroid/content/ComponentName; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-getPasswordMinimumLength-(Landroid/content/ComponentName; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-getPasswordMinimumLetters-(Landroid/content/ComponentName; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-getPasswordMinimumLowerCase-(Landroid/content/ComponentName; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-getPasswordMinimumNonLetter-(Landroid/content/ComponentName; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-getPasswordMinimumNumeric-(Landroid/content/ComponentName; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-getPasswordMinimumSymbols-(Landroid/content/ComponentName; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-getPasswordMinimumUpperCase-(Landroid/content/ComponentName; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-getPasswordQuality-(Landroid/content/ComponentName; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-getRemoveWarning-(Landroid/content/ComponentName; Landroid/os/RemoteCallback; I)V": [ "android.permission.BIND_DEVICE_ADMIN", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-getStorageEncryption-(Landroid/content/ComponentName; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-getStorageEncryptionStatus-(I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-hasGrantedPolicy-(Landroid/content/ComponentName; I I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-isActivePasswordSufficient-(I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-isAdminActive-(Landroid/content/ComponentName; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-lockNow-()V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-packageHasActiveAdmins-(Ljava/lang/String; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-removeActiveAdmin-(Landroid/content/ComponentName; I)V": [ "android.permission.BIND_DEVICE_ADMIN", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-reportFailedPasswordAttempt-(I)V": [ "android.permission.BIND_DEVICE_ADMIN", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-reportSuccessfulPasswordAttempt-(I)V": [ "android.permission.BIND_DEVICE_ADMIN", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-resetPassword-(Ljava/lang/String; I I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-setActiveAdmin-(Landroid/content/ComponentName; Z I)V": [ "android.permission.BIND_DEVICE_ADMIN", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-setActivePasswordState-(I I I I I I I I I)V": [ "android.permission.BIND_DEVICE_ADMIN", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-setCameraDisabled-(Landroid/content/ComponentName; Z I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-setGlobalProxy-(Landroid/content/ComponentName; Ljava/lang/String; Ljava/lang/String; I)Landroid/content/ComponentName;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-setKeyguardDisabledFeatures-(Landroid/content/ComponentName; I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-setMaximumFailedPasswordsForWipe-(Landroid/content/ComponentName; I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-setMaximumTimeToLock-(Landroid/content/ComponentName; J I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-setPasswordExpirationTimeout-(Landroid/content/ComponentName; J I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-setPasswordHistoryLength-(Landroid/content/ComponentName; I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-setPasswordMinimumLength-(Landroid/content/ComponentName; I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-setPasswordMinimumLetters-(Landroid/content/ComponentName; I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-setPasswordMinimumLowerCase-(Landroid/content/ComponentName; I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-setPasswordMinimumNonLetter-(Landroid/content/ComponentName; I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-setPasswordMinimumNumeric-(Landroid/content/ComponentName; I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-setPasswordMinimumSymbols-(Landroid/content/ComponentName; I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-setPasswordMinimumUpperCase-(Landroid/content/ComponentName; I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-setPasswordQuality-(Landroid/content/ComponentName; I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-setStorageEncryption-(Landroid/content/ComponentName; Z I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-wipeData-(I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DropBoxManagerService;-getNextEntry-(Ljava/lang/String; J)Landroid/os/DropBoxManager$Entry;": [ "android.permission.READ_LOGS" ], "Lcom/android/server/InputMethodManagerService;-addClient-(Lcom/android/internal/view/IInputMethodClient; Lcom/android/internal/view/IInputContext; I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-getCurrentInputMethodSubtype-()Landroid/view/inputmethod/InputMethodSubtype;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-getEnabledInputMethodList-()Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-getEnabledInputMethodSubtypeList-(Landroid/view/inputmethod/InputMethodInfo; Z)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-getInputMethodList-()Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-getLastInputMethodSubtype-()Landroid/view/inputmethod/InputMethodSubtype;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-hideMySoftInput-(Landroid/os/IBinder; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-hideSoftInput-(Lcom/android/internal/view/IInputMethodClient; I Landroid/os/ResultReceiver;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-notifySuggestionPicked-(Landroid/text/style/SuggestionSpan; Ljava/lang/String; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-registerSuggestionSpansForNotification-([Landroid/text/style/SuggestionSpan;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-removeClient-(Lcom/android/internal/view/IInputMethodClient;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-setAdditionalInputMethodSubtypes-(Ljava/lang/String; [Landroid/view/inputmethod/InputMethodSubtype;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-setCurrentInputMethodSubtype-(Landroid/view/inputmethod/InputMethodSubtype;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-setInputMethod-(Landroid/os/IBinder; Ljava/lang/String;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/InputMethodManagerService;-setInputMethodAndSubtype-(Landroid/os/IBinder; Ljava/lang/String; Landroid/view/inputmethod/InputMethodSubtype;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/InputMethodManagerService;-setInputMethodEnabled-(Ljava/lang/String; Z)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/InputMethodManagerService;-showInputMethodAndSubtypeEnablerFromClient-(Lcom/android/internal/view/IInputMethodClient; Ljava/lang/String;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-showInputMethodPickerFromClient-(Lcom/android/internal/view/IInputMethodClient;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-showMySoftInput-(Landroid/os/IBinder; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-showSoftInput-(Lcom/android/internal/view/IInputMethodClient; I Landroid/os/ResultReceiver;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-startInput-(Lcom/android/internal/view/IInputMethodClient; Lcom/android/internal/view/IInputContext; Landroid/view/inputmethod/EditorInfo; I)Lcom/android/internal/view/InputBindResult;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-switchToLastInputMethod-(Landroid/os/IBinder;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/InputMethodManagerService;-switchToNextInputMethod-(Landroid/os/IBinder; Z)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/InputMethodManagerService;-windowGainedFocus-(Lcom/android/internal/view/IInputMethodClient; Landroid/os/IBinder; I I I Landroid/view/inputmethod/EditorInfo; Lcom/android/internal/view/IInputContext;)Lcom/android/internal/view/InputBindResult;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/LocationManagerService;-addGpsStatusListener-(Landroid/location/IGpsStatusListener;)Z": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-addTestProvider-(Ljava/lang/String; Lcom/android/internal/location/ProviderProperties;)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Lcom/android/server/LocationManagerService;-clearTestProviderEnabled-(Ljava/lang/String;)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Lcom/android/server/LocationManagerService;-clearTestProviderLocation-(Ljava/lang/String;)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Lcom/android/server/LocationManagerService;-clearTestProviderStatus-(Ljava/lang/String;)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Lcom/android/server/LocationManagerService;-getBestProvider-(Landroid/location/Criteria; Z)Ljava/lang/String;": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-getLastLocation-(Landroid/location/LocationRequest; Ljava/lang/String;)Landroid/location/Location;": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-getProviderProperties-(Ljava/lang/String;)Lcom/android/internal/location/ProviderProperties;": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-getProviders-(Landroid/location/Criteria; Z)Ljava/util/List;": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-isProviderEnabled-(Ljava/lang/String;)Z": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-removeGeofence-(Landroid/location/Geofence; Landroid/app/PendingIntent; Ljava/lang/String;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-removeTestProvider-(Ljava/lang/String;)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Lcom/android/server/LocationManagerService;-removeUpdates-(Landroid/location/ILocationListener; Landroid/app/PendingIntent; Ljava/lang/String;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-reportLocation-(Landroid/location/Location; Z)V": [ "android.permission.INSTALL_LOCATION_PROVIDER" ], "Lcom/android/server/LocationManagerService;-requestGeofence-(Landroid/location/LocationRequest; Landroid/location/Geofence; Landroid/app/PendingIntent; Ljava/lang/String;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-requestLocationUpdates-(Landroid/location/LocationRequest; Landroid/location/ILocationListener; Landroid/app/PendingIntent; Ljava/lang/String;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-sendExtraCommand-(Ljava/lang/String; Ljava/lang/String; Landroid/os/Bundle;)Z": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION", "android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" ], "Lcom/android/server/LocationManagerService;-setTestProviderEnabled-(Ljava/lang/String; Z)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Lcom/android/server/LocationManagerService;-setTestProviderLocation-(Ljava/lang/String; Landroid/location/Location;)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Lcom/android/server/LocationManagerService;-setTestProviderStatus-(Ljava/lang/String; I Landroid/os/Bundle; J)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Lcom/android/server/MountService;-changeEncryptionPassword-(Ljava/lang/String;)I": [ "android.permission.CRYPT_KEEPER" ], "Lcom/android/server/MountService;-createSecureContainer-(Ljava/lang/String; I Ljava/lang/String; Ljava/lang/String; I Z)I": [ "android.permission.ASEC_CREATE" ], "Lcom/android/server/MountService;-decryptStorage-(Ljava/lang/String;)I": [ "android.permission.CRYPT_KEEPER" ], "Lcom/android/server/MountService;-destroySecureContainer-(Ljava/lang/String; Z)I": [ "android.permission.ASEC_DESTROY" ], "Lcom/android/server/MountService;-encryptStorage-(Ljava/lang/String;)I": [ "android.permission.CRYPT_KEEPER" ], "Lcom/android/server/MountService;-finalizeSecureContainer-(Ljava/lang/String;)I": [ "android.permission.ASEC_CREATE" ], "Lcom/android/server/MountService;-fixPermissionsSecureContainer-(Ljava/lang/String; I Ljava/lang/String;)I": [ "android.permission.ASEC_CREATE" ], "Lcom/android/server/MountService;-formatVolume-(Ljava/lang/String;)I": [ "android.permission.MOUNT_FORMAT_FILESYSTEMS" ], "Lcom/android/server/MountService;-getEncryptionState-()I": [ "android.permission.CRYPT_KEEPER" ], "Lcom/android/server/MountService;-getSecureContainerFilesystemPath-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.ASEC_ACCESS" ], "Lcom/android/server/MountService;-getSecureContainerList-()[Ljava/lang/String;": [ "android.permission.ASEC_ACCESS" ], "Lcom/android/server/MountService;-getSecureContainerPath-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.ASEC_ACCESS" ], "Lcom/android/server/MountService;-getStorageUsers-(Ljava/lang/String;)[I": [ "android.permission.MOUNT_UNMOUNT_FILESYSTEMS" ], "Lcom/android/server/MountService;-getVolumeList-()[Landroid/os/storage/StorageVolume;": [ "android.permission.ACCESS_ALL_EXTERNAL_STORAGE" ], "Lcom/android/server/MountService;-isSecureContainerMounted-(Ljava/lang/String;)Z": [ "android.permission.ASEC_ACCESS" ], "Lcom/android/server/MountService;-mountSecureContainer-(Ljava/lang/String; Ljava/lang/String; I)I": [ "android.permission.ASEC_MOUNT_UNMOUNT" ], "Lcom/android/server/MountService;-mountVolume-(Ljava/lang/String;)I": [ "android.permission.MOUNT_UNMOUNT_FILESYSTEMS" ], "Lcom/android/server/MountService;-renameSecureContainer-(Ljava/lang/String; Ljava/lang/String;)I": [ "android.permission.ASEC_RENAME" ], "Lcom/android/server/MountService;-setUsbMassStorageEnabled-(Z)V": [ "android.permission.MOUNT_UNMOUNT_FILESYSTEMS" ], "Lcom/android/server/MountService;-shutdown-(Landroid/os/storage/IMountShutdownObserver;)V": [ "android.permission.SHUTDOWN" ], "Lcom/android/server/MountService;-unmountSecureContainer-(Ljava/lang/String; Z)I": [ "android.permission.ASEC_MOUNT_UNMOUNT" ], "Lcom/android/server/MountService;-unmountVolume-(Ljava/lang/String; Z Z)V": [ "android.permission.MOUNT_UNMOUNT_FILESYSTEMS" ], "Lcom/android/server/MountService;-verifyEncryptionPassword-(Ljava/lang/String;)I": [ "android.permission.CRYPT_KEEPER" ], "Lcom/android/server/NetworkManagementService;-addIdleTimer-(Ljava/lang/String; I Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-addRoute-(Ljava/lang/String; Landroid/net/RouteInfo;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-addSecondaryRoute-(Ljava/lang/String; Landroid/net/RouteInfo;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-attachPppd-(Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-clearInterfaceAddresses-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-detachPppd-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-disableIpv6-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-disableNat-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-enableIpv6-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-enableNat-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-flushDefaultDnsCache-()V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-flushInterfaceDnsCache-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getDnsForwarders-()[Ljava/lang/String;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getInterfaceConfig-(Ljava/lang/String;)Landroid/net/InterfaceConfiguration;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getInterfaceRxThrottle-(Ljava/lang/String;)I": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getInterfaceTxThrottle-(Ljava/lang/String;)I": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getIpForwardingEnabled-()Z": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getNetworkStatsDetail-()Landroid/net/NetworkStats;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getNetworkStatsSummaryDev-()Landroid/net/NetworkStats;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getNetworkStatsSummaryXt-()Landroid/net/NetworkStats;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getNetworkStatsTethering-([Ljava/lang/String;)Landroid/net/NetworkStats;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getNetworkStatsUidDetail-(I)Landroid/net/NetworkStats;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getRoutes-(Ljava/lang/String;)[Landroid/net/RouteInfo;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-isBandwidthControlEnabled-()Z": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-isTetheringStarted-()Z": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-listInterfaces-()[Ljava/lang/String;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-listTetheredInterfaces-()[Ljava/lang/String;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-listTtys-()[Ljava/lang/String;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-registerObserver-(Landroid/net/INetworkManagementEventObserver;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-removeIdleTimer-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-removeInterfaceAlert-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-removeInterfaceQuota-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-removeRoute-(Ljava/lang/String; Landroid/net/RouteInfo;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-removeSecondaryRoute-(Ljava/lang/String; Landroid/net/RouteInfo;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setAccessPoint-(Landroid/net/wifi/WifiConfiguration; Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setDefaultInterfaceForDns-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setDnsForwarders-([Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setDnsServersForInterface-(Ljava/lang/String; [Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setGlobalAlert-(J)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setInterfaceAlert-(Ljava/lang/String; J)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setInterfaceConfig-(Ljava/lang/String; Landroid/net/InterfaceConfiguration;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setInterfaceDown-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setInterfaceIpv6PrivacyExtensions-(Ljava/lang/String; Z)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setInterfaceQuota-(Ljava/lang/String; J)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setInterfaceThrottle-(Ljava/lang/String; I I)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setInterfaceUp-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setIpForwardingEnabled-(Z)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setUidNetworkRules-(I Z)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-shutdown-()V": [ "android.permission.SHUTDOWN" ], "Lcom/android/server/NetworkManagementService;-startAccessPoint-(Landroid/net/wifi/WifiConfiguration; Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-startReverseTethering-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-startTethering-([Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-stopAccessPoint-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-stopReverseTethering-()V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-stopTethering-()V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-tetherInterface-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-unregisterObserver-(Landroid/net/INetworkManagementEventObserver;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-untetherInterface-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-wifiFirmwareReload-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NsdService;-getMessenger-()Landroid/os/Messenger;": [ "android.permission.INTERNET" ], "Lcom/android/server/NsdService;-setEnabled-(Z)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/SerialService;-getSerialPorts-()[Ljava/lang/String;": [ "android.permission.SERIAL_PORT" ], "Lcom/android/server/SerialService;-openSerialPort-(Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;": [ "android.permission.SERIAL_PORT" ], "Lcom/android/server/StatusBarManagerService;-collapsePanels-()V": [ "android.permission.EXPAND_STATUS_BAR" ], "Lcom/android/server/StatusBarManagerService;-disable-(I Landroid/os/IBinder; Ljava/lang/String;)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/StatusBarManagerService;-expandNotificationsPanel-()V": [ "android.permission.EXPAND_STATUS_BAR" ], "Lcom/android/server/StatusBarManagerService;-expandSettingsPanel-()V": [ "android.permission.EXPAND_STATUS_BAR" ], "Lcom/android/server/StatusBarManagerService;-onClearAllNotifications-()V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/StatusBarManagerService;-onNotificationClear-(Ljava/lang/String; Ljava/lang/String; I)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/StatusBarManagerService;-onNotificationClick-(Ljava/lang/String; Ljava/lang/String; I)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/StatusBarManagerService;-onNotificationError-(Ljava/lang/String; Ljava/lang/String; I I I Ljava/lang/String;)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/StatusBarManagerService;-onPanelRevealed-()V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/StatusBarManagerService;-registerStatusBar-(Lcom/android/internal/statusbar/IStatusBar; Lcom/android/internal/statusbar/StatusBarIconList; Ljava/util/List; Ljava/util/List; [I Ljava/util/List;)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/StatusBarManagerService;-removeIcon-(Ljava/lang/String;)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/StatusBarManagerService;-setIcon-(Ljava/lang/String; Ljava/lang/String; I I Ljava/lang/String;)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/StatusBarManagerService;-setIconVisibility-(Ljava/lang/String; Z)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/StatusBarManagerService;-setImeWindowStatus-(Landroid/os/IBinder; I I)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/StatusBarManagerService;-setSystemUiVisibility-(I I)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/StatusBarManagerService;-topAppWindowChanged-(Z)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/TelephonyRegistry;-listen-(Ljava/lang/String; Lcom/android/internal/telephony/IPhoneStateListener; I Z)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.READ_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyCallForwardingChanged-(Z)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyCallState-(I Ljava/lang/String;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyCellInfo-(Ljava/util/List;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyCellLocation-(Landroid/os/Bundle;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyDataActivity-(I)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyDataConnection-(I Z Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Landroid/net/LinkProperties; Landroid/net/LinkCapabilities; I Z)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyDataConnectionFailed-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyMessageWaitingChanged-(Z)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyOtaspChanged-(I)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyServiceState-(Landroid/telephony/ServiceState;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifySignalStrength-(Landroid/telephony/SignalStrength;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TextServicesManagerService;-setCurrentSpellChecker-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/TextServicesManagerService;-setCurrentSpellCheckerSubtype-(Ljava/lang/String; I)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/TextServicesManagerService;-setSpellCheckerEnabled-(Z)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/ThrottleService;-getByteCount-(Ljava/lang/String; I I I)J": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ThrottleService;-getCliffLevel-(Ljava/lang/String; I)I": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ThrottleService;-getCliffThreshold-(Ljava/lang/String; I)J": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ThrottleService;-getHelpUri-()Ljava/lang/String;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ThrottleService;-getPeriodStartTime-(Ljava/lang/String;)J": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ThrottleService;-getResetTime-(Ljava/lang/String;)J": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ThrottleService;-getThrottle-(Ljava/lang/String;)I": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/UpdateLockService;-acquireUpdateLock-(Landroid/os/IBinder; Ljava/lang/String;)V": [ "android.permission.UPDATE_LOCK" ], "Lcom/android/server/UpdateLockService;-releaseUpdateLock-(Landroid/os/IBinder;)V": [ "android.permission.UPDATE_LOCK" ], "Lcom/android/server/VibratorService;-cancelVibrate-(Landroid/os/IBinder;)V": [ "android.permission.VIBRATE" ], "Lcom/android/server/VibratorService;-vibrate-(J Landroid/os/IBinder;)V": [ "android.permission.VIBRATE" ], "Lcom/android/server/VibratorService;-vibratePattern-([J I Landroid/os/IBinder;)V": [ "android.permission.VIBRATE" ], "Lcom/android/server/WallpaperManagerService;-setDimensionHints-(I I)V": [ "android.permission.SET_WALLPAPER_HINTS" ], "Lcom/android/server/WallpaperManagerService;-setWallpaper-(Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;": [ "android.permission.SET_WALLPAPER" ], "Lcom/android/server/WallpaperManagerService;-setWallpaperComponent-(Landroid/content/ComponentName;)V": [ "android.permission.SET_WALLPAPER_COMPONENT" ], "Lcom/android/server/WifiService;-acquireMulticastLock-(Landroid/os/IBinder; Ljava/lang/String;)V": [ "android.permission.CHANGE_WIFI_MULTICAST_STATE" ], "Lcom/android/server/WifiService;-acquireWifiLock-(Landroid/os/IBinder; I Ljava/lang/String; Landroid/os/WorkSource;)Z": [ "android.permission.WAKE_LOCK" ], "Lcom/android/server/WifiService;-addOrUpdateNetwork-(Landroid/net/wifi/WifiConfiguration;)I": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/WifiService;-addToBlacklist-(Ljava/lang/String;)V": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/WifiService;-captivePortalCheckComplete-()V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/WifiService;-clearBlacklist-()V": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/WifiService;-disableNetwork-(I)Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/WifiService;-disconnect-()V": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/WifiService;-enableNetwork-(I Z)Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/WifiService;-getConfigFile-()Ljava/lang/String;": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/WifiService;-getConfiguredNetworks-()Ljava/util/List;": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/WifiService;-getConnectionInfo-()Landroid/net/wifi/WifiInfo;": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/WifiService;-getDhcpInfo-()Landroid/net/DhcpInfo;": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/WifiService;-getFrequencyBand-()I": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/WifiService;-getScanResults-()Ljava/util/List;": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/WifiService;-getWifiApConfiguration-()Landroid/net/wifi/WifiConfiguration;": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/WifiService;-getWifiApEnabledState-()I": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/WifiService;-getWifiEnabledState-()I": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/WifiService;-getWifiServiceMessenger-()Landroid/os/Messenger;": [ "android.permission.ACCESS_WIFI_STATE", "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/WifiService;-getWifiStateMachineMessenger-()Landroid/os/Messenger;": [ "android.permission.ACCESS_WIFI_STATE", "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/WifiService;-initializeMulticastFiltering-()V": [ "android.permission.CHANGE_WIFI_MULTICAST_STATE" ], "Lcom/android/server/WifiService;-isMulticastEnabled-()Z": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/WifiService;-pingSupplicant-()Z": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/WifiService;-reassociate-()V": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/WifiService;-reconnect-()V": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/WifiService;-releaseMulticastLock-()V": [ "android.permission.CHANGE_WIFI_MULTICAST_STATE" ], "Lcom/android/server/WifiService;-releaseWifiLock-(Landroid/os/IBinder;)Z": [ "android.permission.WAKE_LOCK" ], "Lcom/android/server/WifiService;-removeNetwork-(I)Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/WifiService;-saveConfiguration-()Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/WifiService;-setCountryCode-(Ljava/lang/String; Z)V": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/WifiService;-setFrequencyBand-(I Z)V": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/WifiService;-setWifiApConfiguration-(Landroid/net/wifi/WifiConfiguration;)V": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/WifiService;-setWifiApEnabled-(Landroid/net/wifi/WifiConfiguration; Z)V": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/WifiService;-setWifiEnabled-(Z)Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/WifiService;-startScan-(Z)V": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/WifiService;-startWifi-()V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/WifiService;-stopWifi-()V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/WifiService;-updateWifiLockWorkSource-(Landroid/os/IBinder; Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/accessibility/AccessibilityManagerService$Service;-findAccessibilityNodeInfoByAccessibilityId-(I J I Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback; I J)F": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService$Service;-findAccessibilityNodeInfoByViewId-(I J I I Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback; J)F": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService$Service;-findAccessibilityNodeInfosByText-(I J Ljava/lang/String; I Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback; J)F": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService$Service;-findFocus-(I J I I Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback; J)F": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService$Service;-focusSearch-(I J I I Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback; J)F": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService$Service;-performAccessibilityAction-(I J I Landroid/os/Bundle; I Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback; J)Z": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService$Service;-performGlobalAction-(I)Z": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService;-addAccessibilityInteractionConnection-(Landroid/view/IWindow; Landroid/view/accessibility/IAccessibilityInteractionConnection; I)I": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService;-addClient-(Landroid/view/accessibility/IAccessibilityManagerClient; I)I": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService;-getEnabledAccessibilityServiceList-(I I)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService;-getInstalledAccessibilityServiceList-(I)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService;-interrupt-(I)V": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService;-removeAccessibilityInteractionConnection-(Landroid/view/IWindow;)V": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService;-sendAccessibilityEvent-(Landroid/view/accessibility/AccessibilityEvent; I)Z": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService;-temporaryEnableAccessibilityStateUntilKeyguardRemoved-(Landroid/content/ComponentName; Z)V": [ "temporaryEnableAccessibilityStateUntilKeyguardRemoved" ], "Lcom/android/server/am/ActivityManagerService;-activitySlept-(Landroid/os/IBinder;)V": [ "android.permission.BROADCAST_STICKY", "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-activityStopped-(Landroid/os/IBinder; Landroid/os/Bundle; Landroid/graphics/Bitmap; Ljava/lang/CharSequence;)V": [ "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-bindBackupAgent-(Landroid/content/pm/ApplicationInfo; I)Z": [ "android.permission.BACKUP", "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-bindService-(Landroid/app/IApplicationThread; Landroid/os/IBinder; Landroid/content/Intent; Ljava/lang/String; Landroid/app/IServiceConnection; I I)I": [ "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-clearPendingBackup-()V": [ "android.permission.BACKUP" ], "Lcom/android/server/am/ActivityManagerService;-crashApplication-(I I Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.FORCE_STOP_PACKAGES" ], "Lcom/android/server/am/ActivityManagerService;-dismissKeyguardOnNextActivity-()V": [ "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-dumpHeap-(Ljava/lang/String; I Z Ljava/lang/String; Landroid/os/ParcelFileDescriptor;)Z": [ "android.permission.SET_ACTIVITY_WATCHER" ], "Lcom/android/server/am/ActivityManagerService;-finishHeavyWeightApp-()V": [ "android.permission.FORCE_STOP_PACKAGES", "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-finishReceiver-(Landroid/os/IBinder; I Ljava/lang/String; Landroid/os/Bundle; Z)V": [ "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-forceStopPackage-(Ljava/lang/String; I)V": [ "android.permission.FORCE_STOP_PACKAGES", "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-getContentProviderExternal-(Ljava/lang/String; I Landroid/os/IBinder;)Landroid/app/IActivityManager$ContentProviderHolder;": [ "android.permission.ACCESS_CONTENT_PROVIDERS_EXTERNALLY" ], "Lcom/android/server/am/ActivityManagerService;-getCurrentUser-()Landroid/content/pm/UserInfo;": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/am/ActivityManagerService;-getRecentTasks-(I I I)Ljava/util/List;": [ "android.permission.GET_TASKS" ], "Lcom/android/server/am/ActivityManagerService;-getRunningUserIds-()[I": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/am/ActivityManagerService;-getTaskThumbnails-(I)Landroid/app/ActivityManager$TaskThumbnails;": [ "android.permission.READ_FRAME_BUFFER" ], "Lcom/android/server/am/ActivityManagerService;-getTaskTopThumbnail-(I)Landroid/graphics/Bitmap;": [ "android.permission.READ_FRAME_BUFFER" ], "Lcom/android/server/am/ActivityManagerService;-getTasks-(I I Landroid/app/IThumbnailReceiver;)Ljava/util/List;": [ "android.permission.GET_TASKS" ], "Lcom/android/server/am/ActivityManagerService;-goingToSleep-()V": [ "android.permission.DEVICE_POWER", "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-handleApplicationCrash-(Landroid/os/IBinder; Landroid/app/ApplicationErrorReport$CrashInfo;)V": [ "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-handleApplicationWtf-(Landroid/os/IBinder; Ljava/lang/String; Landroid/app/ApplicationErrorReport$CrashInfo;)Z": [ "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-inputDispatchingTimedOut-(I Z)J": [ "android.permission.FILTER_EVENTS", "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-isUserRunning-(I Z)Z": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/am/ActivityManagerService;-killAllBackgroundProcesses-()V": [ "android.permission.KILL_BACKGROUND_PROCESSES", "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-killBackgroundProcesses-(Ljava/lang/String; I)V": [ "android.permission.KILL_BACKGROUND_PROCESSES" ], "Lcom/android/server/am/ActivityManagerService;-moveActivityTaskToBack-(Landroid/os/IBinder; Z)Z": [ "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-moveTaskBackwards-(I)V": [ "android.permission.REORDER_TASKS" ], "Lcom/android/server/am/ActivityManagerService;-moveTaskToBack-(I)V": [ "android.permission.REORDER_TASKS" ], "Lcom/android/server/am/ActivityManagerService;-moveTaskToFront-(I I Landroid/os/Bundle;)V": [ "android.permission.REORDER_TASKS", "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-navigateUpTo-(Landroid/os/IBinder; Landroid/content/Intent; I Landroid/content/Intent;)Z": [ "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-profileControl-(Ljava/lang/String; I Z Ljava/lang/String; Landroid/os/ParcelFileDescriptor; I)Z": [ "android.permission.SET_ACTIVITY_WATCHER" ], "Lcom/android/server/am/ActivityManagerService;-registerProcessObserver-(Landroid/app/IProcessObserver;)V": [ "android.permission.SET_ACTIVITY_WATCHER" ], "Lcom/android/server/am/ActivityManagerService;-registerUserSwitchObserver-(Landroid/app/IUserSwitchObserver;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/am/ActivityManagerService;-removeContentProviderExternal-(Ljava/lang/String; Landroid/os/IBinder;)V": [ "android.permission.ACCESS_CONTENT_PROVIDERS_EXTERNALLY", "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-removeSubTask-(I I)Z": [ "android.permission.REMOVE_TASKS" ], "Lcom/android/server/am/ActivityManagerService;-removeTask-(I I)Z": [ "android.permission.REMOVE_TASKS" ], "Lcom/android/server/am/ActivityManagerService;-resumeAppSwitches-()V": [ "android.permission.STOP_APP_SWITCHES" ], "Lcom/android/server/am/ActivityManagerService;-setActivityController-(Landroid/app/IActivityController;)V": [ "android.permission.SET_ACTIVITY_WATCHER" ], "Lcom/android/server/am/ActivityManagerService;-setAlwaysFinish-(Z)V": [ "android.permission.SET_ALWAYS_FINISH" ], "Lcom/android/server/am/ActivityManagerService;-setDebugApp-(Ljava/lang/String; Z Z)V": [ "android.permission.SET_DEBUG_APP" ], "Lcom/android/server/am/ActivityManagerService;-setFrontActivityScreenCompatMode-(I)V": [ "android.permission.SET_SCREEN_COMPATIBILITY", "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-setLockScreenShown-(Z)V": [ "android.permission.DEVICE_POWER", "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-setPackageAskScreenCompat-(Ljava/lang/String; Z)V": [ "android.permission.SET_SCREEN_COMPATIBILITY" ], "Lcom/android/server/am/ActivityManagerService;-setPackageScreenCompatMode-(Ljava/lang/String; I)V": [ "android.permission.SET_SCREEN_COMPATIBILITY", "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-setProcessForeground-(Landroid/os/IBinder; I Z)V": [ "android.permission.SET_PROCESS_LIMIT", "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-setProcessLimit-(I)V": [ "android.permission.SET_PROCESS_LIMIT", "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-setRequestedOrientation-(Landroid/os/IBinder; I)V": [ "android.permission.BROADCAST_STICKY", "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-shutdown-(I)Z": [ "android.permission.SHUTDOWN", "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-signalPersistentProcesses-(I)V": [ "android.permission.SIGNAL_PERSISTENT_PROCESSES" ], "Lcom/android/server/am/ActivityManagerService;-startActivities-(Landroid/app/IApplicationThread; [Landroid/content/Intent; [Ljava/lang/String; Landroid/os/IBinder; Landroid/os/Bundle; I)I": [ "android.permission.SET_DEBUG_APP" ], "Lcom/android/server/am/ActivityManagerService;-startActivity-(Landroid/app/IApplicationThread; Landroid/content/Intent; Ljava/lang/String; Landroid/os/IBinder; Ljava/lang/String; I I Ljava/lang/String; Landroid/os/ParcelFileDescriptor; Landroid/os/Bundle;)I": [ "android.permission.SET_DEBUG_APP" ], "Lcom/android/server/am/ActivityManagerService;-startActivityAndWait-(Landroid/app/IApplicationThread; Landroid/content/Intent; Ljava/lang/String; Landroid/os/IBinder; Ljava/lang/String; I I Ljava/lang/String; Landroid/os/ParcelFileDescriptor; Landroid/os/Bundle; I)Landroid/app/IActivityManager$WaitResult;": [ "android.permission.SET_DEBUG_APP" ], "Lcom/android/server/am/ActivityManagerService;-startActivityAsUser-(Landroid/app/IApplicationThread; Landroid/content/Intent; Ljava/lang/String; Landroid/os/IBinder; Ljava/lang/String; I I Ljava/lang/String; Landroid/os/ParcelFileDescriptor; Landroid/os/Bundle; I)I": [ "android.permission.SET_DEBUG_APP" ], "Lcom/android/server/am/ActivityManagerService;-startActivityWithConfig-(Landroid/app/IApplicationThread; Landroid/content/Intent; Ljava/lang/String; Landroid/os/IBinder; Ljava/lang/String; I I Landroid/content/res/Configuration; Landroid/os/Bundle; I)I": [ "android.permission.SET_DEBUG_APP" ], "Lcom/android/server/am/ActivityManagerService;-startRunning-(Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.BROADCAST_STICKY", "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-stopAppSwitches-()V": [ "android.permission.START_ANY_ACTIVITY", "android.permission.STOP_APP_SWITCHES" ], "Lcom/android/server/am/ActivityManagerService;-stopUser-(I Landroid/app/IStopUserCallback;)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/am/ActivityManagerService;-switchUser-(I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/am/ActivityManagerService;-unbroadcastIntent-(Landroid/app/IApplicationThread; Landroid/content/Intent; I)V": [ "android.permission.BROADCAST_STICKY" ], "Lcom/android/server/am/ActivityManagerService;-unhandledBack-()V": [ "android.permission.FORCE_BACK" ], "Lcom/android/server/am/ActivityManagerService;-unregisterReceiver-(Landroid/content/IIntentReceiver;)V": [ "android.permission.BROADCAST_STICKY", "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-updateConfiguration-(Landroid/content/res/Configuration;)V": [ "android.permission.CHANGE_CONFIGURATION" ], "Lcom/android/server/am/ActivityManagerService;-updatePersistentConfiguration-(Landroid/content/res/Configuration;)V": [ "android.permission.CHANGE_CONFIGURATION" ], "Lcom/android/server/am/ActivityManagerService;-wakingUp-()V": [ "android.permission.DEVICE_POWER", "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/BatteryStatsService;-getAwakeTimeBattery-()J": [ "android.permission.BATTERY_STATS" ], "Lcom/android/server/am/BatteryStatsService;-getAwakeTimePlugged-()J": [ "android.permission.BATTERY_STATS" ], "Lcom/android/server/am/BatteryStatsService;-getStatistics-()[B": [ "android.permission.BATTERY_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteBluetoothOff-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteBluetoothOn-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteFullWifiLockAcquired-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteFullWifiLockAcquiredFromSource-(Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteFullWifiLockReleased-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteFullWifiLockReleasedFromSource-(Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteInputEvent-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteNetworkInterfaceType-(Ljava/lang/String; I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-notePhoneDataConnectionState-(I Z)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-notePhoneOff-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-notePhoneOn-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-notePhoneSignalStrength-(Landroid/telephony/SignalStrength;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-notePhoneState-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteScreenBrightness-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteScreenOff-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteScreenOn-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStartGps-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStartSensor-(I I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStartWakelock-(I I Ljava/lang/String; I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStartWakelockFromSource-(Landroid/os/WorkSource; I Ljava/lang/String; I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStopGps-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStopSensor-(I I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStopWakelock-(I I Ljava/lang/String; I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStopWakelockFromSource-(Landroid/os/WorkSource; I Ljava/lang/String; I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteUserActivity-(I I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiMulticastDisabled-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiMulticastDisabledFromSource-(Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiMulticastEnabled-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiMulticastEnabledFromSource-(Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiOff-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiOn-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiRunning-(Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiRunningChanged-(Landroid/os/WorkSource; Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiScanStarted-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiScanStartedFromSource-(Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiScanStopped-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiScanStoppedFromSource-(Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiStopped-(Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-setBatteryState-(I I I I I I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/UsageStatsService;-getAllPkgUsageStats-()[Lcom/android/internal/os/PkgUsageStats;": [ "android.permission.PACKAGE_USAGE_STATS" ], "Lcom/android/server/am/UsageStatsService;-getPkgUsageStats-(Landroid/content/ComponentName;)Lcom/android/internal/os/PkgUsageStats;": [ "android.permission.PACKAGE_USAGE_STATS" ], "Lcom/android/server/am/UsageStatsService;-noteLaunchTime-(Landroid/content/ComponentName; I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/UsageStatsService;-notePauseComponent-(Landroid/content/ComponentName;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/UsageStatsService;-noteResumeComponent-(Landroid/content/ComponentName;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/connectivity/Tethering;-interfaceAdded-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/connectivity/Tethering;-interfaceLinkStateChanged-(Ljava/lang/String; Z)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/connectivity/Tethering;-interfaceStatusChanged-(Ljava/lang/String; Z)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/display/DisplayManagerService;-connectWifiDisplay-(Ljava/lang/String;)V": [ "android.permission.CONFIGURE_WIFI_DISPLAY" ], "Lcom/android/server/display/DisplayManagerService;-forgetWifiDisplay-(Ljava/lang/String;)V": [ "android.permission.CONFIGURE_WIFI_DISPLAY" ], "Lcom/android/server/display/DisplayManagerService;-renameWifiDisplay-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.CONFIGURE_WIFI_DISPLAY" ], "Lcom/android/server/dreams/DreamManagerService;-awaken-()V": [ "android.permission.WRITE_DREAM_STATE" ], "Lcom/android/server/dreams/DreamManagerService;-dream-()V": [ "android.permission.WRITE_DREAM_STATE" ], "Lcom/android/server/dreams/DreamManagerService;-getDefaultDreamComponent-()Landroid/content/ComponentName;": [ "android.permission.READ_DREAM_STATE" ], "Lcom/android/server/dreams/DreamManagerService;-getDreamComponents-()[Landroid/content/ComponentName;": [ "android.permission.READ_DREAM_STATE" ], "Lcom/android/server/dreams/DreamManagerService;-isDreaming-()Z": [ "android.permission.READ_DREAM_STATE" ], "Lcom/android/server/dreams/DreamManagerService;-setDreamComponents-([Landroid/content/ComponentName;)V": [ "android.permission.WRITE_DREAM_STATE" ], "Lcom/android/server/dreams/DreamManagerService;-testDream-(Landroid/content/ComponentName;)V": [ "android.permission.WRITE_DREAM_STATE" ], "Lcom/android/server/input/InputManagerService;-addKeyboardLayoutForInputDevice-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.SET_KEYBOARD_LAYOUT" ], "Lcom/android/server/input/InputManagerService;-removeKeyboardLayoutForInputDevice-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.SET_KEYBOARD_LAYOUT" ], "Lcom/android/server/input/InputManagerService;-setCurrentKeyboardLayoutForInputDevice-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.SET_KEYBOARD_LAYOUT" ], "Lcom/android/server/input/InputManagerService;-tryPointerSpeed-(I)V": [ "android.permission.SET_POINTER_SPEED" ], "Lcom/android/server/net/NetworkPolicyManagerService;-getNetworkPolicies-()[Landroid/net/NetworkPolicy;": [ "android.permission.MANAGE_NETWORK_POLICY", "android.permission.READ_PHONE_STATE" ], "Lcom/android/server/net/NetworkPolicyManagerService;-getNetworkQuotaInfo-(Landroid/net/NetworkState;)Landroid/net/NetworkQuotaInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/net/NetworkPolicyManagerService;-getRestrictBackground-()Z": [ "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-getUidPolicy-(I)I": [ "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-getUidsWithPolicy-(I)[I": [ "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-isUidForeground-(I)Z": [ "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-registerListener-(Landroid/net/INetworkPolicyListener;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/net/NetworkPolicyManagerService;-setNetworkPolicies-([Landroid/net/NetworkPolicy;)V": [ "android.permission.CONNECTIVITY_INTERNAL", "android.permission.MANAGE_NETWORK_POLICY", "android.permission.READ_NETWORK_USAGE_HISTORY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-setRestrictBackground-(Z)V": [ "android.permission.CONNECTIVITY_INTERNAL", "android.permission.MANAGE_NETWORK_POLICY", "android.permission.MODIFY_NETWORK_ACCOUNTING", "android.permission.READ_NETWORK_USAGE_HISTORY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-setUidPolicy-(I I)V": [ "android.permission.CONNECTIVITY_INTERNAL", "android.permission.MANAGE_NETWORK_POLICY", "android.permission.MODIFY_NETWORK_ACCOUNTING" ], "Lcom/android/server/net/NetworkPolicyManagerService;-snoozeLimit-(Landroid/net/NetworkTemplate;)V": [ "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-unregisterListener-(Landroid/net/INetworkPolicyListener;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/net/NetworkStatsService;-advisePersistThreshold-(J)V": [ "android.permission.CONNECTIVITY_INTERNAL", "android.permission.MODIFY_NETWORK_ACCOUNTING" ], "Lcom/android/server/net/NetworkStatsService;-forceUpdate-()V": [ "android.permission.READ_NETWORK_USAGE_HISTORY" ], "Lcom/android/server/net/NetworkStatsService;-getDataLayerSnapshotForUid-(I)Landroid/net/NetworkStats;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/net/NetworkStatsService;-getNetworkTotalBytes-(Landroid/net/NetworkTemplate; J J)J": [ "android.permission.READ_NETWORK_USAGE_HISTORY" ], "Lcom/android/server/net/NetworkStatsService;-incrementOperationCount-(I I I)V": [ "android.permission.MODIFY_NETWORK_ACCOUNTING" ], "Lcom/android/server/net/NetworkStatsService;-openSession-()Landroid/net/INetworkStatsSession;": [ "android.permission.READ_NETWORK_USAGE_HISTORY" ], "Lcom/android/server/net/NetworkStatsService;-setUidForeground-(I Z)V": [ "android.permission.MODIFY_NETWORK_ACCOUNTING" ], "Lcom/android/server/pm/PackageManagerService;-addPreferredActivity-(Landroid/content/IntentFilter; I [Landroid/content/ComponentName; Landroid/content/ComponentName; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.SET_PREFERRED_APPLICATIONS" ], "Lcom/android/server/pm/PackageManagerService;-clearApplicationUserData-(Ljava/lang/String; Landroid/content/pm/IPackageDataObserver; I)V": [ "android.permission.CLEAR_APP_USER_DATA", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-clearPackagePreferredActivities-(Ljava/lang/String;)V": [ "android.permission.SET_PREFERRED_APPLICATIONS" ], "Lcom/android/server/pm/PackageManagerService;-deleteApplicationCacheFiles-(Ljava/lang/String; Landroid/content/pm/IPackageDataObserver;)V": [ "android.permission.DELETE_CACHE_FILES" ], "Lcom/android/server/pm/PackageManagerService;-deletePackage-(Ljava/lang/String; Landroid/content/pm/IPackageDeleteObserver; I)V": [ "android.permission.DELETE_PACKAGES" ], "Lcom/android/server/pm/PackageManagerService;-extendVerificationTimeout-(I I J)V": [ "android.permission.PACKAGE_VERIFICATION_AGENT" ], "Lcom/android/server/pm/PackageManagerService;-freeStorage-(J Landroid/content/IntentSender;)V": [ "android.permission.CLEAR_APP_CACHE" ], "Lcom/android/server/pm/PackageManagerService;-freeStorageAndNotify-(J Landroid/content/pm/IPackageDataObserver;)V": [ "android.permission.CLEAR_APP_CACHE" ], "Lcom/android/server/pm/PackageManagerService;-getActivityInfo-(Landroid/content/ComponentName; I I)Landroid/content/pm/ActivityInfo;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getApplicationEnabledSetting-(Ljava/lang/String; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getApplicationInfo-(Ljava/lang/String; I I)Landroid/content/pm/ApplicationInfo;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getComponentEnabledSetting-(Landroid/content/ComponentName; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getInstalledPackages-(I Ljava/lang/String; I)Landroid/content/pm/ParceledListSlice;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getPackageInfo-(Ljava/lang/String; I I)Landroid/content/pm/PackageInfo;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getPackageSizeInfo-(Ljava/lang/String; I Landroid/content/pm/IPackageStatsObserver;)V": [ "android.permission.GET_PACKAGE_SIZE" ], "Lcom/android/server/pm/PackageManagerService;-getPackageUid-(Ljava/lang/String; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getProviderInfo-(Landroid/content/ComponentName; I I)Landroid/content/pm/ProviderInfo;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getReceiverInfo-(Landroid/content/ComponentName; I I)Landroid/content/pm/ActivityInfo;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getServiceInfo-(Landroid/content/ComponentName; I I)Landroid/content/pm/ServiceInfo;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getVerifierDeviceIdentity-()Landroid/content/pm/VerifierDeviceIdentity;": [ "android.permission.PACKAGE_VERIFICATION_AGENT" ], "Lcom/android/server/pm/PackageManagerService;-grantPermission-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.GRANT_REVOKE_PERMISSIONS" ], "Lcom/android/server/pm/PackageManagerService;-installExistingPackage-(Ljava/lang/String;)I": [ "android.permission.INSTALL_PACKAGES" ], "Lcom/android/server/pm/PackageManagerService;-installPackage-(Landroid/net/Uri; Landroid/content/pm/IPackageInstallObserver; I Ljava/lang/String;)V": [ "android.permission.INSTALL_PACKAGES" ], "Lcom/android/server/pm/PackageManagerService;-installPackageWithVerification-(Landroid/net/Uri; Landroid/content/pm/IPackageInstallObserver; I Ljava/lang/String; Landroid/net/Uri; Landroid/content/pm/ManifestDigest; Landroid/content/pm/ContainerEncryptionParams;)V": [ "android.permission.INSTALL_PACKAGES" ], "Lcom/android/server/pm/PackageManagerService;-installPackageWithVerificationAndEncryption-(Landroid/net/Uri; Landroid/content/pm/IPackageInstallObserver; I Ljava/lang/String; Landroid/content/pm/VerificationParams; Landroid/content/pm/ContainerEncryptionParams;)V": [ "android.permission.INSTALL_PACKAGES" ], "Lcom/android/server/pm/PackageManagerService;-movePackage-(Ljava/lang/String; Landroid/content/pm/IPackageMoveObserver; I)V": [ "android.permission.MOVE_PACKAGE" ], "Lcom/android/server/pm/PackageManagerService;-queryIntentActivities-(Landroid/content/Intent; Ljava/lang/String; I I)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-queryIntentActivityOptions-(Landroid/content/ComponentName; [Landroid/content/Intent; [Ljava/lang/String; Landroid/content/Intent; Ljava/lang/String; I I)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-queryIntentReceivers-(Landroid/content/Intent; Ljava/lang/String; I I)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-queryIntentServices-(Landroid/content/Intent; Ljava/lang/String; I I)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-replacePreferredActivity-(Landroid/content/IntentFilter; I [Landroid/content/ComponentName; Landroid/content/ComponentName;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.SET_PREFERRED_APPLICATIONS" ], "Lcom/android/server/pm/PackageManagerService;-resolveIntent-(Landroid/content/Intent; Ljava/lang/String; I I)Landroid/content/pm/ResolveInfo;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-resolveService-(Landroid/content/Intent; Ljava/lang/String; I I)Landroid/content/pm/ResolveInfo;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-revokePermission-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.GRANT_REVOKE_PERMISSIONS" ], "Lcom/android/server/pm/PackageManagerService;-setApplicationEnabledSetting-(Ljava/lang/String; I I I)V": [ "android.permission.CHANGE_COMPONENT_ENABLED_STATE", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-setComponentEnabledSetting-(Landroid/content/ComponentName; I I I)V": [ "android.permission.CHANGE_COMPONENT_ENABLED_STATE", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-setInstallLocation-(I)Z": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/pm/PackageManagerService;-setPackageStoppedState-(Ljava/lang/String; Z I)V": [ "android.permission.CHANGE_COMPONENT_ENABLED_STATE", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-setPermissionEnforced-(Ljava/lang/String; Z)V": [ "android.permission.GRANT_REVOKE_PERMISSIONS" ], "Lcom/android/server/pm/PackageManagerService;-verifyPendingInstall-(I I)V": [ "android.permission.PACKAGE_VERIFICATION_AGENT" ], "Lcom/android/server/power/PowerManagerService;-acquireWakeLock-(Landroid/os/IBinder; I Ljava/lang/String; Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS", "android.permission.WAKE_LOCK" ], "Lcom/android/server/power/PowerManagerService;-crash-(Ljava/lang/String;)V": [ "android.permission.REBOOT" ], "Lcom/android/server/power/PowerManagerService;-goToSleep-(J I)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/power/PowerManagerService;-nap-(J)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/power/PowerManagerService;-reboot-(Z Ljava/lang/String; Z)V": [ "android.permission.REBOOT" ], "Lcom/android/server/power/PowerManagerService;-releaseWakeLock-(Landroid/os/IBinder; I)V": [ "android.permission.WAKE_LOCK" ], "Lcom/android/server/power/PowerManagerService;-setAttentionLight-(Z I)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/power/PowerManagerService;-setStayOnSetting-(I)V": [ "android.permission.WRITE_SETTINGS" ], "Lcom/android/server/power/PowerManagerService;-setTemporaryScreenAutoBrightnessAdjustmentSettingOverride-(F)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/power/PowerManagerService;-setTemporaryScreenBrightnessSettingOverride-(I)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/power/PowerManagerService;-shutdown-(Z Z)V": [ "android.permission.REBOOT" ], "Lcom/android/server/power/PowerManagerService;-updateWakeLockWorkSource-(Landroid/os/IBinder; Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS", "android.permission.WAKE_LOCK" ], "Lcom/android/server/power/PowerManagerService;-userActivity-(J I I)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/power/PowerManagerService;-wakeUp-(J)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/sip/SipService;-close-(Ljava/lang/String;)V": [ "android.permission.USE_SIP" ], "Lcom/android/server/sip/SipService;-createSession-(Landroid/net/sip/SipProfile; Landroid/net/sip/ISipSessionListener;)Landroid/net/sip/ISipSession;": [ "android.permission.USE_SIP" ], "Lcom/android/server/sip/SipService;-getListOfProfiles-()[Landroid/net/sip/SipProfile;": [ "android.permission.USE_SIP" ], "Lcom/android/server/sip/SipService;-getPendingSession-(Ljava/lang/String;)Landroid/net/sip/ISipSession;": [ "android.permission.USE_SIP" ], "Lcom/android/server/sip/SipService;-isOpened-(Ljava/lang/String;)Z": [ "android.permission.USE_SIP" ], "Lcom/android/server/sip/SipService;-isRegistered-(Ljava/lang/String;)Z": [ "android.permission.USE_SIP" ], "Lcom/android/server/sip/SipService;-open-(Landroid/net/sip/SipProfile;)V": [ "android.permission.USE_SIP" ], "Lcom/android/server/sip/SipService;-open3-(Landroid/net/sip/SipProfile; Landroid/app/PendingIntent; Landroid/net/sip/ISipSessionListener;)V": [ "android.permission.USE_SIP" ], "Lcom/android/server/sip/SipService;-setRegistrationListener-(Ljava/lang/String; Landroid/net/sip/ISipSessionListener;)V": [ "android.permission.USE_SIP" ], "Lcom/android/server/usb/UsbService;-allowUsbDebugging-(Z Ljava/lang/String;)V": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-clearDefaults-(Ljava/lang/String; I)V": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-denyUsbDebugging-()V": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-grantAccessoryPermission-(Landroid/hardware/usb/UsbAccessory; I)V": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-grantDevicePermission-(Landroid/hardware/usb/UsbDevice; I)V": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-hasDefaults-(Ljava/lang/String; I)Z": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-setAccessoryPackage-(Landroid/hardware/usb/UsbAccessory; Ljava/lang/String; I)V": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-setCurrentFunction-(Ljava/lang/String; Z)V": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-setDevicePackage-(Landroid/hardware/usb/UsbDevice; Ljava/lang/String; I)V": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-setMassStorageBackingFile-(Ljava/lang/String;)V": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/wm/WindowManagerService;-addAppToken-(I I Landroid/view/IApplicationToken; I I Z Z)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-addDisplayContentChangeListener-(I Landroid/view/IDisplayContentChangeListener;)V": [ "android.permission.RETRIEVE_WINDOW_INFO" ], "Lcom/android/server/wm/WindowManagerService;-addWindowToken-(Landroid/os/IBinder; I)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-disableKeyguard-(Landroid/os/IBinder; Ljava/lang/String;)V": [ "android.permission.DISABLE_KEYGUARD" ], "Lcom/android/server/wm/WindowManagerService;-dismissKeyguard-()V": [ "android.permission.DISABLE_KEYGUARD" ], "Lcom/android/server/wm/WindowManagerService;-executeAppTransition-()V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-exitKeyguardSecurely-(Landroid/view/IOnKeyguardExitResult;)V": [ "android.permission.DISABLE_KEYGUARD" ], "Lcom/android/server/wm/WindowManagerService;-freezeRotation-(I)V": [ "android.permission.SET_ORIENTATION" ], "Lcom/android/server/wm/WindowManagerService;-getFocusedWindowToken-()Landroid/os/IBinder;": [ "android.permission.RETRIEVE_WINDOW_INFO" ], "Lcom/android/server/wm/WindowManagerService;-getVisibleWindowsForDisplay-(I Ljava/util/List;)V": [ "android.permission.RETRIEVE_WINDOW_INFO" ], "Lcom/android/server/wm/WindowManagerService;-getWindowCompatibilityScale-(Landroid/os/IBinder;)F": [ "android.permission.RETRIEVE_WINDOW_INFO" ], "Lcom/android/server/wm/WindowManagerService;-getWindowInfo-(Landroid/os/IBinder;)Landroid/view/WindowInfo;": [ "android.permission.RETRIEVE_WINDOW_INFO" ], "Lcom/android/server/wm/WindowManagerService;-isViewServerRunning-()Z": [ "android.permission.DUMP" ], "Lcom/android/server/wm/WindowManagerService;-magnifyDisplay-(I F F F)V": [ "android.permission.MAGNIFY_DISPLAY" ], "Lcom/android/server/wm/WindowManagerService;-moveAppToken-(I Landroid/os/IBinder;)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-moveAppTokensToBottom-(Ljava/util/List;)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-moveAppTokensToTop-(Ljava/util/List;)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-pauseKeyDispatching-(Landroid/os/IBinder;)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-prepareAppTransition-(I Z)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-reenableKeyguard-(Landroid/os/IBinder;)V": [ "android.permission.DISABLE_KEYGUARD" ], "Lcom/android/server/wm/WindowManagerService;-removeAppToken-(Landroid/os/IBinder;)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-removeDisplayContentChangeListener-(I Landroid/view/IDisplayContentChangeListener;)V": [ "android.permission.RETRIEVE_WINDOW_INFO" ], "Lcom/android/server/wm/WindowManagerService;-removeWindowToken-(Landroid/os/IBinder;)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-resumeKeyDispatching-(Landroid/os/IBinder;)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-screenshotApplications-(Landroid/os/IBinder; I I I)Landroid/graphics/Bitmap;": [ "android.permission.READ_FRAME_BUFFER" ], "Lcom/android/server/wm/WindowManagerService;-setAnimationScale-(I F)V": [ "android.permission.SET_ANIMATION_SCALE" ], "Lcom/android/server/wm/WindowManagerService;-setAnimationScales-([F)V": [ "android.permission.SET_ANIMATION_SCALE" ], "Lcom/android/server/wm/WindowManagerService;-setAppGroupId-(Landroid/os/IBinder; I)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-setAppOrientation-(Landroid/view/IApplicationToken; I)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-setAppStartingWindow-(Landroid/os/IBinder; Ljava/lang/String; I Landroid/content/res/CompatibilityInfo; Ljava/lang/CharSequence; I I I Landroid/os/IBinder; Z)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-setAppVisibility-(Landroid/os/IBinder; Z)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-setAppWillBeHidden-(Landroid/os/IBinder;)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-setEventDispatching-(Z)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-setFocusedApp-(Landroid/os/IBinder; Z)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-setInputFilter-(Landroid/view/IInputFilter;)V": [ "android.permission.FILTER_EVENTS" ], "Lcom/android/server/wm/WindowManagerService;-setNewConfiguration-(Landroid/content/res/Configuration;)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-showAssistant-()V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/wm/WindowManagerService;-startAppFreezingScreen-(Landroid/os/IBinder; I)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-startFreezingScreen-(I I)V": [ "android.permission.FREEZE_SCREEN" ], "Lcom/android/server/wm/WindowManagerService;-startViewServer-(I)Z": [ "android.permission.DUMP" ], "Lcom/android/server/wm/WindowManagerService;-statusBarVisibilityChanged-(I)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/wm/WindowManagerService;-stopAppFreezingScreen-(Landroid/os/IBinder; Z)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-stopFreezingScreen-()V": [ "android.permission.FREEZE_SCREEN" ], "Lcom/android/server/wm/WindowManagerService;-stopViewServer-()Z": [ "android.permission.DUMP" ], "Lcom/android/server/wm/WindowManagerService;-thawRotation-()V": [ "android.permission.SET_ORIENTATION" ], "Lcom/android/server/wm/WindowManagerService;-updateOrientationFromAppTokens-(Landroid/content/res/Configuration; Landroid/os/IBinder;)Landroid/content/res/Configuration;": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/ti/server/StubFmService;-resumeFm-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxChangeAudioTarget-(I I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxChangeDigitalTargetConfiguration-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxCompleteScan_nb-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxDisable-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxDisableAudioRouting-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxDisableRds-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxDisableRds_nb-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxEnable-()Z": [ "ti.permission.FMRX", "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxEnableAudioRouting-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxEnableRds-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxEnableRds_nb-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetBand-()I": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetBand_nb-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetChannelSpacing-()I": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetChannelSpacing_nb-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetCompleteScanProgress-()I": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetCompleteScanProgress_nb-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetDeEmphasisFilter-()I": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetDeEmphasisFilter_nb-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetFMState-()I": [ "ti.permission.FMRX" ], "Lcom/ti/server/StubFmService;-rxGetFwVersion-()D": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetMonoStereoMode-()I": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetMonoStereoMode_nb-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetMuteMode-()I": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetMuteMode_nb-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetRdsAfSwitchMode-()I": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetRdsAfSwitchMode_nb-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetRdsGroupMask-()J": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetRdsGroupMask_nb-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetRdsSystem-()I": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetRdsSystem_nb-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetRfDependentMuteMode-()I": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetRfDependentMuteMode_nb-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetRssi-()I": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetRssiThreshold-()I": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetRssiThreshold_nb-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetRssi_nb-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetTunedFrequency-()I": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetTunedFrequency_nb-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetVolume-()I": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetVolume_nb-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxIsEnabled-()Z": [ "ti.permission.FMRX" ], "Lcom/ti/server/StubFmService;-rxIsFMPaused-()Z": [ "ti.permission.FMRX" ], "Lcom/ti/server/StubFmService;-rxIsValidChannel-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxSeek_nb-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxSetBand-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxSetBand_nb-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxSetChannelSpacing-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxSetChannelSpacing_nb-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxSetDeEmphasisFilter-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxSetDeEmphasisFilter_nb-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxSetMonoStereoMode-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxSetMonoStereoMode_nb-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxSetMuteMode-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxSetMuteMode_nb-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxSetRdsAfSwitchMode-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxSetRdsAfSwitchMode_nb-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxSetRdsGroupMask-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxSetRdsGroupMask_nb-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxSetRdsSystem-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxSetRdsSystem_nb-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxSetRfDependentMuteMode-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxSetRfDependentMuteMode_nb-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxSetRssiThreshold-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxSetRssiThreshold_nb-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxSetVolume-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxStopCompleteScan-()I": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxStopCompleteScan_nb-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxStopSeek-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxStopSeek_nb-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxTune_nb-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-txChangeAudioSource-(I I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-txChangeDigitalSourceConfiguration-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-txDisable-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-txDisableRds-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-txEnable-()Z": [ "ti.permission.FMRX", "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-txEnableRds-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-txGetFMState-()I": [ "ti.permission.FMRX" ], "Lcom/ti/server/StubFmService;-txSetMonoStereoMode-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-txSetMuteMode-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-txSetPowerLevel-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-txSetPreEmphasisFilter-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-txSetRdsAfCode-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-txSetRdsECC-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-txSetRdsMusicSpeechFlag-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-txSetRdsPiCode-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-txSetRdsPsDisplayMode-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-txSetRdsPsScrollSpeed-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-txSetRdsPtyCode-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-txSetRdsTextPsMsg-(Ljava/lang/String;)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-txSetRdsTextRepertoire-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-txSetRdsTextRtMsg-(I Ljava/lang/String; I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-txSetRdsTrafficCodes-(I I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-txSetRdsTransmissionMode-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-txSetRdsTransmittedGroupsMask-(J)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-txStartTransmission-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-txStopTransmission-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-txTune-(J)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-txWriteRdsRawData-(Ljava/lang/String;)Z": [ "ti.permission.FMRX_ADMIN" ], "Landroid/accounts/AccountAuthenticatorActivity;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/accounts/AccountAuthenticatorActivity;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/accounts/AccountAuthenticatorActivity;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/accounts/AccountAuthenticatorActivity;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/accounts/AccountAuthenticatorActivity;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/accounts/AccountAuthenticatorActivity;-unregisterReceiver-(Landroid/content/BroadcastReceiver;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/accounts/AccountManager;-addAccountExplicitly-(Landroid/accounts/Account; Ljava/lang/String; Landroid/os/Bundle;)Z": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Landroid/accounts/AccountManager;-addOnAccountsUpdatedListener-(Landroid/accounts/OnAccountsUpdateListener; Landroid/os/Handler; Z)V": [ "android.permission.GET_ACCOUNTS" ], "Landroid/accounts/AccountManager;-clearPassword-(Landroid/accounts/Account;)V": [ "android.permission.MANAGE_ACCOUNTS" ], "Landroid/accounts/AccountManager;-getAccounts-()[Landroid/accounts/Account;": [ "android.permission.GET_ACCOUNTS" ], "Landroid/accounts/AccountManager;-getAccountsByType-(Ljava/lang/String;)[Landroid/accounts/Account;": [ "android.permission.GET_ACCOUNTS" ], "Landroid/accounts/AccountManager;-getPassword-(Landroid/accounts/Account;)Ljava/lang/String;": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Landroid/accounts/AccountManager;-getUserData-(Landroid/accounts/Account; Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Landroid/accounts/AccountManager;-invalidateAuthToken-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.MANAGE_ACCOUNTS", "android.permission.USE_CREDENTIALS" ], "Landroid/accounts/AccountManager;-peekAuthToken-(Landroid/accounts/Account; Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Landroid/accounts/AccountManager;-removeOnAccountsUpdatedListener-(Landroid/accounts/OnAccountsUpdateListener;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/accounts/AccountManager;-setAuthToken-(Landroid/accounts/Account; Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Landroid/accounts/AccountManager;-setPassword-(Landroid/accounts/Account; Ljava/lang/String;)V": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Landroid/accounts/AccountManager;-setUserData-(Landroid/accounts/Account; Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Landroid/app/Activity;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/Activity;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/Activity;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/Activity;-setRequestedOrientation-(I)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/Activity;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/Activity;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/Activity;-unregisterReceiver-(Landroid/content/BroadcastReceiver;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ActivityGroup;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/ActivityGroup;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ActivityGroup;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ActivityGroup;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/ActivityGroup;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/ActivityGroup;-unregisterReceiver-(Landroid/content/BroadcastReceiver;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ActivityManager;-getRecentTasks-(I I)Ljava/util/List;": [ "android.permission.GET_TASKS" ], "Landroid/app/ActivityManager;-getRunningTasks-(I)Ljava/util/List;": [ "android.permission.GET_TASKS" ], "Landroid/app/ActivityManager;-killBackgroundProcesses-(Ljava/lang/String;)V": [ "android.permission.KILL_BACKGROUND_PROCESSES" ], "Landroid/app/ActivityManager;-moveTaskToFront-(I I)V": [ "android.permission.REORDER_TASKS" ], "Landroid/app/ActivityManager;-moveTaskToFront-(I I Landroid/os/Bundle;)V": [ "android.permission.REORDER_TASKS" ], "Landroid/app/ActivityManager;-restartPackage-(Ljava/lang/String;)V": [ "android.permission.KILL_BACKGROUND_PROCESSES" ], "Landroid/app/AlarmManager;-setTimeZone-(Ljava/lang/String;)V": [ "android.permission.SET_TIME_ZONE" ], "Landroid/app/AliasActivity;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/AliasActivity;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/AliasActivity;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/AliasActivity;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/AliasActivity;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/AliasActivity;-unregisterReceiver-(Landroid/content/BroadcastReceiver;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/Application;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/Application;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/Application;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/Application;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/Application;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/Application;-unregisterReceiver-(Landroid/content/BroadcastReceiver;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ExpandableListActivity;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/ExpandableListActivity;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ExpandableListActivity;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ExpandableListActivity;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/ExpandableListActivity;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/ExpandableListActivity;-unregisterReceiver-(Landroid/content/BroadcastReceiver;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/KeyguardManager$KeyguardLock;-disableKeyguard-()V": [ "android.permission.DISABLE_KEYGUARD" ], "Landroid/app/KeyguardManager$KeyguardLock;-reenableKeyguard-()V": [ "android.permission.DISABLE_KEYGUARD" ], "Landroid/app/KeyguardManager;-exitKeyguardSecurely-(Landroid/app/KeyguardManager$OnKeyguardExitResult;)V": [ "android.permission.DISABLE_KEYGUARD" ], "Landroid/app/ListActivity;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/ListActivity;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ListActivity;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ListActivity;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/ListActivity;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/ListActivity;-unregisterReceiver-(Landroid/content/BroadcastReceiver;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/NativeActivity;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/NativeActivity;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/NativeActivity;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/NativeActivity;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/NativeActivity;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/NativeActivity;-unregisterReceiver-(Landroid/content/BroadcastReceiver;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/TabActivity;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/TabActivity;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/TabActivity;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/TabActivity;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/TabActivity;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/TabActivity;-unregisterReceiver-(Landroid/content/BroadcastReceiver;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/WallpaperManager;-clear-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/WallpaperManager;-setBitmap-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/WallpaperManager;-setResource-(I)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/WallpaperManager;-setStream-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/WallpaperManager;-suggestDesiredDimensions-(I I)V": [ "android.permission.SET_WALLPAPER_HINTS" ], "Landroid/app/backup/BackupAgentHelper;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/backup/BackupAgentHelper;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/backup/BackupAgentHelper;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/backup/BackupAgentHelper;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/backup/BackupAgentHelper;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/backup/BackupAgentHelper;-unregisterReceiver-(Landroid/content/BroadcastReceiver;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/bluetooth/BluetoothA2dp;-finalize-()V": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothA2dp;-getConnectedDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothA2dp;-getConnectionState-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothA2dp;-getDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothA2dp;-isA2dpPlaying-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-cancelDiscovery-()Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothAdapter;-closeProfileProxy-(I Landroid/bluetooth/BluetoothProfile;)V": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-disable-()Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothAdapter;-enable-()Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothAdapter;-getAddress-()Ljava/lang/String;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-getBondedDevices-()Ljava/util/Set;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-getName-()Ljava/lang/String;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-getProfileConnectionState-(I)I": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-getProfileProxy-(Landroid/content/Context; Landroid/bluetooth/BluetoothProfile$ServiceListener; I)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-getScanMode-()I": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-getState-()I": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-isDiscovering-()Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-isEnabled-()Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-listenUsingInsecureRfcommWithServiceRecord-(Ljava/lang/String; Ljava/util/UUID;)Landroid/bluetooth/BluetoothServerSocket;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-listenUsingRfcommWithServiceRecord-(Ljava/lang/String; Ljava/util/UUID;)Landroid/bluetooth/BluetoothServerSocket;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-setName-(Ljava/lang/String;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothAdapter;-startDiscovery-()Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothDevice;-createInsecureRfcommSocketToServiceRecord-(Ljava/util/UUID;)Landroid/bluetooth/BluetoothSocket;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothDevice;-createRfcommSocketToServiceRecord-(Ljava/util/UUID;)Landroid/bluetooth/BluetoothSocket;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothDevice;-fetchUuidsWithSdp-()Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothDevice;-getBluetoothClass-()Landroid/bluetooth/BluetoothClass;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothDevice;-getBondState-()I": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothDevice;-getName-()Ljava/lang/String;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothDevice;-getUuids-()[Landroid/os/ParcelUuid;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHeadset;-getConnectedDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHeadset;-getConnectionState-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHeadset;-getDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHeadset;-isAudioConnected-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHeadset;-startVoiceRecognition-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothHeadset;-stopVoiceRecognition-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothHealth;-connectChannelToSource-(Landroid/bluetooth/BluetoothDevice; Landroid/bluetooth/BluetoothHealthAppConfiguration;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHealth;-disconnectChannel-(Landroid/bluetooth/BluetoothDevice; Landroid/bluetooth/BluetoothHealthAppConfiguration; I)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHealth;-getConnectedDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHealth;-getConnectionState-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHealth;-getDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHealth;-getMainChannelFd-(Landroid/bluetooth/BluetoothDevice; Landroid/bluetooth/BluetoothHealthAppConfiguration;)Landroid/os/ParcelFileDescriptor;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHealth;-registerSinkAppConfiguration-(Ljava/lang/String; I Landroid/bluetooth/BluetoothHealthCallback;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHealth;-unregisterAppConfiguration-(Landroid/bluetooth/BluetoothHealthAppConfiguration;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothSocket;-connect-()V": [ "android.permission.BLUETOOTH" ], "Landroid/content/ContextWrapper;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/content/ContextWrapper;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/content/ContextWrapper;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/content/ContextWrapper;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/content/ContextWrapper;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/content/ContextWrapper;-unregisterReceiver-(Landroid/content/BroadcastReceiver;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/content/MutableContextWrapper;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/content/MutableContextWrapper;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/content/MutableContextWrapper;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/content/MutableContextWrapper;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/content/MutableContextWrapper;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/content/MutableContextWrapper;-unregisterReceiver-(Landroid/content/BroadcastReceiver;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/inputmethodservice/InputMethodService;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/inputmethodservice/InputMethodService;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/inputmethodservice/InputMethodService;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/inputmethodservice/InputMethodService;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/inputmethodservice/InputMethodService;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/inputmethodservice/InputMethodService;-unregisterReceiver-(Landroid/content/BroadcastReceiver;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/location/LocationManager;-addGpsStatusListener-(Landroid/location/GpsStatus$Listener;)Z": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-addNmeaListener-(Landroid/location/GpsStatus$NmeaListener;)Z": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-addProximityAlert-(D D F J Landroid/app/PendingIntent;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-addTestProvider-(Ljava/lang/String; Z Z Z Z Z Z Z I I)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Landroid/location/LocationManager;-clearTestProviderEnabled-(Ljava/lang/String;)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Landroid/location/LocationManager;-clearTestProviderLocation-(Ljava/lang/String;)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Landroid/location/LocationManager;-clearTestProviderStatus-(Ljava/lang/String;)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Landroid/location/LocationManager;-getBestProvider-(Landroid/location/Criteria; Z)Ljava/lang/String;": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-getLastKnownLocation-(Ljava/lang/String;)Landroid/location/Location;": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-getProvider-(Ljava/lang/String;)Landroid/location/LocationProvider;": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-getProviders-(Landroid/location/Criteria; Z)Ljava/util/List;": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-getProviders-(Z)Ljava/util/List;": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-isProviderEnabled-(Ljava/lang/String;)Z": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-removeProximityAlert-(Landroid/app/PendingIntent;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-removeTestProvider-(Ljava/lang/String;)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Landroid/location/LocationManager;-removeUpdates-(Landroid/app/PendingIntent;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-removeUpdates-(Landroid/location/LocationListener;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-requestLocationUpdates-(Ljava/lang/String; J F Landroid/app/PendingIntent;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-requestLocationUpdates-(Ljava/lang/String; J F Landroid/location/LocationListener;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-requestLocationUpdates-(Ljava/lang/String; J F Landroid/location/LocationListener; Landroid/os/Looper;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-requestLocationUpdates-(J F Landroid/location/Criteria; Landroid/app/PendingIntent;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-requestLocationUpdates-(J F Landroid/location/Criteria; Landroid/location/LocationListener; Landroid/os/Looper;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-requestSingleUpdate-(Landroid/location/Criteria; Landroid/app/PendingIntent;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-requestSingleUpdate-(Landroid/location/Criteria; Landroid/location/LocationListener; Landroid/os/Looper;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-requestSingleUpdate-(Ljava/lang/String; Landroid/app/PendingIntent;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-requestSingleUpdate-(Ljava/lang/String; Landroid/location/LocationListener; Landroid/os/Looper;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-sendExtraCommand-(Ljava/lang/String; Ljava/lang/String; Landroid/os/Bundle;)Z": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION", "android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" ], "Landroid/location/LocationManager;-setTestProviderEnabled-(Ljava/lang/String; Z)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Landroid/location/LocationManager;-setTestProviderLocation-(Ljava/lang/String; Landroid/location/Location;)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Landroid/location/LocationManager;-setTestProviderStatus-(Ljava/lang/String; I Landroid/os/Bundle; J)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Landroid/media/AsyncPlayer;-play-(Landroid/content/Context; Landroid/net/Uri; Z I)V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/AsyncPlayer;-stop-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/AudioManager;-setBluetoothScoOn-(Z)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/media/AudioManager;-setMode-(I)V": [ "android.permission.BLUETOOTH", "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/media/AudioManager;-setSpeakerphoneOn-(Z)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/media/AudioManager;-startBluetoothSco-()V": [ "android.permission.BLUETOOTH", "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/media/AudioManager;-stopBluetoothSco-()V": [ "android.permission.BLUETOOTH", "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/media/MediaPlayer;-pause-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/MediaPlayer;-release-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/MediaPlayer;-reset-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/MediaPlayer;-setWakeMode-(Landroid/content/Context; I)V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/MediaPlayer;-start-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/MediaPlayer;-stop-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/Ringtone;-play-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/Ringtone;-setStreamType-(I)V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/Ringtone;-stop-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/RingtoneManager;-getRingtone-(Landroid/content/Context; Landroid/net/Uri;)Landroid/media/Ringtone;": [ "android.permission.WAKE_LOCK" ], "Landroid/media/RingtoneManager;-getRingtone-(I)Landroid/media/Ringtone;": [ "android.permission.WAKE_LOCK" ], "Landroid/media/RingtoneManager;-stopPreviousRingtone-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/net/ConnectivityManager;-getActiveNetworkInfo-()Landroid/net/NetworkInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-getAllNetworkInfo-()[Landroid/net/NetworkInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-getNetworkInfo-(I)Landroid/net/NetworkInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-getNetworkPreference-()I": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-isActiveNetworkMetered-()Z": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-requestRouteToHost-(I I)Z": [ "android.permission.CHANGE_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-setNetworkPreference-(I)V": [ "android.permission.CHANGE_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-startUsingNetworkFeature-(I Ljava/lang/String;)I": [ "android.permission.CHANGE_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-stopUsingNetworkFeature-(I Ljava/lang/String;)I": [ "android.permission.CHANGE_NETWORK_STATE" ], "Landroid/net/VpnService;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/net/VpnService;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/net/VpnService;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/net/VpnService;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/net/VpnService;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/net/VpnService;-unregisterReceiver-(Landroid/content/BroadcastReceiver;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/net/sip/SipAudioCall;-close-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/net/sip/SipAudioCall;-endCall-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/net/sip/SipAudioCall;-setSpeakerMode-(Z)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/net/sip/SipAudioCall;-startAudio-()V": [ "android.permission.ACCESS_WIFI_STATE", "android.permission.WAKE_LOCK" ], "Landroid/net/sip/SipManager;-close-(Ljava/lang/String;)V": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-createSipSession-(Landroid/net/sip/SipProfile; Landroid/net/sip/SipSession$Listener;)Landroid/net/sip/SipSession;": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-getSessionFor-(Landroid/content/Intent;)Landroid/net/sip/SipSession;": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-isOpened-(Ljava/lang/String;)Z": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-isRegistered-(Ljava/lang/String;)Z": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-makeAudioCall-(Landroid/net/sip/SipProfile; Landroid/net/sip/SipProfile; Landroid/net/sip/SipAudioCall$Listener; I)Landroid/net/sip/SipAudioCall;": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-makeAudioCall-(Ljava/lang/String; Ljava/lang/String; Landroid/net/sip/SipAudioCall$Listener; I)Landroid/net/sip/SipAudioCall;": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-open-(Landroid/net/sip/SipProfile;)V": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-open-(Landroid/net/sip/SipProfile; Landroid/app/PendingIntent; Landroid/net/sip/SipRegistrationListener;)V": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-register-(Landroid/net/sip/SipProfile; I Landroid/net/sip/SipRegistrationListener;)V": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-setRegistrationListener-(Ljava/lang/String; Landroid/net/sip/SipRegistrationListener;)V": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-takeAudioCall-(Landroid/content/Intent; Landroid/net/sip/SipAudioCall$Listener;)Landroid/net/sip/SipAudioCall;": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-unregister-(Landroid/net/sip/SipProfile; Landroid/net/sip/SipRegistrationListener;)V": [ "android.permission.USE_SIP" ], "Landroid/net/wifi/WifiManager$MulticastLock;-acquire-()V": [ "android.permission.CHANGE_WIFI_MULTICAST_STATE" ], "Landroid/net/wifi/WifiManager$MulticastLock;-release-()V": [ "android.permission.CHANGE_WIFI_MULTICAST_STATE" ], "Landroid/net/wifi/WifiManager$WifiLock;-acquire-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/net/wifi/WifiManager$WifiLock;-release-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/net/wifi/WifiManager;-addNetwork-(Landroid/net/wifi/WifiConfiguration;)I": [ "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-disableNetwork-(I)Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-disconnect-()Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-enableNetwork-(I Z)Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-getConfiguredNetworks-()Ljava/util/List;": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-getConnectionInfo-()Landroid/net/wifi/WifiInfo;": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-getDhcpInfo-()Landroid/net/DhcpInfo;": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-getScanResults-()Ljava/util/List;": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-getWifiState-()I": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-isWifiEnabled-()Z": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-pingSupplicant-()Z": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-reassociate-()Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-reconnect-()Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-removeNetwork-(I)Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-saveConfiguration-()Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-setWifiEnabled-(Z)Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-startScan-()Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-updateNetwork-(Landroid/net/wifi/WifiConfiguration;)I": [ "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/p2p/WifiP2pManager;-initialize-(Landroid/content/Context; Landroid/os/Looper; Landroid/net/wifi/p2p/WifiP2pManager$ChannelListener;)Landroid/net/wifi/p2p/WifiP2pManager$Channel;": [ "android.permission.ACCESS_WIFI_STATE", "android.permission.CHANGE_WIFI_STATE" ], "Landroid/nfc/NfcAdapter;-disableForegroundDispatch-(Landroid/app/Activity;)V": [ "android.permission.NFC" ], "Landroid/nfc/NfcAdapter;-disableForegroundNdefPush-(Landroid/app/Activity;)V": [ "android.permission.NFC" ], "Landroid/nfc/NfcAdapter;-enableForegroundDispatch-(Landroid/app/Activity; Landroid/app/PendingIntent; [Landroid/content/IntentFilter; [L[java/lang/String;)V": [ "android.permission.NFC" ], "Landroid/nfc/NfcAdapter;-enableForegroundNdefPush-(Landroid/app/Activity; Landroid/nfc/NdefMessage;)V": [ "android.permission.NFC" ], "Landroid/nfc/NfcAdapter;-setBeamPushUris-([Landroid/net/Uri; Landroid/app/Activity;)V": [ "android.permission.NFC" ], "Landroid/nfc/NfcAdapter;-setBeamPushUrisCallback-(Landroid/nfc/NfcAdapter$CreateBeamUrisCallback; Landroid/app/Activity;)V": [ "android.permission.NFC" ], "Landroid/nfc/NfcAdapter;-setNdefPushMessage-(Landroid/nfc/NdefMessage; Landroid/app/Activity; [Landroid/app/Activity;)V": [ "android.permission.NFC" ], "Landroid/nfc/NfcAdapter;-setNdefPushMessageCallback-(Landroid/nfc/NfcAdapter$CreateNdefMessageCallback; Landroid/app/Activity; [Landroid/app/Activity;)V": [ "android.permission.NFC" ], "Landroid/nfc/NfcAdapter;-setOnNdefPushCompleteCallback-(Landroid/nfc/NfcAdapter$OnNdefPushCompleteCallback; Landroid/app/Activity; [Landroid/app/Activity;)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/BasicTagTechnology;-close-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/BasicTagTechnology;-connect-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/IsoDep;-close-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/IsoDep;-connect-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/IsoDep;-getTimeout-()I": [ "android.permission.NFC" ], "Landroid/nfc/tech/IsoDep;-setTimeout-(I)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/IsoDep;-transceive-([B)[B": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareClassic;-authenticateSectorWithKeyA-(I [B)Z": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareClassic;-authenticateSectorWithKeyB-(I [B)Z": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareClassic;-close-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareClassic;-connect-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareClassic;-decrement-(I I)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareClassic;-getTimeout-()I": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareClassic;-increment-(I I)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareClassic;-readBlock-(I)[B": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareClassic;-restore-(I)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareClassic;-setTimeout-(I)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareClassic;-transceive-([B)[B": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareClassic;-transfer-(I)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareClassic;-writeBlock-(I [B)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareUltralight;-close-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareUltralight;-connect-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareUltralight;-getTimeout-()I": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareUltralight;-readPages-(I)[B": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareUltralight;-setTimeout-(I)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareUltralight;-transceive-([B)[B": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareUltralight;-writePage-(I [B)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/Ndef;-close-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/Ndef;-connect-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/Ndef;-getNdefMessage-()Landroid/nfc/NdefMessage;": [ "android.permission.NFC" ], "Landroid/nfc/tech/Ndef;-makeReadOnly-()Z": [ "android.permission.NFC" ], "Landroid/nfc/tech/Ndef;-writeNdefMessage-(Landroid/nfc/NdefMessage;)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NdefFormatable;-close-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NdefFormatable;-connect-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NdefFormatable;-format-(Landroid/nfc/NdefMessage;)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NdefFormatable;-formatReadOnly-(Landroid/nfc/NdefMessage;)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcA;-close-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcA;-connect-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcA;-getTimeout-()I": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcA;-setTimeout-(I)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcA;-transceive-([B)[B": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcB;-close-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcB;-connect-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcB;-transceive-([B)[B": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcBarcode;-close-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcBarcode;-connect-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcF;-close-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcF;-connect-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcF;-getTimeout-()I": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcF;-setTimeout-(I)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcF;-transceive-([B)[B": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcV;-close-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcV;-connect-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcV;-transceive-([B)[B": [ "android.permission.NFC" ], "Landroid/os/PowerManager$WakeLock;-acquire-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/os/PowerManager$WakeLock;-acquire-(J)V": [ "android.permission.WAKE_LOCK" ], "Landroid/os/PowerManager$WakeLock;-release-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/os/PowerManager$WakeLock;-setWorkSource-(Landroid/os/WorkSource;)V": [ "android.permission.WAKE_LOCK" ], "Landroid/os/SystemVibrator;-cancel-()V": [ "android.permission.VIBRATE" ], "Landroid/os/SystemVibrator;-vibrate-([J I)V": [ "android.permission.VIBRATE" ], "Landroid/os/SystemVibrator;-vibrate-(J)V": [ "android.permission.VIBRATE" ], "Landroid/service/dreams/DreamService;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/service/dreams/DreamService;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/service/dreams/DreamService;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/service/dreams/DreamService;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/service/dreams/DreamService;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/service/dreams/DreamService;-unregisterReceiver-(Landroid/content/BroadcastReceiver;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/telephony/SmsManager;-sendDataMessage-(Ljava/lang/String; Ljava/lang/String; S [B Landroid/app/PendingIntent; Landroid/app/PendingIntent;)V": [ "android.permission.SEND_SMS" ], "Landroid/telephony/SmsManager;-sendMultipartTextMessage-(Ljava/lang/String; Ljava/lang/String; Ljava/util/ArrayList; Ljava/util/ArrayList; Ljava/util/ArrayList;)V": [ "android.permission.SEND_SMS" ], "Landroid/telephony/SmsManager;-sendTextMessage-(Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Landroid/app/PendingIntent; Landroid/app/PendingIntent;)V": [ "android.permission.SEND_SMS" ], "Landroid/telephony/TelephonyManager;-getAllCellInfo-()Ljava/util/List;": [ "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/telephony/TelephonyManager;-getCellLocation-()Landroid/telephony/CellLocation;": [ "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/telephony/TelephonyManager;-getDeviceId-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Landroid/telephony/TelephonyManager;-getDeviceSoftwareVersion-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Landroid/telephony/TelephonyManager;-getLine1Number-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Landroid/telephony/TelephonyManager;-getNeighboringCellInfo-()Ljava/util/List;": [ "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/telephony/TelephonyManager;-getSimSerialNumber-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Landroid/telephony/TelephonyManager;-getSubscriberId-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Landroid/telephony/TelephonyManager;-getVoiceMailAlphaTag-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Landroid/telephony/TelephonyManager;-getVoiceMailNumber-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Landroid/telephony/TelephonyManager;-listen-(Landroid/telephony/PhoneStateListener; I)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.READ_PHONE_STATE" ], "Landroid/telephony/gsm/SmsManager;-sendDataMessage-(Ljava/lang/String; Ljava/lang/String; S [B Landroid/app/PendingIntent; Landroid/app/PendingIntent;)V": [ "android.permission.SEND_SMS" ], "Landroid/telephony/gsm/SmsManager;-sendMultipartTextMessage-(Ljava/lang/String; Ljava/lang/String; Ljava/util/ArrayList; Ljava/util/ArrayList; Ljava/util/ArrayList;)V": [ "android.permission.SEND_SMS" ], "Landroid/telephony/gsm/SmsManager;-sendTextMessage-(Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Landroid/app/PendingIntent; Landroid/app/PendingIntent;)V": [ "android.permission.SEND_SMS" ], "Landroid/test/IsolatedContext;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/test/IsolatedContext;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/test/IsolatedContext;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/test/IsolatedContext;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/test/IsolatedContext;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/test/IsolatedContext;-unregisterReceiver-(Landroid/content/BroadcastReceiver;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/test/RenamingDelegatingContext;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/test/RenamingDelegatingContext;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/test/RenamingDelegatingContext;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/test/RenamingDelegatingContext;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/test/RenamingDelegatingContext;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/test/RenamingDelegatingContext;-unregisterReceiver-(Landroid/content/BroadcastReceiver;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/test/mock/MockApplication;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/test/mock/MockApplication;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/test/mock/MockApplication;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/test/mock/MockApplication;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/test/mock/MockApplication;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/test/mock/MockApplication;-unregisterReceiver-(Landroid/content/BroadcastReceiver;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/view/ContextThemeWrapper;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/view/ContextThemeWrapper;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/view/ContextThemeWrapper;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/view/ContextThemeWrapper;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/view/ContextThemeWrapper;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/view/ContextThemeWrapper;-unregisterReceiver-(Landroid/content/BroadcastReceiver;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/widget/VideoView;-onKeyDown-(I Landroid/view/KeyEvent;)Z": [ "android.permission.WAKE_LOCK" ], "Landroid/widget/VideoView;-pause-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/widget/VideoView;-resume-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/widget/VideoView;-setVideoPath-(Ljava/lang/String;)V": [ "android.permission.WAKE_LOCK" ], "Landroid/widget/VideoView;-setVideoURI-(Landroid/net/Uri;)V": [ "android.permission.WAKE_LOCK" ], "Landroid/widget/VideoView;-start-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/widget/VideoView;-stopPlayback-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/widget/VideoView;-suspend-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/widget/ZoomButtonsController;-setVisible-(Z)V": [ "android.permission.BROADCAST_STICKY" ] }permissions_18.json000066400000000000000000006656071324327352200345600ustar00rootroot00000000000000androguard-3.1.0-rc2/androguard/core/api_specific_resources/api_permission_mappings{ "Landroid/accounts/AbstractAccountAuthenticator$Transport;-addAccount-(Landroid/accounts/IAccountAuthenticatorResponse; Ljava/lang/String; Ljava/lang/String; [Ljava/lang/String; Landroid/os/Bundle;)V": [ "android.permission.ACCOUNT_MANAGER" ], "Landroid/accounts/AbstractAccountAuthenticator$Transport;-addAccountFromCredentials-(Landroid/accounts/IAccountAuthenticatorResponse; Landroid/accounts/Account; Landroid/os/Bundle;)V": [ "android.permission.ACCOUNT_MANAGER" ], "Landroid/accounts/AbstractAccountAuthenticator$Transport;-confirmCredentials-(Landroid/accounts/IAccountAuthenticatorResponse; Landroid/accounts/Account; Landroid/os/Bundle;)V": [ "android.permission.ACCOUNT_MANAGER" ], "Landroid/accounts/AbstractAccountAuthenticator$Transport;-editProperties-(Landroid/accounts/IAccountAuthenticatorResponse; Ljava/lang/String;)V": [ "android.permission.ACCOUNT_MANAGER" ], "Landroid/accounts/AbstractAccountAuthenticator$Transport;-getAccountCredentialsForCloning-(Landroid/accounts/IAccountAuthenticatorResponse; Landroid/accounts/Account;)V": [ "android.permission.ACCOUNT_MANAGER" ], "Landroid/accounts/AbstractAccountAuthenticator$Transport;-getAccountRemovalAllowed-(Landroid/accounts/IAccountAuthenticatorResponse; Landroid/accounts/Account;)V": [ "android.permission.ACCOUNT_MANAGER" ], "Landroid/accounts/AbstractAccountAuthenticator$Transport;-getAuthToken-(Landroid/accounts/IAccountAuthenticatorResponse; Landroid/accounts/Account; Ljava/lang/String; Landroid/os/Bundle;)V": [ "android.permission.ACCOUNT_MANAGER" ], "Landroid/accounts/AbstractAccountAuthenticator$Transport;-getAuthTokenLabel-(Landroid/accounts/IAccountAuthenticatorResponse; Ljava/lang/String;)V": [ "android.permission.ACCOUNT_MANAGER" ], "Landroid/accounts/AbstractAccountAuthenticator$Transport;-hasFeatures-(Landroid/accounts/IAccountAuthenticatorResponse; Landroid/accounts/Account; [Ljava/lang/String;)V": [ "android.permission.ACCOUNT_MANAGER" ], "Landroid/accounts/AbstractAccountAuthenticator$Transport;-updateCredentials-(Landroid/accounts/IAccountAuthenticatorResponse; Landroid/accounts/Account; Ljava/lang/String; Landroid/os/Bundle;)V": [ "android.permission.ACCOUNT_MANAGER" ], "Landroid/media/AudioService;-registerMediaButtonEventReceiverForCalls-(Landroid/content/ComponentName;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Landroid/media/AudioService;-setBluetoothScoOn-(Z)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/media/AudioService;-setMode-(I Landroid/os/IBinder;)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/media/AudioService;-setRingtonePlayer-(Landroid/media/IRingtonePlayer;)V": [ "android.permission.REMOTE_AUDIO_PLAYBACK" ], "Landroid/media/AudioService;-setSpeakerphoneOn-(Z)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/media/AudioService;-startBluetoothSco-(Landroid/os/IBinder; I)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/media/AudioService;-stopBluetoothSco-(Landroid/os/IBinder;)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/media/AudioService;-unregisterMediaButtonEventReceiverForCalls-()V": [ "android.permission.MODIFY_PHONE_STATE" ], "Landroid/net/wifi/p2p/WifiP2pService;-getMessenger-()Landroid/os/Messenger;": [ "android.permission.ACCESS_WIFI_STATE", "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/p2p/WifiP2pService;-setMiracastMode-(I)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/bluetooth/a2dp/A2dpService$BluetoothA2dpBinder;-connect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/a2dp/A2dpService$BluetoothA2dpBinder;-disconnect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/a2dp/A2dpService$BluetoothA2dpBinder;-getConnectedDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/a2dp/A2dpService$BluetoothA2dpBinder;-getConnectionState-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/a2dp/A2dpService$BluetoothA2dpBinder;-getDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/a2dp/A2dpService$BluetoothA2dpBinder;-getPriority-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/a2dp/A2dpService$BluetoothA2dpBinder;-isA2dpPlaying-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/a2dp/A2dpService$BluetoothA2dpBinder;-setPriority-(Landroid/bluetooth/BluetoothDevice; I)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-cancelBondProcess-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-cancelDiscovery-()Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-connectSocket-(Landroid/bluetooth/BluetoothDevice; I Landroid/os/ParcelUuid; I I)Landroid/os/ParcelFileDescriptor;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-createBond-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-createSocketChannel-(I Ljava/lang/String; Landroid/os/ParcelUuid; I I)Landroid/os/ParcelFileDescriptor;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-disable-()Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-enable-()Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-enableNoAutoConnect-()Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-fetchRemoteUuids-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getAdapterConnectionState-()I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getAddress-()Ljava/lang/String;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getBondState-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getBondedDevices-()[Landroid/bluetooth/BluetoothDevice;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getDiscoverableTimeout-()I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getName-()Ljava/lang/String;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getProfileConnectionState-(I)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getRemoteAlias-(Landroid/bluetooth/BluetoothDevice;)Ljava/lang/String;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getRemoteClass-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getRemoteName-(Landroid/bluetooth/BluetoothDevice;)Ljava/lang/String;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getRemoteType-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getRemoteUuids-(Landroid/bluetooth/BluetoothDevice;)[Landroid/os/ParcelUuid;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getScanMode-()I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getState-()I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getUuids-()[Landroid/os/ParcelUuid;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-isDiscovering-()Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-isEnabled-()Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-removeBond-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-sendConnectionStateChange-(Landroid/bluetooth/BluetoothDevice; I I I)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-setDiscoverableTimeout-(I)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-setName-(Ljava/lang/String;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-setPairingConfirmation-(Landroid/bluetooth/BluetoothDevice; Z)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-setPasskey-(Landroid/bluetooth/BluetoothDevice; Z I [B)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-setPin-(Landroid/bluetooth/BluetoothDevice; Z I [B)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-setRemoteAlias-(Landroid/bluetooth/BluetoothDevice; Ljava/lang/String;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-setScanMode-(I I)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-startDiscovery-()Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-addCharacteristic-(I Landroid/os/ParcelUuid; I I)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-addDescriptor-(I Landroid/os/ParcelUuid; I)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-addIncludedService-(I I I Landroid/os/ParcelUuid;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-beginReliableWrite-(I Ljava/lang/String;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-beginServiceDeclaration-(I I I I Landroid/os/ParcelUuid;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-clearServices-(I)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-clientConnect-(I Ljava/lang/String; Z)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-clientDisconnect-(I Ljava/lang/String;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-discoverServices-(I Ljava/lang/String;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-endReliableWrite-(I Ljava/lang/String; Z)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-endServiceDeclaration-(I)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-getDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-readCharacteristic-(I Ljava/lang/String; I I Landroid/os/ParcelUuid; I Landroid/os/ParcelUuid; I)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-readDescriptor-(I Ljava/lang/String; I I Landroid/os/ParcelUuid; I Landroid/os/ParcelUuid; Landroid/os/ParcelUuid; I)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-readRemoteRssi-(I Ljava/lang/String;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-refreshDevice-(I Ljava/lang/String;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-registerClient-(Landroid/os/ParcelUuid; Landroid/bluetooth/IBluetoothGattCallback;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-registerForNotification-(I Ljava/lang/String; I I Landroid/os/ParcelUuid; I Landroid/os/ParcelUuid; Z)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-registerServer-(Landroid/os/ParcelUuid; Landroid/bluetooth/IBluetoothGattServerCallback;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-removeService-(I I I Landroid/os/ParcelUuid;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-sendNotification-(I Ljava/lang/String; I I Landroid/os/ParcelUuid; I Landroid/os/ParcelUuid; Z [B)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-sendResponse-(I Ljava/lang/String; I I I [B)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-serverConnect-(I Ljava/lang/String; Z)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-serverDisconnect-(I Ljava/lang/String;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-startScan-(I Z)V": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-startScanWithUuids-(I Z [Landroid/os/ParcelUuid;)V": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-stopScan-(I Z)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-unregisterClient-(I)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-unregisterServer-(I)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-writeCharacteristic-(I Ljava/lang/String; I I Landroid/os/ParcelUuid; I Landroid/os/ParcelUuid; I I [B)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-writeDescriptor-(I Ljava/lang/String; I I Landroid/os/ParcelUuid; I Landroid/os/ParcelUuid; Landroid/os/ParcelUuid; I I [B)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hdp/HealthService$BluetoothHealthBinder;-connectChannelToSink-(Landroid/bluetooth/BluetoothDevice; Landroid/bluetooth/BluetoothHealthAppConfiguration; I)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hdp/HealthService$BluetoothHealthBinder;-connectChannelToSource-(Landroid/bluetooth/BluetoothDevice; Landroid/bluetooth/BluetoothHealthAppConfiguration;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hdp/HealthService$BluetoothHealthBinder;-disconnectChannel-(Landroid/bluetooth/BluetoothDevice; Landroid/bluetooth/BluetoothHealthAppConfiguration; I)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hdp/HealthService$BluetoothHealthBinder;-getConnectedHealthDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hdp/HealthService$BluetoothHealthBinder;-getHealthDeviceConnectionState-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hdp/HealthService$BluetoothHealthBinder;-getHealthDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hdp/HealthService$BluetoothHealthBinder;-getMainChannelFd-(Landroid/bluetooth/BluetoothDevice; Landroid/bluetooth/BluetoothHealthAppConfiguration;)Landroid/os/ParcelFileDescriptor;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hdp/HealthService$BluetoothHealthBinder;-registerAppConfiguration-(Landroid/bluetooth/BluetoothHealthAppConfiguration; Landroid/bluetooth/IBluetoothHealthCallback;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hdp/HealthService$BluetoothHealthBinder;-unregisterAppConfiguration-(Landroid/bluetooth/BluetoothHealthAppConfiguration;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-clccResponse-(I I I I Z Ljava/lang/String; I)V": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN", "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-connect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-connectAudio-()Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-disconnect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-disconnectAudio-()Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-getConnectedDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-getConnectionState-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-getDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-getPriority-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-isAudioConnected-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-isAudioOn-()Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-phoneStateChanged-(I I I Ljava/lang/String; I)V": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN", "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-roamChanged-(Z)V": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN", "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-setPriority-(Landroid/bluetooth/BluetoothDevice; I)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-startVoiceRecognition-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-stopVoiceRecognition-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-connect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-disconnect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-getConnectedDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-getDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-getPriority-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-getProtocolMode-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-getReport-(Landroid/bluetooth/BluetoothDevice; B B I)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-sendData-(Landroid/bluetooth/BluetoothDevice; Ljava/lang/String;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-setPriority-(Landroid/bluetooth/BluetoothDevice; I)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-setProtocolMode-(Landroid/bluetooth/BluetoothDevice; I)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-setReport-(Landroid/bluetooth/BluetoothDevice; B Ljava/lang/String;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-virtualUnplug-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/pan/PanService$BluetoothPanBinder;-connect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/pan/PanService$BluetoothPanBinder;-disconnect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/pan/PanService$BluetoothPanBinder;-getConnectedDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/pan/PanService$BluetoothPanBinder;-getDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/pan/PanService$BluetoothPanBinder;-setBluetoothTethering-(Z)V": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/internal/telephony/IccPhoneBookInterfaceManager;-getAdnRecordsInEf-(I)Ljava/util/List;": [ "android.permission.READ_CONTACTS", "android.permission.READ_CONTACTS" ], "Lcom/android/internal/telephony/IccPhoneBookInterfaceManager;-updateAdnRecordsInEfByIndex-(I Ljava/lang/String; Ljava/lang/String; I Ljava/lang/String;)Z": [ "android.permission.WRITE_CONTACTS", "android.permission.WRITE_CONTACTS" ], "Lcom/android/internal/telephony/IccPhoneBookInterfaceManager;-updateAdnRecordsInEfBySearch-(I Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/lang/String;)Z": [ "android.permission.WRITE_CONTACTS", "android.permission.WRITE_CONTACTS" ], "Lcom/android/internal/telephony/IccPhoneBookInterfaceManagerProxy;-getAdnRecordsInEf-(I)Ljava/util/List;": [ "android.permission.READ_CONTACTS" ], "Lcom/android/internal/telephony/IccPhoneBookInterfaceManagerProxy;-updateAdnRecordsInEfByIndex-(I Ljava/lang/String; Ljava/lang/String; I Ljava/lang/String;)Z": [ "android.permission.WRITE_CONTACTS" ], "Lcom/android/internal/telephony/IccPhoneBookInterfaceManagerProxy;-updateAdnRecordsInEfBySearch-(I Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/lang/String;)Z": [ "android.permission.WRITE_CONTACTS" ], "Lcom/android/internal/telephony/IccSmsInterfaceManager;-copyMessageToIccEf-(Ljava/lang/String; I [B [B)Z": [ "android.permission.RECEIVE_SMS", "android.permission.SEND_SMS", "android.permission.RECEIVE_SMS", "android.permission.SEND_SMS" ], "Lcom/android/internal/telephony/IccSmsInterfaceManager;-getAllMessagesFromIccEf-(Ljava/lang/String;)Ljava/util/List;": [ "android.permission.RECEIVE_SMS", "android.permission.RECEIVE_SMS" ], "Lcom/android/internal/telephony/IccSmsInterfaceManager;-sendData-(Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; I [B Landroid/app/PendingIntent; Landroid/app/PendingIntent;)V": [ "android.permission.SEND_SMS", "android.permission.SEND_SMS_NO_CONFIRMATION", "android.permission.SEND_SMS", "android.permission.SEND_SMS_NO_CONFIRMATION" ], "Lcom/android/internal/telephony/IccSmsInterfaceManager;-sendMultipartText-(Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/util/List; Ljava/util/List; Ljava/util/List;)V": [ "android.permission.SEND_SMS", "android.permission.SEND_SMS_NO_CONFIRMATION", "android.permission.SEND_SMS", "android.permission.SEND_SMS_NO_CONFIRMATION" ], "Lcom/android/internal/telephony/IccSmsInterfaceManager;-sendText-(Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Landroid/app/PendingIntent; Landroid/app/PendingIntent;)V": [ "android.permission.SEND_SMS", "android.permission.SEND_SMS_NO_CONFIRMATION", "android.permission.SEND_SMS", "android.permission.SEND_SMS_NO_CONFIRMATION" ], "Lcom/android/internal/telephony/IccSmsInterfaceManager;-updateMessageOnIccEf-(Ljava/lang/String; I I [B)Z": [ "android.permission.RECEIVE_SMS", "android.permission.SEND_SMS", "android.permission.RECEIVE_SMS", "android.permission.SEND_SMS" ], "Lcom/android/internal/telephony/IccSmsInterfaceManagerProxy;-copyMessageToIccEf-(Ljava/lang/String; I [B [B)Z": [ "android.permission.RECEIVE_SMS", "android.permission.SEND_SMS" ], "Lcom/android/internal/telephony/IccSmsInterfaceManagerProxy;-getAllMessagesFromIccEf-(Ljava/lang/String;)Ljava/util/List;": [ "android.permission.RECEIVE_SMS" ], "Lcom/android/internal/telephony/IccSmsInterfaceManagerProxy;-sendData-(Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; I [B Landroid/app/PendingIntent; Landroid/app/PendingIntent;)V": [ "android.permission.SEND_SMS" ], "Lcom/android/internal/telephony/IccSmsInterfaceManagerProxy;-sendMultipartText-(Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/util/List; Ljava/util/List; Ljava/util/List;)V": [ "android.permission.SEND_SMS" ], "Lcom/android/internal/telephony/IccSmsInterfaceManagerProxy;-sendText-(Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Landroid/app/PendingIntent; Landroid/app/PendingIntent;)V": [ "android.permission.SEND_SMS" ], "Lcom/android/internal/telephony/IccSmsInterfaceManagerProxy;-updateMessageOnIccEf-(Ljava/lang/String; I I [B)Z": [ "android.permission.RECEIVE_SMS", "android.permission.SEND_SMS" ], "Lcom/android/internal/telephony/PhoneSubInfo;-getCompleteVoiceMailNumber-()Ljava/lang/String;": [ "android.permission.CALL_PRIVILEGED" ], "Lcom/android/internal/telephony/PhoneSubInfo;-getDeviceId-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfo;-getDeviceSvn-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfo;-getGroupIdLevel1-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfo;-getIccSerialNumber-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfo;-getIsimDomain-()Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfo;-getIsimImpi-()Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfo;-getIsimImpu-()[Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfo;-getLine1AlphaTag-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfo;-getLine1Number-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfo;-getMsisdn-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfo;-getSubscriberId-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfo;-getVoiceMailAlphaTag-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfo;-getVoiceMailNumber-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/cdma/RuimSmsInterfaceManager;-disableCellBroadcast-(I)Z": [ "android.permission.RECEIVE_SMS" ], "Lcom/android/internal/telephony/cdma/RuimSmsInterfaceManager;-disableCellBroadcastRange-(I I)Z": [ "android.permission.RECEIVE_SMS" ], "Lcom/android/internal/telephony/cdma/RuimSmsInterfaceManager;-enableCellBroadcast-(I)Z": [ "android.permission.RECEIVE_SMS" ], "Lcom/android/internal/telephony/cdma/RuimSmsInterfaceManager;-enableCellBroadcastRange-(I I)Z": [ "android.permission.RECEIVE_SMS" ], "Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;-disableCellBroadcast-(I)Z": [ "android.permission.RECEIVE_SMS" ], "Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;-disableCellBroadcastRange-(I I)Z": [ "android.permission.RECEIVE_SMS" ], "Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;-enableCellBroadcast-(I)Z": [ "android.permission.RECEIVE_SMS" ], "Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;-enableCellBroadcastRange-(I I)Z": [ "android.permission.RECEIVE_SMS" ], "Lcom/android/nfc/NfcService$NfcAdapterExtrasService;-authenticate-(Ljava/lang/String; [B)V": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$NfcAdapterExtrasService;-close-(Ljava/lang/String; Landroid/os/IBinder;)Landroid/os/Bundle;": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$NfcAdapterExtrasService;-getCardEmulationRoute-(Ljava/lang/String;)I": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$NfcAdapterExtrasService;-getDriverName-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$NfcAdapterExtrasService;-open-(Ljava/lang/String; Landroid/os/IBinder;)Landroid/os/Bundle;": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$NfcAdapterExtrasService;-setCardEmulationRoute-(Ljava/lang/String; I)V": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$NfcAdapterExtrasService;-transceive-(Ljava/lang/String; [B)Landroid/os/Bundle;": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$NfcAdapterService;-disable-(Z)Z": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/nfc/NfcService$NfcAdapterService;-disableNdefPush-()Z": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/nfc/NfcService$NfcAdapterService;-dispatch-(Landroid/nfc/Tag;)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/nfc/NfcService$NfcAdapterService;-enable-()Z": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/nfc/NfcService$NfcAdapterService;-enableNdefPush-()Z": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/nfc/NfcService$NfcAdapterService;-getNfcAdapterExtrasInterface-(Ljava/lang/String;)Landroid/nfc/INfcAdapterExtras;": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$NfcAdapterService;-setForegroundDispatch-(Landroid/app/PendingIntent; [Landroid/content/IntentFilter; Landroid/nfc/TechListParcel;)V": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$NfcAdapterService;-setNdefPushCallback-(Landroid/nfc/INdefPushCallback;)V": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$NfcAdapterService;-setP2pModes-(I I)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/nfc/NfcService$TagService;-close-(I)I": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-connect-(I I)I": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-formatNdef-(I [B)I": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-getTechList-(I)[I": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-getTimeout-(I)I": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-isNdef-(I)Z": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-ndefMakeReadOnly-(I)I": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-ndefRead-(I)Landroid/nfc/NdefMessage;": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-ndefWrite-(I Landroid/nfc/NdefMessage;)I": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-reconnect-(I)I": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-rediscover-(I)Landroid/nfc/Tag;": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-resetTimeouts-()V": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-setTimeout-(I I)I": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-transceive-(I [B Z)Landroid/nfc/TransceiveResult;": [ "android.permission.NFC" ], "Lcom/android/phone/PhoneInterfaceManager;-answerRingingCall-()V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-call-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.CALL_PHONE" ], "Lcom/android/phone/PhoneInterfaceManager;-cancelMissedCallsNotification-()V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-disableApnType-(Ljava/lang/String;)I": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-disableDataConnectivity-()Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-disableLocationUpdates-()V": [ "android.permission.CONTROL_LOCATION_UPDATES" ], "Lcom/android/phone/PhoneInterfaceManager;-enableApnType-(Ljava/lang/String;)I": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-enableDataConnectivity-()Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-enableLocationUpdates-()V": [ "android.permission.CONTROL_LOCATION_UPDATES" ], "Lcom/android/phone/PhoneInterfaceManager;-endCall-()Z": [ "android.permission.CALL_PHONE" ], "Lcom/android/phone/PhoneInterfaceManager;-getAllCellInfo-()Ljava/util/List;": [ "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/phone/PhoneInterfaceManager;-getCellLocation-()Landroid/os/Bundle;": [ "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/phone/PhoneInterfaceManager;-getNeighboringCellInfo-(Ljava/lang/String;)Ljava/util/List;": [ "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/phone/PhoneInterfaceManager;-handlePinMmi-(Ljava/lang/String;)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-isSimPinEnabled-()Z": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-setRadio-(Z)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-setRadioPower-(Z)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-silenceRinger-()V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-supplyPin-(Ljava/lang/String;)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-supplyPuk-(Ljava/lang/String; Ljava/lang/String;)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-toggleRadioOnOff-()V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/providers/contacts/ContactsProvider2;-getType-(Landroid/net/Uri;)Ljava/lang/String;": [ "android.permission.READ_SOCIAL_STREAM" ], "Lcom/android/server/AlarmManagerService;-setTime-(J)V": [ "android.permission.SET_TIME" ], "Lcom/android/server/AlarmManagerService;-setTimeZone-(Ljava/lang/String;)V": [ "android.permission.SET_TIME_ZONE" ], "Lcom/android/server/AppOpsService;-checkOperation-(I I Ljava/lang/String;)I": [ "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/server/AppOpsService;-finishOperation-(I I Ljava/lang/String;)V": [ "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/server/AppOpsService;-getOpsForPackage-(I Ljava/lang/String; [I)Ljava/util/List;": [ "android.permission.GET_APP_OPS_STATS" ], "Lcom/android/server/AppOpsService;-getPackagesForOps-([I)Ljava/util/List;": [ "android.permission.GET_APP_OPS_STATS" ], "Lcom/android/server/AppOpsService;-noteOperation-(I I Ljava/lang/String;)I": [ "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/server/AppOpsService;-resetAllModes-()V": [ "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/server/AppOpsService;-setMode-(I I Ljava/lang/String; I)V": [ "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/server/AppOpsService;-startOperation-(I I Ljava/lang/String;)I": [ "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/server/AppWidgetService;-bindAppWidgetId-(I Landroid/content/ComponentName; Landroid/os/Bundle; I)V": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/AppWidgetService;-bindAppWidgetIdIfAllowed-(Ljava/lang/String; I Landroid/content/ComponentName; Landroid/os/Bundle; I)Z": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/AppWidgetService;-bindRemoteViewsService-(I Landroid/content/Intent; Landroid/os/IBinder; I)V": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/AppWidgetService;-deleteAppWidgetId-(I I)V": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/AppWidgetService;-getAppWidgetInfo-(I I)Landroid/appwidget/AppWidgetProviderInfo;": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/AppWidgetService;-getAppWidgetOptions-(I I)Landroid/os/Bundle;": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/AppWidgetService;-getAppWidgetViews-(I I)Landroid/widget/RemoteViews;": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/AppWidgetService;-hasBindAppWidgetPermission-(Ljava/lang/String; I)Z": [ "android.permission.MODIFY_APPWIDGET_BIND_PERMISSIONS" ], "Lcom/android/server/AppWidgetService;-notifyAppWidgetViewDataChanged-([I I I)V": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/AppWidgetService;-partiallyUpdateAppWidgetIds-([I Landroid/widget/RemoteViews; I)V": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/AppWidgetService;-setBindAppWidgetPermission-(Ljava/lang/String; Z I)V": [ "android.permission.MODIFY_APPWIDGET_BIND_PERMISSIONS" ], "Lcom/android/server/AppWidgetService;-unbindRemoteViewsService-(I Landroid/content/Intent; I)V": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/AppWidgetService;-updateAppWidgetIds-([I Landroid/widget/RemoteViews; I)V": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/AppWidgetService;-updateAppWidgetOptions-(I Landroid/os/Bundle; I)V": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/AppWidgetService;-updateAppWidgetProvider-(Landroid/content/ComponentName; Landroid/widget/RemoteViews; I)V": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/BackupManagerService$ActiveRestoreSession;-getAvailableRestoreSets-(Landroid/app/backup/IRestoreObserver;)I": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService$ActiveRestoreSession;-restoreAll-(J Landroid/app/backup/IRestoreObserver;)I": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService$ActiveRestoreSession;-restorePackage-(Ljava/lang/String; Landroid/app/backup/IRestoreObserver;)I": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService$ActiveRestoreSession;-restoreSome-(J Landroid/app/backup/IRestoreObserver; [Ljava/lang/String;)I": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService;-acknowledgeFullBackupOrRestore-(I Z Ljava/lang/String; Ljava/lang/String; Landroid/app/backup/IFullBackupRestoreObserver;)V": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService;-backupNow-()V": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService;-beginRestoreSession-(Ljava/lang/String; Ljava/lang/String;)Landroid/app/backup/IRestoreSession;": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService;-clearBackupData-(Ljava/lang/String;)V": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService;-dataChanged-(Ljava/lang/String;)V": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService;-fullBackup-(Landroid/os/ParcelFileDescriptor; Z Z Z Z Z [Ljava/lang/String;)V": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService;-fullRestore-(Landroid/os/ParcelFileDescriptor;)V": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService;-getConfigurationIntent-(Ljava/lang/String;)Landroid/content/Intent;": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService;-getCurrentTransport-()Ljava/lang/String;": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService;-getDestinationString-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService;-hasBackupPassword-()Z": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService;-isBackupEnabled-()Z": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService;-listAllTransports-()[Ljava/lang/String;": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService;-selectBackupTransport-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService;-setAutoRestore-(Z)V": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService;-setBackupEnabled-(Z)V": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService;-setBackupPassword-(Ljava/lang/String; Ljava/lang/String;)Z": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService;-setBackupProvisioned-(Z)V": [ "android.permission.BACKUP" ], "Lcom/android/server/BluetoothManagerService;-disable-(Z)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/server/BluetoothManagerService;-enable-()Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/server/BluetoothManagerService;-enableNoAutoConnect-()Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/server/BluetoothManagerService;-getAddress-()Ljava/lang/String;": [ "android.permission.BLUETOOTH" ], "Lcom/android/server/BluetoothManagerService;-getName-()Ljava/lang/String;": [ "android.permission.BLUETOOTH" ], "Lcom/android/server/BluetoothManagerService;-registerStateChangeCallback-(Landroid/bluetooth/IBluetoothStateChangeCallback;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/server/BluetoothManagerService;-unregisterAdapter-(Landroid/bluetooth/IBluetoothManagerCallback;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/server/BluetoothManagerService;-unregisterStateChangeCallback-(Landroid/bluetooth/IBluetoothStateChangeCallback;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/server/ConnectivityService;-captivePortalCheckComplete-(Landroid/net/NetworkInfo;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-findConnectionTypeForIface-(Ljava/lang/String;)I": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-getActiveLinkProperties-()Landroid/net/LinkProperties;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getActiveNetworkInfo-()Landroid/net/NetworkInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getActiveNetworkInfoForUid-(I)Landroid/net/NetworkInfo;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-getActiveNetworkQuotaInfo-()Landroid/net/NetworkQuotaInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getAllNetworkInfo-()[Landroid/net/NetworkInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getAllNetworkState-()[Landroid/net/NetworkState;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getLastTetherError-(Ljava/lang/String;)I": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getLinkProperties-(I)Landroid/net/LinkProperties;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getMobileDataEnabled-()Z": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getNetworkInfo-(I)Landroid/net/NetworkInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getNetworkPreference-()I": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getTetherableBluetoothRegexs-()[Ljava/lang/String;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getTetherableIfaces-()[Ljava/lang/String;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getTetherableUsbRegexs-()[Ljava/lang/String;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getTetherableWifiRegexs-()[Ljava/lang/String;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getTetheredIfacePairs-()[Ljava/lang/String;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getTetheredIfaces-()[Ljava/lang/String;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getTetheringErroredIfaces-()[Ljava/lang/String;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-isActiveNetworkMetered-()Z": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-isNetworkSupported-(I)Z": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-isTetheringSupported-()Z": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-reportInetCondition-(I I)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/ConnectivityService;-requestNetworkTransitionWakelock-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-requestRouteToHost-(I I)Z": [ "android.permission.CHANGE_NETWORK_STATE", "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-requestRouteToHostAddress-(I [B)Z": [ "android.permission.CHANGE_NETWORK_STATE", "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-setDataDependency-(I Z)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-setGlobalProxy-(Landroid/net/ProxyProperties;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-setMobileDataEnabled-(Z)V": [ "android.permission.CHANGE_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-setNetworkPreference-(I)V": [ "android.permission.CHANGE_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-setPolicyDataEnable-(I Z)V": [ "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/ConnectivityService;-setRadio-(I Z)Z": [ "android.permission.CHANGE_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-setRadios-(Z)Z": [ "android.permission.CHANGE_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-setUsbTethering-(Z)I": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.CHANGE_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-startLegacyVpn-(Lcom/android/internal/net/VpnProfile;)V": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-startUsingNetworkFeature-(I Ljava/lang/String; Landroid/os/IBinder;)I": [ "android.permission.CHANGE_NETWORK_STATE", "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-stopUsingNetworkFeature-(I Ljava/lang/String;)I": [ "android.permission.CHANGE_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-supplyMessenger-(I Landroid/os/Messenger;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-tether-(Ljava/lang/String;)I": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.CHANGE_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-untether-(Ljava/lang/String;)I": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.CHANGE_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-updateLockdownVpn-()Z": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/DevicePolicyManagerService;-getActiveAdmins-(I)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-getCameraDisabled-(Landroid/content/ComponentName; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-getCurrentFailedPasswordAttempts-(I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-getGlobalProxyAdmin-(I)Landroid/content/ComponentName;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-getKeyguardDisabledFeatures-(Landroid/content/ComponentName; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-getMaximumFailedPasswordsForWipe-(Landroid/content/ComponentName; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-getMaximumTimeToLock-(Landroid/content/ComponentName; I)J": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-getPasswordExpiration-(Landroid/content/ComponentName; I)J": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-getPasswordExpirationTimeout-(Landroid/content/ComponentName; I)J": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-getPasswordHistoryLength-(Landroid/content/ComponentName; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-getPasswordMinimumLength-(Landroid/content/ComponentName; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-getPasswordMinimumLetters-(Landroid/content/ComponentName; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-getPasswordMinimumLowerCase-(Landroid/content/ComponentName; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-getPasswordMinimumNonLetter-(Landroid/content/ComponentName; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-getPasswordMinimumNumeric-(Landroid/content/ComponentName; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-getPasswordMinimumSymbols-(Landroid/content/ComponentName; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-getPasswordMinimumUpperCase-(Landroid/content/ComponentName; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-getPasswordQuality-(Landroid/content/ComponentName; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-getRemoveWarning-(Landroid/content/ComponentName; Landroid/os/RemoteCallback; I)V": [ "android.permission.BIND_DEVICE_ADMIN", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-getStorageEncryption-(Landroid/content/ComponentName; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-getStorageEncryptionStatus-(I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-hasGrantedPolicy-(Landroid/content/ComponentName; I I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-isActivePasswordSufficient-(I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-isAdminActive-(Landroid/content/ComponentName; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-lockNow-()V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-packageHasActiveAdmins-(Ljava/lang/String; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-removeActiveAdmin-(Landroid/content/ComponentName; I)V": [ "android.permission.BIND_DEVICE_ADMIN", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-reportFailedPasswordAttempt-(I)V": [ "android.permission.BIND_DEVICE_ADMIN", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-reportSuccessfulPasswordAttempt-(I)V": [ "android.permission.BIND_DEVICE_ADMIN", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-resetPassword-(Ljava/lang/String; I I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-setActiveAdmin-(Landroid/content/ComponentName; Z I)V": [ "android.permission.BIND_DEVICE_ADMIN", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-setActivePasswordState-(I I I I I I I I I)V": [ "android.permission.BIND_DEVICE_ADMIN", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-setCameraDisabled-(Landroid/content/ComponentName; Z I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-setGlobalProxy-(Landroid/content/ComponentName; Ljava/lang/String; Ljava/lang/String; I)Landroid/content/ComponentName;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-setKeyguardDisabledFeatures-(Landroid/content/ComponentName; I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-setMaximumFailedPasswordsForWipe-(Landroid/content/ComponentName; I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-setMaximumTimeToLock-(Landroid/content/ComponentName; J I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-setPasswordExpirationTimeout-(Landroid/content/ComponentName; J I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-setPasswordHistoryLength-(Landroid/content/ComponentName; I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-setPasswordMinimumLength-(Landroid/content/ComponentName; I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-setPasswordMinimumLetters-(Landroid/content/ComponentName; I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-setPasswordMinimumLowerCase-(Landroid/content/ComponentName; I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-setPasswordMinimumNonLetter-(Landroid/content/ComponentName; I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-setPasswordMinimumNumeric-(Landroid/content/ComponentName; I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-setPasswordMinimumSymbols-(Landroid/content/ComponentName; I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-setPasswordMinimumUpperCase-(Landroid/content/ComponentName; I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-setPasswordQuality-(Landroid/content/ComponentName; I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-setStorageEncryption-(Landroid/content/ComponentName; Z I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-wipeData-(I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DropBoxManagerService;-getNextEntry-(Ljava/lang/String; J)Landroid/os/DropBoxManager$Entry;": [ "android.permission.READ_LOGS" ], "Lcom/android/server/InputMethodManagerService;-addClient-(Lcom/android/internal/view/IInputMethodClient; Lcom/android/internal/view/IInputContext; I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-getCurrentInputMethodSubtype-()Landroid/view/inputmethod/InputMethodSubtype;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-getEnabledInputMethodList-()Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-getEnabledInputMethodSubtypeList-(Landroid/view/inputmethod/InputMethodInfo; Z)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-getInputMethodList-()Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-getLastInputMethodSubtype-()Landroid/view/inputmethod/InputMethodSubtype;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-hideMySoftInput-(Landroid/os/IBinder; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-hideSoftInput-(Lcom/android/internal/view/IInputMethodClient; I Landroid/os/ResultReceiver;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-notifySuggestionPicked-(Landroid/text/style/SuggestionSpan; Ljava/lang/String; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-registerSuggestionSpansForNotification-([Landroid/text/style/SuggestionSpan;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-removeClient-(Lcom/android/internal/view/IInputMethodClient;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-setAdditionalInputMethodSubtypes-(Ljava/lang/String; [Landroid/view/inputmethod/InputMethodSubtype;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-setCurrentInputMethodSubtype-(Landroid/view/inputmethod/InputMethodSubtype;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-setInputMethod-(Landroid/os/IBinder; Ljava/lang/String;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/InputMethodManagerService;-setInputMethodAndSubtype-(Landroid/os/IBinder; Ljava/lang/String; Landroid/view/inputmethod/InputMethodSubtype;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/InputMethodManagerService;-setInputMethodEnabled-(Ljava/lang/String; Z)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/InputMethodManagerService;-showInputMethodAndSubtypeEnablerFromClient-(Lcom/android/internal/view/IInputMethodClient; Ljava/lang/String;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-showInputMethodPickerFromClient-(Lcom/android/internal/view/IInputMethodClient;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-showMySoftInput-(Landroid/os/IBinder; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-showSoftInput-(Lcom/android/internal/view/IInputMethodClient; I Landroid/os/ResultReceiver;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-startInput-(Lcom/android/internal/view/IInputMethodClient; Lcom/android/internal/view/IInputContext; Landroid/view/inputmethod/EditorInfo; I)Lcom/android/internal/view/InputBindResult;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-switchToLastInputMethod-(Landroid/os/IBinder;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/InputMethodManagerService;-switchToNextInputMethod-(Landroid/os/IBinder; Z)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/InputMethodManagerService;-windowGainedFocus-(Lcom/android/internal/view/IInputMethodClient; Landroid/os/IBinder; I I I Landroid/view/inputmethod/EditorInfo; Lcom/android/internal/view/IInputContext;)Lcom/android/internal/view/InputBindResult;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/LocationManagerService;-addGpsStatusListener-(Landroid/location/IGpsStatusListener; Ljava/lang/String;)Z": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-addTestProvider-(Ljava/lang/String; Lcom/android/internal/location/ProviderProperties;)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Lcom/android/server/LocationManagerService;-clearTestProviderEnabled-(Ljava/lang/String;)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Lcom/android/server/LocationManagerService;-clearTestProviderLocation-(Ljava/lang/String;)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Lcom/android/server/LocationManagerService;-clearTestProviderStatus-(Ljava/lang/String;)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Lcom/android/server/LocationManagerService;-getBestProvider-(Landroid/location/Criteria; Z)Ljava/lang/String;": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-getLastLocation-(Landroid/location/LocationRequest; Ljava/lang/String;)Landroid/location/Location;": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-getProviderProperties-(Ljava/lang/String;)Lcom/android/internal/location/ProviderProperties;": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-getProviders-(Landroid/location/Criteria; Z)Ljava/util/List;": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-isProviderEnabled-(Ljava/lang/String;)Z": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-removeGeofence-(Landroid/location/Geofence; Landroid/app/PendingIntent; Ljava/lang/String;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-removeTestProvider-(Ljava/lang/String;)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Lcom/android/server/LocationManagerService;-removeUpdates-(Landroid/location/ILocationListener; Landroid/app/PendingIntent; Ljava/lang/String;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-reportLocation-(Landroid/location/Location; Z)V": [ "android.permission.INSTALL_LOCATION_PROVIDER" ], "Lcom/android/server/LocationManagerService;-requestGeofence-(Landroid/location/LocationRequest; Landroid/location/Geofence; Landroid/app/PendingIntent; Ljava/lang/String;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-requestLocationUpdates-(Landroid/location/LocationRequest; Landroid/location/ILocationListener; Landroid/app/PendingIntent; Ljava/lang/String;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-sendExtraCommand-(Ljava/lang/String; Ljava/lang/String; Landroid/os/Bundle;)Z": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION", "android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" ], "Lcom/android/server/LocationManagerService;-setTestProviderEnabled-(Ljava/lang/String; Z)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Lcom/android/server/LocationManagerService;-setTestProviderLocation-(Ljava/lang/String; Landroid/location/Location;)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Lcom/android/server/LocationManagerService;-setTestProviderStatus-(Ljava/lang/String; I Landroid/os/Bundle; J)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Lcom/android/server/LockSettingsService;-getBoolean-(Ljava/lang/String; Z I)Z": [ "android.permission.READ_PROFILE" ], "Lcom/android/server/LockSettingsService;-getLong-(Ljava/lang/String; J I)J": [ "android.permission.READ_PROFILE" ], "Lcom/android/server/LockSettingsService;-getString-(Ljava/lang/String; Ljava/lang/String; I)Ljava/lang/String;": [ "android.permission.READ_PROFILE" ], "Lcom/android/server/MountService;-changeEncryptionPassword-(Ljava/lang/String;)I": [ "android.permission.CRYPT_KEEPER" ], "Lcom/android/server/MountService;-createSecureContainer-(Ljava/lang/String; I Ljava/lang/String; Ljava/lang/String; I Z)I": [ "android.permission.ASEC_CREATE" ], "Lcom/android/server/MountService;-decryptStorage-(Ljava/lang/String;)I": [ "android.permission.CRYPT_KEEPER" ], "Lcom/android/server/MountService;-destroySecureContainer-(Ljava/lang/String; Z)I": [ "android.permission.ASEC_DESTROY" ], "Lcom/android/server/MountService;-encryptStorage-(Ljava/lang/String;)I": [ "android.permission.CRYPT_KEEPER" ], "Lcom/android/server/MountService;-finalizeSecureContainer-(Ljava/lang/String;)I": [ "android.permission.ASEC_CREATE" ], "Lcom/android/server/MountService;-fixPermissionsSecureContainer-(Ljava/lang/String; I Ljava/lang/String;)I": [ "android.permission.ASEC_CREATE" ], "Lcom/android/server/MountService;-formatVolume-(Ljava/lang/String;)I": [ "android.permission.MOUNT_FORMAT_FILESYSTEMS" ], "Lcom/android/server/MountService;-getEncryptionState-()I": [ "android.permission.CRYPT_KEEPER" ], "Lcom/android/server/MountService;-getSecureContainerFilesystemPath-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.ASEC_ACCESS" ], "Lcom/android/server/MountService;-getSecureContainerList-()[Ljava/lang/String;": [ "android.permission.ASEC_ACCESS" ], "Lcom/android/server/MountService;-getSecureContainerPath-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.ASEC_ACCESS" ], "Lcom/android/server/MountService;-getStorageUsers-(Ljava/lang/String;)[I": [ "android.permission.MOUNT_UNMOUNT_FILESYSTEMS" ], "Lcom/android/server/MountService;-getVolumeList-()[Landroid/os/storage/StorageVolume;": [ "android.permission.ACCESS_ALL_EXTERNAL_STORAGE" ], "Lcom/android/server/MountService;-isSecureContainerMounted-(Ljava/lang/String;)Z": [ "android.permission.ASEC_ACCESS" ], "Lcom/android/server/MountService;-mountSecureContainer-(Ljava/lang/String; Ljava/lang/String; I)I": [ "android.permission.ASEC_MOUNT_UNMOUNT" ], "Lcom/android/server/MountService;-mountVolume-(Ljava/lang/String;)I": [ "android.permission.MOUNT_UNMOUNT_FILESYSTEMS" ], "Lcom/android/server/MountService;-renameSecureContainer-(Ljava/lang/String; Ljava/lang/String;)I": [ "android.permission.ASEC_RENAME" ], "Lcom/android/server/MountService;-setUsbMassStorageEnabled-(Z)V": [ "android.permission.MOUNT_UNMOUNT_FILESYSTEMS" ], "Lcom/android/server/MountService;-shutdown-(Landroid/os/storage/IMountShutdownObserver;)V": [ "android.permission.SHUTDOWN" ], "Lcom/android/server/MountService;-unmountSecureContainer-(Ljava/lang/String; Z)I": [ "android.permission.ASEC_MOUNT_UNMOUNT" ], "Lcom/android/server/MountService;-unmountVolume-(Ljava/lang/String; Z Z)V": [ "android.permission.MOUNT_UNMOUNT_FILESYSTEMS" ], "Lcom/android/server/MountService;-verifyEncryptionPassword-(Ljava/lang/String;)I": [ "android.permission.CRYPT_KEEPER" ], "Lcom/android/server/NetworkManagementService;-addIdleTimer-(Ljava/lang/String; I Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-addRoute-(Ljava/lang/String; Landroid/net/RouteInfo;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-addSecondaryRoute-(Ljava/lang/String; Landroid/net/RouteInfo;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-attachPppd-(Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-clearDnsInterfaceForPid-(I)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-clearInterfaceAddresses-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-detachPppd-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-disableIpv6-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-disableNat-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-enableIpv6-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-enableNat-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-flushDefaultDnsCache-()V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-flushInterfaceDnsCache-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getDnsForwarders-()[Ljava/lang/String;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getInterfaceConfig-(Ljava/lang/String;)Landroid/net/InterfaceConfiguration;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getIpForwardingEnabled-()Z": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getNetworkStatsDetail-()Landroid/net/NetworkStats;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getNetworkStatsSummaryDev-()Landroid/net/NetworkStats;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getNetworkStatsSummaryXt-()Landroid/net/NetworkStats;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getNetworkStatsTethering-([Ljava/lang/String;)Landroid/net/NetworkStats;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getNetworkStatsUidDetail-(I)Landroid/net/NetworkStats;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getRoutes-(Ljava/lang/String;)[Landroid/net/RouteInfo;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-isBandwidthControlEnabled-()Z": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-isClatdStarted-()Z": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-isTetheringStarted-()Z": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-listInterfaces-()[Ljava/lang/String;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-listTetheredInterfaces-()[Ljava/lang/String;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-listTtys-()[Ljava/lang/String;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-registerObserver-(Landroid/net/INetworkManagementEventObserver;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-removeIdleTimer-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-removeInterfaceAlert-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-removeInterfaceQuota-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-removeRoute-(Ljava/lang/String; Landroid/net/RouteInfo;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-removeSecondaryRoute-(Ljava/lang/String; Landroid/net/RouteInfo;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setAccessPoint-(Landroid/net/wifi/WifiConfiguration; Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setDefaultInterfaceForDns-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setDnsForwarders-([Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setDnsInterfaceForPid-(Ljava/lang/String; I)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setDnsServersForInterface-(Ljava/lang/String; [Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setGlobalAlert-(J)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setInterfaceAlert-(Ljava/lang/String; J)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setInterfaceConfig-(Ljava/lang/String; Landroid/net/InterfaceConfiguration;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setInterfaceDown-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setInterfaceIpv6PrivacyExtensions-(Ljava/lang/String; Z)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setInterfaceQuota-(Ljava/lang/String; J)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setInterfaceUp-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setIpForwardingEnabled-(Z)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setUidNetworkRules-(I Z)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-shutdown-()V": [ "android.permission.SHUTDOWN" ], "Lcom/android/server/NetworkManagementService;-startAccessPoint-(Landroid/net/wifi/WifiConfiguration; Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-startClatd-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-startTethering-([Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-stopAccessPoint-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-stopClatd-()V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-stopTethering-()V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-tetherInterface-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-unregisterObserver-(Landroid/net/INetworkManagementEventObserver;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-untetherInterface-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-wifiFirmwareReload-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NotificationManagerService;-getActiveNotifications-(Ljava/lang/String;)[Landroid/service/notification/StatusBarNotification;": [ "android.permission.ACCESS_NOTIFICATIONS" ], "Lcom/android/server/NotificationManagerService;-getHistoricalNotifications-(Ljava/lang/String; I)[Landroid/service/notification/StatusBarNotification;": [ "android.permission.ACCESS_NOTIFICATIONS" ], "Lcom/android/server/NsdService;-getMessenger-()Landroid/os/Messenger;": [ "android.permission.INTERNET" ], "Lcom/android/server/NsdService;-setEnabled-(Z)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/SerialService;-getSerialPorts-()[Ljava/lang/String;": [ "android.permission.SERIAL_PORT" ], "Lcom/android/server/SerialService;-openSerialPort-(Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;": [ "android.permission.SERIAL_PORT" ], "Lcom/android/server/StatusBarManagerService;-collapsePanels-()V": [ "android.permission.EXPAND_STATUS_BAR" ], "Lcom/android/server/StatusBarManagerService;-disable-(I Landroid/os/IBinder; Ljava/lang/String;)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/StatusBarManagerService;-expandNotificationsPanel-()V": [ "android.permission.EXPAND_STATUS_BAR" ], "Lcom/android/server/StatusBarManagerService;-expandSettingsPanel-()V": [ "android.permission.EXPAND_STATUS_BAR" ], "Lcom/android/server/StatusBarManagerService;-onClearAllNotifications-()V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/StatusBarManagerService;-onNotificationClear-(Ljava/lang/String; Ljava/lang/String; I)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/StatusBarManagerService;-onNotificationClick-(Ljava/lang/String; Ljava/lang/String; I)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/StatusBarManagerService;-onNotificationError-(Ljava/lang/String; Ljava/lang/String; I I I Ljava/lang/String;)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/StatusBarManagerService;-onPanelRevealed-()V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/StatusBarManagerService;-registerStatusBar-(Lcom/android/internal/statusbar/IStatusBar; Lcom/android/internal/statusbar/StatusBarIconList; Ljava/util/List; Ljava/util/List; [I Ljava/util/List;)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/StatusBarManagerService;-removeIcon-(Ljava/lang/String;)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/StatusBarManagerService;-setIcon-(Ljava/lang/String; Ljava/lang/String; I I Ljava/lang/String;)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/StatusBarManagerService;-setIconVisibility-(Ljava/lang/String; Z)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/StatusBarManagerService;-setImeWindowStatus-(Landroid/os/IBinder; I I)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/StatusBarManagerService;-setSystemUiVisibility-(I I)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/StatusBarManagerService;-topAppWindowChanged-(Z)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/TelephonyRegistry;-listen-(Ljava/lang/String; Lcom/android/internal/telephony/IPhoneStateListener; I Z)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.READ_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyCallForwardingChanged-(Z)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyCallState-(I Ljava/lang/String;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyCellInfo-(Ljava/util/List;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyCellLocation-(Landroid/os/Bundle;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyDataActivity-(I)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyDataConnection-(I Z Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Landroid/net/LinkProperties; Landroid/net/LinkCapabilities; I Z)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyDataConnectionFailed-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyMessageWaitingChanged-(Z)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyOtaspChanged-(I)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyServiceState-(Landroid/telephony/ServiceState;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifySignalStrength-(Landroid/telephony/SignalStrength;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TextServicesManagerService;-setCurrentSpellChecker-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/TextServicesManagerService;-setCurrentSpellCheckerSubtype-(Ljava/lang/String; I)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/TextServicesManagerService;-setSpellCheckerEnabled-(Z)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/UpdateLockService;-acquireUpdateLock-(Landroid/os/IBinder; Ljava/lang/String;)V": [ "android.permission.UPDATE_LOCK" ], "Lcom/android/server/UpdateLockService;-releaseUpdateLock-(Landroid/os/IBinder;)V": [ "android.permission.UPDATE_LOCK" ], "Lcom/android/server/VibratorService;-cancelVibrate-(Landroid/os/IBinder;)V": [ "android.permission.VIBRATE" ], "Lcom/android/server/VibratorService;-vibrate-(I Ljava/lang/String; J Landroid/os/IBinder;)V": [ "android.permission.UPDATE_APP_OPS_STATS", "android.permission.VIBRATE" ], "Lcom/android/server/VibratorService;-vibratePattern-(I Ljava/lang/String; [J I Landroid/os/IBinder;)V": [ "android.permission.UPDATE_APP_OPS_STATS", "android.permission.VIBRATE" ], "Lcom/android/server/WallpaperManagerService;-setDimensionHints-(I I)V": [ "android.permission.SET_WALLPAPER_HINTS" ], "Lcom/android/server/WallpaperManagerService;-setWallpaper-(Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;": [ "android.permission.SET_WALLPAPER" ], "Lcom/android/server/WallpaperManagerService;-setWallpaperComponent-(Landroid/content/ComponentName;)V": [ "android.permission.SET_WALLPAPER_COMPONENT" ], "Lcom/android/server/accessibility/AccessibilityManagerService$Service;-findAccessibilityNodeInfoByAccessibilityId-(I J I Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback; I J)Z": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService$Service;-findAccessibilityNodeInfosByText-(I J Ljava/lang/String; I Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback; J)Z": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService$Service;-findAccessibilityNodeInfosByViewId-(I J Ljava/lang/String; I Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback; J)Z": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService$Service;-findFocus-(I J I I Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback; J)Z": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService$Service;-focusSearch-(I J I I Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback; J)Z": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService$Service;-performAccessibilityAction-(I J I Landroid/os/Bundle; I Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback; J)Z": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService$Service;-performGlobalAction-(I)Z": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService;-addAccessibilityInteractionConnection-(Landroid/view/IWindow; Landroid/view/accessibility/IAccessibilityInteractionConnection; I)I": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService;-addClient-(Landroid/view/accessibility/IAccessibilityManagerClient; I)I": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService;-getEnabledAccessibilityServiceList-(I I)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService;-getInstalledAccessibilityServiceList-(I)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService;-interrupt-(I)V": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService;-removeAccessibilityInteractionConnection-(Landroid/view/IWindow;)V": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService;-sendAccessibilityEvent-(Landroid/view/accessibility/AccessibilityEvent; I)Z": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService;-temporaryEnableAccessibilityStateUntilKeyguardRemoved-(Landroid/content/ComponentName; Z)V": [ "temporaryEnableAccessibilityStateUntilKeyguardRemoved" ], "Lcom/android/server/accounts/AccountManagerService;-addAccount-(Landroid/accounts/IAccountManagerResponse; Ljava/lang/String; Ljava/lang/String; [Ljava/lang/String; Z Landroid/os/Bundle;)V": [ "android.permission.MANAGE_ACCOUNTS" ], "Lcom/android/server/accounts/AccountManagerService;-addAccountExplicitly-(Landroid/accounts/Account; Ljava/lang/String; Landroid/os/Bundle;)Z": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Lcom/android/server/accounts/AccountManagerService;-clearPassword-(Landroid/accounts/Account;)V": [ "android.permission.MANAGE_ACCOUNTS" ], "Lcom/android/server/accounts/AccountManagerService;-confirmCredentialsAsUser-(Landroid/accounts/IAccountManagerResponse; Landroid/accounts/Account; Landroid/os/Bundle; Z I)V": [ "android.permission.MANAGE_ACCOUNTS" ], "Lcom/android/server/accounts/AccountManagerService;-editProperties-(Landroid/accounts/IAccountManagerResponse; Ljava/lang/String; Z)V": [ "android.permission.MANAGE_ACCOUNTS" ], "Lcom/android/server/accounts/AccountManagerService;-getAccounts-(Ljava/lang/String;)[Landroid/accounts/Account;": [ "android.permission.GET_ACCOUNTS" ], "Lcom/android/server/accounts/AccountManagerService;-getAccountsAsUser-(Ljava/lang/String; I)[Landroid/accounts/Account;": [ "android.permission.GET_ACCOUNTS" ], "Lcom/android/server/accounts/AccountManagerService;-getAccountsByFeatures-(Landroid/accounts/IAccountManagerResponse; Ljava/lang/String; [Ljava/lang/String;)V": [ "android.permission.GET_ACCOUNTS" ], "Lcom/android/server/accounts/AccountManagerService;-getAccountsByTypeForPackage-(Ljava/lang/String; Ljava/lang/String;)[Landroid/accounts/Account;": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accounts/AccountManagerService;-getAccountsForPackage-(Ljava/lang/String; I)[Landroid/accounts/Account;": [ "android.permission.GET_ACCOUNTS" ], "Lcom/android/server/accounts/AccountManagerService;-getAuthToken-(Landroid/accounts/IAccountManagerResponse; Landroid/accounts/Account; Ljava/lang/String; Z Z Landroid/os/Bundle;)V": [ "android.permission.USE_CREDENTIALS" ], "Lcom/android/server/accounts/AccountManagerService;-getPassword-(Landroid/accounts/Account;)Ljava/lang/String;": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Lcom/android/server/accounts/AccountManagerService;-getUserData-(Landroid/accounts/Account; Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Lcom/android/server/accounts/AccountManagerService;-hasFeatures-(Landroid/accounts/IAccountManagerResponse; Landroid/accounts/Account; [Ljava/lang/String;)V": [ "android.permission.GET_ACCOUNTS" ], "Lcom/android/server/accounts/AccountManagerService;-invalidateAuthToken-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.MANAGE_ACCOUNTS", "android.permission.USE_CREDENTIALS" ], "Lcom/android/server/accounts/AccountManagerService;-peekAuthToken-(Landroid/accounts/Account; Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Lcom/android/server/accounts/AccountManagerService;-removeAccount-(Landroid/accounts/IAccountManagerResponse; Landroid/accounts/Account;)V": [ "android.permission.MANAGE_ACCOUNTS" ], "Lcom/android/server/accounts/AccountManagerService;-setAuthToken-(Landroid/accounts/Account; Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Lcom/android/server/accounts/AccountManagerService;-setPassword-(Landroid/accounts/Account; Ljava/lang/String;)V": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Lcom/android/server/accounts/AccountManagerService;-setUserData-(Landroid/accounts/Account; Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Lcom/android/server/accounts/AccountManagerService;-updateCredentials-(Landroid/accounts/IAccountManagerResponse; Landroid/accounts/Account; Ljava/lang/String; Z Landroid/os/Bundle;)V": [ "android.permission.MANAGE_ACCOUNTS" ], "Lcom/android/server/am/ActivityManagerService;-activitySlept-(Landroid/os/IBinder;)V": [ "android.permission.BROADCAST_STICKY", "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-activityStopped-(Landroid/os/IBinder; Landroid/os/Bundle; Landroid/graphics/Bitmap; Ljava/lang/CharSequence;)V": [ "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-bindBackupAgent-(Landroid/content/pm/ApplicationInfo; I)Z": [ "android.permission.BACKUP", "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-bindService-(Landroid/app/IApplicationThread; Landroid/os/IBinder; Landroid/content/Intent; Ljava/lang/String; Landroid/app/IServiceConnection; I I)I": [ "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-clearPendingBackup-()V": [ "android.permission.BACKUP" ], "Lcom/android/server/am/ActivityManagerService;-crashApplication-(I I Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.FORCE_STOP_PACKAGES" ], "Lcom/android/server/am/ActivityManagerService;-dismissKeyguardOnNextActivity-()V": [ "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-dumpHeap-(Ljava/lang/String; I Z Ljava/lang/String; Landroid/os/ParcelFileDescriptor;)Z": [ "android.permission.SET_ACTIVITY_WATCHER" ], "Lcom/android/server/am/ActivityManagerService;-finishHeavyWeightApp-()V": [ "android.permission.FORCE_STOP_PACKAGES", "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-finishReceiver-(Landroid/os/IBinder; I Ljava/lang/String; Landroid/os/Bundle; Z)V": [ "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-forceStopPackage-(Ljava/lang/String; I)V": [ "android.permission.FORCE_STOP_PACKAGES", "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-getContentProviderExternal-(Ljava/lang/String; I Landroid/os/IBinder;)Landroid/app/IActivityManager$ContentProviderHolder;": [ "android.permission.ACCESS_CONTENT_PROVIDERS_EXTERNALLY" ], "Lcom/android/server/am/ActivityManagerService;-getCurrentUser-()Landroid/content/pm/UserInfo;": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/am/ActivityManagerService;-getRecentTasks-(I I I)Ljava/util/List;": [ "android.permission.GET_TASKS" ], "Lcom/android/server/am/ActivityManagerService;-getRunningUserIds-()[I": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/am/ActivityManagerService;-getTaskThumbnails-(I)Landroid/app/ActivityManager$TaskThumbnails;": [ "android.permission.READ_FRAME_BUFFER" ], "Lcom/android/server/am/ActivityManagerService;-getTaskTopThumbnail-(I)Landroid/graphics/Bitmap;": [ "android.permission.READ_FRAME_BUFFER" ], "Lcom/android/server/am/ActivityManagerService;-getTasks-(I I Landroid/app/IThumbnailReceiver;)Ljava/util/List;": [ "android.permission.GET_TASKS" ], "Lcom/android/server/am/ActivityManagerService;-getTopActivityExtras-(I)Landroid/os/Bundle;": [ "android.permission.GET_TOP_ACTIVITY_INFO" ], "Lcom/android/server/am/ActivityManagerService;-goingToSleep-()V": [ "android.permission.DEVICE_POWER", "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-handleApplicationCrash-(Landroid/os/IBinder; Landroid/app/ApplicationErrorReport$CrashInfo;)V": [ "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-handleApplicationWtf-(Landroid/os/IBinder; Ljava/lang/String; Landroid/app/ApplicationErrorReport$CrashInfo;)Z": [ "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-hang-(Landroid/os/IBinder; Z)V": [ "android.permission.SET_ACTIVITY_WATCHER" ], "Lcom/android/server/am/ActivityManagerService;-inputDispatchingTimedOut-(I Z)J": [ "android.permission.FILTER_EVENTS", "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-isUserRunning-(I Z)Z": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/am/ActivityManagerService;-killAllBackgroundProcesses-()V": [ "android.permission.KILL_BACKGROUND_PROCESSES", "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-killBackgroundProcesses-(Ljava/lang/String; I)V": [ "android.permission.KILL_BACKGROUND_PROCESSES" ], "Lcom/android/server/am/ActivityManagerService;-killUid-(I Ljava/lang/String;)V": [ "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-moveActivityTaskToBack-(Landroid/os/IBinder; Z)Z": [ "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-moveTaskBackwards-(I)V": [ "android.permission.REORDER_TASKS" ], "Lcom/android/server/am/ActivityManagerService;-moveTaskToBack-(I)V": [ "android.permission.REORDER_TASKS" ], "Lcom/android/server/am/ActivityManagerService;-moveTaskToFront-(I I Landroid/os/Bundle;)V": [ "android.permission.REORDER_TASKS", "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-navigateUpTo-(Landroid/os/IBinder; Landroid/content/Intent; I Landroid/content/Intent;)Z": [ "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-profileControl-(Ljava/lang/String; I Z Ljava/lang/String; Landroid/os/ParcelFileDescriptor; I)Z": [ "android.permission.SET_ACTIVITY_WATCHER" ], "Lcom/android/server/am/ActivityManagerService;-registerProcessObserver-(Landroid/app/IProcessObserver;)V": [ "android.permission.SET_ACTIVITY_WATCHER" ], "Lcom/android/server/am/ActivityManagerService;-registerUserSwitchObserver-(Landroid/app/IUserSwitchObserver;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/am/ActivityManagerService;-removeContentProviderExternal-(Ljava/lang/String; Landroid/os/IBinder;)V": [ "android.permission.ACCESS_CONTENT_PROVIDERS_EXTERNALLY", "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-removeSubTask-(I I)Z": [ "android.permission.REMOVE_TASKS" ], "Lcom/android/server/am/ActivityManagerService;-removeTask-(I I)Z": [ "android.permission.REMOVE_TASKS" ], "Lcom/android/server/am/ActivityManagerService;-requestBugReport-()V": [ "android.permission.DUMP" ], "Lcom/android/server/am/ActivityManagerService;-resumeAppSwitches-()V": [ "android.permission.STOP_APP_SWITCHES" ], "Lcom/android/server/am/ActivityManagerService;-setActivityController-(Landroid/app/IActivityController;)V": [ "android.permission.SET_ACTIVITY_WATCHER" ], "Lcom/android/server/am/ActivityManagerService;-setAlwaysFinish-(Z)V": [ "android.permission.SET_ALWAYS_FINISH" ], "Lcom/android/server/am/ActivityManagerService;-setDebugApp-(Ljava/lang/String; Z Z)V": [ "android.permission.SET_DEBUG_APP" ], "Lcom/android/server/am/ActivityManagerService;-setFrontActivityScreenCompatMode-(I)V": [ "android.permission.SET_SCREEN_COMPATIBILITY", "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-setLockScreenShown-(Z)V": [ "android.permission.DEVICE_POWER", "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-setPackageAskScreenCompat-(Ljava/lang/String; Z)V": [ "android.permission.SET_SCREEN_COMPATIBILITY" ], "Lcom/android/server/am/ActivityManagerService;-setPackageScreenCompatMode-(Ljava/lang/String; I)V": [ "android.permission.SET_SCREEN_COMPATIBILITY", "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-setProcessForeground-(Landroid/os/IBinder; I Z)V": [ "android.permission.SET_PROCESS_LIMIT", "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-setProcessLimit-(I)V": [ "android.permission.SET_PROCESS_LIMIT", "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-setRequestedOrientation-(Landroid/os/IBinder; I)V": [ "android.permission.BROADCAST_STICKY", "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-shutdown-(I)Z": [ "android.permission.SHUTDOWN", "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-signalPersistentProcesses-(I)V": [ "android.permission.SIGNAL_PERSISTENT_PROCESSES" ], "Lcom/android/server/am/ActivityManagerService;-startActivities-(Landroid/app/IApplicationThread; Ljava/lang/String; [Landroid/content/Intent; [Ljava/lang/String; Landroid/os/IBinder; Landroid/os/Bundle; I)I": [ "android.permission.SET_DEBUG_APP" ], "Lcom/android/server/am/ActivityManagerService;-startActivity-(Landroid/app/IApplicationThread; Ljava/lang/String; Landroid/content/Intent; Ljava/lang/String; Landroid/os/IBinder; Ljava/lang/String; I I Ljava/lang/String; Landroid/os/ParcelFileDescriptor; Landroid/os/Bundle;)I": [ "android.permission.SET_DEBUG_APP" ], "Lcom/android/server/am/ActivityManagerService;-startActivityAndWait-(Landroid/app/IApplicationThread; Ljava/lang/String; Landroid/content/Intent; Ljava/lang/String; Landroid/os/IBinder; Ljava/lang/String; I I Ljava/lang/String; Landroid/os/ParcelFileDescriptor; Landroid/os/Bundle; I)Landroid/app/IActivityManager$WaitResult;": [ "android.permission.SET_DEBUG_APP" ], "Lcom/android/server/am/ActivityManagerService;-startActivityAsUser-(Landroid/app/IApplicationThread; Ljava/lang/String; Landroid/content/Intent; Ljava/lang/String; Landroid/os/IBinder; Ljava/lang/String; I I Ljava/lang/String; Landroid/os/ParcelFileDescriptor; Landroid/os/Bundle; I)I": [ "android.permission.SET_DEBUG_APP" ], "Lcom/android/server/am/ActivityManagerService;-startActivityWithConfig-(Landroid/app/IApplicationThread; Ljava/lang/String; Landroid/content/Intent; Ljava/lang/String; Landroid/os/IBinder; Ljava/lang/String; I I Landroid/content/res/Configuration; Landroid/os/Bundle; I)I": [ "android.permission.SET_DEBUG_APP" ], "Lcom/android/server/am/ActivityManagerService;-startRunning-(Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.BROADCAST_STICKY", "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-stopAppSwitches-()V": [ "android.permission.START_ANY_ACTIVITY", "android.permission.STOP_APP_SWITCHES" ], "Lcom/android/server/am/ActivityManagerService;-stopUser-(I Landroid/app/IStopUserCallback;)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/am/ActivityManagerService;-switchUser-(I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/am/ActivityManagerService;-unbroadcastIntent-(Landroid/app/IApplicationThread; Landroid/content/Intent; I)V": [ "android.permission.BROADCAST_STICKY" ], "Lcom/android/server/am/ActivityManagerService;-unhandledBack-()V": [ "android.permission.FORCE_BACK" ], "Lcom/android/server/am/ActivityManagerService;-unregisterReceiver-(Landroid/content/IIntentReceiver;)V": [ "android.permission.BROADCAST_STICKY", "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-updateConfiguration-(Landroid/content/res/Configuration;)V": [ "android.permission.CHANGE_CONFIGURATION" ], "Lcom/android/server/am/ActivityManagerService;-updatePersistentConfiguration-(Landroid/content/res/Configuration;)V": [ "android.permission.CHANGE_CONFIGURATION" ], "Lcom/android/server/am/ActivityManagerService;-wakingUp-()V": [ "android.permission.DEVICE_POWER", "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/BatteryStatsService;-getAwakeTimeBattery-()J": [ "android.permission.BATTERY_STATS" ], "Lcom/android/server/am/BatteryStatsService;-getAwakeTimePlugged-()J": [ "android.permission.BATTERY_STATS" ], "Lcom/android/server/am/BatteryStatsService;-getStatistics-()[B": [ "android.permission.BATTERY_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteBluetoothOff-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteBluetoothOn-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteFullWifiLockAcquired-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteFullWifiLockAcquiredFromSource-(Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteFullWifiLockReleased-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteFullWifiLockReleasedFromSource-(Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteInputEvent-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteNetworkInterfaceType-(Ljava/lang/String; I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-notePhoneDataConnectionState-(I Z)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-notePhoneOff-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-notePhoneOn-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-notePhoneSignalStrength-(Landroid/telephony/SignalStrength;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-notePhoneState-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteScreenBrightness-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteScreenOff-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteScreenOn-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStartGps-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStartSensor-(I I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStartWakelock-(I I Ljava/lang/String; I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStartWakelockFromSource-(Landroid/os/WorkSource; I Ljava/lang/String; I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStopGps-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStopSensor-(I I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStopWakelock-(I I Ljava/lang/String; I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStopWakelockFromSource-(Landroid/os/WorkSource; I Ljava/lang/String; I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteUserActivity-(I I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteVibratorOff-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteVibratorOn-(I J)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiMulticastDisabled-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiMulticastDisabledFromSource-(Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiMulticastEnabled-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiMulticastEnabledFromSource-(Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiOff-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiOn-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiRunning-(Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiRunningChanged-(Landroid/os/WorkSource; Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiScanStarted-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiScanStartedFromSource-(Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiScanStopped-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiScanStoppedFromSource-(Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiStopped-(Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-setBatteryState-(I I I I I I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/UsageStatsService;-getAllPkgUsageStats-()[Lcom/android/internal/os/PkgUsageStats;": [ "android.permission.PACKAGE_USAGE_STATS" ], "Lcom/android/server/am/UsageStatsService;-getPkgUsageStats-(Landroid/content/ComponentName;)Lcom/android/internal/os/PkgUsageStats;": [ "android.permission.PACKAGE_USAGE_STATS" ], "Lcom/android/server/am/UsageStatsService;-noteLaunchTime-(Landroid/content/ComponentName; I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/UsageStatsService;-notePauseComponent-(Landroid/content/ComponentName;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/UsageStatsService;-noteResumeComponent-(Landroid/content/ComponentName;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/content/ContentService;-addPeriodicSync-(Landroid/accounts/Account; Ljava/lang/String; Landroid/os/Bundle; J)V": [ "android.permission.WRITE_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-getCurrentSyncs-()Ljava/util/List;": [ "android.permission.READ_SYNC_STATS" ], "Lcom/android/server/content/ContentService;-getIsSyncable-(Landroid/accounts/Account; Ljava/lang/String;)I": [ "android.permission.READ_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-getMasterSyncAutomatically-()Z": [ "android.permission.READ_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-getPeriodicSyncs-(Landroid/accounts/Account; Ljava/lang/String;)Ljava/util/List;": [ "android.permission.READ_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-getSyncAutomatically-(Landroid/accounts/Account; Ljava/lang/String;)Z": [ "android.permission.READ_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-getSyncStatus-(Landroid/accounts/Account; Ljava/lang/String;)Landroid/content/SyncStatusInfo;": [ "android.permission.READ_SYNC_STATS" ], "Lcom/android/server/content/ContentService;-isSyncActive-(Landroid/accounts/Account; Ljava/lang/String;)Z": [ "android.permission.READ_SYNC_STATS" ], "Lcom/android/server/content/ContentService;-isSyncPending-(Landroid/accounts/Account; Ljava/lang/String;)Z": [ "android.permission.READ_SYNC_STATS" ], "Lcom/android/server/content/ContentService;-registerContentObserver-(Landroid/net/Uri; Z Landroid/database/IContentObserver; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/content/ContentService;-removePeriodicSync-(Landroid/accounts/Account; Ljava/lang/String; Landroid/os/Bundle;)V": [ "android.permission.WRITE_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-setIsSyncable-(Landroid/accounts/Account; Ljava/lang/String; I)V": [ "android.permission.WRITE_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-setMasterSyncAutomatically-(Z)V": [ "android.permission.WRITE_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-setSyncAutomatically-(Landroid/accounts/Account; Ljava/lang/String; Z)V": [ "android.permission.WRITE_SYNC_SETTINGS" ], "Lcom/android/server/display/DisplayManagerService;-connectWifiDisplay-(Ljava/lang/String;)V": [ "android.permission.CONFIGURE_WIFI_DISPLAY" ], "Lcom/android/server/display/DisplayManagerService;-forgetWifiDisplay-(Ljava/lang/String;)V": [ "android.permission.CONFIGURE_WIFI_DISPLAY" ], "Lcom/android/server/display/DisplayManagerService;-renameWifiDisplay-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.CONFIGURE_WIFI_DISPLAY" ], "Lcom/android/server/dreams/DreamManagerService;-awaken-()V": [ "android.permission.WRITE_DREAM_STATE" ], "Lcom/android/server/dreams/DreamManagerService;-dream-()V": [ "android.permission.WRITE_DREAM_STATE" ], "Lcom/android/server/dreams/DreamManagerService;-getDefaultDreamComponent-()Landroid/content/ComponentName;": [ "android.permission.READ_DREAM_STATE" ], "Lcom/android/server/dreams/DreamManagerService;-getDreamComponents-()[Landroid/content/ComponentName;": [ "android.permission.READ_DREAM_STATE" ], "Lcom/android/server/dreams/DreamManagerService;-isDreaming-()Z": [ "android.permission.READ_DREAM_STATE" ], "Lcom/android/server/dreams/DreamManagerService;-setDreamComponents-([Landroid/content/ComponentName;)V": [ "android.permission.WRITE_DREAM_STATE" ], "Lcom/android/server/dreams/DreamManagerService;-testDream-(Landroid/content/ComponentName;)V": [ "android.permission.WRITE_DREAM_STATE" ], "Lcom/android/server/input/InputManagerService;-addKeyboardLayoutForInputDevice-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.SET_KEYBOARD_LAYOUT" ], "Lcom/android/server/input/InputManagerService;-removeKeyboardLayoutForInputDevice-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.SET_KEYBOARD_LAYOUT" ], "Lcom/android/server/input/InputManagerService;-setCurrentKeyboardLayoutForInputDevice-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.SET_KEYBOARD_LAYOUT" ], "Lcom/android/server/input/InputManagerService;-tryPointerSpeed-(I)V": [ "android.permission.SET_POINTER_SPEED" ], "Lcom/android/server/net/NetworkPolicyManagerService;-getNetworkPolicies-()[Landroid/net/NetworkPolicy;": [ "android.permission.MANAGE_NETWORK_POLICY", "android.permission.READ_PHONE_STATE" ], "Lcom/android/server/net/NetworkPolicyManagerService;-getNetworkQuotaInfo-(Landroid/net/NetworkState;)Landroid/net/NetworkQuotaInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/net/NetworkPolicyManagerService;-getRestrictBackground-()Z": [ "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-getUidPolicy-(I)I": [ "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-getUidsWithPolicy-(I)[I": [ "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-isUidForeground-(I)Z": [ "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-registerListener-(Landroid/net/INetworkPolicyListener;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/net/NetworkPolicyManagerService;-setNetworkPolicies-([Landroid/net/NetworkPolicy;)V": [ "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-setRestrictBackground-(Z)V": [ "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-setUidPolicy-(I I)V": [ "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-snoozeLimit-(Landroid/net/NetworkTemplate;)V": [ "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-unregisterListener-(Landroid/net/INetworkPolicyListener;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/net/NetworkStatsService;-advisePersistThreshold-(J)V": [ "android.permission.MODIFY_NETWORK_ACCOUNTING" ], "Lcom/android/server/net/NetworkStatsService;-forceUpdate-()V": [ "android.permission.READ_NETWORK_USAGE_HISTORY" ], "Lcom/android/server/net/NetworkStatsService;-getDataLayerSnapshotForUid-(I)Landroid/net/NetworkStats;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/net/NetworkStatsService;-getNetworkTotalBytes-(Landroid/net/NetworkTemplate; J J)J": [ "android.permission.READ_NETWORK_USAGE_HISTORY" ], "Lcom/android/server/net/NetworkStatsService;-incrementOperationCount-(I I I)V": [ "android.permission.MODIFY_NETWORK_ACCOUNTING" ], "Lcom/android/server/net/NetworkStatsService;-openSession-()Landroid/net/INetworkStatsSession;": [ "android.permission.READ_NETWORK_USAGE_HISTORY" ], "Lcom/android/server/net/NetworkStatsService;-setUidForeground-(I Z)V": [ "android.permission.MODIFY_NETWORK_ACCOUNTING" ], "Lcom/android/server/pm/PackageManagerService;-addPreferredActivity-(Landroid/content/IntentFilter; I [Landroid/content/ComponentName; Landroid/content/ComponentName; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.SET_PREFERRED_APPLICATIONS" ], "Lcom/android/server/pm/PackageManagerService;-clearApplicationUserData-(Ljava/lang/String; Landroid/content/pm/IPackageDataObserver; I)V": [ "android.permission.CLEAR_APP_USER_DATA", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-clearPackagePreferredActivities-(Ljava/lang/String;)V": [ "android.permission.SET_PREFERRED_APPLICATIONS" ], "Lcom/android/server/pm/PackageManagerService;-deleteApplicationCacheFiles-(Ljava/lang/String; Landroid/content/pm/IPackageDataObserver;)V": [ "android.permission.DELETE_CACHE_FILES" ], "Lcom/android/server/pm/PackageManagerService;-deletePackageAsUser-(Ljava/lang/String; Landroid/content/pm/IPackageDeleteObserver; I I)V": [ "android.permission.DELETE_PACKAGES", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-extendVerificationTimeout-(I I J)V": [ "android.permission.PACKAGE_VERIFICATION_AGENT" ], "Lcom/android/server/pm/PackageManagerService;-freeStorage-(J Landroid/content/IntentSender;)V": [ "android.permission.CLEAR_APP_CACHE" ], "Lcom/android/server/pm/PackageManagerService;-freeStorageAndNotify-(J Landroid/content/pm/IPackageDataObserver;)V": [ "android.permission.CLEAR_APP_CACHE" ], "Lcom/android/server/pm/PackageManagerService;-getActivityInfo-(Landroid/content/ComponentName; I I)Landroid/content/pm/ActivityInfo;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getApplicationEnabledSetting-(Ljava/lang/String; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getApplicationInfo-(Ljava/lang/String; I I)Landroid/content/pm/ApplicationInfo;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getComponentEnabledSetting-(Landroid/content/ComponentName; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getInstalledPackages-(I I)Landroid/content/pm/ParceledListSlice;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getPackageInfo-(Ljava/lang/String; I I)Landroid/content/pm/PackageInfo;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getPackageSizeInfo-(Ljava/lang/String; I Landroid/content/pm/IPackageStatsObserver;)V": [ "android.permission.GET_PACKAGE_SIZE" ], "Lcom/android/server/pm/PackageManagerService;-getPackageUid-(Ljava/lang/String; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getProviderInfo-(Landroid/content/ComponentName; I I)Landroid/content/pm/ProviderInfo;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getReceiverInfo-(Landroid/content/ComponentName; I I)Landroid/content/pm/ActivityInfo;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getServiceInfo-(Landroid/content/ComponentName; I I)Landroid/content/pm/ServiceInfo;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getVerifierDeviceIdentity-()Landroid/content/pm/VerifierDeviceIdentity;": [ "android.permission.PACKAGE_VERIFICATION_AGENT" ], "Lcom/android/server/pm/PackageManagerService;-grantPermission-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.GRANT_REVOKE_PERMISSIONS" ], "Lcom/android/server/pm/PackageManagerService;-installExistingPackageAsUser-(Ljava/lang/String; I)I": [ "android.permission.INSTALL_PACKAGES", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-installPackage-(Landroid/net/Uri; Landroid/content/pm/IPackageInstallObserver; I Ljava/lang/String;)V": [ "android.permission.INSTALL_PACKAGES" ], "Lcom/android/server/pm/PackageManagerService;-installPackageWithVerification-(Landroid/net/Uri; Landroid/content/pm/IPackageInstallObserver; I Ljava/lang/String; Landroid/net/Uri; Landroid/content/pm/ManifestDigest; Landroid/content/pm/ContainerEncryptionParams;)V": [ "android.permission.INSTALL_PACKAGES" ], "Lcom/android/server/pm/PackageManagerService;-installPackageWithVerificationAndEncryption-(Landroid/net/Uri; Landroid/content/pm/IPackageInstallObserver; I Ljava/lang/String; Landroid/content/pm/VerificationParams; Landroid/content/pm/ContainerEncryptionParams;)V": [ "android.permission.INSTALL_PACKAGES" ], "Lcom/android/server/pm/PackageManagerService;-movePackage-(Ljava/lang/String; Landroid/content/pm/IPackageMoveObserver; I)V": [ "android.permission.MOVE_PACKAGE" ], "Lcom/android/server/pm/PackageManagerService;-queryIntentActivities-(Landroid/content/Intent; Ljava/lang/String; I I)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-queryIntentActivityOptions-(Landroid/content/ComponentName; [Landroid/content/Intent; [Ljava/lang/String; Landroid/content/Intent; Ljava/lang/String; I I)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-queryIntentReceivers-(Landroid/content/Intent; Ljava/lang/String; I I)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-queryIntentServices-(Landroid/content/Intent; Ljava/lang/String; I I)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-replacePreferredActivity-(Landroid/content/IntentFilter; I [Landroid/content/ComponentName; Landroid/content/ComponentName;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.SET_PREFERRED_APPLICATIONS" ], "Lcom/android/server/pm/PackageManagerService;-resetPreferredActivities-(I)V": [ "android.permission.SET_PREFERRED_APPLICATIONS" ], "Lcom/android/server/pm/PackageManagerService;-resolveIntent-(Landroid/content/Intent; Ljava/lang/String; I I)Landroid/content/pm/ResolveInfo;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-resolveService-(Landroid/content/Intent; Ljava/lang/String; I I)Landroid/content/pm/ResolveInfo;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-revokePermission-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.GRANT_REVOKE_PERMISSIONS" ], "Lcom/android/server/pm/PackageManagerService;-setApplicationEnabledSetting-(Ljava/lang/String; I I I Ljava/lang/String;)V": [ "android.permission.CHANGE_COMPONENT_ENABLED_STATE", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-setComponentEnabledSetting-(Landroid/content/ComponentName; I I I)V": [ "android.permission.CHANGE_COMPONENT_ENABLED_STATE", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-setInstallLocation-(I)Z": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/pm/PackageManagerService;-setPackageStoppedState-(Ljava/lang/String; Z I)V": [ "android.permission.CHANGE_COMPONENT_ENABLED_STATE", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-setPermissionEnforced-(Ljava/lang/String; Z)V": [ "android.permission.GRANT_REVOKE_PERMISSIONS" ], "Lcom/android/server/pm/PackageManagerService;-verifyPendingInstall-(I I)V": [ "android.permission.PACKAGE_VERIFICATION_AGENT" ], "Lcom/android/server/power/PowerManagerService;-acquireWakeLock-(Landroid/os/IBinder; I Ljava/lang/String; Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS", "android.permission.WAKE_LOCK" ], "Lcom/android/server/power/PowerManagerService;-crash-(Ljava/lang/String;)V": [ "android.permission.REBOOT" ], "Lcom/android/server/power/PowerManagerService;-goToSleep-(J I)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/power/PowerManagerService;-nap-(J)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/power/PowerManagerService;-reboot-(Z Ljava/lang/String; Z)V": [ "android.permission.REBOOT" ], "Lcom/android/server/power/PowerManagerService;-releaseWakeLock-(Landroid/os/IBinder; I)V": [ "android.permission.WAKE_LOCK" ], "Lcom/android/server/power/PowerManagerService;-setAttentionLight-(Z I)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/power/PowerManagerService;-setStayOnSetting-(I)V": [ "android.permission.WRITE_SETTINGS" ], "Lcom/android/server/power/PowerManagerService;-setTemporaryScreenAutoBrightnessAdjustmentSettingOverride-(F)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/power/PowerManagerService;-setTemporaryScreenBrightnessSettingOverride-(I)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/power/PowerManagerService;-shutdown-(Z Z)V": [ "android.permission.REBOOT" ], "Lcom/android/server/power/PowerManagerService;-updateWakeLockWorkSource-(Landroid/os/IBinder; Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS", "android.permission.WAKE_LOCK" ], "Lcom/android/server/power/PowerManagerService;-userActivity-(J I I)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/power/PowerManagerService;-wakeUp-(J)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/sip/SipService;-close-(Ljava/lang/String;)V": [ "android.permission.USE_SIP" ], "Lcom/android/server/sip/SipService;-createSession-(Landroid/net/sip/SipProfile; Landroid/net/sip/ISipSessionListener;)Landroid/net/sip/ISipSession;": [ "android.permission.USE_SIP" ], "Lcom/android/server/sip/SipService;-getListOfProfiles-()[Landroid/net/sip/SipProfile;": [ "android.permission.USE_SIP" ], "Lcom/android/server/sip/SipService;-getPendingSession-(Ljava/lang/String;)Landroid/net/sip/ISipSession;": [ "android.permission.USE_SIP" ], "Lcom/android/server/sip/SipService;-isOpened-(Ljava/lang/String;)Z": [ "android.permission.USE_SIP" ], "Lcom/android/server/sip/SipService;-isRegistered-(Ljava/lang/String;)Z": [ "android.permission.USE_SIP" ], "Lcom/android/server/sip/SipService;-open-(Landroid/net/sip/SipProfile;)V": [ "android.permission.USE_SIP" ], "Lcom/android/server/sip/SipService;-open3-(Landroid/net/sip/SipProfile; Landroid/app/PendingIntent; Landroid/net/sip/ISipSessionListener;)V": [ "android.permission.USE_SIP" ], "Lcom/android/server/sip/SipService;-setRegistrationListener-(Ljava/lang/String; Landroid/net/sip/ISipSessionListener;)V": [ "android.permission.USE_SIP" ], "Lcom/android/server/usb/UsbService;-allowUsbDebugging-(Z Ljava/lang/String;)V": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-clearDefaults-(Ljava/lang/String; I)V": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-clearUsbDebuggingKeys-()V": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-denyUsbDebugging-()V": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-grantAccessoryPermission-(Landroid/hardware/usb/UsbAccessory; I)V": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-grantDevicePermission-(Landroid/hardware/usb/UsbDevice; I)V": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-hasDefaults-(Ljava/lang/String; I)Z": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-setAccessoryPackage-(Landroid/hardware/usb/UsbAccessory; Ljava/lang/String; I)V": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-setCurrentFunction-(Ljava/lang/String; Z)V": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-setDevicePackage-(Landroid/hardware/usb/UsbDevice; Ljava/lang/String; I)V": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-setMassStorageBackingFile-(Ljava/lang/String;)V": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/wifi/WifiService;-acquireMulticastLock-(Landroid/os/IBinder; Ljava/lang/String;)V": [ "android.permission.CHANGE_WIFI_MULTICAST_STATE" ], "Lcom/android/server/wifi/WifiService;-acquireWifiLock-(Landroid/os/IBinder; I Ljava/lang/String; Landroid/os/WorkSource;)Z": [ "android.permission.WAKE_LOCK" ], "Lcom/android/server/wifi/WifiService;-addOrUpdateNetwork-(Landroid/net/wifi/WifiConfiguration;)I": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiService;-addToBlacklist-(Ljava/lang/String;)V": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiService;-captivePortalCheckComplete-()V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/wifi/WifiService;-clearBlacklist-()V": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiService;-disableNetwork-(I)Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiService;-disconnect-()V": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiService;-enableNetwork-(I Z)Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiService;-getConfigFile-()Ljava/lang/String;": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiService;-getConfiguredNetworks-()Ljava/util/List;": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiService;-getConnectionInfo-()Landroid/net/wifi/WifiInfo;": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiService;-getDhcpInfo-()Landroid/net/DhcpInfo;": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiService;-getFrequencyBand-()I": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiService;-getScanResults-(Ljava/lang/String;)Ljava/util/List;": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiService;-getWifiApConfiguration-()Landroid/net/wifi/WifiConfiguration;": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiService;-getWifiApEnabledState-()I": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiService;-getWifiEnabledState-()I": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiService;-getWifiServiceMessenger-()Landroid/os/Messenger;": [ "android.permission.ACCESS_WIFI_STATE", "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiService;-getWifiStateMachineMessenger-()Landroid/os/Messenger;": [ "android.permission.ACCESS_WIFI_STATE", "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiService;-initializeMulticastFiltering-()V": [ "android.permission.CHANGE_WIFI_MULTICAST_STATE" ], "Lcom/android/server/wifi/WifiService;-isMulticastEnabled-()Z": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiService;-isScanAlwaysAvailable-()Z": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiService;-pingSupplicant-()Z": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiService;-reassociate-()V": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiService;-reconnect-()V": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiService;-releaseMulticastLock-()V": [ "android.permission.CHANGE_WIFI_MULTICAST_STATE" ], "Lcom/android/server/wifi/WifiService;-releaseWifiLock-(Landroid/os/IBinder;)Z": [ "android.permission.WAKE_LOCK" ], "Lcom/android/server/wifi/WifiService;-removeNetwork-(I)Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiService;-saveConfiguration-()Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiService;-setCountryCode-(Ljava/lang/String; Z)V": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiService;-setFrequencyBand-(I Z)V": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiService;-setWifiApConfiguration-(Landroid/net/wifi/WifiConfiguration;)V": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiService;-setWifiApEnabled-(Landroid/net/wifi/WifiConfiguration; Z)V": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiService;-setWifiEnabled-(Z)Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiService;-startScan-()V": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiService;-startWifi-()V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/wifi/WifiService;-stopWifi-()V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/wifi/WifiService;-updateWifiLockWorkSource-(Landroid/os/IBinder; Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/wm/WindowManagerService;-addAppToken-(I Landroid/view/IApplicationToken; I I Z Z)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-addWindowToken-(Landroid/os/IBinder; I)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-clearForcedDisplayDensity-(I)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/wm/WindowManagerService;-clearForcedDisplaySize-(I)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/wm/WindowManagerService;-disableKeyguard-(Landroid/os/IBinder; Ljava/lang/String;)V": [ "android.permission.DISABLE_KEYGUARD" ], "Lcom/android/server/wm/WindowManagerService;-dismissKeyguard-()V": [ "android.permission.DISABLE_KEYGUARD" ], "Lcom/android/server/wm/WindowManagerService;-executeAppTransition-()V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-exitKeyguardSecurely-(Landroid/view/IOnKeyguardExitResult;)V": [ "android.permission.DISABLE_KEYGUARD" ], "Lcom/android/server/wm/WindowManagerService;-freezeRotation-(I)V": [ "android.permission.SET_ORIENTATION" ], "Lcom/android/server/wm/WindowManagerService;-getCompatibleMagnificationSpecForWindow-(Landroid/os/IBinder;)Landroid/view/MagnificationSpec;": [ "android.permission.MAGNIFY_DISPLAY" ], "Lcom/android/server/wm/WindowManagerService;-getFocusedWindowToken-()Landroid/os/IBinder;": [ "android.permission.RETRIEVE_WINDOW_INFO" ], "Lcom/android/server/wm/WindowManagerService;-getWindowFrame-(Landroid/os/IBinder; Landroid/graphics/Rect;)V": [ "android.permission.RETRIEVE_WINDOW_INFO" ], "Lcom/android/server/wm/WindowManagerService;-isViewServerRunning-()Z": [ "android.permission.DUMP" ], "Lcom/android/server/wm/WindowManagerService;-moveAppToken-(I Landroid/os/IBinder;)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-moveAppTokensToBottom-(Ljava/util/List;)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-moveAppTokensToTop-(Ljava/util/List;)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-pauseKeyDispatching-(Landroid/os/IBinder;)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-prepareAppTransition-(I Z)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-reenableKeyguard-(Landroid/os/IBinder;)V": [ "android.permission.DISABLE_KEYGUARD" ], "Lcom/android/server/wm/WindowManagerService;-removeAppToken-(Landroid/os/IBinder;)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-removeWindowToken-(Landroid/os/IBinder;)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-resumeKeyDispatching-(Landroid/os/IBinder;)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-screenshotApplications-(Landroid/os/IBinder; I I I)Landroid/graphics/Bitmap;": [ "android.permission.READ_FRAME_BUFFER" ], "Lcom/android/server/wm/WindowManagerService;-setAnimationScale-(I F)V": [ "android.permission.SET_ANIMATION_SCALE" ], "Lcom/android/server/wm/WindowManagerService;-setAnimationScales-([F)V": [ "android.permission.SET_ANIMATION_SCALE" ], "Lcom/android/server/wm/WindowManagerService;-setAppGroupId-(Landroid/os/IBinder; I)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-setAppOrientation-(Landroid/view/IApplicationToken; I)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-setAppStartingWindow-(Landroid/os/IBinder; Ljava/lang/String; I Landroid/content/res/CompatibilityInfo; Ljava/lang/CharSequence; I I I Landroid/os/IBinder; Z)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-setAppVisibility-(Landroid/os/IBinder; Z)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-setAppWillBeHidden-(Landroid/os/IBinder;)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-setEventDispatching-(Z)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-setFocusedApp-(Landroid/os/IBinder; Z)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-setForcedDisplayDensity-(I I)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/wm/WindowManagerService;-setForcedDisplaySize-(I I I)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/wm/WindowManagerService;-setInputFilter-(Landroid/view/IInputFilter;)V": [ "android.permission.FILTER_EVENTS" ], "Lcom/android/server/wm/WindowManagerService;-setMagnificationCallbacks-(Landroid/view/IMagnificationCallbacks;)V": [ "android.permission.MAGNIFY_DISPLAY" ], "Lcom/android/server/wm/WindowManagerService;-setMagnificationSpec-(Landroid/view/MagnificationSpec;)V": [ "android.permission.MAGNIFY_DISPLAY" ], "Lcom/android/server/wm/WindowManagerService;-setNewConfiguration-(Landroid/content/res/Configuration;)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-setOverscan-(I I I I I)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/wm/WindowManagerService;-showAssistant-()V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/wm/WindowManagerService;-startAppFreezingScreen-(Landroid/os/IBinder; I)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-startFreezingScreen-(I I)V": [ "android.permission.FREEZE_SCREEN" ], "Lcom/android/server/wm/WindowManagerService;-startViewServer-(I)Z": [ "android.permission.DUMP" ], "Lcom/android/server/wm/WindowManagerService;-statusBarVisibilityChanged-(I)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/wm/WindowManagerService;-stopAppFreezingScreen-(Landroid/os/IBinder; Z)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-stopFreezingScreen-()V": [ "android.permission.FREEZE_SCREEN" ], "Lcom/android/server/wm/WindowManagerService;-stopViewServer-()Z": [ "android.permission.DUMP" ], "Lcom/android/server/wm/WindowManagerService;-thawRotation-()V": [ "android.permission.SET_ORIENTATION" ], "Lcom/android/server/wm/WindowManagerService;-updateOrientationFromAppTokens-(Landroid/content/res/Configuration; Landroid/os/IBinder;)Landroid/content/res/Configuration;": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/ti/server/StubFmService;-resumeFm-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxChangeAudioTarget-(I I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxChangeDigitalTargetConfiguration-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxCompleteScan_nb-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxDisable-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxDisableAudioRouting-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxDisableRds-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxDisableRds_nb-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxEnable-()Z": [ "ti.permission.FMRX", "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxEnableAudioRouting-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxEnableRds-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxEnableRds_nb-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetBand-()I": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetBand_nb-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetChannelSpacing-()I": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetChannelSpacing_nb-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetCompleteScanProgress-()I": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetCompleteScanProgress_nb-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetDeEmphasisFilter-()I": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetDeEmphasisFilter_nb-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetFMState-()I": [ "ti.permission.FMRX" ], "Lcom/ti/server/StubFmService;-rxGetFwVersion-()D": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetMonoStereoMode-()I": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetMonoStereoMode_nb-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetMuteMode-()I": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetMuteMode_nb-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetRdsAfSwitchMode-()I": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetRdsAfSwitchMode_nb-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetRdsGroupMask-()J": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetRdsGroupMask_nb-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetRdsSystem-()I": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetRdsSystem_nb-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetRfDependentMuteMode-()I": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetRfDependentMuteMode_nb-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetRssi-()I": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetRssiThreshold-()I": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetRssiThreshold_nb-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetRssi_nb-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetTunedFrequency-()I": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetTunedFrequency_nb-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetVolume-()I": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxGetVolume_nb-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxIsEnabled-()Z": [ "ti.permission.FMRX" ], "Lcom/ti/server/StubFmService;-rxIsFMPaused-()Z": [ "ti.permission.FMRX" ], "Lcom/ti/server/StubFmService;-rxIsValidChannel-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxSeek_nb-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxSetBand-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxSetBand_nb-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxSetChannelSpacing-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxSetChannelSpacing_nb-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxSetDeEmphasisFilter-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxSetDeEmphasisFilter_nb-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxSetMonoStereoMode-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxSetMonoStereoMode_nb-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxSetMuteMode-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxSetMuteMode_nb-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxSetRdsAfSwitchMode-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxSetRdsAfSwitchMode_nb-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxSetRdsGroupMask-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxSetRdsGroupMask_nb-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxSetRdsSystem-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxSetRdsSystem_nb-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxSetRfDependentMuteMode-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxSetRfDependentMuteMode_nb-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxSetRssiThreshold-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxSetRssiThreshold_nb-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxSetVolume-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxStopCompleteScan-()I": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxStopCompleteScan_nb-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxStopSeek-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxStopSeek_nb-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-rxTune_nb-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-txChangeAudioSource-(I I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-txChangeDigitalSourceConfiguration-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-txDisable-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-txDisableRds-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-txEnable-()Z": [ "ti.permission.FMRX", "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-txEnableRds-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-txGetFMState-()I": [ "ti.permission.FMRX" ], "Lcom/ti/server/StubFmService;-txSetMonoStereoMode-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-txSetMuteMode-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-txSetPowerLevel-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-txSetPreEmphasisFilter-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-txSetRdsAfCode-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-txSetRdsECC-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-txSetRdsMusicSpeechFlag-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-txSetRdsPiCode-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-txSetRdsPsDisplayMode-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-txSetRdsPsScrollSpeed-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-txSetRdsPtyCode-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-txSetRdsTextPsMsg-(Ljava/lang/String;)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-txSetRdsTextRepertoire-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-txSetRdsTextRtMsg-(I Ljava/lang/String; I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-txSetRdsTrafficCodes-(I I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-txSetRdsTransmissionMode-(I)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-txSetRdsTransmittedGroupsMask-(J)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-txStartTransmission-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-txStopTransmission-()Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-txTune-(J)Z": [ "ti.permission.FMRX_ADMIN" ], "Lcom/ti/server/StubFmService;-txWriteRdsRawData-(Ljava/lang/String;)Z": [ "ti.permission.FMRX_ADMIN" ], "Landroid/accounts/AccountAuthenticatorActivity;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/accounts/AccountAuthenticatorActivity;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/accounts/AccountAuthenticatorActivity;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/accounts/AccountAuthenticatorActivity;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/accounts/AccountAuthenticatorActivity;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/accounts/AccountAuthenticatorActivity;-unregisterReceiver-(Landroid/content/BroadcastReceiver;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/accounts/AccountManager;-addAccountExplicitly-(Landroid/accounts/Account; Ljava/lang/String; Landroid/os/Bundle;)Z": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Landroid/accounts/AccountManager;-addOnAccountsUpdatedListener-(Landroid/accounts/OnAccountsUpdateListener; Landroid/os/Handler; Z)V": [ "android.permission.GET_ACCOUNTS" ], "Landroid/accounts/AccountManager;-clearPassword-(Landroid/accounts/Account;)V": [ "android.permission.MANAGE_ACCOUNTS" ], "Landroid/accounts/AccountManager;-getAccounts-()[Landroid/accounts/Account;": [ "android.permission.GET_ACCOUNTS" ], "Landroid/accounts/AccountManager;-getAccountsByType-(Ljava/lang/String;)[Landroid/accounts/Account;": [ "android.permission.GET_ACCOUNTS" ], "Landroid/accounts/AccountManager;-getPassword-(Landroid/accounts/Account;)Ljava/lang/String;": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Landroid/accounts/AccountManager;-getUserData-(Landroid/accounts/Account; Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Landroid/accounts/AccountManager;-invalidateAuthToken-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.MANAGE_ACCOUNTS", "android.permission.USE_CREDENTIALS" ], "Landroid/accounts/AccountManager;-peekAuthToken-(Landroid/accounts/Account; Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Landroid/accounts/AccountManager;-removeOnAccountsUpdatedListener-(Landroid/accounts/OnAccountsUpdateListener;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/accounts/AccountManager;-setAuthToken-(Landroid/accounts/Account; Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Landroid/accounts/AccountManager;-setPassword-(Landroid/accounts/Account; Ljava/lang/String;)V": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Landroid/accounts/AccountManager;-setUserData-(Landroid/accounts/Account; Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Landroid/app/Activity;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/Activity;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/Activity;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/Activity;-setRequestedOrientation-(I)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/Activity;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/Activity;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/Activity;-unregisterReceiver-(Landroid/content/BroadcastReceiver;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ActivityGroup;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/ActivityGroup;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ActivityGroup;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ActivityGroup;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/ActivityGroup;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/ActivityGroup;-unregisterReceiver-(Landroid/content/BroadcastReceiver;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ActivityManager;-getRecentTasks-(I I)Ljava/util/List;": [ "android.permission.GET_TASKS" ], "Landroid/app/ActivityManager;-getRunningTasks-(I)Ljava/util/List;": [ "android.permission.GET_TASKS" ], "Landroid/app/ActivityManager;-killBackgroundProcesses-(Ljava/lang/String;)V": [ "android.permission.KILL_BACKGROUND_PROCESSES" ], "Landroid/app/ActivityManager;-moveTaskToFront-(I I)V": [ "android.permission.REORDER_TASKS" ], "Landroid/app/ActivityManager;-moveTaskToFront-(I I Landroid/os/Bundle;)V": [ "android.permission.REORDER_TASKS" ], "Landroid/app/ActivityManager;-restartPackage-(Ljava/lang/String;)V": [ "android.permission.KILL_BACKGROUND_PROCESSES" ], "Landroid/app/AlarmManager;-setTimeZone-(Ljava/lang/String;)V": [ "android.permission.SET_TIME_ZONE" ], "Landroid/app/AliasActivity;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/AliasActivity;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/AliasActivity;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/AliasActivity;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/AliasActivity;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/AliasActivity;-unregisterReceiver-(Landroid/content/BroadcastReceiver;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/Application;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/Application;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/Application;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/Application;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/Application;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/Application;-unregisterReceiver-(Landroid/content/BroadcastReceiver;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ExpandableListActivity;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/ExpandableListActivity;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ExpandableListActivity;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ExpandableListActivity;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/ExpandableListActivity;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/ExpandableListActivity;-unregisterReceiver-(Landroid/content/BroadcastReceiver;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/KeyguardManager$KeyguardLock;-disableKeyguard-()V": [ "android.permission.DISABLE_KEYGUARD" ], "Landroid/app/KeyguardManager$KeyguardLock;-reenableKeyguard-()V": [ "android.permission.DISABLE_KEYGUARD" ], "Landroid/app/KeyguardManager;-exitKeyguardSecurely-(Landroid/app/KeyguardManager$OnKeyguardExitResult;)V": [ "android.permission.DISABLE_KEYGUARD" ], "Landroid/app/ListActivity;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/ListActivity;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ListActivity;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ListActivity;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/ListActivity;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/ListActivity;-unregisterReceiver-(Landroid/content/BroadcastReceiver;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/NativeActivity;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/NativeActivity;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/NativeActivity;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/NativeActivity;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/NativeActivity;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/NativeActivity;-unregisterReceiver-(Landroid/content/BroadcastReceiver;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/TabActivity;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/TabActivity;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/TabActivity;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/TabActivity;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/TabActivity;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/TabActivity;-unregisterReceiver-(Landroid/content/BroadcastReceiver;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/WallpaperManager;-clear-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/WallpaperManager;-setBitmap-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/WallpaperManager;-setResource-(I)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/WallpaperManager;-setStream-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/WallpaperManager;-suggestDesiredDimensions-(I I)V": [ "android.permission.SET_WALLPAPER_HINTS" ], "Landroid/app/backup/BackupAgentHelper;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/backup/BackupAgentHelper;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/backup/BackupAgentHelper;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/backup/BackupAgentHelper;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/backup/BackupAgentHelper;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/backup/BackupAgentHelper;-unregisterReceiver-(Landroid/content/BroadcastReceiver;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/bluetooth/BluetoothA2dp;-finalize-()V": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothA2dp;-getConnectedDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothA2dp;-getConnectionState-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothA2dp;-getDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothA2dp;-isA2dpPlaying-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-cancelDiscovery-()Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothAdapter;-closeProfileProxy-(I Landroid/bluetooth/BluetoothProfile;)V": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-disable-()Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothAdapter;-enable-()Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothAdapter;-getAddress-()Ljava/lang/String;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-getBondedDevices-()Ljava/util/Set;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-getName-()Ljava/lang/String;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-getProfileConnectionState-(I)I": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-getProfileProxy-(Landroid/content/Context; Landroid/bluetooth/BluetoothProfile$ServiceListener; I)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-getScanMode-()I": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-getState-()I": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-isDiscovering-()Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-isEnabled-()Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-listenUsingInsecureRfcommWithServiceRecord-(Ljava/lang/String; Ljava/util/UUID;)Landroid/bluetooth/BluetoothServerSocket;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-listenUsingRfcommWithServiceRecord-(Ljava/lang/String; Ljava/util/UUID;)Landroid/bluetooth/BluetoothServerSocket;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-setName-(Ljava/lang/String;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothAdapter;-startDiscovery-()Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothAdapter;-startLeScan-([Ljava/util/UUID; Landroid/bluetooth/BluetoothAdapter$LeScanCallback;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-startLeScan-(Landroid/bluetooth/BluetoothAdapter$LeScanCallback;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-stopLeScan-(Landroid/bluetooth/BluetoothAdapter$LeScanCallback;)V": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothDevice;-connectGatt-(Landroid/content/Context; Z Landroid/bluetooth/BluetoothGattCallback;)Landroid/bluetooth/BluetoothGatt;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothDevice;-createInsecureRfcommSocketToServiceRecord-(Ljava/util/UUID;)Landroid/bluetooth/BluetoothSocket;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothDevice;-createRfcommSocketToServiceRecord-(Ljava/util/UUID;)Landroid/bluetooth/BluetoothSocket;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothDevice;-fetchUuidsWithSdp-()Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothDevice;-getBluetoothClass-()Landroid/bluetooth/BluetoothClass;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothDevice;-getBondState-()I": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothDevice;-getName-()Ljava/lang/String;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothDevice;-getType-()I": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothDevice;-getUuids-()[Landroid/os/ParcelUuid;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-abortReliableWrite-(Landroid/bluetooth/BluetoothDevice;)V": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-beginReliableWrite-()Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-close-()V": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-connect-()Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-disconnect-()V": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-discoverServices-()Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-executeReliableWrite-()Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-readCharacteristic-(Landroid/bluetooth/BluetoothGattCharacteristic;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-readDescriptor-(Landroid/bluetooth/BluetoothGattDescriptor;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-readRemoteRssi-()Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-setCharacteristicNotification-(Landroid/bluetooth/BluetoothGattCharacteristic; Z)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-writeCharacteristic-(Landroid/bluetooth/BluetoothGattCharacteristic;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-writeDescriptor-(Landroid/bluetooth/BluetoothGattDescriptor;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGattServer;-addService-(Landroid/bluetooth/BluetoothGattService;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGattServer;-cancelConnection-(Landroid/bluetooth/BluetoothDevice;)V": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGattServer;-clearServices-()V": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGattServer;-close-()V": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGattServer;-connect-(Landroid/bluetooth/BluetoothDevice; Z)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGattServer;-notifyCharacteristicChanged-(Landroid/bluetooth/BluetoothDevice; Landroid/bluetooth/BluetoothGattCharacteristic; Z)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGattServer;-removeService-(Landroid/bluetooth/BluetoothGattService;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGattServer;-sendResponse-(Landroid/bluetooth/BluetoothDevice; I I I [B)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHeadset;-getConnectedDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHeadset;-getConnectionState-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHeadset;-getDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHeadset;-isAudioConnected-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHeadset;-startVoiceRecognition-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothHeadset;-stopVoiceRecognition-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothHealth;-connectChannelToSource-(Landroid/bluetooth/BluetoothDevice; Landroid/bluetooth/BluetoothHealthAppConfiguration;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHealth;-disconnectChannel-(Landroid/bluetooth/BluetoothDevice; Landroid/bluetooth/BluetoothHealthAppConfiguration; I)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHealth;-getConnectedDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHealth;-getConnectionState-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHealth;-getDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHealth;-getMainChannelFd-(Landroid/bluetooth/BluetoothDevice; Landroid/bluetooth/BluetoothHealthAppConfiguration;)Landroid/os/ParcelFileDescriptor;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHealth;-registerSinkAppConfiguration-(Ljava/lang/String; I Landroid/bluetooth/BluetoothHealthCallback;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHealth;-unregisterAppConfiguration-(Landroid/bluetooth/BluetoothHealthAppConfiguration;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothManager;-getConnectedDevices-(I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothManager;-getConnectionState-(Landroid/bluetooth/BluetoothDevice; I)I": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothManager;-getDevicesMatchingConnectionStates-(I [I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothManager;-openGattServer-(Landroid/content/Context; Landroid/bluetooth/BluetoothGattServerCallback;)Landroid/bluetooth/BluetoothGattServer;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothSocket;-connect-()V": [ "android.permission.BLUETOOTH" ], "Landroid/content/ContextWrapper;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/content/ContextWrapper;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/content/ContextWrapper;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/content/ContextWrapper;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/content/ContextWrapper;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/content/ContextWrapper;-unregisterReceiver-(Landroid/content/BroadcastReceiver;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/content/MutableContextWrapper;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/content/MutableContextWrapper;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/content/MutableContextWrapper;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/content/MutableContextWrapper;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/content/MutableContextWrapper;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/content/MutableContextWrapper;-unregisterReceiver-(Landroid/content/BroadcastReceiver;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/inputmethodservice/InputMethodService;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/inputmethodservice/InputMethodService;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/inputmethodservice/InputMethodService;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/inputmethodservice/InputMethodService;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/inputmethodservice/InputMethodService;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/inputmethodservice/InputMethodService;-unregisterReceiver-(Landroid/content/BroadcastReceiver;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/location/LocationManager;-addGpsStatusListener-(Landroid/location/GpsStatus$Listener;)Z": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-addNmeaListener-(Landroid/location/GpsStatus$NmeaListener;)Z": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-addProximityAlert-(D D F J Landroid/app/PendingIntent;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-addTestProvider-(Ljava/lang/String; Z Z Z Z Z Z Z I I)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Landroid/location/LocationManager;-clearTestProviderEnabled-(Ljava/lang/String;)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Landroid/location/LocationManager;-clearTestProviderLocation-(Ljava/lang/String;)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Landroid/location/LocationManager;-clearTestProviderStatus-(Ljava/lang/String;)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Landroid/location/LocationManager;-getBestProvider-(Landroid/location/Criteria; Z)Ljava/lang/String;": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-getLastKnownLocation-(Ljava/lang/String;)Landroid/location/Location;": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-getProvider-(Ljava/lang/String;)Landroid/location/LocationProvider;": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-getProviders-(Landroid/location/Criteria; Z)Ljava/util/List;": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-getProviders-(Z)Ljava/util/List;": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-isProviderEnabled-(Ljava/lang/String;)Z": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-removeProximityAlert-(Landroid/app/PendingIntent;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-removeTestProvider-(Ljava/lang/String;)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Landroid/location/LocationManager;-removeUpdates-(Landroid/app/PendingIntent;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-removeUpdates-(Landroid/location/LocationListener;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-requestLocationUpdates-(Ljava/lang/String; J F Landroid/app/PendingIntent;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-requestLocationUpdates-(Ljava/lang/String; J F Landroid/location/LocationListener;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-requestLocationUpdates-(Ljava/lang/String; J F Landroid/location/LocationListener; Landroid/os/Looper;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-requestLocationUpdates-(J F Landroid/location/Criteria; Landroid/app/PendingIntent;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-requestLocationUpdates-(J F Landroid/location/Criteria; Landroid/location/LocationListener; Landroid/os/Looper;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-requestSingleUpdate-(Landroid/location/Criteria; Landroid/app/PendingIntent;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-requestSingleUpdate-(Landroid/location/Criteria; Landroid/location/LocationListener; Landroid/os/Looper;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-requestSingleUpdate-(Ljava/lang/String; Landroid/app/PendingIntent;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-requestSingleUpdate-(Ljava/lang/String; Landroid/location/LocationListener; Landroid/os/Looper;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-sendExtraCommand-(Ljava/lang/String; Ljava/lang/String; Landroid/os/Bundle;)Z": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION", "android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" ], "Landroid/location/LocationManager;-setTestProviderEnabled-(Ljava/lang/String; Z)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Landroid/location/LocationManager;-setTestProviderLocation-(Ljava/lang/String; Landroid/location/Location;)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Landroid/location/LocationManager;-setTestProviderStatus-(Ljava/lang/String; I Landroid/os/Bundle; J)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Landroid/media/AsyncPlayer;-play-(Landroid/content/Context; Landroid/net/Uri; Z I)V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/AsyncPlayer;-stop-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/AudioManager;-setBluetoothScoOn-(Z)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/media/AudioManager;-setMode-(I)V": [ "android.permission.BLUETOOTH", "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/media/AudioManager;-setSpeakerphoneOn-(Z)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/media/AudioManager;-startBluetoothSco-()V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/media/AudioManager;-stopBluetoothSco-()V": [ "android.permission.BLUETOOTH", "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/media/MediaPlayer;-pause-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/MediaPlayer;-release-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/MediaPlayer;-reset-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/MediaPlayer;-setWakeMode-(Landroid/content/Context; I)V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/MediaPlayer;-start-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/MediaPlayer;-stop-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/Ringtone;-play-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/Ringtone;-setStreamType-(I)V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/Ringtone;-stop-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/RingtoneManager;-getRingtone-(Landroid/content/Context; Landroid/net/Uri;)Landroid/media/Ringtone;": [ "android.permission.WAKE_LOCK" ], "Landroid/media/RingtoneManager;-getRingtone-(I)Landroid/media/Ringtone;": [ "android.permission.WAKE_LOCK" ], "Landroid/media/RingtoneManager;-stopPreviousRingtone-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/net/ConnectivityManager;-getActiveNetworkInfo-()Landroid/net/NetworkInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-getAllNetworkInfo-()[Landroid/net/NetworkInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-getNetworkInfo-(I)Landroid/net/NetworkInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-getNetworkPreference-()I": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-isActiveNetworkMetered-()Z": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-requestRouteToHost-(I I)Z": [ "android.permission.CHANGE_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-setNetworkPreference-(I)V": [ "android.permission.CHANGE_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-startUsingNetworkFeature-(I Ljava/lang/String;)I": [ "android.permission.CHANGE_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-stopUsingNetworkFeature-(I Ljava/lang/String;)I": [ "android.permission.CHANGE_NETWORK_STATE" ], "Landroid/net/VpnService;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/net/VpnService;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/net/VpnService;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/net/VpnService;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/net/VpnService;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/net/VpnService;-unregisterReceiver-(Landroid/content/BroadcastReceiver;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/net/sip/SipAudioCall;-close-()V": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.WAKE_LOCK" ], "Landroid/net/sip/SipAudioCall;-endCall-()V": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.WAKE_LOCK" ], "Landroid/net/sip/SipAudioCall;-setSpeakerMode-(Z)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/net/sip/SipAudioCall;-startAudio-()V": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.ACCESS_WIFI_STATE", "android.permission.WAKE_LOCK" ], "Landroid/net/sip/SipManager;-close-(Ljava/lang/String;)V": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-createSipSession-(Landroid/net/sip/SipProfile; Landroid/net/sip/SipSession$Listener;)Landroid/net/sip/SipSession;": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-getSessionFor-(Landroid/content/Intent;)Landroid/net/sip/SipSession;": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-isOpened-(Ljava/lang/String;)Z": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-isRegistered-(Ljava/lang/String;)Z": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-makeAudioCall-(Landroid/net/sip/SipProfile; Landroid/net/sip/SipProfile; Landroid/net/sip/SipAudioCall$Listener; I)Landroid/net/sip/SipAudioCall;": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-makeAudioCall-(Ljava/lang/String; Ljava/lang/String; Landroid/net/sip/SipAudioCall$Listener; I)Landroid/net/sip/SipAudioCall;": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-open-(Landroid/net/sip/SipProfile;)V": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-open-(Landroid/net/sip/SipProfile; Landroid/app/PendingIntent; Landroid/net/sip/SipRegistrationListener;)V": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-register-(Landroid/net/sip/SipProfile; I Landroid/net/sip/SipRegistrationListener;)V": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-setRegistrationListener-(Ljava/lang/String; Landroid/net/sip/SipRegistrationListener;)V": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-takeAudioCall-(Landroid/content/Intent; Landroid/net/sip/SipAudioCall$Listener;)Landroid/net/sip/SipAudioCall;": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-unregister-(Landroid/net/sip/SipProfile; Landroid/net/sip/SipRegistrationListener;)V": [ "android.permission.USE_SIP" ], "Landroid/net/wifi/WifiManager$MulticastLock;-acquire-()V": [ "android.permission.CHANGE_WIFI_MULTICAST_STATE" ], "Landroid/net/wifi/WifiManager$MulticastLock;-release-()V": [ "android.permission.CHANGE_WIFI_MULTICAST_STATE" ], "Landroid/net/wifi/WifiManager$WifiLock;-acquire-()V": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.WAKE_LOCK" ], "Landroid/net/wifi/WifiManager$WifiLock;-release-()V": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.WAKE_LOCK" ], "Landroid/net/wifi/WifiManager;-addNetwork-(Landroid/net/wifi/WifiConfiguration;)I": [ "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-disableNetwork-(I)Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-disconnect-()Z": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-enableNetwork-(I Z)Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-getConfiguredNetworks-()Ljava/util/List;": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-getConnectionInfo-()Landroid/net/wifi/WifiInfo;": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-getDhcpInfo-()Landroid/net/DhcpInfo;": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-getScanResults-()Ljava/util/List;": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-getWifiState-()I": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-isScanAlwaysAvailable-()Z": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-isWifiEnabled-()Z": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-pingSupplicant-()Z": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-reassociate-()Z": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-reconnect-()Z": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-removeNetwork-(I)Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-saveConfiguration-()Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-setWifiEnabled-(Z)Z": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-startScan-()Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-updateNetwork-(Landroid/net/wifi/WifiConfiguration;)I": [ "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/p2p/WifiP2pManager;-initialize-(Landroid/content/Context; Landroid/os/Looper; Landroid/net/wifi/p2p/WifiP2pManager$ChannelListener;)Landroid/net/wifi/p2p/WifiP2pManager$Channel;": [ "android.permission.ACCESS_WIFI_STATE", "android.permission.CHANGE_WIFI_STATE" ], "Landroid/nfc/NfcAdapter;-disableForegroundDispatch-(Landroid/app/Activity;)V": [ "android.permission.NFC" ], "Landroid/nfc/NfcAdapter;-disableForegroundNdefPush-(Landroid/app/Activity;)V": [ "android.permission.NFC" ], "Landroid/nfc/NfcAdapter;-enableForegroundDispatch-(Landroid/app/Activity; Landroid/app/PendingIntent; [Landroid/content/IntentFilter; [L[java/lang/String;)V": [ "android.permission.NFC" ], "Landroid/nfc/NfcAdapter;-enableForegroundNdefPush-(Landroid/app/Activity; Landroid/nfc/NdefMessage;)V": [ "android.permission.NFC" ], "Landroid/nfc/NfcAdapter;-setBeamPushUris-([Landroid/net/Uri; Landroid/app/Activity;)V": [ "android.permission.NFC" ], "Landroid/nfc/NfcAdapter;-setBeamPushUrisCallback-(Landroid/nfc/NfcAdapter$CreateBeamUrisCallback; Landroid/app/Activity;)V": [ "android.permission.NFC" ], "Landroid/nfc/NfcAdapter;-setNdefPushMessage-(Landroid/nfc/NdefMessage; Landroid/app/Activity; [Landroid/app/Activity;)V": [ "android.permission.NFC" ], "Landroid/nfc/NfcAdapter;-setNdefPushMessageCallback-(Landroid/nfc/NfcAdapter$CreateNdefMessageCallback; Landroid/app/Activity; [Landroid/app/Activity;)V": [ "android.permission.NFC" ], "Landroid/nfc/NfcAdapter;-setOnNdefPushCompleteCallback-(Landroid/nfc/NfcAdapter$OnNdefPushCompleteCallback; Landroid/app/Activity; [Landroid/app/Activity;)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/BasicTagTechnology;-close-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/BasicTagTechnology;-connect-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/IsoDep;-close-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/IsoDep;-connect-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/IsoDep;-getTimeout-()I": [ "android.permission.NFC" ], "Landroid/nfc/tech/IsoDep;-setTimeout-(I)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/IsoDep;-transceive-([B)[B": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareClassic;-authenticateSectorWithKeyA-(I [B)Z": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareClassic;-authenticateSectorWithKeyB-(I [B)Z": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareClassic;-close-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareClassic;-connect-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareClassic;-decrement-(I I)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareClassic;-getTimeout-()I": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareClassic;-increment-(I I)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareClassic;-readBlock-(I)[B": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareClassic;-restore-(I)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareClassic;-setTimeout-(I)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareClassic;-transceive-([B)[B": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareClassic;-transfer-(I)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareClassic;-writeBlock-(I [B)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareUltralight;-close-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareUltralight;-connect-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareUltralight;-getTimeout-()I": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareUltralight;-readPages-(I)[B": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareUltralight;-setTimeout-(I)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareUltralight;-transceive-([B)[B": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareUltralight;-writePage-(I [B)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/Ndef;-close-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/Ndef;-connect-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/Ndef;-getNdefMessage-()Landroid/nfc/NdefMessage;": [ "android.permission.NFC" ], "Landroid/nfc/tech/Ndef;-makeReadOnly-()Z": [ "android.permission.NFC" ], "Landroid/nfc/tech/Ndef;-writeNdefMessage-(Landroid/nfc/NdefMessage;)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NdefFormatable;-close-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NdefFormatable;-connect-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NdefFormatable;-format-(Landroid/nfc/NdefMessage;)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NdefFormatable;-formatReadOnly-(Landroid/nfc/NdefMessage;)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcA;-close-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcA;-connect-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcA;-getTimeout-()I": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcA;-setTimeout-(I)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcA;-transceive-([B)[B": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcB;-close-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcB;-connect-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcB;-transceive-([B)[B": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcBarcode;-close-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcBarcode;-connect-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcF;-close-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcF;-connect-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcF;-getTimeout-()I": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcF;-setTimeout-(I)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcF;-transceive-([B)[B": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcV;-close-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcV;-connect-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcV;-transceive-([B)[B": [ "android.permission.NFC" ], "Landroid/os/PowerManager$WakeLock;-acquire-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/os/PowerManager$WakeLock;-acquire-(J)V": [ "android.permission.WAKE_LOCK" ], "Landroid/os/PowerManager$WakeLock;-release-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/os/PowerManager$WakeLock;-setWorkSource-(Landroid/os/WorkSource;)V": [ "android.permission.WAKE_LOCK" ], "Landroid/os/SystemVibrator;-cancel-()V": [ "android.permission.VIBRATE" ], "Landroid/os/SystemVibrator;-vibrate-([J I)V": [ "android.permission.VIBRATE" ], "Landroid/os/SystemVibrator;-vibrate-(I Ljava/lang/String; [J I)V": [ "android.permission.VIBRATE" ], "Landroid/os/SystemVibrator;-vibrate-(I Ljava/lang/String; J)V": [ "android.permission.VIBRATE" ], "Landroid/os/SystemVibrator;-vibrate-(J)V": [ "android.permission.VIBRATE" ], "Landroid/service/dreams/DreamService;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/service/dreams/DreamService;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/service/dreams/DreamService;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/service/dreams/DreamService;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/service/dreams/DreamService;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/service/dreams/DreamService;-unregisterReceiver-(Landroid/content/BroadcastReceiver;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/telephony/SmsManager;-sendDataMessage-(Ljava/lang/String; Ljava/lang/String; S [B Landroid/app/PendingIntent; Landroid/app/PendingIntent;)V": [ "android.permission.SEND_SMS" ], "Landroid/telephony/SmsManager;-sendMultipartTextMessage-(Ljava/lang/String; Ljava/lang/String; Ljava/util/ArrayList; Ljava/util/ArrayList; Ljava/util/ArrayList;)V": [ "android.permission.SEND_SMS" ], "Landroid/telephony/SmsManager;-sendTextMessage-(Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Landroid/app/PendingIntent; Landroid/app/PendingIntent;)V": [ "android.permission.SEND_SMS" ], "Landroid/telephony/TelephonyManager;-getAllCellInfo-()Ljava/util/List;": [ "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/telephony/TelephonyManager;-getCellLocation-()Landroid/telephony/CellLocation;": [ "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/telephony/TelephonyManager;-getDeviceId-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Landroid/telephony/TelephonyManager;-getDeviceSoftwareVersion-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Landroid/telephony/TelephonyManager;-getGroupIdLevel1-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Landroid/telephony/TelephonyManager;-getLine1Number-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Landroid/telephony/TelephonyManager;-getNeighboringCellInfo-()Ljava/util/List;": [ "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/telephony/TelephonyManager;-getSimSerialNumber-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Landroid/telephony/TelephonyManager;-getSubscriberId-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Landroid/telephony/TelephonyManager;-getVoiceMailAlphaTag-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Landroid/telephony/TelephonyManager;-getVoiceMailNumber-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Landroid/telephony/TelephonyManager;-listen-(Landroid/telephony/PhoneStateListener; I)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.READ_PHONE_STATE" ], "Landroid/telephony/gsm/SmsManager;-sendDataMessage-(Ljava/lang/String; Ljava/lang/String; S [B Landroid/app/PendingIntent; Landroid/app/PendingIntent;)V": [ "android.permission.SEND_SMS" ], "Landroid/telephony/gsm/SmsManager;-sendMultipartTextMessage-(Ljava/lang/String; Ljava/lang/String; Ljava/util/ArrayList; Ljava/util/ArrayList; Ljava/util/ArrayList;)V": [ "android.permission.SEND_SMS" ], "Landroid/telephony/gsm/SmsManager;-sendTextMessage-(Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Landroid/app/PendingIntent; Landroid/app/PendingIntent;)V": [ "android.permission.SEND_SMS" ], "Landroid/test/IsolatedContext;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/test/IsolatedContext;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/test/IsolatedContext;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/test/IsolatedContext;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/test/IsolatedContext;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/test/IsolatedContext;-unregisterReceiver-(Landroid/content/BroadcastReceiver;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/test/RenamingDelegatingContext;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/test/RenamingDelegatingContext;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/test/RenamingDelegatingContext;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/test/RenamingDelegatingContext;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/test/RenamingDelegatingContext;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/test/RenamingDelegatingContext;-unregisterReceiver-(Landroid/content/BroadcastReceiver;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/test/mock/MockApplication;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/test/mock/MockApplication;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/test/mock/MockApplication;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/test/mock/MockApplication;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/test/mock/MockApplication;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/test/mock/MockApplication;-unregisterReceiver-(Landroid/content/BroadcastReceiver;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/view/ContextThemeWrapper;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/view/ContextThemeWrapper;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/view/ContextThemeWrapper;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/view/ContextThemeWrapper;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/view/ContextThemeWrapper;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/view/ContextThemeWrapper;-unregisterReceiver-(Landroid/content/BroadcastReceiver;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/widget/VideoView;-getAudioSessionId-()I": [ "android.permission.WAKE_LOCK" ], "Landroid/widget/VideoView;-onKeyDown-(I Landroid/view/KeyEvent;)Z": [ "android.permission.WAKE_LOCK" ], "Landroid/widget/VideoView;-pause-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/widget/VideoView;-resume-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/widget/VideoView;-setVideoPath-(Ljava/lang/String;)V": [ "android.permission.WAKE_LOCK" ], "Landroid/widget/VideoView;-setVideoURI-(Landroid/net/Uri;)V": [ "android.permission.WAKE_LOCK" ], "Landroid/widget/VideoView;-start-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/widget/VideoView;-stopPlayback-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/widget/VideoView;-suspend-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/widget/ZoomButtonsController;-setVisible-(Z)V": [ "android.permission.BROADCAST_STICKY" ] }permissions_19.json000066400000000000000000006564661324327352200345640ustar00rootroot00000000000000androguard-3.1.0-rc2/androguard/core/api_specific_resources/api_permission_mappings{ "Landroid/accounts/AbstractAccountAuthenticator$Transport;-addAccount-(Landroid/accounts/IAccountAuthenticatorResponse; Ljava/lang/String; Ljava/lang/String; [Ljava/lang/String; Landroid/os/Bundle;)V": [ "android.permission.ACCOUNT_MANAGER" ], "Landroid/accounts/AbstractAccountAuthenticator$Transport;-addAccountFromCredentials-(Landroid/accounts/IAccountAuthenticatorResponse; Landroid/accounts/Account; Landroid/os/Bundle;)V": [ "android.permission.ACCOUNT_MANAGER" ], "Landroid/accounts/AbstractAccountAuthenticator$Transport;-confirmCredentials-(Landroid/accounts/IAccountAuthenticatorResponse; Landroid/accounts/Account; Landroid/os/Bundle;)V": [ "android.permission.ACCOUNT_MANAGER" ], "Landroid/accounts/AbstractAccountAuthenticator$Transport;-editProperties-(Landroid/accounts/IAccountAuthenticatorResponse; Ljava/lang/String;)V": [ "android.permission.ACCOUNT_MANAGER" ], "Landroid/accounts/AbstractAccountAuthenticator$Transport;-getAccountCredentialsForCloning-(Landroid/accounts/IAccountAuthenticatorResponse; Landroid/accounts/Account;)V": [ "android.permission.ACCOUNT_MANAGER" ], "Landroid/accounts/AbstractAccountAuthenticator$Transport;-getAccountRemovalAllowed-(Landroid/accounts/IAccountAuthenticatorResponse; Landroid/accounts/Account;)V": [ "android.permission.ACCOUNT_MANAGER" ], "Landroid/accounts/AbstractAccountAuthenticator$Transport;-getAuthToken-(Landroid/accounts/IAccountAuthenticatorResponse; Landroid/accounts/Account; Ljava/lang/String; Landroid/os/Bundle;)V": [ "android.permission.ACCOUNT_MANAGER" ], "Landroid/accounts/AbstractAccountAuthenticator$Transport;-getAuthTokenLabel-(Landroid/accounts/IAccountAuthenticatorResponse; Ljava/lang/String;)V": [ "android.permission.ACCOUNT_MANAGER" ], "Landroid/accounts/AbstractAccountAuthenticator$Transport;-hasFeatures-(Landroid/accounts/IAccountAuthenticatorResponse; Landroid/accounts/Account; [Ljava/lang/String;)V": [ "android.permission.ACCOUNT_MANAGER" ], "Landroid/accounts/AbstractAccountAuthenticator$Transport;-updateCredentials-(Landroid/accounts/IAccountAuthenticatorResponse; Landroid/accounts/Account; Ljava/lang/String; Landroid/os/Bundle;)V": [ "android.permission.ACCOUNT_MANAGER" ], "Landroid/media/AudioService;-registerMediaButtonEventReceiverForCalls-(Landroid/content/ComponentName;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Landroid/media/AudioService;-registerRemoteControlDisplay-(Landroid/media/IRemoteControlDisplay; I I)Z": [ "android.permission.MEDIA_CONTENT_CONTROL" ], "Landroid/media/AudioService;-registerRemoteController-(Landroid/media/IRemoteControlDisplay; I I Landroid/content/ComponentName;)Z": [ "android.permission.MEDIA_CONTENT_CONTROL" ], "Landroid/media/AudioService;-setBluetoothScoOn-(Z)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/media/AudioService;-setMode-(I Landroid/os/IBinder;)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/media/AudioService;-setRingtonePlayer-(Landroid/media/IRingtonePlayer;)V": [ "android.permission.REMOTE_AUDIO_PLAYBACK" ], "Landroid/media/AudioService;-setSpeakerphoneOn-(Z)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/media/AudioService;-startBluetoothSco-(Landroid/os/IBinder; I)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/media/AudioService;-stopBluetoothSco-(Landroid/os/IBinder;)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/media/AudioService;-unregisterMediaButtonEventReceiverForCalls-()V": [ "android.permission.MODIFY_PHONE_STATE" ], "Landroid/net/wifi/p2p/WifiP2pService;-getMessenger-()Landroid/os/Messenger;": [ "android.permission.ACCESS_WIFI_STATE", "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/p2p/WifiP2pService;-setMiracastMode-(I)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/bluetooth/a2dp/A2dpService$BluetoothA2dpBinder;-connect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/a2dp/A2dpService$BluetoothA2dpBinder;-disconnect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/a2dp/A2dpService$BluetoothA2dpBinder;-getConnectedDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/a2dp/A2dpService$BluetoothA2dpBinder;-getConnectionState-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/a2dp/A2dpService$BluetoothA2dpBinder;-getDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/a2dp/A2dpService$BluetoothA2dpBinder;-getPriority-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/a2dp/A2dpService$BluetoothA2dpBinder;-isA2dpPlaying-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/a2dp/A2dpService$BluetoothA2dpBinder;-setPriority-(Landroid/bluetooth/BluetoothDevice; I)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-cancelBondProcess-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-cancelDiscovery-()Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-configHciSnoopLog-(Z)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-connectSocket-(Landroid/bluetooth/BluetoothDevice; I Landroid/os/ParcelUuid; I I)Landroid/os/ParcelFileDescriptor;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-createBond-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-createSocketChannel-(I Ljava/lang/String; Landroid/os/ParcelUuid; I I)Landroid/os/ParcelFileDescriptor;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-disable-()Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-enable-()Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-enableNoAutoConnect-()Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-fetchRemoteUuids-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getAdapterConnectionState-()I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getAddress-()Ljava/lang/String;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getBondState-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getBondedDevices-()[Landroid/bluetooth/BluetoothDevice;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getDiscoverableTimeout-()I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getName-()Ljava/lang/String;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getProfileConnectionState-(I)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getRemoteAlias-(Landroid/bluetooth/BluetoothDevice;)Ljava/lang/String;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getRemoteClass-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getRemoteName-(Landroid/bluetooth/BluetoothDevice;)Ljava/lang/String;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getRemoteType-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getRemoteUuids-(Landroid/bluetooth/BluetoothDevice;)[Landroid/os/ParcelUuid;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getScanMode-()I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getState-()I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getUuids-()[Landroid/os/ParcelUuid;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-isDiscovering-()Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-isEnabled-()Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-removeBond-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-sendConnectionStateChange-(Landroid/bluetooth/BluetoothDevice; I I I)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-setDiscoverableTimeout-(I)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-setName-(Ljava/lang/String;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-setPairingConfirmation-(Landroid/bluetooth/BluetoothDevice; Z)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-setPasskey-(Landroid/bluetooth/BluetoothDevice; Z I [B)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-setPin-(Landroid/bluetooth/BluetoothDevice; Z I [B)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-setRemoteAlias-(Landroid/bluetooth/BluetoothDevice; Ljava/lang/String;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-setScanMode-(I I)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-startDiscovery-()Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-addCharacteristic-(I Landroid/os/ParcelUuid; I I)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-addDescriptor-(I Landroid/os/ParcelUuid; I)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-addIncludedService-(I I I Landroid/os/ParcelUuid;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-beginReliableWrite-(I Ljava/lang/String;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-beginServiceDeclaration-(I I I I Landroid/os/ParcelUuid; Z)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-clearServices-(I)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-clientConnect-(I Ljava/lang/String; Z)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-clientDisconnect-(I Ljava/lang/String;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-discoverServices-(I Ljava/lang/String;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-endReliableWrite-(I Ljava/lang/String; Z)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-endServiceDeclaration-(I)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-getAdvManufacturerData-()[B": [ "android.permission.BLUETOOTH_PRIVILEGED" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-getAdvServiceData-()[B": [ "android.permission.BLUETOOTH_PRIVILEGED" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-getAdvServiceUuids-()Ljava/util/List;": [ "android.permission.BLUETOOTH_PRIVILEGED" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-getDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-isAdvertising-()Z": [ "android.permission.BLUETOOTH_PRIVILEGED" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-readCharacteristic-(I Ljava/lang/String; I I Landroid/os/ParcelUuid; I Landroid/os/ParcelUuid; I)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-readDescriptor-(I Ljava/lang/String; I I Landroid/os/ParcelUuid; I Landroid/os/ParcelUuid; I Landroid/os/ParcelUuid; I)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-readRemoteRssi-(I Ljava/lang/String;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-refreshDevice-(I Ljava/lang/String;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-registerClient-(Landroid/os/ParcelUuid; Landroid/bluetooth/IBluetoothGattCallback;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-registerForNotification-(I Ljava/lang/String; I I Landroid/os/ParcelUuid; I Landroid/os/ParcelUuid; Z)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-registerServer-(Landroid/os/ParcelUuid; Landroid/bluetooth/IBluetoothGattServerCallback;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-removeAdvManufacturerCodeAndData-(I)V": [ "android.permission.BLUETOOTH_PRIVILEGED" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-removeService-(I I I Landroid/os/ParcelUuid;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-sendNotification-(I Ljava/lang/String; I I Landroid/os/ParcelUuid; I Landroid/os/ParcelUuid; Z [B)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-sendResponse-(I Ljava/lang/String; I I I [B)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-serverConnect-(I Ljava/lang/String; Z)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-serverDisconnect-(I Ljava/lang/String;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-setAdvManufacturerCodeAndData-(I [B)Z": [ "android.permission.BLUETOOTH_PRIVILEGED" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-setAdvServiceData-([B)Z": [ "android.permission.BLUETOOTH_PRIVILEGED" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-startAdvertising-(I)V": [ "android.permission.BLUETOOTH_PRIVILEGED" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-startScan-(I Z)V": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-startScanWithUuids-(I Z [Landroid/os/ParcelUuid;)V": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-stopAdvertising-()V": [ "android.permission.BLUETOOTH_PRIVILEGED" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-stopScan-(I Z)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-unregisterClient-(I)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-unregisterServer-(I)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-writeCharacteristic-(I Ljava/lang/String; I I Landroid/os/ParcelUuid; I Landroid/os/ParcelUuid; I I [B)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-writeDescriptor-(I Ljava/lang/String; I I Landroid/os/ParcelUuid; I Landroid/os/ParcelUuid; I Landroid/os/ParcelUuid; I I [B)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hdp/HealthService$BluetoothHealthBinder;-connectChannelToSink-(Landroid/bluetooth/BluetoothDevice; Landroid/bluetooth/BluetoothHealthAppConfiguration; I)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hdp/HealthService$BluetoothHealthBinder;-connectChannelToSource-(Landroid/bluetooth/BluetoothDevice; Landroid/bluetooth/BluetoothHealthAppConfiguration;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hdp/HealthService$BluetoothHealthBinder;-disconnectChannel-(Landroid/bluetooth/BluetoothDevice; Landroid/bluetooth/BluetoothHealthAppConfiguration; I)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hdp/HealthService$BluetoothHealthBinder;-getConnectedHealthDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hdp/HealthService$BluetoothHealthBinder;-getHealthDeviceConnectionState-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hdp/HealthService$BluetoothHealthBinder;-getHealthDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hdp/HealthService$BluetoothHealthBinder;-getMainChannelFd-(Landroid/bluetooth/BluetoothDevice; Landroid/bluetooth/BluetoothHealthAppConfiguration;)Landroid/os/ParcelFileDescriptor;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hdp/HealthService$BluetoothHealthBinder;-registerAppConfiguration-(Landroid/bluetooth/BluetoothHealthAppConfiguration; Landroid/bluetooth/IBluetoothHealthCallback;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hdp/HealthService$BluetoothHealthBinder;-unregisterAppConfiguration-(Landroid/bluetooth/BluetoothHealthAppConfiguration;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-clccResponse-(I I I I Z Ljava/lang/String; I)V": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN", "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-connect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-connectAudio-()Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-disconnect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-disconnectAudio-()Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-getConnectedDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-getConnectionState-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-getDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-getPriority-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-isAudioConnected-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-isAudioOn-()Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-phoneStateChanged-(I I I Ljava/lang/String; I)V": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN", "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-sendVendorSpecificResultCode-(Landroid/bluetooth/BluetoothDevice; Ljava/lang/String; Ljava/lang/String;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-setPriority-(Landroid/bluetooth/BluetoothDevice; I)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-startVoiceRecognition-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-stopVoiceRecognition-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-connect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-disconnect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-getConnectedDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-getDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-getPriority-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-getProtocolMode-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-getReport-(Landroid/bluetooth/BluetoothDevice; B B I)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-sendData-(Landroid/bluetooth/BluetoothDevice; Ljava/lang/String;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-setPriority-(Landroid/bluetooth/BluetoothDevice; I)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-setProtocolMode-(Landroid/bluetooth/BluetoothDevice; I)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-setReport-(Landroid/bluetooth/BluetoothDevice; B Ljava/lang/String;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-virtualUnplug-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/map/BluetoothMapService$BluetoothMapBinder;-connect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/map/BluetoothMapService$BluetoothMapBinder;-disconnect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/map/BluetoothMapService$BluetoothMapBinder;-getClient-()Landroid/bluetooth/BluetoothDevice;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/map/BluetoothMapService$BluetoothMapBinder;-getConnectedDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/map/BluetoothMapService$BluetoothMapBinder;-getConnectionState-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/map/BluetoothMapService$BluetoothMapBinder;-getDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/map/BluetoothMapService$BluetoothMapBinder;-getPriority-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/map/BluetoothMapService$BluetoothMapBinder;-getState-()I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/map/BluetoothMapService$BluetoothMapBinder;-isConnected-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/map/BluetoothMapService$BluetoothMapBinder;-setPriority-(Landroid/bluetooth/BluetoothDevice; I)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/pan/PanService$BluetoothPanBinder;-connect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/pan/PanService$BluetoothPanBinder;-disconnect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/pan/PanService$BluetoothPanBinder;-getConnectedDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/pan/PanService$BluetoothPanBinder;-getDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/pan/PanService$BluetoothPanBinder;-setBluetoothTethering-(Z)V": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/internal/telephony/IccPhoneBookInterfaceManager;-getAdnRecordsInEf-(I)Ljava/util/List;": [ "android.permission.READ_CONTACTS", "android.permission.READ_CONTACTS" ], "Lcom/android/internal/telephony/IccPhoneBookInterfaceManager;-updateAdnRecordsInEfByIndex-(I Ljava/lang/String; Ljava/lang/String; I Ljava/lang/String;)Z": [ "android.permission.WRITE_CONTACTS", "android.permission.WRITE_CONTACTS" ], "Lcom/android/internal/telephony/IccPhoneBookInterfaceManager;-updateAdnRecordsInEfBySearch-(I Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/lang/String;)Z": [ "android.permission.WRITE_CONTACTS", "android.permission.WRITE_CONTACTS" ], "Lcom/android/internal/telephony/IccPhoneBookInterfaceManagerProxy;-getAdnRecordsInEf-(I)Ljava/util/List;": [ "android.permission.READ_CONTACTS" ], "Lcom/android/internal/telephony/IccPhoneBookInterfaceManagerProxy;-updateAdnRecordsInEfByIndex-(I Ljava/lang/String; Ljava/lang/String; I Ljava/lang/String;)Z": [ "android.permission.WRITE_CONTACTS" ], "Lcom/android/internal/telephony/IccPhoneBookInterfaceManagerProxy;-updateAdnRecordsInEfBySearch-(I Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/lang/String;)Z": [ "android.permission.WRITE_CONTACTS" ], "Lcom/android/internal/telephony/PhoneSubInfo;-getCompleteVoiceMailNumber-()Ljava/lang/String;": [ "android.permission.CALL_PRIVILEGED" ], "Lcom/android/internal/telephony/PhoneSubInfo;-getDeviceId-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfo;-getDeviceSvn-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfo;-getGroupIdLevel1-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfo;-getIccSerialNumber-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfo;-getIsimDomain-()Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfo;-getIsimImpi-()Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfo;-getIsimImpu-()[Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfo;-getLine1AlphaTag-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfo;-getLine1Number-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfo;-getMsisdn-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfo;-getSubscriberId-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfo;-getVoiceMailAlphaTag-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfo;-getVoiceMailNumber-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/nfc/NfcService$CardEmulationService;-getServices-(I Ljava/lang/String;)Ljava/util/List;": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/nfc/NfcService$CardEmulationService;-isDefaultServiceForAid-(I Landroid/content/ComponentName; Ljava/lang/String;)Z": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$CardEmulationService;-isDefaultServiceForCategory-(I Landroid/content/ComponentName; Ljava/lang/String;)Z": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$CardEmulationService;-setDefaultForNextTap-(I Landroid/content/ComponentName;)Z": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/nfc/NfcService$CardEmulationService;-setDefaultServiceForCategory-(I Landroid/content/ComponentName; Ljava/lang/String;)Z": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/nfc/NfcService$NfcAdapterExtrasService;-authenticate-(Ljava/lang/String; [B)V": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$NfcAdapterExtrasService;-close-(Ljava/lang/String; Landroid/os/IBinder;)Landroid/os/Bundle;": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$NfcAdapterExtrasService;-getCardEmulationRoute-(Ljava/lang/String;)I": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$NfcAdapterExtrasService;-getDriverName-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$NfcAdapterExtrasService;-open-(Ljava/lang/String; Landroid/os/IBinder;)Landroid/os/Bundle;": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$NfcAdapterExtrasService;-setCardEmulationRoute-(Ljava/lang/String; I)V": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$NfcAdapterExtrasService;-transceive-(Ljava/lang/String; [B)Landroid/os/Bundle;": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$NfcAdapterService;-disable-(Z)Z": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/nfc/NfcService$NfcAdapterService;-disableNdefPush-()Z": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/nfc/NfcService$NfcAdapterService;-dispatch-(Landroid/nfc/Tag;)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/nfc/NfcService$NfcAdapterService;-enable-()Z": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/nfc/NfcService$NfcAdapterService;-enableNdefPush-()Z": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/nfc/NfcService$NfcAdapterService;-getNfcAdapterExtrasInterface-(Ljava/lang/String;)Landroid/nfc/INfcAdapterExtras;": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$NfcAdapterService;-setAppCallback-(Landroid/nfc/IAppCallback;)V": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$NfcAdapterService;-setForegroundDispatch-(Landroid/app/PendingIntent; [Landroid/content/IntentFilter; Landroid/nfc/TechListParcel;)V": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$NfcAdapterService;-setP2pModes-(I I)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/nfc/NfcService$TagService;-close-(I)I": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-connect-(I I)I": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-formatNdef-(I [B)I": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-getTechList-(I)[I": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-getTimeout-(I)I": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-isNdef-(I)Z": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-ndefMakeReadOnly-(I)I": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-ndefRead-(I)Landroid/nfc/NdefMessage;": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-ndefWrite-(I Landroid/nfc/NdefMessage;)I": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-reconnect-(I)I": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-rediscover-(I)Landroid/nfc/Tag;": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-resetTimeouts-()V": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-setTimeout-(I I)I": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-transceive-(I [B Z)Landroid/nfc/TransceiveResult;": [ "android.permission.NFC" ], "Lcom/android/phone/CallCommandService;-rejectCall-(Lcom/android/services/telephony/common/Call; Z Ljava/lang/String;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.SET_PREFERRED_APPLICATIONS" ], "Lcom/android/phone/PhoneInterfaceManager;-addListener-(Lcom/android/internal/telephony/ITelephonyListener;)V": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-answerRingingCall-()V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-call-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.CALL_PHONE" ], "Lcom/android/phone/PhoneInterfaceManager;-cancelMissedCallsNotification-()V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-disableApnType-(Ljava/lang/String;)I": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-disableDataConnectivity-()Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-disableLocationUpdates-()V": [ "android.permission.CONTROL_LOCATION_UPDATES" ], "Lcom/android/phone/PhoneInterfaceManager;-enableApnType-(Ljava/lang/String;)I": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-enableDataConnectivity-()Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-enableLocationUpdates-()V": [ "android.permission.CONTROL_LOCATION_UPDATES" ], "Lcom/android/phone/PhoneInterfaceManager;-endCall-()Z": [ "android.permission.CALL_PHONE" ], "Lcom/android/phone/PhoneInterfaceManager;-getAllCellInfo-()Ljava/util/List;": [ "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/phone/PhoneInterfaceManager;-getCellLocation-()Landroid/os/Bundle;": [ "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/phone/PhoneInterfaceManager;-getNeighboringCellInfo-(Ljava/lang/String;)Ljava/util/List;": [ "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/phone/PhoneInterfaceManager;-handlePinMmi-(Ljava/lang/String;)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-isSimPinEnabled-()Z": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-merge-()V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-mute-(Z)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-playDtmfTone-(C Z)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-removeListener-(Lcom/android/internal/telephony/ITelephonyListener;)V": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-setRadio-(Z)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-setRadioPower-(Z)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-silenceRinger-()V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-stopDtmfTone-()V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-supplyPin-(Ljava/lang/String;)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-supplyPinReportResult-(Ljava/lang/String;)[I": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-supplyPuk-(Ljava/lang/String; Ljava/lang/String;)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-supplyPukReportResult-(Ljava/lang/String; Ljava/lang/String;)[I": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-swap-()V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-toggleHold-()V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-toggleRadioOnOff-()V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/providers/contacts/ContactsProvider2;-getType-(Landroid/net/Uri;)Ljava/lang/String;": [ "android.permission.READ_SOCIAL_STREAM" ], "Lcom/android/server/AlarmManagerService;-set-(I J J J Landroid/app/PendingIntent; Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/AlarmManagerService;-setTime-(J)V": [ "android.permission.SET_TIME" ], "Lcom/android/server/AlarmManagerService;-setTimeZone-(Ljava/lang/String;)V": [ "android.permission.SET_TIME_ZONE" ], "Lcom/android/server/AppOpsService;-checkOperation-(I I Ljava/lang/String;)I": [ "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/server/AppOpsService;-finishOperation-(Landroid/os/IBinder; I I Ljava/lang/String;)V": [ "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/server/AppOpsService;-getOpsForPackage-(I Ljava/lang/String; [I)Ljava/util/List;": [ "android.permission.GET_APP_OPS_STATS" ], "Lcom/android/server/AppOpsService;-getPackagesForOps-([I)Ljava/util/List;": [ "android.permission.GET_APP_OPS_STATS" ], "Lcom/android/server/AppOpsService;-noteOperation-(I I Ljava/lang/String;)I": [ "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/server/AppOpsService;-resetAllModes-()V": [ "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/server/AppOpsService;-setMode-(I I Ljava/lang/String; I)V": [ "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/server/AppOpsService;-startOperation-(Landroid/os/IBinder; I I Ljava/lang/String;)I": [ "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/server/AppWidgetService;-bindAppWidgetId-(I Landroid/content/ComponentName; Landroid/os/Bundle; I)V": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/AppWidgetService;-bindAppWidgetIdIfAllowed-(Ljava/lang/String; I Landroid/content/ComponentName; Landroid/os/Bundle; I)Z": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/AppWidgetService;-bindRemoteViewsService-(I Landroid/content/Intent; Landroid/os/IBinder; I)V": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/AppWidgetService;-deleteAppWidgetId-(I I)V": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/AppWidgetService;-getAppWidgetInfo-(I I)Landroid/appwidget/AppWidgetProviderInfo;": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/AppWidgetService;-getAppWidgetOptions-(I I)Landroid/os/Bundle;": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/AppWidgetService;-getAppWidgetViews-(I I)Landroid/widget/RemoteViews;": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/AppWidgetService;-hasBindAppWidgetPermission-(Ljava/lang/String; I)Z": [ "android.permission.MODIFY_APPWIDGET_BIND_PERMISSIONS" ], "Lcom/android/server/AppWidgetService;-notifyAppWidgetViewDataChanged-([I I I)V": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/AppWidgetService;-partiallyUpdateAppWidgetIds-([I Landroid/widget/RemoteViews; I)V": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/AppWidgetService;-setBindAppWidgetPermission-(Ljava/lang/String; Z I)V": [ "android.permission.MODIFY_APPWIDGET_BIND_PERMISSIONS" ], "Lcom/android/server/AppWidgetService;-unbindRemoteViewsService-(I Landroid/content/Intent; I)V": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/AppWidgetService;-updateAppWidgetIds-([I Landroid/widget/RemoteViews; I)V": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/AppWidgetService;-updateAppWidgetOptions-(I Landroid/os/Bundle; I)V": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/AppWidgetService;-updateAppWidgetProvider-(Landroid/content/ComponentName; Landroid/widget/RemoteViews; I)V": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/BackupManagerService$ActiveRestoreSession;-getAvailableRestoreSets-(Landroid/app/backup/IRestoreObserver;)I": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService$ActiveRestoreSession;-restoreAll-(J Landroid/app/backup/IRestoreObserver;)I": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService$ActiveRestoreSession;-restorePackage-(Ljava/lang/String; Landroid/app/backup/IRestoreObserver;)I": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService$ActiveRestoreSession;-restoreSome-(J Landroid/app/backup/IRestoreObserver; [Ljava/lang/String;)I": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService;-acknowledgeFullBackupOrRestore-(I Z Ljava/lang/String; Ljava/lang/String; Landroid/app/backup/IFullBackupRestoreObserver;)V": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService;-backupNow-()V": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService;-beginRestoreSession-(Ljava/lang/String; Ljava/lang/String;)Landroid/app/backup/IRestoreSession;": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService;-clearBackupData-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService;-dataChanged-(Ljava/lang/String;)V": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService;-fullBackup-(Landroid/os/ParcelFileDescriptor; Z Z Z Z Z [Ljava/lang/String;)V": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService;-fullRestore-(Landroid/os/ParcelFileDescriptor;)V": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService;-getConfigurationIntent-(Ljava/lang/String;)Landroid/content/Intent;": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService;-getCurrentTransport-()Ljava/lang/String;": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService;-getDestinationString-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService;-hasBackupPassword-()Z": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService;-isBackupEnabled-()Z": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService;-listAllTransports-()[Ljava/lang/String;": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService;-selectBackupTransport-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService;-setAutoRestore-(Z)V": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService;-setBackupEnabled-(Z)V": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService;-setBackupPassword-(Ljava/lang/String; Ljava/lang/String;)Z": [ "android.permission.BACKUP" ], "Lcom/android/server/BackupManagerService;-setBackupProvisioned-(Z)V": [ "android.permission.BACKUP" ], "Lcom/android/server/BluetoothManagerService;-disable-(Z)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/server/BluetoothManagerService;-enable-()Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/server/BluetoothManagerService;-enableNoAutoConnect-()Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/server/BluetoothManagerService;-getAddress-()Ljava/lang/String;": [ "android.permission.BLUETOOTH" ], "Lcom/android/server/BluetoothManagerService;-getName-()Ljava/lang/String;": [ "android.permission.BLUETOOTH" ], "Lcom/android/server/BluetoothManagerService;-registerStateChangeCallback-(Landroid/bluetooth/IBluetoothStateChangeCallback;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/server/BluetoothManagerService;-unregisterAdapter-(Landroid/bluetooth/IBluetoothManagerCallback;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/server/BluetoothManagerService;-unregisterStateChangeCallback-(Landroid/bluetooth/IBluetoothStateChangeCallback;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/server/ConnectivityService;-captivePortalCheckComplete-(Landroid/net/NetworkInfo;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-captivePortalCheckCompleted-(Landroid/net/NetworkInfo; Z)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-checkMobileProvisioning-(I)I": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-findConnectionTypeForIface-(Ljava/lang/String;)I": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-getActiveLinkProperties-()Landroid/net/LinkProperties;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getActiveLinkQualityInfo-()Landroid/net/LinkQualityInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getActiveNetworkInfo-()Landroid/net/NetworkInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getActiveNetworkInfoForUid-(I)Landroid/net/NetworkInfo;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-getActiveNetworkQuotaInfo-()Landroid/net/NetworkQuotaInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getAllLinkQualityInfo-()[Landroid/net/LinkQualityInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getAllNetworkInfo-()[Landroid/net/NetworkInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getAllNetworkState-()[Landroid/net/NetworkState;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getLastTetherError-(Ljava/lang/String;)I": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getLinkProperties-(I)Landroid/net/LinkProperties;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getLinkQualityInfo-(I)Landroid/net/LinkQualityInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getMobileDataEnabled-()Z": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getMobileProvisioningUrl-()Ljava/lang/String;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-getMobileRedirectedProvisioningUrl-()Ljava/lang/String;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-getNetworkInfo-(I)Landroid/net/NetworkInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getNetworkPreference-()I": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getProvisioningOrActiveNetworkInfo-()Landroid/net/NetworkInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getTetherableBluetoothRegexs-()[Ljava/lang/String;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getTetherableIfaces-()[Ljava/lang/String;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getTetherableUsbRegexs-()[Ljava/lang/String;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getTetherableWifiRegexs-()[Ljava/lang/String;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getTetheredIfaces-()[Ljava/lang/String;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getTetheringErroredIfaces-()[Ljava/lang/String;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-isActiveNetworkMetered-()Z": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-isNetworkSupported-(I)Z": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-isTetheringSupported-()Z": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-markSocketAsUser-(Landroid/os/ParcelFileDescriptor; I)V": [ "android.permission.MARK_NETWORK_SOCKET" ], "Lcom/android/server/ConnectivityService;-reportInetCondition-(I I)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/ConnectivityService;-requestNetworkTransitionWakelock-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-requestRouteToHost-(I I Ljava/lang/String;)Z": [ "android.permission.CHANGE_NETWORK_STATE", "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-requestRouteToHostAddress-(I [B Ljava/lang/String;)Z": [ "android.permission.CHANGE_NETWORK_STATE", "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-setAirplaneMode-(Z)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-setDataDependency-(I Z)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-setGlobalProxy-(Landroid/net/ProxyProperties;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-setMobileDataEnabled-(Z)V": [ "android.permission.CHANGE_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-setNetworkPreference-(I)V": [ "android.permission.CHANGE_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-setPolicyDataEnable-(I Z)V": [ "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/ConnectivityService;-setProvisioningNotificationVisible-(Z I Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-setRadio-(I Z)Z": [ "android.permission.CHANGE_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-setRadios-(Z)Z": [ "android.permission.CHANGE_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-setUsbTethering-(Z)I": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.CHANGE_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-startLegacyVpn-(Lcom/android/internal/net/VpnProfile;)V": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-startUsingNetworkFeature-(I Ljava/lang/String; Landroid/os/IBinder;)I": [ "android.permission.CHANGE_NETWORK_STATE", "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-stopUsingNetworkFeature-(I Ljava/lang/String;)I": [ "android.permission.CHANGE_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-supplyMessenger-(I Landroid/os/Messenger;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-tether-(Ljava/lang/String;)I": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.CHANGE_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-untether-(Ljava/lang/String;)I": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.CHANGE_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-updateLockdownVpn-()Z": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConsumerIrService;-getCarrierFrequencies-()[I": [ "android.permission.TRANSMIT_IR" ], "Lcom/android/server/ConsumerIrService;-transmit-(Ljava/lang/String; I [I)V": [ "android.permission.TRANSMIT_IR" ], "Lcom/android/server/DevicePolicyManagerService;-getActiveAdmins-(I)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-getCameraDisabled-(Landroid/content/ComponentName; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-getCurrentFailedPasswordAttempts-(I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-getDeviceOwnerName-()Ljava/lang/String;": [ "android.permission.MANAGE_USERS" ], "Lcom/android/server/DevicePolicyManagerService;-getGlobalProxyAdmin-(I)Landroid/content/ComponentName;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-getKeyguardDisabledFeatures-(Landroid/content/ComponentName; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-getMaximumFailedPasswordsForWipe-(Landroid/content/ComponentName; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-getMaximumTimeToLock-(Landroid/content/ComponentName; I)J": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-getPasswordExpiration-(Landroid/content/ComponentName; I)J": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-getPasswordExpirationTimeout-(Landroid/content/ComponentName; I)J": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-getPasswordHistoryLength-(Landroid/content/ComponentName; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-getPasswordMinimumLength-(Landroid/content/ComponentName; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-getPasswordMinimumLetters-(Landroid/content/ComponentName; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-getPasswordMinimumLowerCase-(Landroid/content/ComponentName; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-getPasswordMinimumNonLetter-(Landroid/content/ComponentName; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-getPasswordMinimumNumeric-(Landroid/content/ComponentName; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-getPasswordMinimumSymbols-(Landroid/content/ComponentName; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-getPasswordMinimumUpperCase-(Landroid/content/ComponentName; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-getPasswordQuality-(Landroid/content/ComponentName; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-getRemoveWarning-(Landroid/content/ComponentName; Landroid/os/RemoteCallback; I)V": [ "android.permission.BIND_DEVICE_ADMIN", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-getStorageEncryption-(Landroid/content/ComponentName; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-getStorageEncryptionStatus-(I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-hasGrantedPolicy-(Landroid/content/ComponentName; I I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-installCaCert-([B)Z": [ "android.permission.MANAGE_CA_CERTIFICATES" ], "Lcom/android/server/DevicePolicyManagerService;-isActivePasswordSufficient-(I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-isAdminActive-(Landroid/content/ComponentName; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-lockNow-()V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-packageHasActiveAdmins-(Ljava/lang/String; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-removeActiveAdmin-(Landroid/content/ComponentName; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_DEVICE_ADMINS" ], "Lcom/android/server/DevicePolicyManagerService;-reportFailedPasswordAttempt-(I)V": [ "android.permission.BIND_DEVICE_ADMIN", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-reportSuccessfulPasswordAttempt-(I)V": [ "android.permission.BIND_DEVICE_ADMIN", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-resetPassword-(Ljava/lang/String; I I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-setActiveAdmin-(Landroid/content/ComponentName; Z I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_DEVICE_ADMINS" ], "Lcom/android/server/DevicePolicyManagerService;-setActivePasswordState-(I I I I I I I I I)V": [ "android.permission.BIND_DEVICE_ADMIN", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-setCameraDisabled-(Landroid/content/ComponentName; Z I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-setGlobalProxy-(Landroid/content/ComponentName; Ljava/lang/String; Ljava/lang/String; I)Landroid/content/ComponentName;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-setKeyguardDisabledFeatures-(Landroid/content/ComponentName; I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-setMaximumFailedPasswordsForWipe-(Landroid/content/ComponentName; I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-setMaximumTimeToLock-(Landroid/content/ComponentName; J I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-setPasswordExpirationTimeout-(Landroid/content/ComponentName; J I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-setPasswordHistoryLength-(Landroid/content/ComponentName; I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-setPasswordMinimumLength-(Landroid/content/ComponentName; I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-setPasswordMinimumLetters-(Landroid/content/ComponentName; I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-setPasswordMinimumLowerCase-(Landroid/content/ComponentName; I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-setPasswordMinimumNonLetter-(Landroid/content/ComponentName; I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-setPasswordMinimumNumeric-(Landroid/content/ComponentName; I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-setPasswordMinimumSymbols-(Landroid/content/ComponentName; I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-setPasswordMinimumUpperCase-(Landroid/content/ComponentName; I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-setPasswordQuality-(Landroid/content/ComponentName; I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-setStorageEncryption-(Landroid/content/ComponentName; Z I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DevicePolicyManagerService;-uninstallCaCert-([B)V": [ "android.permission.MANAGE_CA_CERTIFICATES" ], "Lcom/android/server/DevicePolicyManagerService;-wipeData-(I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/DropBoxManagerService;-getNextEntry-(Ljava/lang/String; J)Landroid/os/DropBoxManager$Entry;": [ "android.permission.READ_LOGS" ], "Lcom/android/server/InputMethodManagerService;-addClient-(Lcom/android/internal/view/IInputMethodClient; Lcom/android/internal/view/IInputContext; I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-getCurrentInputMethodSubtype-()Landroid/view/inputmethod/InputMethodSubtype;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-getEnabledInputMethodList-()Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-getEnabledInputMethodSubtypeList-(Ljava/lang/String; Z)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-getInputMethodList-()Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-getLastInputMethodSubtype-()Landroid/view/inputmethod/InputMethodSubtype;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-hideMySoftInput-(Landroid/os/IBinder; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-hideSoftInput-(Lcom/android/internal/view/IInputMethodClient; I Landroid/os/ResultReceiver;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.STATUS_BAR" ], "Lcom/android/server/InputMethodManagerService;-notifySuggestionPicked-(Landroid/text/style/SuggestionSpan; Ljava/lang/String; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-registerSuggestionSpansForNotification-([Landroid/text/style/SuggestionSpan;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-removeClient-(Lcom/android/internal/view/IInputMethodClient;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-setAdditionalInputMethodSubtypes-(Ljava/lang/String; [Landroid/view/inputmethod/InputMethodSubtype;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-setCurrentInputMethodSubtype-(Landroid/view/inputmethod/InputMethodSubtype;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.STATUS_BAR" ], "Lcom/android/server/InputMethodManagerService;-setImeWindowStatus-(Landroid/os/IBinder; I I)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/InputMethodManagerService;-setInputMethod-(Landroid/os/IBinder; Ljava/lang/String;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.STATUS_BAR", "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/InputMethodManagerService;-setInputMethodAndSubtype-(Landroid/os/IBinder; Ljava/lang/String; Landroid/view/inputmethod/InputMethodSubtype;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.STATUS_BAR", "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/InputMethodManagerService;-setInputMethodEnabled-(Ljava/lang/String; Z)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/InputMethodManagerService;-shouldOfferSwitchingToNextInputMethod-(Landroid/os/IBinder;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-showInputMethodAndSubtypeEnablerFromClient-(Lcom/android/internal/view/IInputMethodClient; Ljava/lang/String;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-showInputMethodPickerFromClient-(Lcom/android/internal/view/IInputMethodClient;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-showMySoftInput-(Landroid/os/IBinder; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-showSoftInput-(Lcom/android/internal/view/IInputMethodClient; I Landroid/os/ResultReceiver;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-startInput-(Lcom/android/internal/view/IInputMethodClient; Lcom/android/internal/view/IInputContext; Landroid/view/inputmethod/EditorInfo; I)Lcom/android/internal/view/InputBindResult;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-switchToLastInputMethod-(Landroid/os/IBinder;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.STATUS_BAR", "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/InputMethodManagerService;-switchToNextInputMethod-(Landroid/os/IBinder; Z)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.STATUS_BAR", "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/InputMethodManagerService;-updateStatusIcon-(Landroid/os/IBinder; Ljava/lang/String; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.STATUS_BAR" ], "Lcom/android/server/InputMethodManagerService;-windowGainedFocus-(Lcom/android/internal/view/IInputMethodClient; Landroid/os/IBinder; I I I Landroid/view/inputmethod/EditorInfo; Lcom/android/internal/view/IInputContext;)Lcom/android/internal/view/InputBindResult;": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.STATUS_BAR" ], "Lcom/android/server/LocationManagerService;-addGpsStatusListener-(Landroid/location/IGpsStatusListener; Ljava/lang/String;)Z": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-addTestProvider-(Ljava/lang/String; Lcom/android/internal/location/ProviderProperties;)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Lcom/android/server/LocationManagerService;-clearTestProviderEnabled-(Ljava/lang/String;)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Lcom/android/server/LocationManagerService;-clearTestProviderLocation-(Ljava/lang/String;)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Lcom/android/server/LocationManagerService;-clearTestProviderStatus-(Ljava/lang/String;)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Lcom/android/server/LocationManagerService;-getBestProvider-(Landroid/location/Criteria; Z)Ljava/lang/String;": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-getLastLocation-(Landroid/location/LocationRequest; Ljava/lang/String;)Landroid/location/Location;": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-getProviderProperties-(Ljava/lang/String;)Lcom/android/internal/location/ProviderProperties;": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-getProviders-(Landroid/location/Criteria; Z)Ljava/util/List;": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-isProviderEnabled-(Ljava/lang/String;)Z": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-removeGeofence-(Landroid/location/Geofence; Landroid/app/PendingIntent; Ljava/lang/String;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-removeTestProvider-(Ljava/lang/String;)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Lcom/android/server/LocationManagerService;-removeUpdates-(Landroid/location/ILocationListener; Landroid/app/PendingIntent; Ljava/lang/String;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-reportLocation-(Landroid/location/Location; Z)V": [ "android.permission.INSTALL_LOCATION_PROVIDER" ], "Lcom/android/server/LocationManagerService;-requestGeofence-(Landroid/location/LocationRequest; Landroid/location/Geofence; Landroid/app/PendingIntent; Ljava/lang/String;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-requestLocationUpdates-(Landroid/location/LocationRequest; Landroid/location/ILocationListener; Landroid/app/PendingIntent; Ljava/lang/String;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION", "android.permission.UPDATE_APP_OPS_STATS", "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/LocationManagerService;-sendExtraCommand-(Ljava/lang/String; Ljava/lang/String; Landroid/os/Bundle;)Z": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION", "android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" ], "Lcom/android/server/LocationManagerService;-setTestProviderEnabled-(Ljava/lang/String; Z)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Lcom/android/server/LocationManagerService;-setTestProviderLocation-(Ljava/lang/String; Landroid/location/Location;)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Lcom/android/server/LocationManagerService;-setTestProviderStatus-(Ljava/lang/String; I Landroid/os/Bundle; J)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Lcom/android/server/LockSettingsService;-checkPassword-(Ljava/lang/String; I)Z": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" ], "Lcom/android/server/LockSettingsService;-checkPattern-(Ljava/lang/String; I)Z": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" ], "Lcom/android/server/LockSettingsService;-getBoolean-(Ljava/lang/String; Z I)Z": [ "android.permission.READ_PROFILE" ], "Lcom/android/server/LockSettingsService;-getLong-(Ljava/lang/String; J I)J": [ "android.permission.READ_PROFILE" ], "Lcom/android/server/LockSettingsService;-getString-(Ljava/lang/String; Ljava/lang/String; I)Ljava/lang/String;": [ "android.permission.READ_PROFILE" ], "Lcom/android/server/LockSettingsService;-removeUser-(I)V": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" ], "Lcom/android/server/LockSettingsService;-setBoolean-(Ljava/lang/String; Z I)V": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" ], "Lcom/android/server/LockSettingsService;-setLockPassword-(Ljava/lang/String; I)V": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" ], "Lcom/android/server/LockSettingsService;-setLockPattern-(Ljava/lang/String; I)V": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" ], "Lcom/android/server/LockSettingsService;-setLong-(Ljava/lang/String; J I)V": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" ], "Lcom/android/server/LockSettingsService;-setString-(Ljava/lang/String; Ljava/lang/String; I)V": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" ], "Lcom/android/server/MountService;-changeEncryptionPassword-(Ljava/lang/String;)I": [ "android.permission.CRYPT_KEEPER" ], "Lcom/android/server/MountService;-createSecureContainer-(Ljava/lang/String; I Ljava/lang/String; Ljava/lang/String; I Z)I": [ "android.permission.ASEC_CREATE" ], "Lcom/android/server/MountService;-decryptStorage-(Ljava/lang/String;)I": [ "android.permission.CRYPT_KEEPER" ], "Lcom/android/server/MountService;-destroySecureContainer-(Ljava/lang/String; Z)I": [ "android.permission.ASEC_DESTROY" ], "Lcom/android/server/MountService;-encryptStorage-(Ljava/lang/String;)I": [ "android.permission.CRYPT_KEEPER" ], "Lcom/android/server/MountService;-finalizeSecureContainer-(Ljava/lang/String;)I": [ "android.permission.ASEC_CREATE" ], "Lcom/android/server/MountService;-fixPermissionsSecureContainer-(Ljava/lang/String; I Ljava/lang/String;)I": [ "android.permission.ASEC_CREATE" ], "Lcom/android/server/MountService;-formatVolume-(Ljava/lang/String;)I": [ "android.permission.MOUNT_FORMAT_FILESYSTEMS" ], "Lcom/android/server/MountService;-getEncryptionState-()I": [ "android.permission.CRYPT_KEEPER" ], "Lcom/android/server/MountService;-getSecureContainerFilesystemPath-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.ASEC_ACCESS" ], "Lcom/android/server/MountService;-getSecureContainerList-()[Ljava/lang/String;": [ "android.permission.ASEC_ACCESS" ], "Lcom/android/server/MountService;-getSecureContainerPath-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.ASEC_ACCESS" ], "Lcom/android/server/MountService;-getStorageUsers-(Ljava/lang/String;)[I": [ "android.permission.MOUNT_UNMOUNT_FILESYSTEMS" ], "Lcom/android/server/MountService;-getVolumeList-()[Landroid/os/storage/StorageVolume;": [ "android.permission.ACCESS_ALL_EXTERNAL_STORAGE" ], "Lcom/android/server/MountService;-isSecureContainerMounted-(Ljava/lang/String;)Z": [ "android.permission.ASEC_ACCESS" ], "Lcom/android/server/MountService;-mountSecureContainer-(Ljava/lang/String; Ljava/lang/String; I)I": [ "android.permission.ASEC_MOUNT_UNMOUNT" ], "Lcom/android/server/MountService;-mountVolume-(Ljava/lang/String;)I": [ "android.permission.MOUNT_UNMOUNT_FILESYSTEMS" ], "Lcom/android/server/MountService;-renameSecureContainer-(Ljava/lang/String; Ljava/lang/String;)I": [ "android.permission.ASEC_RENAME" ], "Lcom/android/server/MountService;-setUsbMassStorageEnabled-(Z)V": [ "android.permission.MOUNT_UNMOUNT_FILESYSTEMS" ], "Lcom/android/server/MountService;-shutdown-(Landroid/os/storage/IMountShutdownObserver;)V": [ "android.permission.SHUTDOWN" ], "Lcom/android/server/MountService;-unmountSecureContainer-(Ljava/lang/String; Z)I": [ "android.permission.ASEC_MOUNT_UNMOUNT" ], "Lcom/android/server/MountService;-unmountVolume-(Ljava/lang/String; Z Z)V": [ "android.permission.MOUNT_UNMOUNT_FILESYSTEMS" ], "Lcom/android/server/MountService;-verifyEncryptionPassword-(Ljava/lang/String;)I": [ "android.permission.CRYPT_KEEPER" ], "Lcom/android/server/NetworkManagementService;-addIdleTimer-(Ljava/lang/String; I Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-addRoute-(Ljava/lang/String; Landroid/net/RouteInfo;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-addSecondaryRoute-(Ljava/lang/String; Landroid/net/RouteInfo;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-attachPppd-(Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-clearDnsInterfaceForPid-(I)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-clearDnsInterfaceForUidRange-(Ljava/lang/String; I I)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-clearDnsInterfaceMaps-()V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-clearHostExemption-(Landroid/net/LinkAddress;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-clearInterfaceAddresses-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-clearMarkedForwarding-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-clearMarkedForwardingRoute-(Ljava/lang/String; Landroid/net/RouteInfo;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-clearUidRangeRoute-(Ljava/lang/String; I I)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-detachPppd-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-disableIpv6-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-disableNat-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-enableIpv6-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-enableNat-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-flushDefaultDnsCache-()V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-flushInterfaceDnsCache-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getDnsForwarders-()[Ljava/lang/String;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getInterfaceConfig-(Ljava/lang/String;)Landroid/net/InterfaceConfiguration;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getIpForwardingEnabled-()Z": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getMarkForProtect-()I": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getMarkForUid-(I)I": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getNetworkStatsDetail-()Landroid/net/NetworkStats;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getNetworkStatsSummaryDev-()Landroid/net/NetworkStats;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getNetworkStatsSummaryXt-()Landroid/net/NetworkStats;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getNetworkStatsTethering-()Landroid/net/NetworkStats;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getNetworkStatsUidDetail-(I)Landroid/net/NetworkStats;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getRoutes-(Ljava/lang/String;)[Landroid/net/RouteInfo;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-isBandwidthControlEnabled-()Z": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-isClatdStarted-()Z": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-isTetheringStarted-()Z": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-listInterfaces-()[Ljava/lang/String;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-listTetheredInterfaces-()[Ljava/lang/String;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-listTtys-()[Ljava/lang/String;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-registerObserver-(Landroid/net/INetworkManagementEventObserver;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-removeIdleTimer-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-removeInterfaceAlert-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-removeInterfaceQuota-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-removeRoute-(Ljava/lang/String; Landroid/net/RouteInfo;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-removeSecondaryRoute-(Ljava/lang/String; Landroid/net/RouteInfo;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setAccessPoint-(Landroid/net/wifi/WifiConfiguration; Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setDefaultInterfaceForDns-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setDnsForwarders-([Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setDnsInterfaceForPid-(Ljava/lang/String; I)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setDnsInterfaceForUidRange-(Ljava/lang/String; I I)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setDnsServersForInterface-(Ljava/lang/String; [Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setGlobalAlert-(J)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setHostExemption-(Landroid/net/LinkAddress;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setInterfaceAlert-(Ljava/lang/String; J)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setInterfaceConfig-(Ljava/lang/String; Landroid/net/InterfaceConfiguration;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setInterfaceDown-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setInterfaceIpv6PrivacyExtensions-(Ljava/lang/String; Z)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setInterfaceQuota-(Ljava/lang/String; J)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setInterfaceUp-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setIpForwardingEnabled-(Z)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setMarkedForwarding-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setMarkedForwardingRoute-(Ljava/lang/String; Landroid/net/RouteInfo;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setMtu-(Ljava/lang/String; I)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setUidNetworkRules-(I Z)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setUidRangeRoute-(Ljava/lang/String; I I)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-shutdown-()V": [ "android.permission.SHUTDOWN" ], "Lcom/android/server/NetworkManagementService;-startAccessPoint-(Landroid/net/wifi/WifiConfiguration; Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-startClatd-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-startTethering-([Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-stopAccessPoint-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-stopClatd-()V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-stopTethering-()V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-tetherInterface-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-unregisterObserver-(Landroid/net/INetworkManagementEventObserver;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-untetherInterface-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-wifiFirmwareReload-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NotificationManagerService;-getActiveNotifications-(Ljava/lang/String;)[Landroid/service/notification/StatusBarNotification;": [ "android.permission.ACCESS_NOTIFICATIONS" ], "Lcom/android/server/NotificationManagerService;-getHistoricalNotifications-(Ljava/lang/String; I)[Landroid/service/notification/StatusBarNotification;": [ "android.permission.ACCESS_NOTIFICATIONS" ], "Lcom/android/server/NsdService;-getMessenger-()Landroid/os/Messenger;": [ "android.permission.INTERNET" ], "Lcom/android/server/NsdService;-setEnabled-(Z)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/SerialService;-getSerialPorts-()[Ljava/lang/String;": [ "android.permission.SERIAL_PORT" ], "Lcom/android/server/SerialService;-openSerialPort-(Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;": [ "android.permission.SERIAL_PORT" ], "Lcom/android/server/StatusBarManagerService;-collapsePanels-()V": [ "android.permission.EXPAND_STATUS_BAR" ], "Lcom/android/server/StatusBarManagerService;-disable-(I Landroid/os/IBinder; Ljava/lang/String;)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/StatusBarManagerService;-expandNotificationsPanel-()V": [ "android.permission.EXPAND_STATUS_BAR" ], "Lcom/android/server/StatusBarManagerService;-expandSettingsPanel-()V": [ "android.permission.EXPAND_STATUS_BAR" ], "Lcom/android/server/StatusBarManagerService;-onClearAllNotifications-()V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/StatusBarManagerService;-onNotificationClear-(Ljava/lang/String; Ljava/lang/String; I)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/StatusBarManagerService;-onNotificationClick-(Ljava/lang/String; Ljava/lang/String; I)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/StatusBarManagerService;-onNotificationError-(Ljava/lang/String; Ljava/lang/String; I I I Ljava/lang/String;)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/StatusBarManagerService;-onPanelRevealed-()V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/StatusBarManagerService;-registerStatusBar-(Lcom/android/internal/statusbar/IStatusBar; Lcom/android/internal/statusbar/StatusBarIconList; Ljava/util/List; Ljava/util/List; [I Ljava/util/List;)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/StatusBarManagerService;-removeIcon-(Ljava/lang/String;)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/StatusBarManagerService;-setIcon-(Ljava/lang/String; Ljava/lang/String; I I Ljava/lang/String;)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/StatusBarManagerService;-setIconVisibility-(Ljava/lang/String; Z)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/StatusBarManagerService;-setImeWindowStatus-(Landroid/os/IBinder; I I)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/StatusBarManagerService;-setSystemUiVisibility-(I I)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/StatusBarManagerService;-topAppWindowChanged-(Z)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/TelephonyRegistry;-listen-(Ljava/lang/String; Lcom/android/internal/telephony/IPhoneStateListener; I Z)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.READ_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyCallForwardingChanged-(Z)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyCallState-(I Ljava/lang/String;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyCellInfo-(Ljava/util/List;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyCellLocation-(Landroid/os/Bundle;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyDataActivity-(I)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyDataConnection-(I Z Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Landroid/net/LinkProperties; Landroid/net/LinkCapabilities; I Z)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyDataConnectionFailed-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyMessageWaitingChanged-(Z)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyOtaspChanged-(I)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyServiceState-(Landroid/telephony/ServiceState;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifySignalStrength-(Landroid/telephony/SignalStrength;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TextServicesManagerService;-setCurrentSpellChecker-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/TextServicesManagerService;-setCurrentSpellCheckerSubtype-(Ljava/lang/String; I)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/TextServicesManagerService;-setSpellCheckerEnabled-(Z)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/UpdateLockService;-acquireUpdateLock-(Landroid/os/IBinder; Ljava/lang/String;)V": [ "android.permission.UPDATE_LOCK" ], "Lcom/android/server/UpdateLockService;-releaseUpdateLock-(Landroid/os/IBinder;)V": [ "android.permission.UPDATE_LOCK" ], "Lcom/android/server/VibratorService;-cancelVibrate-(Landroid/os/IBinder;)V": [ "android.permission.VIBRATE" ], "Lcom/android/server/VibratorService;-vibrate-(I Ljava/lang/String; J Landroid/os/IBinder;)V": [ "android.permission.UPDATE_APP_OPS_STATS", "android.permission.VIBRATE" ], "Lcom/android/server/VibratorService;-vibratePattern-(I Ljava/lang/String; [J I Landroid/os/IBinder;)V": [ "android.permission.UPDATE_APP_OPS_STATS", "android.permission.VIBRATE" ], "Lcom/android/server/WallpaperManagerService;-setDimensionHints-(I I)V": [ "android.permission.SET_WALLPAPER_HINTS" ], "Lcom/android/server/WallpaperManagerService;-setWallpaper-(Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;": [ "android.permission.SET_WALLPAPER" ], "Lcom/android/server/WallpaperManagerService;-setWallpaperComponent-(Landroid/content/ComponentName;)V": [ "android.permission.SET_WALLPAPER_COMPONENT" ], "Lcom/android/server/accessibility/AccessibilityManagerService$Service;-findAccessibilityNodeInfoByAccessibilityId-(I J I Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback; I J)Z": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService$Service;-findAccessibilityNodeInfosByText-(I J Ljava/lang/String; I Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback; J)Z": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService$Service;-findAccessibilityNodeInfosByViewId-(I J Ljava/lang/String; I Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback; J)Z": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService$Service;-findFocus-(I J I I Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback; J)Z": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService$Service;-focusSearch-(I J I I Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback; J)Z": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService$Service;-performAccessibilityAction-(I J I Landroid/os/Bundle; I Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback; J)Z": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService$Service;-performGlobalAction-(I)Z": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService;-addAccessibilityInteractionConnection-(Landroid/view/IWindow; Landroid/view/accessibility/IAccessibilityInteractionConnection; I)I": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService;-addClient-(Landroid/view/accessibility/IAccessibilityManagerClient; I)I": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService;-getEnabledAccessibilityServiceList-(I I)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService;-getInstalledAccessibilityServiceList-(I)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService;-interrupt-(I)V": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService;-removeAccessibilityInteractionConnection-(Landroid/view/IWindow;)V": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService;-sendAccessibilityEvent-(Landroid/view/accessibility/AccessibilityEvent; I)Z": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService;-temporaryEnableAccessibilityStateUntilKeyguardRemoved-(Landroid/content/ComponentName; Z)V": [ "temporaryEnableAccessibilityStateUntilKeyguardRemoved" ], "Lcom/android/server/accounts/AccountManagerService;-addAccount-(Landroid/accounts/IAccountManagerResponse; Ljava/lang/String; Ljava/lang/String; [Ljava/lang/String; Z Landroid/os/Bundle;)V": [ "android.permission.MANAGE_ACCOUNTS" ], "Lcom/android/server/accounts/AccountManagerService;-addAccountExplicitly-(Landroid/accounts/Account; Ljava/lang/String; Landroid/os/Bundle;)Z": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Lcom/android/server/accounts/AccountManagerService;-clearPassword-(Landroid/accounts/Account;)V": [ "android.permission.MANAGE_ACCOUNTS" ], "Lcom/android/server/accounts/AccountManagerService;-confirmCredentialsAsUser-(Landroid/accounts/IAccountManagerResponse; Landroid/accounts/Account; Landroid/os/Bundle; Z I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_ACCOUNTS" ], "Lcom/android/server/accounts/AccountManagerService;-editProperties-(Landroid/accounts/IAccountManagerResponse; Ljava/lang/String; Z)V": [ "android.permission.MANAGE_ACCOUNTS" ], "Lcom/android/server/accounts/AccountManagerService;-getAccounts-(Ljava/lang/String;)[Landroid/accounts/Account;": [ "android.permission.GET_ACCOUNTS", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/accounts/AccountManagerService;-getAccountsAsUser-(Ljava/lang/String; I)[Landroid/accounts/Account;": [ "android.permission.GET_ACCOUNTS", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/accounts/AccountManagerService;-getAccountsByFeatures-(Landroid/accounts/IAccountManagerResponse; Ljava/lang/String; [Ljava/lang/String;)V": [ "android.permission.GET_ACCOUNTS" ], "Lcom/android/server/accounts/AccountManagerService;-getAccountsByTypeForPackage-(Ljava/lang/String; Ljava/lang/String;)[Landroid/accounts/Account;": [ "android.permission.INTERACT_ACROSS_USERS", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/accounts/AccountManagerService;-getAccountsForPackage-(Ljava/lang/String; I)[Landroid/accounts/Account;": [ "android.permission.GET_ACCOUNTS", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/accounts/AccountManagerService;-getAuthToken-(Landroid/accounts/IAccountManagerResponse; Landroid/accounts/Account; Ljava/lang/String; Z Z Landroid/os/Bundle;)V": [ "android.permission.USE_CREDENTIALS" ], "Lcom/android/server/accounts/AccountManagerService;-getPassword-(Landroid/accounts/Account;)Ljava/lang/String;": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Lcom/android/server/accounts/AccountManagerService;-getUserData-(Landroid/accounts/Account; Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Lcom/android/server/accounts/AccountManagerService;-hasFeatures-(Landroid/accounts/IAccountManagerResponse; Landroid/accounts/Account; [Ljava/lang/String;)V": [ "android.permission.GET_ACCOUNTS" ], "Lcom/android/server/accounts/AccountManagerService;-invalidateAuthToken-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.MANAGE_ACCOUNTS", "android.permission.USE_CREDENTIALS" ], "Lcom/android/server/accounts/AccountManagerService;-peekAuthToken-(Landroid/accounts/Account; Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Lcom/android/server/accounts/AccountManagerService;-removeAccount-(Landroid/accounts/IAccountManagerResponse; Landroid/accounts/Account;)V": [ "android.permission.MANAGE_ACCOUNTS" ], "Lcom/android/server/accounts/AccountManagerService;-setAuthToken-(Landroid/accounts/Account; Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Lcom/android/server/accounts/AccountManagerService;-setPassword-(Landroid/accounts/Account; Ljava/lang/String;)V": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Lcom/android/server/accounts/AccountManagerService;-setUserData-(Landroid/accounts/Account; Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Lcom/android/server/accounts/AccountManagerService;-updateCredentials-(Landroid/accounts/IAccountManagerResponse; Landroid/accounts/Account; Ljava/lang/String; Z Landroid/os/Bundle;)V": [ "android.permission.MANAGE_ACCOUNTS" ], "Lcom/android/server/am/ActivityManagerService;-activityDestroyed-(Landroid/os/IBinder;)V": [ "android.permission.BROADCAST_STICKY", "android.permission.MANAGE_ACTIVITY_STACKS", "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-appNotRespondingViaProvider-(Landroid/os/IBinder;)V": [ "android.permission.REMOVE_TASKS" ], "Lcom/android/server/am/ActivityManagerService;-bindBackupAgent-(Landroid/content/pm/ApplicationInfo; I)Z": [ "android.permission.BACKUP" ], "Lcom/android/server/am/ActivityManagerService;-clearPendingBackup-()V": [ "android.permission.BACKUP" ], "Lcom/android/server/am/ActivityManagerService;-crashApplication-(I I Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.FORCE_STOP_PACKAGES" ], "Lcom/android/server/am/ActivityManagerService;-createStack-(I I I F)I": [ "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-dismissKeyguardOnNextActivity-()V": [ "android.permission.BROADCAST_STICKY", "android.permission.MANAGE_ACTIVITY_STACKS", "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-dumpHeap-(Ljava/lang/String; I Z Ljava/lang/String; Landroid/os/ParcelFileDescriptor;)Z": [ "android.permission.SET_ACTIVITY_WATCHER" ], "Lcom/android/server/am/ActivityManagerService;-finishHeavyWeightApp-()V": [ "android.permission.FORCE_STOP_PACKAGES" ], "Lcom/android/server/am/ActivityManagerService;-forceStopPackage-(Ljava/lang/String; I)V": [ "android.permission.FORCE_STOP_PACKAGES" ], "Lcom/android/server/am/ActivityManagerService;-getAssistContextExtras-(I)Landroid/os/Bundle;": [ "android.permission.GET_TOP_ACTIVITY_INFO" ], "Lcom/android/server/am/ActivityManagerService;-getContentProviderExternal-(Ljava/lang/String; I Landroid/os/IBinder;)Landroid/app/IActivityManager$ContentProviderHolder;": [ "android.permission.ACCESS_CONTENT_PROVIDERS_EXTERNALLY" ], "Lcom/android/server/am/ActivityManagerService;-getCurrentUser-()Landroid/content/pm/UserInfo;": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/am/ActivityManagerService;-getRecentTasks-(I I I)Ljava/util/List;": [ "android.permission.GET_TASKS" ], "Lcom/android/server/am/ActivityManagerService;-getRunningUserIds-()[I": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/am/ActivityManagerService;-getStackBoxInfo-(I)Landroid/app/ActivityManager$StackBoxInfo;": [ "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-getStackBoxes-()Ljava/util/List;": [ "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-getTaskThumbnails-(I)Landroid/app/ActivityManager$TaskThumbnails;": [ "android.permission.READ_FRAME_BUFFER" ], "Lcom/android/server/am/ActivityManagerService;-getTaskTopThumbnail-(I)Landroid/graphics/Bitmap;": [ "android.permission.READ_FRAME_BUFFER" ], "Lcom/android/server/am/ActivityManagerService;-getTasks-(I I Landroid/app/IThumbnailReceiver;)Ljava/util/List;": [ "android.permission.GET_TASKS" ], "Lcom/android/server/am/ActivityManagerService;-goingToSleep-()V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/am/ActivityManagerService;-hang-(Landroid/os/IBinder; Z)V": [ "android.permission.SET_ACTIVITY_WATCHER" ], "Lcom/android/server/am/ActivityManagerService;-inputDispatchingTimedOut-(I Z Ljava/lang/String;)J": [ "android.permission.FILTER_EVENTS" ], "Lcom/android/server/am/ActivityManagerService;-isUserRunning-(I Z)Z": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/am/ActivityManagerService;-killAllBackgroundProcesses-()V": [ "android.permission.KILL_BACKGROUND_PROCESSES" ], "Lcom/android/server/am/ActivityManagerService;-killBackgroundProcesses-(Ljava/lang/String; I)V": [ "android.permission.KILL_BACKGROUND_PROCESSES" ], "Lcom/android/server/am/ActivityManagerService;-moveActivityTaskToBack-(Landroid/os/IBinder; Z)Z": [ "android.permission.BROADCAST_STICKY", "android.permission.MANAGE_ACTIVITY_STACKS", "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-moveTaskBackwards-(I)V": [ "android.permission.REORDER_TASKS" ], "Lcom/android/server/am/ActivityManagerService;-moveTaskToBack-(I)V": [ "android.permission.REORDER_TASKS" ], "Lcom/android/server/am/ActivityManagerService;-moveTaskToFront-(I I Landroid/os/Bundle;)V": [ "android.permission.REORDER_TASKS" ], "Lcom/android/server/am/ActivityManagerService;-moveTaskToStack-(I I Z)V": [ "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-navigateUpTo-(Landroid/os/IBinder; Landroid/content/Intent; I Landroid/content/Intent;)Z": [ "android.permission.MANAGE_ACTIVITY_STACKS", "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-performIdleMaintenance-()V": [ "android.permission.SET_ACTIVITY_WATCHER" ], "Lcom/android/server/am/ActivityManagerService;-profileControl-(Ljava/lang/String; I Z Ljava/lang/String; Landroid/os/ParcelFileDescriptor; I)Z": [ "android.permission.SET_ACTIVITY_WATCHER" ], "Lcom/android/server/am/ActivityManagerService;-registerProcessObserver-(Landroid/app/IProcessObserver;)V": [ "android.permission.SET_ACTIVITY_WATCHER" ], "Lcom/android/server/am/ActivityManagerService;-registerUserSwitchObserver-(Landroid/app/IUserSwitchObserver;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/am/ActivityManagerService;-removeContentProviderExternal-(Ljava/lang/String; Landroid/os/IBinder;)V": [ "android.permission.ACCESS_CONTENT_PROVIDERS_EXTERNALLY" ], "Lcom/android/server/am/ActivityManagerService;-removeSubTask-(I I)Z": [ "android.permission.REMOVE_TASKS" ], "Lcom/android/server/am/ActivityManagerService;-removeTask-(I I)Z": [ "android.permission.REMOVE_TASKS" ], "Lcom/android/server/am/ActivityManagerService;-requestBugReport-()V": [ "android.permission.DUMP" ], "Lcom/android/server/am/ActivityManagerService;-resizeStackBox-(I F)V": [ "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-restart-()V": [ "android.permission.SET_ACTIVITY_WATCHER" ], "Lcom/android/server/am/ActivityManagerService;-resumeAppSwitches-()V": [ "android.permission.STOP_APP_SWITCHES" ], "Lcom/android/server/am/ActivityManagerService;-setActivityController-(Landroid/app/IActivityController;)V": [ "android.permission.SET_ACTIVITY_WATCHER" ], "Lcom/android/server/am/ActivityManagerService;-setAlwaysFinish-(Z)V": [ "android.permission.SET_ALWAYS_FINISH" ], "Lcom/android/server/am/ActivityManagerService;-setDebugApp-(Ljava/lang/String; Z Z)V": [ "android.permission.SET_DEBUG_APP" ], "Lcom/android/server/am/ActivityManagerService;-setFrontActivityScreenCompatMode-(I)V": [ "android.permission.SET_SCREEN_COMPATIBILITY" ], "Lcom/android/server/am/ActivityManagerService;-setLockScreenShown-(Z)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/am/ActivityManagerService;-setPackageAskScreenCompat-(Ljava/lang/String; Z)V": [ "android.permission.SET_SCREEN_COMPATIBILITY" ], "Lcom/android/server/am/ActivityManagerService;-setPackageScreenCompatMode-(Ljava/lang/String; I)V": [ "android.permission.SET_SCREEN_COMPATIBILITY" ], "Lcom/android/server/am/ActivityManagerService;-setProcessForeground-(Landroid/os/IBinder; I Z)V": [ "android.permission.SET_PROCESS_LIMIT" ], "Lcom/android/server/am/ActivityManagerService;-setProcessLimit-(I)V": [ "android.permission.SET_PROCESS_LIMIT" ], "Lcom/android/server/am/ActivityManagerService;-shutdown-(I)Z": [ "android.permission.SHUTDOWN" ], "Lcom/android/server/am/ActivityManagerService;-signalPersistentProcesses-(I)V": [ "android.permission.SIGNAL_PERSISTENT_PROCESSES" ], "Lcom/android/server/am/ActivityManagerService;-startActivities-(Landroid/app/IApplicationThread; Ljava/lang/String; [Landroid/content/Intent; [Ljava/lang/String; Landroid/os/IBinder; Landroid/os/Bundle; I)I": [ "android.permission.SET_DEBUG_APP" ], "Lcom/android/server/am/ActivityManagerService;-startActivity-(Landroid/app/IApplicationThread; Ljava/lang/String; Landroid/content/Intent; Ljava/lang/String; Landroid/os/IBinder; Ljava/lang/String; I I Ljava/lang/String; Landroid/os/ParcelFileDescriptor; Landroid/os/Bundle;)I": [ "android.permission.SET_DEBUG_APP" ], "Lcom/android/server/am/ActivityManagerService;-startActivityAndWait-(Landroid/app/IApplicationThread; Ljava/lang/String; Landroid/content/Intent; Ljava/lang/String; Landroid/os/IBinder; Ljava/lang/String; I I Ljava/lang/String; Landroid/os/ParcelFileDescriptor; Landroid/os/Bundle; I)Landroid/app/IActivityManager$WaitResult;": [ "android.permission.SET_DEBUG_APP" ], "Lcom/android/server/am/ActivityManagerService;-startActivityAsUser-(Landroid/app/IApplicationThread; Ljava/lang/String; Landroid/content/Intent; Ljava/lang/String; Landroid/os/IBinder; Ljava/lang/String; I I Ljava/lang/String; Landroid/os/ParcelFileDescriptor; Landroid/os/Bundle; I)I": [ "android.permission.SET_DEBUG_APP" ], "Lcom/android/server/am/ActivityManagerService;-startActivityWithConfig-(Landroid/app/IApplicationThread; Ljava/lang/String; Landroid/content/Intent; Ljava/lang/String; Landroid/os/IBinder; Ljava/lang/String; I I Landroid/content/res/Configuration; Landroid/os/Bundle; I)I": [ "android.permission.SET_DEBUG_APP" ], "Lcom/android/server/am/ActivityManagerService;-stopAppSwitches-()V": [ "android.permission.STOP_APP_SWITCHES" ], "Lcom/android/server/am/ActivityManagerService;-stopUser-(I Landroid/app/IStopUserCallback;)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/am/ActivityManagerService;-switchUser-(I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/am/ActivityManagerService;-unbroadcastIntent-(Landroid/app/IApplicationThread; Landroid/content/Intent; I)V": [ "android.permission.BROADCAST_STICKY" ], "Lcom/android/server/am/ActivityManagerService;-unhandledBack-()V": [ "android.permission.FORCE_BACK" ], "Lcom/android/server/am/ActivityManagerService;-updateConfiguration-(Landroid/content/res/Configuration;)V": [ "android.permission.CHANGE_CONFIGURATION" ], "Lcom/android/server/am/ActivityManagerService;-updatePersistentConfiguration-(Landroid/content/res/Configuration;)V": [ "android.permission.CHANGE_CONFIGURATION" ], "Lcom/android/server/am/ActivityManagerService;-wakingUp-()V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/am/BatteryStatsService;-getAwakeTimeBattery-()J": [ "android.permission.BATTERY_STATS" ], "Lcom/android/server/am/BatteryStatsService;-getAwakeTimePlugged-()J": [ "android.permission.BATTERY_STATS" ], "Lcom/android/server/am/BatteryStatsService;-getStatistics-()[B": [ "android.permission.BATTERY_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteBluetoothOff-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteBluetoothOn-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteFullWifiLockAcquired-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteFullWifiLockAcquiredFromSource-(Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteFullWifiLockReleased-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteFullWifiLockReleasedFromSource-(Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteInputEvent-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteNetworkInterfaceType-(Ljava/lang/String; I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteNetworkStatsEnabled-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-notePhoneDataConnectionState-(I Z)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-notePhoneOff-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-notePhoneOn-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-notePhoneSignalStrength-(Landroid/telephony/SignalStrength;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-notePhoneState-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteScreenBrightness-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteScreenOff-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteScreenOn-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStartGps-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStartSensor-(I I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStartWakelock-(I I Ljava/lang/String; I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStartWakelockFromSource-(Landroid/os/WorkSource; I Ljava/lang/String; I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStopGps-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStopSensor-(I I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStopWakelock-(I I Ljava/lang/String; I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStopWakelockFromSource-(Landroid/os/WorkSource; I Ljava/lang/String; I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteUserActivity-(I I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteVibratorOff-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteVibratorOn-(I J)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiBatchedScanStartedFromSource-(Landroid/os/WorkSource; I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiBatchedScanStoppedFromSource-(Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiMulticastDisabled-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiMulticastDisabledFromSource-(Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiMulticastEnabled-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiMulticastEnabledFromSource-(Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiOff-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiOn-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiRunning-(Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiRunningChanged-(Landroid/os/WorkSource; Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiScanStarted-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiScanStartedFromSource-(Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiScanStopped-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiScanStoppedFromSource-(Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiStopped-(Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-setBatteryState-(I I I I I I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/ProcessStatsService;-getCurrentStats-(Ljava/util/List;)[B": [ "android.permission.PACKAGE_USAGE_STATS" ], "Lcom/android/server/am/ProcessStatsService;-getStatsOverTime-(J)Landroid/os/ParcelFileDescriptor;": [ "android.permission.PACKAGE_USAGE_STATS" ], "Lcom/android/server/am/UsageStatsService;-getAllPkgUsageStats-()[Lcom/android/internal/os/PkgUsageStats;": [ "android.permission.PACKAGE_USAGE_STATS" ], "Lcom/android/server/am/UsageStatsService;-getPkgUsageStats-(Landroid/content/ComponentName;)Lcom/android/internal/os/PkgUsageStats;": [ "android.permission.PACKAGE_USAGE_STATS" ], "Lcom/android/server/am/UsageStatsService;-noteLaunchTime-(Landroid/content/ComponentName; I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/UsageStatsService;-notePauseComponent-(Landroid/content/ComponentName;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/UsageStatsService;-noteResumeComponent-(Landroid/content/ComponentName;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/content/ContentService;-addPeriodicSync-(Landroid/accounts/Account; Ljava/lang/String; Landroid/os/Bundle; J)V": [ "android.permission.WRITE_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-getCurrentSyncs-()Ljava/util/List;": [ "android.permission.READ_SYNC_STATS" ], "Lcom/android/server/content/ContentService;-getIsSyncable-(Landroid/accounts/Account; Ljava/lang/String;)I": [ "android.permission.READ_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-getMasterSyncAutomatically-()Z": [ "android.permission.READ_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-getPeriodicSyncs-(Landroid/accounts/Account; Ljava/lang/String;)Ljava/util/List;": [ "android.permission.READ_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-getSyncAutomatically-(Landroid/accounts/Account; Ljava/lang/String;)Z": [ "android.permission.READ_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-getSyncStatus-(Landroid/accounts/Account; Ljava/lang/String;)Landroid/content/SyncStatusInfo;": [ "android.permission.READ_SYNC_STATS" ], "Lcom/android/server/content/ContentService;-isSyncActive-(Landroid/accounts/Account; Ljava/lang/String;)Z": [ "android.permission.READ_SYNC_STATS" ], "Lcom/android/server/content/ContentService;-isSyncPending-(Landroid/accounts/Account; Ljava/lang/String;)Z": [ "android.permission.READ_SYNC_STATS" ], "Lcom/android/server/content/ContentService;-registerContentObserver-(Landroid/net/Uri; Z Landroid/database/IContentObserver; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/content/ContentService;-removePeriodicSync-(Landroid/accounts/Account; Ljava/lang/String; Landroid/os/Bundle;)V": [ "android.permission.WRITE_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-setIsSyncable-(Landroid/accounts/Account; Ljava/lang/String; I)V": [ "android.permission.WRITE_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-setMasterSyncAutomatically-(Z)V": [ "android.permission.WRITE_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-setSyncAutomatically-(Landroid/accounts/Account; Ljava/lang/String; Z)V": [ "android.permission.WRITE_SYNC_SETTINGS" ], "Lcom/android/server/display/DisplayManagerService;-connectWifiDisplay-(Ljava/lang/String;)V": [ "android.permission.CONFIGURE_WIFI_DISPLAY" ], "Lcom/android/server/display/DisplayManagerService;-createVirtualDisplay-(Landroid/os/IBinder; Ljava/lang/String; Ljava/lang/String; I I I Landroid/view/Surface; I)I": [ "android.permission.CAPTURE_SECURE_VIDEO_OUTPUT", "android.permission.CAPTURE_VIDEO_OUTPUT" ], "Lcom/android/server/display/DisplayManagerService;-forgetWifiDisplay-(Ljava/lang/String;)V": [ "android.permission.CONFIGURE_WIFI_DISPLAY" ], "Lcom/android/server/display/DisplayManagerService;-pauseWifiDisplay-()V": [ "android.permission.CONFIGURE_WIFI_DISPLAY" ], "Lcom/android/server/display/DisplayManagerService;-renameWifiDisplay-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.CONFIGURE_WIFI_DISPLAY" ], "Lcom/android/server/display/DisplayManagerService;-resumeWifiDisplay-()V": [ "android.permission.CONFIGURE_WIFI_DISPLAY" ], "Lcom/android/server/display/DisplayManagerService;-startWifiDisplayScan-()V": [ "android.permission.CONFIGURE_WIFI_DISPLAY" ], "Lcom/android/server/display/DisplayManagerService;-stopWifiDisplayScan-()V": [ "android.permission.CONFIGURE_WIFI_DISPLAY" ], "Lcom/android/server/dreams/DreamManagerService;-awaken-()V": [ "android.permission.WRITE_DREAM_STATE" ], "Lcom/android/server/dreams/DreamManagerService;-dream-()V": [ "android.permission.WRITE_DREAM_STATE" ], "Lcom/android/server/dreams/DreamManagerService;-getDefaultDreamComponent-()Landroid/content/ComponentName;": [ "android.permission.READ_DREAM_STATE" ], "Lcom/android/server/dreams/DreamManagerService;-getDreamComponents-()[Landroid/content/ComponentName;": [ "android.permission.READ_DREAM_STATE" ], "Lcom/android/server/dreams/DreamManagerService;-isDreaming-()Z": [ "android.permission.READ_DREAM_STATE" ], "Lcom/android/server/dreams/DreamManagerService;-setDreamComponents-([Landroid/content/ComponentName;)V": [ "android.permission.WRITE_DREAM_STATE" ], "Lcom/android/server/dreams/DreamManagerService;-testDream-(Landroid/content/ComponentName;)V": [ "android.permission.WRITE_DREAM_STATE" ], "Lcom/android/server/input/InputManagerService;-addKeyboardLayoutForInputDevice-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.SET_KEYBOARD_LAYOUT" ], "Lcom/android/server/input/InputManagerService;-removeKeyboardLayoutForInputDevice-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.SET_KEYBOARD_LAYOUT" ], "Lcom/android/server/input/InputManagerService;-setCurrentKeyboardLayoutForInputDevice-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.SET_KEYBOARD_LAYOUT" ], "Lcom/android/server/input/InputManagerService;-tryPointerSpeed-(I)V": [ "android.permission.SET_POINTER_SPEED" ], "Lcom/android/server/media/MediaRouterService;-registerClientAsUser-(Landroid/media/IMediaRouterClient; Ljava/lang/String; I)V": [ "android.permission.CONFIGURE_WIFI_DISPLAY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-getNetworkPolicies-()[Landroid/net/NetworkPolicy;": [ "android.permission.MANAGE_NETWORK_POLICY", "android.permission.READ_PHONE_STATE" ], "Lcom/android/server/net/NetworkPolicyManagerService;-getNetworkQuotaInfo-(Landroid/net/NetworkState;)Landroid/net/NetworkQuotaInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/net/NetworkPolicyManagerService;-getRestrictBackground-()Z": [ "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-getUidPolicy-(I)I": [ "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-getUidsWithPolicy-(I)[I": [ "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-isUidForeground-(I)Z": [ "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-registerListener-(Landroid/net/INetworkPolicyListener;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/net/NetworkPolicyManagerService;-setNetworkPolicies-([Landroid/net/NetworkPolicy;)V": [ "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-setRestrictBackground-(Z)V": [ "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-setUidPolicy-(I I)V": [ "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-snoozeLimit-(Landroid/net/NetworkTemplate;)V": [ "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-unregisterListener-(Landroid/net/INetworkPolicyListener;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/net/NetworkStatsService;-advisePersistThreshold-(J)V": [ "android.permission.MODIFY_NETWORK_ACCOUNTING" ], "Lcom/android/server/net/NetworkStatsService;-forceUpdate-()V": [ "android.permission.READ_NETWORK_USAGE_HISTORY" ], "Lcom/android/server/net/NetworkStatsService;-getDataLayerSnapshotForUid-(I)Landroid/net/NetworkStats;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/net/NetworkStatsService;-getNetworkTotalBytes-(Landroid/net/NetworkTemplate; J J)J": [ "android.permission.READ_NETWORK_USAGE_HISTORY" ], "Lcom/android/server/net/NetworkStatsService;-incrementOperationCount-(I I I)V": [ "android.permission.MODIFY_NETWORK_ACCOUNTING" ], "Lcom/android/server/net/NetworkStatsService;-openSession-()Landroid/net/INetworkStatsSession;": [ "android.permission.READ_NETWORK_USAGE_HISTORY" ], "Lcom/android/server/net/NetworkStatsService;-setUidForeground-(I Z)V": [ "android.permission.MODIFY_NETWORK_ACCOUNTING" ], "Lcom/android/server/pm/PackageManagerService;-addPreferredActivity-(Landroid/content/IntentFilter; I [Landroid/content/ComponentName; Landroid/content/ComponentName; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.SET_PREFERRED_APPLICATIONS" ], "Lcom/android/server/pm/PackageManagerService;-clearApplicationUserData-(Ljava/lang/String; Landroid/content/pm/IPackageDataObserver; I)V": [ "android.permission.CLEAR_APP_USER_DATA", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-clearPackagePreferredActivities-(Ljava/lang/String;)V": [ "android.permission.SET_PREFERRED_APPLICATIONS" ], "Lcom/android/server/pm/PackageManagerService;-deleteApplicationCacheFiles-(Ljava/lang/String; Landroid/content/pm/IPackageDataObserver;)V": [ "android.permission.DELETE_CACHE_FILES" ], "Lcom/android/server/pm/PackageManagerService;-deletePackageAsUser-(Ljava/lang/String; Landroid/content/pm/IPackageDeleteObserver; I I)V": [ "android.permission.DELETE_PACKAGES", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-extendVerificationTimeout-(I I J)V": [ "android.permission.PACKAGE_VERIFICATION_AGENT" ], "Lcom/android/server/pm/PackageManagerService;-freeStorage-(J Landroid/content/IntentSender;)V": [ "android.permission.CLEAR_APP_CACHE" ], "Lcom/android/server/pm/PackageManagerService;-freeStorageAndNotify-(J Landroid/content/pm/IPackageDataObserver;)V": [ "android.permission.CLEAR_APP_CACHE" ], "Lcom/android/server/pm/PackageManagerService;-getActivityInfo-(Landroid/content/ComponentName; I I)Landroid/content/pm/ActivityInfo;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getApplicationBlockedSettingAsUser-(Ljava/lang/String; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_USERS" ], "Lcom/android/server/pm/PackageManagerService;-getApplicationEnabledSetting-(Ljava/lang/String; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getApplicationInfo-(Ljava/lang/String; I I)Landroid/content/pm/ApplicationInfo;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getComponentEnabledSetting-(Landroid/content/ComponentName; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getHomeActivities-(Ljava/util/List;)Landroid/content/ComponentName;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getInstalledPackages-(I I)Landroid/content/pm/ParceledListSlice;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getLastChosenActivity-(Landroid/content/Intent; Ljava/lang/String; I)Landroid/content/pm/ResolveInfo;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getPackageInfo-(Ljava/lang/String; I I)Landroid/content/pm/PackageInfo;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getPackageSizeInfo-(Ljava/lang/String; I Landroid/content/pm/IPackageStatsObserver;)V": [ "android.permission.GET_PACKAGE_SIZE" ], "Lcom/android/server/pm/PackageManagerService;-getPackageUid-(Ljava/lang/String; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getProviderInfo-(Landroid/content/ComponentName; I I)Landroid/content/pm/ProviderInfo;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getReceiverInfo-(Landroid/content/ComponentName; I I)Landroid/content/pm/ActivityInfo;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getServiceInfo-(Landroid/content/ComponentName; I I)Landroid/content/pm/ServiceInfo;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getVerifierDeviceIdentity-()Landroid/content/pm/VerifierDeviceIdentity;": [ "android.permission.PACKAGE_VERIFICATION_AGENT" ], "Lcom/android/server/pm/PackageManagerService;-grantPermission-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.GRANT_REVOKE_PERMISSIONS" ], "Lcom/android/server/pm/PackageManagerService;-installExistingPackageAsUser-(Ljava/lang/String; I)I": [ "android.permission.INSTALL_PACKAGES", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-installPackage-(Landroid/net/Uri; Landroid/content/pm/IPackageInstallObserver; I Ljava/lang/String;)V": [ "android.permission.INSTALL_PACKAGES" ], "Lcom/android/server/pm/PackageManagerService;-installPackageWithVerification-(Landroid/net/Uri; Landroid/content/pm/IPackageInstallObserver; I Ljava/lang/String; Landroid/net/Uri; Landroid/content/pm/ManifestDigest; Landroid/content/pm/ContainerEncryptionParams;)V": [ "android.permission.INSTALL_PACKAGES" ], "Lcom/android/server/pm/PackageManagerService;-installPackageWithVerificationAndEncryption-(Landroid/net/Uri; Landroid/content/pm/IPackageInstallObserver; I Ljava/lang/String; Landroid/content/pm/VerificationParams; Landroid/content/pm/ContainerEncryptionParams;)V": [ "android.permission.INSTALL_PACKAGES" ], "Lcom/android/server/pm/PackageManagerService;-isPackageAvailable-(Ljava/lang/String; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-movePackage-(Ljava/lang/String; Landroid/content/pm/IPackageMoveObserver; I)V": [ "android.permission.MOVE_PACKAGE" ], "Lcom/android/server/pm/PackageManagerService;-queryIntentActivities-(Landroid/content/Intent; Ljava/lang/String; I I)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-queryIntentActivityOptions-(Landroid/content/ComponentName; [Landroid/content/Intent; [Ljava/lang/String; Landroid/content/Intent; Ljava/lang/String; I I)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-queryIntentContentProviders-(Landroid/content/Intent; Ljava/lang/String; I I)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-queryIntentReceivers-(Landroid/content/Intent; Ljava/lang/String; I I)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-queryIntentServices-(Landroid/content/Intent; Ljava/lang/String; I I)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-replacePreferredActivity-(Landroid/content/IntentFilter; I [Landroid/content/ComponentName; Landroid/content/ComponentName;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.SET_PREFERRED_APPLICATIONS" ], "Lcom/android/server/pm/PackageManagerService;-resetPreferredActivities-(I)V": [ "android.permission.SET_PREFERRED_APPLICATIONS" ], "Lcom/android/server/pm/PackageManagerService;-resolveIntent-(Landroid/content/Intent; Ljava/lang/String; I I)Landroid/content/pm/ResolveInfo;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-resolveService-(Landroid/content/Intent; Ljava/lang/String; I I)Landroid/content/pm/ResolveInfo;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-revokePermission-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.GRANT_REVOKE_PERMISSIONS" ], "Lcom/android/server/pm/PackageManagerService;-setApplicationBlockedSettingAsUser-(Ljava/lang/String; Z I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_USERS" ], "Lcom/android/server/pm/PackageManagerService;-setApplicationEnabledSetting-(Ljava/lang/String; I I I Ljava/lang/String;)V": [ "android.permission.CHANGE_COMPONENT_ENABLED_STATE", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-setComponentEnabledSetting-(Landroid/content/ComponentName; I I I)V": [ "android.permission.CHANGE_COMPONENT_ENABLED_STATE", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-setInstallLocation-(I)Z": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/pm/PackageManagerService;-setLastChosenActivity-(Landroid/content/Intent; Ljava/lang/String; I Landroid/content/IntentFilter; I Landroid/content/ComponentName;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.SET_PREFERRED_APPLICATIONS" ], "Lcom/android/server/pm/PackageManagerService;-setPackageStoppedState-(Ljava/lang/String; Z I)V": [ "android.permission.CHANGE_COMPONENT_ENABLED_STATE", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-setPermissionEnforced-(Ljava/lang/String; Z)V": [ "android.permission.GRANT_REVOKE_PERMISSIONS" ], "Lcom/android/server/pm/PackageManagerService;-verifyPendingInstall-(I I)V": [ "android.permission.PACKAGE_VERIFICATION_AGENT" ], "Lcom/android/server/power/PowerManagerService;-acquireWakeLock-(Landroid/os/IBinder; I Ljava/lang/String; Ljava/lang/String; Landroid/os/WorkSource;)V": [ "android.permission.WAKE_LOCK" ], "Lcom/android/server/power/PowerManagerService;-acquireWakeLockWithUid-(Landroid/os/IBinder; I Ljava/lang/String; Ljava/lang/String; I)V": [ "android.permission.WAKE_LOCK" ], "Lcom/android/server/power/PowerManagerService;-crash-(Ljava/lang/String;)V": [ "android.permission.REBOOT" ], "Lcom/android/server/power/PowerManagerService;-goToSleep-(J I)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/power/PowerManagerService;-nap-(J)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/power/PowerManagerService;-reboot-(Z Ljava/lang/String; Z)V": [ "android.permission.REBOOT" ], "Lcom/android/server/power/PowerManagerService;-releaseWakeLock-(Landroid/os/IBinder; I)V": [ "android.permission.WAKE_LOCK" ], "Lcom/android/server/power/PowerManagerService;-setAttentionLight-(Z I)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/power/PowerManagerService;-setStayOnSetting-(I)V": [ "android.permission.WRITE_SETTINGS" ], "Lcom/android/server/power/PowerManagerService;-setTemporaryScreenAutoBrightnessAdjustmentSettingOverride-(F)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/power/PowerManagerService;-setTemporaryScreenBrightnessSettingOverride-(I)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/power/PowerManagerService;-shutdown-(Z Z)V": [ "android.permission.REBOOT" ], "Lcom/android/server/power/PowerManagerService;-updateWakeLockUids-(Landroid/os/IBinder; [I)V": [ "android.permission.UPDATE_DEVICE_STATS", "android.permission.WAKE_LOCK" ], "Lcom/android/server/power/PowerManagerService;-updateWakeLockWorkSource-(Landroid/os/IBinder; Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS", "android.permission.WAKE_LOCK" ], "Lcom/android/server/power/PowerManagerService;-userActivity-(J I I)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/power/PowerManagerService;-wakeUp-(J)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/print/PrintManagerService;-addPrintJobStateChangeListener-(Landroid/print/IPrintJobStateChangeListener; I I)V": [ "android.permission.INTERACT_ACROSS_USERS", "android.permission.INTERACT_ACROSS_USERS_FULL", "com.android.printspooler.permission.ACCESS_ALL_PRINT_JOBS" ], "Lcom/android/server/print/PrintManagerService;-cancelPrintJob-(Landroid/print/PrintJobId; I I)V": [ "android.permission.INTERACT_ACROSS_USERS", "android.permission.INTERACT_ACROSS_USERS_FULL", "com.android.printspooler.permission.ACCESS_ALL_PRINT_JOBS" ], "Lcom/android/server/print/PrintManagerService;-createPrinterDiscoverySession-(Landroid/print/IPrinterDiscoveryObserver; I)V": [ "android.permission.INTERACT_ACROSS_USERS", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/print/PrintManagerService;-destroyPrinterDiscoverySession-(Landroid/print/IPrinterDiscoveryObserver; I)V": [ "android.permission.INTERACT_ACROSS_USERS", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/print/PrintManagerService;-getEnabledPrintServices-(I)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/print/PrintManagerService;-getInstalledPrintServices-(I)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/print/PrintManagerService;-getPrintJobInfo-(Landroid/print/PrintJobId; I I)Landroid/print/PrintJobInfo;": [ "android.permission.INTERACT_ACROSS_USERS", "android.permission.INTERACT_ACROSS_USERS_FULL", "com.android.printspooler.permission.ACCESS_ALL_PRINT_JOBS" ], "Lcom/android/server/print/PrintManagerService;-getPrintJobInfos-(I I)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS", "android.permission.INTERACT_ACROSS_USERS_FULL", "com.android.printspooler.permission.ACCESS_ALL_PRINT_JOBS" ], "Lcom/android/server/print/PrintManagerService;-print-(Ljava/lang/String; Landroid/print/IPrintDocumentAdapter; Landroid/print/PrintAttributes; Ljava/lang/String; I I)Landroid/os/Bundle;": [ "android.permission.INTERACT_ACROSS_USERS", "android.permission.INTERACT_ACROSS_USERS_FULL", "com.android.printspooler.permission.ACCESS_ALL_PRINT_JOBS" ], "Lcom/android/server/print/PrintManagerService;-removePrintJobStateChangeListener-(Landroid/print/IPrintJobStateChangeListener; I)V": [ "android.permission.INTERACT_ACROSS_USERS", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/print/PrintManagerService;-restartPrintJob-(Landroid/print/PrintJobId; I I)V": [ "android.permission.INTERACT_ACROSS_USERS", "android.permission.INTERACT_ACROSS_USERS_FULL", "com.android.printspooler.permission.ACCESS_ALL_PRINT_JOBS" ], "Lcom/android/server/print/PrintManagerService;-startPrinterDiscovery-(Landroid/print/IPrinterDiscoveryObserver; Ljava/util/List; I)V": [ "android.permission.INTERACT_ACROSS_USERS", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/print/PrintManagerService;-startPrinterStateTracking-(Landroid/print/PrinterId; I)V": [ "android.permission.INTERACT_ACROSS_USERS", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/print/PrintManagerService;-stopPrinterDiscovery-(Landroid/print/IPrinterDiscoveryObserver; I)V": [ "android.permission.INTERACT_ACROSS_USERS", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/print/PrintManagerService;-stopPrinterStateTracking-(Landroid/print/PrinterId; I)V": [ "android.permission.INTERACT_ACROSS_USERS", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/print/PrintManagerService;-validatePrinters-(Ljava/util/List; I)V": [ "android.permission.INTERACT_ACROSS_USERS", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/sip/SipService;-close-(Ljava/lang/String;)V": [ "android.permission.USE_SIP" ], "Lcom/android/server/sip/SipService;-createSession-(Landroid/net/sip/SipProfile; Landroid/net/sip/ISipSessionListener;)Landroid/net/sip/ISipSession;": [ "android.permission.USE_SIP" ], "Lcom/android/server/sip/SipService;-getListOfProfiles-()[Landroid/net/sip/SipProfile;": [ "android.permission.USE_SIP" ], "Lcom/android/server/sip/SipService;-getPendingSession-(Ljava/lang/String;)Landroid/net/sip/ISipSession;": [ "android.permission.USE_SIP" ], "Lcom/android/server/sip/SipService;-isOpened-(Ljava/lang/String;)Z": [ "android.permission.USE_SIP" ], "Lcom/android/server/sip/SipService;-isRegistered-(Ljava/lang/String;)Z": [ "android.permission.USE_SIP" ], "Lcom/android/server/sip/SipService;-open-(Landroid/net/sip/SipProfile;)V": [ "android.permission.USE_SIP" ], "Lcom/android/server/sip/SipService;-open3-(Landroid/net/sip/SipProfile; Landroid/app/PendingIntent; Landroid/net/sip/ISipSessionListener;)V": [ "android.permission.USE_SIP" ], "Lcom/android/server/sip/SipService;-setRegistrationListener-(Ljava/lang/String; Landroid/net/sip/ISipSessionListener;)V": [ "android.permission.USE_SIP" ], "Lcom/android/server/usb/UsbService;-allowUsbDebugging-(Z Ljava/lang/String;)V": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-clearDefaults-(Ljava/lang/String; I)V": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-clearUsbDebuggingKeys-()V": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-denyUsbDebugging-()V": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-grantAccessoryPermission-(Landroid/hardware/usb/UsbAccessory; I)V": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-grantDevicePermission-(Landroid/hardware/usb/UsbDevice; I)V": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-hasDefaults-(Ljava/lang/String; I)Z": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-setAccessoryPackage-(Landroid/hardware/usb/UsbAccessory; Ljava/lang/String; I)V": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-setCurrentFunction-(Ljava/lang/String; Z)V": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-setDevicePackage-(Landroid/hardware/usb/UsbDevice; Ljava/lang/String; I)V": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-setMassStorageBackingFile-(Ljava/lang/String;)V": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/wifi/WifiService;-acquireMulticastLock-(Landroid/os/IBinder; Ljava/lang/String;)V": [ "android.permission.CHANGE_WIFI_MULTICAST_STATE" ], "Lcom/android/server/wifi/WifiService;-acquireWifiLock-(Landroid/os/IBinder; I Ljava/lang/String; Landroid/os/WorkSource;)Z": [ "android.permission.WAKE_LOCK" ], "Lcom/android/server/wifi/WifiService;-addOrUpdateNetwork-(Landroid/net/wifi/WifiConfiguration;)I": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiService;-addToBlacklist-(Ljava/lang/String;)V": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiService;-captivePortalCheckComplete-()V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/wifi/WifiService;-clearBlacklist-()V": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiService;-disableNetwork-(I)Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiService;-disconnect-()V": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiService;-enableNetwork-(I Z)Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiService;-getBatchedScanResults-(Ljava/lang/String;)Ljava/util/List;": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiService;-getConfigFile-()Ljava/lang/String;": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiService;-getConfiguredNetworks-()Ljava/util/List;": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiService;-getConnectionInfo-()Landroid/net/wifi/WifiInfo;": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiService;-getDhcpInfo-()Landroid/net/DhcpInfo;": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiService;-getFrequencyBand-()I": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiService;-getScanResults-(Ljava/lang/String;)Ljava/util/List;": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiService;-getWifiApConfiguration-()Landroid/net/wifi/WifiConfiguration;": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiService;-getWifiApEnabledState-()I": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiService;-getWifiEnabledState-()I": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiService;-getWifiServiceMessenger-()Landroid/os/Messenger;": [ "android.permission.ACCESS_WIFI_STATE", "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiService;-getWifiStateMachineMessenger-()Landroid/os/Messenger;": [ "android.permission.ACCESS_WIFI_STATE", "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiService;-initializeMulticastFiltering-()V": [ "android.permission.CHANGE_WIFI_MULTICAST_STATE" ], "Lcom/android/server/wifi/WifiService;-isMulticastEnabled-()Z": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiService;-isScanAlwaysAvailable-()Z": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiService;-pingSupplicant-()Z": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiService;-pollBatchedScan-()V": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiService;-reassociate-()V": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiService;-reconnect-()V": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiService;-releaseMulticastLock-()V": [ "android.permission.CHANGE_WIFI_MULTICAST_STATE" ], "Lcom/android/server/wifi/WifiService;-releaseWifiLock-(Landroid/os/IBinder;)Z": [ "android.permission.WAKE_LOCK" ], "Lcom/android/server/wifi/WifiService;-removeNetwork-(I)Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiService;-requestBatchedScan-(Landroid/net/wifi/BatchedScanSettings; Landroid/os/IBinder; Landroid/os/WorkSource;)Z": [ "android.permission.CHANGE_WIFI_STATE", "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/wifi/WifiService;-saveConfiguration-()Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiService;-setCountryCode-(Ljava/lang/String; Z)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/wifi/WifiService;-setFrequencyBand-(I Z)V": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiService;-setWifiApConfiguration-(Landroid/net/wifi/WifiConfiguration;)V": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiService;-setWifiApEnabled-(Landroid/net/wifi/WifiConfiguration; Z)V": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiService;-setWifiEnabled-(Z)Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiService;-startScan-(Landroid/os/WorkSource;)V": [ "android.permission.CHANGE_WIFI_STATE", "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/wifi/WifiService;-startWifi-()V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/wifi/WifiService;-stopBatchedScan-(Landroid/net/wifi/BatchedScanSettings;)V": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiService;-stopWifi-()V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/wifi/WifiService;-updateWifiLockWorkSource-(Landroid/os/IBinder; Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/wm/WindowManagerService;-addAppToken-(I Landroid/view/IApplicationToken; I I I Z Z I I)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-addWindowToken-(Landroid/os/IBinder; I)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-clearForcedDisplayDensity-(I)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/wm/WindowManagerService;-clearForcedDisplaySize-(I)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/wm/WindowManagerService;-disableKeyguard-(Landroid/os/IBinder; Ljava/lang/String;)V": [ "android.permission.DISABLE_KEYGUARD" ], "Lcom/android/server/wm/WindowManagerService;-dismissKeyguard-()V": [ "android.permission.DISABLE_KEYGUARD" ], "Lcom/android/server/wm/WindowManagerService;-executeAppTransition-()V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-exitKeyguardSecurely-(Landroid/view/IOnKeyguardExitResult;)V": [ "android.permission.DISABLE_KEYGUARD" ], "Lcom/android/server/wm/WindowManagerService;-freezeRotation-(I)V": [ "android.permission.SET_ORIENTATION" ], "Lcom/android/server/wm/WindowManagerService;-getCompatibleMagnificationSpecForWindow-(Landroid/os/IBinder;)Landroid/view/MagnificationSpec;": [ "android.permission.MAGNIFY_DISPLAY" ], "Lcom/android/server/wm/WindowManagerService;-getFocusedWindowToken-()Landroid/os/IBinder;": [ "android.permission.RETRIEVE_WINDOW_INFO" ], "Lcom/android/server/wm/WindowManagerService;-getWindowFrame-(Landroid/os/IBinder; Landroid/graphics/Rect;)V": [ "android.permission.RETRIEVE_WINDOW_INFO" ], "Lcom/android/server/wm/WindowManagerService;-isViewServerRunning-()Z": [ "android.permission.DUMP" ], "Lcom/android/server/wm/WindowManagerService;-pauseKeyDispatching-(Landroid/os/IBinder;)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-prepareAppTransition-(I Z)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-reenableKeyguard-(Landroid/os/IBinder;)V": [ "android.permission.DISABLE_KEYGUARD" ], "Lcom/android/server/wm/WindowManagerService;-removeAppToken-(Landroid/os/IBinder;)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-removeWindowToken-(Landroid/os/IBinder;)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-resumeKeyDispatching-(Landroid/os/IBinder;)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-screenshotApplications-(Landroid/os/IBinder; I I I Z)Landroid/graphics/Bitmap;": [ "android.permission.READ_FRAME_BUFFER" ], "Lcom/android/server/wm/WindowManagerService;-setAnimationScale-(I F)V": [ "android.permission.SET_ANIMATION_SCALE" ], "Lcom/android/server/wm/WindowManagerService;-setAnimationScales-([F)V": [ "android.permission.SET_ANIMATION_SCALE" ], "Lcom/android/server/wm/WindowManagerService;-setAppGroupId-(Landroid/os/IBinder; I)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-setAppOrientation-(Landroid/view/IApplicationToken; I)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-setAppStartingWindow-(Landroid/os/IBinder; Ljava/lang/String; I Landroid/content/res/CompatibilityInfo; Ljava/lang/CharSequence; I I I I Landroid/os/IBinder; Z)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-setAppVisibility-(Landroid/os/IBinder; Z)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-setAppWillBeHidden-(Landroid/os/IBinder;)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-setEventDispatching-(Z)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-setFocusedApp-(Landroid/os/IBinder; Z)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-setForcedDisplayDensity-(I I)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/wm/WindowManagerService;-setForcedDisplaySize-(I I I)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/wm/WindowManagerService;-setInputFilter-(Landroid/view/IInputFilter;)V": [ "android.permission.FILTER_EVENTS" ], "Lcom/android/server/wm/WindowManagerService;-setMagnificationCallbacks-(Landroid/view/IMagnificationCallbacks;)V": [ "android.permission.MAGNIFY_DISPLAY" ], "Lcom/android/server/wm/WindowManagerService;-setMagnificationSpec-(Landroid/view/MagnificationSpec;)V": [ "android.permission.MAGNIFY_DISPLAY" ], "Lcom/android/server/wm/WindowManagerService;-setNewConfiguration-(Landroid/content/res/Configuration;)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-setOverscan-(I I I I I)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/wm/WindowManagerService;-startAppFreezingScreen-(Landroid/os/IBinder; I)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-startFreezingScreen-(I I)V": [ "android.permission.FREEZE_SCREEN" ], "Lcom/android/server/wm/WindowManagerService;-startViewServer-(I)Z": [ "android.permission.DUMP" ], "Lcom/android/server/wm/WindowManagerService;-statusBarVisibilityChanged-(I)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/wm/WindowManagerService;-stopAppFreezingScreen-(Landroid/os/IBinder; Z)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-stopFreezingScreen-()V": [ "android.permission.FREEZE_SCREEN" ], "Lcom/android/server/wm/WindowManagerService;-stopViewServer-()Z": [ "android.permission.DUMP" ], "Lcom/android/server/wm/WindowManagerService;-thawRotation-()V": [ "android.permission.SET_ORIENTATION" ], "Lcom/android/server/wm/WindowManagerService;-updateOrientationFromAppTokens-(Landroid/content/res/Configuration; Landroid/os/IBinder;)Landroid/content/res/Configuration;": [ "android.permission.MANAGE_APP_TOKENS" ], "Landroid/accounts/AccountAuthenticatorActivity;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/accounts/AccountAuthenticatorActivity;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/accounts/AccountAuthenticatorActivity;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/accounts/AccountAuthenticatorActivity;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/accounts/AccountAuthenticatorActivity;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/accounts/AccountManager;-addAccountExplicitly-(Landroid/accounts/Account; Ljava/lang/String; Landroid/os/Bundle;)Z": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Landroid/accounts/AccountManager;-addOnAccountsUpdatedListener-(Landroid/accounts/OnAccountsUpdateListener; Landroid/os/Handler; Z)V": [ "android.permission.GET_ACCOUNTS" ], "Landroid/accounts/AccountManager;-clearPassword-(Landroid/accounts/Account;)V": [ "android.permission.MANAGE_ACCOUNTS" ], "Landroid/accounts/AccountManager;-getAccounts-()[Landroid/accounts/Account;": [ "android.permission.GET_ACCOUNTS" ], "Landroid/accounts/AccountManager;-getAccountsByType-(Ljava/lang/String;)[Landroid/accounts/Account;": [ "android.permission.GET_ACCOUNTS" ], "Landroid/accounts/AccountManager;-getPassword-(Landroid/accounts/Account;)Ljava/lang/String;": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Landroid/accounts/AccountManager;-getUserData-(Landroid/accounts/Account; Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Landroid/accounts/AccountManager;-invalidateAuthToken-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.MANAGE_ACCOUNTS", "android.permission.USE_CREDENTIALS" ], "Landroid/accounts/AccountManager;-peekAuthToken-(Landroid/accounts/Account; Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Landroid/accounts/AccountManager;-setAuthToken-(Landroid/accounts/Account; Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Landroid/accounts/AccountManager;-setPassword-(Landroid/accounts/Account; Ljava/lang/String;)V": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Landroid/accounts/AccountManager;-setUserData-(Landroid/accounts/Account; Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Landroid/app/Activity;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/Activity;-moveTaskToBack-(Z)Z": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/Activity;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/Activity;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/Activity;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/Activity;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/ActivityGroup;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/ActivityGroup;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ActivityGroup;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ActivityGroup;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/ActivityGroup;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/ActivityManager;-getRecentTasks-(I I)Ljava/util/List;": [ "android.permission.GET_TASKS" ], "Landroid/app/ActivityManager;-getRunningTasks-(I)Ljava/util/List;": [ "android.permission.GET_TASKS" ], "Landroid/app/ActivityManager;-killBackgroundProcesses-(Ljava/lang/String;)V": [ "android.permission.KILL_BACKGROUND_PROCESSES" ], "Landroid/app/ActivityManager;-moveTaskToFront-(I I)V": [ "android.permission.REORDER_TASKS" ], "Landroid/app/ActivityManager;-moveTaskToFront-(I I Landroid/os/Bundle;)V": [ "android.permission.REORDER_TASKS" ], "Landroid/app/ActivityManager;-restartPackage-(Ljava/lang/String;)V": [ "android.permission.KILL_BACKGROUND_PROCESSES" ], "Landroid/app/AlarmManager;-setTimeZone-(Ljava/lang/String;)V": [ "android.permission.SET_TIME_ZONE" ], "Landroid/app/AliasActivity;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/AliasActivity;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/AliasActivity;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/AliasActivity;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/AliasActivity;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/Application;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/Application;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/Application;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/Application;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/Application;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/ExpandableListActivity;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/ExpandableListActivity;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ExpandableListActivity;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ExpandableListActivity;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/ExpandableListActivity;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/KeyguardManager$KeyguardLock;-disableKeyguard-()V": [ "android.permission.DISABLE_KEYGUARD" ], "Landroid/app/KeyguardManager$KeyguardLock;-reenableKeyguard-()V": [ "android.permission.DISABLE_KEYGUARD" ], "Landroid/app/KeyguardManager;-exitKeyguardSecurely-(Landroid/app/KeyguardManager$OnKeyguardExitResult;)V": [ "android.permission.DISABLE_KEYGUARD" ], "Landroid/app/ListActivity;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/ListActivity;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ListActivity;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ListActivity;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/ListActivity;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/NativeActivity;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/NativeActivity;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/NativeActivity;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/NativeActivity;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/NativeActivity;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/TabActivity;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/TabActivity;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/TabActivity;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/TabActivity;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/TabActivity;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/WallpaperManager;-clear-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/WallpaperManager;-setBitmap-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/WallpaperManager;-setResource-(I)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/WallpaperManager;-setStream-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/WallpaperManager;-suggestDesiredDimensions-(I I)V": [ "android.permission.SET_WALLPAPER_HINTS" ], "Landroid/app/backup/BackupAgentHelper;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/backup/BackupAgentHelper;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/backup/BackupAgentHelper;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/backup/BackupAgentHelper;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/backup/BackupAgentHelper;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/bluetooth/BluetoothA2dp;-finalize-()V": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothA2dp;-getConnectedDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothA2dp;-getConnectionState-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothA2dp;-getDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothA2dp;-isA2dpPlaying-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-cancelDiscovery-()Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothAdapter;-closeProfileProxy-(I Landroid/bluetooth/BluetoothProfile;)V": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-disable-()Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothAdapter;-enable-()Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothAdapter;-getAddress-()Ljava/lang/String;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-getBondedDevices-()Ljava/util/Set;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-getName-()Ljava/lang/String;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-getProfileConnectionState-(I)I": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-getProfileProxy-(Landroid/content/Context; Landroid/bluetooth/BluetoothProfile$ServiceListener; I)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-getScanMode-()I": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-getState-()I": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-isDiscovering-()Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-isEnabled-()Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-listenUsingInsecureRfcommWithServiceRecord-(Ljava/lang/String; Ljava/util/UUID;)Landroid/bluetooth/BluetoothServerSocket;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-listenUsingRfcommWithServiceRecord-(Ljava/lang/String; Ljava/util/UUID;)Landroid/bluetooth/BluetoothServerSocket;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-setName-(Ljava/lang/String;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothAdapter;-startDiscovery-()Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothAdapter;-startLeScan-([Ljava/util/UUID; Landroid/bluetooth/BluetoothAdapter$LeScanCallback;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-startLeScan-(Landroid/bluetooth/BluetoothAdapter$LeScanCallback;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-stopLeScan-(Landroid/bluetooth/BluetoothAdapter$LeScanCallback;)V": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothDevice;-connectGatt-(Landroid/content/Context; Z Landroid/bluetooth/BluetoothGattCallback;)Landroid/bluetooth/BluetoothGatt;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothDevice;-createBond-()Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothDevice;-createInsecureRfcommSocketToServiceRecord-(Ljava/util/UUID;)Landroid/bluetooth/BluetoothSocket;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothDevice;-createRfcommSocketToServiceRecord-(Ljava/util/UUID;)Landroid/bluetooth/BluetoothSocket;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothDevice;-fetchUuidsWithSdp-()Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothDevice;-getBluetoothClass-()Landroid/bluetooth/BluetoothClass;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothDevice;-getBondState-()I": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothDevice;-getName-()Ljava/lang/String;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothDevice;-getType-()I": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothDevice;-getUuids-()[Landroid/os/ParcelUuid;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothDevice;-setPairingConfirmation-(Z)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothDevice;-setPin-([B)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothGatt;-abortReliableWrite-()V": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-abortReliableWrite-(Landroid/bluetooth/BluetoothDevice;)V": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-beginReliableWrite-()Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-close-()V": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-connect-()Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-disconnect-()V": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-discoverServices-()Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-executeReliableWrite-()Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-readCharacteristic-(Landroid/bluetooth/BluetoothGattCharacteristic;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-readDescriptor-(Landroid/bluetooth/BluetoothGattDescriptor;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-readRemoteRssi-()Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-setCharacteristicNotification-(Landroid/bluetooth/BluetoothGattCharacteristic; Z)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-writeCharacteristic-(Landroid/bluetooth/BluetoothGattCharacteristic;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-writeDescriptor-(Landroid/bluetooth/BluetoothGattDescriptor;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGattServer;-addService-(Landroid/bluetooth/BluetoothGattService;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGattServer;-cancelConnection-(Landroid/bluetooth/BluetoothDevice;)V": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGattServer;-clearServices-()V": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGattServer;-close-()V": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGattServer;-connect-(Landroid/bluetooth/BluetoothDevice; Z)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGattServer;-notifyCharacteristicChanged-(Landroid/bluetooth/BluetoothDevice; Landroid/bluetooth/BluetoothGattCharacteristic; Z)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGattServer;-removeService-(Landroid/bluetooth/BluetoothGattService;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGattServer;-sendResponse-(Landroid/bluetooth/BluetoothDevice; I I I [B)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHeadset;-getConnectedDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHeadset;-getConnectionState-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHeadset;-getDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHeadset;-isAudioConnected-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHeadset;-sendVendorSpecificResultCode-(Landroid/bluetooth/BluetoothDevice; Ljava/lang/String; Ljava/lang/String;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothHeadset;-startVoiceRecognition-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothHeadset;-stopVoiceRecognition-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothHealth;-connectChannelToSource-(Landroid/bluetooth/BluetoothDevice; Landroid/bluetooth/BluetoothHealthAppConfiguration;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHealth;-disconnectChannel-(Landroid/bluetooth/BluetoothDevice; Landroid/bluetooth/BluetoothHealthAppConfiguration; I)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHealth;-getConnectedDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHealth;-getConnectionState-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHealth;-getDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHealth;-getMainChannelFd-(Landroid/bluetooth/BluetoothDevice; Landroid/bluetooth/BluetoothHealthAppConfiguration;)Landroid/os/ParcelFileDescriptor;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHealth;-registerSinkAppConfiguration-(Ljava/lang/String; I Landroid/bluetooth/BluetoothHealthCallback;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHealth;-unregisterAppConfiguration-(Landroid/bluetooth/BluetoothHealthAppConfiguration;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothManager;-getConnectedDevices-(I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothManager;-getConnectionState-(Landroid/bluetooth/BluetoothDevice; I)I": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothManager;-getDevicesMatchingConnectionStates-(I [I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothManager;-openGattServer-(Landroid/content/Context; Landroid/bluetooth/BluetoothGattServerCallback;)Landroid/bluetooth/BluetoothGattServer;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothSocket;-connect-()V": [ "android.permission.BLUETOOTH" ], "Landroid/content/ContextWrapper;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/content/ContextWrapper;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/content/ContextWrapper;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/content/ContextWrapper;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/content/ContextWrapper;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/content/MutableContextWrapper;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/content/MutableContextWrapper;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/content/MutableContextWrapper;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/content/MutableContextWrapper;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/content/MutableContextWrapper;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/hardware/ConsumerIrManager;-getCarrierFrequencies-()[Landroid/hardware/ConsumerIrManager$CarrierFrequencyRange;": [ "android.permission.TRANSMIT_IR" ], "Landroid/hardware/ConsumerIrManager;-transmit-(I [I)V": [ "android.permission.TRANSMIT_IR" ], "Landroid/inputmethodservice/InputMethodService;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/inputmethodservice/InputMethodService;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/inputmethodservice/InputMethodService;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/inputmethodservice/InputMethodService;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/inputmethodservice/InputMethodService;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/location/LocationManager;-addGpsStatusListener-(Landroid/location/GpsStatus$Listener;)Z": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-addNmeaListener-(Landroid/location/GpsStatus$NmeaListener;)Z": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-addProximityAlert-(D D F J Landroid/app/PendingIntent;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-addTestProvider-(Ljava/lang/String; Z Z Z Z Z Z Z I I)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Landroid/location/LocationManager;-clearTestProviderEnabled-(Ljava/lang/String;)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Landroid/location/LocationManager;-clearTestProviderLocation-(Ljava/lang/String;)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Landroid/location/LocationManager;-clearTestProviderStatus-(Ljava/lang/String;)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Landroid/location/LocationManager;-getBestProvider-(Landroid/location/Criteria; Z)Ljava/lang/String;": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-getLastKnownLocation-(Ljava/lang/String;)Landroid/location/Location;": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-getProvider-(Ljava/lang/String;)Landroid/location/LocationProvider;": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-getProviders-(Landroid/location/Criteria; Z)Ljava/util/List;": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-getProviders-(Z)Ljava/util/List;": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-isProviderEnabled-(Ljava/lang/String;)Z": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-removeProximityAlert-(Landroid/app/PendingIntent;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-removeTestProvider-(Ljava/lang/String;)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Landroid/location/LocationManager;-removeUpdates-(Landroid/app/PendingIntent;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-removeUpdates-(Landroid/location/LocationListener;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-requestLocationUpdates-(Ljava/lang/String; J F Landroid/app/PendingIntent;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-requestLocationUpdates-(Ljava/lang/String; J F Landroid/location/LocationListener;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-requestLocationUpdates-(Ljava/lang/String; J F Landroid/location/LocationListener; Landroid/os/Looper;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-requestLocationUpdates-(J F Landroid/location/Criteria; Landroid/app/PendingIntent;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-requestLocationUpdates-(J F Landroid/location/Criteria; Landroid/location/LocationListener; Landroid/os/Looper;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-requestSingleUpdate-(Landroid/location/Criteria; Landroid/app/PendingIntent;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-requestSingleUpdate-(Landroid/location/Criteria; Landroid/location/LocationListener; Landroid/os/Looper;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-requestSingleUpdate-(Ljava/lang/String; Landroid/app/PendingIntent;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-requestSingleUpdate-(Ljava/lang/String; Landroid/location/LocationListener; Landroid/os/Looper;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-sendExtraCommand-(Ljava/lang/String; Ljava/lang/String; Landroid/os/Bundle;)Z": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION", "android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" ], "Landroid/location/LocationManager;-setTestProviderEnabled-(Ljava/lang/String; Z)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Landroid/location/LocationManager;-setTestProviderLocation-(Ljava/lang/String; Landroid/location/Location;)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Landroid/location/LocationManager;-setTestProviderStatus-(Ljava/lang/String; I Landroid/os/Bundle; J)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Landroid/media/AsyncPlayer;-play-(Landroid/content/Context; Landroid/net/Uri; Z I)V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/AsyncPlayer;-stop-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/AudioManager;-adjustStreamVolume-(I I I)V": [ "android.permission.BLUETOOTH" ], "Landroid/media/AudioManager;-adjustSuggestedStreamVolume-(I I I)V": [ "android.permission.BLUETOOTH" ], "Landroid/media/AudioManager;-adjustVolume-(I I)V": [ "android.permission.BLUETOOTH" ], "Landroid/media/AudioManager;-setBluetoothScoOn-(Z)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/media/AudioManager;-setMode-(I)V": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN", "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/media/AudioManager;-setSpeakerphoneOn-(Z)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/media/AudioManager;-setStreamVolume-(I I I)V": [ "android.permission.BLUETOOTH" ], "Landroid/media/AudioManager;-startBluetoothSco-()V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/media/AudioManager;-stopBluetoothSco-()V": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN", "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/media/MediaPlayer;-pause-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/MediaPlayer;-release-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/MediaPlayer;-reset-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/MediaPlayer;-setWakeMode-(Landroid/content/Context; I)V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/MediaPlayer;-start-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/MediaPlayer;-stop-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/MediaRouter$RouteGroup;-requestSetVolume-(I)V": [ "android.permission.BLUETOOTH" ], "Landroid/media/MediaRouter$RouteGroup;-requestUpdateVolume-(I)V": [ "android.permission.BLUETOOTH" ], "Landroid/media/MediaRouter$RouteInfo;-requestSetVolume-(I)V": [ "android.permission.BLUETOOTH" ], "Landroid/media/MediaRouter$RouteInfo;-requestUpdateVolume-(I)V": [ "android.permission.BLUETOOTH" ], "Landroid/media/Ringtone;-play-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/Ringtone;-setStreamType-(I)V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/Ringtone;-stop-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/RingtoneManager;-getRingtone-(Landroid/content/Context; Landroid/net/Uri;)Landroid/media/Ringtone;": [ "android.permission.WAKE_LOCK" ], "Landroid/media/RingtoneManager;-getRingtone-(I)Landroid/media/Ringtone;": [ "android.permission.WAKE_LOCK" ], "Landroid/media/RingtoneManager;-stopPreviousRingtone-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/net/ConnectivityManager;-getActiveNetworkInfo-()Landroid/net/NetworkInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-getAllNetworkInfo-()[Landroid/net/NetworkInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-getNetworkInfo-(I)Landroid/net/NetworkInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-getNetworkPreference-()I": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-isActiveNetworkMetered-()Z": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-requestRouteToHost-(I I)Z": [ "android.permission.CHANGE_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-setNetworkPreference-(I)V": [ "android.permission.CHANGE_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-startUsingNetworkFeature-(I Ljava/lang/String;)I": [ "android.permission.CHANGE_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-stopUsingNetworkFeature-(I Ljava/lang/String;)I": [ "android.permission.CHANGE_NETWORK_STATE" ], "Landroid/net/VpnService;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/net/VpnService;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/net/VpnService;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/net/VpnService;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/net/VpnService;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/net/sip/SipAudioCall;-close-()V": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.WAKE_LOCK" ], "Landroid/net/sip/SipAudioCall;-endCall-()V": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.WAKE_LOCK" ], "Landroid/net/sip/SipAudioCall;-setSpeakerMode-(Z)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/net/sip/SipAudioCall;-startAudio-()V": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.ACCESS_WIFI_STATE", "android.permission.WAKE_LOCK" ], "Landroid/net/sip/SipManager;-close-(Ljava/lang/String;)V": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-createSipSession-(Landroid/net/sip/SipProfile; Landroid/net/sip/SipSession$Listener;)Landroid/net/sip/SipSession;": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-getSessionFor-(Landroid/content/Intent;)Landroid/net/sip/SipSession;": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-isOpened-(Ljava/lang/String;)Z": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-isRegistered-(Ljava/lang/String;)Z": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-makeAudioCall-(Landroid/net/sip/SipProfile; Landroid/net/sip/SipProfile; Landroid/net/sip/SipAudioCall$Listener; I)Landroid/net/sip/SipAudioCall;": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-makeAudioCall-(Ljava/lang/String; Ljava/lang/String; Landroid/net/sip/SipAudioCall$Listener; I)Landroid/net/sip/SipAudioCall;": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-open-(Landroid/net/sip/SipProfile;)V": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-open-(Landroid/net/sip/SipProfile; Landroid/app/PendingIntent; Landroid/net/sip/SipRegistrationListener;)V": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-register-(Landroid/net/sip/SipProfile; I Landroid/net/sip/SipRegistrationListener;)V": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-setRegistrationListener-(Ljava/lang/String; Landroid/net/sip/SipRegistrationListener;)V": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-takeAudioCall-(Landroid/content/Intent; Landroid/net/sip/SipAudioCall$Listener;)Landroid/net/sip/SipAudioCall;": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-unregister-(Landroid/net/sip/SipProfile; Landroid/net/sip/SipRegistrationListener;)V": [ "android.permission.USE_SIP" ], "Landroid/net/wifi/WifiManager$MulticastLock;-acquire-()V": [ "android.permission.CHANGE_WIFI_MULTICAST_STATE" ], "Landroid/net/wifi/WifiManager$MulticastLock;-release-()V": [ "android.permission.CHANGE_WIFI_MULTICAST_STATE" ], "Landroid/net/wifi/WifiManager$WifiLock;-acquire-()V": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.WAKE_LOCK" ], "Landroid/net/wifi/WifiManager$WifiLock;-release-()V": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.WAKE_LOCK" ], "Landroid/net/wifi/WifiManager;-addNetwork-(Landroid/net/wifi/WifiConfiguration;)I": [ "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-disableNetwork-(I)Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-disconnect-()Z": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-enableNetwork-(I Z)Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-getConfiguredNetworks-()Ljava/util/List;": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-getConnectionInfo-()Landroid/net/wifi/WifiInfo;": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-getDhcpInfo-()Landroid/net/DhcpInfo;": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-getScanResults-()Ljava/util/List;": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-getWifiState-()I": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-isScanAlwaysAvailable-()Z": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-isWifiEnabled-()Z": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-pingSupplicant-()Z": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-reassociate-()Z": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-reconnect-()Z": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-removeNetwork-(I)Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-saveConfiguration-()Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-setWifiEnabled-(Z)Z": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-startScan-()Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-updateNetwork-(Landroid/net/wifi/WifiConfiguration;)I": [ "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/p2p/WifiP2pManager;-initialize-(Landroid/content/Context; Landroid/os/Looper; Landroid/net/wifi/p2p/WifiP2pManager$ChannelListener;)Landroid/net/wifi/p2p/WifiP2pManager$Channel;": [ "android.permission.ACCESS_WIFI_STATE", "android.permission.CHANGE_WIFI_STATE" ], "Landroid/os/PowerManager$WakeLock;-acquire-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/os/PowerManager$WakeLock;-acquire-(J)V": [ "android.permission.WAKE_LOCK" ], "Landroid/os/PowerManager$WakeLock;-release-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/os/PowerManager$WakeLock;-setWorkSource-(Landroid/os/WorkSource;)V": [ "android.permission.WAKE_LOCK" ], "Landroid/os/SystemVibrator;-cancel-()V": [ "android.permission.VIBRATE" ], "Landroid/os/SystemVibrator;-vibrate-([J I)V": [ "android.permission.VIBRATE" ], "Landroid/os/SystemVibrator;-vibrate-(I Ljava/lang/String; [J I)V": [ "android.permission.VIBRATE" ], "Landroid/os/SystemVibrator;-vibrate-(I Ljava/lang/String; J)V": [ "android.permission.VIBRATE" ], "Landroid/os/SystemVibrator;-vibrate-(J)V": [ "android.permission.VIBRATE" ], "Landroid/service/dreams/DreamService;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/service/dreams/DreamService;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/service/dreams/DreamService;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/service/dreams/DreamService;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/service/dreams/DreamService;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/telephony/TelephonyManager;-getAllCellInfo-()Ljava/util/List;": [ "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/telephony/TelephonyManager;-getCellLocation-()Landroid/telephony/CellLocation;": [ "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/telephony/TelephonyManager;-getDeviceId-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Landroid/telephony/TelephonyManager;-getDeviceSoftwareVersion-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Landroid/telephony/TelephonyManager;-getGroupIdLevel1-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Landroid/telephony/TelephonyManager;-getLine1Number-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Landroid/telephony/TelephonyManager;-getNeighboringCellInfo-()Ljava/util/List;": [ "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/telephony/TelephonyManager;-getSimSerialNumber-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Landroid/telephony/TelephonyManager;-getSubscriberId-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Landroid/telephony/TelephonyManager;-getVoiceMailAlphaTag-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Landroid/telephony/TelephonyManager;-getVoiceMailNumber-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Landroid/telephony/TelephonyManager;-listen-(Landroid/telephony/PhoneStateListener; I)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.READ_PHONE_STATE" ], "Landroid/test/IsolatedContext;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/test/IsolatedContext;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/test/IsolatedContext;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/test/IsolatedContext;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/test/IsolatedContext;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/test/RenamingDelegatingContext;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/test/RenamingDelegatingContext;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/test/RenamingDelegatingContext;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/test/RenamingDelegatingContext;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/test/RenamingDelegatingContext;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/test/mock/MockApplication;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/test/mock/MockApplication;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/test/mock/MockApplication;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/test/mock/MockApplication;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/test/mock/MockApplication;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/view/ContextThemeWrapper;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/view/ContextThemeWrapper;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/view/ContextThemeWrapper;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/view/ContextThemeWrapper;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/view/ContextThemeWrapper;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/widget/VideoView;-getAudioSessionId-()I": [ "android.permission.WAKE_LOCK" ], "Landroid/widget/VideoView;-onKeyDown-(I Landroid/view/KeyEvent;)Z": [ "android.permission.WAKE_LOCK" ], "Landroid/widget/VideoView;-pause-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/widget/VideoView;-resume-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/widget/VideoView;-setVideoPath-(Ljava/lang/String;)V": [ "android.permission.WAKE_LOCK" ], "Landroid/widget/VideoView;-setVideoURI-(Landroid/net/Uri;)V": [ "android.permission.WAKE_LOCK" ], "Landroid/widget/VideoView;-start-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/widget/VideoView;-stopPlayback-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/widget/VideoView;-suspend-()V": [ "android.permission.WAKE_LOCK" ] }permissions_21.json000066400000000000000000012144511324327352200345360ustar00rootroot00000000000000androguard-3.1.0-rc2/androguard/core/api_specific_resources/api_permission_mappings{ "Landroid/accounts/AbstractAccountAuthenticator$Transport;-addAccount-(Landroid/accounts/IAccountAuthenticatorResponse; Ljava/lang/String; Ljava/lang/String; [Ljava/lang/String; Landroid/os/Bundle;)V": [ "android.permission.ACCOUNT_MANAGER" ], "Landroid/accounts/AbstractAccountAuthenticator$Transport;-addAccountFromCredentials-(Landroid/accounts/IAccountAuthenticatorResponse; Landroid/accounts/Account; Landroid/os/Bundle;)V": [ "android.permission.ACCOUNT_MANAGER" ], "Landroid/accounts/AbstractAccountAuthenticator$Transport;-confirmCredentials-(Landroid/accounts/IAccountAuthenticatorResponse; Landroid/accounts/Account; Landroid/os/Bundle;)V": [ "android.permission.ACCOUNT_MANAGER" ], "Landroid/accounts/AbstractAccountAuthenticator$Transport;-editProperties-(Landroid/accounts/IAccountAuthenticatorResponse; Ljava/lang/String;)V": [ "android.permission.ACCOUNT_MANAGER" ], "Landroid/accounts/AbstractAccountAuthenticator$Transport;-getAccountCredentialsForCloning-(Landroid/accounts/IAccountAuthenticatorResponse; Landroid/accounts/Account;)V": [ "android.permission.ACCOUNT_MANAGER" ], "Landroid/accounts/AbstractAccountAuthenticator$Transport;-getAccountRemovalAllowed-(Landroid/accounts/IAccountAuthenticatorResponse; Landroid/accounts/Account;)V": [ "android.permission.ACCOUNT_MANAGER" ], "Landroid/accounts/AbstractAccountAuthenticator$Transport;-getAuthToken-(Landroid/accounts/IAccountAuthenticatorResponse; Landroid/accounts/Account; Ljava/lang/String; Landroid/os/Bundle;)V": [ "android.permission.ACCOUNT_MANAGER" ], "Landroid/accounts/AbstractAccountAuthenticator$Transport;-getAuthTokenLabel-(Landroid/accounts/IAccountAuthenticatorResponse; Ljava/lang/String;)V": [ "android.permission.ACCOUNT_MANAGER" ], "Landroid/accounts/AbstractAccountAuthenticator$Transport;-hasFeatures-(Landroid/accounts/IAccountAuthenticatorResponse; Landroid/accounts/Account; [Ljava/lang/String;)V": [ "android.permission.ACCOUNT_MANAGER" ], "Landroid/accounts/AbstractAccountAuthenticator$Transport;-updateCredentials-(Landroid/accounts/IAccountAuthenticatorResponse; Landroid/accounts/Account; Ljava/lang/String; Landroid/os/Bundle;)V": [ "android.permission.ACCOUNT_MANAGER" ], "Landroid/hardware/location/ActivityRecognitionHardware;-disableActivityEvent-(Ljava/lang/String; I)Z": [ "android.permission.LOCATION_HARDWARE" ], "Landroid/hardware/location/ActivityRecognitionHardware;-enableActivityEvent-(Ljava/lang/String; I J)Z": [ "android.permission.LOCATION_HARDWARE" ], "Landroid/hardware/location/ActivityRecognitionHardware;-flush-()Z": [ "android.permission.LOCATION_HARDWARE" ], "Landroid/hardware/location/ActivityRecognitionHardware;-getSupportedActivities-()[Ljava/lang/String;": [ "android.permission.LOCATION_HARDWARE" ], "Landroid/hardware/location/ActivityRecognitionHardware;-isActivitySupported-(Ljava/lang/String;)Z": [ "android.permission.LOCATION_HARDWARE" ], "Landroid/hardware/location/ActivityRecognitionHardware;-registerSink-(Landroid/hardware/location/IActivityRecognitionHardwareSink;)Z": [ "android.permission.LOCATION_HARDWARE" ], "Landroid/hardware/location/ActivityRecognitionHardware;-unregisterSink-(Landroid/hardware/location/IActivityRecognitionHardwareSink;)Z": [ "android.permission.LOCATION_HARDWARE" ], "Landroid/media/AudioService;-disableSafeMediaVolume-()V": [ "android.permission.STATUS_BAR_SERVICE" ], "Landroid/media/AudioService;-forceRemoteSubmixFullVolume-(Z Landroid/os/IBinder;)V": [ "android.permission.CAPTURE_AUDIO_OUTPUT" ], "Landroid/media/AudioService;-notifyVolumeControllerVisible-(Landroid/media/IVolumeController; Z)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Landroid/media/AudioService;-registerAudioPolicy-(Landroid/media/audiopolicy/AudioPolicyConfig; Landroid/os/IBinder;)Z": [ "android.permission.MODIFY_AUDIO_ROUTING" ], "Landroid/media/AudioService;-registerRemoteControlDisplay-(Landroid/media/IRemoteControlDisplay; I I)Z": [ "android.permission.MEDIA_CONTENT_CONTROL" ], "Landroid/media/AudioService;-registerRemoteController-(Landroid/media/IRemoteControlDisplay; I I Landroid/content/ComponentName;)Z": [ "android.permission.MEDIA_CONTENT_CONTROL" ], "Landroid/media/AudioService;-setBluetoothScoOn-(Z)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/media/AudioService;-setMicrophoneMute-(Z Ljava/lang/String;)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/media/AudioService;-setMode-(I Landroid/os/IBinder;)V": [ "android.permission.MODIFY_AUDIO_SETTINGS", "android.permission.MODIFY_PHONE_STATE" ], "Landroid/media/AudioService;-setRemoteStreamVolume-(I)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Landroid/media/AudioService;-setRingtonePlayer-(Landroid/media/IRingtonePlayer;)V": [ "android.permission.REMOTE_AUDIO_PLAYBACK" ], "Landroid/media/AudioService;-setSpeakerphoneOn-(Z)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/media/AudioService;-setVolumeController-(Landroid/media/IVolumeController;)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Landroid/media/AudioService;-startBluetoothSco-(Landroid/os/IBinder; I)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/media/AudioService;-startBluetoothScoVirtualCall-(Landroid/os/IBinder;)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/media/AudioService;-stopBluetoothSco-(Landroid/os/IBinder;)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Lcom/android/bluetooth/a2dp/A2dpService$BluetoothA2dpBinder;-connect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/a2dp/A2dpService$BluetoothA2dpBinder;-disconnect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/a2dp/A2dpService$BluetoothA2dpBinder;-getConnectedDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/a2dp/A2dpService$BluetoothA2dpBinder;-getConnectionState-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/a2dp/A2dpService$BluetoothA2dpBinder;-getDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/a2dp/A2dpService$BluetoothA2dpBinder;-getPriority-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/a2dp/A2dpService$BluetoothA2dpBinder;-isA2dpPlaying-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/a2dp/A2dpService$BluetoothA2dpBinder;-setPriority-(Landroid/bluetooth/BluetoothDevice; I)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/a2dp/A2dpSinkService$BluetoothA2dpSinkBinder;-connect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/a2dp/A2dpSinkService$BluetoothA2dpSinkBinder;-disconnect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/a2dp/A2dpSinkService$BluetoothA2dpSinkBinder;-getAudioConfig-(Landroid/bluetooth/BluetoothDevice;)Landroid/bluetooth/BluetoothAudioConfig;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/a2dp/A2dpSinkService$BluetoothA2dpSinkBinder;-getConnectedDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/a2dp/A2dpSinkService$BluetoothA2dpSinkBinder;-getConnectionState-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/a2dp/A2dpSinkService$BluetoothA2dpSinkBinder;-getDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/avrcp/AvrcpControllerService$BluetoothAvrcpControllerBinder;-getConnectedDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/avrcp/AvrcpControllerService$BluetoothAvrcpControllerBinder;-getConnectionState-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/avrcp/AvrcpControllerService$BluetoothAvrcpControllerBinder;-getDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/avrcp/AvrcpControllerService$BluetoothAvrcpControllerBinder;-sendPassThroughCmd-(Landroid/bluetooth/BluetoothDevice; I I)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-cancelBondProcess-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-cancelDiscovery-()Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-configHciSnoopLog-(Z)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-connectSocket-(Landroid/bluetooth/BluetoothDevice; I Landroid/os/ParcelUuid; I I)Landroid/os/ParcelFileDescriptor;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-createBond-(Landroid/bluetooth/BluetoothDevice; I)Z": [ "android.permission.BLUETOOTH_ADMIN", "android.permission.BLUETOOTH_PRIVILEGED" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-createSocketChannel-(I Ljava/lang/String; Landroid/os/ParcelUuid; I I)Landroid/os/ParcelFileDescriptor;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-disable-()Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-enable-()Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-enableNoAutoConnect-()Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-fetchRemoteMasInstances-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.RECEIVE_BLUETOOTH_MAP" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-fetchRemoteUuids-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getActivityEnergyInfoFromController-()V": [ "android.permission.BLUETOOTH_PRIVILEGED" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getAdapterConnectionState-()I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getAddress-()Ljava/lang/String;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getBondState-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getBondedDevices-()[Landroid/bluetooth/BluetoothDevice;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getDiscoverableTimeout-()I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getMessageAccessPermission-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getName-()Ljava/lang/String;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getPhonebookAccessPermission-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getProfileConnectionState-(I)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getRemoteAlias-(Landroid/bluetooth/BluetoothDevice;)Ljava/lang/String;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getRemoteClass-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getRemoteName-(Landroid/bluetooth/BluetoothDevice;)Ljava/lang/String;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getRemoteType-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getRemoteUuids-(Landroid/bluetooth/BluetoothDevice;)[Landroid/os/ParcelUuid;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getScanMode-()I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getState-()I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getUuids-()[Landroid/os/ParcelUuid;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-isActivityAndEnergyReportingSupported-()Z": [ "android.permission.BLUETOOTH_PRIVILEGED" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-isConnected-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-isDiscovering-()Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-isEnabled-()Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-isMultiAdvertisementSupported-()Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-isOffloadedFilteringSupported-()Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-isOffloadedScanBatchingSupported-()Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-removeBond-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH_ADMIN", "android.permission.BLUETOOTH_PRIVILEGED" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-reportActivityInfo-()Landroid/bluetooth/BluetoothActivityEnergyInfo;": [ "android.permission.BLUETOOTH_PRIVILEGED" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-sendConnectionStateChange-(Landroid/bluetooth/BluetoothDevice; I I I)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-setDiscoverableTimeout-(I)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-setMessageAccessPermission-(Landroid/bluetooth/BluetoothDevice; I)Z": [ "android.permission.BLUETOOTH_PRIVILEGED" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-setName-(Ljava/lang/String;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-setPairingConfirmation-(Landroid/bluetooth/BluetoothDevice; Z)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-setPasskey-(Landroid/bluetooth/BluetoothDevice; Z I [B)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-setPhonebookAccessPermission-(Landroid/bluetooth/BluetoothDevice; I)Z": [ "android.permission.BLUETOOTH_PRIVILEGED" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-setPin-(Landroid/bluetooth/BluetoothDevice; Z I [B)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-setRemoteAlias-(Landroid/bluetooth/BluetoothDevice; Ljava/lang/String;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-setScanMode-(I I)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-startDiscovery-()Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-addCharacteristic-(I Landroid/os/ParcelUuid; I I)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-addDescriptor-(I Landroid/os/ParcelUuid; I)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-addIncludedService-(I I I Landroid/os/ParcelUuid;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-beginReliableWrite-(I Ljava/lang/String;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-beginServiceDeclaration-(I I I I Landroid/os/ParcelUuid; Z)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-clearServices-(I)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-clientConnect-(I Ljava/lang/String; Z I)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-clientDisconnect-(I Ljava/lang/String;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-configureMTU-(I Ljava/lang/String; I)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-connectionParameterUpdate-(I Ljava/lang/String; I)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-discoverServices-(I Ljava/lang/String;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-endReliableWrite-(I Ljava/lang/String; Z)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-endServiceDeclaration-(I)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-getDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-readCharacteristic-(I Ljava/lang/String; I I Landroid/os/ParcelUuid; I Landroid/os/ParcelUuid; I)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-readDescriptor-(I Ljava/lang/String; I I Landroid/os/ParcelUuid; I Landroid/os/ParcelUuid; I Landroid/os/ParcelUuid; I)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-readRemoteRssi-(I Ljava/lang/String;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-refreshDevice-(I Ljava/lang/String;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-registerClient-(Landroid/os/ParcelUuid; Landroid/bluetooth/IBluetoothGattCallback;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-registerForNotification-(I Ljava/lang/String; I I Landroid/os/ParcelUuid; I Landroid/os/ParcelUuid; Z)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-registerServer-(Landroid/os/ParcelUuid; Landroid/bluetooth/IBluetoothGattServerCallback;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-removeService-(I I I Landroid/os/ParcelUuid;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-sendNotification-(I Ljava/lang/String; I I Landroid/os/ParcelUuid; I Landroid/os/ParcelUuid; Z [B)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-sendResponse-(I Ljava/lang/String; I I I [B)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-serverConnect-(I Ljava/lang/String; Z I)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-serverDisconnect-(I Ljava/lang/String;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-startMultiAdvertising-(I Landroid/bluetooth/le/AdvertiseData; Landroid/bluetooth/le/AdvertiseData; Landroid/bluetooth/le/AdvertiseSettings;)V": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-startScan-(I Z Landroid/bluetooth/le/ScanSettings; Ljava/util/List; Ljava/util/List;)V": [ "android.permission.BLUETOOTH_ADMIN", "android.permission.BLUETOOTH_PRIVILEGED" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-stopMultiAdvertising-(I)V": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-stopScan-(I Z)V": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-unregisterClient-(I)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-unregisterServer-(I)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-writeCharacteristic-(I Ljava/lang/String; I I Landroid/os/ParcelUuid; I Landroid/os/ParcelUuid; I I [B)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-writeDescriptor-(I Ljava/lang/String; I I Landroid/os/ParcelUuid; I Landroid/os/ParcelUuid; I Landroid/os/ParcelUuid; I I [B)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hdp/HealthService$BluetoothHealthBinder;-connectChannelToSink-(Landroid/bluetooth/BluetoothDevice; Landroid/bluetooth/BluetoothHealthAppConfiguration; I)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hdp/HealthService$BluetoothHealthBinder;-connectChannelToSource-(Landroid/bluetooth/BluetoothDevice; Landroid/bluetooth/BluetoothHealthAppConfiguration;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hdp/HealthService$BluetoothHealthBinder;-disconnectChannel-(Landroid/bluetooth/BluetoothDevice; Landroid/bluetooth/BluetoothHealthAppConfiguration; I)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hdp/HealthService$BluetoothHealthBinder;-getConnectedHealthDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hdp/HealthService$BluetoothHealthBinder;-getHealthDeviceConnectionState-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hdp/HealthService$BluetoothHealthBinder;-getHealthDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hdp/HealthService$BluetoothHealthBinder;-getMainChannelFd-(Landroid/bluetooth/BluetoothDevice; Landroid/bluetooth/BluetoothHealthAppConfiguration;)Landroid/os/ParcelFileDescriptor;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hdp/HealthService$BluetoothHealthBinder;-registerAppConfiguration-(Landroid/bluetooth/BluetoothHealthAppConfiguration; Landroid/bluetooth/IBluetoothHealthCallback;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hdp/HealthService$BluetoothHealthBinder;-unregisterAppConfiguration-(Landroid/bluetooth/BluetoothHealthAppConfiguration;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-clccResponse-(I I I I Z Ljava/lang/String; I)V": [ "android.permission.BLUETOOTH_ADMIN", "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-connect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-connectAudio-()Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-disableWBS-()Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-disconnect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-disconnectAudio-()Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-enableWBS-()Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-getConnectedDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-getConnectionState-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-getDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-getPriority-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-isAudioConnected-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-isAudioOn-()Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-phoneStateChanged-(I I I Ljava/lang/String; I)V": [ "android.permission.BLUETOOTH_ADMIN", "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-sendVendorSpecificResultCode-(Landroid/bluetooth/BluetoothDevice; Ljava/lang/String; Ljava/lang/String;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-setPriority-(Landroid/bluetooth/BluetoothDevice; I)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-startVoiceRecognition-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-stopVoiceRecognition-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-acceptCall-(Landroid/bluetooth/BluetoothDevice; I)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-connect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-connectAudio-()Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-dial-(Landroid/bluetooth/BluetoothDevice; Ljava/lang/String;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-dialMemory-(Landroid/bluetooth/BluetoothDevice; I)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-disconnect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-disconnectAudio-()Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-enterPrivateMode-(Landroid/bluetooth/BluetoothDevice; I)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-explicitCallTransfer-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-getConnectedDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-getConnectionState-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-getCurrentAgEvents-(Landroid/bluetooth/BluetoothDevice;)Landroid/os/Bundle;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-getCurrentAgFeatures-(Landroid/bluetooth/BluetoothDevice;)Landroid/os/Bundle;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-getCurrentCalls-(Landroid/bluetooth/BluetoothDevice;)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-getDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-getLastVoiceTagNumber-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-getPriority-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-holdCall-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-redial-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-rejectCall-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-sendDTMF-(Landroid/bluetooth/BluetoothDevice; B)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-setPriority-(Landroid/bluetooth/BluetoothDevice; I)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-startVoiceRecognition-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-stopVoiceRecognition-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-terminateCall-(Landroid/bluetooth/BluetoothDevice; I)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-connect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-disconnect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-getConnectedDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-getDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-getPriority-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-getProtocolMode-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-getReport-(Landroid/bluetooth/BluetoothDevice; B B I)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-sendData-(Landroid/bluetooth/BluetoothDevice; Ljava/lang/String;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-setPriority-(Landroid/bluetooth/BluetoothDevice; I)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-setProtocolMode-(Landroid/bluetooth/BluetoothDevice; I)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-setReport-(Landroid/bluetooth/BluetoothDevice; B Ljava/lang/String;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-virtualUnplug-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/map/BluetoothMapService$BluetoothMapBinder;-connect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/map/BluetoothMapService$BluetoothMapBinder;-disconnect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/map/BluetoothMapService$BluetoothMapBinder;-getClient-()Landroid/bluetooth/BluetoothDevice;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/map/BluetoothMapService$BluetoothMapBinder;-getConnectedDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/map/BluetoothMapService$BluetoothMapBinder;-getConnectionState-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/map/BluetoothMapService$BluetoothMapBinder;-getDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/map/BluetoothMapService$BluetoothMapBinder;-getPriority-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/map/BluetoothMapService$BluetoothMapBinder;-getState-()I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/map/BluetoothMapService$BluetoothMapBinder;-isConnected-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/map/BluetoothMapService$BluetoothMapBinder;-setPriority-(Landroid/bluetooth/BluetoothDevice; I)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/pan/PanService$BluetoothPanBinder;-connect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/pan/PanService$BluetoothPanBinder;-disconnect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/pan/PanService$BluetoothPanBinder;-getConnectedDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/pan/PanService$BluetoothPanBinder;-getDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/pan/PanService$BluetoothPanBinder;-setBluetoothTethering-(Z)V": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN", "android.permission.CHANGE_NETWORK_STATE", "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/internal/telephony/PhoneSubInfoProxy;-getCompleteVoiceMailNumber-()Ljava/lang/String;": [ "android.permission.CALL_PRIVILEGED" ], "Lcom/android/internal/telephony/PhoneSubInfoProxy;-getDeviceId-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoProxy;-getDeviceSvn-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoProxy;-getGroupIdLevel1-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoProxy;-getIccSerialNumber-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoProxy;-getIccSimChallengeResponse-(J I Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoProxy;-getIsimChallengeResponse-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoProxy;-getIsimDomain-()Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoProxy;-getIsimImpi-()Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoProxy;-getIsimImpu-()[Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoProxy;-getIsimIst-()Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoProxy;-getIsimPcscf-()[Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoProxy;-getLine1AlphaTag-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoProxy;-getLine1Number-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoProxy;-getMsisdn-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoProxy;-getSubscriberId-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoProxy;-getVoiceMailAlphaTag-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoProxy;-getVoiceMailNumber-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-addSubInfoRecord-(Ljava/lang/String; I)I": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-clearDefaultsForInactiveSubIds-()V": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-clearSubInfo-()I": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-getActiveSubInfoCount-()I": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-getActiveSubInfoList-()Ljava/util/List;": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-getAllSubInfoCount-()I": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-getAllSubInfoList-()Ljava/util/List;": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-getSubInfoForSubscriber-(J)Landroid/telephony/SubInfoRecord;": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-getSubInfoUsingIccId-(Ljava/lang/String;)Ljava/util/List;": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-getSubInfoUsingSlotId-(I)Ljava/util/List;": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-setColor-(I J)I": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-setDataRoaming-(I J)I": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-setDisplayName-(Ljava/lang/String; J)I": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-setDisplayNameUsingSrc-(Ljava/lang/String; J J)I": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-setDisplayNumber-(Ljava/lang/String; J)I": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-setDisplayNumberFormat-(I J)I": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/UiccSmsController;-copyMessageToIccEf-(Ljava/lang/String; I [B [B)Z": [ "android.permission.RECEIVE_SMS", "android.permission.SEND_SMS" ], "Lcom/android/internal/telephony/UiccSmsController;-copyMessageToIccEfForSubscriber-(J Ljava/lang/String; I [B [B)Z": [ "android.permission.RECEIVE_SMS", "android.permission.SEND_SMS" ], "Lcom/android/internal/telephony/UiccSmsController;-disableCellBroadcast-(I)Z": [ "android.permission.RECEIVE_SMS" ], "Lcom/android/internal/telephony/UiccSmsController;-disableCellBroadcastForSubscriber-(J I)Z": [ "android.permission.RECEIVE_SMS" ], "Lcom/android/internal/telephony/UiccSmsController;-disableCellBroadcastRange-(I I)Z": [ "android.permission.RECEIVE_SMS" ], "Lcom/android/internal/telephony/UiccSmsController;-disableCellBroadcastRangeForSubscriber-(J I I)Z": [ "android.permission.RECEIVE_SMS" ], "Lcom/android/internal/telephony/UiccSmsController;-enableCellBroadcast-(I)Z": [ "android.permission.RECEIVE_SMS" ], "Lcom/android/internal/telephony/UiccSmsController;-enableCellBroadcastForSubscriber-(J I)Z": [ "android.permission.RECEIVE_SMS" ], "Lcom/android/internal/telephony/UiccSmsController;-enableCellBroadcastRange-(I I)Z": [ "android.permission.RECEIVE_SMS" ], "Lcom/android/internal/telephony/UiccSmsController;-enableCellBroadcastRangeForSubscriber-(J I I)Z": [ "android.permission.RECEIVE_SMS" ], "Lcom/android/internal/telephony/UiccSmsController;-getAllMessagesFromIccEf-(Ljava/lang/String;)Ljava/util/List;": [ "android.permission.RECEIVE_SMS" ], "Lcom/android/internal/telephony/UiccSmsController;-getAllMessagesFromIccEfForSubscriber-(J Ljava/lang/String;)Ljava/util/List;": [ "android.permission.RECEIVE_SMS" ], "Lcom/android/internal/telephony/UiccSmsController;-sendData-(Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; I [B Landroid/app/PendingIntent; Landroid/app/PendingIntent;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.SEND_SMS", "android.permission.SEND_SMS_NO_CONFIRMATION" ], "Lcom/android/internal/telephony/UiccSmsController;-sendDataForSubscriber-(J Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; I [B Landroid/app/PendingIntent; Landroid/app/PendingIntent;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.SEND_SMS", "android.permission.SEND_SMS_NO_CONFIRMATION" ], "Lcom/android/internal/telephony/UiccSmsController;-sendMultipartText-(Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/util/List; Ljava/util/List; Ljava/util/List;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.SEND_SMS", "android.permission.SEND_SMS_NO_CONFIRMATION", "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/internal/telephony/UiccSmsController;-sendMultipartTextForSubscriber-(J Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/util/List; Ljava/util/List; Ljava/util/List;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.SEND_SMS", "android.permission.SEND_SMS_NO_CONFIRMATION", "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/internal/telephony/UiccSmsController;-sendStoredMultipartText-(J Ljava/lang/String; Landroid/net/Uri; Ljava/lang/String; Ljava/util/List; Ljava/util/List;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.SEND_SMS", "android.permission.SEND_SMS_NO_CONFIRMATION", "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/internal/telephony/UiccSmsController;-sendStoredText-(J Ljava/lang/String; Landroid/net/Uri; Ljava/lang/String; Landroid/app/PendingIntent; Landroid/app/PendingIntent;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.SEND_SMS", "android.permission.SEND_SMS_NO_CONFIRMATION", "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/internal/telephony/UiccSmsController;-sendText-(Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Landroid/app/PendingIntent; Landroid/app/PendingIntent;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.SEND_SMS", "android.permission.SEND_SMS_NO_CONFIRMATION", "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/internal/telephony/UiccSmsController;-sendTextForSubscriber-(J Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Landroid/app/PendingIntent; Landroid/app/PendingIntent;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.SEND_SMS", "android.permission.SEND_SMS_NO_CONFIRMATION", "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/internal/telephony/UiccSmsController;-updateMessageOnIccEf-(Ljava/lang/String; I I [B)Z": [ "android.permission.RECEIVE_SMS", "android.permission.SEND_SMS" ], "Lcom/android/internal/telephony/UiccSmsController;-updateMessageOnIccEfForSubscriber-(J Ljava/lang/String; I I [B)Z": [ "android.permission.RECEIVE_SMS", "android.permission.SEND_SMS" ], "Lcom/android/nfc/NfcService$NfcAdapterService;-addNfcUnlockHandler-(Landroid/nfc/INfcUnlockHandler; [I)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/nfc/NfcService$NfcAdapterService;-disable-(Z)Z": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/nfc/NfcService$NfcAdapterService;-disableNdefPush-()Z": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/nfc/NfcService$NfcAdapterService;-dispatch-(Landroid/nfc/Tag;)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/nfc/NfcService$NfcAdapterService;-enable-()Z": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/nfc/NfcService$NfcAdapterService;-enableNdefPush-()Z": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/nfc/NfcService$NfcAdapterService;-invokeBeam-()V": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$NfcAdapterService;-invokeBeamInternal-(Landroid/nfc/BeamShareData;)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/nfc/NfcService$NfcAdapterService;-pausePolling-(I)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/nfc/NfcService$NfcAdapterService;-resumePolling-()V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/nfc/NfcService$NfcAdapterService;-setAppCallback-(Landroid/nfc/IAppCallback;)V": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$NfcAdapterService;-setForegroundDispatch-(Landroid/app/PendingIntent; [Landroid/content/IntentFilter; Landroid/nfc/TechListParcel;)V": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$NfcAdapterService;-setP2pModes-(I I)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/nfc/NfcService$TagService;-close-(I)I": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-connect-(I I)I": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-formatNdef-(I [B)I": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-getTechList-(I)[I": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-getTimeout-(I)I": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-isNdef-(I)Z": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-ndefMakeReadOnly-(I)I": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-ndefRead-(I)Landroid/nfc/NdefMessage;": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-ndefWrite-(I Landroid/nfc/NdefMessage;)I": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-reconnect-(I)I": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-rediscover-(I)Landroid/nfc/Tag;": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-resetTimeouts-()V": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-setTimeout-(I I)I": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-transceive-(I [B Z)Landroid/nfc/TransceiveResult;": [ "android.permission.NFC" ], "Lcom/android/nfc/cardemulation/CardEmulationManager$CardEmulationInterface;-getAidGroupForService-(I Landroid/content/ComponentName; Ljava/lang/String;)Landroid/nfc/cardemulation/AidGroup;": [ "android.permission.NFC" ], "Lcom/android/nfc/cardemulation/CardEmulationManager$CardEmulationInterface;-getServices-(I Ljava/lang/String;)Ljava/util/List;": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/nfc/cardemulation/CardEmulationManager$CardEmulationInterface;-isDefaultServiceForAid-(I Landroid/content/ComponentName; Ljava/lang/String;)Z": [ "android.permission.NFC" ], "Lcom/android/nfc/cardemulation/CardEmulationManager$CardEmulationInterface;-isDefaultServiceForCategory-(I Landroid/content/ComponentName; Ljava/lang/String;)Z": [ "android.permission.NFC" ], "Lcom/android/nfc/cardemulation/CardEmulationManager$CardEmulationInterface;-registerAidGroupForService-(I Landroid/content/ComponentName; Landroid/nfc/cardemulation/AidGroup;)Z": [ "android.permission.NFC" ], "Lcom/android/nfc/cardemulation/CardEmulationManager$CardEmulationInterface;-removeAidGroupForService-(I Landroid/content/ComponentName; Ljava/lang/String;)Z": [ "android.permission.NFC" ], "Lcom/android/nfc/cardemulation/CardEmulationManager$CardEmulationInterface;-setDefaultForNextTap-(I Landroid/content/ComponentName;)Z": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/nfc/cardemulation/CardEmulationManager$CardEmulationInterface;-setDefaultServiceForCategory-(I Landroid/content/ComponentName; Ljava/lang/String;)Z": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/nfc/cardemulation/CardEmulationManager$CardEmulationInterface;-setPreferredService-(Landroid/content/ComponentName;)Z": [ "android.permission.NFC" ], "Lcom/android/nfc/cardemulation/CardEmulationManager$CardEmulationInterface;-unsetPreferredService-()Z": [ "android.permission.NFC" ], "Lcom/android/phone/PhoneInterfaceManager;-answerRingingCall-()V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-call-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.CALL_PHONE" ], "Lcom/android/phone/PhoneInterfaceManager;-disableDataConnectivity-()Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-disableLocationUpdates-()V": [ "android.permission.CONTROL_LOCATION_UPDATES" ], "Lcom/android/phone/PhoneInterfaceManager;-disableLocationUpdatesForSubscriber-(J)V": [ "android.permission.CONTROL_LOCATION_UPDATES" ], "Lcom/android/phone/PhoneInterfaceManager;-enableDataConnectivity-()Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-enableLocationUpdates-()V": [ "android.permission.CONTROL_LOCATION_UPDATES" ], "Lcom/android/phone/PhoneInterfaceManager;-enableLocationUpdatesForSubscriber-(J)V": [ "android.permission.CONTROL_LOCATION_UPDATES" ], "Lcom/android/phone/PhoneInterfaceManager;-enableSimplifiedNetworkSettingsForSubscriber-(J Z)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-endCall-()Z": [ "android.permission.CALL_PHONE" ], "Lcom/android/phone/PhoneInterfaceManager;-endCallForSubscriber-(J)Z": [ "android.permission.CALL_PHONE" ], "Lcom/android/phone/PhoneInterfaceManager;-getAllCellInfo-()Ljava/util/List;": [ "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/phone/PhoneInterfaceManager;-getCalculatedPreferredNetworkType-()I": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getCdmaMdn-(J)Ljava/lang/String;": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getCdmaMin-(J)Ljava/lang/String;": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getCellLocation-()Landroid/os/Bundle;": [ "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/phone/PhoneInterfaceManager;-getDataEnabled-()Z": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getLine1AlphaTagForDisplay-(J)Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getLine1NumberForDisplay-(J)Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getNeighboringCellInfo-(Ljava/lang/String;)Ljava/util/List;": [ "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/phone/PhoneInterfaceManager;-getPcscfAddress-(Ljava/lang/String;)[Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getPreferredNetworkType-()I": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getSimplifiedNetworkSettingsEnabledForSubscriber-(J)Z": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-handlePinMmi-(Ljava/lang/String;)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-handlePinMmiForSubscriber-(J Ljava/lang/String;)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-iccCloseLogicalChannel-(I)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-iccExchangeSimIO-(I I I I I Ljava/lang/String;)[B": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-iccOpenLogicalChannel-(Ljava/lang/String;)Landroid/telephony/IccOpenLogicalChannelResponse;": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-iccTransmitApduBasicChannel-(I I I I I Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-iccTransmitApduLogicalChannel-(I I I I I I Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-invokeOemRilRequestRaw-([B [B)I": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-isSimPinEnabled-()Z": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-nvReadItem-(I)Ljava/lang/String;": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-nvResetConfig-(I)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-nvWriteCdmaPrl-([B)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-nvWriteItem-(I Ljava/lang/String;)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-sendEnvelopeWithStatus-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-setDataEnabled-(Z)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-setImsRegistrationState-(Z)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-setLine1NumberForDisplayForSubscriber-(J Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-setOperatorBrandOverride-(Ljava/lang/String;)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-setPreferredNetworkType-(I)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-setRadio-(Z)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-setRadioForSubscriber-(J Z)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-setRadioPower-(Z)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-shutdownMobileRadios-()V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-supplyPin-(Ljava/lang/String;)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-supplyPinForSubscriber-(J Ljava/lang/String;)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-supplyPinReportResult-(Ljava/lang/String;)[I": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-supplyPinReportResultForSubscriber-(J Ljava/lang/String;)[I": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-supplyPuk-(Ljava/lang/String; Ljava/lang/String;)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-supplyPukForSubscriber-(J Ljava/lang/String; Ljava/lang/String;)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-supplyPukReportResult-(Ljava/lang/String; Ljava/lang/String;)[I": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-supplyPukReportResultForSubscriber-(J Ljava/lang/String; Ljava/lang/String;)[I": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-toggleRadioOnOff-()V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-toggleRadioOnOffForSubscriber-(J)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/providers/contacts/ContactsProvider2;-getType-(Landroid/net/Uri;)Ljava/lang/String;": [ "android.permission.READ_SOCIAL_STREAM" ], "Lcom/android/server/AppOpsService;-checkAudioOperation-(I I I Ljava/lang/String;)I": [ "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/server/AppOpsService;-checkOperation-(I I Ljava/lang/String;)I": [ "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/server/AppOpsService;-finishOperation-(Landroid/os/IBinder; I I Ljava/lang/String;)V": [ "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/server/AppOpsService;-getOpsForPackage-(I Ljava/lang/String; [I)Ljava/util/List;": [ "android.permission.GET_APP_OPS_STATS" ], "Lcom/android/server/AppOpsService;-getPackagesForOps-([I)Ljava/util/List;": [ "android.permission.GET_APP_OPS_STATS" ], "Lcom/android/server/AppOpsService;-noteOperation-(I I Ljava/lang/String;)I": [ "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/server/AppOpsService;-resetAllModes-()V": [ "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/server/AppOpsService;-setAudioRestriction-(I I I I [Ljava/lang/String;)V": [ "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/server/AppOpsService;-setMode-(I I Ljava/lang/String; I)V": [ "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/server/AppOpsService;-startOperation-(Landroid/os/IBinder; I I Ljava/lang/String;)I": [ "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/server/BluetoothManagerService;-disable-(Z)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/server/BluetoothManagerService;-enable-()Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/server/BluetoothManagerService;-enableNoAutoConnect-()Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/server/BluetoothManagerService;-getAddress-()Ljava/lang/String;": [ "android.permission.BLUETOOTH" ], "Lcom/android/server/BluetoothManagerService;-getName-()Ljava/lang/String;": [ "android.permission.BLUETOOTH" ], "Lcom/android/server/BluetoothManagerService;-registerStateChangeCallback-(Landroid/bluetooth/IBluetoothStateChangeCallback;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/server/BluetoothManagerService;-unregisterAdapter-(Landroid/bluetooth/IBluetoothManagerCallback;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/server/BluetoothManagerService;-unregisterStateChangeCallback-(Landroid/bluetooth/IBluetoothStateChangeCallback;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/server/ConnectivityService;-captivePortalCheckCompleted-(Landroid/net/NetworkInfo; Z)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-findConnectionTypeForIface-(Ljava/lang/String;)I": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-getActiveLinkProperties-()Landroid/net/LinkProperties;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getActiveLinkQualityInfo-()Landroid/net/LinkQualityInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getActiveNetworkInfo-()Landroid/net/NetworkInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getActiveNetworkInfoForUid-(I)Landroid/net/NetworkInfo;": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-getActiveNetworkQuotaInfo-()Landroid/net/NetworkQuotaInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getAllLinkQualityInfo-()[Landroid/net/LinkQualityInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getAllNetworkInfo-()[Landroid/net/NetworkInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getAllNetworkState-()[Landroid/net/NetworkState;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getAllNetworks-()[Landroid/net/Network;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getLastTetherError-(Ljava/lang/String;)I": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getLinkProperties-(Landroid/net/Network;)Landroid/net/LinkProperties;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getLinkPropertiesForType-(I)Landroid/net/LinkProperties;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getLinkQualityInfo-(I)Landroid/net/LinkQualityInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getMobileProvisioningUrl-()Ljava/lang/String;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-getMobileRedirectedProvisioningUrl-()Ljava/lang/String;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-getNetworkCapabilities-(Landroid/net/Network;)Landroid/net/NetworkCapabilities;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getNetworkForType-(I)Landroid/net/Network;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getNetworkInfo-(I)Landroid/net/NetworkInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getNetworkInfoForNetwork-(Landroid/net/Network;)Landroid/net/NetworkInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getProvisioningOrActiveNetworkInfo-()Landroid/net/NetworkInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getTetherableBluetoothRegexs-()[Ljava/lang/String;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getTetherableIfaces-()[Ljava/lang/String;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getTetherableUsbRegexs-()[Ljava/lang/String;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getTetherableWifiRegexs-()[Ljava/lang/String;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getTetheredDhcpRanges-()[Ljava/lang/String;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-getTetheredIfaces-()[Ljava/lang/String;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getTetheringErroredIfaces-()[Ljava/lang/String;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-isActiveNetworkMetered-()Z": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-isNetworkSupported-(I)Z": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-isTetheringSupported-()Z": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-listenForNetwork-(Landroid/net/NetworkCapabilities; Landroid/os/Messenger; Landroid/os/IBinder;)Landroid/net/NetworkRequest;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-prepareVpn-(Ljava/lang/String; Ljava/lang/String;)Z": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-registerNetworkAgent-(Landroid/os/Messenger; Landroid/net/NetworkInfo; Landroid/net/LinkProperties; Landroid/net/NetworkCapabilities; I Landroid/net/NetworkMisc;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-registerNetworkFactory-(Landroid/os/Messenger; Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-reportBadNetwork-(Landroid/net/Network;)V": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.INTERNET" ], "Lcom/android/server/ConnectivityService;-reportInetCondition-(I I)V": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.INTERNET" ], "Lcom/android/server/ConnectivityService;-requestNetwork-(Landroid/net/NetworkCapabilities; Landroid/os/Messenger; I Landroid/os/IBinder; I)Landroid/net/NetworkRequest;": [ "android.permission.CHANGE_NETWORK_STATE", "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-requestRouteToHostAddress-(I [B)Z": [ "android.permission.CHANGE_NETWORK_STATE", "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-setAirplaneMode-(Z)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-setDataDependency-(I Z)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-setGlobalProxy-(Landroid/net/ProxyInfo;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-setPolicyDataEnable-(I Z)V": [ "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/ConnectivityService;-setProvisioningNotificationVisible-(Z I Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-setUsbTethering-(Z)I": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.CHANGE_NETWORK_STATE", "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-startLegacyVpn-(Lcom/android/internal/net/VpnProfile;)V": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-supplyMessenger-(I Landroid/os/Messenger;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-tether-(Ljava/lang/String;)I": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.CHANGE_NETWORK_STATE", "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-unregisterNetworkFactory-(Landroid/os/Messenger;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-untether-(Ljava/lang/String;)I": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.CHANGE_NETWORK_STATE", "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-updateLockdownVpn-()Z": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConsumerIrService;-getCarrierFrequencies-()[I": [ "android.permission.TRANSMIT_IR" ], "Lcom/android/server/ConsumerIrService;-transmit-(Ljava/lang/String; I [I)V": [ "android.permission.TRANSMIT_IR" ], "Lcom/android/server/DropBoxManagerService;-getNextEntry-(Ljava/lang/String; J)Landroid/os/DropBoxManager$Entry;": [ "android.permission.READ_LOGS" ], "Lcom/android/server/InputMethodManagerService;-addClient-(Lcom/android/internal/view/IInputMethodClient; Lcom/android/internal/view/IInputContext; I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-getCurrentInputMethodSubtype-()Landroid/view/inputmethod/InputMethodSubtype;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-getEnabledInputMethodList-()Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-getEnabledInputMethodSubtypeList-(Ljava/lang/String; Z)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-getInputMethodList-()Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-getLastInputMethodSubtype-()Landroid/view/inputmethod/InputMethodSubtype;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-hideMySoftInput-(Landroid/os/IBinder; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-hideSoftInput-(Lcom/android/internal/view/IInputMethodClient; I Landroid/os/ResultReceiver;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-notifySuggestionPicked-(Landroid/text/style/SuggestionSpan; Ljava/lang/String; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-registerSuggestionSpansForNotification-([Landroid/text/style/SuggestionSpan;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-removeClient-(Lcom/android/internal/view/IInputMethodClient;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-setAdditionalInputMethodSubtypes-(Ljava/lang/String; [Landroid/view/inputmethod/InputMethodSubtype;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-setCurrentInputMethodSubtype-(Landroid/view/inputmethod/InputMethodSubtype;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-setImeWindowStatus-(Landroid/os/IBinder; I I)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/InputMethodManagerService;-setInputMethod-(Landroid/os/IBinder; Ljava/lang/String;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/InputMethodManagerService;-setInputMethodAndSubtype-(Landroid/os/IBinder; Ljava/lang/String; Landroid/view/inputmethod/InputMethodSubtype;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/InputMethodManagerService;-setInputMethodEnabled-(Ljava/lang/String; Z)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/InputMethodManagerService;-shouldOfferSwitchingToNextInputMethod-(Landroid/os/IBinder;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-showInputMethodAndSubtypeEnablerFromClient-(Lcom/android/internal/view/IInputMethodClient; Ljava/lang/String;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.STATUS_BAR" ], "Lcom/android/server/InputMethodManagerService;-showInputMethodPickerFromClient-(Lcom/android/internal/view/IInputMethodClient;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-showMySoftInput-(Landroid/os/IBinder; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-showSoftInput-(Lcom/android/internal/view/IInputMethodClient; I Landroid/os/ResultReceiver;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-startInput-(Lcom/android/internal/view/IInputMethodClient; Lcom/android/internal/view/IInputContext; Landroid/view/inputmethod/EditorInfo; I)Lcom/android/internal/view/InputBindResult;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-switchToLastInputMethod-(Landroid/os/IBinder;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/InputMethodManagerService;-switchToNextInputMethod-(Landroid/os/IBinder; Z)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/InputMethodManagerService;-updateStatusIcon-(Landroid/os/IBinder; Ljava/lang/String; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.STATUS_BAR" ], "Lcom/android/server/InputMethodManagerService;-windowGainedFocus-(Lcom/android/internal/view/IInputMethodClient; Landroid/os/IBinder; I I I Landroid/view/inputmethod/EditorInfo; Lcom/android/internal/view/IInputContext;)Lcom/android/internal/view/InputBindResult;": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.STATUS_BAR" ], "Lcom/android/server/LocationManagerService;-addGpsMeasurementsListener-(Landroid/location/IGpsMeasurementsListener; Ljava/lang/String;)Z": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-addGpsNavigationMessageListener-(Landroid/location/IGpsNavigationMessageListener; Ljava/lang/String;)Z": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-addGpsStatusListener-(Landroid/location/IGpsStatusListener; Ljava/lang/String;)Z": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-addTestProvider-(Ljava/lang/String; Lcom/android/internal/location/ProviderProperties;)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Lcom/android/server/LocationManagerService;-clearTestProviderEnabled-(Ljava/lang/String;)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Lcom/android/server/LocationManagerService;-clearTestProviderLocation-(Ljava/lang/String;)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Lcom/android/server/LocationManagerService;-clearTestProviderStatus-(Ljava/lang/String;)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Lcom/android/server/LocationManagerService;-getBestProvider-(Landroid/location/Criteria; Z)Ljava/lang/String;": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-getLastLocation-(Landroid/location/LocationRequest; Ljava/lang/String;)Landroid/location/Location;": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-getProviderProperties-(Ljava/lang/String;)Lcom/android/internal/location/ProviderProperties;": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-getProviders-(Landroid/location/Criteria; Z)Ljava/util/List;": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-removeGeofence-(Landroid/location/Geofence; Landroid/app/PendingIntent; Ljava/lang/String;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-removeTestProvider-(Ljava/lang/String;)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Lcom/android/server/LocationManagerService;-removeUpdates-(Landroid/location/ILocationListener; Landroid/app/PendingIntent; Ljava/lang/String;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-reportLocation-(Landroid/location/Location; Z)V": [ "android.permission.INSTALL_LOCATION_PROVIDER" ], "Lcom/android/server/LocationManagerService;-requestGeofence-(Landroid/location/LocationRequest; Landroid/location/Geofence; Landroid/app/PendingIntent; Ljava/lang/String;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-requestLocationUpdates-(Landroid/location/LocationRequest; Landroid/location/ILocationListener; Landroid/app/PendingIntent; Ljava/lang/String;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION", "android.permission.UPDATE_APP_OPS_STATS", "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/LocationManagerService;-sendExtraCommand-(Ljava/lang/String; Ljava/lang/String; Landroid/os/Bundle;)Z": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION", "android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" ], "Lcom/android/server/LocationManagerService;-setTestProviderEnabled-(Ljava/lang/String; Z)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Lcom/android/server/LocationManagerService;-setTestProviderLocation-(Ljava/lang/String; Landroid/location/Location;)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Lcom/android/server/LocationManagerService;-setTestProviderStatus-(Ljava/lang/String; I Landroid/os/Bundle; J)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Lcom/android/server/LockSettingsService;-checkPassword-(Ljava/lang/String; I)Z": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" ], "Lcom/android/server/LockSettingsService;-checkPattern-(Ljava/lang/String; I)Z": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" ], "Lcom/android/server/LockSettingsService;-checkVoldPassword-(I)Z": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" ], "Lcom/android/server/LockSettingsService;-getBoolean-(Ljava/lang/String; Z I)Z": [ "android.permission.READ_PROFILE" ], "Lcom/android/server/LockSettingsService;-getLong-(Ljava/lang/String; J I)J": [ "android.permission.READ_PROFILE" ], "Lcom/android/server/LockSettingsService;-getString-(Ljava/lang/String; Ljava/lang/String; I)Ljava/lang/String;": [ "android.permission.READ_PROFILE" ], "Lcom/android/server/LockSettingsService;-removeUser-(I)V": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" ], "Lcom/android/server/LockSettingsService;-setBoolean-(Ljava/lang/String; Z I)V": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" ], "Lcom/android/server/LockSettingsService;-setLockPassword-(Ljava/lang/String; I)V": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" ], "Lcom/android/server/LockSettingsService;-setLockPattern-(Ljava/lang/String; I)V": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" ], "Lcom/android/server/LockSettingsService;-setLong-(Ljava/lang/String; J I)V": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" ], "Lcom/android/server/LockSettingsService;-setString-(Ljava/lang/String; Ljava/lang/String; I)V": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" ], "Lcom/android/server/MmsServiceBroker$BinderService;-addMultimediaMessageDraft-(Ljava/lang/String; Landroid/net/Uri;)Landroid/net/Uri;": [ "android.permission.WRITE_SMS" ], "Lcom/android/server/MmsServiceBroker$BinderService;-addTextMessageDraft-(Ljava/lang/String; Ljava/lang/String; Ljava/lang/String;)Landroid/net/Uri;": [ "android.permission.WRITE_SMS" ], "Lcom/android/server/MmsServiceBroker$BinderService;-archiveStoredConversation-(Ljava/lang/String; J Z)Z": [ "android.permission.WRITE_SMS" ], "Lcom/android/server/MmsServiceBroker$BinderService;-deleteStoredConversation-(Ljava/lang/String; J)Z": [ "android.permission.WRITE_SMS" ], "Lcom/android/server/MmsServiceBroker$BinderService;-deleteStoredMessage-(Ljava/lang/String; Landroid/net/Uri;)Z": [ "android.permission.WRITE_SMS" ], "Lcom/android/server/MmsServiceBroker$BinderService;-downloadMessage-(J Ljava/lang/String; Ljava/lang/String; Landroid/net/Uri; Landroid/os/Bundle; Landroid/app/PendingIntent;)V": [ "android.permission.RECEIVE_MMS" ], "Lcom/android/server/MmsServiceBroker$BinderService;-importMultimediaMessage-(Ljava/lang/String; Landroid/net/Uri; Ljava/lang/String; J Z Z)Landroid/net/Uri;": [ "android.permission.WRITE_SMS" ], "Lcom/android/server/MmsServiceBroker$BinderService;-importTextMessage-(Ljava/lang/String; Ljava/lang/String; I Ljava/lang/String; J Z Z)Landroid/net/Uri;": [ "android.permission.WRITE_SMS" ], "Lcom/android/server/MmsServiceBroker$BinderService;-sendMessage-(J Ljava/lang/String; Landroid/net/Uri; Ljava/lang/String; Landroid/os/Bundle; Landroid/app/PendingIntent;)V": [ "android.permission.SEND_SMS" ], "Lcom/android/server/MmsServiceBroker$BinderService;-sendStoredMessage-(J Ljava/lang/String; Landroid/net/Uri; Landroid/os/Bundle; Landroid/app/PendingIntent;)V": [ "android.permission.SEND_SMS" ], "Lcom/android/server/MmsServiceBroker$BinderService;-setAutoPersisting-(Ljava/lang/String; Z)V": [ "android.permission.WRITE_SMS" ], "Lcom/android/server/MmsServiceBroker$BinderService;-updateStoredMessageStatus-(Ljava/lang/String; Landroid/net/Uri; Landroid/content/ContentValues;)Z": [ "android.permission.WRITE_SMS" ], "Lcom/android/server/MountService;-changeEncryptionPassword-(I Ljava/lang/String;)I": [ "android.permission.CRYPT_KEEPER" ], "Lcom/android/server/MountService;-createSecureContainer-(Ljava/lang/String; I Ljava/lang/String; Ljava/lang/String; I Z)I": [ "android.permission.ASEC_CREATE" ], "Lcom/android/server/MountService;-decryptStorage-(Ljava/lang/String;)I": [ "android.permission.CRYPT_KEEPER" ], "Lcom/android/server/MountService;-destroySecureContainer-(Ljava/lang/String; Z)I": [ "android.permission.ASEC_DESTROY" ], "Lcom/android/server/MountService;-encryptStorage-(I Ljava/lang/String;)I": [ "android.permission.CRYPT_KEEPER" ], "Lcom/android/server/MountService;-finalizeSecureContainer-(Ljava/lang/String;)I": [ "android.permission.ASEC_CREATE" ], "Lcom/android/server/MountService;-fixPermissionsSecureContainer-(Ljava/lang/String; I Ljava/lang/String;)I": [ "android.permission.ASEC_CREATE" ], "Lcom/android/server/MountService;-formatVolume-(Ljava/lang/String;)I": [ "android.permission.MOUNT_FORMAT_FILESYSTEMS" ], "Lcom/android/server/MountService;-getEncryptionState-()I": [ "android.permission.CRYPT_KEEPER" ], "Lcom/android/server/MountService;-getSecureContainerFilesystemPath-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.ASEC_ACCESS" ], "Lcom/android/server/MountService;-getSecureContainerList-()[Ljava/lang/String;": [ "android.permission.ASEC_ACCESS" ], "Lcom/android/server/MountService;-getSecureContainerPath-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.ASEC_ACCESS" ], "Lcom/android/server/MountService;-getStorageUsers-(Ljava/lang/String;)[I": [ "android.permission.MOUNT_UNMOUNT_FILESYSTEMS" ], "Lcom/android/server/MountService;-getVolumeList-()[Landroid/os/storage/StorageVolume;": [ "android.permission.ACCESS_ALL_EXTERNAL_STORAGE" ], "Lcom/android/server/MountService;-isSecureContainerMounted-(Ljava/lang/String;)Z": [ "android.permission.ASEC_ACCESS" ], "Lcom/android/server/MountService;-mountSecureContainer-(Ljava/lang/String; Ljava/lang/String; I Z)I": [ "android.permission.ASEC_MOUNT_UNMOUNT" ], "Lcom/android/server/MountService;-mountVolume-(Ljava/lang/String;)I": [ "android.permission.MOUNT_UNMOUNT_FILESYSTEMS" ], "Lcom/android/server/MountService;-renameSecureContainer-(Ljava/lang/String; Ljava/lang/String;)I": [ "android.permission.ASEC_RENAME" ], "Lcom/android/server/MountService;-resizeSecureContainer-(Ljava/lang/String; I Ljava/lang/String;)I": [ "android.permission.ASEC_CREATE" ], "Lcom/android/server/MountService;-setUsbMassStorageEnabled-(Z)V": [ "android.permission.MOUNT_UNMOUNT_FILESYSTEMS" ], "Lcom/android/server/MountService;-shutdown-(Landroid/os/storage/IMountShutdownObserver;)V": [ "android.permission.SHUTDOWN" ], "Lcom/android/server/MountService;-unmountSecureContainer-(Ljava/lang/String; Z)I": [ "android.permission.ASEC_MOUNT_UNMOUNT" ], "Lcom/android/server/MountService;-unmountVolume-(Ljava/lang/String; Z Z)V": [ "android.permission.MOUNT_UNMOUNT_FILESYSTEMS" ], "Lcom/android/server/MountService;-verifyEncryptionPassword-(Ljava/lang/String;)I": [ "android.permission.CRYPT_KEEPER" ], "Lcom/android/server/NetworkManagementService;-addIdleTimer-(Ljava/lang/String; I I)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-addInterfaceToLocalNetwork-(Ljava/lang/String; Ljava/util/List;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-addInterfaceToNetwork-(Ljava/lang/String; I)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-addLegacyRouteForNetId-(I Landroid/net/RouteInfo; I)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-addRoute-(I Landroid/net/RouteInfo;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-addVpnUidRanges-(I [Landroid/net/UidRange;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-allowProtect-(I)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-attachPppd-(Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-clearDefaultNetId-()V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-clearInterfaceAddresses-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-clearPermission-([I)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-createPhysicalNetwork-(I)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-createVirtualNetwork-(I Z Z)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-denyProtect-(I)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-detachPppd-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-disableIpv6-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-disableNat-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-enableIpv6-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-enableNat-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-flushNetworkDnsCache-(I)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getDnsForwarders-()[Ljava/lang/String;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getInterfaceConfig-(Ljava/lang/String;)Landroid/net/InterfaceConfiguration;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getIpForwardingEnabled-()Z": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getNetworkStatsDetail-()Landroid/net/NetworkStats;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getNetworkStatsSummaryDev-()Landroid/net/NetworkStats;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getNetworkStatsSummaryXt-()Landroid/net/NetworkStats;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getNetworkStatsTethering-()Landroid/net/NetworkStats;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getNetworkStatsUidDetail-(I)Landroid/net/NetworkStats;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getRoutes-(Ljava/lang/String;)[Landroid/net/RouteInfo;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-isBandwidthControlEnabled-()Z": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-isClatdStarted-()Z": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-isTetheringStarted-()Z": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-listInterfaces-()[Ljava/lang/String;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-listTetheredInterfaces-()[Ljava/lang/String;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-listTtys-()[Ljava/lang/String;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-registerObserver-(Landroid/net/INetworkManagementEventObserver;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-removeIdleTimer-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-removeInterfaceAlert-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-removeInterfaceFromLocalNetwork-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-removeInterfaceFromNetwork-(Ljava/lang/String; I)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-removeInterfaceQuota-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-removeNetwork-(I)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-removeRoute-(I Landroid/net/RouteInfo;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-removeVpnUidRanges-(I [Landroid/net/UidRange;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setAccessPoint-(Landroid/net/wifi/WifiConfiguration; Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setDefaultNetId-(I)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setDnsForwarders-(Landroid/net/Network; [Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setDnsServersForNetwork-(I [Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setGlobalAlert-(J)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setInterfaceAlert-(Ljava/lang/String; J)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setInterfaceConfig-(Ljava/lang/String; Landroid/net/InterfaceConfiguration;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setInterfaceDown-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setInterfaceIpv6PrivacyExtensions-(Ljava/lang/String; Z)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setInterfaceQuota-(Ljava/lang/String; J)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setInterfaceUp-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setIpForwardingEnabled-(Z)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setMtu-(Ljava/lang/String; I)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setPermission-(Ljava/lang/String; [I)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setUidNetworkRules-(I Z)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-shutdown-()V": [ "android.permission.SHUTDOWN" ], "Lcom/android/server/NetworkManagementService;-startAccessPoint-(Landroid/net/wifi/WifiConfiguration; Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-startClatd-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-startTethering-([Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-stopAccessPoint-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-stopClatd-()V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-stopTethering-()V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-tetherInterface-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-unregisterObserver-(Landroid/net/INetworkManagementEventObserver;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-untetherInterface-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-wifiFirmwareReload-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkScoreService;-clearScores-()Z": [ "android.permission.BROADCAST_SCORE_NETWORKS", "android.permission.SCORE_NETWORKS" ], "Lcom/android/server/NetworkScoreService;-disableScoring-()V": [ "android.permission.BROADCAST_SCORE_NETWORKS", "android.permission.SCORE_NETWORKS" ], "Lcom/android/server/NetworkScoreService;-registerNetworkScoreCache-(I Landroid/net/INetworkScoreCache;)V": [ "android.permission.BROADCAST_SCORE_NETWORKS" ], "Lcom/android/server/NetworkScoreService;-setActiveScorer-(Ljava/lang/String;)Z": [ "android.permission.BROADCAST_SCORE_NETWORKS" ], "Lcom/android/server/NetworkScoreService;-updateScores-([Landroid/net/ScoredNetwork;)Z": [ "android.permission.SCORE_NETWORKS" ], "Lcom/android/server/NsdService;-getMessenger-()Landroid/os/Messenger;": [ "android.permission.INTERNET" ], "Lcom/android/server/NsdService;-setEnabled-(Z)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/SerialService;-getSerialPorts-()[Ljava/lang/String;": [ "android.permission.SERIAL_PORT" ], "Lcom/android/server/SerialService;-openSerialPort-(Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;": [ "android.permission.SERIAL_PORT" ], "Lcom/android/server/TelephonyRegistry;-listen-(Ljava/lang/String; Lcom/android/internal/telephony/IPhoneStateListener; I Z)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.READ_PHONE_STATE", "android.permission.READ_PRECISE_PHONE_STATE", "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-listenForSubscriber-(J Ljava/lang/String; Lcom/android/internal/telephony/IPhoneStateListener; I Z)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.READ_PHONE_STATE", "android.permission.READ_PRECISE_PHONE_STATE", "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyCallForwardingChanged-(Z)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyCallForwardingChangedForSubscriber-(J Z)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyCallState-(I Ljava/lang/String;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyCallStateForSubscriber-(J I Ljava/lang/String;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyCellInfo-(Ljava/util/List;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyCellInfoForSubscriber-(J Ljava/util/List;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyCellLocation-(Landroid/os/Bundle;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyCellLocationForSubscriber-(J Landroid/os/Bundle;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyDataActivity-(I)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyDataActivityForSubscriber-(J I)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyDataConnection-(I Z Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Landroid/net/LinkProperties; Landroid/net/NetworkCapabilities; I Z)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyDataConnectionFailed-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyDataConnectionFailedForSubscriber-(J Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyDataConnectionForSubscriber-(J I Z Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Landroid/net/LinkProperties; Landroid/net/NetworkCapabilities; I Z)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyDataConnectionRealTimeInfo-(Landroid/telephony/DataConnectionRealTimeInfo;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyDisconnectCause-(I I)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyMessageWaitingChangedForPhoneId-(I J Z)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyOemHookRawEventForSubscriber-(J [B)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyOtaspChanged-(I)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyPreciseCallState-(I I I)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyPreciseDataConnectionFailed-(Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyServiceStateForPhoneId-(I J Landroid/telephony/ServiceState;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifySignalStrength-(Landroid/telephony/SignalStrength;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifySignalStrengthForSubscriber-(J Landroid/telephony/SignalStrength;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyVoLteServiceStateChanged-(Landroid/telephony/VoLteServiceState;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TextServicesManagerService;-setCurrentSpellChecker-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/TextServicesManagerService;-setCurrentSpellCheckerSubtype-(Ljava/lang/String; I)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/TextServicesManagerService;-setSpellCheckerEnabled-(Z)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/UpdateLockService;-acquireUpdateLock-(Landroid/os/IBinder; Ljava/lang/String;)V": [ "android.permission.UPDATE_LOCK" ], "Lcom/android/server/UpdateLockService;-releaseUpdateLock-(Landroid/os/IBinder;)V": [ "android.permission.UPDATE_LOCK" ], "Lcom/android/server/VibratorService;-cancelVibrate-(Landroid/os/IBinder;)V": [ "android.permission.VIBRATE" ], "Lcom/android/server/VibratorService;-vibrate-(I Ljava/lang/String; J I Landroid/os/IBinder;)V": [ "android.permission.UPDATE_APP_OPS_STATS", "android.permission.VIBRATE" ], "Lcom/android/server/VibratorService;-vibratePattern-(I Ljava/lang/String; [J I I Landroid/os/IBinder;)V": [ "android.permission.UPDATE_APP_OPS_STATS", "android.permission.VIBRATE" ], "Lcom/android/server/accessibility/AccessibilityManagerService$Service;-computeClickPointInScreen-(I J I Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback; J)Z": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService$Service;-findAccessibilityNodeInfoByAccessibilityId-(I J I Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback; I J)Z": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService$Service;-findAccessibilityNodeInfosByText-(I J Ljava/lang/String; I Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback; J)Z": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService$Service;-findAccessibilityNodeInfosByViewId-(I J Ljava/lang/String; I Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback; J)Z": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService$Service;-findFocus-(I J I I Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback; J)Z": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService$Service;-focusSearch-(I J I I Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback; J)Z": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService$Service;-getWindow-(I)Landroid/view/accessibility/AccessibilityWindowInfo;": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService$Service;-getWindows-()Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService$Service;-performAccessibilityAction-(I J I Landroid/os/Bundle; I Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback; J)Z": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService$Service;-performGlobalAction-(I)Z": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService;-addAccessibilityInteractionConnection-(Landroid/view/IWindow; Landroid/view/accessibility/IAccessibilityInteractionConnection; I)I": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService;-addClient-(Landroid/view/accessibility/IAccessibilityManagerClient; I)I": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService;-getEnabledAccessibilityServiceList-(I I)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService;-getInstalledAccessibilityServiceList-(I)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService;-getWindowToken-(I)Landroid/os/IBinder;": [ "getWindowToken" ], "Lcom/android/server/accessibility/AccessibilityManagerService;-interrupt-(I)V": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService;-removeAccessibilityInteractionConnection-(Landroid/view/IWindow;)V": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService;-sendAccessibilityEvent-(Landroid/view/accessibility/AccessibilityEvent; I)Z": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService;-temporaryEnableAccessibilityStateUntilKeyguardRemoved-(Landroid/content/ComponentName; Z)V": [ "temporaryEnableAccessibilityStateUntilKeyguardRemoved" ], "Lcom/android/server/accounts/AccountManagerService;-addAccount-(Landroid/accounts/IAccountManagerResponse; Ljava/lang/String; Ljava/lang/String; [Ljava/lang/String; Z Landroid/os/Bundle;)V": [ "android.permission.MANAGE_ACCOUNTS" ], "Lcom/android/server/accounts/AccountManagerService;-addAccountAsUser-(Landroid/accounts/IAccountManagerResponse; Ljava/lang/String; Ljava/lang/String; [Ljava/lang/String; Z Landroid/os/Bundle; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_ACCOUNTS" ], "Lcom/android/server/accounts/AccountManagerService;-addAccountExplicitly-(Landroid/accounts/Account; Ljava/lang/String; Landroid/os/Bundle;)Z": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Lcom/android/server/accounts/AccountManagerService;-clearPassword-(Landroid/accounts/Account;)V": [ "android.permission.MANAGE_ACCOUNTS" ], "Lcom/android/server/accounts/AccountManagerService;-confirmCredentialsAsUser-(Landroid/accounts/IAccountManagerResponse; Landroid/accounts/Account; Landroid/os/Bundle; Z I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_ACCOUNTS" ], "Lcom/android/server/accounts/AccountManagerService;-editProperties-(Landroid/accounts/IAccountManagerResponse; Ljava/lang/String; Z)V": [ "android.permission.MANAGE_ACCOUNTS" ], "Lcom/android/server/accounts/AccountManagerService;-getAccounts-(Ljava/lang/String;)[Landroid/accounts/Account;": [ "android.permission.GET_ACCOUNTS", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/accounts/AccountManagerService;-getAccountsAsUser-(Ljava/lang/String; I)[Landroid/accounts/Account;": [ "android.permission.GET_ACCOUNTS", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/accounts/AccountManagerService;-getAccountsByFeatures-(Landroid/accounts/IAccountManagerResponse; Ljava/lang/String; [Ljava/lang/String;)V": [ "android.permission.GET_ACCOUNTS" ], "Lcom/android/server/accounts/AccountManagerService;-getAccountsByTypeForPackage-(Ljava/lang/String; Ljava/lang/String;)[Landroid/accounts/Account;": [ "android.permission.INTERACT_ACROSS_USERS", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/accounts/AccountManagerService;-getAccountsForPackage-(Ljava/lang/String; I)[Landroid/accounts/Account;": [ "android.permission.GET_ACCOUNTS", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/accounts/AccountManagerService;-getAuthToken-(Landroid/accounts/IAccountManagerResponse; Landroid/accounts/Account; Ljava/lang/String; Z Z Landroid/os/Bundle;)V": [ "android.permission.USE_CREDENTIALS" ], "Lcom/android/server/accounts/AccountManagerService;-getAuthenticatorTypes-(I)[Landroid/accounts/AuthenticatorDescription;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/accounts/AccountManagerService;-getPassword-(Landroid/accounts/Account;)Ljava/lang/String;": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Lcom/android/server/accounts/AccountManagerService;-getUserData-(Landroid/accounts/Account; Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Lcom/android/server/accounts/AccountManagerService;-hasFeatures-(Landroid/accounts/IAccountManagerResponse; Landroid/accounts/Account; [Ljava/lang/String;)V": [ "android.permission.GET_ACCOUNTS" ], "Lcom/android/server/accounts/AccountManagerService;-invalidateAuthToken-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.MANAGE_ACCOUNTS", "android.permission.USE_CREDENTIALS" ], "Lcom/android/server/accounts/AccountManagerService;-peekAuthToken-(Landroid/accounts/Account; Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Lcom/android/server/accounts/AccountManagerService;-removeAccount-(Landroid/accounts/IAccountManagerResponse; Landroid/accounts/Account;)V": [ "android.permission.MANAGE_ACCOUNTS" ], "Lcom/android/server/accounts/AccountManagerService;-removeAccountAsUser-(Landroid/accounts/IAccountManagerResponse; Landroid/accounts/Account; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_ACCOUNTS" ], "Lcom/android/server/accounts/AccountManagerService;-renameAccount-(Landroid/accounts/IAccountManagerResponse; Landroid/accounts/Account; Ljava/lang/String;)V": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Lcom/android/server/accounts/AccountManagerService;-setAuthToken-(Landroid/accounts/Account; Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Lcom/android/server/accounts/AccountManagerService;-setPassword-(Landroid/accounts/Account; Ljava/lang/String;)V": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Lcom/android/server/accounts/AccountManagerService;-setUserData-(Landroid/accounts/Account; Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Lcom/android/server/accounts/AccountManagerService;-updateCredentials-(Landroid/accounts/IAccountManagerResponse; Landroid/accounts/Account; Ljava/lang/String; Z Landroid/os/Bundle;)V": [ "android.permission.MANAGE_ACCOUNTS" ], "Lcom/android/server/am/ActivityManagerService;-activityDestroyed-(Landroid/os/IBinder;)V": [ "android.permission.BROADCAST_STICKY", "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-activityIdle-(Landroid/os/IBinder; Landroid/content/res/Configuration; Z)V": [ "android.permission.BROADCAST_STICKY", "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_APP_TOKENS", "android.permission.START_ANY_ACTIVITY", "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/ActivityManagerService;-activityPaused-(Landroid/os/IBinder;)V": [ "android.permission.MANAGE_APP_TOKENS", "android.permission.START_ANY_ACTIVITY", "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/ActivityManagerService;-activitySlept-(Landroid/os/IBinder;)V": [ "android.permission.MANAGE_APP_TOKENS", "android.permission.START_ANY_ACTIVITY", "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/ActivityManagerService;-activityStopped-(Landroid/os/IBinder; Landroid/os/Bundle; Landroid/os/PersistableBundle; Ljava/lang/CharSequence;)V": [ "android.permission.BROADCAST_STICKY" ], "Lcom/android/server/am/ActivityManagerService;-appNotRespondingViaProvider-(Landroid/os/IBinder;)V": [ "android.permission.REMOVE_TASKS" ], "Lcom/android/server/am/ActivityManagerService;-attachApplication-(Landroid/app/IApplicationThread;)V": [ "android.permission.BROADCAST_STICKY" ], "Lcom/android/server/am/ActivityManagerService;-backgroundResourcesReleased-(Landroid/os/IBinder;)V": [ "android.permission.MANAGE_APP_TOKENS", "android.permission.START_ANY_ACTIVITY", "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/ActivityManagerService;-bindBackupAgent-(Landroid/content/pm/ApplicationInfo; I)Z": [ "android.permission.CONFIRM_FULL_BACKUP", "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/ActivityManagerService;-bindService-(Landroid/app/IApplicationThread; Landroid/os/IBinder; Landroid/content/Intent; Ljava/lang/String; Landroid/app/IServiceConnection; I I)I": [ "android.permission.BROADCAST_STICKY", "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-clearApplicationUserData-(Ljava/lang/String; Landroid/content/pm/IPackageDataObserver; I)Z": [ "android.permission.BROADCAST_STICKY" ], "Lcom/android/server/am/ActivityManagerService;-clearPendingBackup-()V": [ "android.permission.BACKUP" ], "Lcom/android/server/am/ActivityManagerService;-closeSystemDialogs-(Ljava/lang/String;)V": [ "android.permission.BROADCAST_STICKY", "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-convertFromTranslucent-(Landroid/os/IBinder;)Z": [ "android.permission.BROADCAST_STICKY", "android.permission.MANAGE_APP_TOKENS", "android.permission.START_ANY_ACTIVITY", "android.permission.UPDATE_APP_OPS_STATS", "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/ActivityManagerService;-convertToTranslucent-(Landroid/os/IBinder; Landroid/app/ActivityOptions;)Z": [ "android.permission.BROADCAST_STICKY", "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-crashApplication-(I I Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.FORCE_STOP_PACKAGES" ], "Lcom/android/server/am/ActivityManagerService;-createActivityContainer-(Landroid/os/IBinder; Landroid/app/IActivityContainerCallback;)Landroid/app/IActivityContainer;": [ "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-deleteActivityContainer-(Landroid/app/IActivityContainer;)V": [ "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-dumpHeap-(Ljava/lang/String; I Z Ljava/lang/String; Landroid/os/ParcelFileDescriptor;)Z": [ "android.permission.SET_ACTIVITY_WATCHER" ], "Lcom/android/server/am/ActivityManagerService;-finishActivity-(Landroid/os/IBinder; I Landroid/content/Intent; Z)Z": [ "android.permission.BROADCAST_STICKY", "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-finishActivityAffinity-(Landroid/os/IBinder;)Z": [ "android.permission.MANAGE_APP_TOKENS", "android.permission.UPDATE_APP_OPS_STATS", "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/ActivityManagerService;-finishHeavyWeightApp-()V": [ "android.permission.BROADCAST_STICKY", "android.permission.FORCE_STOP_PACKAGES", "android.permission.MANAGE_APP_TOKENS", "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/ActivityManagerService;-finishInstrumentation-(Landroid/app/IApplicationThread; I Landroid/os/Bundle;)V": [ "android.permission.BROADCAST_STICKY" ], "Lcom/android/server/am/ActivityManagerService;-finishReceiver-(Landroid/os/IBinder; I Ljava/lang/String; Landroid/os/Bundle; Z)V": [ "android.permission.BROADCAST_STICKY" ], "Lcom/android/server/am/ActivityManagerService;-finishSubActivity-(Landroid/os/IBinder; Ljava/lang/String; I)V": [ "android.permission.BROADCAST_STICKY", "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/ActivityManagerService;-finishVoiceTask-(Landroid/service/voice/IVoiceInteractionSession;)V": [ "android.permission.BROADCAST_STICKY", "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-forceStopPackage-(Ljava/lang/String; I)V": [ "android.permission.BROADCAST_STICKY", "android.permission.FORCE_STOP_PACKAGES", "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/ActivityManagerService;-getAllStackInfos-()Ljava/util/List;": [ "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-getAssistContextExtras-(I)Landroid/os/Bundle;": [ "android.permission.GET_TOP_ACTIVITY_INFO" ], "Lcom/android/server/am/ActivityManagerService;-getContentProvider-(Landroid/app/IApplicationThread; Ljava/lang/String; I Z)Landroid/app/IActivityManager$ContentProviderHolder;": [ "android.permission.BROADCAST_STICKY" ], "Lcom/android/server/am/ActivityManagerService;-getContentProviderExternal-(Ljava/lang/String; I Landroid/os/IBinder;)Landroid/app/IActivityManager$ContentProviderHolder;": [ "android.permission.ACCESS_CONTENT_PROVIDERS_EXTERNALLY" ], "Lcom/android/server/am/ActivityManagerService;-getCurrentUser-()Landroid/content/pm/UserInfo;": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/am/ActivityManagerService;-getHomeActivityToken-()Landroid/os/IBinder;": [ "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-getProviderMimeType-(Landroid/net/Uri; I)Ljava/lang/String;": [ "android.permission.BROADCAST_STICKY" ], "Lcom/android/server/am/ActivityManagerService;-getRecentTasks-(I I I)Ljava/util/List;": [ "android.permission.GET_DETAILED_TASKS", "android.permission.GET_TASKS", "android.permission.REAL_GET_TASKS" ], "Lcom/android/server/am/ActivityManagerService;-getRunningUserIds-()[I": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/am/ActivityManagerService;-getStackInfo-(I)Landroid/app/ActivityManager$StackInfo;": [ "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-getTaskThumbnail-(I)Landroid/app/ActivityManager$TaskThumbnail;": [ "android.permission.READ_FRAME_BUFFER" ], "Lcom/android/server/am/ActivityManagerService;-getTasks-(I I)Ljava/util/List;": [ "android.permission.GET_TASKS", "android.permission.REAL_GET_TASKS" ], "Lcom/android/server/am/ActivityManagerService;-handleApplicationCrash-(Landroid/os/IBinder; Landroid/app/ApplicationErrorReport$CrashInfo;)V": [ "android.permission.BROADCAST_STICKY", "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_APP_TOKENS", "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/ActivityManagerService;-handleApplicationWtf-(Landroid/os/IBinder; Ljava/lang/String; Z Landroid/app/ApplicationErrorReport$CrashInfo;)Z": [ "android.permission.BROADCAST_STICKY", "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_APP_TOKENS", "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/ActivityManagerService;-hang-(Landroid/os/IBinder; Z)V": [ "android.permission.SET_ACTIVITY_WATCHER" ], "Lcom/android/server/am/ActivityManagerService;-inputDispatchingTimedOut-(I Z Ljava/lang/String;)J": [ "android.permission.BROADCAST_STICKY", "android.permission.FILTER_EVENTS" ], "Lcom/android/server/am/ActivityManagerService;-isInHomeStack-(I)Z": [ "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-isUserRunning-(I Z)Z": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/am/ActivityManagerService;-keyguardWaitingForActivityDrawn-()V": [ "android.permission.MANAGE_APP_TOKENS", "android.permission.START_ANY_ACTIVITY", "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/ActivityManagerService;-killAllBackgroundProcesses-()V": [ "android.permission.BROADCAST_STICKY", "android.permission.KILL_BACKGROUND_PROCESSES" ], "Lcom/android/server/am/ActivityManagerService;-killBackgroundProcesses-(Ljava/lang/String; I)V": [ "android.permission.BROADCAST_STICKY", "android.permission.KILL_BACKGROUND_PROCESSES" ], "Lcom/android/server/am/ActivityManagerService;-killUid-(I Ljava/lang/String;)V": [ "android.permission.BROADCAST_STICKY", "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/ActivityManagerService;-launchAssistIntent-(Landroid/content/Intent; I Ljava/lang/String; I)Z": [ "android.permission.GET_TOP_ACTIVITY_INFO" ], "Lcom/android/server/am/ActivityManagerService;-moveActivityTaskToBack-(Landroid/os/IBinder; Z)Z": [ "android.permission.BROADCAST_STICKY", "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_APP_TOKENS", "android.permission.START_ANY_ACTIVITY", "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/ActivityManagerService;-moveTaskBackwards-(I)V": [ "android.permission.REORDER_TASKS" ], "Lcom/android/server/am/ActivityManagerService;-moveTaskToBack-(I)V": [ "android.permission.BROADCAST_STICKY", "android.permission.REORDER_TASKS", "android.permission.START_ANY_ACTIVITY", "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/ActivityManagerService;-moveTaskToFront-(I I Landroid/os/Bundle;)V": [ "android.permission.BROADCAST_STICKY", "android.permission.REORDER_TASKS", "android.permission.START_ANY_ACTIVITY", "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/ActivityManagerService;-moveTaskToStack-(I I Z)V": [ "android.permission.BROADCAST_STICKY", "android.permission.MANAGE_ACTIVITY_STACKS", "android.permission.START_ANY_ACTIVITY", "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/ActivityManagerService;-navigateUpTo-(Landroid/os/IBinder; Landroid/content/Intent; I Landroid/content/Intent;)Z": [ "android.permission.BROADCAST_STICKY", "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_APP_TOKENS", "android.permission.START_ANY_ACTIVITY", "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/ActivityManagerService;-noteWakeupAlarm-(Landroid/content/IIntentSender; I Ljava/lang/String;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/ActivityManagerService;-openContentUri-(Landroid/net/Uri;)Landroid/os/ParcelFileDescriptor;": [ "android.permission.BROADCAST_STICKY" ], "Lcom/android/server/am/ActivityManagerService;-performIdleMaintenance-()V": [ "android.permission.SET_ACTIVITY_WATCHER" ], "Lcom/android/server/am/ActivityManagerService;-profileControl-(Ljava/lang/String; I Z Landroid/app/ProfilerInfo; I)Z": [ "android.permission.SET_ACTIVITY_WATCHER" ], "Lcom/android/server/am/ActivityManagerService;-publishContentProviders-(Landroid/app/IApplicationThread; Ljava/util/List;)V": [ "android.permission.BROADCAST_STICKY", "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/ActivityManagerService;-publishService-(Landroid/os/IBinder; Landroid/content/Intent; Landroid/os/IBinder;)V": [ "android.permission.BROADCAST_STICKY", "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/ActivityManagerService;-registerProcessObserver-(Landroid/app/IProcessObserver;)V": [ "android.permission.SET_ACTIVITY_WATCHER" ], "Lcom/android/server/am/ActivityManagerService;-registerUserSwitchObserver-(Landroid/app/IUserSwitchObserver;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/am/ActivityManagerService;-releaseActivityInstance-(Landroid/os/IBinder;)Z": [ "android.permission.BROADCAST_STICKY", "android.permission.MANAGE_APP_TOKENS", "android.permission.START_ANY_ACTIVITY", "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/ActivityManagerService;-releaseSomeActivities-(Landroid/app/IApplicationThread;)V": [ "android.permission.BROADCAST_STICKY", "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-removeContentProvider-(Landroid/os/IBinder; Z)V": [ "android.permission.BROADCAST_STICKY", "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/ActivityManagerService;-removeContentProviderExternal-(Ljava/lang/String; Landroid/os/IBinder;)V": [ "android.permission.ACCESS_CONTENT_PROVIDERS_EXTERNALLY", "android.permission.BROADCAST_STICKY" ], "Lcom/android/server/am/ActivityManagerService;-removeTask-(I I)Z": [ "android.permission.REMOVE_TASKS", "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/ActivityManagerService;-reportAssistContextExtras-(Landroid/os/IBinder; Landroid/os/Bundle;)V": [ "android.permission.BROADCAST_STICKY", "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-requestBugReport-()V": [ "android.permission.DUMP" ], "Lcom/android/server/am/ActivityManagerService;-requestVisibleBehind-(Landroid/os/IBinder; Z)Z": [ "android.permission.MANAGE_APP_TOKENS", "android.permission.UPDATE_APP_OPS_STATS", "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/ActivityManagerService;-resizeStack-(I Landroid/graphics/Rect;)V": [ "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-restart-()V": [ "android.permission.SET_ACTIVITY_WATCHER" ], "Lcom/android/server/am/ActivityManagerService;-resumeAppSwitches-()V": [ "android.permission.STOP_APP_SWITCHES" ], "Lcom/android/server/am/ActivityManagerService;-setActivityController-(Landroid/app/IActivityController;)V": [ "android.permission.SET_ACTIVITY_WATCHER" ], "Lcom/android/server/am/ActivityManagerService;-setAlwaysFinish-(Z)V": [ "android.permission.SET_ALWAYS_FINISH" ], "Lcom/android/server/am/ActivityManagerService;-setDebugApp-(Ljava/lang/String; Z Z)V": [ "android.permission.BROADCAST_STICKY", "android.permission.SET_DEBUG_APP", "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/ActivityManagerService;-setFocusedStack-(I)V": [ "android.permission.MANAGE_APP_TOKENS", "android.permission.START_ANY_ACTIVITY", "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/ActivityManagerService;-setFrontActivityScreenCompatMode-(I)V": [ "android.permission.BROADCAST_STICKY", "android.permission.MANAGE_APP_TOKENS", "android.permission.SET_SCREEN_COMPATIBILITY", "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/ActivityManagerService;-setLockScreenShown-(Z)V": [ "android.permission.BROADCAST_STICKY", "android.permission.DEVICE_POWER", "android.permission.START_ANY_ACTIVITY", "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/ActivityManagerService;-setPackageAskScreenCompat-(Ljava/lang/String; Z)V": [ "android.permission.SET_SCREEN_COMPATIBILITY" ], "Lcom/android/server/am/ActivityManagerService;-setPackageScreenCompatMode-(Ljava/lang/String; I)V": [ "android.permission.BROADCAST_STICKY", "android.permission.MANAGE_APP_TOKENS", "android.permission.SET_SCREEN_COMPATIBILITY", "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/ActivityManagerService;-setProcessForeground-(Landroid/os/IBinder; I Z)V": [ "android.permission.BROADCAST_STICKY", "android.permission.SET_PROCESS_LIMIT", "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/ActivityManagerService;-setProcessLimit-(I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.SET_PROCESS_LIMIT", "android.permission.START_ANY_ACTIVITY", "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/ActivityManagerService;-setRequestedOrientation-(Landroid/os/IBinder; I)V": [ "android.permission.BROADCAST_STICKY", "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-setServiceForeground-(Landroid/content/ComponentName; Landroid/os/IBinder; I Landroid/app/Notification; Z)V": [ "android.permission.BROADCAST_STICKY", "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/ActivityManagerService;-shutdown-(I)Z": [ "android.permission.GET_APP_OPS_STATS", "android.permission.MANAGE_APP_TOKENS", "android.permission.SHUTDOWN", "android.permission.START_ANY_ACTIVITY", "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/ActivityManagerService;-signalPersistentProcesses-(I)V": [ "android.permission.SIGNAL_PERSISTENT_PROCESSES" ], "Lcom/android/server/am/ActivityManagerService;-startActivities-(Landroid/app/IApplicationThread; Ljava/lang/String; [Landroid/content/Intent; [Ljava/lang/String; Landroid/os/IBinder; Landroid/os/Bundle; I)I": [ "android.permission.BROADCAST_STICKY", "android.permission.SET_DEBUG_APP", "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/ActivityManagerService;-startActivity-(Landroid/app/IApplicationThread; Ljava/lang/String; Landroid/content/Intent; Ljava/lang/String; Landroid/os/IBinder; Ljava/lang/String; I I Landroid/app/ProfilerInfo; Landroid/os/Bundle;)I": [ "android.permission.BROADCAST_STICKY", "android.permission.SET_DEBUG_APP", "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/ActivityManagerService;-startActivityAndWait-(Landroid/app/IApplicationThread; Ljava/lang/String; Landroid/content/Intent; Ljava/lang/String; Landroid/os/IBinder; Ljava/lang/String; I I Landroid/app/ProfilerInfo; Landroid/os/Bundle; I)Landroid/app/IActivityManager$WaitResult;": [ "android.permission.BROADCAST_STICKY", "android.permission.SET_DEBUG_APP", "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/ActivityManagerService;-startActivityAsCaller-(Landroid/app/IApplicationThread; Ljava/lang/String; Landroid/content/Intent; Ljava/lang/String; Landroid/os/IBinder; Ljava/lang/String; I I Landroid/app/ProfilerInfo; Landroid/os/Bundle; I)I": [ "android.permission.BROADCAST_STICKY", "android.permission.SET_DEBUG_APP", "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/ActivityManagerService;-startActivityAsUser-(Landroid/app/IApplicationThread; Ljava/lang/String; Landroid/content/Intent; Ljava/lang/String; Landroid/os/IBinder; Ljava/lang/String; I I Landroid/app/ProfilerInfo; Landroid/os/Bundle; I)I": [ "android.permission.BROADCAST_STICKY", "android.permission.SET_DEBUG_APP", "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/ActivityManagerService;-startActivityFromRecents-(I Landroid/os/Bundle;)I": [ "android.permission.BROADCAST_STICKY", "android.permission.START_TASKS_FROM_RECENTS", "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/ActivityManagerService;-startActivityIntentSender-(Landroid/app/IApplicationThread; Landroid/content/IntentSender; Landroid/content/Intent; Ljava/lang/String; Landroid/os/IBinder; Ljava/lang/String; I I I Landroid/os/Bundle;)I": [ "android.permission.SET_DEBUG_APP" ], "Lcom/android/server/am/ActivityManagerService;-startActivityWithConfig-(Landroid/app/IApplicationThread; Ljava/lang/String; Landroid/content/Intent; Ljava/lang/String; Landroid/os/IBinder; Ljava/lang/String; I I Landroid/content/res/Configuration; Landroid/os/Bundle; I)I": [ "android.permission.BROADCAST_STICKY", "android.permission.SET_DEBUG_APP", "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/ActivityManagerService;-startInstrumentation-(Landroid/content/ComponentName; Ljava/lang/String; I Landroid/os/Bundle; Landroid/app/IInstrumentationWatcher; Landroid/app/IUiAutomationConnection; I Ljava/lang/String;)Z": [ "android.permission.BROADCAST_STICKY" ], "Lcom/android/server/am/ActivityManagerService;-startLockTaskMode-(Landroid/os/IBinder;)V": [ "android.permission.BROADCAST_STICKY", "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_APP_TOKENS", "android.permission.START_ANY_ACTIVITY", "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/ActivityManagerService;-startLockTaskMode-(I)V": [ "android.permission.BROADCAST_STICKY", "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_APP_TOKENS", "android.permission.START_ANY_ACTIVITY", "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/ActivityManagerService;-startLockTaskModeOnCurrent-()V": [ "android.permission.BROADCAST_STICKY", "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_ACTIVITY_STACKS", "android.permission.MANAGE_APP_TOKENS", "android.permission.START_ANY_ACTIVITY", "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/ActivityManagerService;-startNextMatchingActivity-(Landroid/os/IBinder; Landroid/content/Intent; Landroid/os/Bundle;)Z": [ "android.permission.BROADCAST_STICKY", "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_APP_TOKENS", "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/ActivityManagerService;-startService-(Landroid/app/IApplicationThread; Landroid/content/Intent; Ljava/lang/String; I)Landroid/content/ComponentName;": [ "android.permission.BROADCAST_STICKY" ], "Lcom/android/server/am/ActivityManagerService;-startUserInBackground-(I)Z": [ "android.permission.BROADCAST_STICKY", "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.START_ANY_ACTIVITY", "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/ActivityManagerService;-startVoiceActivity-(Ljava/lang/String; I I Landroid/content/Intent; Ljava/lang/String; Landroid/service/voice/IVoiceInteractionSession; Lcom/android/internal/app/IVoiceInteractor; I Landroid/app/ProfilerInfo; Landroid/os/Bundle; I)I": [ "android.permission.BIND_VOICE_INTERACTION", "android.permission.BROADCAST_STICKY", "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/ActivityManagerService;-stopAppSwitches-()V": [ "android.permission.BROADCAST_STICKY", "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_APP_TOKENS", "android.permission.START_ANY_ACTIVITY", "android.permission.STOP_APP_SWITCHES", "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/ActivityManagerService;-stopLockTaskMode-()V": [ "android.permission.BROADCAST_STICKY", "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-stopLockTaskModeOnCurrent-()V": [ "android.permission.BROADCAST_STICKY", "android.permission.MANAGE_ACTIVITY_STACKS", "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/ActivityManagerService;-stopService-(Landroid/app/IApplicationThread; Landroid/content/Intent; Ljava/lang/String; I)I": [ "android.permission.BROADCAST_STICKY" ], "Lcom/android/server/am/ActivityManagerService;-stopServiceToken-(Landroid/content/ComponentName; Landroid/os/IBinder; I)Z": [ "android.permission.BROADCAST_STICKY" ], "Lcom/android/server/am/ActivityManagerService;-stopUser-(I Landroid/app/IStopUserCallback;)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/am/ActivityManagerService;-unbindBackupAgent-(Landroid/content/pm/ApplicationInfo;)V": [ "android.permission.BROADCAST_STICKY", "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/ActivityManagerService;-unbindFinished-(Landroid/os/IBinder; Landroid/content/Intent; Z)V": [ "android.permission.BROADCAST_STICKY", "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/ActivityManagerService;-unbindService-(Landroid/app/IServiceConnection;)Z": [ "android.permission.BROADCAST_STICKY" ], "Lcom/android/server/am/ActivityManagerService;-unbroadcastIntent-(Landroid/app/IApplicationThread; Landroid/content/Intent; I)V": [ "android.permission.BROADCAST_STICKY" ], "Lcom/android/server/am/ActivityManagerService;-unhandledBack-()V": [ "android.permission.FORCE_BACK", "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/ActivityManagerService;-unregisterReceiver-(Landroid/content/IIntentReceiver;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.START_ANY_ACTIVITY", "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/ActivityManagerService;-unstableProviderDied-(Landroid/os/IBinder;)V": [ "android.permission.BROADCAST_STICKY" ], "Lcom/android/server/am/ActivityManagerService;-updateConfiguration-(Landroid/content/res/Configuration;)V": [ "android.permission.BROADCAST_STICKY", "android.permission.CHANGE_CONFIGURATION", "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/ActivityManagerService;-updatePersistentConfiguration-(Landroid/content/res/Configuration;)V": [ "android.permission.BROADCAST_STICKY", "android.permission.CHANGE_CONFIGURATION", "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-getAwakeTimeBattery-()J": [ "android.permission.BATTERY_STATS" ], "Lcom/android/server/am/BatteryStatsService;-getAwakeTimePlugged-()J": [ "android.permission.BATTERY_STATS" ], "Lcom/android/server/am/BatteryStatsService;-getStatistics-()[B": [ "android.permission.BATTERY_STATS" ], "Lcom/android/server/am/BatteryStatsService;-getStatisticsStream-()Landroid/os/ParcelFileDescriptor;": [ "android.permission.BATTERY_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteBluetoothOff-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteBluetoothOn-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteBluetoothState-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteChangeWakelockFromSource-(Landroid/os/WorkSource; I Ljava/lang/String; Ljava/lang/String; I Landroid/os/WorkSource; I Ljava/lang/String; Ljava/lang/String; I Z)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteEvent-(I Ljava/lang/String; I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteFlashlightOff-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteFlashlightOn-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteFullWifiLockAcquired-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteFullWifiLockAcquiredFromSource-(Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteFullWifiLockReleased-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteFullWifiLockReleasedFromSource-(Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteInteractive-(Z)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteJobFinish-(Ljava/lang/String; I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteJobStart-(Ljava/lang/String; I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteMobileRadioPowerState-(I J)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteNetworkInterfaceType-(Ljava/lang/String; I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteNetworkStatsEnabled-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-notePhoneDataConnectionState-(I Z)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-notePhoneOff-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-notePhoneOn-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-notePhoneSignalStrength-(Landroid/telephony/SignalStrength;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-notePhoneState-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteResetAudio-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteResetVideo-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteScreenBrightness-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteScreenState-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStartAudio-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStartGps-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStartSensor-(I I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStartVideo-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStartWakelock-(I I Ljava/lang/String; Ljava/lang/String; I Z)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStartWakelockFromSource-(Landroid/os/WorkSource; I Ljava/lang/String; Ljava/lang/String; I Z)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStopAudio-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStopGps-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStopSensor-(I I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStopVideo-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStopWakelock-(I I Ljava/lang/String; Ljava/lang/String; I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStopWakelockFromSource-(Landroid/os/WorkSource; I Ljava/lang/String; Ljava/lang/String; I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteSyncFinish-(Ljava/lang/String; I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteSyncStart-(Ljava/lang/String; I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteUserActivity-(I I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteVibratorOff-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteVibratorOn-(I J)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiBatchedScanStartedFromSource-(Landroid/os/WorkSource; I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiBatchedScanStoppedFromSource-(Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiMulticastDisabled-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiMulticastDisabledFromSource-(Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiMulticastEnabled-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiMulticastEnabledFromSource-(Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiOff-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiOn-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiRssiChanged-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiRunning-(Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiRunningChanged-(Landroid/os/WorkSource; Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiScanStarted-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiScanStartedFromSource-(Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiScanStopped-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiScanStoppedFromSource-(Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiState-(I Ljava/lang/String;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiStopped-(Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiSupplicantStateChanged-(I Z)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-setBatteryState-(I I I I I I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/ProcessStatsService;-getCurrentStats-(Ljava/util/List;)[B": [ "android.permission.PACKAGE_USAGE_STATS" ], "Lcom/android/server/am/ProcessStatsService;-getStatsOverTime-(J)Landroid/os/ParcelFileDescriptor;": [ "android.permission.PACKAGE_USAGE_STATS" ], "Lcom/android/server/appwidget/AppWidgetServiceImpl;-bindAppWidgetId-(Ljava/lang/String; I I Landroid/content/ComponentName; Landroid/os/Bundle;)Z": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/appwidget/AppWidgetServiceImpl;-bindRemoteViewsService-(Ljava/lang/String; I Landroid/content/Intent; Landroid/os/IBinder;)V": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/appwidget/AppWidgetServiceImpl;-createAppWidgetConfigIntentSender-(Ljava/lang/String; I I)Landroid/content/IntentSender;": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/appwidget/AppWidgetServiceImpl;-deleteAppWidgetId-(Ljava/lang/String; I)V": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/appwidget/AppWidgetServiceImpl;-getAppWidgetInfo-(Ljava/lang/String; I)Landroid/appwidget/AppWidgetProviderInfo;": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/appwidget/AppWidgetServiceImpl;-getAppWidgetOptions-(Ljava/lang/String; I)Landroid/os/Bundle;": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/appwidget/AppWidgetServiceImpl;-getAppWidgetViews-(Ljava/lang/String; I)Landroid/widget/RemoteViews;": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/appwidget/AppWidgetServiceImpl;-hasBindAppWidgetPermission-(Ljava/lang/String; I)Z": [ "android.permission.MODIFY_APPWIDGET_BIND_PERMISSIONS" ], "Lcom/android/server/appwidget/AppWidgetServiceImpl;-notifyAppWidgetViewDataChanged-(Ljava/lang/String; [I I)V": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/appwidget/AppWidgetServiceImpl;-partiallyUpdateAppWidgetIds-(Ljava/lang/String; [I Landroid/widget/RemoteViews;)V": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/appwidget/AppWidgetServiceImpl;-setBindAppWidgetPermission-(Ljava/lang/String; I Z)V": [ "android.permission.MODIFY_APPWIDGET_BIND_PERMISSIONS" ], "Lcom/android/server/appwidget/AppWidgetServiceImpl;-unbindRemoteViewsService-(Ljava/lang/String; I Landroid/content/Intent;)V": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/appwidget/AppWidgetServiceImpl;-updateAppWidgetIds-(Ljava/lang/String; [I Landroid/widget/RemoteViews;)V": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/appwidget/AppWidgetServiceImpl;-updateAppWidgetOptions-(Ljava/lang/String; I Landroid/os/Bundle;)V": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/backup/BackupManagerService$ActiveRestoreSession;-getAvailableRestoreSets-(Landroid/app/backup/IRestoreObserver;)I": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/BackupManagerService$ActiveRestoreSession;-restoreAll-(J Landroid/app/backup/IRestoreObserver;)I": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/BackupManagerService$ActiveRestoreSession;-restorePackage-(Ljava/lang/String; Landroid/app/backup/IRestoreObserver;)I": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/BackupManagerService$ActiveRestoreSession;-restoreSome-(J Landroid/app/backup/IRestoreObserver; [Ljava/lang/String;)I": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/BackupManagerService;-acknowledgeFullBackupOrRestore-(I Z Ljava/lang/String; Ljava/lang/String; Landroid/app/backup/IFullBackupRestoreObserver;)V": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/BackupManagerService;-backupNow-()V": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/BackupManagerService;-beginRestoreSession-(Ljava/lang/String; Ljava/lang/String;)Landroid/app/backup/IRestoreSession;": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/BackupManagerService;-clearBackupData-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/BackupManagerService;-dataChanged-(Ljava/lang/String;)V": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/BackupManagerService;-fullBackup-(Landroid/os/ParcelFileDescriptor; Z Z Z Z Z Z Z [Ljava/lang/String;)V": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/BackupManagerService;-fullRestore-(Landroid/os/ParcelFileDescriptor;)V": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/BackupManagerService;-fullTransportBackup-([Ljava/lang/String;)V": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/BackupManagerService;-getConfigurationIntent-(Ljava/lang/String;)Landroid/content/Intent;": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/BackupManagerService;-getCurrentTransport-()Ljava/lang/String;": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/BackupManagerService;-getDataManagementIntent-(Ljava/lang/String;)Landroid/content/Intent;": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/BackupManagerService;-getDataManagementLabel-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/BackupManagerService;-getDestinationString-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/BackupManagerService;-hasBackupPassword-()Z": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/BackupManagerService;-isBackupEnabled-()Z": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/BackupManagerService;-listAllTransports-()[Ljava/lang/String;": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/BackupManagerService;-selectBackupTransport-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/BackupManagerService;-setAutoRestore-(Z)V": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/BackupManagerService;-setBackupEnabled-(Z)V": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/BackupManagerService;-setBackupPassword-(Ljava/lang/String; Ljava/lang/String;)Z": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/BackupManagerService;-setBackupProvisioned-(Z)V": [ "android.permission.BACKUP" ], "Lcom/android/server/connectivity/Tethering;-interfaceAdded-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/connectivity/Tethering;-interfaceLinkStateChanged-(Ljava/lang/String; Z)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/connectivity/Tethering;-interfaceStatusChanged-(Ljava/lang/String; Z)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/content/ContentService;-addPeriodicSync-(Landroid/accounts/Account; Ljava/lang/String; Landroid/os/Bundle; J)V": [ "android.permission.WRITE_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-cancelSync-(Landroid/accounts/Account; Ljava/lang/String; Landroid/content/ComponentName;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/content/ContentService;-cancelSyncAsUser-(Landroid/accounts/Account; Ljava/lang/String; Landroid/content/ComponentName; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/content/ContentService;-getCurrentSyncs-()Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.READ_SYNC_STATS" ], "Lcom/android/server/content/ContentService;-getCurrentSyncsAsUser-(I)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.READ_SYNC_STATS" ], "Lcom/android/server/content/ContentService;-getIsSyncable-(Landroid/accounts/Account; Ljava/lang/String;)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.READ_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-getIsSyncableAsUser-(Landroid/accounts/Account; Ljava/lang/String; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.READ_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-getMasterSyncAutomatically-()Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.READ_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-getMasterSyncAutomaticallyAsUser-(I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.READ_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-getPeriodicSyncs-(Landroid/accounts/Account; Ljava/lang/String; Landroid/content/ComponentName;)Ljava/util/List;": [ "android.permission.READ_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-getSyncAdapterTypes-()[Landroid/content/SyncAdapterType;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/content/ContentService;-getSyncAdapterTypesAsUser-(I)[Landroid/content/SyncAdapterType;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/content/ContentService;-getSyncAutomatically-(Landroid/accounts/Account; Ljava/lang/String;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.READ_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-getSyncAutomaticallyAsUser-(Landroid/accounts/Account; Ljava/lang/String; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.READ_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-getSyncStatus-(Landroid/accounts/Account; Ljava/lang/String; Landroid/content/ComponentName;)Landroid/content/SyncStatusInfo;": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.READ_SYNC_STATS" ], "Lcom/android/server/content/ContentService;-getSyncStatusAsUser-(Landroid/accounts/Account; Ljava/lang/String; Landroid/content/ComponentName; I)Landroid/content/SyncStatusInfo;": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.READ_SYNC_STATS" ], "Lcom/android/server/content/ContentService;-isSyncActive-(Landroid/accounts/Account; Ljava/lang/String; Landroid/content/ComponentName;)Z": [ "android.permission.READ_SYNC_STATS" ], "Lcom/android/server/content/ContentService;-isSyncPending-(Landroid/accounts/Account; Ljava/lang/String; Landroid/content/ComponentName;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.READ_SYNC_STATS" ], "Lcom/android/server/content/ContentService;-isSyncPendingAsUser-(Landroid/accounts/Account; Ljava/lang/String; Landroid/content/ComponentName; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.READ_SYNC_STATS" ], "Lcom/android/server/content/ContentService;-registerContentObserver-(Landroid/net/Uri; Z Landroid/database/IContentObserver; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/content/ContentService;-removePeriodicSync-(Landroid/accounts/Account; Ljava/lang/String; Landroid/os/Bundle;)V": [ "android.permission.WRITE_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-setIsSyncable-(Landroid/accounts/Account; Ljava/lang/String; I)V": [ "android.permission.WRITE_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-setMasterSyncAutomatically-(Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.WRITE_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-setMasterSyncAutomaticallyAsUser-(Z I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.WRITE_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-setSyncAutomatically-(Landroid/accounts/Account; Ljava/lang/String; Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.WRITE_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-setSyncAutomaticallyAsUser-(Landroid/accounts/Account; Ljava/lang/String; Z I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.WRITE_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-sync-(Landroid/content/SyncRequest;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/content/ContentService;-syncAsUser-(Landroid/content/SyncRequest; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-addCrossProfileIntentFilter-(Landroid/content/ComponentName; Landroid/content/IntentFilter; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-addCrossProfileWidgetProvider-(Landroid/content/ComponentName; Ljava/lang/String;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-addPersistentPreferredActivity-(Landroid/content/ComponentName; Landroid/content/IntentFilter; Landroid/content/ComponentName;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-clearCrossProfileIntentFilters-(Landroid/content/ComponentName;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-clearPackagePersistentPreferredActivities-(Landroid/content/ComponentName; Ljava/lang/String;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-clearProfileOwner-(Landroid/content/ComponentName;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-createAndInitializeUser-(Landroid/content/ComponentName; Ljava/lang/String; Ljava/lang/String; Landroid/content/ComponentName; Landroid/os/Bundle;)Landroid/os/UserHandle;": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_DEVICE_ADMINS", "android.permission.MANAGE_USERS" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-createUser-(Landroid/content/ComponentName; Ljava/lang/String;)Landroid/os/UserHandle;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-enableSystemApp-(Landroid/content/ComponentName; Ljava/lang/String;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-enableSystemAppWithIntent-(Landroid/content/ComponentName; Landroid/content/Intent;)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-enforceCanManageCaCerts-(Landroid/content/ComponentName;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_CA_CERTIFICATES" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getAccountTypesWithManagementDisabled-()[Ljava/lang/String;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getAccountTypesWithManagementDisabledAsUser-(I)[Ljava/lang/String;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getActiveAdmins-(I)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getApplicationRestrictions-(Landroid/content/ComponentName; Ljava/lang/String;)Landroid/os/Bundle;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getAutoTimeRequired-()Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getCameraDisabled-(Landroid/content/ComponentName; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getCrossProfileCallerIdDisabled-(Landroid/content/ComponentName;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getCrossProfileCallerIdDisabledForUser-(I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getCrossProfileWidgetProviders-(Landroid/content/ComponentName;)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getCurrentFailedPasswordAttempts-(I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getDeviceOwnerName-()Ljava/lang/String;": [ "android.permission.MANAGE_USERS" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getGlobalProxyAdmin-(I)Landroid/content/ComponentName;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getKeyguardDisabledFeatures-(Landroid/content/ComponentName; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getLockTaskPackages-(Landroid/content/ComponentName;)[Ljava/lang/String;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getMaximumFailedPasswordsForWipe-(Landroid/content/ComponentName; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getMaximumTimeToLock-(Landroid/content/ComponentName; I)J": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getPasswordExpiration-(Landroid/content/ComponentName; I)J": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getPasswordExpirationTimeout-(Landroid/content/ComponentName; I)J": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getPasswordHistoryLength-(Landroid/content/ComponentName; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getPasswordMinimumLength-(Landroid/content/ComponentName; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getPasswordMinimumLetters-(Landroid/content/ComponentName; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getPasswordMinimumLowerCase-(Landroid/content/ComponentName; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getPasswordMinimumNonLetter-(Landroid/content/ComponentName; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getPasswordMinimumNumeric-(Landroid/content/ComponentName; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getPasswordMinimumSymbols-(Landroid/content/ComponentName; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getPasswordMinimumUpperCase-(Landroid/content/ComponentName; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getPasswordQuality-(Landroid/content/ComponentName; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getPermittedAccessibilityServices-(Landroid/content/ComponentName;)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getPermittedAccessibilityServicesForUser-(I)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getPermittedInputMethods-(Landroid/content/ComponentName;)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getPermittedInputMethodsForCurrentUser-()Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getProfileOwnerName-(I)Ljava/lang/String;": [ "android.permission.MANAGE_USERS" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getRemoveWarning-(Landroid/content/ComponentName; Landroid/os/RemoteCallback; I)V": [ "android.permission.BIND_DEVICE_ADMIN", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getRestrictionsProvider-(I)Landroid/content/ComponentName;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getScreenCaptureDisabled-(Landroid/content/ComponentName; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getStorageEncryption-(Landroid/content/ComponentName; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getStorageEncryptionStatus-(I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getTrustAgentFeaturesEnabled-(Landroid/content/ComponentName; Landroid/content/ComponentName; I)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-hasGrantedPolicy-(Landroid/content/ComponentName; I I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-hasUserSetupCompleted-()Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-installCaCert-(Landroid/content/ComponentName; [B)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_CA_CERTIFICATES" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-installKeyPair-(Landroid/content/ComponentName; [B [B Ljava/lang/String;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-isActivePasswordSufficient-(I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-isAdminActive-(Landroid/content/ComponentName; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-isApplicationHidden-(Landroid/content/ComponentName; Ljava/lang/String;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-isLockTaskPermitted-(Ljava/lang/String;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-isMasterVolumeMuted-(Landroid/content/ComponentName;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-isUninstallBlocked-(Landroid/content/ComponentName; Ljava/lang/String;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-lockNow-()V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-notifyLockTaskModeChanged-(Z Ljava/lang/String; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-packageHasActiveAdmins-(Ljava/lang/String; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-removeActiveAdmin-(Landroid/content/ComponentName; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_DEVICE_ADMINS" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-removeCrossProfileWidgetProvider-(Landroid/content/ComponentName; Ljava/lang/String;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-removeUser-(Landroid/content/ComponentName; Landroid/os/UserHandle;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-reportFailedPasswordAttempt-(I)V": [ "android.permission.BIND_DEVICE_ADMIN", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-reportSuccessfulPasswordAttempt-(I)V": [ "android.permission.BIND_DEVICE_ADMIN", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-resetPassword-(Ljava/lang/String; I I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setAccountManagementDisabled-(Landroid/content/ComponentName; Ljava/lang/String; Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setActiveAdmin-(Landroid/content/ComponentName; Z I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_DEVICE_ADMINS" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setActivePasswordState-(I I I I I I I I I)V": [ "android.permission.BIND_DEVICE_ADMIN", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setApplicationHidden-(Landroid/content/ComponentName; Ljava/lang/String; Z)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setApplicationRestrictions-(Landroid/content/ComponentName; Ljava/lang/String; Landroid/os/Bundle;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setAutoTimeRequired-(Landroid/content/ComponentName; I Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setCameraDisabled-(Landroid/content/ComponentName; Z I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setCrossProfileCallerIdDisabled-(Landroid/content/ComponentName; Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setDeviceOwner-(Ljava/lang/String; Ljava/lang/String;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setGlobalProxy-(Landroid/content/ComponentName; Ljava/lang/String; Ljava/lang/String; I)Landroid/content/ComponentName;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setGlobalSetting-(Landroid/content/ComponentName; Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setKeyguardDisabledFeatures-(Landroid/content/ComponentName; I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setLockTaskPackages-(Landroid/content/ComponentName; [Ljava/lang/String;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setMasterVolumeMuted-(Landroid/content/ComponentName; Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setMaximumFailedPasswordsForWipe-(Landroid/content/ComponentName; I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setMaximumTimeToLock-(Landroid/content/ComponentName; J I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setPasswordExpirationTimeout-(Landroid/content/ComponentName; J I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setPasswordHistoryLength-(Landroid/content/ComponentName; I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setPasswordMinimumLength-(Landroid/content/ComponentName; I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setPasswordMinimumLetters-(Landroid/content/ComponentName; I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setPasswordMinimumLowerCase-(Landroid/content/ComponentName; I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setPasswordMinimumNonLetter-(Landroid/content/ComponentName; I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setPasswordMinimumNumeric-(Landroid/content/ComponentName; I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setPasswordMinimumSymbols-(Landroid/content/ComponentName; I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setPasswordMinimumUpperCase-(Landroid/content/ComponentName; I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setPasswordQuality-(Landroid/content/ComponentName; I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setPermittedAccessibilityServices-(Landroid/content/ComponentName; Ljava/util/List;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setPermittedInputMethods-(Landroid/content/ComponentName; Ljava/util/List;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setProfileEnabled-(Landroid/content/ComponentName;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setProfileName-(Landroid/content/ComponentName; Ljava/lang/String;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setProfileOwner-(Landroid/content/ComponentName; Ljava/lang/String; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_USERS" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setRecommendedGlobalProxy-(Landroid/content/ComponentName; Landroid/net/ProxyInfo;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setRestrictionsProvider-(Landroid/content/ComponentName; Landroid/content/ComponentName;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setScreenCaptureDisabled-(Landroid/content/ComponentName; I Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setSecureSetting-(Landroid/content/ComponentName; Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setStorageEncryption-(Landroid/content/ComponentName; Z I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setTrustAgentFeaturesEnabled-(Landroid/content/ComponentName; Landroid/content/ComponentName; Ljava/util/List; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setUninstallBlocked-(Landroid/content/ComponentName; Ljava/lang/String; Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setUserRestriction-(Landroid/content/ComponentName; Ljava/lang/String; Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-switchUser-(Landroid/content/ComponentName; Landroid/os/UserHandle;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-uninstallCaCert-(Landroid/content/ComponentName; Ljava/lang/String;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_CA_CERTIFICATES" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-wipeData-(I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/display/DisplayManagerService$BinderService;-connectWifiDisplay-(Ljava/lang/String;)V": [ "android.permission.CONFIGURE_WIFI_DISPLAY" ], "Lcom/android/server/display/DisplayManagerService$BinderService;-createVirtualDisplay-(Landroid/hardware/display/IVirtualDisplayCallback; Landroid/media/projection/IMediaProjection; Ljava/lang/String; Ljava/lang/String; I I I Landroid/view/Surface; I)I": [ "android.permission.CAPTURE_SECURE_VIDEO_OUTPUT", "android.permission.CAPTURE_VIDEO_OUTPUT" ], "Lcom/android/server/display/DisplayManagerService$BinderService;-forgetWifiDisplay-(Ljava/lang/String;)V": [ "android.permission.CONFIGURE_WIFI_DISPLAY" ], "Lcom/android/server/display/DisplayManagerService$BinderService;-pauseWifiDisplay-()V": [ "android.permission.CONFIGURE_WIFI_DISPLAY" ], "Lcom/android/server/display/DisplayManagerService$BinderService;-renameWifiDisplay-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.CONFIGURE_WIFI_DISPLAY" ], "Lcom/android/server/display/DisplayManagerService$BinderService;-resumeWifiDisplay-()V": [ "android.permission.CONFIGURE_WIFI_DISPLAY" ], "Lcom/android/server/display/DisplayManagerService$BinderService;-startWifiDisplayScan-()V": [ "android.permission.CONFIGURE_WIFI_DISPLAY" ], "Lcom/android/server/display/DisplayManagerService$BinderService;-stopWifiDisplayScan-()V": [ "android.permission.CONFIGURE_WIFI_DISPLAY" ], "Lcom/android/server/dreams/DreamManagerService$BinderService;-awaken-()V": [ "android.permission.WRITE_DREAM_STATE" ], "Lcom/android/server/dreams/DreamManagerService$BinderService;-dream-()V": [ "android.permission.WRITE_DREAM_STATE" ], "Lcom/android/server/dreams/DreamManagerService$BinderService;-getDefaultDreamComponent-()Landroid/content/ComponentName;": [ "android.permission.READ_DREAM_STATE" ], "Lcom/android/server/dreams/DreamManagerService$BinderService;-getDreamComponents-()[Landroid/content/ComponentName;": [ "android.permission.READ_DREAM_STATE" ], "Lcom/android/server/dreams/DreamManagerService$BinderService;-isDreaming-()Z": [ "android.permission.READ_DREAM_STATE" ], "Lcom/android/server/dreams/DreamManagerService$BinderService;-setDreamComponents-([Landroid/content/ComponentName;)V": [ "android.permission.WRITE_DREAM_STATE" ], "Lcom/android/server/dreams/DreamManagerService$BinderService;-testDream-(Landroid/content/ComponentName;)V": [ "android.permission.WRITE_DREAM_STATE" ], "Lcom/android/server/ethernet/EthernetServiceImpl;-getConfiguration-()Landroid/net/IpConfiguration;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ethernet/EthernetServiceImpl;-setConfiguration-(Landroid/net/IpConfiguration;)V": [ "android.permission.CHANGE_NETWORK_STATE", "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-addDeviceEventListener-(Landroid/hardware/hdmi/IHdmiDeviceEventListener;)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-addHdmiMhlVendorCommandListener-(Landroid/hardware/hdmi/IHdmiMhlVendorCommandListener;)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-addHotplugEventListener-(Landroid/hardware/hdmi/IHdmiHotplugEventListener;)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-addSystemAudioModeChangeListener-(Landroid/hardware/hdmi/IHdmiSystemAudioModeChangeListener;)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-addVendorCommandListener-(Landroid/hardware/hdmi/IHdmiVendorCommandListener; I)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-canChangeSystemAudioMode-()Z": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-clearTimerRecording-(I I [B)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-deviceSelect-(I Landroid/hardware/hdmi/IHdmiControlCallback;)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-getActiveSource-()Landroid/hardware/hdmi/HdmiDeviceInfo;": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-getInputDevices-()Ljava/util/List;": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-getPortInfo-()Ljava/util/List;": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-getSupportedTypes-()[I": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-getSystemAudioMode-()Z": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-oneTouchPlay-(Landroid/hardware/hdmi/IHdmiControlCallback;)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-portSelect-(I Landroid/hardware/hdmi/IHdmiControlCallback;)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-queryDisplayStatus-(Landroid/hardware/hdmi/IHdmiControlCallback;)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-removeHotplugEventListener-(Landroid/hardware/hdmi/IHdmiHotplugEventListener;)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-removeSystemAudioModeChangeListener-(Landroid/hardware/hdmi/IHdmiSystemAudioModeChangeListener;)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-sendKeyEvent-(I I Z)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-sendMhlVendorCommand-(I I I [B)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-sendStandby-(I I)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-sendVendorCommand-(I I [B Z)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-setArcMode-(Z)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-setHdmiRecordListener-(Landroid/hardware/hdmi/IHdmiRecordListener;)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-setInputChangeListener-(Landroid/hardware/hdmi/IHdmiInputChangeListener;)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-setProhibitMode-(Z)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-setSystemAudioMode-(Z Landroid/hardware/hdmi/IHdmiControlCallback;)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-setSystemAudioMute-(Z)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-setSystemAudioVolume-(I I I)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-startOneTouchRecord-(I [B)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-startTimerRecording-(I I [B)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-stopOneTouchRecord-(I)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/input/InputManagerService;-addKeyboardLayoutForInputDevice-(Landroid/hardware/input/InputDeviceIdentifier; Ljava/lang/String;)V": [ "android.permission.SET_KEYBOARD_LAYOUT" ], "Lcom/android/server/input/InputManagerService;-removeKeyboardLayoutForInputDevice-(Landroid/hardware/input/InputDeviceIdentifier; Ljava/lang/String;)V": [ "android.permission.SET_KEYBOARD_LAYOUT" ], "Lcom/android/server/input/InputManagerService;-setCurrentKeyboardLayoutForInputDevice-(Landroid/hardware/input/InputDeviceIdentifier; Ljava/lang/String;)V": [ "android.permission.SET_KEYBOARD_LAYOUT" ], "Lcom/android/server/input/InputManagerService;-setTouchCalibrationForInputDevice-(Ljava/lang/String; I Landroid/hardware/input/TouchCalibration;)V": [ "android.permission.SET_INPUT_CALIBRATION" ], "Lcom/android/server/input/InputManagerService;-tryPointerSpeed-(I)V": [ "android.permission.SET_POINTER_SPEED" ], "Lcom/android/server/job/JobSchedulerService$JobSchedulerStub;-schedule-(Landroid/app/job/JobInfo;)I": [ "android.permission.RECEIVE_BOOT_COMPLETED" ], "Lcom/android/server/media/MediaRouterService;-registerClientAsUser-(Landroid/media/IMediaRouterClient; Ljava/lang/String; I)V": [ "android.permission.CONFIGURE_WIFI_DISPLAY" ], "Lcom/android/server/media/MediaSessionRecord$SessionStub;-setFlags-(I)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/media/projection/MediaProjectionManagerService$BinderService;-addCallback-(Landroid/media/projection/IMediaProjectionWatcherCallback;)V": [ "android.permission.MANAGE_MEDIA_PROJECTION" ], "Lcom/android/server/media/projection/MediaProjectionManagerService$BinderService;-createProjection-(I Ljava/lang/String; I Z)Landroid/media/projection/IMediaProjection;": [ "android.permission.MANAGE_MEDIA_PROJECTION", "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/server/media/projection/MediaProjectionManagerService$BinderService;-getActiveProjectionInfo-()Landroid/media/projection/MediaProjectionInfo;": [ "android.permission.MANAGE_MEDIA_PROJECTION" ], "Lcom/android/server/media/projection/MediaProjectionManagerService$BinderService;-removeCallback-(Landroid/media/projection/IMediaProjectionWatcherCallback;)V": [ "android.permission.MANAGE_MEDIA_PROJECTION" ], "Lcom/android/server/media/projection/MediaProjectionManagerService$BinderService;-stopActiveProjection-()V": [ "android.permission.MANAGE_MEDIA_PROJECTION" ], "Lcom/android/server/net/NetworkPolicyManagerService;-addUidPolicy-(I I)V": [ "android.permission.CONNECTIVITY_INTERNAL", "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-getNetworkPolicies-()[Landroid/net/NetworkPolicy;": [ "android.permission.MANAGE_NETWORK_POLICY", "android.permission.READ_PHONE_STATE" ], "Lcom/android/server/net/NetworkPolicyManagerService;-getNetworkQuotaInfo-(Landroid/net/NetworkState;)Landroid/net/NetworkQuotaInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/net/NetworkPolicyManagerService;-getPowerSaveAppIdWhitelist-()[I": [ "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-getRestrictBackground-()Z": [ "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-getUidPolicy-(I)I": [ "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-getUidsWithPolicy-(I)[I": [ "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-isUidForeground-(I)Z": [ "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-registerListener-(Landroid/net/INetworkPolicyListener;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/net/NetworkPolicyManagerService;-removeUidPolicy-(I I)V": [ "android.permission.CONNECTIVITY_INTERNAL", "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-setNetworkPolicies-([Landroid/net/NetworkPolicy;)V": [ "android.permission.CONNECTIVITY_INTERNAL", "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-setRestrictBackground-(Z)V": [ "android.permission.CONNECTIVITY_INTERNAL", "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-setUidPolicy-(I I)V": [ "android.permission.CONNECTIVITY_INTERNAL", "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-snoozeLimit-(Landroid/net/NetworkTemplate;)V": [ "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-unregisterListener-(Landroid/net/INetworkPolicyListener;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/net/NetworkStatsService;-advisePersistThreshold-(J)V": [ "android.permission.CONNECTIVITY_INTERNAL", "android.permission.MODIFY_NETWORK_ACCOUNTING" ], "Lcom/android/server/net/NetworkStatsService;-forceUpdate-()V": [ "android.permission.READ_NETWORK_USAGE_HISTORY" ], "Lcom/android/server/net/NetworkStatsService;-getDataLayerSnapshotForUid-(I)Landroid/net/NetworkStats;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/net/NetworkStatsService;-getNetworkTotalBytes-(Landroid/net/NetworkTemplate; J J)J": [ "android.permission.READ_NETWORK_USAGE_HISTORY" ], "Lcom/android/server/net/NetworkStatsService;-incrementOperationCount-(I I I)V": [ "android.permission.MODIFY_NETWORK_ACCOUNTING" ], "Lcom/android/server/net/NetworkStatsService;-openSession-()Landroid/net/INetworkStatsSession;": [ "android.permission.READ_NETWORK_USAGE_HISTORY" ], "Lcom/android/server/net/NetworkStatsService;-setUidForeground-(I Z)V": [ "android.permission.MODIFY_NETWORK_ACCOUNTING" ], "Lcom/android/server/pm/PackageInstallerService;-setPermissionsResult-(I Z)V": [ "android.permission.INSTALL_PACKAGES" ], "Lcom/android/server/pm/PackageInstallerService;-uninstall-(Ljava/lang/String; I Landroid/content/IntentSender; I)V": [ "android.permission.DELETE_PACKAGES" ], "Lcom/android/server/pm/PackageManagerService;-addCrossProfileIntentFilter-(Landroid/content/IntentFilter; Ljava/lang/String; I I I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-addPreferredActivity-(Landroid/content/IntentFilter; I [Landroid/content/ComponentName; Landroid/content/ComponentName; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.SET_PREFERRED_APPLICATIONS" ], "Lcom/android/server/pm/PackageManagerService;-canForwardTo-(Landroid/content/Intent; Ljava/lang/String; I I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-clearApplicationUserData-(Ljava/lang/String; Landroid/content/pm/IPackageDataObserver; I)V": [ "android.permission.CLEAR_APP_USER_DATA", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-clearCrossProfileIntentFilters-(I Ljava/lang/String; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-clearPackagePreferredActivities-(Ljava/lang/String;)V": [ "android.permission.SET_PREFERRED_APPLICATIONS" ], "Lcom/android/server/pm/PackageManagerService;-deleteApplicationCacheFiles-(Ljava/lang/String; Landroid/content/pm/IPackageDataObserver;)V": [ "android.permission.DELETE_CACHE_FILES" ], "Lcom/android/server/pm/PackageManagerService;-deletePackage-(Ljava/lang/String; Landroid/content/pm/IPackageDeleteObserver2; I I)V": [ "android.permission.DELETE_PACKAGES", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-deletePackageAsUser-(Ljava/lang/String; Landroid/content/pm/IPackageDeleteObserver; I I)V": [ "android.permission.DELETE_PACKAGES", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-extendVerificationTimeout-(I I J)V": [ "android.permission.PACKAGE_VERIFICATION_AGENT" ], "Lcom/android/server/pm/PackageManagerService;-freeStorage-(J Landroid/content/IntentSender;)V": [ "android.permission.CLEAR_APP_CACHE" ], "Lcom/android/server/pm/PackageManagerService;-freeStorageAndNotify-(J Landroid/content/pm/IPackageDataObserver;)V": [ "android.permission.CLEAR_APP_CACHE" ], "Lcom/android/server/pm/PackageManagerService;-getActivityInfo-(Landroid/content/ComponentName; I I)Landroid/content/pm/ActivityInfo;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getApplicationEnabledSetting-(Ljava/lang/String; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getApplicationHiddenSettingAsUser-(Ljava/lang/String; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_USERS" ], "Lcom/android/server/pm/PackageManagerService;-getApplicationInfo-(Ljava/lang/String; I I)Landroid/content/pm/ApplicationInfo;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getComponentEnabledSetting-(Landroid/content/ComponentName; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getHomeActivities-(Ljava/util/List;)Landroid/content/ComponentName;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getInstalledPackages-(I I)Landroid/content/pm/ParceledListSlice;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getLastChosenActivity-(Landroid/content/Intent; Ljava/lang/String; I)Landroid/content/pm/ResolveInfo;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getPackageInfo-(Ljava/lang/String; I I)Landroid/content/pm/PackageInfo;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getPackageSizeInfo-(Ljava/lang/String; I Landroid/content/pm/IPackageStatsObserver;)V": [ "android.permission.GET_PACKAGE_SIZE" ], "Lcom/android/server/pm/PackageManagerService;-getPackageUid-(Ljava/lang/String; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getProviderInfo-(Landroid/content/ComponentName; I I)Landroid/content/pm/ProviderInfo;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getReceiverInfo-(Landroid/content/ComponentName; I I)Landroid/content/pm/ActivityInfo;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getServiceInfo-(Landroid/content/ComponentName; I I)Landroid/content/pm/ServiceInfo;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getVerifierDeviceIdentity-()Landroid/content/pm/VerifierDeviceIdentity;": [ "android.permission.PACKAGE_VERIFICATION_AGENT" ], "Lcom/android/server/pm/PackageManagerService;-grantPermission-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.GRANT_REVOKE_PERMISSIONS" ], "Lcom/android/server/pm/PackageManagerService;-installExistingPackageAsUser-(Ljava/lang/String; I)I": [ "android.permission.INSTALL_PACKAGES", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-installPackage-(Ljava/lang/String; Landroid/content/pm/IPackageInstallObserver2; I Ljava/lang/String; Landroid/content/pm/VerificationParams; Ljava/lang/String;)V": [ "android.permission.INSTALL_PACKAGES", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-installPackageAsUser-(Ljava/lang/String; Landroid/content/pm/IPackageInstallObserver2; I Ljava/lang/String; Landroid/content/pm/VerificationParams; Ljava/lang/String; I)V": [ "android.permission.INSTALL_PACKAGES", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-isPackageAvailable-(Ljava/lang/String; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-movePackage-(Ljava/lang/String; Landroid/content/pm/IPackageMoveObserver; I)V": [ "android.permission.MOVE_PACKAGE" ], "Lcom/android/server/pm/PackageManagerService;-queryIntentActivities-(Landroid/content/Intent; Ljava/lang/String; I I)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-queryIntentActivityOptions-(Landroid/content/ComponentName; [Landroid/content/Intent; [Ljava/lang/String; Landroid/content/Intent; Ljava/lang/String; I I)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-queryIntentContentProviders-(Landroid/content/Intent; Ljava/lang/String; I I)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-queryIntentReceivers-(Landroid/content/Intent; Ljava/lang/String; I I)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-queryIntentServices-(Landroid/content/Intent; Ljava/lang/String; I I)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-replacePreferredActivity-(Landroid/content/IntentFilter; I [Landroid/content/ComponentName; Landroid/content/ComponentName; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.SET_PREFERRED_APPLICATIONS" ], "Lcom/android/server/pm/PackageManagerService;-resetPreferredActivities-(I)V": [ "android.permission.SET_PREFERRED_APPLICATIONS" ], "Lcom/android/server/pm/PackageManagerService;-resolveIntent-(Landroid/content/Intent; Ljava/lang/String; I I)Landroid/content/pm/ResolveInfo;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-resolveService-(Landroid/content/Intent; Ljava/lang/String; I I)Landroid/content/pm/ResolveInfo;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-revokePermission-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.GRANT_REVOKE_PERMISSIONS" ], "Lcom/android/server/pm/PackageManagerService;-setApplicationEnabledSetting-(Ljava/lang/String; I I I Ljava/lang/String;)V": [ "android.permission.CHANGE_COMPONENT_ENABLED_STATE", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-setApplicationHiddenSettingAsUser-(Ljava/lang/String; Z I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_USERS" ], "Lcom/android/server/pm/PackageManagerService;-setBlockUninstallForUser-(Ljava/lang/String; Z I)Z": [ "android.permission.DELETE_PACKAGES" ], "Lcom/android/server/pm/PackageManagerService;-setComponentEnabledSetting-(Landroid/content/ComponentName; I I I)V": [ "android.permission.CHANGE_COMPONENT_ENABLED_STATE", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-setInstallLocation-(I)Z": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/pm/PackageManagerService;-setLastChosenActivity-(Landroid/content/Intent; Ljava/lang/String; I Landroid/content/IntentFilter; I Landroid/content/ComponentName;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.SET_PREFERRED_APPLICATIONS" ], "Lcom/android/server/pm/PackageManagerService;-setPackageStoppedState-(Ljava/lang/String; Z I)V": [ "android.permission.CHANGE_COMPONENT_ENABLED_STATE", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-setPermissionEnforced-(Ljava/lang/String; Z)V": [ "android.permission.GRANT_REVOKE_PERMISSIONS" ], "Lcom/android/server/pm/PackageManagerService;-verifyPendingInstall-(I I)V": [ "android.permission.PACKAGE_VERIFICATION_AGENT" ], "Lcom/android/server/power/PowerManagerService$BinderService;-acquireWakeLock-(Landroid/os/IBinder; I Ljava/lang/String; Ljava/lang/String; Landroid/os/WorkSource; Ljava/lang/String;)V": [ "android.permission.WAKE_LOCK" ], "Lcom/android/server/power/PowerManagerService$BinderService;-acquireWakeLockWithUid-(Landroid/os/IBinder; I Ljava/lang/String; Ljava/lang/String; I)V": [ "android.permission.WAKE_LOCK" ], "Lcom/android/server/power/PowerManagerService$BinderService;-crash-(Ljava/lang/String;)V": [ "android.permission.REBOOT" ], "Lcom/android/server/power/PowerManagerService$BinderService;-goToSleep-(J I I)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/power/PowerManagerService$BinderService;-nap-(J)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/power/PowerManagerService$BinderService;-powerHint-(I I)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/power/PowerManagerService$BinderService;-reboot-(Z Ljava/lang/String; Z)V": [ "android.permission.REBOOT", "android.permission.RECOVERY" ], "Lcom/android/server/power/PowerManagerService$BinderService;-releaseWakeLock-(Landroid/os/IBinder; I)V": [ "android.permission.WAKE_LOCK" ], "Lcom/android/server/power/PowerManagerService$BinderService;-setAttentionLight-(Z I)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/power/PowerManagerService$BinderService;-setPowerSaveMode-(Z)Z": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/power/PowerManagerService$BinderService;-setStayOnSetting-(I)V": [ "android.permission.WRITE_SETTINGS" ], "Lcom/android/server/power/PowerManagerService$BinderService;-setTemporaryScreenAutoBrightnessAdjustmentSettingOverride-(F)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/power/PowerManagerService$BinderService;-setTemporaryScreenBrightnessSettingOverride-(I)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/power/PowerManagerService$BinderService;-shutdown-(Z Z)V": [ "android.permission.REBOOT" ], "Lcom/android/server/power/PowerManagerService$BinderService;-updateWakeLockUids-(Landroid/os/IBinder; [I)V": [ "android.permission.UPDATE_DEVICE_STATS", "android.permission.WAKE_LOCK" ], "Lcom/android/server/power/PowerManagerService$BinderService;-updateWakeLockWorkSource-(Landroid/os/IBinder; Landroid/os/WorkSource; Ljava/lang/String;)V": [ "android.permission.UPDATE_DEVICE_STATS", "android.permission.WAKE_LOCK" ], "Lcom/android/server/power/PowerManagerService$BinderService;-userActivity-(J I I)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/power/PowerManagerService$BinderService;-wakeUp-(J)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/print/PrintManagerService$PrintManagerImpl;-addPrintJobStateChangeListener-(Landroid/print/IPrintJobStateChangeListener; I I)V": [ "com.android.printspooler.permission.ACCESS_ALL_PRINT_JOBS" ], "Lcom/android/server/print/PrintManagerService$PrintManagerImpl;-cancelPrintJob-(Landroid/print/PrintJobId; I I)V": [ "com.android.printspooler.permission.ACCESS_ALL_PRINT_JOBS" ], "Lcom/android/server/print/PrintManagerService$PrintManagerImpl;-getPrintJobInfo-(Landroid/print/PrintJobId; I I)Landroid/print/PrintJobInfo;": [ "com.android.printspooler.permission.ACCESS_ALL_PRINT_JOBS" ], "Lcom/android/server/print/PrintManagerService$PrintManagerImpl;-getPrintJobInfos-(I I)Ljava/util/List;": [ "com.android.printspooler.permission.ACCESS_ALL_PRINT_JOBS" ], "Lcom/android/server/print/PrintManagerService$PrintManagerImpl;-print-(Ljava/lang/String; Landroid/print/IPrintDocumentAdapter; Landroid/print/PrintAttributes; Ljava/lang/String; I I)Landroid/os/Bundle;": [ "com.android.printspooler.permission.ACCESS_ALL_PRINT_JOBS" ], "Lcom/android/server/print/PrintManagerService$PrintManagerImpl;-restartPrintJob-(Landroid/print/PrintJobId; I I)V": [ "com.android.printspooler.permission.ACCESS_ALL_PRINT_JOBS" ], "Lcom/android/server/sip/SipService;-close-(Ljava/lang/String;)V": [ "android.permission.USE_SIP" ], "Lcom/android/server/sip/SipService;-createSession-(Landroid/net/sip/SipProfile; Landroid/net/sip/ISipSessionListener;)Landroid/net/sip/ISipSession;": [ "android.permission.USE_SIP" ], "Lcom/android/server/sip/SipService;-getListOfProfiles-()[Landroid/net/sip/SipProfile;": [ "android.permission.USE_SIP" ], "Lcom/android/server/sip/SipService;-getPendingSession-(Ljava/lang/String;)Landroid/net/sip/ISipSession;": [ "android.permission.USE_SIP" ], "Lcom/android/server/sip/SipService;-isOpened-(Ljava/lang/String;)Z": [ "android.permission.USE_SIP" ], "Lcom/android/server/sip/SipService;-isRegistered-(Ljava/lang/String;)Z": [ "android.permission.USE_SIP" ], "Lcom/android/server/sip/SipService;-open-(Landroid/net/sip/SipProfile;)V": [ "android.permission.USE_SIP" ], "Lcom/android/server/sip/SipService;-open3-(Landroid/net/sip/SipProfile; Landroid/app/PendingIntent; Landroid/net/sip/ISipSessionListener;)V": [ "android.permission.USE_SIP" ], "Lcom/android/server/sip/SipService;-setRegistrationListener-(Ljava/lang/String; Landroid/net/sip/ISipSessionListener;)V": [ "android.permission.USE_SIP" ], "Lcom/android/server/statusbar/StatusBarManagerService;-collapsePanels-()V": [ "android.permission.EXPAND_STATUS_BAR" ], "Lcom/android/server/statusbar/StatusBarManagerService;-disable-(I Landroid/os/IBinder; Ljava/lang/String;)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/statusbar/StatusBarManagerService;-expandNotificationsPanel-()V": [ "android.permission.EXPAND_STATUS_BAR" ], "Lcom/android/server/statusbar/StatusBarManagerService;-expandSettingsPanel-()V": [ "android.permission.EXPAND_STATUS_BAR" ], "Lcom/android/server/statusbar/StatusBarManagerService;-onClearAllNotifications-(I)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/statusbar/StatusBarManagerService;-onNotificationClear-(Ljava/lang/String; Ljava/lang/String; I I)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/statusbar/StatusBarManagerService;-onNotificationClick-(Ljava/lang/String;)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/statusbar/StatusBarManagerService;-onNotificationError-(Ljava/lang/String; Ljava/lang/String; I I I Ljava/lang/String; I)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/statusbar/StatusBarManagerService;-onNotificationExpansionChanged-(Ljava/lang/String; Z Z)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/statusbar/StatusBarManagerService;-onNotificationVisibilityChanged-([Ljava/lang/String; [Ljava/lang/String;)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/statusbar/StatusBarManagerService;-onPanelHidden-()V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/statusbar/StatusBarManagerService;-onPanelRevealed-()V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/statusbar/StatusBarManagerService;-registerStatusBar-(Lcom/android/internal/statusbar/IStatusBar; Lcom/android/internal/statusbar/StatusBarIconList; [I Ljava/util/List;)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/statusbar/StatusBarManagerService;-removeIcon-(Ljava/lang/String;)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/statusbar/StatusBarManagerService;-setIcon-(Ljava/lang/String; Ljava/lang/String; I I Ljava/lang/String;)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/statusbar/StatusBarManagerService;-setIconVisibility-(Ljava/lang/String; Z)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/statusbar/StatusBarManagerService;-setImeWindowStatus-(Landroid/os/IBinder; I I Z)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/statusbar/StatusBarManagerService;-setSystemUiVisibility-(I I)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/statusbar/StatusBarManagerService;-topAppWindowChanged-(Z)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/telecom/TelecomServiceImpl;-acceptRingingCall-()V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/telecom/TelecomServiceImpl;-cancelMissedCallsNotification-()V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/telecom/TelecomServiceImpl;-clearAccounts-(Ljava/lang/String;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/telecom/TelecomServiceImpl;-endCall-()Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/telecom/TelecomServiceImpl;-getCurrentTtyMode-()I": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/server/telecom/TelecomServiceImpl;-handlePinMmi-(Ljava/lang/String;)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/telecom/TelecomServiceImpl;-isInCall-()Z": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/server/telecom/TelecomServiceImpl;-isRinging-()Z": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/server/telecom/TelecomServiceImpl;-isTtySupported-()Z": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/server/telecom/TelecomServiceImpl;-registerPhoneAccount-(Landroid/telecom/PhoneAccount;)V": [ "android.permission.MODIFY_PHONE_STATE", "com.android.server.telecom.permission.REGISTER_PROVIDER_OR_SUBSCRIPTION" ], "Lcom/android/server/telecom/TelecomServiceImpl;-setSimCallManager-(Landroid/telecom/PhoneAccountHandle;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/telecom/TelecomServiceImpl;-setUserSelectedOutgoingPhoneAccount-(Landroid/telecom/PhoneAccountHandle;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/telecom/TelecomServiceImpl;-showInCallScreen-(Z)V": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/server/telecom/TelecomServiceImpl;-silenceRinger-()V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/telecom/TelecomServiceImpl;-unregisterPhoneAccount-(Landroid/telecom/PhoneAccountHandle;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/tv/TvInputManagerService$BinderService;-acquireTvInputHardware-(I Landroid/media/tv/ITvInputHardwareCallback; Landroid/media/tv/TvInputInfo; I)Landroid/media/tv/ITvInputHardware;": [ "android.permission.TV_INPUT_HARDWARE" ], "Lcom/android/server/tv/TvInputManagerService$BinderService;-addBlockedRating-(Ljava/lang/String; I)V": [ "android.permission.MODIFY_PARENTAL_CONTROLS" ], "Lcom/android/server/tv/TvInputManagerService$BinderService;-captureFrame-(Ljava/lang/String; Landroid/view/Surface; Landroid/media/tv/TvStreamConfig; I)Z": [ "android.permission.CAPTURE_TV_INPUT" ], "Lcom/android/server/tv/TvInputManagerService$BinderService;-getAvailableTvStreamConfigList-(Ljava/lang/String; I)Ljava/util/List;": [ "android.permission.CAPTURE_TV_INPUT" ], "Lcom/android/server/tv/TvInputManagerService$BinderService;-getHardwareList-()Ljava/util/List;": [ "android.permission.TV_INPUT_HARDWARE" ], "Lcom/android/server/tv/TvInputManagerService$BinderService;-releaseTvInputHardware-(I Landroid/media/tv/ITvInputHardware; I)V": [ "android.permission.TV_INPUT_HARDWARE" ], "Lcom/android/server/tv/TvInputManagerService$BinderService;-removeBlockedRating-(Ljava/lang/String; I)V": [ "android.permission.MODIFY_PARENTAL_CONTROLS" ], "Lcom/android/server/tv/TvInputManagerService$BinderService;-setParentalControlsEnabled-(Z I)V": [ "android.permission.MODIFY_PARENTAL_CONTROLS" ], "Lcom/android/server/tv/TvInputManagerService$ServiceCallback;-addHardwareTvInput-(I Landroid/media/tv/TvInputInfo;)V": [ "android.permission.TV_INPUT_HARDWARE" ], "Lcom/android/server/tv/TvInputManagerService$ServiceCallback;-addHdmiTvInput-(I Landroid/media/tv/TvInputInfo;)V": [ "android.permission.TV_INPUT_HARDWARE" ], "Lcom/android/server/tv/TvInputManagerService$ServiceCallback;-removeTvInput-(Ljava/lang/String;)V": [ "android.permission.TV_INPUT_HARDWARE" ], "Lcom/android/server/usage/UsageStatsService$BinderService;-queryConfigurationStats-(I J J Ljava/lang/String;)Landroid/content/pm/ParceledListSlice;": [ "android.permission.PACKAGE_USAGE_STATS" ], "Lcom/android/server/usage/UsageStatsService$BinderService;-queryEvents-(J J Ljava/lang/String;)Landroid/app/usage/UsageEvents;": [ "android.permission.PACKAGE_USAGE_STATS" ], "Lcom/android/server/usage/UsageStatsService$BinderService;-queryUsageStats-(I J J Ljava/lang/String;)Landroid/content/pm/ParceledListSlice;": [ "android.permission.PACKAGE_USAGE_STATS" ], "Lcom/android/server/usb/UsbService;-allowUsbDebugging-(Z Ljava/lang/String;)V": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-clearDefaults-(Ljava/lang/String; I)V": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-clearUsbDebuggingKeys-()V": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-denyUsbDebugging-()V": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-grantAccessoryPermission-(Landroid/hardware/usb/UsbAccessory; I)V": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-grantDevicePermission-(Landroid/hardware/usb/UsbDevice; I)V": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-hasDefaults-(Ljava/lang/String; I)Z": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-setAccessoryPackage-(Landroid/hardware/usb/UsbAccessory; Ljava/lang/String; I)V": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-setCurrentFunction-(Ljava/lang/String; Z)V": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-setDevicePackage-(Landroid/hardware/usb/UsbDevice; Ljava/lang/String; I)V": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-setMassStorageBackingFile-(Ljava/lang/String;)V": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;-deleteKeyphraseSoundModel-(I Ljava/lang/String;)I": [ "android.permission.MANAGE_VOICE_KEYPHRASES" ], "Lcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;-getKeyphraseSoundModel-(I Ljava/lang/String;)Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseSoundModel;": [ "android.permission.MANAGE_VOICE_KEYPHRASES" ], "Lcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;-updateKeyphraseSoundModel-(Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseSoundModel;)I": [ "android.permission.MANAGE_VOICE_KEYPHRASES" ], "Lcom/android/server/wallpaper/WallpaperManagerService;-setDimensionHints-(I I)V": [ "android.permission.SET_WALLPAPER_HINTS" ], "Lcom/android/server/wallpaper/WallpaperManagerService;-setDisplayPadding-(Landroid/graphics/Rect;)V": [ "android.permission.SET_WALLPAPER_HINTS" ], "Lcom/android/server/wallpaper/WallpaperManagerService;-setWallpaper-(Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;": [ "android.permission.SET_WALLPAPER" ], "Lcom/android/server/wallpaper/WallpaperManagerService;-setWallpaperComponent-(Landroid/content/ComponentName;)V": [ "android.permission.SET_WALLPAPER_COMPONENT" ], "Lcom/android/server/wifi/WifiServiceImpl;-acquireMulticastLock-(Landroid/os/IBinder; Ljava/lang/String;)V": [ "android.permission.CHANGE_WIFI_MULTICAST_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-acquireWifiLock-(Landroid/os/IBinder; I Ljava/lang/String; Landroid/os/WorkSource;)Z": [ "android.permission.WAKE_LOCK" ], "Lcom/android/server/wifi/WifiServiceImpl;-addOrUpdateNetwork-(Landroid/net/wifi/WifiConfiguration;)I": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-addToBlacklist-(Ljava/lang/String;)V": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-clearBlacklist-()V": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-disableNetwork-(I)Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-disconnect-()V": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-enableAggressiveHandover-(I)V": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-enableNetwork-(I Z)Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-enableVerboseLogging-(I)V": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-getAggressiveHandover-()I": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-getAllowScansWithTraffic-()I": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-getBatchedScanResults-(Ljava/lang/String;)Ljava/util/List;": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-getChannelList-()Ljava/util/List;": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-getConfigFile-()Ljava/lang/String;": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-getConfiguredNetworks-()Ljava/util/List;": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-getConnectionInfo-()Landroid/net/wifi/WifiInfo;": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-getConnectionStatistics-()Landroid/net/wifi/WifiConnectionStatistics;": [ "android.permission.ACCESS_WIFI_STATE", "android.permission.READ_WIFI_CREDENTIAL" ], "Lcom/android/server/wifi/WifiServiceImpl;-getDhcpInfo-()Landroid/net/DhcpInfo;": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-getFrequencyBand-()I": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-getPrivilegedConfiguredNetworks-()Ljava/util/List;": [ "android.permission.ACCESS_WIFI_STATE", "android.permission.READ_WIFI_CREDENTIAL" ], "Lcom/android/server/wifi/WifiServiceImpl;-getScanResults-(Ljava/lang/String;)Ljava/util/List;": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-getSupportedFeatures-()I": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-getVerboseLoggingLevel-()I": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-getWifiApConfiguration-()Landroid/net/wifi/WifiConfiguration;": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-getWifiApEnabledState-()I": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-getWifiEnabledState-()I": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-getWifiServiceMessenger-()Landroid/os/Messenger;": [ "android.permission.ACCESS_WIFI_STATE", "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-getWpsNfcConfigurationToken-(I)Ljava/lang/String;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/wifi/WifiServiceImpl;-initializeMulticastFiltering-()V": [ "android.permission.CHANGE_WIFI_MULTICAST_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-isMulticastEnabled-()Z": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-isScanAlwaysAvailable-()Z": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-pingSupplicant-()Z": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-pollBatchedScan-()V": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-reassociate-()V": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-reconnect-()V": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-releaseMulticastLock-()V": [ "android.permission.CHANGE_WIFI_MULTICAST_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-releaseWifiLock-(Landroid/os/IBinder;)Z": [ "android.permission.WAKE_LOCK" ], "Lcom/android/server/wifi/WifiServiceImpl;-removeNetwork-(I)Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-reportActivityInfo-()Landroid/net/wifi/WifiActivityEnergyInfo;": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-requestBatchedScan-(Landroid/net/wifi/BatchedScanSettings; Landroid/os/IBinder; Landroid/os/WorkSource;)Z": [ "android.permission.CHANGE_WIFI_STATE", "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/wifi/WifiServiceImpl;-saveConfiguration-()Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-setAllowScansWithTraffic-(I)V": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-setCountryCode-(Ljava/lang/String; Z)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/wifi/WifiServiceImpl;-setFrequencyBand-(I Z)V": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-setWifiApConfiguration-(Landroid/net/wifi/WifiConfiguration;)V": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-setWifiApEnabled-(Landroid/net/wifi/WifiConfiguration; Z)V": [ "android.permission.CHANGE_NETWORK_STATE", "android.permission.CHANGE_WIFI_STATE", "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/wifi/WifiServiceImpl;-setWifiEnabled-(Z)Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-startScan-(Landroid/net/wifi/ScanSettings; Landroid/os/WorkSource;)V": [ "android.permission.CHANGE_WIFI_STATE", "android.permission.LOCATION_HARDWARE", "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/wifi/WifiServiceImpl;-startWifi-()V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/wifi/WifiServiceImpl;-stopBatchedScan-(Landroid/net/wifi/BatchedScanSettings;)V": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-stopWifi-()V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/wifi/WifiServiceImpl;-updateWifiLockWorkSource-(Landroid/os/IBinder; Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/wifi/p2p/WifiP2pServiceImpl;-getMessenger-()Landroid/os/Messenger;": [ "android.permission.ACCESS_WIFI_STATE", "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/p2p/WifiP2pServiceImpl;-getP2pStateMachineMessenger-()Landroid/os/Messenger;": [ "android.permission.ACCESS_WIFI_STATE", "android.permission.CHANGE_WIFI_STATE", "android.permission.CONNECTIVITY_INTERNAL", "android.permission.LOCATION_HARDWARE" ], "Lcom/android/server/wifi/p2p/WifiP2pServiceImpl;-setMiracastMode-(I)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/wm/WindowManagerService;-addAppToken-(I Landroid/view/IApplicationToken; I I I Z Z I I Z Z)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-addWindowToken-(Landroid/os/IBinder; I)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-clearForcedDisplayDensity-(I)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/wm/WindowManagerService;-clearForcedDisplaySize-(I)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/wm/WindowManagerService;-clearWindowContentFrameStats-(Landroid/os/IBinder;)Z": [ "android.permission.FRAME_STATS" ], "Lcom/android/server/wm/WindowManagerService;-disableKeyguard-(Landroid/os/IBinder; Ljava/lang/String;)V": [ "android.permission.DISABLE_KEYGUARD" ], "Lcom/android/server/wm/WindowManagerService;-dismissKeyguard-()V": [ "android.permission.DISABLE_KEYGUARD" ], "Lcom/android/server/wm/WindowManagerService;-executeAppTransition-()V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-exitKeyguardSecurely-(Landroid/view/IOnKeyguardExitResult;)V": [ "android.permission.DISABLE_KEYGUARD" ], "Lcom/android/server/wm/WindowManagerService;-freezeRotation-(I)V": [ "android.permission.SET_ORIENTATION" ], "Lcom/android/server/wm/WindowManagerService;-getWindowContentFrameStats-(Landroid/os/IBinder;)Landroid/view/WindowContentFrameStats;": [ "android.permission.FRAME_STATS" ], "Lcom/android/server/wm/WindowManagerService;-isViewServerRunning-()Z": [ "android.permission.DUMP" ], "Lcom/android/server/wm/WindowManagerService;-keyguardGoingAway-(Z Z)V": [ "android.permission.DISABLE_KEYGUARD" ], "Lcom/android/server/wm/WindowManagerService;-pauseKeyDispatching-(Landroid/os/IBinder;)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-prepareAppTransition-(I Z)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-reenableKeyguard-(Landroid/os/IBinder;)V": [ "android.permission.DISABLE_KEYGUARD" ], "Lcom/android/server/wm/WindowManagerService;-removeAppToken-(Landroid/os/IBinder;)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-removeWindowToken-(Landroid/os/IBinder;)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-resumeKeyDispatching-(Landroid/os/IBinder;)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-screenshotApplications-(Landroid/os/IBinder; I I I Z)Landroid/graphics/Bitmap;": [ "android.permission.READ_FRAME_BUFFER" ], "Lcom/android/server/wm/WindowManagerService;-setAnimationScale-(I F)V": [ "android.permission.SET_ANIMATION_SCALE" ], "Lcom/android/server/wm/WindowManagerService;-setAnimationScales-([F)V": [ "android.permission.SET_ANIMATION_SCALE" ], "Lcom/android/server/wm/WindowManagerService;-setAppGroupId-(Landroid/os/IBinder; I)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-setAppOrientation-(Landroid/view/IApplicationToken; I)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-setAppStartingWindow-(Landroid/os/IBinder; Ljava/lang/String; I Landroid/content/res/CompatibilityInfo; Ljava/lang/CharSequence; I I I I Landroid/os/IBinder; Z)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-setAppVisibility-(Landroid/os/IBinder; Z)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-setAppWillBeHidden-(Landroid/os/IBinder;)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-setEventDispatching-(Z)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-setFocusedApp-(Landroid/os/IBinder; Z)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-setForcedDisplayDensity-(I I)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/wm/WindowManagerService;-setForcedDisplaySize-(I I I)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/wm/WindowManagerService;-setNewConfiguration-(Landroid/content/res/Configuration;)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-setOverscan-(I I I I I)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/wm/WindowManagerService;-startAppFreezingScreen-(Landroid/os/IBinder; I)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-startFreezingScreen-(I I)V": [ "android.permission.FREEZE_SCREEN" ], "Lcom/android/server/wm/WindowManagerService;-startViewServer-(I)Z": [ "android.permission.DUMP" ], "Lcom/android/server/wm/WindowManagerService;-statusBarVisibilityChanged-(I)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/wm/WindowManagerService;-stopAppFreezingScreen-(Landroid/os/IBinder; Z)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-stopFreezingScreen-()V": [ "android.permission.FREEZE_SCREEN" ], "Lcom/android/server/wm/WindowManagerService;-stopViewServer-()Z": [ "android.permission.DUMP" ], "Lcom/android/server/wm/WindowManagerService;-thawRotation-()V": [ "android.permission.SET_ORIENTATION" ], "Lcom/android/server/wm/WindowManagerService;-updateOrientationFromAppTokens-(Landroid/content/res/Configuration; Landroid/os/IBinder;)Landroid/content/res/Configuration;": [ "android.permission.MANAGE_APP_TOKENS" ], "Landroid/accounts/AccountAuthenticatorActivity;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/accounts/AccountAuthenticatorActivity;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/accounts/AccountAuthenticatorActivity;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/accounts/AccountAuthenticatorActivity;-sendStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/accounts/AccountAuthenticatorActivity;-sendStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/accounts/AccountAuthenticatorActivity;-sendStickyOrderedBroadcast-(Landroid/content/Intent; Landroid/content/BroadcastReceiver; Landroid/os/Handler; I Ljava/lang/String; Landroid/os/Bundle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/accounts/AccountAuthenticatorActivity;-sendStickyOrderedBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle; Landroid/content/BroadcastReceiver; Landroid/os/Handler; I Ljava/lang/String; Landroid/os/Bundle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/accounts/AccountAuthenticatorActivity;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/accounts/AccountAuthenticatorActivity;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/accounts/AccountManager;-addAccountExplicitly-(Landroid/accounts/Account; Ljava/lang/String; Landroid/os/Bundle;)Z": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Landroid/accounts/AccountManager;-addOnAccountsUpdatedListener-(Landroid/accounts/OnAccountsUpdateListener; Landroid/os/Handler; Z)V": [ "android.permission.GET_ACCOUNTS" ], "Landroid/accounts/AccountManager;-clearPassword-(Landroid/accounts/Account;)V": [ "android.permission.MANAGE_ACCOUNTS" ], "Landroid/accounts/AccountManager;-getAccounts-()[Landroid/accounts/Account;": [ "android.permission.GET_ACCOUNTS" ], "Landroid/accounts/AccountManager;-getAccountsByType-(Ljava/lang/String;)[Landroid/accounts/Account;": [ "android.permission.GET_ACCOUNTS" ], "Landroid/accounts/AccountManager;-getPassword-(Landroid/accounts/Account;)Ljava/lang/String;": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Landroid/accounts/AccountManager;-getUserData-(Landroid/accounts/Account; Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Landroid/accounts/AccountManager;-invalidateAuthToken-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.MANAGE_ACCOUNTS", "android.permission.USE_CREDENTIALS" ], "Landroid/accounts/AccountManager;-peekAuthToken-(Landroid/accounts/Account; Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Landroid/accounts/AccountManager;-setAuthToken-(Landroid/accounts/Account; Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Landroid/accounts/AccountManager;-setPassword-(Landroid/accounts/Account; Ljava/lang/String;)V": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Landroid/accounts/AccountManager;-setUserData-(Landroid/accounts/Account; Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Landroid/app/Activity;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/Activity;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/Activity;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/Activity;-sendStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/Activity;-sendStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/Activity;-sendStickyOrderedBroadcast-(Landroid/content/Intent; Landroid/content/BroadcastReceiver; Landroid/os/Handler; I Ljava/lang/String; Landroid/os/Bundle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/Activity;-sendStickyOrderedBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle; Landroid/content/BroadcastReceiver; Landroid/os/Handler; I Ljava/lang/String; Landroid/os/Bundle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/Activity;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/Activity;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/ActivityGroup;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/ActivityGroup;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ActivityGroup;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ActivityGroup;-sendStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ActivityGroup;-sendStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ActivityGroup;-sendStickyOrderedBroadcast-(Landroid/content/Intent; Landroid/content/BroadcastReceiver; Landroid/os/Handler; I Ljava/lang/String; Landroid/os/Bundle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ActivityGroup;-sendStickyOrderedBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle; Landroid/content/BroadcastReceiver; Landroid/os/Handler; I Ljava/lang/String; Landroid/os/Bundle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ActivityGroup;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/ActivityGroup;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/ActivityManager;-getRecentTasks-(I I)Ljava/util/List;": [ "android.permission.GET_TASKS" ], "Landroid/app/ActivityManager;-getRunningTasks-(I)Ljava/util/List;": [ "android.permission.GET_TASKS" ], "Landroid/app/ActivityManager;-killBackgroundProcesses-(Ljava/lang/String;)V": [ "android.permission.KILL_BACKGROUND_PROCESSES" ], "Landroid/app/ActivityManager;-moveTaskToFront-(I I)V": [ "android.permission.REORDER_TASKS" ], "Landroid/app/ActivityManager;-moveTaskToFront-(I I Landroid/os/Bundle;)V": [ "android.permission.REORDER_TASKS" ], "Landroid/app/ActivityManager;-restartPackage-(Ljava/lang/String;)V": [ "android.permission.KILL_BACKGROUND_PROCESSES" ], "Landroid/app/AliasActivity;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/AliasActivity;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/AliasActivity;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/AliasActivity;-sendStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/AliasActivity;-sendStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/AliasActivity;-sendStickyOrderedBroadcast-(Landroid/content/Intent; Landroid/content/BroadcastReceiver; Landroid/os/Handler; I Ljava/lang/String; Landroid/os/Bundle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/AliasActivity;-sendStickyOrderedBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle; Landroid/content/BroadcastReceiver; Landroid/os/Handler; I Ljava/lang/String; Landroid/os/Bundle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/AliasActivity;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/AliasActivity;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/Application;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/Application;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/Application;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/Application;-sendStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/Application;-sendStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/Application;-sendStickyOrderedBroadcast-(Landroid/content/Intent; Landroid/content/BroadcastReceiver; Landroid/os/Handler; I Ljava/lang/String; Landroid/os/Bundle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/Application;-sendStickyOrderedBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle; Landroid/content/BroadcastReceiver; Landroid/os/Handler; I Ljava/lang/String; Landroid/os/Bundle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/Application;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/Application;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/ExpandableListActivity;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/ExpandableListActivity;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ExpandableListActivity;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ExpandableListActivity;-sendStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ExpandableListActivity;-sendStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ExpandableListActivity;-sendStickyOrderedBroadcast-(Landroid/content/Intent; Landroid/content/BroadcastReceiver; Landroid/os/Handler; I Ljava/lang/String; Landroid/os/Bundle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ExpandableListActivity;-sendStickyOrderedBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle; Landroid/content/BroadcastReceiver; Landroid/os/Handler; I Ljava/lang/String; Landroid/os/Bundle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ExpandableListActivity;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/ExpandableListActivity;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/KeyguardManager$KeyguardLock;-disableKeyguard-()V": [ "android.permission.DISABLE_KEYGUARD" ], "Landroid/app/KeyguardManager$KeyguardLock;-reenableKeyguard-()V": [ "android.permission.DISABLE_KEYGUARD" ], "Landroid/app/KeyguardManager;-exitKeyguardSecurely-(Landroid/app/KeyguardManager$OnKeyguardExitResult;)V": [ "android.permission.DISABLE_KEYGUARD" ], "Landroid/app/ListActivity;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/ListActivity;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ListActivity;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ListActivity;-sendStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ListActivity;-sendStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ListActivity;-sendStickyOrderedBroadcast-(Landroid/content/Intent; Landroid/content/BroadcastReceiver; Landroid/os/Handler; I Ljava/lang/String; Landroid/os/Bundle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ListActivity;-sendStickyOrderedBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle; Landroid/content/BroadcastReceiver; Landroid/os/Handler; I Ljava/lang/String; Landroid/os/Bundle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ListActivity;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/ListActivity;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/NativeActivity;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/NativeActivity;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/NativeActivity;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/NativeActivity;-sendStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/NativeActivity;-sendStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/NativeActivity;-sendStickyOrderedBroadcast-(Landroid/content/Intent; Landroid/content/BroadcastReceiver; Landroid/os/Handler; I Ljava/lang/String; Landroid/os/Bundle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/NativeActivity;-sendStickyOrderedBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle; Landroid/content/BroadcastReceiver; Landroid/os/Handler; I Ljava/lang/String; Landroid/os/Bundle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/NativeActivity;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/NativeActivity;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/TabActivity;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/TabActivity;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/TabActivity;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/TabActivity;-sendStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/TabActivity;-sendStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/TabActivity;-sendStickyOrderedBroadcast-(Landroid/content/Intent; Landroid/content/BroadcastReceiver; Landroid/os/Handler; I Ljava/lang/String; Landroid/os/Bundle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/TabActivity;-sendStickyOrderedBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle; Landroid/content/BroadcastReceiver; Landroid/os/Handler; I Ljava/lang/String; Landroid/os/Bundle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/TabActivity;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/TabActivity;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/WallpaperManager;-clear-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/WallpaperManager;-setBitmap-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/WallpaperManager;-setResource-(I)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/WallpaperManager;-setStream-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/WallpaperManager;-suggestDesiredDimensions-(I I)V": [ "android.permission.SET_WALLPAPER_HINTS" ], "Landroid/app/backup/BackupAgentHelper;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/backup/BackupAgentHelper;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/backup/BackupAgentHelper;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/backup/BackupAgentHelper;-sendStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/backup/BackupAgentHelper;-sendStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/backup/BackupAgentHelper;-sendStickyOrderedBroadcast-(Landroid/content/Intent; Landroid/content/BroadcastReceiver; Landroid/os/Handler; I Ljava/lang/String; Landroid/os/Bundle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/backup/BackupAgentHelper;-sendStickyOrderedBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle; Landroid/content/BroadcastReceiver; Landroid/os/Handler; I Ljava/lang/String; Landroid/os/Bundle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/backup/BackupAgentHelper;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/backup/BackupAgentHelper;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/bluetooth/BluetoothA2dp;-getConnectedDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothA2dp;-getConnectionState-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothA2dp;-getDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothA2dp;-isA2dpPlaying-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-cancelDiscovery-()Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothAdapter;-closeProfileProxy-(I Landroid/bluetooth/BluetoothProfile;)V": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-disable-()Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothAdapter;-enable-()Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothAdapter;-getAddress-()Ljava/lang/String;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-getBluetoothLeAdvertiser-()Landroid/bluetooth/le/BluetoothLeAdvertiser;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-getBluetoothLeScanner-()Landroid/bluetooth/le/BluetoothLeScanner;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-getBondedDevices-()Ljava/util/Set;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-getName-()Ljava/lang/String;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-getProfileConnectionState-(I)I": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-getProfileProxy-(Landroid/content/Context; Landroid/bluetooth/BluetoothProfile$ServiceListener; I)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-getScanMode-()I": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-getState-()I": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-isDiscovering-()Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-isEnabled-()Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-isMultipleAdvertisementSupported-()Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-isOffloadedFilteringSupported-()Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-isOffloadedScanBatchingSupported-()Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-listenUsingInsecureRfcommWithServiceRecord-(Ljava/lang/String; Ljava/util/UUID;)Landroid/bluetooth/BluetoothServerSocket;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-listenUsingRfcommWithServiceRecord-(Ljava/lang/String; Ljava/util/UUID;)Landroid/bluetooth/BluetoothServerSocket;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-setName-(Ljava/lang/String;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothAdapter;-startDiscovery-()Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothAdapter;-startLeScan-([Ljava/util/UUID; Landroid/bluetooth/BluetoothAdapter$LeScanCallback;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-startLeScan-(Landroid/bluetooth/BluetoothAdapter$LeScanCallback;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-stopLeScan-(Landroid/bluetooth/BluetoothAdapter$LeScanCallback;)V": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothDevice;-connectGatt-(Landroid/content/Context; Z Landroid/bluetooth/BluetoothGattCallback;)Landroid/bluetooth/BluetoothGatt;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothDevice;-createBond-()Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothDevice;-createInsecureRfcommSocketToServiceRecord-(Ljava/util/UUID;)Landroid/bluetooth/BluetoothSocket;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothDevice;-createRfcommSocketToServiceRecord-(Ljava/util/UUID;)Landroid/bluetooth/BluetoothSocket;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothDevice;-fetchUuidsWithSdp-()Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothDevice;-getBluetoothClass-()Landroid/bluetooth/BluetoothClass;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothDevice;-getBondState-()I": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothDevice;-getName-()Ljava/lang/String;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothDevice;-getType-()I": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothDevice;-getUuids-()[Landroid/os/ParcelUuid;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothDevice;-setPairingConfirmation-(Z)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothDevice;-setPin-([B)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothGatt;-abortReliableWrite-()V": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-abortReliableWrite-(Landroid/bluetooth/BluetoothDevice;)V": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-beginReliableWrite-()Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-close-()V": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-connect-()Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-disconnect-()V": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-discoverServices-()Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-executeReliableWrite-()Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-readCharacteristic-(Landroid/bluetooth/BluetoothGattCharacteristic;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-readDescriptor-(Landroid/bluetooth/BluetoothGattDescriptor;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-readRemoteRssi-()Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-requestConnectionPriority-(I)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-requestMtu-(I)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-setCharacteristicNotification-(Landroid/bluetooth/BluetoothGattCharacteristic; Z)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-writeCharacteristic-(Landroid/bluetooth/BluetoothGattCharacteristic;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-writeDescriptor-(Landroid/bluetooth/BluetoothGattDescriptor;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGattServer;-addService-(Landroid/bluetooth/BluetoothGattService;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGattServer;-cancelConnection-(Landroid/bluetooth/BluetoothDevice;)V": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGattServer;-clearServices-()V": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGattServer;-close-()V": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGattServer;-connect-(Landroid/bluetooth/BluetoothDevice; Z)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGattServer;-notifyCharacteristicChanged-(Landroid/bluetooth/BluetoothDevice; Landroid/bluetooth/BluetoothGattCharacteristic; Z)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGattServer;-removeService-(Landroid/bluetooth/BluetoothGattService;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGattServer;-sendResponse-(Landroid/bluetooth/BluetoothDevice; I I I [B)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHeadset;-getConnectedDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHeadset;-getConnectionState-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHeadset;-getDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHeadset;-isAudioConnected-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHeadset;-sendVendorSpecificResultCode-(Landroid/bluetooth/BluetoothDevice; Ljava/lang/String; Ljava/lang/String;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothHeadset;-startVoiceRecognition-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothHeadset;-stopVoiceRecognition-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothHealth;-connectChannelToSource-(Landroid/bluetooth/BluetoothDevice; Landroid/bluetooth/BluetoothHealthAppConfiguration;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHealth;-disconnectChannel-(Landroid/bluetooth/BluetoothDevice; Landroid/bluetooth/BluetoothHealthAppConfiguration; I)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHealth;-getConnectedDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHealth;-getConnectionState-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHealth;-getDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHealth;-getMainChannelFd-(Landroid/bluetooth/BluetoothDevice; Landroid/bluetooth/BluetoothHealthAppConfiguration;)Landroid/os/ParcelFileDescriptor;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHealth;-registerSinkAppConfiguration-(Ljava/lang/String; I Landroid/bluetooth/BluetoothHealthCallback;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHealth;-unregisterAppConfiguration-(Landroid/bluetooth/BluetoothHealthAppConfiguration;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothManager;-getConnectedDevices-(I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothManager;-getConnectionState-(Landroid/bluetooth/BluetoothDevice; I)I": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothManager;-getDevicesMatchingConnectionStates-(I [I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothManager;-openGattServer-(Landroid/content/Context; Landroid/bluetooth/BluetoothGattServerCallback;)Landroid/bluetooth/BluetoothGattServer;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothSocket;-connect-()V": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/le/BluetoothLeAdvertiser;-startAdvertising-(Landroid/bluetooth/le/AdvertiseSettings; Landroid/bluetooth/le/AdvertiseData; Landroid/bluetooth/le/AdvertiseCallback;)V": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/le/BluetoothLeAdvertiser;-startAdvertising-(Landroid/bluetooth/le/AdvertiseSettings; Landroid/bluetooth/le/AdvertiseData; Landroid/bluetooth/le/AdvertiseData; Landroid/bluetooth/le/AdvertiseCallback;)V": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/le/BluetoothLeAdvertiser;-stopAdvertising-(Landroid/bluetooth/le/AdvertiseCallback;)V": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/le/BluetoothLeScanner;-flushPendingScanResults-(Landroid/bluetooth/le/ScanCallback;)V": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/le/BluetoothLeScanner;-startScan-(Landroid/bluetooth/le/ScanCallback;)V": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/le/BluetoothLeScanner;-startScan-(Ljava/util/List; Landroid/bluetooth/le/ScanSettings; Landroid/bluetooth/le/ScanCallback;)V": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/le/BluetoothLeScanner;-stopScan-(Landroid/bluetooth/le/ScanCallback;)V": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Landroid/content/ContextWrapper;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/content/ContextWrapper;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/content/ContextWrapper;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/content/ContextWrapper;-sendStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/content/ContextWrapper;-sendStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/content/ContextWrapper;-sendStickyOrderedBroadcast-(Landroid/content/Intent; Landroid/content/BroadcastReceiver; Landroid/os/Handler; I Ljava/lang/String; Landroid/os/Bundle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/content/ContextWrapper;-sendStickyOrderedBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle; Landroid/content/BroadcastReceiver; Landroid/os/Handler; I Ljava/lang/String; Landroid/os/Bundle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/content/ContextWrapper;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/content/ContextWrapper;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/content/MutableContextWrapper;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/content/MutableContextWrapper;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/content/MutableContextWrapper;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/content/MutableContextWrapper;-sendStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/content/MutableContextWrapper;-sendStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/content/MutableContextWrapper;-sendStickyOrderedBroadcast-(Landroid/content/Intent; Landroid/content/BroadcastReceiver; Landroid/os/Handler; I Ljava/lang/String; Landroid/os/Bundle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/content/MutableContextWrapper;-sendStickyOrderedBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle; Landroid/content/BroadcastReceiver; Landroid/os/Handler; I Ljava/lang/String; Landroid/os/Bundle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/content/MutableContextWrapper;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/content/MutableContextWrapper;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/hardware/ConsumerIrManager;-getCarrierFrequencies-()[Landroid/hardware/ConsumerIrManager$CarrierFrequencyRange;": [ "android.permission.TRANSMIT_IR" ], "Landroid/hardware/ConsumerIrManager;-transmit-(I [I)V": [ "android.permission.TRANSMIT_IR" ], "Landroid/inputmethodservice/InputMethodService;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/inputmethodservice/InputMethodService;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/inputmethodservice/InputMethodService;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/inputmethodservice/InputMethodService;-sendStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/inputmethodservice/InputMethodService;-sendStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/inputmethodservice/InputMethodService;-sendStickyOrderedBroadcast-(Landroid/content/Intent; Landroid/content/BroadcastReceiver; Landroid/os/Handler; I Ljava/lang/String; Landroid/os/Bundle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/inputmethodservice/InputMethodService;-sendStickyOrderedBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle; Landroid/content/BroadcastReceiver; Landroid/os/Handler; I Ljava/lang/String; Landroid/os/Bundle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/inputmethodservice/InputMethodService;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/inputmethodservice/InputMethodService;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/location/LocationManager;-addGpsStatusListener-(Landroid/location/GpsStatus$Listener;)Z": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-addNmeaListener-(Landroid/location/GpsStatus$NmeaListener;)Z": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-addProximityAlert-(D D F J Landroid/app/PendingIntent;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-addTestProvider-(Ljava/lang/String; Z Z Z Z Z Z Z I I)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Landroid/location/LocationManager;-clearTestProviderEnabled-(Ljava/lang/String;)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Landroid/location/LocationManager;-clearTestProviderLocation-(Ljava/lang/String;)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Landroid/location/LocationManager;-clearTestProviderStatus-(Ljava/lang/String;)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Landroid/location/LocationManager;-getBestProvider-(Landroid/location/Criteria; Z)Ljava/lang/String;": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-getLastKnownLocation-(Ljava/lang/String;)Landroid/location/Location;": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-getProvider-(Ljava/lang/String;)Landroid/location/LocationProvider;": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-getProviders-(Landroid/location/Criteria; Z)Ljava/util/List;": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-getProviders-(Z)Ljava/util/List;": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-removeProximityAlert-(Landroid/app/PendingIntent;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-removeTestProvider-(Ljava/lang/String;)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Landroid/location/LocationManager;-removeUpdates-(Landroid/app/PendingIntent;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-removeUpdates-(Landroid/location/LocationListener;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-requestLocationUpdates-(Ljava/lang/String; J F Landroid/app/PendingIntent;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-requestLocationUpdates-(Ljava/lang/String; J F Landroid/location/LocationListener;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-requestLocationUpdates-(Ljava/lang/String; J F Landroid/location/LocationListener; Landroid/os/Looper;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-requestLocationUpdates-(J F Landroid/location/Criteria; Landroid/app/PendingIntent;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-requestLocationUpdates-(J F Landroid/location/Criteria; Landroid/location/LocationListener; Landroid/os/Looper;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-requestSingleUpdate-(Landroid/location/Criteria; Landroid/app/PendingIntent;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-requestSingleUpdate-(Landroid/location/Criteria; Landroid/location/LocationListener; Landroid/os/Looper;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-requestSingleUpdate-(Ljava/lang/String; Landroid/app/PendingIntent;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-requestSingleUpdate-(Ljava/lang/String; Landroid/location/LocationListener; Landroid/os/Looper;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-sendExtraCommand-(Ljava/lang/String; Ljava/lang/String; Landroid/os/Bundle;)Z": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION", "android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" ], "Landroid/location/LocationManager;-setTestProviderEnabled-(Ljava/lang/String; Z)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Landroid/location/LocationManager;-setTestProviderLocation-(Ljava/lang/String; Landroid/location/Location;)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Landroid/location/LocationManager;-setTestProviderStatus-(Ljava/lang/String; I Landroid/os/Bundle; J)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Landroid/media/AsyncPlayer;-play-(Landroid/content/Context; Landroid/net/Uri; Z I)V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/AsyncPlayer;-stop-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/AudioManager;-setBluetoothScoOn-(Z)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/media/AudioManager;-setMicrophoneMute-(Z)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/media/AudioManager;-setMode-(I)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/media/AudioManager;-setSpeakerphoneOn-(Z)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/media/AudioManager;-startBluetoothSco-()V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/media/AudioManager;-stopBluetoothSco-()V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/media/MediaPlayer;-pause-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/MediaPlayer;-release-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/MediaPlayer;-reset-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/MediaPlayer;-setWakeMode-(Landroid/content/Context; I)V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/MediaPlayer;-start-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/MediaPlayer;-stop-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/Ringtone;-play-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/Ringtone;-setAudioAttributes-(Landroid/media/AudioAttributes;)V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/Ringtone;-setStreamType-(I)V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/Ringtone;-stop-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/RingtoneManager;-getRingtone-(Landroid/content/Context; Landroid/net/Uri;)Landroid/media/Ringtone;": [ "android.permission.WAKE_LOCK" ], "Landroid/media/RingtoneManager;-getRingtone-(I)Landroid/media/Ringtone;": [ "android.permission.WAKE_LOCK" ], "Landroid/media/RingtoneManager;-stopPreviousRingtone-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/net/ConnectivityManager;-getActiveNetworkInfo-()Landroid/net/NetworkInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-getAllNetworkInfo-()[Landroid/net/NetworkInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-getAllNetworks-()[Landroid/net/Network;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-getLinkProperties-(Landroid/net/Network;)Landroid/net/LinkProperties;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-getNetworkCapabilities-(Landroid/net/Network;)Landroid/net/NetworkCapabilities;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-getNetworkInfo-(Landroid/net/Network;)Landroid/net/NetworkInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-getNetworkInfo-(I)Landroid/net/NetworkInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-isActiveNetworkMetered-()Z": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-registerNetworkCallback-(Landroid/net/NetworkRequest; Landroid/net/ConnectivityManager$NetworkCallback;)V": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.CHANGE_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-reportBadNetwork-(Landroid/net/Network;)V": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.INTERNET" ], "Landroid/net/ConnectivityManager;-requestNetwork-(Landroid/net/NetworkRequest; Landroid/net/ConnectivityManager$NetworkCallback;)V": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.CHANGE_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-requestRouteToHost-(I I)Z": [ "android.permission.CHANGE_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-startUsingNetworkFeature-(I Ljava/lang/String;)I": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.CHANGE_NETWORK_STATE" ], "Landroid/net/VpnService;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/net/VpnService;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/net/VpnService;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/net/VpnService;-sendStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/net/VpnService;-sendStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/net/VpnService;-sendStickyOrderedBroadcast-(Landroid/content/Intent; Landroid/content/BroadcastReceiver; Landroid/os/Handler; I Ljava/lang/String; Landroid/os/Bundle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/net/VpnService;-sendStickyOrderedBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle; Landroid/content/BroadcastReceiver; Landroid/os/Handler; I Ljava/lang/String; Landroid/os/Bundle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/net/VpnService;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/net/VpnService;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/net/sip/SipAudioCall;-close-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/net/sip/SipAudioCall;-endCall-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/net/sip/SipAudioCall;-setSpeakerMode-(Z)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/net/sip/SipAudioCall;-startAudio-()V": [ "android.permission.ACCESS_WIFI_STATE", "android.permission.WAKE_LOCK" ], "Landroid/net/sip/SipManager;-close-(Ljava/lang/String;)V": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-createSipSession-(Landroid/net/sip/SipProfile; Landroid/net/sip/SipSession$Listener;)Landroid/net/sip/SipSession;": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-getSessionFor-(Landroid/content/Intent;)Landroid/net/sip/SipSession;": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-isOpened-(Ljava/lang/String;)Z": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-isRegistered-(Ljava/lang/String;)Z": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-makeAudioCall-(Landroid/net/sip/SipProfile; Landroid/net/sip/SipProfile; Landroid/net/sip/SipAudioCall$Listener; I)Landroid/net/sip/SipAudioCall;": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-makeAudioCall-(Ljava/lang/String; Ljava/lang/String; Landroid/net/sip/SipAudioCall$Listener; I)Landroid/net/sip/SipAudioCall;": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-open-(Landroid/net/sip/SipProfile;)V": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-open-(Landroid/net/sip/SipProfile; Landroid/app/PendingIntent; Landroid/net/sip/SipRegistrationListener;)V": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-register-(Landroid/net/sip/SipProfile; I Landroid/net/sip/SipRegistrationListener;)V": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-setRegistrationListener-(Ljava/lang/String; Landroid/net/sip/SipRegistrationListener;)V": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-takeAudioCall-(Landroid/content/Intent; Landroid/net/sip/SipAudioCall$Listener;)Landroid/net/sip/SipAudioCall;": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-unregister-(Landroid/net/sip/SipProfile; Landroid/net/sip/SipRegistrationListener;)V": [ "android.permission.USE_SIP" ], "Landroid/net/wifi/WifiManager$MulticastLock;-acquire-()V": [ "android.permission.CHANGE_WIFI_MULTICAST_STATE" ], "Landroid/net/wifi/WifiManager$MulticastLock;-release-()V": [ "android.permission.CHANGE_WIFI_MULTICAST_STATE" ], "Landroid/net/wifi/WifiManager$WifiLock;-acquire-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/net/wifi/WifiManager$WifiLock;-release-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/net/wifi/WifiManager;-addNetwork-(Landroid/net/wifi/WifiConfiguration;)I": [ "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-disableNetwork-(I)Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-disconnect-()Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-enableNetwork-(I Z)Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-getConfiguredNetworks-()Ljava/util/List;": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-getConnectionInfo-()Landroid/net/wifi/WifiInfo;": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-getDhcpInfo-()Landroid/net/DhcpInfo;": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-getScanResults-()Ljava/util/List;": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-getWifiState-()I": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-is5GHzBandSupported-()Z": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-isDeviceToApRttSupported-()Z": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-isEnhancedPowerReportingSupported-()Z": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-isP2pSupported-()Z": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-isPreferredNetworkOffloadSupported-()Z": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-isScanAlwaysAvailable-()Z": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-isTdlsSupported-()Z": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-isWifiEnabled-()Z": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-pingSupplicant-()Z": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-reassociate-()Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-reconnect-()Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-removeNetwork-(I)Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-saveConfiguration-()Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-setWifiEnabled-(Z)Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-startScan-()Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-updateNetwork-(Landroid/net/wifi/WifiConfiguration;)I": [ "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/p2p/WifiP2pManager;-initialize-(Landroid/content/Context; Landroid/os/Looper; Landroid/net/wifi/p2p/WifiP2pManager$ChannelListener;)Landroid/net/wifi/p2p/WifiP2pManager$Channel;": [ "android.permission.ACCESS_WIFI_STATE", "android.permission.CHANGE_WIFI_STATE" ], "Landroid/nfc/NfcAdapter;-disableForegroundDispatch-(Landroid/app/Activity;)V": [ "android.permission.NFC" ], "Landroid/nfc/NfcAdapter;-disableForegroundNdefPush-(Landroid/app/Activity;)V": [ "android.permission.NFC" ], "Landroid/nfc/NfcAdapter;-enableForegroundDispatch-(Landroid/app/Activity; Landroid/app/PendingIntent; [Landroid/content/IntentFilter; [L[java/lang/String;)V": [ "android.permission.NFC" ], "Landroid/nfc/NfcAdapter;-enableForegroundNdefPush-(Landroid/app/Activity; Landroid/nfc/NdefMessage;)V": [ "android.permission.NFC" ], "Landroid/nfc/NfcAdapter;-invokeBeam-(Landroid/app/Activity;)Z": [ "android.permission.NFC" ], "Landroid/nfc/NfcAdapter;-setBeamPushUris-([Landroid/net/Uri; Landroid/app/Activity;)V": [ "android.permission.NFC" ], "Landroid/nfc/NfcAdapter;-setBeamPushUrisCallback-(Landroid/nfc/NfcAdapter$CreateBeamUrisCallback; Landroid/app/Activity;)V": [ "android.permission.NFC" ], "Landroid/nfc/NfcAdapter;-setNdefPushMessage-(Landroid/nfc/NdefMessage; Landroid/app/Activity; [Landroid/app/Activity;)V": [ "android.permission.NFC" ], "Landroid/nfc/NfcAdapter;-setNdefPushMessageCallback-(Landroid/nfc/NfcAdapter$CreateNdefMessageCallback; Landroid/app/Activity; [Landroid/app/Activity;)V": [ "android.permission.NFC" ], "Landroid/nfc/NfcAdapter;-setOnNdefPushCompleteCallback-(Landroid/nfc/NfcAdapter$OnNdefPushCompleteCallback; Landroid/app/Activity; [Landroid/app/Activity;)V": [ "android.permission.NFC" ], "Landroid/nfc/cardemulation/CardEmulation;-getAidsForService-(Landroid/content/ComponentName; Ljava/lang/String;)Ljava/util/List;": [ "android.permission.NFC" ], "Landroid/nfc/cardemulation/CardEmulation;-isDefaultServiceForAid-(Landroid/content/ComponentName; Ljava/lang/String;)Z": [ "android.permission.NFC" ], "Landroid/nfc/cardemulation/CardEmulation;-isDefaultServiceForCategory-(Landroid/content/ComponentName; Ljava/lang/String;)Z": [ "android.permission.NFC" ], "Landroid/nfc/cardemulation/CardEmulation;-registerAidsForService-(Landroid/content/ComponentName; Ljava/lang/String; Ljava/util/List;)Z": [ "android.permission.NFC" ], "Landroid/nfc/cardemulation/CardEmulation;-removeAidsForService-(Landroid/content/ComponentName; Ljava/lang/String;)Z": [ "android.permission.NFC" ], "Landroid/nfc/cardemulation/CardEmulation;-setPreferredService-(Landroid/app/Activity; Landroid/content/ComponentName;)Z": [ "android.permission.NFC" ], "Landroid/nfc/cardemulation/CardEmulation;-unsetPreferredService-(Landroid/app/Activity;)Z": [ "android.permission.NFC" ], "Landroid/nfc/tech/BasicTagTechnology;-close-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/BasicTagTechnology;-connect-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/IsoDep;-close-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/IsoDep;-connect-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/IsoDep;-getTimeout-()I": [ "android.permission.NFC" ], "Landroid/nfc/tech/IsoDep;-setTimeout-(I)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/IsoDep;-transceive-([B)[B": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareClassic;-authenticateSectorWithKeyA-(I [B)Z": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareClassic;-authenticateSectorWithKeyB-(I [B)Z": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareClassic;-close-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareClassic;-connect-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareClassic;-decrement-(I I)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareClassic;-getTimeout-()I": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareClassic;-increment-(I I)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareClassic;-readBlock-(I)[B": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareClassic;-restore-(I)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareClassic;-setTimeout-(I)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareClassic;-transceive-([B)[B": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareClassic;-transfer-(I)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareClassic;-writeBlock-(I [B)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareUltralight;-close-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareUltralight;-connect-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareUltralight;-getTimeout-()I": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareUltralight;-readPages-(I)[B": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareUltralight;-setTimeout-(I)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareUltralight;-transceive-([B)[B": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareUltralight;-writePage-(I [B)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/Ndef;-close-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/Ndef;-connect-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/Ndef;-getNdefMessage-()Landroid/nfc/NdefMessage;": [ "android.permission.NFC" ], "Landroid/nfc/tech/Ndef;-makeReadOnly-()Z": [ "android.permission.NFC" ], "Landroid/nfc/tech/Ndef;-writeNdefMessage-(Landroid/nfc/NdefMessage;)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NdefFormatable;-close-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NdefFormatable;-connect-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NdefFormatable;-format-(Landroid/nfc/NdefMessage;)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NdefFormatable;-formatReadOnly-(Landroid/nfc/NdefMessage;)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcA;-close-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcA;-connect-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcA;-getTimeout-()I": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcA;-setTimeout-(I)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcA;-transceive-([B)[B": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcB;-close-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcB;-connect-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcB;-transceive-([B)[B": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcBarcode;-close-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcBarcode;-connect-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcF;-close-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcF;-connect-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcF;-getTimeout-()I": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcF;-setTimeout-(I)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcF;-transceive-([B)[B": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcV;-close-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcV;-connect-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcV;-transceive-([B)[B": [ "android.permission.NFC" ], "Landroid/os/PowerManager$WakeLock;-acquire-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/os/PowerManager$WakeLock;-acquire-(J)V": [ "android.permission.WAKE_LOCK" ], "Landroid/os/PowerManager$WakeLock;-release-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/os/PowerManager$WakeLock;-release-(I)V": [ "android.permission.WAKE_LOCK" ], "Landroid/os/PowerManager$WakeLock;-setWorkSource-(Landroid/os/WorkSource;)V": [ "android.permission.WAKE_LOCK" ], "Landroid/os/SystemVibrator;-cancel-()V": [ "android.permission.VIBRATE" ], "Landroid/os/SystemVibrator;-vibrate-(I Ljava/lang/String; [J I Landroid/media/AudioAttributes;)V": [ "android.permission.VIBRATE" ], "Landroid/os/SystemVibrator;-vibrate-(I Ljava/lang/String; J Landroid/media/AudioAttributes;)V": [ "android.permission.VIBRATE" ], "Landroid/service/dreams/DreamService;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/service/dreams/DreamService;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/service/dreams/DreamService;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/service/dreams/DreamService;-sendStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/service/dreams/DreamService;-sendStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/service/dreams/DreamService;-sendStickyOrderedBroadcast-(Landroid/content/Intent; Landroid/content/BroadcastReceiver; Landroid/os/Handler; I Ljava/lang/String; Landroid/os/Bundle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/service/dreams/DreamService;-sendStickyOrderedBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle; Landroid/content/BroadcastReceiver; Landroid/os/Handler; I Ljava/lang/String; Landroid/os/Bundle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/service/dreams/DreamService;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/service/dreams/DreamService;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/service/voice/VoiceInteractionService;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/service/voice/VoiceInteractionService;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/service/voice/VoiceInteractionService;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/service/voice/VoiceInteractionService;-sendStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/service/voice/VoiceInteractionService;-sendStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/service/voice/VoiceInteractionService;-sendStickyOrderedBroadcast-(Landroid/content/Intent; Landroid/content/BroadcastReceiver; Landroid/os/Handler; I Ljava/lang/String; Landroid/os/Bundle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/service/voice/VoiceInteractionService;-sendStickyOrderedBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle; Landroid/content/BroadcastReceiver; Landroid/os/Handler; I Ljava/lang/String; Landroid/os/Bundle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/service/voice/VoiceInteractionService;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/service/voice/VoiceInteractionService;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/telecom/TelecomManager;-isInCall-()Z": [ "android.permission.READ_PHONE_STATE" ], "Landroid/telecom/TelecomManager;-showInCallScreen-(Z)V": [ "android.permission.READ_PHONE_STATE" ], "Landroid/telephony/PhoneNumberUtils;-isVoiceMailNumber-(Ljava/lang/String;)Z": [ "android.permission.READ_PHONE_STATE" ], "Landroid/telephony/SmsManager;-divideMessage-(Ljava/lang/String;)Ljava/util/ArrayList;": [ "android.permission.READ_PHONE_STATE" ], "Landroid/telephony/SmsManager;-downloadMultimediaMessage-(Landroid/content/Context; Ljava/lang/String; Landroid/net/Uri; Landroid/os/Bundle; Landroid/app/PendingIntent;)V": [ "android.permission.RECEIVE_MMS" ], "Landroid/telephony/SmsManager;-sendDataMessage-(Ljava/lang/String; Ljava/lang/String; S [B Landroid/app/PendingIntent; Landroid/app/PendingIntent;)V": [ "android.permission.SEND_SMS" ], "Landroid/telephony/SmsManager;-sendMultimediaMessage-(Landroid/content/Context; Landroid/net/Uri; Ljava/lang/String; Landroid/os/Bundle; Landroid/app/PendingIntent;)V": [ "android.permission.SEND_SMS" ], "Landroid/telephony/SmsManager;-sendMultipartTextMessage-(Ljava/lang/String; Ljava/lang/String; Ljava/util/ArrayList; Ljava/util/ArrayList; Ljava/util/ArrayList;)V": [ "android.permission.SEND_SMS" ], "Landroid/telephony/SmsManager;-sendTextMessage-(Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Landroid/app/PendingIntent; Landroid/app/PendingIntent;)V": [ "android.permission.SEND_SMS" ], "Landroid/telephony/TelephonyManager;-getAllCellInfo-()Ljava/util/List;": [ "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/telephony/TelephonyManager;-getCellLocation-()Landroid/telephony/CellLocation;": [ "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/telephony/TelephonyManager;-getDeviceId-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Landroid/telephony/TelephonyManager;-getDeviceSoftwareVersion-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Landroid/telephony/TelephonyManager;-getGroupIdLevel1-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Landroid/telephony/TelephonyManager;-getLine1Number-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Landroid/telephony/TelephonyManager;-getNeighboringCellInfo-()Ljava/util/List;": [ "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/telephony/TelephonyManager;-getSimSerialNumber-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Landroid/telephony/TelephonyManager;-getSubscriberId-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Landroid/telephony/TelephonyManager;-getVoiceMailAlphaTag-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Landroid/telephony/TelephonyManager;-getVoiceMailNumber-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Landroid/telephony/TelephonyManager;-listen-(Landroid/telephony/PhoneStateListener; I)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.READ_PHONE_STATE" ], "Landroid/telephony/gsm/SmsManager;-divideMessage-(Ljava/lang/String;)Ljava/util/ArrayList;": [ "android.permission.READ_PHONE_STATE" ], "Landroid/telephony/gsm/SmsManager;-sendDataMessage-(Ljava/lang/String; Ljava/lang/String; S [B Landroid/app/PendingIntent; Landroid/app/PendingIntent;)V": [ "android.permission.SEND_SMS" ], "Landroid/telephony/gsm/SmsManager;-sendMultipartTextMessage-(Ljava/lang/String; Ljava/lang/String; Ljava/util/ArrayList; Ljava/util/ArrayList; Ljava/util/ArrayList;)V": [ "android.permission.SEND_SMS" ], "Landroid/telephony/gsm/SmsManager;-sendTextMessage-(Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Landroid/app/PendingIntent; Landroid/app/PendingIntent;)V": [ "android.permission.SEND_SMS" ], "Landroid/test/IsolatedContext;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/test/IsolatedContext;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/test/IsolatedContext;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/test/IsolatedContext;-sendStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/test/IsolatedContext;-sendStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/test/IsolatedContext;-sendStickyOrderedBroadcast-(Landroid/content/Intent; Landroid/content/BroadcastReceiver; Landroid/os/Handler; I Ljava/lang/String; Landroid/os/Bundle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/test/IsolatedContext;-sendStickyOrderedBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle; Landroid/content/BroadcastReceiver; Landroid/os/Handler; I Ljava/lang/String; Landroid/os/Bundle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/test/IsolatedContext;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/test/IsolatedContext;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/test/RenamingDelegatingContext;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/test/RenamingDelegatingContext;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/test/RenamingDelegatingContext;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/test/RenamingDelegatingContext;-sendStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/test/RenamingDelegatingContext;-sendStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/test/RenamingDelegatingContext;-sendStickyOrderedBroadcast-(Landroid/content/Intent; Landroid/content/BroadcastReceiver; Landroid/os/Handler; I Ljava/lang/String; Landroid/os/Bundle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/test/RenamingDelegatingContext;-sendStickyOrderedBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle; Landroid/content/BroadcastReceiver; Landroid/os/Handler; I Ljava/lang/String; Landroid/os/Bundle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/test/RenamingDelegatingContext;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/test/RenamingDelegatingContext;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/test/mock/MockApplication;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/test/mock/MockApplication;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/test/mock/MockApplication;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/test/mock/MockApplication;-sendStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/test/mock/MockApplication;-sendStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/test/mock/MockApplication;-sendStickyOrderedBroadcast-(Landroid/content/Intent; Landroid/content/BroadcastReceiver; Landroid/os/Handler; I Ljava/lang/String; Landroid/os/Bundle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/test/mock/MockApplication;-sendStickyOrderedBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle; Landroid/content/BroadcastReceiver; Landroid/os/Handler; I Ljava/lang/String; Landroid/os/Bundle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/test/mock/MockApplication;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/test/mock/MockApplication;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/view/ContextThemeWrapper;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/view/ContextThemeWrapper;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/view/ContextThemeWrapper;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/view/ContextThemeWrapper;-sendStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/view/ContextThemeWrapper;-sendStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/view/ContextThemeWrapper;-sendStickyOrderedBroadcast-(Landroid/content/Intent; Landroid/content/BroadcastReceiver; Landroid/os/Handler; I Ljava/lang/String; Landroid/os/Bundle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/view/ContextThemeWrapper;-sendStickyOrderedBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle; Landroid/content/BroadcastReceiver; Landroid/os/Handler; I Ljava/lang/String; Landroid/os/Bundle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/view/ContextThemeWrapper;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/view/ContextThemeWrapper;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/widget/VideoView;-getAudioSessionId-()I": [ "android.permission.WAKE_LOCK" ], "Landroid/widget/VideoView;-onKeyDown-(I Landroid/view/KeyEvent;)Z": [ "android.permission.WAKE_LOCK" ], "Landroid/widget/VideoView;-pause-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/widget/VideoView;-resume-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/widget/VideoView;-setVideoPath-(Ljava/lang/String;)V": [ "android.permission.WAKE_LOCK" ], "Landroid/widget/VideoView;-setVideoURI-(Landroid/net/Uri;)V": [ "android.permission.WAKE_LOCK" ], "Landroid/widget/VideoView;-setVideoURI-(Landroid/net/Uri; Ljava/util/Map;)V": [ "android.permission.WAKE_LOCK" ], "Landroid/widget/VideoView;-start-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/widget/VideoView;-stopPlayback-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/widget/VideoView;-suspend-()V": [ "android.permission.WAKE_LOCK" ] }permissions_22.json000066400000000000000000011365541324327352200345460ustar00rootroot00000000000000androguard-3.1.0-rc2/androguard/core/api_specific_resources/api_permission_mappings{ "Landroid/accounts/AbstractAccountAuthenticator$Transport;-addAccount-(Landroid/accounts/IAccountAuthenticatorResponse; Ljava/lang/String; Ljava/lang/String; [Ljava/lang/String; Landroid/os/Bundle;)V": [ "android.permission.ACCOUNT_MANAGER" ], "Landroid/accounts/AbstractAccountAuthenticator$Transport;-addAccountFromCredentials-(Landroid/accounts/IAccountAuthenticatorResponse; Landroid/accounts/Account; Landroid/os/Bundle;)V": [ "android.permission.ACCOUNT_MANAGER" ], "Landroid/accounts/AbstractAccountAuthenticator$Transport;-confirmCredentials-(Landroid/accounts/IAccountAuthenticatorResponse; Landroid/accounts/Account; Landroid/os/Bundle;)V": [ "android.permission.ACCOUNT_MANAGER" ], "Landroid/accounts/AbstractAccountAuthenticator$Transport;-editProperties-(Landroid/accounts/IAccountAuthenticatorResponse; Ljava/lang/String;)V": [ "android.permission.ACCOUNT_MANAGER" ], "Landroid/accounts/AbstractAccountAuthenticator$Transport;-getAccountCredentialsForCloning-(Landroid/accounts/IAccountAuthenticatorResponse; Landroid/accounts/Account;)V": [ "android.permission.ACCOUNT_MANAGER" ], "Landroid/accounts/AbstractAccountAuthenticator$Transport;-getAccountRemovalAllowed-(Landroid/accounts/IAccountAuthenticatorResponse; Landroid/accounts/Account;)V": [ "android.permission.ACCOUNT_MANAGER" ], "Landroid/accounts/AbstractAccountAuthenticator$Transport;-getAuthToken-(Landroid/accounts/IAccountAuthenticatorResponse; Landroid/accounts/Account; Ljava/lang/String; Landroid/os/Bundle;)V": [ "android.permission.ACCOUNT_MANAGER" ], "Landroid/accounts/AbstractAccountAuthenticator$Transport;-getAuthTokenLabel-(Landroid/accounts/IAccountAuthenticatorResponse; Ljava/lang/String;)V": [ "android.permission.ACCOUNT_MANAGER" ], "Landroid/accounts/AbstractAccountAuthenticator$Transport;-hasFeatures-(Landroid/accounts/IAccountAuthenticatorResponse; Landroid/accounts/Account; [Ljava/lang/String;)V": [ "android.permission.ACCOUNT_MANAGER" ], "Landroid/accounts/AbstractAccountAuthenticator$Transport;-updateCredentials-(Landroid/accounts/IAccountAuthenticatorResponse; Landroid/accounts/Account; Ljava/lang/String; Landroid/os/Bundle;)V": [ "android.permission.ACCOUNT_MANAGER" ], "Landroid/hardware/location/ActivityRecognitionHardware;-disableActivityEvent-(Ljava/lang/String; I)Z": [ "android.permission.LOCATION_HARDWARE" ], "Landroid/hardware/location/ActivityRecognitionHardware;-enableActivityEvent-(Ljava/lang/String; I J)Z": [ "android.permission.LOCATION_HARDWARE" ], "Landroid/hardware/location/ActivityRecognitionHardware;-flush-()Z": [ "android.permission.LOCATION_HARDWARE" ], "Landroid/hardware/location/ActivityRecognitionHardware;-getSupportedActivities-()[Ljava/lang/String;": [ "android.permission.LOCATION_HARDWARE" ], "Landroid/hardware/location/ActivityRecognitionHardware;-isActivitySupported-(Ljava/lang/String;)Z": [ "android.permission.LOCATION_HARDWARE" ], "Landroid/hardware/location/ActivityRecognitionHardware;-registerSink-(Landroid/hardware/location/IActivityRecognitionHardwareSink;)Z": [ "android.permission.LOCATION_HARDWARE" ], "Landroid/hardware/location/ActivityRecognitionHardware;-unregisterSink-(Landroid/hardware/location/IActivityRecognitionHardwareSink;)Z": [ "android.permission.LOCATION_HARDWARE" ], "Landroid/media/AudioService;-adjustStreamVolume-(I I I Ljava/lang/String;)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Landroid/media/AudioService;-adjustSuggestedStreamVolume-(I I I Ljava/lang/String;)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Landroid/media/AudioService;-disableSafeMediaVolume-()V": [ "android.permission.STATUS_BAR_SERVICE" ], "Landroid/media/AudioService;-forceRemoteSubmixFullVolume-(Z Landroid/os/IBinder;)V": [ "android.permission.CAPTURE_AUDIO_OUTPUT" ], "Landroid/media/AudioService;-notifyVolumeControllerVisible-(Landroid/media/IVolumeController; Z)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Landroid/media/AudioService;-registerAudioPolicy-(Landroid/media/audiopolicy/AudioPolicyConfig; Landroid/media/audiopolicy/IAudioPolicyCallback; Z)Ljava/lang/String;": [ "android.permission.MODIFY_AUDIO_ROUTING" ], "Landroid/media/AudioService;-registerRemoteControlDisplay-(Landroid/media/IRemoteControlDisplay; I I)Z": [ "android.permission.MEDIA_CONTENT_CONTROL" ], "Landroid/media/AudioService;-registerRemoteController-(Landroid/media/IRemoteControlDisplay; I I Landroid/content/ComponentName;)Z": [ "android.permission.MEDIA_CONTENT_CONTROL" ], "Landroid/media/AudioService;-requestAudioFocus-(Landroid/media/AudioAttributes; I Landroid/os/IBinder; Landroid/media/IAudioFocusDispatcher; Ljava/lang/String; Ljava/lang/String; I Landroid/media/audiopolicy/IAudioPolicyCallback;)I": [ "android.permission.MODIFY_PHONE_STATE" ], "Landroid/media/AudioService;-setBluetoothScoOn-(Z)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/media/AudioService;-setFocusPropertiesForPolicy-(I Landroid/media/audiopolicy/IAudioPolicyCallback;)I": [ "android.permission.MODIFY_AUDIO_ROUTING" ], "Landroid/media/AudioService;-setMicrophoneMute-(Z Ljava/lang/String;)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/media/AudioService;-setMode-(I Landroid/os/IBinder;)V": [ "android.permission.MODIFY_AUDIO_SETTINGS", "android.permission.MODIFY_PHONE_STATE" ], "Landroid/media/AudioService;-setRemoteStreamVolume-(I)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Landroid/media/AudioService;-setRingerModeExternal-(I Ljava/lang/String;)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Landroid/media/AudioService;-setRingerModeInternal-(I Ljava/lang/String;)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Landroid/media/AudioService;-setRingtonePlayer-(Landroid/media/IRingtonePlayer;)V": [ "android.permission.REMOTE_AUDIO_PLAYBACK" ], "Landroid/media/AudioService;-setSpeakerphoneOn-(Z)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/media/AudioService;-setStreamVolume-(I I I Ljava/lang/String;)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Landroid/media/AudioService;-setVolumeController-(Landroid/media/IVolumeController;)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Landroid/media/AudioService;-startBluetoothSco-(Landroid/os/IBinder; I)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/media/AudioService;-startBluetoothScoVirtualCall-(Landroid/os/IBinder;)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/media/AudioService;-stopBluetoothSco-(Landroid/os/IBinder;)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Lcom/android/bluetooth/a2dp/A2dpService$BluetoothA2dpBinder;-connect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/a2dp/A2dpService$BluetoothA2dpBinder;-disconnect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/a2dp/A2dpService$BluetoothA2dpBinder;-getConnectedDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/a2dp/A2dpService$BluetoothA2dpBinder;-getConnectionState-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/a2dp/A2dpService$BluetoothA2dpBinder;-getDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/a2dp/A2dpService$BluetoothA2dpBinder;-getPriority-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/a2dp/A2dpService$BluetoothA2dpBinder;-isA2dpPlaying-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/a2dp/A2dpService$BluetoothA2dpBinder;-setPriority-(Landroid/bluetooth/BluetoothDevice; I)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/a2dp/A2dpSinkService$BluetoothA2dpSinkBinder;-connect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/a2dp/A2dpSinkService$BluetoothA2dpSinkBinder;-disconnect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/a2dp/A2dpSinkService$BluetoothA2dpSinkBinder;-getAudioConfig-(Landroid/bluetooth/BluetoothDevice;)Landroid/bluetooth/BluetoothAudioConfig;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/a2dp/A2dpSinkService$BluetoothA2dpSinkBinder;-getConnectedDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/a2dp/A2dpSinkService$BluetoothA2dpSinkBinder;-getConnectionState-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/a2dp/A2dpSinkService$BluetoothA2dpSinkBinder;-getDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/avrcp/AvrcpControllerService$BluetoothAvrcpControllerBinder;-getConnectedDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/avrcp/AvrcpControllerService$BluetoothAvrcpControllerBinder;-getConnectionState-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/avrcp/AvrcpControllerService$BluetoothAvrcpControllerBinder;-getDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/avrcp/AvrcpControllerService$BluetoothAvrcpControllerBinder;-sendPassThroughCmd-(Landroid/bluetooth/BluetoothDevice; I I)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-cancelBondProcess-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-cancelDiscovery-()Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-configHciSnoopLog-(Z)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-connectSocket-(Landroid/bluetooth/BluetoothDevice; I Landroid/os/ParcelUuid; I I)Landroid/os/ParcelFileDescriptor;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-createBond-(Landroid/bluetooth/BluetoothDevice; I)Z": [ "android.permission.BLUETOOTH_ADMIN", "android.permission.BLUETOOTH_PRIVILEGED" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-createSocketChannel-(I Ljava/lang/String; Landroid/os/ParcelUuid; I I)Landroid/os/ParcelFileDescriptor;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-disable-()Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-enable-()Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-enableNoAutoConnect-()Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-fetchRemoteMasInstances-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.RECEIVE_BLUETOOTH_MAP" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-fetchRemoteUuids-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getActivityEnergyInfoFromController-()V": [ "android.permission.BLUETOOTH_PRIVILEGED" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getAdapterConnectionState-()I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getAddress-()Ljava/lang/String;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getBondState-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getBondedDevices-()[Landroid/bluetooth/BluetoothDevice;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getConnectionState-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getDiscoverableTimeout-()I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getMessageAccessPermission-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getName-()Ljava/lang/String;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getPhonebookAccessPermission-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getProfileConnectionState-(I)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getRemoteAlias-(Landroid/bluetooth/BluetoothDevice;)Ljava/lang/String;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getRemoteClass-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getRemoteName-(Landroid/bluetooth/BluetoothDevice;)Ljava/lang/String;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getRemoteType-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getRemoteUuids-(Landroid/bluetooth/BluetoothDevice;)[Landroid/os/ParcelUuid;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getScanMode-()I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getState-()I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getUuids-()[Landroid/os/ParcelUuid;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-isActivityAndEnergyReportingSupported-()Z": [ "android.permission.BLUETOOTH_PRIVILEGED" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-isDiscovering-()Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-isEnabled-()Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-isMultiAdvertisementSupported-()Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-isOffloadedFilteringSupported-()Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-isOffloadedScanBatchingSupported-()Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-removeBond-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH_ADMIN", "android.permission.BLUETOOTH_PRIVILEGED" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-reportActivityInfo-()Landroid/bluetooth/BluetoothActivityEnergyInfo;": [ "android.permission.BLUETOOTH_PRIVILEGED" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-sendConnectionStateChange-(Landroid/bluetooth/BluetoothDevice; I I I)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-setDiscoverableTimeout-(I)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-setMessageAccessPermission-(Landroid/bluetooth/BluetoothDevice; I)Z": [ "android.permission.BLUETOOTH_PRIVILEGED" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-setName-(Ljava/lang/String;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-setPairingConfirmation-(Landroid/bluetooth/BluetoothDevice; Z)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-setPasskey-(Landroid/bluetooth/BluetoothDevice; Z I [B)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-setPhonebookAccessPermission-(Landroid/bluetooth/BluetoothDevice; I)Z": [ "android.permission.BLUETOOTH_PRIVILEGED" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-setPin-(Landroid/bluetooth/BluetoothDevice; Z I [B)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-setRemoteAlias-(Landroid/bluetooth/BluetoothDevice; Ljava/lang/String;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-setScanMode-(I I)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-startDiscovery-()Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-addCharacteristic-(I Landroid/os/ParcelUuid; I I)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-addDescriptor-(I Landroid/os/ParcelUuid; I)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-addIncludedService-(I I I Landroid/os/ParcelUuid;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-beginReliableWrite-(I Ljava/lang/String;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-beginServiceDeclaration-(I I I I Landroid/os/ParcelUuid; Z)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-clearServices-(I)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-clientConnect-(I Ljava/lang/String; Z I)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-clientDisconnect-(I Ljava/lang/String;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-configureMTU-(I Ljava/lang/String; I)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-connectionParameterUpdate-(I Ljava/lang/String; I)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-discoverServices-(I Ljava/lang/String;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-endReliableWrite-(I Ljava/lang/String; Z)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-endServiceDeclaration-(I)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-getDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-readCharacteristic-(I Ljava/lang/String; I I Landroid/os/ParcelUuid; I Landroid/os/ParcelUuid; I)V": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_PRIVILEGED" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-readDescriptor-(I Ljava/lang/String; I I Landroid/os/ParcelUuid; I Landroid/os/ParcelUuid; I Landroid/os/ParcelUuid; I)V": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_PRIVILEGED" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-readRemoteRssi-(I Ljava/lang/String;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-refreshDevice-(I Ljava/lang/String;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-registerClient-(Landroid/os/ParcelUuid; Landroid/bluetooth/IBluetoothGattCallback;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-registerForNotification-(I Ljava/lang/String; I I Landroid/os/ParcelUuid; I Landroid/os/ParcelUuid; Z)V": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_PRIVILEGED" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-registerServer-(Landroid/os/ParcelUuid; Landroid/bluetooth/IBluetoothGattServerCallback;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-removeService-(I I I Landroid/os/ParcelUuid;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-sendNotification-(I Ljava/lang/String; I I Landroid/os/ParcelUuid; I Landroid/os/ParcelUuid; Z [B)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-sendResponse-(I Ljava/lang/String; I I I [B)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-serverConnect-(I Ljava/lang/String; Z I)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-serverDisconnect-(I Ljava/lang/String;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-startMultiAdvertising-(I Landroid/bluetooth/le/AdvertiseData; Landroid/bluetooth/le/AdvertiseData; Landroid/bluetooth/le/AdvertiseSettings;)V": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-startScan-(I Z Landroid/bluetooth/le/ScanSettings; Ljava/util/List; Ljava/util/List;)V": [ "android.permission.BLUETOOTH_ADMIN", "android.permission.BLUETOOTH_PRIVILEGED" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-stopMultiAdvertising-(I)V": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-stopScan-(I Z)V": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-unregisterClient-(I)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-unregisterServer-(I)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-writeCharacteristic-(I Ljava/lang/String; I I Landroid/os/ParcelUuid; I Landroid/os/ParcelUuid; I I [B)V": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_PRIVILEGED" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-writeDescriptor-(I Ljava/lang/String; I I Landroid/os/ParcelUuid; I Landroid/os/ParcelUuid; I Landroid/os/ParcelUuid; I I [B)V": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_PRIVILEGED" ], "Lcom/android/bluetooth/hdp/HealthService$BluetoothHealthBinder;-connectChannelToSink-(Landroid/bluetooth/BluetoothDevice; Landroid/bluetooth/BluetoothHealthAppConfiguration; I)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hdp/HealthService$BluetoothHealthBinder;-connectChannelToSource-(Landroid/bluetooth/BluetoothDevice; Landroid/bluetooth/BluetoothHealthAppConfiguration;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hdp/HealthService$BluetoothHealthBinder;-disconnectChannel-(Landroid/bluetooth/BluetoothDevice; Landroid/bluetooth/BluetoothHealthAppConfiguration; I)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hdp/HealthService$BluetoothHealthBinder;-getConnectedHealthDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hdp/HealthService$BluetoothHealthBinder;-getHealthDeviceConnectionState-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hdp/HealthService$BluetoothHealthBinder;-getHealthDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hdp/HealthService$BluetoothHealthBinder;-getMainChannelFd-(Landroid/bluetooth/BluetoothDevice; Landroid/bluetooth/BluetoothHealthAppConfiguration;)Landroid/os/ParcelFileDescriptor;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hdp/HealthService$BluetoothHealthBinder;-registerAppConfiguration-(Landroid/bluetooth/BluetoothHealthAppConfiguration; Landroid/bluetooth/IBluetoothHealthCallback;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hdp/HealthService$BluetoothHealthBinder;-unregisterAppConfiguration-(Landroid/bluetooth/BluetoothHealthAppConfiguration;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-clccResponse-(I I I I Z Ljava/lang/String; I)V": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN", "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-connect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-connectAudio-()Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-disableWBS-()Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-disconnect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-disconnectAudio-()Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-enableWBS-()Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-getConnectedDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-getConnectionState-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-getDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-getPriority-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-isAudioConnected-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-isAudioOn-()Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-phoneStateChanged-(I I I Ljava/lang/String; I)V": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN", "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-sendVendorSpecificResultCode-(Landroid/bluetooth/BluetoothDevice; Ljava/lang/String; Ljava/lang/String;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-setPriority-(Landroid/bluetooth/BluetoothDevice; I)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-startVoiceRecognition-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-stopVoiceRecognition-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-acceptCall-(Landroid/bluetooth/BluetoothDevice; I)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-connect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-connectAudio-()Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-dial-(Landroid/bluetooth/BluetoothDevice; Ljava/lang/String;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-dialMemory-(Landroid/bluetooth/BluetoothDevice; I)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-disconnect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-disconnectAudio-()Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-enterPrivateMode-(Landroid/bluetooth/BluetoothDevice; I)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-explicitCallTransfer-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-getConnectedDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-getConnectionState-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-getCurrentAgEvents-(Landroid/bluetooth/BluetoothDevice;)Landroid/os/Bundle;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-getCurrentAgFeatures-(Landroid/bluetooth/BluetoothDevice;)Landroid/os/Bundle;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-getCurrentCalls-(Landroid/bluetooth/BluetoothDevice;)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-getDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-getLastVoiceTagNumber-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-getPriority-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-holdCall-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-redial-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-rejectCall-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-sendDTMF-(Landroid/bluetooth/BluetoothDevice; B)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-setPriority-(Landroid/bluetooth/BluetoothDevice; I)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-startVoiceRecognition-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-stopVoiceRecognition-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-terminateCall-(Landroid/bluetooth/BluetoothDevice; I)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-connect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-disconnect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-getConnectedDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-getDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-getPriority-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-getProtocolMode-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-getReport-(Landroid/bluetooth/BluetoothDevice; B B I)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-sendData-(Landroid/bluetooth/BluetoothDevice; Ljava/lang/String;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-setPriority-(Landroid/bluetooth/BluetoothDevice; I)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-setProtocolMode-(Landroid/bluetooth/BluetoothDevice; I)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-setReport-(Landroid/bluetooth/BluetoothDevice; B Ljava/lang/String;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-virtualUnplug-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/map/BluetoothMapService$BluetoothMapBinder;-connect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/map/BluetoothMapService$BluetoothMapBinder;-disconnect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/map/BluetoothMapService$BluetoothMapBinder;-getClient-()Landroid/bluetooth/BluetoothDevice;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/map/BluetoothMapService$BluetoothMapBinder;-getConnectedDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/map/BluetoothMapService$BluetoothMapBinder;-getConnectionState-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/map/BluetoothMapService$BluetoothMapBinder;-getDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/map/BluetoothMapService$BluetoothMapBinder;-getPriority-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/map/BluetoothMapService$BluetoothMapBinder;-getState-()I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/map/BluetoothMapService$BluetoothMapBinder;-isConnected-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/map/BluetoothMapService$BluetoothMapBinder;-setPriority-(Landroid/bluetooth/BluetoothDevice; I)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/pan/PanService$BluetoothPanBinder;-connect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/pan/PanService$BluetoothPanBinder;-disconnect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/pan/PanService$BluetoothPanBinder;-getConnectedDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/pan/PanService$BluetoothPanBinder;-getDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/pan/PanService$BluetoothPanBinder;-setBluetoothTethering-(Z)V": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN", "android.permission.CHANGE_NETWORK_STATE", "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/internal/telephony/PhoneSubInfoProxy;-getCompleteVoiceMailNumber-()Ljava/lang/String;": [ "android.permission.CALL_PRIVILEGED" ], "Lcom/android/internal/telephony/PhoneSubInfoProxy;-getDeviceId-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoProxy;-getDeviceSvn-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoProxy;-getGroupIdLevel1-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoProxy;-getIccSerialNumber-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoProxy;-getIccSimChallengeResponse-(I I Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoProxy;-getIsimChallengeResponse-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoProxy;-getIsimDomain-()Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoProxy;-getIsimImpi-()Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoProxy;-getIsimImpu-()[Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoProxy;-getIsimIst-()Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoProxy;-getIsimPcscf-()[Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoProxy;-getLine1AlphaTag-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoProxy;-getLine1Number-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoProxy;-getMsisdn-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoProxy;-getSubscriberId-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoProxy;-getVoiceMailAlphaTag-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoProxy;-getVoiceMailNumber-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/SMSDispatcher$MultipartSmsSenderCallback;-onSendMultipartSmsComplete-(I [I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.SEND_RESPOND_VIA_MESSAGE", "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/internal/telephony/SMSDispatcher$SmsSenderCallback;-onSendSmsComplete-(I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.SEND_RESPOND_VIA_MESSAGE" ], "Lcom/android/internal/telephony/SubscriptionController;-addSubInfoRecord-(Ljava/lang/String; I)I": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-clearDefaultsForInactiveSubIds-()V": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-clearSubInfo-()I": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-getActiveSubInfoCount-()I": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-getActiveSubscriptionInfo-(I)Landroid/telephony/SubscriptionInfo;": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-getActiveSubscriptionInfoForIccId-(Ljava/lang/String;)Landroid/telephony/SubscriptionInfo;": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-getActiveSubscriptionInfoForSimSlotIndex-(I)Landroid/telephony/SubscriptionInfo;": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-getActiveSubscriptionInfoList-()Ljava/util/List;": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-getAllSubInfoCount-()I": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-getAllSubInfoList-()Ljava/util/List;": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-setDataRoaming-(I I)I": [ "android.permission.MODIFY_PHONE_STATE", "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-setDisplayName-(Ljava/lang/String; I)I": [ "android.permission.MODIFY_PHONE_STATE", "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-setDisplayNameUsingSrc-(Ljava/lang/String; I J)I": [ "android.permission.MODIFY_PHONE_STATE", "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-setDisplayNumber-(Ljava/lang/String; I)I": [ "android.permission.MODIFY_PHONE_STATE", "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-setIconTint-(I I)I": [ "android.permission.MODIFY_PHONE_STATE", "android.permission.READ_PHONE_STATE" ], "Lcom/android/internal/telephony/UiccSmsController;-copyMessageToIccEf-(Ljava/lang/String; I [B [B)Z": [ "android.permission.RECEIVE_SMS", "android.permission.SEND_SMS", "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/internal/telephony/UiccSmsController;-copyMessageToIccEfForSubscriber-(I Ljava/lang/String; I [B [B)Z": [ "android.permission.RECEIVE_SMS", "android.permission.SEND_SMS", "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/internal/telephony/UiccSmsController;-disableCellBroadcast-(I I)Z": [ "android.permission.RECEIVE_SMS" ], "Lcom/android/internal/telephony/UiccSmsController;-disableCellBroadcastForSubscriber-(I I I)Z": [ "android.permission.RECEIVE_SMS" ], "Lcom/android/internal/telephony/UiccSmsController;-disableCellBroadcastRange-(I I I)Z": [ "android.permission.RECEIVE_SMS" ], "Lcom/android/internal/telephony/UiccSmsController;-disableCellBroadcastRangeForSubscriber-(I I I I)Z": [ "android.permission.RECEIVE_SMS" ], "Lcom/android/internal/telephony/UiccSmsController;-enableCellBroadcast-(I I)Z": [ "android.permission.RECEIVE_SMS" ], "Lcom/android/internal/telephony/UiccSmsController;-enableCellBroadcastForSubscriber-(I I I)Z": [ "android.permission.RECEIVE_SMS" ], "Lcom/android/internal/telephony/UiccSmsController;-enableCellBroadcastRange-(I I I)Z": [ "android.permission.RECEIVE_SMS" ], "Lcom/android/internal/telephony/UiccSmsController;-enableCellBroadcastRangeForSubscriber-(I I I I)Z": [ "android.permission.RECEIVE_SMS" ], "Lcom/android/internal/telephony/UiccSmsController;-getAllMessagesFromIccEf-(Ljava/lang/String;)Ljava/util/List;": [ "android.permission.RECEIVE_SMS", "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/internal/telephony/UiccSmsController;-getAllMessagesFromIccEfForSubscriber-(I Ljava/lang/String;)Ljava/util/List;": [ "android.permission.RECEIVE_SMS", "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/internal/telephony/UiccSmsController;-injectSmsPdu-([B Ljava/lang/String; Landroid/app/PendingIntent;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/internal/telephony/UiccSmsController;-sendData-(Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; I [B Landroid/app/PendingIntent; Landroid/app/PendingIntent;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.SEND_RESPOND_VIA_MESSAGE", "android.permission.SEND_SMS", "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/internal/telephony/UiccSmsController;-sendDataForSubscriber-(I Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; I [B Landroid/app/PendingIntent; Landroid/app/PendingIntent;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.SEND_RESPOND_VIA_MESSAGE", "android.permission.SEND_SMS", "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/internal/telephony/UiccSmsController;-sendMultipartText-(Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/util/List; Ljava/util/List; Ljava/util/List;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.SEND_RESPOND_VIA_MESSAGE", "android.permission.SEND_SMS", "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/internal/telephony/UiccSmsController;-sendMultipartTextForSubscriber-(I Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/util/List; Ljava/util/List; Ljava/util/List;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.SEND_RESPOND_VIA_MESSAGE", "android.permission.SEND_SMS", "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/internal/telephony/UiccSmsController;-sendStoredMultipartText-(I Ljava/lang/String; Landroid/net/Uri; Ljava/lang/String; Ljava/util/List; Ljava/util/List;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.SEND_RESPOND_VIA_MESSAGE", "android.permission.SEND_SMS", "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/internal/telephony/UiccSmsController;-sendStoredText-(I Ljava/lang/String; Landroid/net/Uri; Ljava/lang/String; Landroid/app/PendingIntent; Landroid/app/PendingIntent;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.SEND_RESPOND_VIA_MESSAGE", "android.permission.SEND_SMS", "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/internal/telephony/UiccSmsController;-sendText-(Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Landroid/app/PendingIntent; Landroid/app/PendingIntent;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.SEND_RESPOND_VIA_MESSAGE", "android.permission.SEND_SMS", "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/internal/telephony/UiccSmsController;-sendTextForSubscriber-(I Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Landroid/app/PendingIntent; Landroid/app/PendingIntent;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.SEND_RESPOND_VIA_MESSAGE", "android.permission.SEND_SMS", "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/internal/telephony/UiccSmsController;-updateMessageOnIccEf-(Ljava/lang/String; I I [B)Z": [ "android.permission.RECEIVE_SMS", "android.permission.SEND_SMS", "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/internal/telephony/UiccSmsController;-updateMessageOnIccEfForSubscriber-(I Ljava/lang/String; I I [B)Z": [ "android.permission.RECEIVE_SMS", "android.permission.SEND_SMS", "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/nfc/NfcService$NfcAdapterService;-addNfcUnlockHandler-(Landroid/nfc/INfcUnlockHandler; [I)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/nfc/NfcService$NfcAdapterService;-disable-(Z)Z": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/nfc/NfcService$NfcAdapterService;-disableNdefPush-()Z": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/nfc/NfcService$NfcAdapterService;-dispatch-(Landroid/nfc/Tag;)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/nfc/NfcService$NfcAdapterService;-enable-()Z": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/nfc/NfcService$NfcAdapterService;-enableNdefPush-()Z": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/nfc/NfcService$NfcAdapterService;-invokeBeam-()V": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$NfcAdapterService;-invokeBeamInternal-(Landroid/nfc/BeamShareData;)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/nfc/NfcService$NfcAdapterService;-pausePolling-(I)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/nfc/NfcService$NfcAdapterService;-resumePolling-()V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/nfc/NfcService$NfcAdapterService;-setAppCallback-(Landroid/nfc/IAppCallback;)V": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$NfcAdapterService;-setForegroundDispatch-(Landroid/app/PendingIntent; [Landroid/content/IntentFilter; Landroid/nfc/TechListParcel;)V": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$NfcAdapterService;-setP2pModes-(I I)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/nfc/NfcService$NfcAdapterService;-verifyNfcPermission-()V": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-close-(I)I": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-connect-(I I)I": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-formatNdef-(I [B)I": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-getTechList-(I)[I": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-getTimeout-(I)I": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-isNdef-(I)Z": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-ndefMakeReadOnly-(I)I": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-ndefRead-(I)Landroid/nfc/NdefMessage;": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-ndefWrite-(I Landroid/nfc/NdefMessage;)I": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-reconnect-(I)I": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-rediscover-(I)Landroid/nfc/Tag;": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-resetTimeouts-()V": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-setTimeout-(I I)I": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-transceive-(I [B Z)Landroid/nfc/TransceiveResult;": [ "android.permission.NFC" ], "Lcom/android/nfc/cardemulation/CardEmulationManager$CardEmulationInterface;-getAidGroupForService-(I Landroid/content/ComponentName; Ljava/lang/String;)Landroid/nfc/cardemulation/AidGroup;": [ "android.permission.NFC" ], "Lcom/android/nfc/cardemulation/CardEmulationManager$CardEmulationInterface;-getServices-(I Ljava/lang/String;)Ljava/util/List;": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/nfc/cardemulation/CardEmulationManager$CardEmulationInterface;-isDefaultServiceForAid-(I Landroid/content/ComponentName; Ljava/lang/String;)Z": [ "android.permission.NFC" ], "Lcom/android/nfc/cardemulation/CardEmulationManager$CardEmulationInterface;-isDefaultServiceForCategory-(I Landroid/content/ComponentName; Ljava/lang/String;)Z": [ "android.permission.NFC" ], "Lcom/android/nfc/cardemulation/CardEmulationManager$CardEmulationInterface;-registerAidGroupForService-(I Landroid/content/ComponentName; Landroid/nfc/cardemulation/AidGroup;)Z": [ "android.permission.NFC" ], "Lcom/android/nfc/cardemulation/CardEmulationManager$CardEmulationInterface;-removeAidGroupForService-(I Landroid/content/ComponentName; Ljava/lang/String;)Z": [ "android.permission.NFC" ], "Lcom/android/nfc/cardemulation/CardEmulationManager$CardEmulationInterface;-setDefaultForNextTap-(I Landroid/content/ComponentName;)Z": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/nfc/cardemulation/CardEmulationManager$CardEmulationInterface;-setDefaultServiceForCategory-(I Landroid/content/ComponentName; Ljava/lang/String;)Z": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/nfc/cardemulation/CardEmulationManager$CardEmulationInterface;-setPreferredService-(Landroid/content/ComponentName;)Z": [ "android.permission.NFC" ], "Lcom/android/nfc/cardemulation/CardEmulationManager$CardEmulationInterface;-unsetPreferredService-()Z": [ "android.permission.NFC" ], "Lcom/android/phone/PhoneInterfaceManager;-answerRingingCall-()V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-answerRingingCallForSubscriber-(I)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-call-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.CALL_PHONE" ], "Lcom/android/phone/PhoneInterfaceManager;-disableDataConnectivity-()Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-disableLocationUpdates-()V": [ "android.permission.CONTROL_LOCATION_UPDATES" ], "Lcom/android/phone/PhoneInterfaceManager;-disableLocationUpdatesForSubscriber-(I)V": [ "android.permission.CONTROL_LOCATION_UPDATES" ], "Lcom/android/phone/PhoneInterfaceManager;-enableDataConnectivity-()Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-enableLocationUpdates-()V": [ "android.permission.CONTROL_LOCATION_UPDATES" ], "Lcom/android/phone/PhoneInterfaceManager;-enableLocationUpdatesForSubscriber-(I)V": [ "android.permission.CONTROL_LOCATION_UPDATES" ], "Lcom/android/phone/PhoneInterfaceManager;-enableVideoCalling-(Z)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-endCall-()Z": [ "android.permission.CALL_PHONE" ], "Lcom/android/phone/PhoneInterfaceManager;-endCallForSubscriber-(I)Z": [ "android.permission.CALL_PHONE" ], "Lcom/android/phone/PhoneInterfaceManager;-getAllCellInfo-()Ljava/util/List;": [ "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/phone/PhoneInterfaceManager;-getCalculatedPreferredNetworkType-()I": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getCdmaMdn-(I)Ljava/lang/String;": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getCdmaMin-(I)Ljava/lang/String;": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getCellLocation-()Landroid/os/Bundle;": [ "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/phone/PhoneInterfaceManager;-getDataEnabled-(I)Z": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getDeviceId-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getLine1AlphaTagForDisplay-(I)Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getLine1NumberForDisplay-(I)Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getNeighboringCellInfo-(Ljava/lang/String;)Ljava/util/List;": [ "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/phone/PhoneInterfaceManager;-getPcscfAddress-(Ljava/lang/String;)[Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getPreferredNetworkType-()I": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getTetherApnRequired-()I": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-handlePinMmi-(Ljava/lang/String;)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-handlePinMmiForSubscriber-(I Ljava/lang/String;)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-iccCloseLogicalChannel-(I)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-iccExchangeSimIO-(I I I I I Ljava/lang/String;)[B": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-iccOpenLogicalChannel-(Ljava/lang/String;)Landroid/telephony/IccOpenLogicalChannelResponse;": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-iccTransmitApduBasicChannel-(I I I I I Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-iccTransmitApduLogicalChannel-(I I I I I I Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-invokeOemRilRequestRaw-([B [B)I": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-isSimPinEnabled-()Z": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-isVideoCallingEnabled-()Z": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-nvReadItem-(I)Ljava/lang/String;": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-nvResetConfig-(I)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-nvWriteCdmaPrl-([B)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-nvWriteItem-(I Ljava/lang/String;)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-sendEnvelopeWithStatus-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-setDataEnabled-(I Z)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-setImsRegistrationState-(Z)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-setPreferredNetworkType-(I)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-setRadio-(Z)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-setRadioForSubscriber-(I Z)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-setRadioPower-(Z)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-shutdownMobileRadios-()V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-supplyPin-(Ljava/lang/String;)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-supplyPinForSubscriber-(I Ljava/lang/String;)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-supplyPinReportResult-(Ljava/lang/String;)[I": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-supplyPinReportResultForSubscriber-(I Ljava/lang/String;)[I": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-supplyPuk-(Ljava/lang/String; Ljava/lang/String;)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-supplyPukForSubscriber-(I Ljava/lang/String; Ljava/lang/String;)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-supplyPukReportResult-(Ljava/lang/String; Ljava/lang/String;)[I": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-supplyPukReportResultForSubscriber-(I Ljava/lang/String; Ljava/lang/String;)[I": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-toggleRadioOnOff-()V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-toggleRadioOnOffForSubscriber-(I)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/providers/contacts/ContactsProvider2;-getType-(Landroid/net/Uri;)Ljava/lang/String;": [ "android.permission.READ_SOCIAL_STREAM" ], "Lcom/android/server/AppOpsService;-checkAudioOperation-(I I I Ljava/lang/String;)I": [ "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/server/AppOpsService;-checkOperation-(I I Ljava/lang/String;)I": [ "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/server/AppOpsService;-finishOperation-(Landroid/os/IBinder; I I Ljava/lang/String;)V": [ "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/server/AppOpsService;-getOpsForPackage-(I Ljava/lang/String; [I)Ljava/util/List;": [ "android.permission.GET_APP_OPS_STATS" ], "Lcom/android/server/AppOpsService;-getPackagesForOps-([I)Ljava/util/List;": [ "android.permission.GET_APP_OPS_STATS" ], "Lcom/android/server/AppOpsService;-noteOperation-(I I Ljava/lang/String;)I": [ "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/server/AppOpsService;-resetAllModes-(I Ljava/lang/String;)V": [ "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/server/AppOpsService;-setAudioRestriction-(I I I I [Ljava/lang/String;)V": [ "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/server/AppOpsService;-setMode-(I I Ljava/lang/String; I)V": [ "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/server/AppOpsService;-startOperation-(Landroid/os/IBinder; I I Ljava/lang/String;)I": [ "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/server/BluetoothManagerService;-disable-(Z)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/server/BluetoothManagerService;-enable-()Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/server/BluetoothManagerService;-enableNoAutoConnect-()Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/server/BluetoothManagerService;-getAddress-()Ljava/lang/String;": [ "android.permission.BLUETOOTH" ], "Lcom/android/server/BluetoothManagerService;-getName-()Ljava/lang/String;": [ "android.permission.BLUETOOTH" ], "Lcom/android/server/BluetoothManagerService;-registerStateChangeCallback-(Landroid/bluetooth/IBluetoothStateChangeCallback;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/server/BluetoothManagerService;-unregisterAdapter-(Landroid/bluetooth/IBluetoothManagerCallback;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/server/BluetoothManagerService;-unregisterStateChangeCallback-(Landroid/bluetooth/IBluetoothStateChangeCallback;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/server/ConnectivityService;-captivePortalCheckCompleted-(Landroid/net/NetworkInfo; Z)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-findConnectionTypeForIface-(Ljava/lang/String;)I": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-getActiveLinkProperties-()Landroid/net/LinkProperties;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getActiveNetworkInfo-()Landroid/net/NetworkInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getActiveNetworkInfoForUid-(I)Landroid/net/NetworkInfo;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-getActiveNetworkQuotaInfo-()Landroid/net/NetworkQuotaInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getAllNetworkInfo-()[Landroid/net/NetworkInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getAllNetworkState-()[Landroid/net/NetworkState;": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-getAllNetworks-()[Landroid/net/Network;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getDefaultNetworkCapabilitiesForUser-(I)[Landroid/net/NetworkCapabilities;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getLastTetherError-(Ljava/lang/String;)I": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getLegacyVpnInfo-()Lcom/android/internal/net/LegacyVpnInfo;": [ "android.permission.CONTROL_VPN" ], "Lcom/android/server/ConnectivityService;-getLinkProperties-(Landroid/net/Network;)Landroid/net/LinkProperties;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getLinkPropertiesForType-(I)Landroid/net/LinkProperties;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getMobileProvisioningUrl-()Ljava/lang/String;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-getMobileRedirectedProvisioningUrl-()Ljava/lang/String;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-getNetworkCapabilities-(Landroid/net/Network;)Landroid/net/NetworkCapabilities;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getNetworkForType-(I)Landroid/net/Network;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getNetworkInfo-(I)Landroid/net/NetworkInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getNetworkInfoForNetwork-(Landroid/net/Network;)Landroid/net/NetworkInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getProvisioningOrActiveNetworkInfo-()Landroid/net/NetworkInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getTetherableBluetoothRegexs-()[Ljava/lang/String;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getTetherableIfaces-()[Ljava/lang/String;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getTetherableUsbRegexs-()[Ljava/lang/String;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getTetherableWifiRegexs-()[Ljava/lang/String;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getTetheredDhcpRanges-()[Ljava/lang/String;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-getTetheredIfaces-()[Ljava/lang/String;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getTetheringErroredIfaces-()[Ljava/lang/String;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getVpnConfig-()Lcom/android/internal/net/VpnConfig;": [ "android.permission.CONTROL_VPN" ], "Lcom/android/server/ConnectivityService;-isActiveNetworkMetered-()Z": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-isNetworkSupported-(I)Z": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-isTetheringSupported-()Z": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-listenForNetwork-(Landroid/net/NetworkCapabilities; Landroid/os/Messenger; Landroid/os/IBinder;)Landroid/net/NetworkRequest;": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-pendingRequestForNetwork-(Landroid/net/NetworkCapabilities; Landroid/app/PendingIntent;)Landroid/net/NetworkRequest;": [ "android.permission.CHANGE_NETWORK_STATE", "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-prepareVpn-(Ljava/lang/String; Ljava/lang/String;)Z": [ "android.permission.CONTROL_VPN" ], "Lcom/android/server/ConnectivityService;-registerNetworkAgent-(Landroid/os/Messenger; Landroid/net/NetworkInfo; Landroid/net/LinkProperties; Landroid/net/NetworkCapabilities; I Landroid/net/NetworkMisc;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-registerNetworkFactory-(Landroid/os/Messenger; Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-reportBadNetwork-(Landroid/net/Network;)V": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.INTERNET" ], "Lcom/android/server/ConnectivityService;-reportInetCondition-(I I)V": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.INTERNET" ], "Lcom/android/server/ConnectivityService;-requestNetwork-(Landroid/net/NetworkCapabilities; Landroid/os/Messenger; I Landroid/os/IBinder; I)Landroid/net/NetworkRequest;": [ "android.permission.CHANGE_NETWORK_STATE", "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-requestRouteToHostAddress-(I [B)Z": [ "android.permission.CHANGE_NETWORK_STATE", "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-setAirplaneMode-(Z)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-setDataDependency-(I Z)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-setGlobalProxy-(Landroid/net/ProxyInfo;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-setProvisioningNotificationVisible-(Z I Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-setUsbTethering-(Z)I": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.CHANGE_NETWORK_STATE", "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-setVpnPackageAuthorization-(Z)V": [ "android.permission.CONTROL_VPN" ], "Lcom/android/server/ConnectivityService;-startLegacyVpn-(Lcom/android/internal/net/VpnProfile;)V": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.CONTROL_VPN" ], "Lcom/android/server/ConnectivityService;-supplyMessenger-(I Landroid/os/Messenger;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-tether-(Ljava/lang/String;)I": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.CHANGE_NETWORK_STATE", "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-unregisterNetworkFactory-(Landroid/os/Messenger;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-untether-(Ljava/lang/String;)I": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.CHANGE_NETWORK_STATE", "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-updateLockdownVpn-()Z": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConsumerIrService;-getCarrierFrequencies-()[I": [ "android.permission.TRANSMIT_IR" ], "Lcom/android/server/ConsumerIrService;-transmit-(Ljava/lang/String; I [I)V": [ "android.permission.TRANSMIT_IR" ], "Lcom/android/server/DropBoxManagerService;-getNextEntry-(Ljava/lang/String; J)Landroid/os/DropBoxManager$Entry;": [ "android.permission.READ_LOGS" ], "Lcom/android/server/InputMethodManagerService;-addClient-(Lcom/android/internal/view/IInputMethodClient; Lcom/android/internal/view/IInputContext; I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-getCurrentInputMethodSubtype-()Landroid/view/inputmethod/InputMethodSubtype;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-getEnabledInputMethodList-()Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-getEnabledInputMethodSubtypeList-(Ljava/lang/String; Z)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-getInputMethodList-()Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-getLastInputMethodSubtype-()Landroid/view/inputmethod/InputMethodSubtype;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-hideMySoftInput-(Landroid/os/IBinder; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-hideSoftInput-(Lcom/android/internal/view/IInputMethodClient; I Landroid/os/ResultReceiver;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-notifySuggestionPicked-(Landroid/text/style/SuggestionSpan; Ljava/lang/String; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-registerSuggestionSpansForNotification-([Landroid/text/style/SuggestionSpan;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-removeClient-(Lcom/android/internal/view/IInputMethodClient;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-setAdditionalInputMethodSubtypes-(Ljava/lang/String; [Landroid/view/inputmethod/InputMethodSubtype;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-setCurrentInputMethodSubtype-(Landroid/view/inputmethod/InputMethodSubtype;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-setImeWindowStatus-(Landroid/os/IBinder; I I)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/InputMethodManagerService;-setInputMethod-(Landroid/os/IBinder; Ljava/lang/String;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/InputMethodManagerService;-setInputMethodAndSubtype-(Landroid/os/IBinder; Ljava/lang/String; Landroid/view/inputmethod/InputMethodSubtype;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/InputMethodManagerService;-setInputMethodEnabled-(Ljava/lang/String; Z)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/InputMethodManagerService;-shouldOfferSwitchingToNextInputMethod-(Landroid/os/IBinder;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-showInputMethodAndSubtypeEnablerFromClient-(Lcom/android/internal/view/IInputMethodClient; Ljava/lang/String;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.STATUS_BAR" ], "Lcom/android/server/InputMethodManagerService;-showInputMethodPickerFromClient-(Lcom/android/internal/view/IInputMethodClient;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-showMySoftInput-(Landroid/os/IBinder; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-showSoftInput-(Lcom/android/internal/view/IInputMethodClient; I Landroid/os/ResultReceiver;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-startInput-(Lcom/android/internal/view/IInputMethodClient; Lcom/android/internal/view/IInputContext; Landroid/view/inputmethod/EditorInfo; I)Lcom/android/internal/view/InputBindResult;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-switchToLastInputMethod-(Landroid/os/IBinder;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/InputMethodManagerService;-switchToNextInputMethod-(Landroid/os/IBinder; Z)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/InputMethodManagerService;-updateStatusIcon-(Landroid/os/IBinder; Ljava/lang/String; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.STATUS_BAR" ], "Lcom/android/server/InputMethodManagerService;-windowGainedFocus-(Lcom/android/internal/view/IInputMethodClient; Landroid/os/IBinder; I I I Landroid/view/inputmethod/EditorInfo; Lcom/android/internal/view/IInputContext;)Lcom/android/internal/view/InputBindResult;": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.STATUS_BAR" ], "Lcom/android/server/LocationManagerService;-addGpsMeasurementsListener-(Landroid/location/IGpsMeasurementsListener; Ljava/lang/String;)Z": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-addGpsNavigationMessageListener-(Landroid/location/IGpsNavigationMessageListener; Ljava/lang/String;)Z": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-addGpsStatusListener-(Landroid/location/IGpsStatusListener; Ljava/lang/String;)Z": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-addTestProvider-(Ljava/lang/String; Lcom/android/internal/location/ProviderProperties;)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Lcom/android/server/LocationManagerService;-clearTestProviderEnabled-(Ljava/lang/String;)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Lcom/android/server/LocationManagerService;-clearTestProviderLocation-(Ljava/lang/String;)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Lcom/android/server/LocationManagerService;-clearTestProviderStatus-(Ljava/lang/String;)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Lcom/android/server/LocationManagerService;-getBestProvider-(Landroid/location/Criteria; Z)Ljava/lang/String;": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-getLastLocation-(Landroid/location/LocationRequest; Ljava/lang/String;)Landroid/location/Location;": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-getProviderProperties-(Ljava/lang/String;)Lcom/android/internal/location/ProviderProperties;": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-getProviders-(Landroid/location/Criteria; Z)Ljava/util/List;": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-removeGeofence-(Landroid/location/Geofence; Landroid/app/PendingIntent; Ljava/lang/String;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-removeTestProvider-(Ljava/lang/String;)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Lcom/android/server/LocationManagerService;-removeUpdates-(Landroid/location/ILocationListener; Landroid/app/PendingIntent; Ljava/lang/String;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-reportLocation-(Landroid/location/Location; Z)V": [ "android.permission.INSTALL_LOCATION_PROVIDER" ], "Lcom/android/server/LocationManagerService;-requestGeofence-(Landroid/location/LocationRequest; Landroid/location/Geofence; Landroid/app/PendingIntent; Ljava/lang/String;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-requestLocationUpdates-(Landroid/location/LocationRequest; Landroid/location/ILocationListener; Landroid/app/PendingIntent; Ljava/lang/String;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION", "android.permission.UPDATE_APP_OPS_STATS", "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/LocationManagerService;-sendExtraCommand-(Ljava/lang/String; Ljava/lang/String; Landroid/os/Bundle;)Z": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION", "android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" ], "Lcom/android/server/LocationManagerService;-setTestProviderEnabled-(Ljava/lang/String; Z)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Lcom/android/server/LocationManagerService;-setTestProviderLocation-(Ljava/lang/String; Landroid/location/Location;)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Lcom/android/server/LocationManagerService;-setTestProviderStatus-(Ljava/lang/String; I Landroid/os/Bundle; J)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Lcom/android/server/LockSettingsService;-checkPassword-(Ljava/lang/String; I)Z": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" ], "Lcom/android/server/LockSettingsService;-checkPattern-(Ljava/lang/String; I)Z": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" ], "Lcom/android/server/LockSettingsService;-checkVoldPassword-(I)Z": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" ], "Lcom/android/server/LockSettingsService;-getBoolean-(Ljava/lang/String; Z I)Z": [ "android.permission.READ_PROFILE" ], "Lcom/android/server/LockSettingsService;-getLong-(Ljava/lang/String; J I)J": [ "android.permission.READ_PROFILE" ], "Lcom/android/server/LockSettingsService;-getString-(Ljava/lang/String; Ljava/lang/String; I)Ljava/lang/String;": [ "android.permission.READ_PROFILE" ], "Lcom/android/server/LockSettingsService;-removeUser-(I)V": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" ], "Lcom/android/server/LockSettingsService;-setBoolean-(Ljava/lang/String; Z I)V": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" ], "Lcom/android/server/LockSettingsService;-setLockPassword-(Ljava/lang/String; I)V": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" ], "Lcom/android/server/LockSettingsService;-setLockPattern-(Ljava/lang/String; I)V": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" ], "Lcom/android/server/LockSettingsService;-setLong-(Ljava/lang/String; J I)V": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" ], "Lcom/android/server/LockSettingsService;-setString-(Ljava/lang/String; Ljava/lang/String; I)V": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" ], "Lcom/android/server/MmsServiceBroker$BinderService;-addMultimediaMessageDraft-(Ljava/lang/String; Landroid/net/Uri;)Landroid/net/Uri;": [ "android.permission.WRITE_SMS" ], "Lcom/android/server/MmsServiceBroker$BinderService;-addTextMessageDraft-(Ljava/lang/String; Ljava/lang/String; Ljava/lang/String;)Landroid/net/Uri;": [ "android.permission.WRITE_SMS" ], "Lcom/android/server/MmsServiceBroker$BinderService;-archiveStoredConversation-(Ljava/lang/String; J Z)Z": [ "android.permission.WRITE_SMS" ], "Lcom/android/server/MmsServiceBroker$BinderService;-deleteStoredConversation-(Ljava/lang/String; J)Z": [ "android.permission.WRITE_SMS" ], "Lcom/android/server/MmsServiceBroker$BinderService;-deleteStoredMessage-(Ljava/lang/String; Landroid/net/Uri;)Z": [ "android.permission.WRITE_SMS" ], "Lcom/android/server/MmsServiceBroker$BinderService;-downloadMessage-(I Ljava/lang/String; Ljava/lang/String; Landroid/net/Uri; Landroid/os/Bundle; Landroid/app/PendingIntent;)V": [ "android.permission.RECEIVE_MMS" ], "Lcom/android/server/MmsServiceBroker$BinderService;-importMultimediaMessage-(Ljava/lang/String; Landroid/net/Uri; Ljava/lang/String; J Z Z)Landroid/net/Uri;": [ "android.permission.WRITE_SMS" ], "Lcom/android/server/MmsServiceBroker$BinderService;-importTextMessage-(Ljava/lang/String; Ljava/lang/String; I Ljava/lang/String; J Z Z)Landroid/net/Uri;": [ "android.permission.WRITE_SMS" ], "Lcom/android/server/MmsServiceBroker$BinderService;-sendMessage-(I Ljava/lang/String; Landroid/net/Uri; Ljava/lang/String; Landroid/os/Bundle; Landroid/app/PendingIntent;)V": [ "android.permission.SEND_SMS" ], "Lcom/android/server/MmsServiceBroker$BinderService;-sendStoredMessage-(I Ljava/lang/String; Landroid/net/Uri; Landroid/os/Bundle; Landroid/app/PendingIntent;)V": [ "android.permission.SEND_SMS" ], "Lcom/android/server/MmsServiceBroker$BinderService;-setAutoPersisting-(Ljava/lang/String; Z)V": [ "android.permission.WRITE_SMS" ], "Lcom/android/server/MmsServiceBroker$BinderService;-updateStoredMessageStatus-(Ljava/lang/String; Landroid/net/Uri; Landroid/content/ContentValues;)Z": [ "android.permission.WRITE_SMS" ], "Lcom/android/server/MountService;-changeEncryptionPassword-(I Ljava/lang/String;)I": [ "android.permission.CRYPT_KEEPER" ], "Lcom/android/server/MountService;-createSecureContainer-(Ljava/lang/String; I Ljava/lang/String; Ljava/lang/String; I Z)I": [ "android.permission.ASEC_CREATE" ], "Lcom/android/server/MountService;-decryptStorage-(Ljava/lang/String;)I": [ "android.permission.CRYPT_KEEPER" ], "Lcom/android/server/MountService;-destroySecureContainer-(Ljava/lang/String; Z)I": [ "android.permission.ASEC_DESTROY" ], "Lcom/android/server/MountService;-encryptStorage-(I Ljava/lang/String;)I": [ "android.permission.CRYPT_KEEPER" ], "Lcom/android/server/MountService;-finalizeSecureContainer-(Ljava/lang/String;)I": [ "android.permission.ASEC_CREATE" ], "Lcom/android/server/MountService;-fixPermissionsSecureContainer-(Ljava/lang/String; I Ljava/lang/String;)I": [ "android.permission.ASEC_CREATE" ], "Lcom/android/server/MountService;-formatVolume-(Ljava/lang/String;)I": [ "android.permission.MOUNT_FORMAT_FILESYSTEMS" ], "Lcom/android/server/MountService;-getEncryptionState-()I": [ "android.permission.CRYPT_KEEPER" ], "Lcom/android/server/MountService;-getSecureContainerFilesystemPath-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.ASEC_ACCESS" ], "Lcom/android/server/MountService;-getSecureContainerList-()[Ljava/lang/String;": [ "android.permission.ASEC_ACCESS" ], "Lcom/android/server/MountService;-getSecureContainerPath-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.ASEC_ACCESS" ], "Lcom/android/server/MountService;-getStorageUsers-(Ljava/lang/String;)[I": [ "android.permission.MOUNT_UNMOUNT_FILESYSTEMS" ], "Lcom/android/server/MountService;-getVolumeList-()[Landroid/os/storage/StorageVolume;": [ "android.permission.ACCESS_ALL_EXTERNAL_STORAGE" ], "Lcom/android/server/MountService;-isSecureContainerMounted-(Ljava/lang/String;)Z": [ "android.permission.ASEC_ACCESS" ], "Lcom/android/server/MountService;-mountSecureContainer-(Ljava/lang/String; Ljava/lang/String; I Z)I": [ "android.permission.ASEC_MOUNT_UNMOUNT" ], "Lcom/android/server/MountService;-mountVolume-(Ljava/lang/String;)I": [ "android.permission.MOUNT_UNMOUNT_FILESYSTEMS" ], "Lcom/android/server/MountService;-renameSecureContainer-(Ljava/lang/String; Ljava/lang/String;)I": [ "android.permission.ASEC_RENAME" ], "Lcom/android/server/MountService;-resizeSecureContainer-(Ljava/lang/String; I Ljava/lang/String;)I": [ "android.permission.ASEC_CREATE" ], "Lcom/android/server/MountService;-runMaintenance-()V": [ "android.permission.MOUNT_UNMOUNT_FILESYSTEMS" ], "Lcom/android/server/MountService;-setUsbMassStorageEnabled-(Z)V": [ "android.permission.MOUNT_UNMOUNT_FILESYSTEMS" ], "Lcom/android/server/MountService;-shutdown-(Landroid/os/storage/IMountShutdownObserver;)V": [ "android.permission.SHUTDOWN" ], "Lcom/android/server/MountService;-unmountSecureContainer-(Ljava/lang/String; Z)I": [ "android.permission.ASEC_MOUNT_UNMOUNT" ], "Lcom/android/server/MountService;-unmountVolume-(Ljava/lang/String; Z Z)V": [ "android.permission.MOUNT_UNMOUNT_FILESYSTEMS" ], "Lcom/android/server/MountService;-verifyEncryptionPassword-(Ljava/lang/String;)I": [ "android.permission.CRYPT_KEEPER" ], "Lcom/android/server/NetworkManagementService;-addIdleTimer-(Ljava/lang/String; I I)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-addInterfaceToLocalNetwork-(Ljava/lang/String; Ljava/util/List;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-addInterfaceToNetwork-(Ljava/lang/String; I)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-addLegacyRouteForNetId-(I Landroid/net/RouteInfo; I)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-addRoute-(I Landroid/net/RouteInfo;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-addVpnUidRanges-(I [Landroid/net/UidRange;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-allowProtect-(I)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-attachPppd-(Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-clearDefaultNetId-()V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-clearInterfaceAddresses-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-clearPermission-([I)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-createPhysicalNetwork-(I)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-createVirtualNetwork-(I Z Z)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-denyProtect-(I)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-detachPppd-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-disableIpv6-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-disableNat-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-enableIpv6-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-enableNat-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-flushNetworkDnsCache-(I)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getDnsForwarders-()[Ljava/lang/String;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getInterfaceConfig-(Ljava/lang/String;)Landroid/net/InterfaceConfiguration;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getIpForwardingEnabled-()Z": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getNetworkStatsDetail-()Landroid/net/NetworkStats;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getNetworkStatsSummaryDev-()Landroid/net/NetworkStats;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getNetworkStatsSummaryXt-()Landroid/net/NetworkStats;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getNetworkStatsTethering-()Landroid/net/NetworkStats;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getNetworkStatsUidDetail-(I)Landroid/net/NetworkStats;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getRoutes-(Ljava/lang/String;)[Landroid/net/RouteInfo;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-isBandwidthControlEnabled-()Z": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-isClatdStarted-(Ljava/lang/String;)Z": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-isTetheringStarted-()Z": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-listInterfaces-()[Ljava/lang/String;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-listTetheredInterfaces-()[Ljava/lang/String;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-listTtys-()[Ljava/lang/String;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-registerObserver-(Landroid/net/INetworkManagementEventObserver;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-removeIdleTimer-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-removeInterfaceAlert-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-removeInterfaceFromLocalNetwork-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-removeInterfaceFromNetwork-(Ljava/lang/String; I)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-removeInterfaceQuota-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-removeNetwork-(I)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-removeRoute-(I Landroid/net/RouteInfo;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-removeVpnUidRanges-(I [Landroid/net/UidRange;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setAccessPoint-(Landroid/net/wifi/WifiConfiguration; Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setDefaultNetId-(I)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setDnsForwarders-(Landroid/net/Network; [Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setDnsServersForNetwork-(I [Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setGlobalAlert-(J)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setInterfaceAlert-(Ljava/lang/String; J)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setInterfaceConfig-(Ljava/lang/String; Landroid/net/InterfaceConfiguration;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setInterfaceDown-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setInterfaceIpv6NdOffload-(Ljava/lang/String; Z)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setInterfaceIpv6PrivacyExtensions-(Ljava/lang/String; Z)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setInterfaceQuota-(Ljava/lang/String; J)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setInterfaceUp-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setIpForwardingEnabled-(Z)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setMtu-(Ljava/lang/String; I)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setPermission-(Ljava/lang/String; [I)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setUidNetworkRules-(I Z)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-shutdown-()V": [ "android.permission.SHUTDOWN" ], "Lcom/android/server/NetworkManagementService;-startAccessPoint-(Landroid/net/wifi/WifiConfiguration; Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-startClatd-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-startTethering-([Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-stopAccessPoint-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-stopClatd-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-stopTethering-()V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-tetherInterface-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-unregisterObserver-(Landroid/net/INetworkManagementEventObserver;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-untetherInterface-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-wifiFirmwareReload-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkScoreService;-clearScores-()Z": [ "android.permission.BROADCAST_NETWORK_PRIVILEGED", "android.permission.SCORE_NETWORKS" ], "Lcom/android/server/NetworkScoreService;-disableScoring-()V": [ "android.permission.BROADCAST_NETWORK_PRIVILEGED", "android.permission.SCORE_NETWORKS" ], "Lcom/android/server/NetworkScoreService;-registerNetworkScoreCache-(I Landroid/net/INetworkScoreCache;)V": [ "android.permission.BROADCAST_NETWORK_PRIVILEGED" ], "Lcom/android/server/NetworkScoreService;-setActiveScorer-(Ljava/lang/String;)Z": [ "android.permission.SCORE_NETWORKS" ], "Lcom/android/server/NetworkScoreService;-updateScores-([Landroid/net/ScoredNetwork;)Z": [ "android.permission.SCORE_NETWORKS" ], "Lcom/android/server/NsdService;-getMessenger-()Landroid/os/Messenger;": [ "android.permission.INTERNET" ], "Lcom/android/server/NsdService;-setEnabled-(Z)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/SerialService;-getSerialPorts-()[Ljava/lang/String;": [ "android.permission.SERIAL_PORT" ], "Lcom/android/server/SerialService;-openSerialPort-(Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;": [ "android.permission.SERIAL_PORT" ], "Lcom/android/server/TelephonyRegistry;-addOnSubscriptionsChangedListener-(Ljava/lang/String; Lcom/android/internal/telephony/IOnSubscriptionsChangedListener;)V": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-listen-(Ljava/lang/String; Lcom/android/internal/telephony/IPhoneStateListener; I Z)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.READ_PHONE_STATE", "android.permission.READ_PRECISE_PHONE_STATE", "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-listenForSubscriber-(I Ljava/lang/String; Lcom/android/internal/telephony/IPhoneStateListener; I Z)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.READ_PHONE_STATE", "android.permission.READ_PRECISE_PHONE_STATE", "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyCallForwardingChanged-(Z)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyCallForwardingChangedForSubscriber-(I Z)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyCallState-(I Ljava/lang/String;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyCallStateForSubscriber-(I I Ljava/lang/String;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyCellInfo-(Ljava/util/List;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyCellInfoForSubscriber-(I Ljava/util/List;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyCellLocation-(Landroid/os/Bundle;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyCellLocationForSubscriber-(I Landroid/os/Bundle;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyDataActivity-(I)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyDataActivityForSubscriber-(I I)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyDataConnection-(I Z Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Landroid/net/LinkProperties; Landroid/net/NetworkCapabilities; I Z)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyDataConnectionFailed-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyDataConnectionFailedForSubscriber-(I Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyDataConnectionForSubscriber-(I I Z Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Landroid/net/LinkProperties; Landroid/net/NetworkCapabilities; I Z)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyDataConnectionRealTimeInfo-(Landroid/telephony/DataConnectionRealTimeInfo;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyDisconnectCause-(I I)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyMessageWaitingChangedForPhoneId-(I I Z)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyOemHookRawEventForSubscriber-(I [B)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyOtaspChanged-(I)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyPreciseCallState-(I I I)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyPreciseDataConnectionFailed-(Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyServiceStateForPhoneId-(I I Landroid/telephony/ServiceState;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifySignalStrength-(Landroid/telephony/SignalStrength;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifySignalStrengthForSubscriber-(I Landroid/telephony/SignalStrength;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyVoLteServiceStateChanged-(Landroid/telephony/VoLteServiceState;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TextServicesManagerService;-setCurrentSpellChecker-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/TextServicesManagerService;-setCurrentSpellCheckerSubtype-(Ljava/lang/String; I)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/TextServicesManagerService;-setSpellCheckerEnabled-(Z)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/UpdateLockService;-acquireUpdateLock-(Landroid/os/IBinder; Ljava/lang/String;)V": [ "android.permission.UPDATE_LOCK" ], "Lcom/android/server/UpdateLockService;-releaseUpdateLock-(Landroid/os/IBinder;)V": [ "android.permission.UPDATE_LOCK" ], "Lcom/android/server/VibratorService;-cancelVibrate-(Landroid/os/IBinder;)V": [ "android.permission.VIBRATE" ], "Lcom/android/server/VibratorService;-vibrate-(I Ljava/lang/String; J I Landroid/os/IBinder;)V": [ "android.permission.UPDATE_APP_OPS_STATS", "android.permission.VIBRATE" ], "Lcom/android/server/VibratorService;-vibratePattern-(I Ljava/lang/String; [J I I Landroid/os/IBinder;)V": [ "android.permission.UPDATE_APP_OPS_STATS", "android.permission.VIBRATE" ], "Lcom/android/server/accessibility/AccessibilityManagerService$Service;-findAccessibilityNodeInfoByAccessibilityId-(I J I Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback; I J)Z": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService$Service;-findAccessibilityNodeInfosByText-(I J Ljava/lang/String; I Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback; J)Z": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService$Service;-findAccessibilityNodeInfosByViewId-(I J Ljava/lang/String; I Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback; J)Z": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService$Service;-findFocus-(I J I I Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback; J)Z": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService$Service;-focusSearch-(I J I I Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback; J)Z": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService$Service;-getWindow-(I)Landroid/view/accessibility/AccessibilityWindowInfo;": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService$Service;-getWindows-()Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService$Service;-performAccessibilityAction-(I J I Landroid/os/Bundle; I Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback; J)Z": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService$Service;-performGlobalAction-(I)Z": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService;-addAccessibilityInteractionConnection-(Landroid/view/IWindow; Landroid/view/accessibility/IAccessibilityInteractionConnection; I)I": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService;-addClient-(Landroid/view/accessibility/IAccessibilityManagerClient; I)I": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService;-getEnabledAccessibilityServiceList-(I I)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService;-getInstalledAccessibilityServiceList-(I)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService;-getWindowToken-(I)Landroid/os/IBinder;": [ "getWindowToken" ], "Lcom/android/server/accessibility/AccessibilityManagerService;-interrupt-(I)V": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService;-removeAccessibilityInteractionConnection-(Landroid/view/IWindow;)V": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService;-sendAccessibilityEvent-(Landroid/view/accessibility/AccessibilityEvent; I)Z": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService;-temporaryEnableAccessibilityStateUntilKeyguardRemoved-(Landroid/content/ComponentName; Z)V": [ "temporaryEnableAccessibilityStateUntilKeyguardRemoved" ], "Lcom/android/server/accounts/AccountManagerService;-addAccount-(Landroid/accounts/IAccountManagerResponse; Ljava/lang/String; Ljava/lang/String; [Ljava/lang/String; Z Landroid/os/Bundle;)V": [ "android.permission.MANAGE_ACCOUNTS" ], "Lcom/android/server/accounts/AccountManagerService;-addAccountAsUser-(Landroid/accounts/IAccountManagerResponse; Ljava/lang/String; Ljava/lang/String; [Ljava/lang/String; Z Landroid/os/Bundle; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_ACCOUNTS" ], "Lcom/android/server/accounts/AccountManagerService;-addAccountExplicitly-(Landroid/accounts/Account; Ljava/lang/String; Landroid/os/Bundle;)Z": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Lcom/android/server/accounts/AccountManagerService;-clearPassword-(Landroid/accounts/Account;)V": [ "android.permission.MANAGE_ACCOUNTS" ], "Lcom/android/server/accounts/AccountManagerService;-confirmCredentialsAsUser-(Landroid/accounts/IAccountManagerResponse; Landroid/accounts/Account; Landroid/os/Bundle; Z I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_ACCOUNTS" ], "Lcom/android/server/accounts/AccountManagerService;-copyAccountToUser-(Landroid/accounts/IAccountManagerResponse; Landroid/accounts/Account; I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/accounts/AccountManagerService;-editProperties-(Landroid/accounts/IAccountManagerResponse; Ljava/lang/String; Z)V": [ "android.permission.MANAGE_ACCOUNTS" ], "Lcom/android/server/accounts/AccountManagerService;-getAccounts-(Ljava/lang/String;)[Landroid/accounts/Account;": [ "android.permission.GET_ACCOUNTS", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/accounts/AccountManagerService;-getAccountsAsUser-(Ljava/lang/String; I)[Landroid/accounts/Account;": [ "android.permission.GET_ACCOUNTS", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/accounts/AccountManagerService;-getAccountsByFeatures-(Landroid/accounts/IAccountManagerResponse; Ljava/lang/String; [Ljava/lang/String;)V": [ "android.permission.GET_ACCOUNTS" ], "Lcom/android/server/accounts/AccountManagerService;-getAccountsByTypeForPackage-(Ljava/lang/String; Ljava/lang/String;)[Landroid/accounts/Account;": [ "android.permission.INTERACT_ACROSS_USERS", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/accounts/AccountManagerService;-getAccountsForPackage-(Ljava/lang/String; I)[Landroid/accounts/Account;": [ "android.permission.GET_ACCOUNTS", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/accounts/AccountManagerService;-getAuthToken-(Landroid/accounts/IAccountManagerResponse; Landroid/accounts/Account; Ljava/lang/String; Z Z Landroid/os/Bundle;)V": [ "android.permission.USE_CREDENTIALS" ], "Lcom/android/server/accounts/AccountManagerService;-getAuthenticatorTypes-(I)[Landroid/accounts/AuthenticatorDescription;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/accounts/AccountManagerService;-getPassword-(Landroid/accounts/Account;)Ljava/lang/String;": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Lcom/android/server/accounts/AccountManagerService;-getUserData-(Landroid/accounts/Account; Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Lcom/android/server/accounts/AccountManagerService;-hasFeatures-(Landroid/accounts/IAccountManagerResponse; Landroid/accounts/Account; [Ljava/lang/String;)V": [ "android.permission.GET_ACCOUNTS" ], "Lcom/android/server/accounts/AccountManagerService;-invalidateAuthToken-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.MANAGE_ACCOUNTS", "android.permission.USE_CREDENTIALS" ], "Lcom/android/server/accounts/AccountManagerService;-peekAuthToken-(Landroid/accounts/Account; Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Lcom/android/server/accounts/AccountManagerService;-removeAccount-(Landroid/accounts/IAccountManagerResponse; Landroid/accounts/Account; Z)V": [ "android.permission.MANAGE_ACCOUNTS" ], "Lcom/android/server/accounts/AccountManagerService;-removeAccountAsUser-(Landroid/accounts/IAccountManagerResponse; Landroid/accounts/Account; Z I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_ACCOUNTS" ], "Lcom/android/server/accounts/AccountManagerService;-removeAccountExplicitly-(Landroid/accounts/Account;)Z": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Lcom/android/server/accounts/AccountManagerService;-renameAccount-(Landroid/accounts/IAccountManagerResponse; Landroid/accounts/Account; Ljava/lang/String;)V": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Lcom/android/server/accounts/AccountManagerService;-setAuthToken-(Landroid/accounts/Account; Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Lcom/android/server/accounts/AccountManagerService;-setPassword-(Landroid/accounts/Account; Ljava/lang/String;)V": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Lcom/android/server/accounts/AccountManagerService;-setUserData-(Landroid/accounts/Account; Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Lcom/android/server/accounts/AccountManagerService;-updateCredentials-(Landroid/accounts/IAccountManagerResponse; Landroid/accounts/Account; Ljava/lang/String; Z Landroid/os/Bundle;)V": [ "android.permission.MANAGE_ACCOUNTS" ], "Lcom/android/server/am/ActivityManagerService;-appNotRespondingViaProvider-(Landroid/os/IBinder;)V": [ "android.permission.REMOVE_TASKS" ], "Lcom/android/server/am/ActivityManagerService;-bindBackupAgent-(Landroid/content/pm/ApplicationInfo; I)Z": [ "android.permission.CONFIRM_FULL_BACKUP" ], "Lcom/android/server/am/ActivityManagerService;-bootAnimationComplete-()V": [ "android.permission.BROADCAST_STICKY", "android.permission.SET_DEBUG_APP" ], "Lcom/android/server/am/ActivityManagerService;-clearPendingBackup-()V": [ "android.permission.BACKUP" ], "Lcom/android/server/am/ActivityManagerService;-crashApplication-(I I Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.FORCE_STOP_PACKAGES" ], "Lcom/android/server/am/ActivityManagerService;-createActivityContainer-(Landroid/os/IBinder; Landroid/app/IActivityContainerCallback;)Landroid/app/IActivityContainer;": [ "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-deleteActivityContainer-(Landroid/app/IActivityContainer;)V": [ "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-dumpHeap-(Ljava/lang/String; I Z Ljava/lang/String; Landroid/os/ParcelFileDescriptor;)Z": [ "android.permission.SET_ACTIVITY_WATCHER" ], "Lcom/android/server/am/ActivityManagerService;-finishHeavyWeightApp-()V": [ "android.permission.FORCE_STOP_PACKAGES" ], "Lcom/android/server/am/ActivityManagerService;-forceStopPackage-(Ljava/lang/String; I)V": [ "android.permission.FORCE_STOP_PACKAGES" ], "Lcom/android/server/am/ActivityManagerService;-getAllStackInfos-()Ljava/util/List;": [ "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-getAssistContextExtras-(I)Landroid/os/Bundle;": [ "android.permission.GET_TOP_ACTIVITY_INFO" ], "Lcom/android/server/am/ActivityManagerService;-getContentProviderExternal-(Ljava/lang/String; I Landroid/os/IBinder;)Landroid/app/IActivityManager$ContentProviderHolder;": [ "android.permission.ACCESS_CONTENT_PROVIDERS_EXTERNALLY" ], "Lcom/android/server/am/ActivityManagerService;-getCurrentUser-()Landroid/content/pm/UserInfo;": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/am/ActivityManagerService;-getHomeActivityToken-()Landroid/os/IBinder;": [ "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-getRecentTasks-(I I I)Ljava/util/List;": [ "android.permission.GET_DETAILED_TASKS", "android.permission.GET_TASKS", "android.permission.REAL_GET_TASKS" ], "Lcom/android/server/am/ActivityManagerService;-getRunningAppProcesses-()Ljava/util/List;": [ "android.permission.GET_TASKS", "android.permission.REAL_GET_TASKS" ], "Lcom/android/server/am/ActivityManagerService;-getRunningExternalApplications-()Ljava/util/List;": [ "android.permission.GET_TASKS", "android.permission.REAL_GET_TASKS" ], "Lcom/android/server/am/ActivityManagerService;-getRunningUserIds-()[I": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/am/ActivityManagerService;-getStackInfo-(I)Landroid/app/ActivityManager$StackInfo;": [ "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-getTaskThumbnail-(I)Landroid/app/ActivityManager$TaskThumbnail;": [ "android.permission.READ_FRAME_BUFFER" ], "Lcom/android/server/am/ActivityManagerService;-getTasks-(I I)Ljava/util/List;": [ "android.permission.GET_TASKS", "android.permission.REAL_GET_TASKS" ], "Lcom/android/server/am/ActivityManagerService;-hang-(Landroid/os/IBinder; Z)V": [ "android.permission.SET_ACTIVITY_WATCHER" ], "Lcom/android/server/am/ActivityManagerService;-inputDispatchingTimedOut-(I Z Ljava/lang/String;)J": [ "android.permission.FILTER_EVENTS" ], "Lcom/android/server/am/ActivityManagerService;-isInHomeStack-(I)Z": [ "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-isUserRunning-(I Z)Z": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/am/ActivityManagerService;-killAllBackgroundProcesses-()V": [ "android.permission.KILL_BACKGROUND_PROCESSES" ], "Lcom/android/server/am/ActivityManagerService;-killBackgroundProcesses-(Ljava/lang/String; I)V": [ "android.permission.KILL_BACKGROUND_PROCESSES" ], "Lcom/android/server/am/ActivityManagerService;-launchAssistIntent-(Landroid/content/Intent; I Ljava/lang/String; I)Z": [ "android.permission.GET_TOP_ACTIVITY_INFO" ], "Lcom/android/server/am/ActivityManagerService;-moveTaskBackwards-(I)V": [ "android.permission.REORDER_TASKS" ], "Lcom/android/server/am/ActivityManagerService;-moveTaskToBack-(I)V": [ "android.permission.REORDER_TASKS" ], "Lcom/android/server/am/ActivityManagerService;-moveTaskToFront-(I I Landroid/os/Bundle;)V": [ "android.permission.REORDER_TASKS" ], "Lcom/android/server/am/ActivityManagerService;-moveTaskToStack-(I I Z)V": [ "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-navigateUpTo-(Landroid/os/IBinder; Landroid/content/Intent; I Landroid/content/Intent;)Z": [ "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-performIdleMaintenance-()V": [ "android.permission.SET_ACTIVITY_WATCHER" ], "Lcom/android/server/am/ActivityManagerService;-profileControl-(Ljava/lang/String; I Z Landroid/app/ProfilerInfo; I)Z": [ "android.permission.SET_ACTIVITY_WATCHER" ], "Lcom/android/server/am/ActivityManagerService;-registerProcessObserver-(Landroid/app/IProcessObserver;)V": [ "android.permission.SET_ACTIVITY_WATCHER" ], "Lcom/android/server/am/ActivityManagerService;-registerUserSwitchObserver-(Landroid/app/IUserSwitchObserver;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/am/ActivityManagerService;-removeContentProviderExternal-(Ljava/lang/String; Landroid/os/IBinder;)V": [ "android.permission.ACCESS_CONTENT_PROVIDERS_EXTERNALLY" ], "Lcom/android/server/am/ActivityManagerService;-removeTask-(I)Z": [ "android.permission.REMOVE_TASKS" ], "Lcom/android/server/am/ActivityManagerService;-requestBugReport-()V": [ "android.permission.DUMP" ], "Lcom/android/server/am/ActivityManagerService;-resizeStack-(I Landroid/graphics/Rect;)V": [ "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-restart-()V": [ "android.permission.SET_ACTIVITY_WATCHER" ], "Lcom/android/server/am/ActivityManagerService;-resumeAppSwitches-()V": [ "android.permission.STOP_APP_SWITCHES" ], "Lcom/android/server/am/ActivityManagerService;-setActivityController-(Landroid/app/IActivityController;)V": [ "android.permission.SET_ACTIVITY_WATCHER" ], "Lcom/android/server/am/ActivityManagerService;-setAlwaysFinish-(Z)V": [ "android.permission.SET_ALWAYS_FINISH" ], "Lcom/android/server/am/ActivityManagerService;-setDebugApp-(Ljava/lang/String; Z Z)V": [ "android.permission.SET_DEBUG_APP" ], "Lcom/android/server/am/ActivityManagerService;-setFrontActivityScreenCompatMode-(I)V": [ "android.permission.SET_SCREEN_COMPATIBILITY" ], "Lcom/android/server/am/ActivityManagerService;-setLockScreenShown-(Z)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/am/ActivityManagerService;-setPackageAskScreenCompat-(Ljava/lang/String; Z)V": [ "android.permission.SET_SCREEN_COMPATIBILITY" ], "Lcom/android/server/am/ActivityManagerService;-setPackageScreenCompatMode-(Ljava/lang/String; I)V": [ "android.permission.SET_SCREEN_COMPATIBILITY" ], "Lcom/android/server/am/ActivityManagerService;-setProcessForeground-(Landroid/os/IBinder; I Z)V": [ "android.permission.SET_PROCESS_LIMIT" ], "Lcom/android/server/am/ActivityManagerService;-setProcessLimit-(I)V": [ "android.permission.SET_PROCESS_LIMIT" ], "Lcom/android/server/am/ActivityManagerService;-shutdown-(I)Z": [ "android.permission.SHUTDOWN" ], "Lcom/android/server/am/ActivityManagerService;-signalPersistentProcesses-(I)V": [ "android.permission.SIGNAL_PERSISTENT_PROCESSES" ], "Lcom/android/server/am/ActivityManagerService;-startActivities-(Landroid/app/IApplicationThread; Ljava/lang/String; [Landroid/content/Intent; [Ljava/lang/String; Landroid/os/IBinder; Landroid/os/Bundle; I)I": [ "android.permission.SET_DEBUG_APP" ], "Lcom/android/server/am/ActivityManagerService;-startActivity-(Landroid/app/IApplicationThread; Ljava/lang/String; Landroid/content/Intent; Ljava/lang/String; Landroid/os/IBinder; Ljava/lang/String; I I Landroid/app/ProfilerInfo; Landroid/os/Bundle;)I": [ "android.permission.SET_DEBUG_APP" ], "Lcom/android/server/am/ActivityManagerService;-startActivityAndWait-(Landroid/app/IApplicationThread; Ljava/lang/String; Landroid/content/Intent; Ljava/lang/String; Landroid/os/IBinder; Ljava/lang/String; I I Landroid/app/ProfilerInfo; Landroid/os/Bundle; I)Landroid/app/IActivityManager$WaitResult;": [ "android.permission.SET_DEBUG_APP" ], "Lcom/android/server/am/ActivityManagerService;-startActivityAsCaller-(Landroid/app/IApplicationThread; Ljava/lang/String; Landroid/content/Intent; Ljava/lang/String; Landroid/os/IBinder; Ljava/lang/String; I I Landroid/app/ProfilerInfo; Landroid/os/Bundle; I)I": [ "android.permission.SET_DEBUG_APP" ], "Lcom/android/server/am/ActivityManagerService;-startActivityAsUser-(Landroid/app/IApplicationThread; Ljava/lang/String; Landroid/content/Intent; Ljava/lang/String; Landroid/os/IBinder; Ljava/lang/String; I I Landroid/app/ProfilerInfo; Landroid/os/Bundle; I)I": [ "android.permission.SET_DEBUG_APP" ], "Lcom/android/server/am/ActivityManagerService;-startActivityFromRecents-(I Landroid/os/Bundle;)I": [ "android.permission.START_TASKS_FROM_RECENTS" ], "Lcom/android/server/am/ActivityManagerService;-startActivityWithConfig-(Landroid/app/IApplicationThread; Ljava/lang/String; Landroid/content/Intent; Ljava/lang/String; Landroid/os/IBinder; Ljava/lang/String; I I Landroid/content/res/Configuration; Landroid/os/Bundle; I)I": [ "android.permission.SET_DEBUG_APP" ], "Lcom/android/server/am/ActivityManagerService;-startLockTaskModeOnCurrent-()V": [ "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-startUserInBackground-(I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/am/ActivityManagerService;-startVoiceActivity-(Ljava/lang/String; I I Landroid/content/Intent; Ljava/lang/String; Landroid/service/voice/IVoiceInteractionSession; Lcom/android/internal/app/IVoiceInteractor; I Landroid/app/ProfilerInfo; Landroid/os/Bundle; I)I": [ "android.permission.BIND_VOICE_INTERACTION" ], "Lcom/android/server/am/ActivityManagerService;-stopAppSwitches-()V": [ "android.permission.STOP_APP_SWITCHES" ], "Lcom/android/server/am/ActivityManagerService;-stopLockTaskModeOnCurrent-()V": [ "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-stopUser-(I Landroid/app/IStopUserCallback;)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/am/ActivityManagerService;-systemBackupRestored-()V": [ "android.permission.SET_DEBUG_APP" ], "Lcom/android/server/am/ActivityManagerService;-unbroadcastIntent-(Landroid/app/IApplicationThread; Landroid/content/Intent; I)V": [ "android.permission.BROADCAST_STICKY" ], "Lcom/android/server/am/ActivityManagerService;-unhandledBack-()V": [ "android.permission.FORCE_BACK" ], "Lcom/android/server/am/ActivityManagerService;-updateConfiguration-(Landroid/content/res/Configuration;)V": [ "android.permission.CHANGE_CONFIGURATION" ], "Lcom/android/server/am/ActivityManagerService;-updatePersistentConfiguration-(Landroid/content/res/Configuration;)V": [ "android.permission.CHANGE_CONFIGURATION" ], "Lcom/android/server/am/BatteryStatsService;-getAwakeTimeBattery-()J": [ "android.permission.BATTERY_STATS" ], "Lcom/android/server/am/BatteryStatsService;-getAwakeTimePlugged-()J": [ "android.permission.BATTERY_STATS" ], "Lcom/android/server/am/BatteryStatsService;-getStatistics-()[B": [ "android.permission.BATTERY_STATS" ], "Lcom/android/server/am/BatteryStatsService;-getStatisticsStream-()Landroid/os/ParcelFileDescriptor;": [ "android.permission.BATTERY_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteBluetoothOff-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteBluetoothOn-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteBluetoothState-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteChangeWakelockFromSource-(Landroid/os/WorkSource; I Ljava/lang/String; Ljava/lang/String; I Landroid/os/WorkSource; I Ljava/lang/String; Ljava/lang/String; I Z)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteConnectivityChanged-(I Ljava/lang/String;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteEvent-(I Ljava/lang/String; I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteFlashlightOff-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteFlashlightOn-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteFullWifiLockAcquired-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteFullWifiLockAcquiredFromSource-(Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteFullWifiLockReleased-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteFullWifiLockReleasedFromSource-(Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteInteractive-(Z)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteJobFinish-(Ljava/lang/String; I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteJobStart-(Ljava/lang/String; I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteMobileRadioPowerState-(I J)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteNetworkInterfaceType-(Ljava/lang/String; I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteNetworkStatsEnabled-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-notePhoneDataConnectionState-(I Z)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-notePhoneOff-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-notePhoneOn-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-notePhoneSignalStrength-(Landroid/telephony/SignalStrength;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-notePhoneState-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteResetAudio-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteResetVideo-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteScreenBrightness-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteScreenState-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStartAudio-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStartGps-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStartSensor-(I I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStartVideo-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStartWakelock-(I I Ljava/lang/String; Ljava/lang/String; I Z)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStartWakelockFromSource-(Landroid/os/WorkSource; I Ljava/lang/String; Ljava/lang/String; I Z)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStopAudio-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStopGps-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStopSensor-(I I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStopVideo-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStopWakelock-(I I Ljava/lang/String; Ljava/lang/String; I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStopWakelockFromSource-(Landroid/os/WorkSource; I Ljava/lang/String; Ljava/lang/String; I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteSyncFinish-(Ljava/lang/String; I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteSyncStart-(Ljava/lang/String; I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteUserActivity-(I I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteVibratorOff-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteVibratorOn-(I J)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiBatchedScanStartedFromSource-(Landroid/os/WorkSource; I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiBatchedScanStoppedFromSource-(Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiMulticastDisabled-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiMulticastDisabledFromSource-(Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiMulticastEnabled-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiMulticastEnabledFromSource-(Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiOff-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiOn-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiRssiChanged-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiRunning-(Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiRunningChanged-(Landroid/os/WorkSource; Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiScanStarted-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiScanStartedFromSource-(Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiScanStopped-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiScanStoppedFromSource-(Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiState-(I Ljava/lang/String;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiStopped-(Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiSupplicantStateChanged-(I Z)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-setBatteryState-(I I I I I I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/ProcessStatsService;-getCurrentStats-(Ljava/util/List;)[B": [ "android.permission.PACKAGE_USAGE_STATS" ], "Lcom/android/server/am/ProcessStatsService;-getStatsOverTime-(J)Landroid/os/ParcelFileDescriptor;": [ "android.permission.PACKAGE_USAGE_STATS" ], "Lcom/android/server/appwidget/AppWidgetServiceImpl;-bindAppWidgetId-(Ljava/lang/String; I I Landroid/content/ComponentName; Landroid/os/Bundle;)Z": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/appwidget/AppWidgetServiceImpl;-bindRemoteViewsService-(Ljava/lang/String; I Landroid/content/Intent; Landroid/os/IBinder;)V": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/appwidget/AppWidgetServiceImpl;-createAppWidgetConfigIntentSender-(Ljava/lang/String; I)Landroid/content/IntentSender;": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/appwidget/AppWidgetServiceImpl;-deleteAppWidgetId-(Ljava/lang/String; I)V": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/appwidget/AppWidgetServiceImpl;-getAppWidgetInfo-(Ljava/lang/String; I)Landroid/appwidget/AppWidgetProviderInfo;": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/appwidget/AppWidgetServiceImpl;-getAppWidgetOptions-(Ljava/lang/String; I)Landroid/os/Bundle;": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/appwidget/AppWidgetServiceImpl;-getAppWidgetViews-(Ljava/lang/String; I)Landroid/widget/RemoteViews;": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/appwidget/AppWidgetServiceImpl;-hasBindAppWidgetPermission-(Ljava/lang/String; I)Z": [ "android.permission.MODIFY_APPWIDGET_BIND_PERMISSIONS" ], "Lcom/android/server/appwidget/AppWidgetServiceImpl;-notifyAppWidgetViewDataChanged-(Ljava/lang/String; [I I)V": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/appwidget/AppWidgetServiceImpl;-partiallyUpdateAppWidgetIds-(Ljava/lang/String; [I Landroid/widget/RemoteViews;)V": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/appwidget/AppWidgetServiceImpl;-setBindAppWidgetPermission-(Ljava/lang/String; I Z)V": [ "android.permission.MODIFY_APPWIDGET_BIND_PERMISSIONS" ], "Lcom/android/server/appwidget/AppWidgetServiceImpl;-unbindRemoteViewsService-(Ljava/lang/String; I Landroid/content/Intent;)V": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/appwidget/AppWidgetServiceImpl;-updateAppWidgetIds-(Ljava/lang/String; [I Landroid/widget/RemoteViews;)V": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/appwidget/AppWidgetServiceImpl;-updateAppWidgetOptions-(Ljava/lang/String; I Landroid/os/Bundle;)V": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/backup/BackupManagerService$ActiveRestoreSession;-getAvailableRestoreSets-(Landroid/app/backup/IRestoreObserver;)I": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/BackupManagerService$ActiveRestoreSession;-restoreAll-(J Landroid/app/backup/IRestoreObserver;)I": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/BackupManagerService$ActiveRestoreSession;-restorePackage-(Ljava/lang/String; Landroid/app/backup/IRestoreObserver;)I": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/BackupManagerService$ActiveRestoreSession;-restoreSome-(J Landroid/app/backup/IRestoreObserver; [Ljava/lang/String;)I": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/Trampoline;-acknowledgeFullBackupOrRestore-(I Z Ljava/lang/String; Ljava/lang/String; Landroid/app/backup/IFullBackupRestoreObserver;)V": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/Trampoline;-backupNow-()V": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/Trampoline;-beginRestoreSession-(Ljava/lang/String; Ljava/lang/String;)Landroid/app/backup/IRestoreSession;": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/Trampoline;-clearBackupData-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/Trampoline;-dataChanged-(Ljava/lang/String;)V": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/Trampoline;-fullBackup-(Landroid/os/ParcelFileDescriptor; Z Z Z Z Z Z Z [Ljava/lang/String;)V": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/Trampoline;-fullRestore-(Landroid/os/ParcelFileDescriptor;)V": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/Trampoline;-fullTransportBackup-([Ljava/lang/String;)V": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/Trampoline;-getConfigurationIntent-(Ljava/lang/String;)Landroid/content/Intent;": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/Trampoline;-getCurrentTransport-()Ljava/lang/String;": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/Trampoline;-getDataManagementIntent-(Ljava/lang/String;)Landroid/content/Intent;": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/Trampoline;-getDataManagementLabel-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/Trampoline;-getDestinationString-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/Trampoline;-hasBackupPassword-()Z": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/Trampoline;-isBackupEnabled-()Z": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/Trampoline;-listAllTransports-()[Ljava/lang/String;": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/Trampoline;-selectBackupTransport-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/Trampoline;-setAutoRestore-(Z)V": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/Trampoline;-setBackupEnabled-(Z)V": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/Trampoline;-setBackupPassword-(Ljava/lang/String; Ljava/lang/String;)Z": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/Trampoline;-setBackupProvisioned-(Z)V": [ "android.permission.BACKUP" ], "Lcom/android/server/connectivity/Tethering;-interfaceAdded-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/connectivity/Tethering;-interfaceLinkStateChanged-(Ljava/lang/String; Z)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/connectivity/Tethering;-interfaceStatusChanged-(Ljava/lang/String; Z)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/content/ContentService;-addPeriodicSync-(Landroid/accounts/Account; Ljava/lang/String; Landroid/os/Bundle; J)V": [ "android.permission.WRITE_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-cancelSync-(Landroid/accounts/Account; Ljava/lang/String; Landroid/content/ComponentName;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/content/ContentService;-cancelSyncAsUser-(Landroid/accounts/Account; Ljava/lang/String; Landroid/content/ComponentName; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/content/ContentService;-getCurrentSyncs-()Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.READ_SYNC_STATS" ], "Lcom/android/server/content/ContentService;-getCurrentSyncsAsUser-(I)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.READ_SYNC_STATS" ], "Lcom/android/server/content/ContentService;-getIsSyncable-(Landroid/accounts/Account; Ljava/lang/String;)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.READ_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-getIsSyncableAsUser-(Landroid/accounts/Account; Ljava/lang/String; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.READ_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-getMasterSyncAutomatically-()Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.READ_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-getMasterSyncAutomaticallyAsUser-(I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.READ_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-getPeriodicSyncs-(Landroid/accounts/Account; Ljava/lang/String; Landroid/content/ComponentName;)Ljava/util/List;": [ "android.permission.READ_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-getSyncAdapterTypes-()[Landroid/content/SyncAdapterType;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/content/ContentService;-getSyncAdapterTypesAsUser-(I)[Landroid/content/SyncAdapterType;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/content/ContentService;-getSyncAutomatically-(Landroid/accounts/Account; Ljava/lang/String;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.READ_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-getSyncAutomaticallyAsUser-(Landroid/accounts/Account; Ljava/lang/String; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.READ_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-getSyncStatus-(Landroid/accounts/Account; Ljava/lang/String; Landroid/content/ComponentName;)Landroid/content/SyncStatusInfo;": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.READ_SYNC_STATS" ], "Lcom/android/server/content/ContentService;-getSyncStatusAsUser-(Landroid/accounts/Account; Ljava/lang/String; Landroid/content/ComponentName; I)Landroid/content/SyncStatusInfo;": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.READ_SYNC_STATS" ], "Lcom/android/server/content/ContentService;-isSyncActive-(Landroid/accounts/Account; Ljava/lang/String; Landroid/content/ComponentName;)Z": [ "android.permission.READ_SYNC_STATS" ], "Lcom/android/server/content/ContentService;-isSyncPending-(Landroid/accounts/Account; Ljava/lang/String; Landroid/content/ComponentName;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.READ_SYNC_STATS" ], "Lcom/android/server/content/ContentService;-isSyncPendingAsUser-(Landroid/accounts/Account; Ljava/lang/String; Landroid/content/ComponentName; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.READ_SYNC_STATS" ], "Lcom/android/server/content/ContentService;-registerContentObserver-(Landroid/net/Uri; Z Landroid/database/IContentObserver; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/content/ContentService;-removePeriodicSync-(Landroid/accounts/Account; Ljava/lang/String; Landroid/os/Bundle;)V": [ "android.permission.WRITE_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-setIsSyncable-(Landroid/accounts/Account; Ljava/lang/String; I)V": [ "android.permission.WRITE_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-setMasterSyncAutomatically-(Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.WRITE_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-setMasterSyncAutomaticallyAsUser-(Z I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.WRITE_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-setSyncAutomatically-(Landroid/accounts/Account; Ljava/lang/String; Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.WRITE_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-setSyncAutomaticallyAsUser-(Landroid/accounts/Account; Ljava/lang/String; Z I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.WRITE_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-sync-(Landroid/content/SyncRequest;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/content/ContentService;-syncAsUser-(Landroid/content/SyncRequest; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-addCrossProfileIntentFilter-(Landroid/content/ComponentName; Landroid/content/IntentFilter; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-addCrossProfileWidgetProvider-(Landroid/content/ComponentName; Ljava/lang/String;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-addPersistentPreferredActivity-(Landroid/content/ComponentName; Landroid/content/IntentFilter; Landroid/content/ComponentName;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-clearCrossProfileIntentFilters-(Landroid/content/ComponentName;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-clearPackagePersistentPreferredActivities-(Landroid/content/ComponentName; Ljava/lang/String;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-clearProfileOwner-(Landroid/content/ComponentName;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-createAndInitializeUser-(Landroid/content/ComponentName; Ljava/lang/String; Ljava/lang/String; Landroid/content/ComponentName; Landroid/os/Bundle;)Landroid/os/UserHandle;": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_DEVICE_ADMINS", "android.permission.MANAGE_USERS" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-createUser-(Landroid/content/ComponentName; Ljava/lang/String;)Landroid/os/UserHandle;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-enableSystemApp-(Landroid/content/ComponentName; Ljava/lang/String;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-enableSystemAppWithIntent-(Landroid/content/ComponentName; Landroid/content/Intent;)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-enforceCanManageCaCerts-(Landroid/content/ComponentName;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_CA_CERTIFICATES" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getAccountTypesWithManagementDisabled-()[Ljava/lang/String;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getAccountTypesWithManagementDisabledAsUser-(I)[Ljava/lang/String;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getActiveAdmins-(I)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getApplicationRestrictions-(Landroid/content/ComponentName; Ljava/lang/String;)Landroid/os/Bundle;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getAutoTimeRequired-()Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getCameraDisabled-(Landroid/content/ComponentName; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getCrossProfileCallerIdDisabled-(Landroid/content/ComponentName;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getCrossProfileCallerIdDisabledForUser-(I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getCrossProfileWidgetProviders-(Landroid/content/ComponentName;)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getCurrentFailedPasswordAttempts-(I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getDeviceOwnerName-()Ljava/lang/String;": [ "android.permission.MANAGE_USERS" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getGlobalProxyAdmin-(I)Landroid/content/ComponentName;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getKeyguardDisabledFeatures-(Landroid/content/ComponentName; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getLockTaskPackages-(Landroid/content/ComponentName;)[Ljava/lang/String;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getMaximumFailedPasswordsForWipe-(Landroid/content/ComponentName; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getMaximumTimeToLock-(Landroid/content/ComponentName; I)J": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getPasswordExpiration-(Landroid/content/ComponentName; I)J": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getPasswordExpirationTimeout-(Landroid/content/ComponentName; I)J": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getPasswordHistoryLength-(Landroid/content/ComponentName; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getPasswordMinimumLength-(Landroid/content/ComponentName; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getPasswordMinimumLetters-(Landroid/content/ComponentName; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getPasswordMinimumLowerCase-(Landroid/content/ComponentName; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getPasswordMinimumNonLetter-(Landroid/content/ComponentName; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getPasswordMinimumNumeric-(Landroid/content/ComponentName; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getPasswordMinimumSymbols-(Landroid/content/ComponentName; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getPasswordMinimumUpperCase-(Landroid/content/ComponentName; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getPasswordQuality-(Landroid/content/ComponentName; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getPermittedAccessibilityServices-(Landroid/content/ComponentName;)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getPermittedInputMethods-(Landroid/content/ComponentName;)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getProfileOwnerName-(I)Ljava/lang/String;": [ "android.permission.MANAGE_USERS" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getProfileWithMinimumFailedPasswordsForWipe-(I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getRemoveWarning-(Landroid/content/ComponentName; Landroid/os/RemoteCallback; I)V": [ "android.permission.BIND_DEVICE_ADMIN", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getRestrictionsProvider-(I)Landroid/content/ComponentName;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getScreenCaptureDisabled-(Landroid/content/ComponentName; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getStorageEncryption-(Landroid/content/ComponentName; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getStorageEncryptionStatus-(I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getTrustAgentConfiguration-(Landroid/content/ComponentName; Landroid/content/ComponentName; I)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-hasGrantedPolicy-(Landroid/content/ComponentName; I I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-hasUserSetupCompleted-()Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-installCaCert-(Landroid/content/ComponentName; [B)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_CA_CERTIFICATES" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-installKeyPair-(Landroid/content/ComponentName; [B [B Ljava/lang/String;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-isActivePasswordSufficient-(I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-isAdminActive-(Landroid/content/ComponentName; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-isApplicationHidden-(Landroid/content/ComponentName; Ljava/lang/String;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-isLockTaskPermitted-(Ljava/lang/String;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-isMasterVolumeMuted-(Landroid/content/ComponentName;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-isRemovingAdmin-(Landroid/content/ComponentName; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-isUninstallBlocked-(Landroid/content/ComponentName; Ljava/lang/String;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-lockNow-()V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-notifyLockTaskModeChanged-(Z Ljava/lang/String; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-packageHasActiveAdmins-(Ljava/lang/String; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-removeActiveAdmin-(Landroid/content/ComponentName; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_DEVICE_ADMINS" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-removeCrossProfileWidgetProvider-(Landroid/content/ComponentName; Ljava/lang/String;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-removeUser-(Landroid/content/ComponentName; Landroid/os/UserHandle;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-reportFailedPasswordAttempt-(I)V": [ "android.permission.BIND_DEVICE_ADMIN", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-reportSuccessfulPasswordAttempt-(I)V": [ "android.permission.BIND_DEVICE_ADMIN", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-resetPassword-(Ljava/lang/String; I I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setAccountManagementDisabled-(Landroid/content/ComponentName; Ljava/lang/String; Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setActiveAdmin-(Landroid/content/ComponentName; Z I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_DEVICE_ADMINS" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setActivePasswordState-(I I I I I I I I I)V": [ "android.permission.BIND_DEVICE_ADMIN", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setApplicationHidden-(Landroid/content/ComponentName; Ljava/lang/String; Z)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setApplicationRestrictions-(Landroid/content/ComponentName; Ljava/lang/String; Landroid/os/Bundle;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setAutoTimeRequired-(Landroid/content/ComponentName; I Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setCameraDisabled-(Landroid/content/ComponentName; Z I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setCrossProfileCallerIdDisabled-(Landroid/content/ComponentName; Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setDeviceOwner-(Ljava/lang/String; Ljava/lang/String;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setGlobalProxy-(Landroid/content/ComponentName; Ljava/lang/String; Ljava/lang/String; I)Landroid/content/ComponentName;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setGlobalSetting-(Landroid/content/ComponentName; Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setKeyguardDisabledFeatures-(Landroid/content/ComponentName; I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setLockTaskPackages-(Landroid/content/ComponentName; [Ljava/lang/String;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setMasterVolumeMuted-(Landroid/content/ComponentName; Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setMaximumFailedPasswordsForWipe-(Landroid/content/ComponentName; I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setMaximumTimeToLock-(Landroid/content/ComponentName; J I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setPasswordExpirationTimeout-(Landroid/content/ComponentName; J I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setPasswordHistoryLength-(Landroid/content/ComponentName; I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setPasswordMinimumLength-(Landroid/content/ComponentName; I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setPasswordMinimumLetters-(Landroid/content/ComponentName; I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setPasswordMinimumLowerCase-(Landroid/content/ComponentName; I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setPasswordMinimumNonLetter-(Landroid/content/ComponentName; I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setPasswordMinimumNumeric-(Landroid/content/ComponentName; I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setPasswordMinimumSymbols-(Landroid/content/ComponentName; I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setPasswordMinimumUpperCase-(Landroid/content/ComponentName; I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setPasswordQuality-(Landroid/content/ComponentName; I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setPermittedAccessibilityServices-(Landroid/content/ComponentName; Ljava/util/List;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setPermittedInputMethods-(Landroid/content/ComponentName; Ljava/util/List;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setProfileEnabled-(Landroid/content/ComponentName;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setProfileName-(Landroid/content/ComponentName; Ljava/lang/String;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setProfileOwner-(Landroid/content/ComponentName; Ljava/lang/String; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_USERS" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setRecommendedGlobalProxy-(Landroid/content/ComponentName; Landroid/net/ProxyInfo;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setRestrictionsProvider-(Landroid/content/ComponentName; Landroid/content/ComponentName;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setScreenCaptureDisabled-(Landroid/content/ComponentName; I Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setSecureSetting-(Landroid/content/ComponentName; Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setStorageEncryption-(Landroid/content/ComponentName; Z I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setTrustAgentConfiguration-(Landroid/content/ComponentName; Landroid/content/ComponentName; Landroid/os/PersistableBundle; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setUninstallBlocked-(Landroid/content/ComponentName; Ljava/lang/String; Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setUserRestriction-(Landroid/content/ComponentName; Ljava/lang/String; Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-switchUser-(Landroid/content/ComponentName; Landroid/os/UserHandle;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-uninstallCaCert-(Landroid/content/ComponentName; Ljava/lang/String;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_CA_CERTIFICATES" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-wipeData-(I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/display/DisplayManagerService$BinderService;-connectWifiDisplay-(Ljava/lang/String;)V": [ "android.permission.CONFIGURE_WIFI_DISPLAY" ], "Lcom/android/server/display/DisplayManagerService$BinderService;-createVirtualDisplay-(Landroid/hardware/display/IVirtualDisplayCallback; Landroid/media/projection/IMediaProjection; Ljava/lang/String; Ljava/lang/String; I I I Landroid/view/Surface; I)I": [ "android.permission.CAPTURE_SECURE_VIDEO_OUTPUT", "android.permission.CAPTURE_VIDEO_OUTPUT" ], "Lcom/android/server/display/DisplayManagerService$BinderService;-forgetWifiDisplay-(Ljava/lang/String;)V": [ "android.permission.CONFIGURE_WIFI_DISPLAY" ], "Lcom/android/server/display/DisplayManagerService$BinderService;-pauseWifiDisplay-()V": [ "android.permission.CONFIGURE_WIFI_DISPLAY" ], "Lcom/android/server/display/DisplayManagerService$BinderService;-renameWifiDisplay-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.CONFIGURE_WIFI_DISPLAY" ], "Lcom/android/server/display/DisplayManagerService$BinderService;-resumeWifiDisplay-()V": [ "android.permission.CONFIGURE_WIFI_DISPLAY" ], "Lcom/android/server/display/DisplayManagerService$BinderService;-startWifiDisplayScan-()V": [ "android.permission.CONFIGURE_WIFI_DISPLAY" ], "Lcom/android/server/display/DisplayManagerService$BinderService;-stopWifiDisplayScan-()V": [ "android.permission.CONFIGURE_WIFI_DISPLAY" ], "Lcom/android/server/dreams/DreamManagerService$BinderService;-awaken-()V": [ "android.permission.WRITE_DREAM_STATE" ], "Lcom/android/server/dreams/DreamManagerService$BinderService;-dream-()V": [ "android.permission.WRITE_DREAM_STATE" ], "Lcom/android/server/dreams/DreamManagerService$BinderService;-getDefaultDreamComponent-()Landroid/content/ComponentName;": [ "android.permission.READ_DREAM_STATE" ], "Lcom/android/server/dreams/DreamManagerService$BinderService;-getDreamComponents-()[Landroid/content/ComponentName;": [ "android.permission.READ_DREAM_STATE" ], "Lcom/android/server/dreams/DreamManagerService$BinderService;-isDreaming-()Z": [ "android.permission.READ_DREAM_STATE" ], "Lcom/android/server/dreams/DreamManagerService$BinderService;-setDreamComponents-([Landroid/content/ComponentName;)V": [ "android.permission.WRITE_DREAM_STATE" ], "Lcom/android/server/dreams/DreamManagerService$BinderService;-testDream-(Landroid/content/ComponentName;)V": [ "android.permission.WRITE_DREAM_STATE" ], "Lcom/android/server/ethernet/EthernetServiceImpl;-addListener-(Landroid/net/IEthernetServiceListener;)V": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ethernet/EthernetServiceImpl;-getConfiguration-()Landroid/net/IpConfiguration;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ethernet/EthernetServiceImpl;-isAvailable-()Z": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ethernet/EthernetServiceImpl;-removeListener-(Landroid/net/IEthernetServiceListener;)V": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ethernet/EthernetServiceImpl;-setConfiguration-(Landroid/net/IpConfiguration;)V": [ "android.permission.CHANGE_NETWORK_STATE", "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-addDeviceEventListener-(Landroid/hardware/hdmi/IHdmiDeviceEventListener;)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-addHdmiMhlVendorCommandListener-(Landroid/hardware/hdmi/IHdmiMhlVendorCommandListener;)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-addHotplugEventListener-(Landroid/hardware/hdmi/IHdmiHotplugEventListener;)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-addSystemAudioModeChangeListener-(Landroid/hardware/hdmi/IHdmiSystemAudioModeChangeListener;)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-addVendorCommandListener-(Landroid/hardware/hdmi/IHdmiVendorCommandListener; I)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-canChangeSystemAudioMode-()Z": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-clearTimerRecording-(I I [B)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-deviceSelect-(I Landroid/hardware/hdmi/IHdmiControlCallback;)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-getActiveSource-()Landroid/hardware/hdmi/HdmiDeviceInfo;": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-getDeviceList-()Ljava/util/List;": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-getInputDevices-()Ljava/util/List;": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-getPortInfo-()Ljava/util/List;": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-getSupportedTypes-()[I": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-getSystemAudioMode-()Z": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-oneTouchPlay-(Landroid/hardware/hdmi/IHdmiControlCallback;)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-portSelect-(I Landroid/hardware/hdmi/IHdmiControlCallback;)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-queryDisplayStatus-(Landroid/hardware/hdmi/IHdmiControlCallback;)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-removeHotplugEventListener-(Landroid/hardware/hdmi/IHdmiHotplugEventListener;)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-removeSystemAudioModeChangeListener-(Landroid/hardware/hdmi/IHdmiSystemAudioModeChangeListener;)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-sendKeyEvent-(I I Z)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-sendMhlVendorCommand-(I I I [B)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-sendStandby-(I I)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-sendVendorCommand-(I I [B Z)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-setArcMode-(Z)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-setHdmiRecordListener-(Landroid/hardware/hdmi/IHdmiRecordListener;)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-setInputChangeListener-(Landroid/hardware/hdmi/IHdmiInputChangeListener;)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-setProhibitMode-(Z)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-setSystemAudioMode-(Z Landroid/hardware/hdmi/IHdmiControlCallback;)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-setSystemAudioMute-(Z)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-setSystemAudioVolume-(I I I)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-startOneTouchRecord-(I [B)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-startTimerRecording-(I I [B)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-stopOneTouchRecord-(I)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/input/InputManagerService;-addKeyboardLayoutForInputDevice-(Landroid/hardware/input/InputDeviceIdentifier; Ljava/lang/String;)V": [ "android.permission.SET_KEYBOARD_LAYOUT" ], "Lcom/android/server/input/InputManagerService;-removeKeyboardLayoutForInputDevice-(Landroid/hardware/input/InputDeviceIdentifier; Ljava/lang/String;)V": [ "android.permission.SET_KEYBOARD_LAYOUT" ], "Lcom/android/server/input/InputManagerService;-setCurrentKeyboardLayoutForInputDevice-(Landroid/hardware/input/InputDeviceIdentifier; Ljava/lang/String;)V": [ "android.permission.SET_KEYBOARD_LAYOUT" ], "Lcom/android/server/input/InputManagerService;-setTouchCalibrationForInputDevice-(Ljava/lang/String; I Landroid/hardware/input/TouchCalibration;)V": [ "android.permission.SET_INPUT_CALIBRATION" ], "Lcom/android/server/input/InputManagerService;-tryPointerSpeed-(I)V": [ "android.permission.SET_POINTER_SPEED" ], "Lcom/android/server/job/JobSchedulerService$JobSchedulerStub;-schedule-(Landroid/app/job/JobInfo;)I": [ "android.permission.RECEIVE_BOOT_COMPLETED" ], "Lcom/android/server/media/MediaRouterService;-registerClientAsUser-(Landroid/media/IMediaRouterClient; Ljava/lang/String; I)V": [ "android.permission.CONFIGURE_WIFI_DISPLAY" ], "Lcom/android/server/media/MediaSessionRecord$SessionStub;-setFlags-(I)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/media/projection/MediaProjectionManagerService$BinderService;-addCallback-(Landroid/media/projection/IMediaProjectionWatcherCallback;)V": [ "android.permission.MANAGE_MEDIA_PROJECTION" ], "Lcom/android/server/media/projection/MediaProjectionManagerService$BinderService;-createProjection-(I Ljava/lang/String; I Z)Landroid/media/projection/IMediaProjection;": [ "android.permission.MANAGE_MEDIA_PROJECTION", "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/server/media/projection/MediaProjectionManagerService$BinderService;-getActiveProjectionInfo-()Landroid/media/projection/MediaProjectionInfo;": [ "android.permission.MANAGE_MEDIA_PROJECTION" ], "Lcom/android/server/media/projection/MediaProjectionManagerService$BinderService;-removeCallback-(Landroid/media/projection/IMediaProjectionWatcherCallback;)V": [ "android.permission.MANAGE_MEDIA_PROJECTION" ], "Lcom/android/server/media/projection/MediaProjectionManagerService$BinderService;-stopActiveProjection-()V": [ "android.permission.MANAGE_MEDIA_PROJECTION" ], "Lcom/android/server/net/NetworkPolicyManagerService;-addUidPolicy-(I I)V": [ "android.permission.CONNECTIVITY_INTERNAL", "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-getNetworkPolicies-()[Landroid/net/NetworkPolicy;": [ "android.permission.MANAGE_NETWORK_POLICY", "android.permission.READ_PHONE_STATE" ], "Lcom/android/server/net/NetworkPolicyManagerService;-getNetworkQuotaInfo-(Landroid/net/NetworkState;)Landroid/net/NetworkQuotaInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/net/NetworkPolicyManagerService;-getPowerSaveAppIdWhitelist-()[I": [ "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-getRestrictBackground-()Z": [ "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-getUidPolicy-(I)I": [ "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-getUidsWithPolicy-(I)[I": [ "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-isUidForeground-(I)Z": [ "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-registerListener-(Landroid/net/INetworkPolicyListener;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/net/NetworkPolicyManagerService;-removeUidPolicy-(I I)V": [ "android.permission.CONNECTIVITY_INTERNAL", "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-setNetworkPolicies-([Landroid/net/NetworkPolicy;)V": [ "android.permission.CONNECTIVITY_INTERNAL", "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-setRestrictBackground-(Z)V": [ "android.permission.CONNECTIVITY_INTERNAL", "android.permission.MANAGE_NETWORK_POLICY", "android.permission.READ_PHONE_STATE" ], "Lcom/android/server/net/NetworkPolicyManagerService;-setUidPolicy-(I I)V": [ "android.permission.CONNECTIVITY_INTERNAL", "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-snoozeLimit-(Landroid/net/NetworkTemplate;)V": [ "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-unregisterListener-(Landroid/net/INetworkPolicyListener;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/net/NetworkStatsService;-advisePersistThreshold-(J)V": [ "android.permission.CONNECTIVITY_INTERNAL", "android.permission.MODIFY_NETWORK_ACCOUNTING" ], "Lcom/android/server/net/NetworkStatsService;-forceUpdate-()V": [ "android.permission.READ_NETWORK_USAGE_HISTORY" ], "Lcom/android/server/net/NetworkStatsService;-forceUpdateIfaces-()V": [ "android.permission.READ_NETWORK_USAGE_HISTORY" ], "Lcom/android/server/net/NetworkStatsService;-getDataLayerSnapshotForUid-(I)Landroid/net/NetworkStats;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/net/NetworkStatsService;-getNetworkTotalBytes-(Landroid/net/NetworkTemplate; J J)J": [ "android.permission.READ_NETWORK_USAGE_HISTORY" ], "Lcom/android/server/net/NetworkStatsService;-incrementOperationCount-(I I I)V": [ "android.permission.MODIFY_NETWORK_ACCOUNTING" ], "Lcom/android/server/net/NetworkStatsService;-openSession-()Landroid/net/INetworkStatsSession;": [ "android.permission.READ_NETWORK_USAGE_HISTORY" ], "Lcom/android/server/net/NetworkStatsService;-setUidForeground-(I Z)V": [ "android.permission.MODIFY_NETWORK_ACCOUNTING" ], "Lcom/android/server/pm/PackageInstallerService;-setPermissionsResult-(I Z)V": [ "android.permission.INSTALL_PACKAGES" ], "Lcom/android/server/pm/PackageInstallerService;-uninstall-(Ljava/lang/String; I Landroid/content/IntentSender; I)V": [ "android.permission.DELETE_PACKAGES" ], "Lcom/android/server/pm/PackageManagerService;-addCrossProfileIntentFilter-(Landroid/content/IntentFilter; Ljava/lang/String; I I I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-addPreferredActivity-(Landroid/content/IntentFilter; I [Landroid/content/ComponentName; Landroid/content/ComponentName; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.SET_PREFERRED_APPLICATIONS" ], "Lcom/android/server/pm/PackageManagerService;-canForwardTo-(Landroid/content/Intent; Ljava/lang/String; I I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-clearApplicationUserData-(Ljava/lang/String; Landroid/content/pm/IPackageDataObserver; I)V": [ "android.permission.CLEAR_APP_USER_DATA", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-clearCrossProfileIntentFilters-(I Ljava/lang/String; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-clearPackagePreferredActivities-(Ljava/lang/String;)V": [ "android.permission.SET_PREFERRED_APPLICATIONS" ], "Lcom/android/server/pm/PackageManagerService;-deleteApplicationCacheFiles-(Ljava/lang/String; Landroid/content/pm/IPackageDataObserver;)V": [ "android.permission.DELETE_CACHE_FILES" ], "Lcom/android/server/pm/PackageManagerService;-deletePackage-(Ljava/lang/String; Landroid/content/pm/IPackageDeleteObserver2; I I)V": [ "android.permission.DELETE_PACKAGES", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-deletePackageAsUser-(Ljava/lang/String; Landroid/content/pm/IPackageDeleteObserver; I I)V": [ "android.permission.DELETE_PACKAGES", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-extendVerificationTimeout-(I I J)V": [ "android.permission.PACKAGE_VERIFICATION_AGENT" ], "Lcom/android/server/pm/PackageManagerService;-freeStorage-(J Landroid/content/IntentSender;)V": [ "android.permission.CLEAR_APP_CACHE" ], "Lcom/android/server/pm/PackageManagerService;-freeStorageAndNotify-(J Landroid/content/pm/IPackageDataObserver;)V": [ "android.permission.CLEAR_APP_CACHE" ], "Lcom/android/server/pm/PackageManagerService;-getActivityInfo-(Landroid/content/ComponentName; I I)Landroid/content/pm/ActivityInfo;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getApplicationEnabledSetting-(Ljava/lang/String; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getApplicationHiddenSettingAsUser-(Ljava/lang/String; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_USERS" ], "Lcom/android/server/pm/PackageManagerService;-getApplicationInfo-(Ljava/lang/String; I I)Landroid/content/pm/ApplicationInfo;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getComponentEnabledSetting-(Landroid/content/ComponentName; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getHomeActivities-(Ljava/util/List;)Landroid/content/ComponentName;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getInstalledPackages-(I I)Landroid/content/pm/ParceledListSlice;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getLastChosenActivity-(Landroid/content/Intent; Ljava/lang/String; I)Landroid/content/pm/ResolveInfo;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getPackageInfo-(Ljava/lang/String; I I)Landroid/content/pm/PackageInfo;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getPackageSizeInfo-(Ljava/lang/String; I Landroid/content/pm/IPackageStatsObserver;)V": [ "android.permission.GET_PACKAGE_SIZE" ], "Lcom/android/server/pm/PackageManagerService;-getPackageUid-(Ljava/lang/String; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getProviderInfo-(Landroid/content/ComponentName; I I)Landroid/content/pm/ProviderInfo;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getReceiverInfo-(Landroid/content/ComponentName; I I)Landroid/content/pm/ActivityInfo;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getServiceInfo-(Landroid/content/ComponentName; I I)Landroid/content/pm/ServiceInfo;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getVerifierDeviceIdentity-()Landroid/content/pm/VerifierDeviceIdentity;": [ "android.permission.PACKAGE_VERIFICATION_AGENT" ], "Lcom/android/server/pm/PackageManagerService;-grantPermission-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.GRANT_REVOKE_PERMISSIONS" ], "Lcom/android/server/pm/PackageManagerService;-installExistingPackageAsUser-(Ljava/lang/String; I)I": [ "android.permission.INSTALL_PACKAGES", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-installPackage-(Ljava/lang/String; Landroid/content/pm/IPackageInstallObserver2; I Ljava/lang/String; Landroid/content/pm/VerificationParams; Ljava/lang/String;)V": [ "android.permission.INSTALL_PACKAGES", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-installPackageAsUser-(Ljava/lang/String; Landroid/content/pm/IPackageInstallObserver2; I Ljava/lang/String; Landroid/content/pm/VerificationParams; Ljava/lang/String; I)V": [ "android.permission.INSTALL_PACKAGES", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-isPackageAvailable-(Ljava/lang/String; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-movePackage-(Ljava/lang/String; Landroid/content/pm/IPackageMoveObserver; I)V": [ "android.permission.MOVE_PACKAGE" ], "Lcom/android/server/pm/PackageManagerService;-queryIntentActivities-(Landroid/content/Intent; Ljava/lang/String; I I)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-queryIntentActivityOptions-(Landroid/content/ComponentName; [Landroid/content/Intent; [Ljava/lang/String; Landroid/content/Intent; Ljava/lang/String; I I)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-queryIntentContentProviders-(Landroid/content/Intent; Ljava/lang/String; I I)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-queryIntentReceivers-(Landroid/content/Intent; Ljava/lang/String; I I)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-queryIntentServices-(Landroid/content/Intent; Ljava/lang/String; I I)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-replacePreferredActivity-(Landroid/content/IntentFilter; I [Landroid/content/ComponentName; Landroid/content/ComponentName; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.SET_PREFERRED_APPLICATIONS" ], "Lcom/android/server/pm/PackageManagerService;-resetPreferredActivities-(I)V": [ "android.permission.SET_PREFERRED_APPLICATIONS" ], "Lcom/android/server/pm/PackageManagerService;-resolveIntent-(Landroid/content/Intent; Ljava/lang/String; I I)Landroid/content/pm/ResolveInfo;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-resolveService-(Landroid/content/Intent; Ljava/lang/String; I I)Landroid/content/pm/ResolveInfo;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-revokePermission-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.GRANT_REVOKE_PERMISSIONS" ], "Lcom/android/server/pm/PackageManagerService;-setApplicationEnabledSetting-(Ljava/lang/String; I I I Ljava/lang/String;)V": [ "android.permission.CHANGE_COMPONENT_ENABLED_STATE", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-setApplicationHiddenSettingAsUser-(Ljava/lang/String; Z I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_USERS" ], "Lcom/android/server/pm/PackageManagerService;-setBlockUninstallForUser-(Ljava/lang/String; Z I)Z": [ "android.permission.DELETE_PACKAGES" ], "Lcom/android/server/pm/PackageManagerService;-setComponentEnabledSetting-(Landroid/content/ComponentName; I I I)V": [ "android.permission.CHANGE_COMPONENT_ENABLED_STATE", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-setInstallLocation-(I)Z": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/pm/PackageManagerService;-setLastChosenActivity-(Landroid/content/Intent; Ljava/lang/String; I Landroid/content/IntentFilter; I Landroid/content/ComponentName;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.SET_PREFERRED_APPLICATIONS" ], "Lcom/android/server/pm/PackageManagerService;-setPackageStoppedState-(Ljava/lang/String; Z I)V": [ "android.permission.CHANGE_COMPONENT_ENABLED_STATE", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-setPermissionEnforced-(Ljava/lang/String; Z)V": [ "android.permission.GRANT_REVOKE_PERMISSIONS" ], "Lcom/android/server/pm/PackageManagerService;-verifyPendingInstall-(I I)V": [ "android.permission.PACKAGE_VERIFICATION_AGENT" ], "Lcom/android/server/power/PowerManagerService$BinderService;-acquireWakeLock-(Landroid/os/IBinder; I Ljava/lang/String; Ljava/lang/String; Landroid/os/WorkSource; Ljava/lang/String;)V": [ "android.permission.WAKE_LOCK" ], "Lcom/android/server/power/PowerManagerService$BinderService;-acquireWakeLockWithUid-(Landroid/os/IBinder; I Ljava/lang/String; Ljava/lang/String; I)V": [ "android.permission.WAKE_LOCK" ], "Lcom/android/server/power/PowerManagerService$BinderService;-boostScreenBrightness-(J)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/power/PowerManagerService$BinderService;-crash-(Ljava/lang/String;)V": [ "android.permission.REBOOT" ], "Lcom/android/server/power/PowerManagerService$BinderService;-goToSleep-(J I I)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/power/PowerManagerService$BinderService;-nap-(J)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/power/PowerManagerService$BinderService;-powerHint-(I I)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/power/PowerManagerService$BinderService;-reboot-(Z Ljava/lang/String; Z)V": [ "android.permission.REBOOT", "android.permission.RECOVERY" ], "Lcom/android/server/power/PowerManagerService$BinderService;-releaseWakeLock-(Landroid/os/IBinder; I)V": [ "android.permission.WAKE_LOCK" ], "Lcom/android/server/power/PowerManagerService$BinderService;-setAttentionLight-(Z I)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/power/PowerManagerService$BinderService;-setPowerSaveMode-(Z)Z": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/power/PowerManagerService$BinderService;-setStayOnSetting-(I)V": [ "android.permission.WRITE_SETTINGS" ], "Lcom/android/server/power/PowerManagerService$BinderService;-setTemporaryScreenAutoBrightnessAdjustmentSettingOverride-(F)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/power/PowerManagerService$BinderService;-setTemporaryScreenBrightnessSettingOverride-(I)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/power/PowerManagerService$BinderService;-shutdown-(Z Z)V": [ "android.permission.REBOOT" ], "Lcom/android/server/power/PowerManagerService$BinderService;-updateWakeLockUids-(Landroid/os/IBinder; [I)V": [ "android.permission.UPDATE_DEVICE_STATS", "android.permission.WAKE_LOCK" ], "Lcom/android/server/power/PowerManagerService$BinderService;-updateWakeLockWorkSource-(Landroid/os/IBinder; Landroid/os/WorkSource; Ljava/lang/String;)V": [ "android.permission.UPDATE_DEVICE_STATS", "android.permission.WAKE_LOCK" ], "Lcom/android/server/power/PowerManagerService$BinderService;-userActivity-(J I I)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/power/PowerManagerService$BinderService;-wakeUp-(J)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/print/PrintManagerService$PrintManagerImpl;-addPrintJobStateChangeListener-(Landroid/print/IPrintJobStateChangeListener; I I)V": [ "com.android.printspooler.permission.ACCESS_ALL_PRINT_JOBS" ], "Lcom/android/server/print/PrintManagerService$PrintManagerImpl;-cancelPrintJob-(Landroid/print/PrintJobId; I I)V": [ "com.android.printspooler.permission.ACCESS_ALL_PRINT_JOBS" ], "Lcom/android/server/print/PrintManagerService$PrintManagerImpl;-getPrintJobInfo-(Landroid/print/PrintJobId; I I)Landroid/print/PrintJobInfo;": [ "com.android.printspooler.permission.ACCESS_ALL_PRINT_JOBS" ], "Lcom/android/server/print/PrintManagerService$PrintManagerImpl;-getPrintJobInfos-(I I)Ljava/util/List;": [ "com.android.printspooler.permission.ACCESS_ALL_PRINT_JOBS" ], "Lcom/android/server/print/PrintManagerService$PrintManagerImpl;-print-(Ljava/lang/String; Landroid/print/IPrintDocumentAdapter; Landroid/print/PrintAttributes; Ljava/lang/String; I I)Landroid/os/Bundle;": [ "com.android.printspooler.permission.ACCESS_ALL_PRINT_JOBS" ], "Lcom/android/server/print/PrintManagerService$PrintManagerImpl;-restartPrintJob-(Landroid/print/PrintJobId; I I)V": [ "com.android.printspooler.permission.ACCESS_ALL_PRINT_JOBS" ], "Lcom/android/server/sip/SipService;-close-(Ljava/lang/String;)V": [ "android.permission.USE_SIP" ], "Lcom/android/server/sip/SipService;-createSession-(Landroid/net/sip/SipProfile; Landroid/net/sip/ISipSessionListener;)Landroid/net/sip/ISipSession;": [ "android.permission.USE_SIP" ], "Lcom/android/server/sip/SipService;-getListOfProfiles-()[Landroid/net/sip/SipProfile;": [ "android.permission.USE_SIP" ], "Lcom/android/server/sip/SipService;-getPendingSession-(Ljava/lang/String;)Landroid/net/sip/ISipSession;": [ "android.permission.USE_SIP" ], "Lcom/android/server/sip/SipService;-isOpened-(Ljava/lang/String;)Z": [ "android.permission.USE_SIP" ], "Lcom/android/server/sip/SipService;-isRegistered-(Ljava/lang/String;)Z": [ "android.permission.USE_SIP" ], "Lcom/android/server/sip/SipService;-open-(Landroid/net/sip/SipProfile;)V": [ "android.permission.USE_SIP" ], "Lcom/android/server/sip/SipService;-open3-(Landroid/net/sip/SipProfile; Landroid/app/PendingIntent; Landroid/net/sip/ISipSessionListener;)V": [ "android.permission.USE_SIP" ], "Lcom/android/server/sip/SipService;-setRegistrationListener-(Ljava/lang/String; Landroid/net/sip/ISipSessionListener;)V": [ "android.permission.USE_SIP" ], "Lcom/android/server/statusbar/StatusBarManagerService;-clearNotificationEffects-()V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/statusbar/StatusBarManagerService;-collapsePanels-()V": [ "android.permission.EXPAND_STATUS_BAR" ], "Lcom/android/server/statusbar/StatusBarManagerService;-disable-(I Landroid/os/IBinder; Ljava/lang/String;)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/statusbar/StatusBarManagerService;-expandNotificationsPanel-()V": [ "android.permission.EXPAND_STATUS_BAR" ], "Lcom/android/server/statusbar/StatusBarManagerService;-expandSettingsPanel-()V": [ "android.permission.EXPAND_STATUS_BAR" ], "Lcom/android/server/statusbar/StatusBarManagerService;-onClearAllNotifications-(I)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/statusbar/StatusBarManagerService;-onNotificationActionClick-(Ljava/lang/String; I)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/statusbar/StatusBarManagerService;-onNotificationClear-(Ljava/lang/String; Ljava/lang/String; I I)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/statusbar/StatusBarManagerService;-onNotificationClick-(Ljava/lang/String;)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/statusbar/StatusBarManagerService;-onNotificationError-(Ljava/lang/String; Ljava/lang/String; I I I Ljava/lang/String; I)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/statusbar/StatusBarManagerService;-onNotificationExpansionChanged-(Ljava/lang/String; Z Z)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/statusbar/StatusBarManagerService;-onNotificationVisibilityChanged-([Ljava/lang/String; [Ljava/lang/String;)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/statusbar/StatusBarManagerService;-onPanelHidden-()V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/statusbar/StatusBarManagerService;-onPanelRevealed-(Z)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/statusbar/StatusBarManagerService;-registerStatusBar-(Lcom/android/internal/statusbar/IStatusBar; Lcom/android/internal/statusbar/StatusBarIconList; [I Ljava/util/List;)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/statusbar/StatusBarManagerService;-removeIcon-(Ljava/lang/String;)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/statusbar/StatusBarManagerService;-setIcon-(Ljava/lang/String; Ljava/lang/String; I I Ljava/lang/String;)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/statusbar/StatusBarManagerService;-setIconVisibility-(Ljava/lang/String; Z)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/statusbar/StatusBarManagerService;-setImeWindowStatus-(Landroid/os/IBinder; I I Z)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/statusbar/StatusBarManagerService;-setSystemUiVisibility-(I I Ljava/lang/String;)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/statusbar/StatusBarManagerService;-topAppWindowChanged-(Z)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/telecom/TelecomService$TelecomServiceImpl;-acceptRingingCall-()V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/telecom/TelecomService$TelecomServiceImpl;-cancelMissedCallsNotification-()V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/telecom/TelecomService$TelecomServiceImpl;-clearAccounts-(Ljava/lang/String;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/telecom/TelecomService$TelecomServiceImpl;-endCall-()Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/telecom/TelecomService$TelecomServiceImpl;-getAdnUriForPhoneAccount-(Landroid/telecom/PhoneAccountHandle;)Landroid/net/Uri;": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/telecom/TelecomService$TelecomServiceImpl;-getCallCapablePhoneAccounts-()Ljava/util/List;": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/server/telecom/TelecomService$TelecomServiceImpl;-getCurrentTtyMode-()I": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/server/telecom/TelecomService$TelecomServiceImpl;-getDefaultOutgoingPhoneAccount-(Ljava/lang/String;)Landroid/telecom/PhoneAccountHandle;": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/server/telecom/TelecomService$TelecomServiceImpl;-getLine1Number-(Landroid/telecom/PhoneAccountHandle;)Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/server/telecom/TelecomService$TelecomServiceImpl;-getPhoneAccountsSupportingScheme-(Ljava/lang/String;)Ljava/util/List;": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/server/telecom/TelecomService$TelecomServiceImpl;-getSimCallManagers-()Ljava/util/List;": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/server/telecom/TelecomService$TelecomServiceImpl;-handlePinMmi-(Ljava/lang/String;)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/telecom/TelecomService$TelecomServiceImpl;-handlePinMmiForPhoneAccount-(Landroid/telecom/PhoneAccountHandle; Ljava/lang/String;)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/telecom/TelecomService$TelecomServiceImpl;-hasVoiceMailNumber-(Landroid/telecom/PhoneAccountHandle;)Z": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/server/telecom/TelecomService$TelecomServiceImpl;-isInCall-()Z": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/server/telecom/TelecomService$TelecomServiceImpl;-isRinging-()Z": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/server/telecom/TelecomService$TelecomServiceImpl;-isTtySupported-()Z": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/server/telecom/TelecomService$TelecomServiceImpl;-isVoiceMailNumber-(Landroid/telecom/PhoneAccountHandle; Ljava/lang/String;)Z": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/server/telecom/TelecomService$TelecomServiceImpl;-registerPhoneAccount-(Landroid/telecom/PhoneAccount;)V": [ "android.permission.MODIFY_PHONE_STATE", "android.permission.REGISTER_CONNECTION_MANAGER" ], "Lcom/android/server/telecom/TelecomService$TelecomServiceImpl;-setSimCallManager-(Landroid/telecom/PhoneAccountHandle;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/telecom/TelecomService$TelecomServiceImpl;-setUserSelectedOutgoingPhoneAccount-(Landroid/telecom/PhoneAccountHandle;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/telecom/TelecomService$TelecomServiceImpl;-showInCallScreen-(Z)V": [ "android.permission.READ_PHONE_STATE" ], "Lcom/android/server/telecom/TelecomService$TelecomServiceImpl;-silenceRinger-()V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/telecom/TelecomService$TelecomServiceImpl;-unregisterPhoneAccount-(Landroid/telecom/PhoneAccountHandle;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/tv/TvInputManagerService$BinderService;-acquireTvInputHardware-(I Landroid/media/tv/ITvInputHardwareCallback; Landroid/media/tv/TvInputInfo; I)Landroid/media/tv/ITvInputHardware;": [ "android.permission.TV_INPUT_HARDWARE" ], "Lcom/android/server/tv/TvInputManagerService$BinderService;-addBlockedRating-(Ljava/lang/String; I)V": [ "android.permission.MODIFY_PARENTAL_CONTROLS" ], "Lcom/android/server/tv/TvInputManagerService$BinderService;-captureFrame-(Ljava/lang/String; Landroid/view/Surface; Landroid/media/tv/TvStreamConfig; I)Z": [ "android.permission.CAPTURE_TV_INPUT" ], "Lcom/android/server/tv/TvInputManagerService$BinderService;-getAvailableTvStreamConfigList-(Ljava/lang/String; I)Ljava/util/List;": [ "android.permission.CAPTURE_TV_INPUT" ], "Lcom/android/server/tv/TvInputManagerService$BinderService;-getHardwareList-()Ljava/util/List;": [ "android.permission.TV_INPUT_HARDWARE" ], "Lcom/android/server/tv/TvInputManagerService$BinderService;-releaseTvInputHardware-(I Landroid/media/tv/ITvInputHardware; I)V": [ "android.permission.TV_INPUT_HARDWARE" ], "Lcom/android/server/tv/TvInputManagerService$BinderService;-removeBlockedRating-(Ljava/lang/String; I)V": [ "android.permission.MODIFY_PARENTAL_CONTROLS" ], "Lcom/android/server/tv/TvInputManagerService$BinderService;-setParentalControlsEnabled-(Z I)V": [ "android.permission.MODIFY_PARENTAL_CONTROLS" ], "Lcom/android/server/tv/TvInputManagerService$ServiceCallback;-addHardwareTvInput-(I Landroid/media/tv/TvInputInfo;)V": [ "android.permission.TV_INPUT_HARDWARE" ], "Lcom/android/server/tv/TvInputManagerService$ServiceCallback;-addHdmiTvInput-(I Landroid/media/tv/TvInputInfo;)V": [ "android.permission.TV_INPUT_HARDWARE" ], "Lcom/android/server/tv/TvInputManagerService$ServiceCallback;-removeTvInput-(Ljava/lang/String;)V": [ "android.permission.TV_INPUT_HARDWARE" ], "Lcom/android/server/usage/UsageStatsService$BinderService;-queryConfigurationStats-(I J J Ljava/lang/String;)Landroid/content/pm/ParceledListSlice;": [ "android.permission.PACKAGE_USAGE_STATS" ], "Lcom/android/server/usage/UsageStatsService$BinderService;-queryEvents-(J J Ljava/lang/String;)Landroid/app/usage/UsageEvents;": [ "android.permission.PACKAGE_USAGE_STATS" ], "Lcom/android/server/usage/UsageStatsService$BinderService;-queryUsageStats-(I J J Ljava/lang/String;)Landroid/content/pm/ParceledListSlice;": [ "android.permission.PACKAGE_USAGE_STATS" ], "Lcom/android/server/usb/UsbService;-allowUsbDebugging-(Z Ljava/lang/String;)V": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-clearDefaults-(Ljava/lang/String; I)V": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-clearUsbDebuggingKeys-()V": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-denyUsbDebugging-()V": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-grantAccessoryPermission-(Landroid/hardware/usb/UsbAccessory; I)V": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-grantDevicePermission-(Landroid/hardware/usb/UsbDevice; I)V": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-hasDefaults-(Ljava/lang/String; I)Z": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-setAccessoryPackage-(Landroid/hardware/usb/UsbAccessory; Ljava/lang/String; I)V": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-setCurrentFunction-(Ljava/lang/String; Z)V": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-setDevicePackage-(Landroid/hardware/usb/UsbDevice; Ljava/lang/String; I)V": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-setMassStorageBackingFile-(Ljava/lang/String;)V": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;-deleteKeyphraseSoundModel-(I Ljava/lang/String;)I": [ "android.permission.MANAGE_VOICE_KEYPHRASES" ], "Lcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;-getKeyphraseSoundModel-(I Ljava/lang/String;)Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseSoundModel;": [ "android.permission.MANAGE_VOICE_KEYPHRASES" ], "Lcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;-updateKeyphraseSoundModel-(Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseSoundModel;)I": [ "android.permission.MANAGE_VOICE_KEYPHRASES" ], "Lcom/android/server/wallpaper/WallpaperManagerService;-setDimensionHints-(I I)V": [ "android.permission.SET_WALLPAPER_HINTS" ], "Lcom/android/server/wallpaper/WallpaperManagerService;-setDisplayPadding-(Landroid/graphics/Rect;)V": [ "android.permission.SET_WALLPAPER_HINTS" ], "Lcom/android/server/wallpaper/WallpaperManagerService;-setWallpaper-(Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;": [ "android.permission.SET_WALLPAPER" ], "Lcom/android/server/wallpaper/WallpaperManagerService;-setWallpaperComponent-(Landroid/content/ComponentName;)V": [ "android.permission.SET_WALLPAPER_COMPONENT" ], "Lcom/android/server/wifi/WifiServiceImpl;-acquireMulticastLock-(Landroid/os/IBinder; Ljava/lang/String;)V": [ "android.permission.CHANGE_WIFI_MULTICAST_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-acquireWifiLock-(Landroid/os/IBinder; I Ljava/lang/String; Landroid/os/WorkSource;)Z": [ "android.permission.WAKE_LOCK" ], "Lcom/android/server/wifi/WifiServiceImpl;-addOrUpdateNetwork-(Landroid/net/wifi/WifiConfiguration;)I": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-addToBlacklist-(Ljava/lang/String;)V": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-clearBlacklist-()V": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-disableEphemeralNetwork-(Ljava/lang/String;)V": [ "android.permission.ACCESS_WIFI_STATE", "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-disableNetwork-(I)Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-disconnect-()V": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-enableAggressiveHandover-(I)V": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-enableNetwork-(I Z)Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-enableVerboseLogging-(I)V": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-getAggressiveHandover-()I": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-getAllowScansWithTraffic-()I": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-getBatchedScanResults-(Ljava/lang/String;)Ljava/util/List;": [ "android.permission.ACCESS_WIFI_STATE", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/wifi/WifiServiceImpl;-getChannelList-()Ljava/util/List;": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-getConfigFile-()Ljava/lang/String;": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-getConfiguredNetworks-()Ljava/util/List;": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-getConnectionInfo-()Landroid/net/wifi/WifiInfo;": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-getConnectionStatistics-()Landroid/net/wifi/WifiConnectionStatistics;": [ "android.permission.ACCESS_WIFI_STATE", "android.permission.READ_WIFI_CREDENTIAL" ], "Lcom/android/server/wifi/WifiServiceImpl;-getDhcpInfo-()Landroid/net/DhcpInfo;": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-getFrequencyBand-()I": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-getPrivilegedConfiguredNetworks-()Ljava/util/List;": [ "android.permission.ACCESS_WIFI_STATE", "android.permission.READ_WIFI_CREDENTIAL" ], "Lcom/android/server/wifi/WifiServiceImpl;-getScanResults-(Ljava/lang/String;)Ljava/util/List;": [ "android.permission.ACCESS_WIFI_STATE", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/wifi/WifiServiceImpl;-getSupportedFeatures-()I": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-getVerboseLoggingLevel-()I": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-getWifiApConfiguration-()Landroid/net/wifi/WifiConfiguration;": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-getWifiApEnabledState-()I": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-getWifiEnabledState-()I": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-getWifiServiceMessenger-()Landroid/os/Messenger;": [ "android.permission.ACCESS_WIFI_STATE", "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-getWpsNfcConfigurationToken-(I)Ljava/lang/String;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/wifi/WifiServiceImpl;-initializeMulticastFiltering-()V": [ "android.permission.CHANGE_WIFI_MULTICAST_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-isMulticastEnabled-()Z": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-isScanAlwaysAvailable-()Z": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-pingSupplicant-()Z": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-pollBatchedScan-()V": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-reassociate-()V": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-reconnect-()V": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-releaseMulticastLock-()V": [ "android.permission.CHANGE_WIFI_MULTICAST_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-releaseWifiLock-(Landroid/os/IBinder;)Z": [ "android.permission.WAKE_LOCK" ], "Lcom/android/server/wifi/WifiServiceImpl;-removeNetwork-(I)Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-reportActivityInfo-()Landroid/net/wifi/WifiActivityEnergyInfo;": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-requestBatchedScan-(Landroid/net/wifi/BatchedScanSettings; Landroid/os/IBinder; Landroid/os/WorkSource;)Z": [ "android.permission.CHANGE_WIFI_STATE", "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/wifi/WifiServiceImpl;-saveConfiguration-()Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-setAllowScansWithTraffic-(I)V": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-setCountryCode-(Ljava/lang/String; Z)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/wifi/WifiServiceImpl;-setFrequencyBand-(I Z)V": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-setWifiApConfiguration-(Landroid/net/wifi/WifiConfiguration;)V": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-setWifiApEnabled-(Landroid/net/wifi/WifiConfiguration; Z)V": [ "android.permission.CHANGE_NETWORK_STATE", "android.permission.CHANGE_WIFI_STATE", "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/wifi/WifiServiceImpl;-setWifiEnabled-(Z)Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-startLocationRestrictedScan-(Landroid/os/WorkSource;)V": [ "android.permission.ACCESS_WIFI_STATE", "android.permission.CHANGE_WIFI_STATE", "android.permission.LOCATION_HARDWARE" ], "Lcom/android/server/wifi/WifiServiceImpl;-startScan-(Landroid/net/wifi/ScanSettings; Landroid/os/WorkSource;)V": [ "android.permission.CHANGE_WIFI_STATE", "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/wifi/WifiServiceImpl;-startWifi-()V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/wifi/WifiServiceImpl;-stopBatchedScan-(Landroid/net/wifi/BatchedScanSettings;)V": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-stopWifi-()V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/wifi/WifiServiceImpl;-updateWifiLockWorkSource-(Landroid/os/IBinder; Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/wifi/p2p/WifiP2pServiceImpl;-getMessenger-()Landroid/os/Messenger;": [ "android.permission.ACCESS_WIFI_STATE", "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/p2p/WifiP2pServiceImpl;-getP2pStateMachineMessenger-()Landroid/os/Messenger;": [ "android.permission.ACCESS_WIFI_STATE", "android.permission.CHANGE_WIFI_STATE", "android.permission.CONNECTIVITY_INTERNAL", "android.permission.LOCATION_HARDWARE" ], "Lcom/android/server/wifi/p2p/WifiP2pServiceImpl;-setMiracastMode-(I)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/wm/WindowManagerService;-addAppToken-(I Landroid/view/IApplicationToken; I I I Z Z I I Z Z)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-addWindowToken-(Landroid/os/IBinder; I)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-clearForcedDisplayDensity-(I)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/wm/WindowManagerService;-clearForcedDisplaySize-(I)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/wm/WindowManagerService;-clearWindowContentFrameStats-(Landroid/os/IBinder;)Z": [ "android.permission.FRAME_STATS" ], "Lcom/android/server/wm/WindowManagerService;-disableKeyguard-(Landroid/os/IBinder; Ljava/lang/String;)V": [ "android.permission.DISABLE_KEYGUARD" ], "Lcom/android/server/wm/WindowManagerService;-dismissKeyguard-()V": [ "android.permission.DISABLE_KEYGUARD" ], "Lcom/android/server/wm/WindowManagerService;-executeAppTransition-()V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-exitKeyguardSecurely-(Landroid/view/IOnKeyguardExitResult;)V": [ "android.permission.DISABLE_KEYGUARD" ], "Lcom/android/server/wm/WindowManagerService;-freezeRotation-(I)V": [ "android.permission.SET_ORIENTATION" ], "Lcom/android/server/wm/WindowManagerService;-getWindowContentFrameStats-(Landroid/os/IBinder;)Landroid/view/WindowContentFrameStats;": [ "android.permission.FRAME_STATS" ], "Lcom/android/server/wm/WindowManagerService;-isViewServerRunning-()Z": [ "android.permission.DUMP" ], "Lcom/android/server/wm/WindowManagerService;-keyguardGoingAway-(Z Z)V": [ "android.permission.DISABLE_KEYGUARD" ], "Lcom/android/server/wm/WindowManagerService;-pauseKeyDispatching-(Landroid/os/IBinder;)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-prepareAppTransition-(I Z)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-reenableKeyguard-(Landroid/os/IBinder;)V": [ "android.permission.DISABLE_KEYGUARD" ], "Lcom/android/server/wm/WindowManagerService;-removeAppToken-(Landroid/os/IBinder;)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-removeWindowToken-(Landroid/os/IBinder;)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-resumeKeyDispatching-(Landroid/os/IBinder;)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-screenshotApplications-(Landroid/os/IBinder; I I I Z)Landroid/graphics/Bitmap;": [ "android.permission.READ_FRAME_BUFFER" ], "Lcom/android/server/wm/WindowManagerService;-setAnimationScale-(I F)V": [ "android.permission.SET_ANIMATION_SCALE" ], "Lcom/android/server/wm/WindowManagerService;-setAnimationScales-([F)V": [ "android.permission.SET_ANIMATION_SCALE" ], "Lcom/android/server/wm/WindowManagerService;-setAppGroupId-(Landroid/os/IBinder; I)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-setAppOrientation-(Landroid/view/IApplicationToken; I)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-setAppStartingWindow-(Landroid/os/IBinder; Ljava/lang/String; I Landroid/content/res/CompatibilityInfo; Ljava/lang/CharSequence; I I I I Landroid/os/IBinder; Z)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-setAppVisibility-(Landroid/os/IBinder; Z)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-setAppWillBeHidden-(Landroid/os/IBinder;)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-setEventDispatching-(Z)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-setFocusedApp-(Landroid/os/IBinder; Z)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-setForcedDisplayDensity-(I I)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/wm/WindowManagerService;-setForcedDisplaySize-(I I I)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/wm/WindowManagerService;-setNewConfiguration-(Landroid/content/res/Configuration;)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-setOverscan-(I I I I I)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/wm/WindowManagerService;-startAppFreezingScreen-(Landroid/os/IBinder; I)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-startFreezingScreen-(I I)V": [ "android.permission.FREEZE_SCREEN" ], "Lcom/android/server/wm/WindowManagerService;-startViewServer-(I)Z": [ "android.permission.DUMP" ], "Lcom/android/server/wm/WindowManagerService;-statusBarVisibilityChanged-(I)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/wm/WindowManagerService;-stopAppFreezingScreen-(Landroid/os/IBinder; Z)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-stopFreezingScreen-()V": [ "android.permission.FREEZE_SCREEN" ], "Lcom/android/server/wm/WindowManagerService;-stopViewServer-()Z": [ "android.permission.DUMP" ], "Lcom/android/server/wm/WindowManagerService;-thawRotation-()V": [ "android.permission.SET_ORIENTATION" ], "Lcom/android/server/wm/WindowManagerService;-updateOrientationFromAppTokens-(Landroid/content/res/Configuration; Landroid/os/IBinder;)Landroid/content/res/Configuration;": [ "android.permission.MANAGE_APP_TOKENS" ], "Landroid/accounts/AccountAuthenticatorActivity;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/accounts/AccountAuthenticatorActivity;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/accounts/AccountAuthenticatorActivity;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/accounts/AccountAuthenticatorActivity;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/accounts/AccountAuthenticatorActivity;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/accounts/AccountManager;-addAccountExplicitly-(Landroid/accounts/Account; Ljava/lang/String; Landroid/os/Bundle;)Z": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Landroid/accounts/AccountManager;-addOnAccountsUpdatedListener-(Landroid/accounts/OnAccountsUpdateListener; Landroid/os/Handler; Z)V": [ "android.permission.GET_ACCOUNTS" ], "Landroid/accounts/AccountManager;-clearPassword-(Landroid/accounts/Account;)V": [ "android.permission.MANAGE_ACCOUNTS" ], "Landroid/accounts/AccountManager;-getAccounts-()[Landroid/accounts/Account;": [ "android.permission.GET_ACCOUNTS" ], "Landroid/accounts/AccountManager;-getAccountsByType-(Ljava/lang/String;)[Landroid/accounts/Account;": [ "android.permission.GET_ACCOUNTS" ], "Landroid/accounts/AccountManager;-getPassword-(Landroid/accounts/Account;)Ljava/lang/String;": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Landroid/accounts/AccountManager;-getUserData-(Landroid/accounts/Account; Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Landroid/accounts/AccountManager;-invalidateAuthToken-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.MANAGE_ACCOUNTS", "android.permission.USE_CREDENTIALS" ], "Landroid/accounts/AccountManager;-peekAuthToken-(Landroid/accounts/Account; Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Landroid/accounts/AccountManager;-removeAccountExplicitly-(Landroid/accounts/Account;)Z": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Landroid/accounts/AccountManager;-setAuthToken-(Landroid/accounts/Account; Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Landroid/accounts/AccountManager;-setPassword-(Landroid/accounts/Account; Ljava/lang/String;)V": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Landroid/accounts/AccountManager;-setUserData-(Landroid/accounts/Account; Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.AUTHENTICATE_ACCOUNTS" ], "Landroid/app/Activity;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/Activity;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/Activity;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/Activity;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/Activity;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/ActivityGroup;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/ActivityGroup;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ActivityGroup;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ActivityGroup;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/ActivityGroup;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/ActivityManager;-getRecentTasks-(I I)Ljava/util/List;": [ "android.permission.GET_TASKS" ], "Landroid/app/ActivityManager;-getRunningAppProcesses-()Ljava/util/List;": [ "android.permission.GET_TASKS" ], "Landroid/app/ActivityManager;-getRunningTasks-(I)Ljava/util/List;": [ "android.permission.GET_TASKS" ], "Landroid/app/ActivityManager;-killBackgroundProcesses-(Ljava/lang/String;)V": [ "android.permission.KILL_BACKGROUND_PROCESSES" ], "Landroid/app/ActivityManager;-moveTaskToFront-(I I)V": [ "android.permission.REORDER_TASKS" ], "Landroid/app/ActivityManager;-moveTaskToFront-(I I Landroid/os/Bundle;)V": [ "android.permission.REORDER_TASKS" ], "Landroid/app/ActivityManager;-restartPackage-(Ljava/lang/String;)V": [ "android.permission.KILL_BACKGROUND_PROCESSES" ], "Landroid/app/AliasActivity;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/AliasActivity;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/AliasActivity;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/AliasActivity;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/AliasActivity;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/Application;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/Application;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/Application;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/Application;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/Application;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/ExpandableListActivity;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/ExpandableListActivity;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ExpandableListActivity;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ExpandableListActivity;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/ExpandableListActivity;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/KeyguardManager$KeyguardLock;-disableKeyguard-()V": [ "android.permission.DISABLE_KEYGUARD" ], "Landroid/app/KeyguardManager$KeyguardLock;-reenableKeyguard-()V": [ "android.permission.DISABLE_KEYGUARD" ], "Landroid/app/KeyguardManager;-exitKeyguardSecurely-(Landroid/app/KeyguardManager$OnKeyguardExitResult;)V": [ "android.permission.DISABLE_KEYGUARD" ], "Landroid/app/ListActivity;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/ListActivity;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ListActivity;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ListActivity;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/ListActivity;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/NativeActivity;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/NativeActivity;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/NativeActivity;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/NativeActivity;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/NativeActivity;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/TabActivity;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/TabActivity;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/TabActivity;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/TabActivity;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/TabActivity;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/WallpaperManager;-clear-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/WallpaperManager;-setBitmap-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/WallpaperManager;-setResource-(I)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/WallpaperManager;-setStream-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/WallpaperManager;-suggestDesiredDimensions-(I I)V": [ "android.permission.SET_WALLPAPER_HINTS" ], "Landroid/app/backup/BackupAgentHelper;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/backup/BackupAgentHelper;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/backup/BackupAgentHelper;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/backup/BackupAgentHelper;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/backup/BackupAgentHelper;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/bluetooth/BluetoothA2dp;-finalize-()V": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothA2dp;-getConnectedDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothA2dp;-getConnectionState-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothA2dp;-getDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothA2dp;-isA2dpPlaying-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-cancelDiscovery-()Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothAdapter;-closeProfileProxy-(I Landroid/bluetooth/BluetoothProfile;)V": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-disable-()Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothAdapter;-enable-()Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothAdapter;-getAddress-()Ljava/lang/String;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-getBluetoothLeAdvertiser-()Landroid/bluetooth/le/BluetoothLeAdvertiser;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-getBluetoothLeScanner-()Landroid/bluetooth/le/BluetoothLeScanner;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-getBondedDevices-()Ljava/util/Set;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-getName-()Ljava/lang/String;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-getProfileConnectionState-(I)I": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-getProfileProxy-(Landroid/content/Context; Landroid/bluetooth/BluetoothProfile$ServiceListener; I)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-getScanMode-()I": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-getState-()I": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-isDiscovering-()Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-isEnabled-()Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-isMultipleAdvertisementSupported-()Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-isOffloadedFilteringSupported-()Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-isOffloadedScanBatchingSupported-()Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-listenUsingInsecureRfcommWithServiceRecord-(Ljava/lang/String; Ljava/util/UUID;)Landroid/bluetooth/BluetoothServerSocket;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-listenUsingRfcommWithServiceRecord-(Ljava/lang/String; Ljava/util/UUID;)Landroid/bluetooth/BluetoothServerSocket;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-setName-(Ljava/lang/String;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothAdapter;-startDiscovery-()Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothAdapter;-startLeScan-([Ljava/util/UUID; Landroid/bluetooth/BluetoothAdapter$LeScanCallback;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-startLeScan-(Landroid/bluetooth/BluetoothAdapter$LeScanCallback;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-stopLeScan-(Landroid/bluetooth/BluetoothAdapter$LeScanCallback;)V": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothDevice;-connectGatt-(Landroid/content/Context; Z Landroid/bluetooth/BluetoothGattCallback;)Landroid/bluetooth/BluetoothGatt;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothDevice;-createBond-()Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothDevice;-createInsecureRfcommSocketToServiceRecord-(Ljava/util/UUID;)Landroid/bluetooth/BluetoothSocket;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothDevice;-createRfcommSocketToServiceRecord-(Ljava/util/UUID;)Landroid/bluetooth/BluetoothSocket;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothDevice;-fetchUuidsWithSdp-()Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothDevice;-getBluetoothClass-()Landroid/bluetooth/BluetoothClass;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothDevice;-getBondState-()I": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothDevice;-getName-()Ljava/lang/String;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothDevice;-getType-()I": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothDevice;-getUuids-()[Landroid/os/ParcelUuid;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothDevice;-setPairingConfirmation-(Z)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothDevice;-setPin-([B)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothGatt;-abortReliableWrite-()V": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-abortReliableWrite-(Landroid/bluetooth/BluetoothDevice;)V": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-beginReliableWrite-()Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-close-()V": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-connect-()Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-disconnect-()V": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-discoverServices-()Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-executeReliableWrite-()Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-readCharacteristic-(Landroid/bluetooth/BluetoothGattCharacteristic;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-readDescriptor-(Landroid/bluetooth/BluetoothGattDescriptor;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-readRemoteRssi-()Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-requestConnectionPriority-(I)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-requestMtu-(I)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-setCharacteristicNotification-(Landroid/bluetooth/BluetoothGattCharacteristic; Z)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-writeCharacteristic-(Landroid/bluetooth/BluetoothGattCharacteristic;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-writeDescriptor-(Landroid/bluetooth/BluetoothGattDescriptor;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGattServer;-addService-(Landroid/bluetooth/BluetoothGattService;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGattServer;-cancelConnection-(Landroid/bluetooth/BluetoothDevice;)V": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGattServer;-clearServices-()V": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGattServer;-close-()V": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGattServer;-connect-(Landroid/bluetooth/BluetoothDevice; Z)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGattServer;-notifyCharacteristicChanged-(Landroid/bluetooth/BluetoothDevice; Landroid/bluetooth/BluetoothGattCharacteristic; Z)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGattServer;-removeService-(Landroid/bluetooth/BluetoothGattService;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGattServer;-sendResponse-(Landroid/bluetooth/BluetoothDevice; I I I [B)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHeadset;-getConnectedDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHeadset;-getConnectionState-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHeadset;-getDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHeadset;-isAudioConnected-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHeadset;-sendVendorSpecificResultCode-(Landroid/bluetooth/BluetoothDevice; Ljava/lang/String; Ljava/lang/String;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothHeadset;-startVoiceRecognition-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothHeadset;-stopVoiceRecognition-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothHealth;-connectChannelToSource-(Landroid/bluetooth/BluetoothDevice; Landroid/bluetooth/BluetoothHealthAppConfiguration;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHealth;-disconnectChannel-(Landroid/bluetooth/BluetoothDevice; Landroid/bluetooth/BluetoothHealthAppConfiguration; I)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHealth;-getConnectedDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHealth;-getConnectionState-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHealth;-getDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHealth;-getMainChannelFd-(Landroid/bluetooth/BluetoothDevice; Landroid/bluetooth/BluetoothHealthAppConfiguration;)Landroid/os/ParcelFileDescriptor;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHealth;-registerSinkAppConfiguration-(Ljava/lang/String; I Landroid/bluetooth/BluetoothHealthCallback;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHealth;-unregisterAppConfiguration-(Landroid/bluetooth/BluetoothHealthAppConfiguration;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothManager;-getConnectedDevices-(I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothManager;-getConnectionState-(Landroid/bluetooth/BluetoothDevice; I)I": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothManager;-getDevicesMatchingConnectionStates-(I [I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothManager;-openGattServer-(Landroid/content/Context; Landroid/bluetooth/BluetoothGattServerCallback;)Landroid/bluetooth/BluetoothGattServer;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothSocket;-connect-()V": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/le/BluetoothLeAdvertiser;-startAdvertising-(Landroid/bluetooth/le/AdvertiseSettings; Landroid/bluetooth/le/AdvertiseData; Landroid/bluetooth/le/AdvertiseCallback;)V": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/le/BluetoothLeAdvertiser;-startAdvertising-(Landroid/bluetooth/le/AdvertiseSettings; Landroid/bluetooth/le/AdvertiseData; Landroid/bluetooth/le/AdvertiseData; Landroid/bluetooth/le/AdvertiseCallback;)V": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/le/BluetoothLeAdvertiser;-stopAdvertising-(Landroid/bluetooth/le/AdvertiseCallback;)V": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/le/BluetoothLeScanner;-flushPendingScanResults-(Landroid/bluetooth/le/ScanCallback;)V": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/le/BluetoothLeScanner;-startScan-(Landroid/bluetooth/le/ScanCallback;)V": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/le/BluetoothLeScanner;-startScan-(Ljava/util/List; Landroid/bluetooth/le/ScanSettings; Landroid/bluetooth/le/ScanCallback;)V": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/le/BluetoothLeScanner;-stopScan-(Landroid/bluetooth/le/ScanCallback;)V": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Landroid/content/ContextWrapper;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/content/ContextWrapper;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/content/ContextWrapper;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/content/ContextWrapper;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/content/ContextWrapper;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/content/MutableContextWrapper;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/content/MutableContextWrapper;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/content/MutableContextWrapper;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/content/MutableContextWrapper;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/content/MutableContextWrapper;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/hardware/ConsumerIrManager;-getCarrierFrequencies-()[Landroid/hardware/ConsumerIrManager$CarrierFrequencyRange;": [ "android.permission.TRANSMIT_IR" ], "Landroid/hardware/ConsumerIrManager;-transmit-(I [I)V": [ "android.permission.TRANSMIT_IR" ], "Landroid/inputmethodservice/InputMethodService;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/inputmethodservice/InputMethodService;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/inputmethodservice/InputMethodService;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/inputmethodservice/InputMethodService;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/inputmethodservice/InputMethodService;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/location/LocationManager;-addGpsStatusListener-(Landroid/location/GpsStatus$Listener;)Z": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-addNmeaListener-(Landroid/location/GpsStatus$NmeaListener;)Z": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-addProximityAlert-(D D F J Landroid/app/PendingIntent;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-addTestProvider-(Ljava/lang/String; Z Z Z Z Z Z Z I I)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Landroid/location/LocationManager;-clearTestProviderEnabled-(Ljava/lang/String;)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Landroid/location/LocationManager;-clearTestProviderLocation-(Ljava/lang/String;)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Landroid/location/LocationManager;-clearTestProviderStatus-(Ljava/lang/String;)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Landroid/location/LocationManager;-getBestProvider-(Landroid/location/Criteria; Z)Ljava/lang/String;": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-getLastKnownLocation-(Ljava/lang/String;)Landroid/location/Location;": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-getProvider-(Ljava/lang/String;)Landroid/location/LocationProvider;": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-getProviders-(Landroid/location/Criteria; Z)Ljava/util/List;": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-getProviders-(Z)Ljava/util/List;": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-removeProximityAlert-(Landroid/app/PendingIntent;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-removeTestProvider-(Ljava/lang/String;)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Landroid/location/LocationManager;-removeUpdates-(Landroid/app/PendingIntent;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-removeUpdates-(Landroid/location/LocationListener;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-requestLocationUpdates-(Ljava/lang/String; J F Landroid/app/PendingIntent;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-requestLocationUpdates-(Ljava/lang/String; J F Landroid/location/LocationListener;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-requestLocationUpdates-(Ljava/lang/String; J F Landroid/location/LocationListener; Landroid/os/Looper;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-requestLocationUpdates-(J F Landroid/location/Criteria; Landroid/app/PendingIntent;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-requestLocationUpdates-(J F Landroid/location/Criteria; Landroid/location/LocationListener; Landroid/os/Looper;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-requestSingleUpdate-(Landroid/location/Criteria; Landroid/app/PendingIntent;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-requestSingleUpdate-(Landroid/location/Criteria; Landroid/location/LocationListener; Landroid/os/Looper;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-requestSingleUpdate-(Ljava/lang/String; Landroid/app/PendingIntent;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-requestSingleUpdate-(Ljava/lang/String; Landroid/location/LocationListener; Landroid/os/Looper;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-sendExtraCommand-(Ljava/lang/String; Ljava/lang/String; Landroid/os/Bundle;)Z": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION", "android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" ], "Landroid/location/LocationManager;-setTestProviderEnabled-(Ljava/lang/String; Z)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Landroid/location/LocationManager;-setTestProviderLocation-(Ljava/lang/String; Landroid/location/Location;)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Landroid/location/LocationManager;-setTestProviderStatus-(Ljava/lang/String; I Landroid/os/Bundle; J)V": [ "android.permission.ACCESS_MOCK_LOCATION" ], "Landroid/media/AsyncPlayer;-play-(Landroid/content/Context; Landroid/net/Uri; Z I)V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/AsyncPlayer;-stop-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/AudioManager;-setBluetoothScoOn-(Z)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/media/AudioManager;-setMicrophoneMute-(Z)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/media/AudioManager;-setMode-(I)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/media/AudioManager;-setSpeakerphoneOn-(Z)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/media/AudioManager;-startBluetoothSco-()V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/media/AudioManager;-stopBluetoothSco-()V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/media/MediaPlayer;-pause-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/MediaPlayer;-release-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/MediaPlayer;-reset-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/MediaPlayer;-setWakeMode-(Landroid/content/Context; I)V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/MediaPlayer;-start-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/MediaPlayer;-stop-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/Ringtone;-play-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/Ringtone;-setAudioAttributes-(Landroid/media/AudioAttributes;)V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/Ringtone;-setStreamType-(I)V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/Ringtone;-stop-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/RingtoneManager;-getRingtone-(Landroid/content/Context; Landroid/net/Uri;)Landroid/media/Ringtone;": [ "android.permission.WAKE_LOCK" ], "Landroid/media/RingtoneManager;-getRingtone-(I)Landroid/media/Ringtone;": [ "android.permission.WAKE_LOCK" ], "Landroid/media/RingtoneManager;-stopPreviousRingtone-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/net/ConnectivityManager;-getActiveNetworkInfo-()Landroid/net/NetworkInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-getAllNetworkInfo-()[Landroid/net/NetworkInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-getAllNetworks-()[Landroid/net/Network;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-getLinkProperties-(Landroid/net/Network;)Landroid/net/LinkProperties;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-getNetworkCapabilities-(Landroid/net/Network;)Landroid/net/NetworkCapabilities;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-getNetworkInfo-(Landroid/net/Network;)Landroid/net/NetworkInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-getNetworkInfo-(I)Landroid/net/NetworkInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-isActiveNetworkMetered-()Z": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-registerNetworkCallback-(Landroid/net/NetworkRequest; Landroid/net/ConnectivityManager$NetworkCallback;)V": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.CHANGE_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-reportBadNetwork-(Landroid/net/Network;)V": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.INTERNET" ], "Landroid/net/ConnectivityManager;-requestNetwork-(Landroid/net/NetworkRequest; Landroid/app/PendingIntent;)V": [ "android.permission.CHANGE_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-requestNetwork-(Landroid/net/NetworkRequest; Landroid/net/ConnectivityManager$NetworkCallback;)V": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.CHANGE_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-requestRouteToHost-(I I)Z": [ "android.permission.CHANGE_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-setProcessDefaultNetwork-(Landroid/net/Network;)Z": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-startUsingNetworkFeature-(I Ljava/lang/String;)I": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.CHANGE_NETWORK_STATE" ], "Landroid/net/Network;-openConnection-(Ljava/net/URL;)Ljava/net/URLConnection;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/net/VpnService;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/net/VpnService;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/net/VpnService;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/net/VpnService;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/net/VpnService;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/net/sip/SipAudioCall;-close-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/net/sip/SipAudioCall;-endCall-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/net/sip/SipAudioCall;-setSpeakerMode-(Z)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/net/sip/SipAudioCall;-startAudio-()V": [ "android.permission.ACCESS_WIFI_STATE", "android.permission.WAKE_LOCK" ], "Landroid/net/sip/SipManager;-close-(Ljava/lang/String;)V": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-createSipSession-(Landroid/net/sip/SipProfile; Landroid/net/sip/SipSession$Listener;)Landroid/net/sip/SipSession;": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-getSessionFor-(Landroid/content/Intent;)Landroid/net/sip/SipSession;": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-isOpened-(Ljava/lang/String;)Z": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-isRegistered-(Ljava/lang/String;)Z": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-makeAudioCall-(Landroid/net/sip/SipProfile; Landroid/net/sip/SipProfile; Landroid/net/sip/SipAudioCall$Listener; I)Landroid/net/sip/SipAudioCall;": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-makeAudioCall-(Ljava/lang/String; Ljava/lang/String; Landroid/net/sip/SipAudioCall$Listener; I)Landroid/net/sip/SipAudioCall;": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-open-(Landroid/net/sip/SipProfile;)V": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-open-(Landroid/net/sip/SipProfile; Landroid/app/PendingIntent; Landroid/net/sip/SipRegistrationListener;)V": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-register-(Landroid/net/sip/SipProfile; I Landroid/net/sip/SipRegistrationListener;)V": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-setRegistrationListener-(Ljava/lang/String; Landroid/net/sip/SipRegistrationListener;)V": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-takeAudioCall-(Landroid/content/Intent; Landroid/net/sip/SipAudioCall$Listener;)Landroid/net/sip/SipAudioCall;": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-unregister-(Landroid/net/sip/SipProfile; Landroid/net/sip/SipRegistrationListener;)V": [ "android.permission.USE_SIP" ], "Landroid/net/wifi/WifiManager$MulticastLock;-acquire-()V": [ "android.permission.CHANGE_WIFI_MULTICAST_STATE" ], "Landroid/net/wifi/WifiManager$MulticastLock;-release-()V": [ "android.permission.CHANGE_WIFI_MULTICAST_STATE" ], "Landroid/net/wifi/WifiManager$WifiLock;-acquire-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/net/wifi/WifiManager$WifiLock;-release-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/net/wifi/WifiManager;-addNetwork-(Landroid/net/wifi/WifiConfiguration;)I": [ "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-disableNetwork-(I)Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-disconnect-()Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-enableNetwork-(I Z)Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-getConfiguredNetworks-()Ljava/util/List;": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-getConnectionInfo-()Landroid/net/wifi/WifiInfo;": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-getDhcpInfo-()Landroid/net/DhcpInfo;": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-getScanResults-()Ljava/util/List;": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-getWifiState-()I": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-is5GHzBandSupported-()Z": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-isDeviceToApRttSupported-()Z": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-isEnhancedPowerReportingSupported-()Z": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-isP2pSupported-()Z": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-isPreferredNetworkOffloadSupported-()Z": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-isScanAlwaysAvailable-()Z": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-isTdlsSupported-()Z": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-isWifiEnabled-()Z": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-pingSupplicant-()Z": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-reassociate-()Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-reconnect-()Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-removeNetwork-(I)Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-saveConfiguration-()Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-setWifiEnabled-(Z)Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-startScan-()Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-updateNetwork-(Landroid/net/wifi/WifiConfiguration;)I": [ "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/p2p/WifiP2pManager;-initialize-(Landroid/content/Context; Landroid/os/Looper; Landroid/net/wifi/p2p/WifiP2pManager$ChannelListener;)Landroid/net/wifi/p2p/WifiP2pManager$Channel;": [ "android.permission.ACCESS_WIFI_STATE", "android.permission.CHANGE_WIFI_STATE" ], "Landroid/nfc/NfcAdapter;-disableForegroundDispatch-(Landroid/app/Activity;)V": [ "android.permission.NFC" ], "Landroid/nfc/NfcAdapter;-disableForegroundNdefPush-(Landroid/app/Activity;)V": [ "android.permission.NFC" ], "Landroid/nfc/NfcAdapter;-enableForegroundDispatch-(Landroid/app/Activity; Landroid/app/PendingIntent; [Landroid/content/IntentFilter; [L[java/lang/String;)V": [ "android.permission.NFC" ], "Landroid/nfc/NfcAdapter;-enableForegroundNdefPush-(Landroid/app/Activity; Landroid/nfc/NdefMessage;)V": [ "android.permission.NFC" ], "Landroid/nfc/NfcAdapter;-invokeBeam-(Landroid/app/Activity;)Z": [ "android.permission.NFC" ], "Landroid/nfc/NfcAdapter;-setBeamPushUris-([Landroid/net/Uri; Landroid/app/Activity;)V": [ "android.permission.NFC" ], "Landroid/nfc/NfcAdapter;-setBeamPushUrisCallback-(Landroid/nfc/NfcAdapter$CreateBeamUrisCallback; Landroid/app/Activity;)V": [ "android.permission.NFC" ], "Landroid/nfc/NfcAdapter;-setNdefPushMessage-(Landroid/nfc/NdefMessage; Landroid/app/Activity; [Landroid/app/Activity;)V": [ "android.permission.NFC" ], "Landroid/nfc/NfcAdapter;-setNdefPushMessageCallback-(Landroid/nfc/NfcAdapter$CreateNdefMessageCallback; Landroid/app/Activity; [Landroid/app/Activity;)V": [ "android.permission.NFC" ], "Landroid/nfc/NfcAdapter;-setOnNdefPushCompleteCallback-(Landroid/nfc/NfcAdapter$OnNdefPushCompleteCallback; Landroid/app/Activity; [Landroid/app/Activity;)V": [ "android.permission.NFC" ], "Landroid/nfc/cardemulation/CardEmulation;-getAidsForService-(Landroid/content/ComponentName; Ljava/lang/String;)Ljava/util/List;": [ "android.permission.NFC" ], "Landroid/nfc/cardemulation/CardEmulation;-isDefaultServiceForAid-(Landroid/content/ComponentName; Ljava/lang/String;)Z": [ "android.permission.NFC" ], "Landroid/nfc/cardemulation/CardEmulation;-isDefaultServiceForCategory-(Landroid/content/ComponentName; Ljava/lang/String;)Z": [ "android.permission.NFC" ], "Landroid/nfc/cardemulation/CardEmulation;-registerAidsForService-(Landroid/content/ComponentName; Ljava/lang/String; Ljava/util/List;)Z": [ "android.permission.NFC" ], "Landroid/nfc/cardemulation/CardEmulation;-removeAidsForService-(Landroid/content/ComponentName; Ljava/lang/String;)Z": [ "android.permission.NFC" ], "Landroid/nfc/cardemulation/CardEmulation;-setPreferredService-(Landroid/app/Activity; Landroid/content/ComponentName;)Z": [ "android.permission.NFC" ], "Landroid/nfc/cardemulation/CardEmulation;-unsetPreferredService-(Landroid/app/Activity;)Z": [ "android.permission.NFC" ], "Landroid/nfc/tech/BasicTagTechnology;-close-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/BasicTagTechnology;-connect-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/IsoDep;-close-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/IsoDep;-connect-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/IsoDep;-getTimeout-()I": [ "android.permission.NFC" ], "Landroid/nfc/tech/IsoDep;-setTimeout-(I)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/IsoDep;-transceive-([B)[B": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareClassic;-authenticateSectorWithKeyA-(I [B)Z": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareClassic;-authenticateSectorWithKeyB-(I [B)Z": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareClassic;-close-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareClassic;-connect-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareClassic;-decrement-(I I)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareClassic;-getTimeout-()I": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareClassic;-increment-(I I)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareClassic;-readBlock-(I)[B": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareClassic;-restore-(I)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareClassic;-setTimeout-(I)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareClassic;-transceive-([B)[B": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareClassic;-transfer-(I)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareClassic;-writeBlock-(I [B)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareUltralight;-close-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareUltralight;-connect-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareUltralight;-getTimeout-()I": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareUltralight;-readPages-(I)[B": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareUltralight;-setTimeout-(I)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareUltralight;-transceive-([B)[B": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareUltralight;-writePage-(I [B)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/Ndef;-close-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/Ndef;-connect-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/Ndef;-getNdefMessage-()Landroid/nfc/NdefMessage;": [ "android.permission.NFC" ], "Landroid/nfc/tech/Ndef;-makeReadOnly-()Z": [ "android.permission.NFC" ], "Landroid/nfc/tech/Ndef;-writeNdefMessage-(Landroid/nfc/NdefMessage;)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NdefFormatable;-close-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NdefFormatable;-connect-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NdefFormatable;-format-(Landroid/nfc/NdefMessage;)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NdefFormatable;-formatReadOnly-(Landroid/nfc/NdefMessage;)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcA;-close-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcA;-connect-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcA;-getTimeout-()I": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcA;-setTimeout-(I)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcA;-transceive-([B)[B": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcB;-close-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcB;-connect-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcB;-transceive-([B)[B": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcBarcode;-close-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcBarcode;-connect-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcF;-close-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcF;-connect-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcF;-getTimeout-()I": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcF;-setTimeout-(I)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcF;-transceive-([B)[B": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcV;-close-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcV;-connect-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcV;-transceive-([B)[B": [ "android.permission.NFC" ], "Landroid/os/PowerManager$WakeLock;-acquire-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/os/PowerManager$WakeLock;-acquire-(J)V": [ "android.permission.WAKE_LOCK" ], "Landroid/os/PowerManager$WakeLock;-release-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/os/PowerManager$WakeLock;-release-(I)V": [ "android.permission.WAKE_LOCK" ], "Landroid/os/PowerManager$WakeLock;-setWorkSource-(Landroid/os/WorkSource;)V": [ "android.permission.WAKE_LOCK" ], "Landroid/os/SystemVibrator;-cancel-()V": [ "android.permission.VIBRATE" ], "Landroid/os/SystemVibrator;-vibrate-(I Ljava/lang/String; [J I Landroid/media/AudioAttributes;)V": [ "android.permission.VIBRATE" ], "Landroid/os/SystemVibrator;-vibrate-(I Ljava/lang/String; J Landroid/media/AudioAttributes;)V": [ "android.permission.VIBRATE" ], "Landroid/service/dreams/DreamService;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/service/dreams/DreamService;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/service/dreams/DreamService;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/service/dreams/DreamService;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/service/dreams/DreamService;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/service/voice/VoiceInteractionService;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/service/voice/VoiceInteractionService;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/service/voice/VoiceInteractionService;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/service/voice/VoiceInteractionService;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/service/voice/VoiceInteractionService;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/telecom/TelecomManager;-isInCall-()Z": [ "android.permission.READ_PHONE_STATE" ], "Landroid/telecom/TelecomManager;-showInCallScreen-(Z)V": [ "android.permission.READ_PHONE_STATE" ], "Landroid/telephony/PhoneNumberUtils;-isVoiceMailNumber-(Ljava/lang/String;)Z": [ "android.permission.READ_PHONE_STATE" ], "Landroid/telephony/SmsManager;-divideMessage-(Ljava/lang/String;)Ljava/util/ArrayList;": [ "android.permission.READ_PHONE_STATE" ], "Landroid/telephony/SmsManager;-downloadMultimediaMessage-(Landroid/content/Context; Ljava/lang/String; Landroid/net/Uri; Landroid/os/Bundle; Landroid/app/PendingIntent;)V": [ "android.permission.RECEIVE_MMS" ], "Landroid/telephony/SmsManager;-sendDataMessage-(Ljava/lang/String; Ljava/lang/String; S [B Landroid/app/PendingIntent; Landroid/app/PendingIntent;)V": [ "android.permission.SEND_SMS" ], "Landroid/telephony/SmsManager;-sendMultimediaMessage-(Landroid/content/Context; Landroid/net/Uri; Ljava/lang/String; Landroid/os/Bundle; Landroid/app/PendingIntent;)V": [ "android.permission.SEND_SMS" ], "Landroid/telephony/SmsManager;-sendMultipartTextMessage-(Ljava/lang/String; Ljava/lang/String; Ljava/util/ArrayList; Ljava/util/ArrayList; Ljava/util/ArrayList;)V": [ "android.permission.SEND_SMS" ], "Landroid/telephony/SmsManager;-sendTextMessage-(Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Landroid/app/PendingIntent; Landroid/app/PendingIntent;)V": [ "android.permission.SEND_SMS" ], "Landroid/telephony/SubscriptionManager;-addOnSubscriptionsChangedListener-(Landroid/telephony/SubscriptionManager$OnSubscriptionsChangedListener;)V": [ "android.permission.READ_PHONE_STATE" ], "Landroid/telephony/SubscriptionManager;-getActiveSubscriptionInfo-(I)Landroid/telephony/SubscriptionInfo;": [ "android.permission.READ_PHONE_STATE" ], "Landroid/telephony/SubscriptionManager;-getActiveSubscriptionInfoCount-()I": [ "android.permission.READ_PHONE_STATE" ], "Landroid/telephony/SubscriptionManager;-getActiveSubscriptionInfoForSimSlotIndex-(I)Landroid/telephony/SubscriptionInfo;": [ "android.permission.READ_PHONE_STATE" ], "Landroid/telephony/SubscriptionManager;-getActiveSubscriptionInfoList-()Ljava/util/List;": [ "android.permission.READ_PHONE_STATE" ], "Landroid/telephony/TelephonyManager;-getAllCellInfo-()Ljava/util/List;": [ "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/telephony/TelephonyManager;-getCellLocation-()Landroid/telephony/CellLocation;": [ "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/telephony/TelephonyManager;-getDeviceId-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Landroid/telephony/TelephonyManager;-getDeviceSoftwareVersion-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Landroid/telephony/TelephonyManager;-getGroupIdLevel1-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Landroid/telephony/TelephonyManager;-getLine1Number-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Landroid/telephony/TelephonyManager;-getNeighboringCellInfo-()Ljava/util/List;": [ "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/telephony/TelephonyManager;-getSimSerialNumber-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Landroid/telephony/TelephonyManager;-getSubscriberId-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Landroid/telephony/TelephonyManager;-getVoiceMailAlphaTag-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Landroid/telephony/TelephonyManager;-getVoiceMailNumber-()Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE" ], "Landroid/telephony/TelephonyManager;-listen-(Landroid/telephony/PhoneStateListener; I)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.READ_PHONE_STATE" ], "Landroid/telephony/gsm/SmsManager;-divideMessage-(Ljava/lang/String;)Ljava/util/ArrayList;": [ "android.permission.READ_PHONE_STATE" ], "Landroid/telephony/gsm/SmsManager;-sendDataMessage-(Ljava/lang/String; Ljava/lang/String; S [B Landroid/app/PendingIntent; Landroid/app/PendingIntent;)V": [ "android.permission.SEND_SMS" ], "Landroid/telephony/gsm/SmsManager;-sendMultipartTextMessage-(Ljava/lang/String; Ljava/lang/String; Ljava/util/ArrayList; Ljava/util/ArrayList; Ljava/util/ArrayList;)V": [ "android.permission.SEND_SMS" ], "Landroid/telephony/gsm/SmsManager;-sendTextMessage-(Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Landroid/app/PendingIntent; Landroid/app/PendingIntent;)V": [ "android.permission.SEND_SMS" ], "Landroid/test/IsolatedContext;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/test/IsolatedContext;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/test/IsolatedContext;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/test/IsolatedContext;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/test/IsolatedContext;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/test/RenamingDelegatingContext;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/test/RenamingDelegatingContext;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/test/RenamingDelegatingContext;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/test/RenamingDelegatingContext;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/test/RenamingDelegatingContext;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/test/mock/MockApplication;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/test/mock/MockApplication;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/test/mock/MockApplication;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/test/mock/MockApplication;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/test/mock/MockApplication;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/view/ContextThemeWrapper;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/view/ContextThemeWrapper;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/view/ContextThemeWrapper;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/view/ContextThemeWrapper;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/view/ContextThemeWrapper;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/widget/VideoView;-getAudioSessionId-()I": [ "android.permission.WAKE_LOCK" ], "Landroid/widget/VideoView;-onKeyDown-(I Landroid/view/KeyEvent;)Z": [ "android.permission.WAKE_LOCK" ], "Landroid/widget/VideoView;-pause-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/widget/VideoView;-resume-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/widget/VideoView;-setVideoPath-(Ljava/lang/String;)V": [ "android.permission.WAKE_LOCK" ], "Landroid/widget/VideoView;-setVideoURI-(Landroid/net/Uri;)V": [ "android.permission.WAKE_LOCK" ], "Landroid/widget/VideoView;-setVideoURI-(Landroid/net/Uri; Ljava/util/Map;)V": [ "android.permission.WAKE_LOCK" ], "Landroid/widget/VideoView;-start-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/widget/VideoView;-stopPlayback-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/widget/VideoView;-suspend-()V": [ "android.permission.WAKE_LOCK" ] }permissions_23.json000066400000000000000000007415531324327352200345470ustar00rootroot00000000000000androguard-3.1.0-rc2/androguard/core/api_specific_resources/api_permission_mappings{ "Landroid/accounts/AbstractAccountAuthenticator$Transport;-addAccount-(Landroid/accounts/IAccountAuthenticatorResponse; Ljava/lang/String; Ljava/lang/String; [Ljava/lang/String; Landroid/os/Bundle;)V": [ "android.permission.ACCOUNT_MANAGER" ], "Landroid/accounts/AbstractAccountAuthenticator$Transport;-addAccountFromCredentials-(Landroid/accounts/IAccountAuthenticatorResponse; Landroid/accounts/Account; Landroid/os/Bundle;)V": [ "android.permission.ACCOUNT_MANAGER" ], "Landroid/accounts/AbstractAccountAuthenticator$Transport;-confirmCredentials-(Landroid/accounts/IAccountAuthenticatorResponse; Landroid/accounts/Account; Landroid/os/Bundle;)V": [ "android.permission.ACCOUNT_MANAGER" ], "Landroid/accounts/AbstractAccountAuthenticator$Transport;-editProperties-(Landroid/accounts/IAccountAuthenticatorResponse; Ljava/lang/String;)V": [ "android.permission.ACCOUNT_MANAGER" ], "Landroid/accounts/AbstractAccountAuthenticator$Transport;-getAccountCredentialsForCloning-(Landroid/accounts/IAccountAuthenticatorResponse; Landroid/accounts/Account;)V": [ "android.permission.ACCOUNT_MANAGER" ], "Landroid/accounts/AbstractAccountAuthenticator$Transport;-getAccountRemovalAllowed-(Landroid/accounts/IAccountAuthenticatorResponse; Landroid/accounts/Account;)V": [ "android.permission.ACCOUNT_MANAGER" ], "Landroid/accounts/AbstractAccountAuthenticator$Transport;-getAuthToken-(Landroid/accounts/IAccountAuthenticatorResponse; Landroid/accounts/Account; Ljava/lang/String; Landroid/os/Bundle;)V": [ "android.permission.ACCOUNT_MANAGER" ], "Landroid/accounts/AbstractAccountAuthenticator$Transport;-getAuthTokenLabel-(Landroid/accounts/IAccountAuthenticatorResponse; Ljava/lang/String;)V": [ "android.permission.ACCOUNT_MANAGER" ], "Landroid/accounts/AbstractAccountAuthenticator$Transport;-hasFeatures-(Landroid/accounts/IAccountAuthenticatorResponse; Landroid/accounts/Account; [Ljava/lang/String;)V": [ "android.permission.ACCOUNT_MANAGER" ], "Landroid/accounts/AbstractAccountAuthenticator$Transport;-updateCredentials-(Landroid/accounts/IAccountAuthenticatorResponse; Landroid/accounts/Account; Ljava/lang/String; Landroid/os/Bundle;)V": [ "android.permission.ACCOUNT_MANAGER" ], "Landroid/hardware/location/ActivityRecognitionHardware;-disableActivityEvent-(Ljava/lang/String; I)Z": [ "android.permission.LOCATION_HARDWARE" ], "Landroid/hardware/location/ActivityRecognitionHardware;-enableActivityEvent-(Ljava/lang/String; I J)Z": [ "android.permission.LOCATION_HARDWARE" ], "Landroid/hardware/location/ActivityRecognitionHardware;-flush-()Z": [ "android.permission.LOCATION_HARDWARE" ], "Landroid/hardware/location/ActivityRecognitionHardware;-getSupportedActivities-()[Ljava/lang/String;": [ "android.permission.LOCATION_HARDWARE" ], "Landroid/hardware/location/ActivityRecognitionHardware;-isActivitySupported-(Ljava/lang/String;)Z": [ "android.permission.LOCATION_HARDWARE" ], "Landroid/hardware/location/ActivityRecognitionHardware;-registerSink-(Landroid/hardware/location/IActivityRecognitionHardwareSink;)Z": [ "android.permission.LOCATION_HARDWARE" ], "Landroid/hardware/location/ActivityRecognitionHardware;-unregisterSink-(Landroid/hardware/location/IActivityRecognitionHardwareSink;)Z": [ "android.permission.LOCATION_HARDWARE" ], "Lcom/android/internal/telephony/PhoneSubInfoProxy;-getCompleteVoiceMailNumber-()Ljava/lang/String;": [ "android.permission.CALL_PRIVILEGED" ], "Lcom/android/internal/telephony/PhoneSubInfoProxy;-getDeviceId-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoProxy;-getDeviceSvn-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoProxy;-getGroupIdLevel1-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoProxy;-getIccSerialNumber-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoProxy;-getIccSimChallengeResponse-(I I Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoProxy;-getIsimChallengeResponse-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoProxy;-getIsimDomain-()Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoProxy;-getIsimImpi-()Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoProxy;-getIsimImpu-()[Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoProxy;-getIsimIst-()Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoProxy;-getIsimPcscf-()[Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoProxy;-getLine1AlphaTag-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoProxy;-getLine1Number-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoProxy;-getMsisdn-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoProxy;-getSubscriberId-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoProxy;-getVoiceMailAlphaTag-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoProxy;-getVoiceMailNumber-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/SMSDispatcher$MultipartSmsSenderCallback;-onSendMultipartSmsComplete-(I [I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.SEND_RESPOND_VIA_MESSAGE", "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/internal/telephony/SubscriptionController;-addSubInfoRecord-(Ljava/lang/String; I)I": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-clearDefaultsForInactiveSubIds-()V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-clearSubInfo-()I": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-getActiveSubInfoCount-(Ljava/lang/String;)I": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-getActiveSubscriptionInfo-(I Ljava/lang/String;)Landroid/telephony/SubscriptionInfo;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-getActiveSubscriptionInfoForIccId-(Ljava/lang/String; Ljava/lang/String;)Landroid/telephony/SubscriptionInfo;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-getActiveSubscriptionInfoForSimSlotIndex-(I Ljava/lang/String;)Landroid/telephony/SubscriptionInfo;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-getActiveSubscriptionInfoList-(Ljava/lang/String;)Ljava/util/List;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-getAllSubInfoCount-(Ljava/lang/String;)I": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-getAllSubInfoList-(Ljava/lang/String;)Ljava/util/List;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-getSubscriptionProperty-(I Ljava/lang/String; Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-setDataRoaming-(I I)I": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-setDefaultDataSubId-(I)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-setDefaultSmsSubId-(I)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-setDefaultVoiceSubId-(I)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-setDisplayName-(Ljava/lang/String; I)I": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-setDisplayNameUsingSrc-(Ljava/lang/String; I J)I": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-setDisplayNumber-(Ljava/lang/String; I)I": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-setIconTint-(I I)I": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-setSubscriptionProperty-(I Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/internal/telephony/UiccSmsController;-copyMessageToIccEfForSubscriber-(I Ljava/lang/String; I [B [B)Z": [ "android.permission.RECEIVE_SMS", "android.permission.SEND_SMS", "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/internal/telephony/UiccSmsController;-disableCellBroadcastForSubscriber-(I I I)Z": [ "android.permission.RECEIVE_SMS" ], "Lcom/android/internal/telephony/UiccSmsController;-disableCellBroadcastRangeForSubscriber-(I I I I)Z": [ "android.permission.RECEIVE_SMS" ], "Lcom/android/internal/telephony/UiccSmsController;-enableCellBroadcastForSubscriber-(I I I)Z": [ "android.permission.RECEIVE_SMS" ], "Lcom/android/internal/telephony/UiccSmsController;-enableCellBroadcastRangeForSubscriber-(I I I I)Z": [ "android.permission.RECEIVE_SMS" ], "Lcom/android/internal/telephony/UiccSmsController;-getAllMessagesFromIccEfForSubscriber-(I Ljava/lang/String;)Ljava/util/List;": [ "android.permission.RECEIVE_SMS", "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/internal/telephony/UiccSmsController;-injectSmsPduForSubscriber-(I [B Ljava/lang/String; Landroid/app/PendingIntent;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/internal/telephony/UiccSmsController;-sendDataForSubscriber-(I Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; I [B Landroid/app/PendingIntent; Landroid/app/PendingIntent;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.SEND_RESPOND_VIA_MESSAGE", "android.permission.SEND_SMS", "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/internal/telephony/UiccSmsController;-sendDataForSubscriberWithSelfPermissions-(I Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; I [B Landroid/app/PendingIntent; Landroid/app/PendingIntent;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.SEND_RESPOND_VIA_MESSAGE", "android.permission.SEND_SMS", "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/internal/telephony/UiccSmsController;-sendMultipartTextForSubscriber-(I Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/util/List; Ljava/util/List; Ljava/util/List; Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.SEND_RESPOND_VIA_MESSAGE", "android.permission.SEND_SMS", "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/internal/telephony/UiccSmsController;-sendStoredMultipartText-(I Ljava/lang/String; Landroid/net/Uri; Ljava/lang/String; Ljava/util/List; Ljava/util/List;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.SEND_RESPOND_VIA_MESSAGE", "android.permission.SEND_SMS", "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/internal/telephony/UiccSmsController;-sendStoredText-(I Ljava/lang/String; Landroid/net/Uri; Ljava/lang/String; Landroid/app/PendingIntent; Landroid/app/PendingIntent;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.SEND_RESPOND_VIA_MESSAGE", "android.permission.SEND_SMS", "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/internal/telephony/UiccSmsController;-sendTextForSubscriber-(I Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Landroid/app/PendingIntent; Landroid/app/PendingIntent; Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.SEND_RESPOND_VIA_MESSAGE", "android.permission.SEND_SMS", "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/internal/telephony/UiccSmsController;-sendTextForSubscriberWithSelfPermissions-(I Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Landroid/app/PendingIntent; Landroid/app/PendingIntent;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.SEND_RESPOND_VIA_MESSAGE", "android.permission.SEND_SMS", "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/internal/telephony/UiccSmsController;-updateMessageOnIccEfForSubscriber-(I Ljava/lang/String; I I [B)Z": [ "android.permission.RECEIVE_SMS", "android.permission.SEND_SMS", "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/nfc/NfcService$NfcAdapterService;-addNfcUnlockHandler-(Landroid/nfc/INfcUnlockHandler; [I)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/nfc/NfcService$NfcAdapterService;-disable-(Z)Z": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/nfc/NfcService$NfcAdapterService;-disableNdefPush-()Z": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/nfc/NfcService$NfcAdapterService;-dispatch-(Landroid/nfc/Tag;)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/nfc/NfcService$NfcAdapterService;-enable-()Z": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/nfc/NfcService$NfcAdapterService;-enableNdefPush-()Z": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/nfc/NfcService$NfcAdapterService;-invokeBeam-()V": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$NfcAdapterService;-invokeBeamInternal-(Landroid/nfc/BeamShareData;)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/nfc/NfcService$NfcAdapterService;-pausePolling-(I)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/nfc/NfcService$NfcAdapterService;-resumePolling-()V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/nfc/NfcService$NfcAdapterService;-setAppCallback-(Landroid/nfc/IAppCallback;)V": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$NfcAdapterService;-setForegroundDispatch-(Landroid/app/PendingIntent; [Landroid/content/IntentFilter; Landroid/nfc/TechListParcel;)V": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$NfcAdapterService;-setP2pModes-(I I)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/nfc/NfcService$NfcAdapterService;-verifyNfcPermission-()V": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-close-(I)I": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-connect-(I I)I": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-formatNdef-(I [B)I": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-getTechList-(I)[I": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-getTimeout-(I)I": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-isNdef-(I)Z": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-ndefMakeReadOnly-(I)I": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-ndefRead-(I)Landroid/nfc/NdefMessage;": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-ndefWrite-(I Landroid/nfc/NdefMessage;)I": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-reconnect-(I)I": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-rediscover-(I)Landroid/nfc/Tag;": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-resetTimeouts-()V": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-setTimeout-(I I)I": [ "android.permission.NFC" ], "Lcom/android/nfc/NfcService$TagService;-transceive-(I [B Z)Landroid/nfc/TransceiveResult;": [ "android.permission.NFC" ], "Lcom/android/nfc/cardemulation/CardEmulationManager$CardEmulationInterface;-getAidGroupForService-(I Landroid/content/ComponentName; Ljava/lang/String;)Landroid/nfc/cardemulation/AidGroup;": [ "android.permission.NFC" ], "Lcom/android/nfc/cardemulation/CardEmulationManager$CardEmulationInterface;-getServices-(I Ljava/lang/String;)Ljava/util/List;": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/nfc/cardemulation/CardEmulationManager$CardEmulationInterface;-isDefaultServiceForAid-(I Landroid/content/ComponentName; Ljava/lang/String;)Z": [ "android.permission.NFC" ], "Lcom/android/nfc/cardemulation/CardEmulationManager$CardEmulationInterface;-isDefaultServiceForCategory-(I Landroid/content/ComponentName; Ljava/lang/String;)Z": [ "android.permission.NFC" ], "Lcom/android/nfc/cardemulation/CardEmulationManager$CardEmulationInterface;-registerAidGroupForService-(I Landroid/content/ComponentName; Landroid/nfc/cardemulation/AidGroup;)Z": [ "android.permission.NFC" ], "Lcom/android/nfc/cardemulation/CardEmulationManager$CardEmulationInterface;-removeAidGroupForService-(I Landroid/content/ComponentName; Ljava/lang/String;)Z": [ "android.permission.NFC" ], "Lcom/android/nfc/cardemulation/CardEmulationManager$CardEmulationInterface;-setDefaultForNextTap-(I Landroid/content/ComponentName;)Z": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/nfc/cardemulation/CardEmulationManager$CardEmulationInterface;-setDefaultServiceForCategory-(I Landroid/content/ComponentName; Ljava/lang/String;)Z": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/nfc/cardemulation/CardEmulationManager$CardEmulationInterface;-setPreferredService-(Landroid/content/ComponentName;)Z": [ "android.permission.NFC" ], "Lcom/android/nfc/cardemulation/CardEmulationManager$CardEmulationInterface;-unsetPreferredService-()Z": [ "android.permission.NFC" ], "Lcom/android/phone/CarrierConfigLoader;-getConfigForSubId-(I)Landroid/os/PersistableBundle;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/CarrierConfigLoader;-updateConfigForPhoneId-(I Ljava/lang/String;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-answerRingingCall-()V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-answerRingingCallForSubscriber-(I)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-call-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.CALL_PHONE" ], "Lcom/android/phone/PhoneInterfaceManager;-canChangeDtmfToneLength-()Z": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-disableDataConnectivity-()Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-disableLocationUpdates-()V": [ "android.permission.CONTROL_LOCATION_UPDATES" ], "Lcom/android/phone/PhoneInterfaceManager;-disableLocationUpdatesForSubscriber-(I)V": [ "android.permission.CONTROL_LOCATION_UPDATES" ], "Lcom/android/phone/PhoneInterfaceManager;-enableDataConnectivity-()Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-enableLocationUpdates-()V": [ "android.permission.CONTROL_LOCATION_UPDATES" ], "Lcom/android/phone/PhoneInterfaceManager;-enableLocationUpdatesForSubscriber-(I)V": [ "android.permission.CONTROL_LOCATION_UPDATES" ], "Lcom/android/phone/PhoneInterfaceManager;-enableVideoCalling-(Z)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-endCall-()Z": [ "android.permission.CALL_PHONE" ], "Lcom/android/phone/PhoneInterfaceManager;-endCallForSubscriber-(I)Z": [ "android.permission.CALL_PHONE" ], "Lcom/android/phone/PhoneInterfaceManager;-factoryReset-(I)V": [ "android.permission.CONNECTIVITY_INTERNAL", "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getAllCellInfo-(Ljava/lang/String;)Ljava/util/List;": [ "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/phone/PhoneInterfaceManager;-getCalculatedPreferredNetworkType-(Ljava/lang/String;)I": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getCdmaEriIconIndex-(Ljava/lang/String;)I": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getCdmaEriIconIndexForSubscriber-(I Ljava/lang/String;)I": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getCdmaEriIconMode-(Ljava/lang/String;)I": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getCdmaEriIconModeForSubscriber-(I Ljava/lang/String;)I": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getCdmaEriText-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getCdmaEriTextForSubscriber-(I Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getCdmaMdn-(I)Ljava/lang/String;": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getCdmaMin-(I)Ljava/lang/String;": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getCellLocation-(Ljava/lang/String;)Landroid/os/Bundle;": [ "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/phone/PhoneInterfaceManager;-getCellNetworkScanResults-(I)Lcom/android/internal/telephony/CellNetworkScanResult;": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getDataEnabled-(I)Z": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getDataNetworkType-(Ljava/lang/String;)I": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getDataNetworkTypeForSubscriber-(I Ljava/lang/String;)I": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getDeviceId-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getLine1AlphaTagForDisplay-(I Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getLine1NumberForDisplay-(I Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getLteOnCdmaMode-(Ljava/lang/String;)I": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getLteOnCdmaModeForSubscriber-(I Ljava/lang/String;)I": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getMergedSubscriberIds-(Ljava/lang/String;)[Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getNeighboringCellInfo-(Ljava/lang/String;)Ljava/util/List;": [ "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/phone/PhoneInterfaceManager;-getNetworkTypeForSubscriber-(I Ljava/lang/String;)I": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getPcscfAddress-(Ljava/lang/String; Ljava/lang/String;)[Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getPreferredNetworkType-(I)I": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getRadioAccessFamily-(I Ljava/lang/String;)I": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getTetherApnRequired-()I": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getVoiceNetworkTypeForSubscriber-(I Ljava/lang/String;)I": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-handlePinMmi-(Ljava/lang/String;)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-handlePinMmiForSubscriber-(I Ljava/lang/String;)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-iccCloseLogicalChannel-(I)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-iccExchangeSimIO-(I I I I I Ljava/lang/String;)[B": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-iccOpenLogicalChannel-(Ljava/lang/String;)Landroid/telephony/IccOpenLogicalChannelResponse;": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-iccTransmitApduBasicChannel-(I I I I I Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-iccTransmitApduLogicalChannel-(I I I I I I Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-invokeOemRilRequestRaw-([B [B)I": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-isIdle-(Ljava/lang/String;)Z": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-isIdleForSubscriber-(I Ljava/lang/String;)Z": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-isOffhook-(Ljava/lang/String;)Z": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-isOffhookForSubscriber-(I Ljava/lang/String;)Z": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-isRadioOn-(Ljava/lang/String;)Z": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-isRadioOnForSubscriber-(I Ljava/lang/String;)Z": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-isRinging-(Ljava/lang/String;)Z": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-isRingingForSubscriber-(I Ljava/lang/String;)Z": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-isSimPinEnabled-(Ljava/lang/String;)Z": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-isVideoCallingEnabled-(Ljava/lang/String;)Z": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-isWorldPhone-()Z": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-nvReadItem-(I)Ljava/lang/String;": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-nvResetConfig-(I)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-nvWriteCdmaPrl-([B)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-nvWriteItem-(I Ljava/lang/String;)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-sendEnvelopeWithStatus-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-setDataEnabled-(I Z)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-setImsRegistrationState-(Z)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-setNetworkSelectionModeAutomatic-(I)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-setNetworkSelectionModeManual-(I Lcom/android/internal/telephony/OperatorInfo; Z)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-setPreferredNetworkType-(I I)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-setRadio-(Z)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-setRadioForSubscriber-(I Z)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-setRadioPower-(Z)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-shutdownMobileRadios-()V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-supplyPin-(Ljava/lang/String;)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-supplyPinForSubscriber-(I Ljava/lang/String;)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-supplyPinReportResult-(Ljava/lang/String;)[I": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-supplyPinReportResultForSubscriber-(I Ljava/lang/String;)[I": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-supplyPuk-(Ljava/lang/String; Ljava/lang/String;)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-supplyPukForSubscriber-(I Ljava/lang/String; Ljava/lang/String;)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-supplyPukReportResult-(Ljava/lang/String; Ljava/lang/String;)[I": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-supplyPukReportResultForSubscriber-(I Ljava/lang/String; Ljava/lang/String;)[I": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-toggleRadioOnOff-()V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-toggleRadioOnOffForSubscriber-(I)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/providers/contacts/ContactsProvider2;-getType-(Landroid/net/Uri;)Ljava/lang/String;": [ "android.permission.INTERACT_ACROSS_USERS", "android.permission.INTERACT_ACROSS_USERS", "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/AppOpsService;-checkAudioOperation-(I I I Ljava/lang/String;)I": [ "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/server/AppOpsService;-checkOperation-(I I Ljava/lang/String;)I": [ "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/server/AppOpsService;-finishOperation-(Landroid/os/IBinder; I I Ljava/lang/String;)V": [ "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/server/AppOpsService;-getOpsForPackage-(I Ljava/lang/String; [I)Ljava/util/List;": [ "android.permission.GET_APP_OPS_STATS" ], "Lcom/android/server/AppOpsService;-getPackagesForOps-([I)Ljava/util/List;": [ "android.permission.GET_APP_OPS_STATS" ], "Lcom/android/server/AppOpsService;-noteOperation-(I I Ljava/lang/String;)I": [ "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/server/AppOpsService;-resetAllModes-(I Ljava/lang/String;)V": [ "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/server/AppOpsService;-setAudioRestriction-(I I I I [Ljava/lang/String;)V": [ "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/server/AppOpsService;-setMode-(I I Ljava/lang/String; I)V": [ "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/server/AppOpsService;-setUidMode-(I I I)V": [ "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/server/AppOpsService;-startOperation-(Landroid/os/IBinder; I I Ljava/lang/String;)I": [ "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/server/BluetoothManagerService;-disable-(Z)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/server/BluetoothManagerService;-enable-()Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/server/BluetoothManagerService;-enableNoAutoConnect-()Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/server/BluetoothManagerService;-getAddress-()Ljava/lang/String;": [ "android.permission.BLUETOOTH", "android.permission.LOCAL_MAC_ADDRESS" ], "Lcom/android/server/BluetoothManagerService;-getName-()Ljava/lang/String;": [ "android.permission.BLUETOOTH" ], "Lcom/android/server/BluetoothManagerService;-registerStateChangeCallback-(Landroid/bluetooth/IBluetoothStateChangeCallback;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/server/BluetoothManagerService;-unregisterAdapter-(Landroid/bluetooth/IBluetoothManagerCallback;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/server/BluetoothManagerService;-unregisterStateChangeCallback-(Landroid/bluetooth/IBluetoothStateChangeCallback;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/server/ConnectivityService;-factoryReset-()V": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.CONNECTIVITY_INTERNAL", "android.permission.CONTROL_VPN", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/ConnectivityService;-getActiveLinkProperties-()Landroid/net/LinkProperties;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getActiveNetwork-()Landroid/net/Network;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getActiveNetworkInfo-()Landroid/net/NetworkInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getActiveNetworkInfoForUid-(I)Landroid/net/NetworkInfo;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-getActiveNetworkQuotaInfo-()Landroid/net/NetworkQuotaInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getAllNetworkInfo-()[Landroid/net/NetworkInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getAllNetworkState-()[Landroid/net/NetworkState;": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-getAllNetworks-()[Landroid/net/Network;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getAllVpnInfo-()[Lcom/android/internal/net/VpnInfo;": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-getDefaultNetworkCapabilitiesForUser-(I)[Landroid/net/NetworkCapabilities;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getLastTetherError-(Ljava/lang/String;)I": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getLegacyVpnInfo-(I)Lcom/android/internal/net/LegacyVpnInfo;": [ "android.permission.CONTROL_VPN", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/ConnectivityService;-getLinkProperties-(Landroid/net/Network;)Landroid/net/LinkProperties;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getLinkPropertiesForType-(I)Landroid/net/LinkProperties;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getMobileProvisioningUrl-()Ljava/lang/String;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-getNetworkCapabilities-(Landroid/net/Network;)Landroid/net/NetworkCapabilities;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getNetworkForType-(I)Landroid/net/Network;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getNetworkInfo-(I)Landroid/net/NetworkInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getNetworkInfoForNetwork-(Landroid/net/Network;)Landroid/net/NetworkInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getTetherableBluetoothRegexs-()[Ljava/lang/String;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getTetherableIfaces-()[Ljava/lang/String;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getTetherableUsbRegexs-()[Ljava/lang/String;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getTetherableWifiRegexs-()[Ljava/lang/String;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getTetheredDhcpRanges-()[Ljava/lang/String;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-getTetheredIfaces-()[Ljava/lang/String;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getTetheringErroredIfaces-()[Ljava/lang/String;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getVpnConfig-(I)Lcom/android/internal/net/VpnConfig;": [ "android.permission.CONTROL_VPN", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/ConnectivityService;-isActiveNetworkMetered-()Z": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-isNetworkSupported-(I)Z": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-isTetheringSupported-()Z": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-listenForNetwork-(Landroid/net/NetworkCapabilities; Landroid/os/Messenger; Landroid/os/IBinder;)Landroid/net/NetworkRequest;": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.ACCESS_WIFI_STATE", "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-pendingListenForNetwork-(Landroid/net/NetworkCapabilities; Landroid/app/PendingIntent;)V": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.ACCESS_WIFI_STATE", "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-pendingRequestForNetwork-(Landroid/net/NetworkCapabilities; Landroid/app/PendingIntent;)Landroid/net/NetworkRequest;": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-prepareVpn-(Ljava/lang/String; Ljava/lang/String; I)Z": [ "android.permission.CONTROL_VPN", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/ConnectivityService;-registerNetworkAgent-(Landroid/os/Messenger; Landroid/net/NetworkInfo; Landroid/net/LinkProperties; Landroid/net/NetworkCapabilities; I Landroid/net/NetworkMisc;)I": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-registerNetworkFactory-(Landroid/os/Messenger; Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-reportInetCondition-(I I)V": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.INTERNET" ], "Lcom/android/server/ConnectivityService;-reportNetworkConnectivity-(Landroid/net/Network; Z)V": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.INTERNET" ], "Lcom/android/server/ConnectivityService;-requestBandwidthUpdate-(Landroid/net/Network;)Z": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-requestNetwork-(Landroid/net/NetworkCapabilities; Landroid/os/Messenger; I Landroid/os/IBinder; I)Landroid/net/NetworkRequest;": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-requestRouteToHostAddress-(I [B)Z": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-setAcceptUnvalidated-(Landroid/net/Network; Z Z)V": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-setAirplaneMode-(Z)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-setGlobalProxy-(Landroid/net/ProxyInfo;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-setProvisioningNotificationVisible-(Z I Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-setUsbTethering-(Z)I": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.CONNECTIVITY_INTERNAL", "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-setVpnPackageAuthorization-(Ljava/lang/String; I Z)V": [ "android.permission.CONTROL_VPN", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/ConnectivityService;-startLegacyVpn-(Lcom/android/internal/net/VpnProfile;)V": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.CONTROL_VPN" ], "Lcom/android/server/ConnectivityService;-startNattKeepalive-(Landroid/net/Network; I Landroid/os/Messenger; Landroid/os/IBinder; Ljava/lang/String; I Ljava/lang/String;)V": [ "android.permission.PACKET_KEEPALIVE_OFFLOAD" ], "Lcom/android/server/ConnectivityService;-tether-(Ljava/lang/String;)I": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.CONNECTIVITY_INTERNAL", "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-unregisterNetworkFactory-(Landroid/os/Messenger;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-untether-(Ljava/lang/String;)I": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.CONNECTIVITY_INTERNAL", "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-updateLockdownVpn-()Z": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConsumerIrService;-getCarrierFrequencies-()[I": [ "android.permission.TRANSMIT_IR" ], "Lcom/android/server/ConsumerIrService;-transmit-(Ljava/lang/String; I [I)V": [ "android.permission.TRANSMIT_IR" ], "Lcom/android/server/DeviceIdleController$BinderService;-addPowerSaveTempWhitelistApp-(Ljava/lang/String; J I Ljava/lang/String;)V": [ "android.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST" ], "Lcom/android/server/DeviceIdleController$BinderService;-addPowerSaveTempWhitelistAppForMms-(Ljava/lang/String; I Ljava/lang/String;)J": [ "android.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST" ], "Lcom/android/server/DeviceIdleController$BinderService;-addPowerSaveTempWhitelistAppForSms-(Ljava/lang/String; I Ljava/lang/String;)J": [ "android.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST" ], "Lcom/android/server/DeviceIdleController$BinderService;-addPowerSaveWhitelistApp-(Ljava/lang/String;)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/DeviceIdleController$BinderService;-exitIdle-(Ljava/lang/String;)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/DeviceIdleController$BinderService;-removePowerSaveWhitelistApp-(Ljava/lang/String;)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/DropBoxManagerService;-getNextEntry-(Ljava/lang/String; J)Landroid/os/DropBoxManager$Entry;": [ "android.permission.READ_LOGS" ], "Lcom/android/server/InputMethodManagerService;-addClient-(Lcom/android/internal/view/IInputMethodClient; Lcom/android/internal/view/IInputContext; I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-getCurrentInputMethodSubtype-()Landroid/view/inputmethod/InputMethodSubtype;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-getEnabledInputMethodList-()Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-getEnabledInputMethodSubtypeList-(Ljava/lang/String; Z)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-getInputMethodList-()Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-getLastInputMethodSubtype-()Landroid/view/inputmethod/InputMethodSubtype;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-hideMySoftInput-(Landroid/os/IBinder; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-hideSoftInput-(Lcom/android/internal/view/IInputMethodClient; I Landroid/os/ResultReceiver;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-notifySuggestionPicked-(Landroid/text/style/SuggestionSpan; Ljava/lang/String; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-registerSuggestionSpansForNotification-([Landroid/text/style/SuggestionSpan;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-removeClient-(Lcom/android/internal/view/IInputMethodClient;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-setAdditionalInputMethodSubtypes-(Ljava/lang/String; [Landroid/view/inputmethod/InputMethodSubtype;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-setCurrentInputMethodSubtype-(Landroid/view/inputmethod/InputMethodSubtype;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-setImeWindowStatus-(Landroid/os/IBinder; I I)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/InputMethodManagerService;-setInputMethod-(Landroid/os/IBinder; Ljava/lang/String;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/InputMethodManagerService;-setInputMethodAndSubtype-(Landroid/os/IBinder; Ljava/lang/String; Landroid/view/inputmethod/InputMethodSubtype;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/InputMethodManagerService;-setInputMethodEnabled-(Ljava/lang/String; Z)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/InputMethodManagerService;-shouldOfferSwitchingToNextInputMethod-(Landroid/os/IBinder;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-showInputMethodAndSubtypeEnablerFromClient-(Lcom/android/internal/view/IInputMethodClient; Ljava/lang/String;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.STATUS_BAR" ], "Lcom/android/server/InputMethodManagerService;-showInputMethodPickerFromClient-(Lcom/android/internal/view/IInputMethodClient; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-showMySoftInput-(Landroid/os/IBinder; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-showSoftInput-(Lcom/android/internal/view/IInputMethodClient; I Landroid/os/ResultReceiver;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-startInput-(Lcom/android/internal/view/IInputMethodClient; Lcom/android/internal/view/IInputContext; Landroid/view/inputmethod/EditorInfo; I)Lcom/android/internal/view/InputBindResult;": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.STATUS_BAR" ], "Lcom/android/server/InputMethodManagerService;-switchToLastInputMethod-(Landroid/os/IBinder;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/InputMethodManagerService;-switchToNextInputMethod-(Landroid/os/IBinder; Z)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/InputMethodManagerService;-updateStatusIcon-(Landroid/os/IBinder; Ljava/lang/String; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.STATUS_BAR" ], "Lcom/android/server/InputMethodManagerService;-windowGainedFocus-(Lcom/android/internal/view/IInputMethodClient; Landroid/os/IBinder; I I I Landroid/view/inputmethod/EditorInfo; Lcom/android/internal/view/IInputContext;)Lcom/android/internal/view/InputBindResult;": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.STATUS_BAR" ], "Lcom/android/server/LocationManagerService;-addGpsMeasurementsListener-(Landroid/location/IGpsMeasurementsListener; Ljava/lang/String;)Z": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-addGpsNavigationMessageListener-(Landroid/location/IGpsNavigationMessageListener; Ljava/lang/String;)Z": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-addGpsStatusListener-(Landroid/location/IGpsStatusListener; Ljava/lang/String;)Z": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-getBestProvider-(Landroid/location/Criteria; Z)Ljava/lang/String;": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-getLastLocation-(Landroid/location/LocationRequest; Ljava/lang/String;)Landroid/location/Location;": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-getProviderProperties-(Ljava/lang/String;)Lcom/android/internal/location/ProviderProperties;": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-getProviders-(Landroid/location/Criteria; Z)Ljava/util/List;": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-removeUpdates-(Landroid/location/ILocationListener; Landroid/app/PendingIntent; Ljava/lang/String;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-reportLocation-(Landroid/location/Location; Z)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION", "android.permission.INSTALL_LOCATION_PROVIDER" ], "Lcom/android/server/LocationManagerService;-requestGeofence-(Landroid/location/LocationRequest; Landroid/location/Geofence; Landroid/app/PendingIntent; Ljava/lang/String;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-requestLocationUpdates-(Landroid/location/LocationRequest; Landroid/location/ILocationListener; Landroid/app/PendingIntent; Ljava/lang/String;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION", "android.permission.UPDATE_APP_OPS_STATS", "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/LocationManagerService;-sendExtraCommand-(Ljava/lang/String; Ljava/lang/String; Landroid/os/Bundle;)Z": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION", "android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" ], "Lcom/android/server/LockSettingsService;-checkPassword-(Ljava/lang/String; I)Lcom/android/internal/widget/VerifyCredentialResponse;": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" ], "Lcom/android/server/LockSettingsService;-checkPattern-(Ljava/lang/String; I)Lcom/android/internal/widget/VerifyCredentialResponse;": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" ], "Lcom/android/server/LockSettingsService;-checkVoldPassword-(I)Z": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" ], "Lcom/android/server/LockSettingsService;-getBoolean-(Ljava/lang/String; Z I)Z": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE", "android.permission.READ_CONTACTS" ], "Lcom/android/server/LockSettingsService;-getLong-(Ljava/lang/String; J I)J": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE", "android.permission.READ_CONTACTS" ], "Lcom/android/server/LockSettingsService;-getString-(Ljava/lang/String; Ljava/lang/String; I)Ljava/lang/String;": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE", "android.permission.READ_CONTACTS" ], "Lcom/android/server/LockSettingsService;-registerStrongAuthTracker-(Landroid/app/trust/IStrongAuthTracker;)V": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" ], "Lcom/android/server/LockSettingsService;-requireStrongAuth-(I I)V": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" ], "Lcom/android/server/LockSettingsService;-setBoolean-(Ljava/lang/String; Z I)V": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" ], "Lcom/android/server/LockSettingsService;-setLockPassword-(Ljava/lang/String; Ljava/lang/String; I)V": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" ], "Lcom/android/server/LockSettingsService;-setLockPattern-(Ljava/lang/String; Ljava/lang/String; I)V": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" ], "Lcom/android/server/LockSettingsService;-setLong-(Ljava/lang/String; J I)V": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" ], "Lcom/android/server/LockSettingsService;-setString-(Ljava/lang/String; Ljava/lang/String; I)V": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" ], "Lcom/android/server/LockSettingsService;-unregisterStrongAuthTracker-(Landroid/app/trust/IStrongAuthTracker;)V": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" ], "Lcom/android/server/LockSettingsService;-verifyPassword-(Ljava/lang/String; J I)Lcom/android/internal/widget/VerifyCredentialResponse;": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" ], "Lcom/android/server/LockSettingsService;-verifyPattern-(Ljava/lang/String; J I)Lcom/android/internal/widget/VerifyCredentialResponse;": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" ], "Lcom/android/server/MmsServiceBroker$BinderService;-downloadMessage-(I Ljava/lang/String; Ljava/lang/String; Landroid/net/Uri; Landroid/os/Bundle; Landroid/app/PendingIntent;)V": [ "android.permission.RECEIVE_MMS" ], "Lcom/android/server/MmsServiceBroker$BinderService;-sendMessage-(I Ljava/lang/String; Landroid/net/Uri; Ljava/lang/String; Landroid/os/Bundle; Landroid/app/PendingIntent;)V": [ "android.permission.SEND_SMS" ], "Lcom/android/server/MountService;-benchmark-(Ljava/lang/String;)J": [ "android.permission.MOUNT_FORMAT_FILESYSTEMS" ], "Lcom/android/server/MountService;-changeEncryptionPassword-(I Ljava/lang/String;)I": [ "android.permission.CRYPT_KEEPER" ], "Lcom/android/server/MountService;-createSecureContainer-(Ljava/lang/String; I Ljava/lang/String; Ljava/lang/String; I Z)I": [ "android.permission.ASEC_CREATE" ], "Lcom/android/server/MountService;-decryptStorage-(Ljava/lang/String;)I": [ "android.permission.CRYPT_KEEPER" ], "Lcom/android/server/MountService;-destroySecureContainer-(Ljava/lang/String; Z)I": [ "android.permission.ASEC_DESTROY" ], "Lcom/android/server/MountService;-encryptStorage-(I Ljava/lang/String;)I": [ "android.permission.CRYPT_KEEPER" ], "Lcom/android/server/MountService;-finalizeSecureContainer-(Ljava/lang/String;)I": [ "android.permission.ASEC_CREATE" ], "Lcom/android/server/MountService;-fixPermissionsSecureContainer-(Ljava/lang/String; I Ljava/lang/String;)I": [ "android.permission.ASEC_CREATE" ], "Lcom/android/server/MountService;-forgetAllVolumes-()V": [ "android.permission.MOUNT_UNMOUNT_FILESYSTEMS" ], "Lcom/android/server/MountService;-forgetVolume-(Ljava/lang/String;)V": [ "android.permission.MOUNT_UNMOUNT_FILESYSTEMS" ], "Lcom/android/server/MountService;-format-(Ljava/lang/String;)V": [ "android.permission.MOUNT_FORMAT_FILESYSTEMS" ], "Lcom/android/server/MountService;-formatVolume-(Ljava/lang/String;)I": [ "android.permission.MOUNT_FORMAT_FILESYSTEMS" ], "Lcom/android/server/MountService;-getEncryptionState-()I": [ "android.permission.CRYPT_KEEPER" ], "Lcom/android/server/MountService;-getPassword-()Ljava/lang/String;": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" ], "Lcom/android/server/MountService;-getPrimaryStorageUuid-()Ljava/lang/String;": [ "android.permission.MOUNT_UNMOUNT_FILESYSTEMS" ], "Lcom/android/server/MountService;-getSecureContainerFilesystemPath-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.ASEC_ACCESS" ], "Lcom/android/server/MountService;-getSecureContainerList-()[Ljava/lang/String;": [ "android.permission.ASEC_ACCESS" ], "Lcom/android/server/MountService;-getSecureContainerPath-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.ASEC_ACCESS" ], "Lcom/android/server/MountService;-getStorageUsers-(Ljava/lang/String;)[I": [ "android.permission.MOUNT_UNMOUNT_FILESYSTEMS" ], "Lcom/android/server/MountService;-isSecureContainerMounted-(Ljava/lang/String;)Z": [ "android.permission.ASEC_ACCESS" ], "Lcom/android/server/MountService;-mount-(Ljava/lang/String;)V": [ "android.permission.MOUNT_UNMOUNT_FILESYSTEMS" ], "Lcom/android/server/MountService;-mountSecureContainer-(Ljava/lang/String; Ljava/lang/String; I Z)I": [ "android.permission.ASEC_MOUNT_UNMOUNT" ], "Lcom/android/server/MountService;-mountVolume-(Ljava/lang/String;)I": [ "android.permission.MOUNT_UNMOUNT_FILESYSTEMS" ], "Lcom/android/server/MountService;-partitionMixed-(Ljava/lang/String; I)V": [ "android.permission.MOUNT_FORMAT_FILESYSTEMS" ], "Lcom/android/server/MountService;-partitionPrivate-(Ljava/lang/String;)V": [ "android.permission.MOUNT_FORMAT_FILESYSTEMS" ], "Lcom/android/server/MountService;-partitionPublic-(Ljava/lang/String;)V": [ "android.permission.MOUNT_FORMAT_FILESYSTEMS" ], "Lcom/android/server/MountService;-renameSecureContainer-(Ljava/lang/String; Ljava/lang/String;)I": [ "android.permission.ASEC_RENAME" ], "Lcom/android/server/MountService;-resizeSecureContainer-(Ljava/lang/String; I Ljava/lang/String;)I": [ "android.permission.ASEC_CREATE" ], "Lcom/android/server/MountService;-runMaintenance-()V": [ "android.permission.MOUNT_UNMOUNT_FILESYSTEMS" ], "Lcom/android/server/MountService;-setDebugFlags-(I I)V": [ "android.permission.MOUNT_UNMOUNT_FILESYSTEMS" ], "Lcom/android/server/MountService;-setPrimaryStorageUuid-(Ljava/lang/String; Landroid/content/pm/IPackageMoveObserver;)V": [ "android.permission.MOUNT_UNMOUNT_FILESYSTEMS" ], "Lcom/android/server/MountService;-setVolumeNickname-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.MOUNT_UNMOUNT_FILESYSTEMS" ], "Lcom/android/server/MountService;-setVolumeUserFlags-(Ljava/lang/String; I I)V": [ "android.permission.MOUNT_UNMOUNT_FILESYSTEMS" ], "Lcom/android/server/MountService;-shutdown-(Landroid/os/storage/IMountShutdownObserver;)V": [ "android.permission.SHUTDOWN" ], "Lcom/android/server/MountService;-unmount-(Ljava/lang/String;)V": [ "android.permission.MOUNT_UNMOUNT_FILESYSTEMS" ], "Lcom/android/server/MountService;-unmountSecureContainer-(Ljava/lang/String; Z)I": [ "android.permission.ASEC_MOUNT_UNMOUNT" ], "Lcom/android/server/MountService;-unmountVolume-(Ljava/lang/String; Z Z)V": [ "android.permission.MOUNT_UNMOUNT_FILESYSTEMS" ], "Lcom/android/server/MountService;-verifyEncryptionPassword-(Ljava/lang/String;)I": [ "android.permission.CRYPT_KEEPER" ], "Lcom/android/server/NetworkManagementService;-addIdleTimer-(Ljava/lang/String; I I)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-addInterfaceToLocalNetwork-(Ljava/lang/String; Ljava/util/List;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-addInterfaceToNetwork-(Ljava/lang/String; I)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-addLegacyRouteForNetId-(I Landroid/net/RouteInfo; I)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-addRoute-(I Landroid/net/RouteInfo;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-addVpnUidRanges-(I [Landroid/net/UidRange;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-allowProtect-(I)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-attachPppd-(Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-clearDefaultNetId-()V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-clearInterfaceAddresses-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-clearPermission-([I)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-createPhysicalNetwork-(I Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-createVirtualNetwork-(I Z Z)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-denyProtect-(I)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-detachPppd-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-disableIpv6-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-disableNat-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-enableIpv6-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-enableNat-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-flushNetworkDnsCache-(I)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getDnsForwarders-()[Ljava/lang/String;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getInterfaceConfig-(Ljava/lang/String;)Landroid/net/InterfaceConfiguration;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getIpForwardingEnabled-()Z": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getNetworkStatsDetail-()Landroid/net/NetworkStats;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getNetworkStatsSummaryDev-()Landroid/net/NetworkStats;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getNetworkStatsSummaryXt-()Landroid/net/NetworkStats;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getNetworkStatsTethering-()Landroid/net/NetworkStats;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getNetworkStatsUidDetail-(I)Landroid/net/NetworkStats;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getRoutes-(Ljava/lang/String;)[Landroid/net/RouteInfo;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-isBandwidthControlEnabled-()Z": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-isClatdStarted-(Ljava/lang/String;)Z": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-isTetheringStarted-()Z": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-listInterfaces-()[Ljava/lang/String;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-listTetheredInterfaces-()[Ljava/lang/String;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-listTtys-()[Ljava/lang/String;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-registerObserver-(Landroid/net/INetworkManagementEventObserver;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-removeIdleTimer-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-removeInterfaceAlert-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-removeInterfaceFromLocalNetwork-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-removeInterfaceFromNetwork-(Ljava/lang/String; I)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-removeInterfaceQuota-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-removeNetwork-(I)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-removeRoute-(I Landroid/net/RouteInfo;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-removeVpnUidRanges-(I [Landroid/net/UidRange;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setAccessPoint-(Landroid/net/wifi/WifiConfiguration; Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setDefaultNetId-(I)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setDnsForwarders-(Landroid/net/Network; [Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setDnsServersForNetwork-(I [Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setGlobalAlert-(J)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setInterfaceAlert-(Ljava/lang/String; J)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setInterfaceConfig-(Ljava/lang/String; Landroid/net/InterfaceConfiguration;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setInterfaceDown-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setInterfaceIpv6NdOffload-(Ljava/lang/String; Z)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setInterfaceIpv6PrivacyExtensions-(Ljava/lang/String; Z)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setInterfaceQuota-(Ljava/lang/String; J)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setInterfaceUp-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setIpForwardingEnabled-(Z)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setMtu-(Ljava/lang/String; I)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setNetworkPermission-(I Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setPermission-(Ljava/lang/String; [I)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setUidCleartextNetworkPolicy-(I I)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setUidNetworkRules-(I Z)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-shutdown-()V": [ "android.permission.SHUTDOWN" ], "Lcom/android/server/NetworkManagementService;-startAccessPoint-(Landroid/net/wifi/WifiConfiguration; Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-startClatd-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-startInterfaceForwarding-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-startTethering-([Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-stopAccessPoint-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-stopClatd-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-stopInterfaceForwarding-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-stopTethering-()V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-tetherInterface-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-unregisterObserver-(Landroid/net/INetworkManagementEventObserver;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-untetherInterface-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-wifiFirmwareReload-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkScoreService;-clearScores-()Z": [ "android.permission.BROADCAST_NETWORK_PRIVILEGED", "android.permission.SCORE_NETWORKS" ], "Lcom/android/server/NetworkScoreService;-disableScoring-()V": [ "android.permission.BROADCAST_NETWORK_PRIVILEGED", "android.permission.SCORE_NETWORKS" ], "Lcom/android/server/NetworkScoreService;-registerNetworkScoreCache-(I Landroid/net/INetworkScoreCache;)V": [ "android.permission.BROADCAST_NETWORK_PRIVILEGED" ], "Lcom/android/server/NetworkScoreService;-setActiveScorer-(Ljava/lang/String;)Z": [ "android.permission.SCORE_NETWORKS" ], "Lcom/android/server/NetworkScoreService;-updateScores-([Landroid/net/ScoredNetwork;)Z": [ "android.permission.SCORE_NETWORKS" ], "Lcom/android/server/NsdService;-getMessenger-()Landroid/os/Messenger;": [ "android.permission.INTERNET" ], "Lcom/android/server/NsdService;-setEnabled-(Z)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/SerialService;-getSerialPorts-()[Ljava/lang/String;": [ "android.permission.SERIAL_PORT" ], "Lcom/android/server/SerialService;-openSerialPort-(Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;": [ "android.permission.SERIAL_PORT" ], "Lcom/android/server/TelephonyRegistry;-addOnSubscriptionsChangedListener-(Ljava/lang/String; Lcom/android/internal/telephony/IOnSubscriptionsChangedListener;)V": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-listen-(Ljava/lang/String; Lcom/android/internal/telephony/IPhoneStateListener; I Z)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.READ_PHONE_STATE", "android.permission.READ_PRECISE_PHONE_STATE", "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-listenForSubscriber-(I Ljava/lang/String; Lcom/android/internal/telephony/IPhoneStateListener; I Z)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.READ_PHONE_STATE", "android.permission.READ_PRECISE_PHONE_STATE", "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyCallForwardingChanged-(Z)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyCallForwardingChangedForSubscriber-(I Z)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyCallState-(I Ljava/lang/String;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyCallStateForSubscriber-(I I Ljava/lang/String;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyCarrierNetworkChange-(Z)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyCellInfo-(Ljava/util/List;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyCellInfoForSubscriber-(I Ljava/util/List;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyCellLocation-(Landroid/os/Bundle;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyCellLocationForSubscriber-(I Landroid/os/Bundle;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyDataActivity-(I)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyDataActivityForSubscriber-(I I)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyDataConnection-(I Z Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Landroid/net/LinkProperties; Landroid/net/NetworkCapabilities; I Z)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyDataConnectionFailed-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyDataConnectionFailedForSubscriber-(I Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyDataConnectionForSubscriber-(I I Z Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Landroid/net/LinkProperties; Landroid/net/NetworkCapabilities; I Z)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyDataConnectionRealTimeInfo-(Landroid/telephony/DataConnectionRealTimeInfo;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyDisconnectCause-(I I)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyMessageWaitingChangedForPhoneId-(I I Z)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyOemHookRawEventForSubscriber-(I [B)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyOtaspChanged-(I)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyPreciseCallState-(I I I)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyPreciseDataConnectionFailed-(Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyServiceStateForPhoneId-(I I Landroid/telephony/ServiceState;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifySignalStrength-(Landroid/telephony/SignalStrength;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifySignalStrengthForSubscriber-(I Landroid/telephony/SignalStrength;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyVoLteServiceStateChanged-(Landroid/telephony/VoLteServiceState;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TextServicesManagerService;-setCurrentSpellChecker-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/TextServicesManagerService;-setCurrentSpellCheckerSubtype-(Ljava/lang/String; I)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/TextServicesManagerService;-setSpellCheckerEnabled-(Z)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/UpdateLockService;-acquireUpdateLock-(Landroid/os/IBinder; Ljava/lang/String;)V": [ "android.permission.UPDATE_LOCK" ], "Lcom/android/server/UpdateLockService;-releaseUpdateLock-(Landroid/os/IBinder;)V": [ "android.permission.UPDATE_LOCK" ], "Lcom/android/server/VibratorService;-cancelVibrate-(Landroid/os/IBinder;)V": [ "android.permission.VIBRATE" ], "Lcom/android/server/VibratorService;-vibrate-(I Ljava/lang/String; J I Landroid/os/IBinder;)V": [ "android.permission.UPDATE_APP_OPS_STATS", "android.permission.VIBRATE" ], "Lcom/android/server/VibratorService;-vibratePattern-(I Ljava/lang/String; [J I I Landroid/os/IBinder;)V": [ "android.permission.UPDATE_APP_OPS_STATS", "android.permission.VIBRATE" ], "Lcom/android/server/accounts/AccountManagerService;-addAccountAsUser-(Landroid/accounts/IAccountManagerResponse; Ljava/lang/String; Ljava/lang/String; [Ljava/lang/String; Z Landroid/os/Bundle; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/accounts/AccountManagerService;-confirmCredentialsAsUser-(Landroid/accounts/IAccountManagerResponse; Landroid/accounts/Account; Landroid/os/Bundle; Z I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/accounts/AccountManagerService;-copyAccountToUser-(Landroid/accounts/IAccountManagerResponse; Landroid/accounts/Account; I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/accounts/AccountManagerService;-getAccounts-(Ljava/lang/String; Ljava/lang/String;)[Landroid/accounts/Account;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/accounts/AccountManagerService;-getAccountsAsUser-(Ljava/lang/String; I Ljava/lang/String;)[Landroid/accounts/Account;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/accounts/AccountManagerService;-getAccountsByTypeForPackage-(Ljava/lang/String; Ljava/lang/String; Ljava/lang/String;)[Landroid/accounts/Account;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/accounts/AccountManagerService;-getAccountsForPackage-(Ljava/lang/String; I Ljava/lang/String;)[Landroid/accounts/Account;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/accounts/AccountManagerService;-getAuthenticatorTypes-(I)[Landroid/accounts/AuthenticatorDescription;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/accounts/AccountManagerService;-removeAccount-(Landroid/accounts/IAccountManagerResponse; Landroid/accounts/Account; Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/accounts/AccountManagerService;-removeAccountAsUser-(Landroid/accounts/IAccountManagerResponse; Landroid/accounts/Account; Z I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/am/ActivityManagerService;-appNotRespondingViaProvider-(Landroid/os/IBinder;)V": [ "android.permission.REMOVE_TASKS" ], "Lcom/android/server/am/ActivityManagerService;-bindBackupAgent-(Landroid/content/pm/ApplicationInfo; I)Z": [ "android.permission.CONFIRM_FULL_BACKUP" ], "Lcom/android/server/am/ActivityManagerService;-bootAnimationComplete-()V": [ "android.permission.BROADCAST_STICKY" ], "Lcom/android/server/am/ActivityManagerService;-clearPendingBackup-()V": [ "android.permission.BACKUP" ], "Lcom/android/server/am/ActivityManagerService;-crashApplication-(I I Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.FORCE_STOP_PACKAGES" ], "Lcom/android/server/am/ActivityManagerService;-createStackOnDisplay-(I)Landroid/app/IActivityContainer;": [ "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-createVirtualActivityContainer-(Landroid/os/IBinder; Landroid/app/IActivityContainerCallback;)Landroid/app/IActivityContainer;": [ "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-deleteActivityContainer-(Landroid/app/IActivityContainer;)V": [ "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-dumpHeap-(Ljava/lang/String; I Z Ljava/lang/String; Landroid/os/ParcelFileDescriptor;)Z": [ "android.permission.SET_ACTIVITY_WATCHER" ], "Lcom/android/server/am/ActivityManagerService;-finishHeavyWeightApp-()V": [ "android.permission.FORCE_STOP_PACKAGES" ], "Lcom/android/server/am/ActivityManagerService;-forceStopPackage-(Ljava/lang/String; I)V": [ "android.permission.FORCE_STOP_PACKAGES" ], "Lcom/android/server/am/ActivityManagerService;-getAllStackInfos-()Ljava/util/List;": [ "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-getAssistContextExtras-(I)Landroid/os/Bundle;": [ "android.permission.GET_TOP_ACTIVITY_INFO" ], "Lcom/android/server/am/ActivityManagerService;-getContentProviderExternal-(Ljava/lang/String; I Landroid/os/IBinder;)Landroid/app/IActivityManager$ContentProviderHolder;": [ "android.permission.ACCESS_CONTENT_PROVIDERS_EXTERNALLY" ], "Lcom/android/server/am/ActivityManagerService;-getCurrentUser-()Landroid/content/pm/UserInfo;": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/am/ActivityManagerService;-getPackageProcessState-(Ljava/lang/String; Ljava/lang/String;)I": [ "android.permission.PACKAGE_USAGE_STATS" ], "Lcom/android/server/am/ActivityManagerService;-getRecentTasks-(I I I)Ljava/util/List;": [ "android.permission.GET_DETAILED_TASKS", "android.permission.GET_TASKS", "android.permission.REAL_GET_TASKS" ], "Lcom/android/server/am/ActivityManagerService;-getRunningAppProcesses-()Ljava/util/List;": [ "android.permission.GET_TASKS", "android.permission.REAL_GET_TASKS" ], "Lcom/android/server/am/ActivityManagerService;-getRunningExternalApplications-()Ljava/util/List;": [ "android.permission.GET_TASKS", "android.permission.REAL_GET_TASKS" ], "Lcom/android/server/am/ActivityManagerService;-getRunningUserIds-()[I": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/am/ActivityManagerService;-getStackInfo-(I)Landroid/app/ActivityManager$StackInfo;": [ "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-getTaskThumbnail-(I)Landroid/app/ActivityManager$TaskThumbnail;": [ "android.permission.READ_FRAME_BUFFER" ], "Lcom/android/server/am/ActivityManagerService;-getTasks-(I I)Ljava/util/List;": [ "android.permission.GET_TASKS", "android.permission.REAL_GET_TASKS" ], "Lcom/android/server/am/ActivityManagerService;-hang-(Landroid/os/IBinder; Z)V": [ "android.permission.SET_ACTIVITY_WATCHER" ], "Lcom/android/server/am/ActivityManagerService;-inputDispatchingTimedOut-(I Z Ljava/lang/String;)J": [ "android.permission.FILTER_EVENTS" ], "Lcom/android/server/am/ActivityManagerService;-isInHomeStack-(I)Z": [ "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-isUserRunning-(I Z)Z": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/am/ActivityManagerService;-killAllBackgroundProcesses-()V": [ "android.permission.KILL_BACKGROUND_PROCESSES" ], "Lcom/android/server/am/ActivityManagerService;-killBackgroundProcesses-(Ljava/lang/String; I)V": [ "android.permission.KILL_BACKGROUND_PROCESSES" ], "Lcom/android/server/am/ActivityManagerService;-killUid-(I I Ljava/lang/String;)V": [ "android.permission.KILL_UID" ], "Lcom/android/server/am/ActivityManagerService;-launchAssistIntent-(Landroid/content/Intent; I Ljava/lang/String; I Landroid/os/Bundle;)Z": [ "android.permission.GET_TOP_ACTIVITY_INFO" ], "Lcom/android/server/am/ActivityManagerService;-moveTaskBackwards-(I)V": [ "android.permission.REORDER_TASKS" ], "Lcom/android/server/am/ActivityManagerService;-moveTaskToFront-(I I Landroid/os/Bundle;)V": [ "android.permission.REORDER_TASKS" ], "Lcom/android/server/am/ActivityManagerService;-moveTaskToStack-(I I Z)V": [ "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-navigateUpTo-(Landroid/os/IBinder; Landroid/content/Intent; I Landroid/content/Intent;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.START_ANY_ACTIVITY" ], "Lcom/android/server/am/ActivityManagerService;-performIdleMaintenance-()V": [ "android.permission.SET_ACTIVITY_WATCHER" ], "Lcom/android/server/am/ActivityManagerService;-profileControl-(Ljava/lang/String; I Z Landroid/app/ProfilerInfo; I)Z": [ "android.permission.SET_ACTIVITY_WATCHER" ], "Lcom/android/server/am/ActivityManagerService;-registerProcessObserver-(Landroid/app/IProcessObserver;)V": [ "android.permission.SET_ACTIVITY_WATCHER" ], "Lcom/android/server/am/ActivityManagerService;-registerUidObserver-(Landroid/app/IUidObserver;)V": [ "android.permission.SET_ACTIVITY_WATCHER" ], "Lcom/android/server/am/ActivityManagerService;-registerUserSwitchObserver-(Landroid/app/IUserSwitchObserver;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/am/ActivityManagerService;-removeContentProviderExternal-(Ljava/lang/String; Landroid/os/IBinder;)V": [ "android.permission.ACCESS_CONTENT_PROVIDERS_EXTERNALLY" ], "Lcom/android/server/am/ActivityManagerService;-removeTask-(I)Z": [ "android.permission.REMOVE_TASKS" ], "Lcom/android/server/am/ActivityManagerService;-requestAssistContextExtras-(I Lcom/android/internal/os/IResultReceiver; Landroid/os/IBinder;)Z": [ "android.permission.GET_TOP_ACTIVITY_INFO" ], "Lcom/android/server/am/ActivityManagerService;-requestBugReport-()V": [ "android.permission.DUMP" ], "Lcom/android/server/am/ActivityManagerService;-resizeStack-(I Landroid/graphics/Rect;)V": [ "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-resizeTask-(I Landroid/graphics/Rect;)V": [ "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-restart-()V": [ "android.permission.SET_ACTIVITY_WATCHER" ], "Lcom/android/server/am/ActivityManagerService;-resumeAppSwitches-()V": [ "android.permission.STOP_APP_SWITCHES" ], "Lcom/android/server/am/ActivityManagerService;-setActivityController-(Landroid/app/IActivityController;)V": [ "android.permission.SET_ACTIVITY_WATCHER" ], "Lcom/android/server/am/ActivityManagerService;-setAlwaysFinish-(Z)V": [ "android.permission.SET_ALWAYS_FINISH" ], "Lcom/android/server/am/ActivityManagerService;-setDebugApp-(Ljava/lang/String; Z Z)V": [ "android.permission.SET_DEBUG_APP" ], "Lcom/android/server/am/ActivityManagerService;-setDumpHeapDebugLimit-(Ljava/lang/String; I J Ljava/lang/String;)V": [ "android.permission.SET_DEBUG_APP" ], "Lcom/android/server/am/ActivityManagerService;-setFrontActivityScreenCompatMode-(I)V": [ "android.permission.SET_SCREEN_COMPATIBILITY" ], "Lcom/android/server/am/ActivityManagerService;-setLockScreenShown-(Z)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/am/ActivityManagerService;-setPackageAskScreenCompat-(Ljava/lang/String; Z)V": [ "android.permission.SET_SCREEN_COMPATIBILITY" ], "Lcom/android/server/am/ActivityManagerService;-setPackageScreenCompatMode-(Ljava/lang/String; I)V": [ "android.permission.SET_SCREEN_COMPATIBILITY" ], "Lcom/android/server/am/ActivityManagerService;-setProcessForeground-(Landroid/os/IBinder; I Z)V": [ "android.permission.SET_PROCESS_LIMIT" ], "Lcom/android/server/am/ActivityManagerService;-setProcessLimit-(I)V": [ "android.permission.BROADCAST_STICKY", "android.permission.SET_PROCESS_LIMIT" ], "Lcom/android/server/am/ActivityManagerService;-shutdown-(I)Z": [ "android.permission.SHUTDOWN" ], "Lcom/android/server/am/ActivityManagerService;-signalPersistentProcesses-(I)V": [ "android.permission.SIGNAL_PERSISTENT_PROCESSES" ], "Lcom/android/server/am/ActivityManagerService;-startActivities-(Landroid/app/IApplicationThread; Ljava/lang/String; [Landroid/content/Intent; [Ljava/lang/String; Landroid/os/IBinder; Landroid/os/Bundle; I)I": [ "android.permission.SET_DEBUG_APP" ], "Lcom/android/server/am/ActivityManagerService;-startActivity-(Landroid/app/IApplicationThread; Ljava/lang/String; Landroid/content/Intent; Ljava/lang/String; Landroid/os/IBinder; Ljava/lang/String; I I Landroid/app/ProfilerInfo; Landroid/os/Bundle;)I": [ "android.permission.SET_DEBUG_APP" ], "Lcom/android/server/am/ActivityManagerService;-startActivityAndWait-(Landroid/app/IApplicationThread; Ljava/lang/String; Landroid/content/Intent; Ljava/lang/String; Landroid/os/IBinder; Ljava/lang/String; I I Landroid/app/ProfilerInfo; Landroid/os/Bundle; I)Landroid/app/IActivityManager$WaitResult;": [ "android.permission.SET_DEBUG_APP" ], "Lcom/android/server/am/ActivityManagerService;-startActivityAsCaller-(Landroid/app/IApplicationThread; Ljava/lang/String; Landroid/content/Intent; Ljava/lang/String; Landroid/os/IBinder; Ljava/lang/String; I I Landroid/app/ProfilerInfo; Landroid/os/Bundle; Z I)I": [ "android.permission.SET_DEBUG_APP" ], "Lcom/android/server/am/ActivityManagerService;-startActivityAsUser-(Landroid/app/IApplicationThread; Ljava/lang/String; Landroid/content/Intent; Ljava/lang/String; Landroid/os/IBinder; Ljava/lang/String; I I Landroid/app/ProfilerInfo; Landroid/os/Bundle; I)I": [ "android.permission.SET_DEBUG_APP" ], "Lcom/android/server/am/ActivityManagerService;-startActivityFromRecents-(I Landroid/os/Bundle;)I": [ "android.permission.START_TASKS_FROM_RECENTS" ], "Lcom/android/server/am/ActivityManagerService;-startActivityWithConfig-(Landroid/app/IApplicationThread; Ljava/lang/String; Landroid/content/Intent; Ljava/lang/String; Landroid/os/IBinder; Ljava/lang/String; I I Landroid/content/res/Configuration; Landroid/os/Bundle; I)I": [ "android.permission.SET_DEBUG_APP" ], "Lcom/android/server/am/ActivityManagerService;-startLockTaskModeOnCurrent-()V": [ "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-startUserInBackground-(I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/am/ActivityManagerService;-startVoiceActivity-(Ljava/lang/String; I I Landroid/content/Intent; Ljava/lang/String; Landroid/service/voice/IVoiceInteractionSession; Lcom/android/internal/app/IVoiceInteractor; I Landroid/app/ProfilerInfo; Landroid/os/Bundle; I)I": [ "android.permission.BIND_VOICE_INTERACTION" ], "Lcom/android/server/am/ActivityManagerService;-stopAppSwitches-()V": [ "android.permission.STOP_APP_SWITCHES" ], "Lcom/android/server/am/ActivityManagerService;-stopLockTaskModeOnCurrent-()V": [ "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-stopUser-(I Landroid/app/IStopUserCallback;)I": [ "android.permission.BROADCAST_STICKY", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/am/ActivityManagerService;-unbroadcastIntent-(Landroid/app/IApplicationThread; Landroid/content/Intent; I)V": [ "android.permission.BROADCAST_STICKY" ], "Lcom/android/server/am/ActivityManagerService;-unhandledBack-()V": [ "android.permission.FORCE_BACK" ], "Lcom/android/server/am/ActivityManagerService;-updateConfiguration-(Landroid/content/res/Configuration;)V": [ "android.permission.CHANGE_CONFIGURATION" ], "Lcom/android/server/am/ActivityManagerService;-updatePersistentConfiguration-(Landroid/content/res/Configuration;)V": [ "android.permission.CHANGE_CONFIGURATION" ], "Lcom/android/server/am/BatteryStatsService;-getAwakeTimeBattery-()J": [ "android.permission.BATTERY_STATS" ], "Lcom/android/server/am/BatteryStatsService;-getAwakeTimePlugged-()J": [ "android.permission.BATTERY_STATS" ], "Lcom/android/server/am/BatteryStatsService;-getStatistics-()[B": [ "android.permission.BATTERY_STATS" ], "Lcom/android/server/am/BatteryStatsService;-getStatisticsStream-()Landroid/os/ParcelFileDescriptor;": [ "android.permission.BATTERY_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteChangeWakelockFromSource-(Landroid/os/WorkSource; I Ljava/lang/String; Ljava/lang/String; I Landroid/os/WorkSource; I Ljava/lang/String; Ljava/lang/String; I Z)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteConnectivityChanged-(I Ljava/lang/String;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteDeviceIdleMode-(Z Ljava/lang/String; I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteEvent-(I Ljava/lang/String; I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteFlashlightOff-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteFlashlightOn-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteFullWifiLockAcquired-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteFullWifiLockAcquiredFromSource-(Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteFullWifiLockReleased-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteFullWifiLockReleasedFromSource-(Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteInteractive-(Z)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteJobFinish-(Ljava/lang/String; I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteJobStart-(Ljava/lang/String; I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteMobileRadioPowerState-(I J)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteNetworkInterfaceType-(Ljava/lang/String; I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteNetworkStatsEnabled-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-notePhoneDataConnectionState-(I Z)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-notePhoneOff-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-notePhoneOn-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-notePhoneSignalStrength-(Landroid/telephony/SignalStrength;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-notePhoneState-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteResetAudio-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteResetCamera-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteResetFlashlight-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteResetVideo-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteScreenBrightness-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteScreenState-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStartAudio-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStartCamera-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStartGps-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStartSensor-(I I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStartVideo-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStartWakelock-(I I Ljava/lang/String; Ljava/lang/String; I Z)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStartWakelockFromSource-(Landroid/os/WorkSource; I Ljava/lang/String; Ljava/lang/String; I Z)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStopAudio-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStopCamera-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStopGps-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStopSensor-(I I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStopVideo-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStopWakelock-(I I Ljava/lang/String; Ljava/lang/String; I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStopWakelockFromSource-(Landroid/os/WorkSource; I Ljava/lang/String; Ljava/lang/String; I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteSyncFinish-(Ljava/lang/String; I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteSyncStart-(Ljava/lang/String; I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteUserActivity-(I I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteVibratorOff-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteVibratorOn-(I J)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWakeUp-(Ljava/lang/String; I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiBatchedScanStartedFromSource-(Landroid/os/WorkSource; I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiBatchedScanStoppedFromSource-(Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiMulticastDisabled-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiMulticastDisabledFromSource-(Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiMulticastEnabled-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiMulticastEnabledFromSource-(Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiOff-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiOn-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiRadioPowerState-(I J)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiRssiChanged-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiRunning-(Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiRunningChanged-(Landroid/os/WorkSource; Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiScanStarted-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiScanStartedFromSource-(Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiScanStopped-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiScanStoppedFromSource-(Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiState-(I Ljava/lang/String;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiStopped-(Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiSupplicantStateChanged-(I Z)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-setBatteryState-(I I I I I I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/ProcessStatsService;-getCurrentStats-(Ljava/util/List;)[B": [ "android.permission.PACKAGE_USAGE_STATS" ], "Lcom/android/server/am/ProcessStatsService;-getStatsOverTime-(J)Landroid/os/ParcelFileDescriptor;": [ "android.permission.PACKAGE_USAGE_STATS" ], "Lcom/android/server/audio/AudioService;-disableSafeMediaVolume-(Ljava/lang/String;)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/audio/AudioService;-forceRemoteSubmixFullVolume-(Z Landroid/os/IBinder;)V": [ "android.permission.CAPTURE_AUDIO_OUTPUT" ], "Lcom/android/server/audio/AudioService;-notifyVolumeControllerVisible-(Landroid/media/IVolumeController; Z)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/audio/AudioService;-registerAudioPolicy-(Landroid/media/audiopolicy/AudioPolicyConfig; Landroid/media/audiopolicy/IAudioPolicyCallback; Z)Ljava/lang/String;": [ "android.permission.MODIFY_AUDIO_ROUTING" ], "Lcom/android/server/audio/AudioService;-registerRemoteControlDisplay-(Landroid/media/IRemoteControlDisplay; I I)Z": [ "android.permission.MEDIA_CONTENT_CONTROL" ], "Lcom/android/server/audio/AudioService;-registerRemoteController-(Landroid/media/IRemoteControlDisplay; I I Landroid/content/ComponentName;)Z": [ "android.permission.MEDIA_CONTENT_CONTROL" ], "Lcom/android/server/audio/AudioService;-requestAudioFocus-(Landroid/media/AudioAttributes; I Landroid/os/IBinder; Landroid/media/IAudioFocusDispatcher; Ljava/lang/String; Ljava/lang/String; I Landroid/media/audiopolicy/IAudioPolicyCallback;)I": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/audio/AudioService;-setBluetoothScoOn-(Z)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Lcom/android/server/audio/AudioService;-setFocusPropertiesForPolicy-(I Landroid/media/audiopolicy/IAudioPolicyCallback;)I": [ "android.permission.MODIFY_AUDIO_ROUTING" ], "Lcom/android/server/audio/AudioService;-setMasterMute-(Z I Ljava/lang/String; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/audio/AudioService;-setMicrophoneMute-(Z Ljava/lang/String; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MODIFY_AUDIO_SETTINGS" ], "Lcom/android/server/audio/AudioService;-setMode-(I Landroid/os/IBinder; Ljava/lang/String;)V": [ "android.permission.MODIFY_AUDIO_SETTINGS", "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/audio/AudioService;-setRemoteStreamVolume-(I)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/audio/AudioService;-setRingerModeInternal-(I Ljava/lang/String;)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/audio/AudioService;-setRingtonePlayer-(Landroid/media/IRingtonePlayer;)V": [ "android.permission.REMOTE_AUDIO_PLAYBACK" ], "Lcom/android/server/audio/AudioService;-setSpeakerphoneOn-(Z)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Lcom/android/server/audio/AudioService;-setVolumeController-(Landroid/media/IVolumeController;)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/audio/AudioService;-setVolumePolicy-(Landroid/media/VolumePolicy;)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/audio/AudioService;-startBluetoothSco-(Landroid/os/IBinder; I)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Lcom/android/server/audio/AudioService;-startBluetoothScoVirtualCall-(Landroid/os/IBinder;)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Lcom/android/server/audio/AudioService;-stopBluetoothSco-(Landroid/os/IBinder;)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Lcom/android/server/connectivity/Tethering;-interfaceAdded-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/connectivity/Tethering;-interfaceLinkStateChanged-(Ljava/lang/String; Z)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/connectivity/Tethering;-interfaceStatusChanged-(Ljava/lang/String; Z)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/content/ContentService;-addPeriodicSync-(Landroid/accounts/Account; Ljava/lang/String; Landroid/os/Bundle; J)V": [ "android.permission.WRITE_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-cancelSync-(Landroid/accounts/Account; Ljava/lang/String; Landroid/content/ComponentName;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/content/ContentService;-cancelSyncAsUser-(Landroid/accounts/Account; Ljava/lang/String; Landroid/content/ComponentName; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/content/ContentService;-getCurrentSyncs-()Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.READ_SYNC_STATS" ], "Lcom/android/server/content/ContentService;-getCurrentSyncsAsUser-(I)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.READ_SYNC_STATS" ], "Lcom/android/server/content/ContentService;-getIsSyncable-(Landroid/accounts/Account; Ljava/lang/String;)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.READ_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-getIsSyncableAsUser-(Landroid/accounts/Account; Ljava/lang/String; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.READ_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-getMasterSyncAutomatically-()Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.READ_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-getMasterSyncAutomaticallyAsUser-(I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.READ_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-getPeriodicSyncs-(Landroid/accounts/Account; Ljava/lang/String; Landroid/content/ComponentName;)Ljava/util/List;": [ "android.permission.READ_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-getSyncAdapterPackagesForAuthorityAsUser-(Ljava/lang/String; I)[Ljava/lang/String;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/content/ContentService;-getSyncAdapterTypes-()[Landroid/content/SyncAdapterType;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/content/ContentService;-getSyncAdapterTypesAsUser-(I)[Landroid/content/SyncAdapterType;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/content/ContentService;-getSyncAutomatically-(Landroid/accounts/Account; Ljava/lang/String;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.READ_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-getSyncAutomaticallyAsUser-(Landroid/accounts/Account; Ljava/lang/String; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.READ_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-getSyncStatus-(Landroid/accounts/Account; Ljava/lang/String; Landroid/content/ComponentName;)Landroid/content/SyncStatusInfo;": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.READ_SYNC_STATS" ], "Lcom/android/server/content/ContentService;-getSyncStatusAsUser-(Landroid/accounts/Account; Ljava/lang/String; Landroid/content/ComponentName; I)Landroid/content/SyncStatusInfo;": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.READ_SYNC_STATS" ], "Lcom/android/server/content/ContentService;-isSyncActive-(Landroid/accounts/Account; Ljava/lang/String; Landroid/content/ComponentName;)Z": [ "android.permission.READ_SYNC_STATS" ], "Lcom/android/server/content/ContentService;-isSyncPending-(Landroid/accounts/Account; Ljava/lang/String; Landroid/content/ComponentName;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.READ_SYNC_STATS" ], "Lcom/android/server/content/ContentService;-isSyncPendingAsUser-(Landroid/accounts/Account; Ljava/lang/String; Landroid/content/ComponentName; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.READ_SYNC_STATS" ], "Lcom/android/server/content/ContentService;-registerContentObserver-(Landroid/net/Uri; Z Landroid/database/IContentObserver; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/content/ContentService;-removePeriodicSync-(Landroid/accounts/Account; Ljava/lang/String; Landroid/os/Bundle;)V": [ "android.permission.WRITE_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-setIsSyncable-(Landroid/accounts/Account; Ljava/lang/String; I)V": [ "android.permission.WRITE_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-setMasterSyncAutomatically-(Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.WRITE_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-setMasterSyncAutomaticallyAsUser-(Z I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.WRITE_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-setSyncAutomatically-(Landroid/accounts/Account; Ljava/lang/String; Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.WRITE_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-setSyncAutomaticallyAsUser-(Landroid/accounts/Account; Ljava/lang/String; Z I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.WRITE_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-sync-(Landroid/content/SyncRequest;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/content/ContentService;-syncAsUser-(Landroid/content/SyncRequest; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-addCrossProfileIntentFilter-(Landroid/content/ComponentName; Landroid/content/IntentFilter; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-addCrossProfileWidgetProvider-(Landroid/content/ComponentName; Ljava/lang/String;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-addPersistentPreferredActivity-(Landroid/content/ComponentName; Landroid/content/IntentFilter; Landroid/content/ComponentName;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-choosePrivateKeyAlias-(I Landroid/net/Uri; Ljava/lang/String; Landroid/os/IBinder;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-clearCrossProfileIntentFilters-(Landroid/content/ComponentName;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-clearDeviceInitializer-(Landroid/content/ComponentName;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-clearDeviceOwner-(Ljava/lang/String;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-clearPackagePersistentPreferredActivities-(Landroid/content/ComponentName; Ljava/lang/String;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-clearProfileOwner-(Landroid/content/ComponentName;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-createAndInitializeUser-(Landroid/content/ComponentName; Ljava/lang/String; Ljava/lang/String; Landroid/content/ComponentName; Landroid/os/Bundle;)Landroid/os/UserHandle;": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_DEVICE_ADMINS", "android.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-createUser-(Landroid/content/ComponentName; Ljava/lang/String;)Landroid/os/UserHandle;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-enableSystemApp-(Landroid/content/ComponentName; Ljava/lang/String;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-enableSystemAppWithIntent-(Landroid/content/ComponentName; Landroid/content/Intent;)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-enforceCanManageCaCerts-(Landroid/content/ComponentName;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_CA_CERTIFICATES" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getAccountTypesWithManagementDisabled-()[Ljava/lang/String;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getAccountTypesWithManagementDisabledAsUser-(I)[Ljava/lang/String;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getActiveAdmins-(I)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getApplicationRestrictions-(Landroid/content/ComponentName; Ljava/lang/String;)Landroid/os/Bundle;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getAutoTimeRequired-()Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getBluetoothContactSharingDisabled-(Landroid/content/ComponentName;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getBluetoothContactSharingDisabledForUser-(I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getCameraDisabled-(Landroid/content/ComponentName; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getCertInstallerPackage-(Landroid/content/ComponentName;)Ljava/lang/String;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getCrossProfileCallerIdDisabled-(Landroid/content/ComponentName;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getCrossProfileCallerIdDisabledForUser-(I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getCrossProfileWidgetProviders-(Landroid/content/ComponentName;)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getCurrentFailedPasswordAttempts-(I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getDeviceOwnerName-()Ljava/lang/String;": [ "android.permission.MANAGE_USERS" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getDoNotAskCredentialsOnBoot-()Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.QUERY_DO_NOT_ASK_CREDENTIALS_ON_BOOT" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getGlobalProxyAdmin-(I)Landroid/content/ComponentName;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getKeyguardDisabledFeatures-(Landroid/content/ComponentName; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getLockTaskPackages-(Landroid/content/ComponentName;)[Ljava/lang/String;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getMaximumFailedPasswordsForWipe-(Landroid/content/ComponentName; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getMaximumTimeToLock-(Landroid/content/ComponentName; I)J": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getPasswordExpiration-(Landroid/content/ComponentName; I)J": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getPasswordExpirationTimeout-(Landroid/content/ComponentName; I)J": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getPasswordHistoryLength-(Landroid/content/ComponentName; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getPasswordMinimumLength-(Landroid/content/ComponentName; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getPasswordMinimumLetters-(Landroid/content/ComponentName; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getPasswordMinimumLowerCase-(Landroid/content/ComponentName; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getPasswordMinimumNonLetter-(Landroid/content/ComponentName; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getPasswordMinimumNumeric-(Landroid/content/ComponentName; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getPasswordMinimumSymbols-(Landroid/content/ComponentName; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getPasswordMinimumUpperCase-(Landroid/content/ComponentName; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getPasswordQuality-(Landroid/content/ComponentName; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getPermissionGrantState-(Landroid/content/ComponentName; Ljava/lang/String; Ljava/lang/String;)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getPermissionPolicy-(Landroid/content/ComponentName;)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getPermittedAccessibilityServices-(Landroid/content/ComponentName;)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getPermittedInputMethods-(Landroid/content/ComponentName;)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getProfileOwnerName-(I)Ljava/lang/String;": [ "android.permission.MANAGE_USERS" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getProfileWithMinimumFailedPasswordsForWipe-(I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getRemoveWarning-(Landroid/content/ComponentName; Landroid/os/RemoteCallback; I)V": [ "android.permission.BIND_DEVICE_ADMIN", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getRestrictionsProvider-(I)Landroid/content/ComponentName;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getScreenCaptureDisabled-(Landroid/content/ComponentName; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getStorageEncryption-(Landroid/content/ComponentName; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getStorageEncryptionStatus-(I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getTrustAgentConfiguration-(Landroid/content/ComponentName; Landroid/content/ComponentName; I)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-hasGrantedPolicy-(Landroid/content/ComponentName; I I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-hasUserSetupCompleted-()Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-installCaCert-(Landroid/content/ComponentName; [B)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_CA_CERTIFICATES" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-installKeyPair-(Landroid/content/ComponentName; [B [B Ljava/lang/String;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-isActivePasswordSufficient-(I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-isAdminActive-(Landroid/content/ComponentName; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-isApplicationHidden-(Landroid/content/ComponentName; Ljava/lang/String;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-isLockTaskPermitted-(Ljava/lang/String;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-isMasterVolumeMuted-(Landroid/content/ComponentName;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-isRemovingAdmin-(Landroid/content/ComponentName; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-isUninstallBlocked-(Landroid/content/ComponentName; Ljava/lang/String;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-lockNow-()V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-notifyLockTaskModeChanged-(Z Ljava/lang/String; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-notifyPendingSystemUpdate-(J)V": [ "android.permission.NOTIFY_PENDING_SYSTEM_UPDATE" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-packageHasActiveAdmins-(Ljava/lang/String; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-removeActiveAdmin-(Landroid/content/ComponentName; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_DEVICE_ADMINS" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-removeCrossProfileWidgetProvider-(Landroid/content/ComponentName; Ljava/lang/String;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-removeUser-(Landroid/content/ComponentName; Landroid/os/UserHandle;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-reportFailedPasswordAttempt-(I)V": [ "android.permission.BIND_DEVICE_ADMIN", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-reportSuccessfulPasswordAttempt-(I)V": [ "android.permission.BIND_DEVICE_ADMIN", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-resetPassword-(Ljava/lang/String; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setAccountManagementDisabled-(Landroid/content/ComponentName; Ljava/lang/String; Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setActiveAdmin-(Landroid/content/ComponentName; Z I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_DEVICE_ADMINS" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setActivePasswordState-(I I I I I I I I I)V": [ "android.permission.BIND_DEVICE_ADMIN", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setApplicationHidden-(Landroid/content/ComponentName; Ljava/lang/String; Z)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setApplicationRestrictions-(Landroid/content/ComponentName; Ljava/lang/String; Landroid/os/Bundle;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setAutoTimeRequired-(Landroid/content/ComponentName; Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setBluetoothContactSharingDisabled-(Landroid/content/ComponentName; Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setCameraDisabled-(Landroid/content/ComponentName; Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setCertInstallerPackage-(Landroid/content/ComponentName; Ljava/lang/String;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setCrossProfileCallerIdDisabled-(Landroid/content/ComponentName; Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setDeviceInitializer-(Landroid/content/ComponentName; Landroid/content/ComponentName;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_DEVICE_ADMINS" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setDeviceOwner-(Ljava/lang/String; Ljava/lang/String;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setGlobalProxy-(Landroid/content/ComponentName; Ljava/lang/String; Ljava/lang/String;)Landroid/content/ComponentName;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setGlobalSetting-(Landroid/content/ComponentName; Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setKeyguardDisabled-(Landroid/content/ComponentName; Z)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setKeyguardDisabledFeatures-(Landroid/content/ComponentName; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setLockTaskPackages-(Landroid/content/ComponentName; [Ljava/lang/String;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setMasterVolumeMuted-(Landroid/content/ComponentName; Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setMaximumFailedPasswordsForWipe-(Landroid/content/ComponentName; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setMaximumTimeToLock-(Landroid/content/ComponentName; J)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setPasswordExpirationTimeout-(Landroid/content/ComponentName; J)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setPasswordHistoryLength-(Landroid/content/ComponentName; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setPasswordMinimumLength-(Landroid/content/ComponentName; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setPasswordMinimumLetters-(Landroid/content/ComponentName; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setPasswordMinimumLowerCase-(Landroid/content/ComponentName; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setPasswordMinimumNonLetter-(Landroid/content/ComponentName; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setPasswordMinimumNumeric-(Landroid/content/ComponentName; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setPasswordMinimumSymbols-(Landroid/content/ComponentName; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setPasswordMinimumUpperCase-(Landroid/content/ComponentName; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setPasswordQuality-(Landroid/content/ComponentName; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setPermissionGrantState-(Landroid/content/ComponentName; Ljava/lang/String; Ljava/lang/String; I)Z": [ "android.permission.GRANT_RUNTIME_PERMISSIONS", "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.REVOKE_RUNTIME_PERMISSIONS" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setPermissionPolicy-(Landroid/content/ComponentName; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setPermittedAccessibilityServices-(Landroid/content/ComponentName; Ljava/util/List;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setPermittedInputMethods-(Landroid/content/ComponentName; Ljava/util/List;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setProfileEnabled-(Landroid/content/ComponentName;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setProfileName-(Landroid/content/ComponentName; Ljava/lang/String;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setProfileOwner-(Landroid/content/ComponentName; Ljava/lang/String; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setRecommendedGlobalProxy-(Landroid/content/ComponentName; Landroid/net/ProxyInfo;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setRestrictionsProvider-(Landroid/content/ComponentName; Landroid/content/ComponentName;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setScreenCaptureDisabled-(Landroid/content/ComponentName; Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setSecureSetting-(Landroid/content/ComponentName; Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setStatusBarDisabled-(Landroid/content/ComponentName; Z)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setStorageEncryption-(Landroid/content/ComponentName; Z)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setSystemUpdatePolicy-(Landroid/content/ComponentName; Landroid/app/admin/SystemUpdatePolicy;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setTrustAgentConfiguration-(Landroid/content/ComponentName; Landroid/content/ComponentName; Landroid/os/PersistableBundle;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setUninstallBlocked-(Landroid/content/ComponentName; Ljava/lang/String; Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setUserEnabled-(Landroid/content/ComponentName;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_DEVICE_ADMINS" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setUserIcon-(Landroid/content/ComponentName; Landroid/graphics/Bitmap;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setUserRestriction-(Landroid/content/ComponentName; Ljava/lang/String; Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-switchUser-(Landroid/content/ComponentName; Landroid/os/UserHandle;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-uninstallCaCerts-(Landroid/content/ComponentName; [Ljava/lang/String;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_CA_CERTIFICATES" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-wipeData-(I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/display/DisplayManagerService$BinderService;-connectWifiDisplay-(Ljava/lang/String;)V": [ "android.permission.CONFIGURE_WIFI_DISPLAY" ], "Lcom/android/server/display/DisplayManagerService$BinderService;-createVirtualDisplay-(Landroid/hardware/display/IVirtualDisplayCallback; Landroid/media/projection/IMediaProjection; Ljava/lang/String; Ljava/lang/String; I I I Landroid/view/Surface; I)I": [ "android.permission.CAPTURE_SECURE_VIDEO_OUTPUT", "android.permission.CAPTURE_VIDEO_OUTPUT" ], "Lcom/android/server/display/DisplayManagerService$BinderService;-forgetWifiDisplay-(Ljava/lang/String;)V": [ "android.permission.CONFIGURE_WIFI_DISPLAY" ], "Lcom/android/server/display/DisplayManagerService$BinderService;-pauseWifiDisplay-()V": [ "android.permission.CONFIGURE_WIFI_DISPLAY" ], "Lcom/android/server/display/DisplayManagerService$BinderService;-renameWifiDisplay-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.CONFIGURE_WIFI_DISPLAY" ], "Lcom/android/server/display/DisplayManagerService$BinderService;-requestColorTransform-(I I)V": [ "android.permission.CONFIGURE_DISPLAY_COLOR_TRANSFORM" ], "Lcom/android/server/display/DisplayManagerService$BinderService;-resumeWifiDisplay-()V": [ "android.permission.CONFIGURE_WIFI_DISPLAY" ], "Lcom/android/server/display/DisplayManagerService$BinderService;-startWifiDisplayScan-()V": [ "android.permission.CONFIGURE_WIFI_DISPLAY" ], "Lcom/android/server/display/DisplayManagerService$BinderService;-stopWifiDisplayScan-()V": [ "android.permission.CONFIGURE_WIFI_DISPLAY" ], "Lcom/android/server/dreams/DreamManagerService$BinderService;-awaken-()V": [ "android.permission.WRITE_DREAM_STATE" ], "Lcom/android/server/dreams/DreamManagerService$BinderService;-dream-()V": [ "android.permission.WRITE_DREAM_STATE" ], "Lcom/android/server/dreams/DreamManagerService$BinderService;-getDefaultDreamComponent-()Landroid/content/ComponentName;": [ "android.permission.READ_DREAM_STATE" ], "Lcom/android/server/dreams/DreamManagerService$BinderService;-getDreamComponents-()[Landroid/content/ComponentName;": [ "android.permission.READ_DREAM_STATE" ], "Lcom/android/server/dreams/DreamManagerService$BinderService;-isDreaming-()Z": [ "android.permission.READ_DREAM_STATE" ], "Lcom/android/server/dreams/DreamManagerService$BinderService;-setDreamComponents-([Landroid/content/ComponentName;)V": [ "android.permission.WRITE_DREAM_STATE" ], "Lcom/android/server/dreams/DreamManagerService$BinderService;-testDream-(Landroid/content/ComponentName;)V": [ "android.permission.WRITE_DREAM_STATE" ], "Lcom/android/server/fingerprint/FingerprintService$FingerprintServiceWrapper;-authenticate-(Landroid/os/IBinder; J I Landroid/hardware/fingerprint/IFingerprintServiceReceiver; I Ljava/lang/String;)V": [ "android.permission.MANAGE_FINGERPRINT", "android.permission.USE_FINGERPRINT" ], "Lcom/android/server/fingerprint/FingerprintService$FingerprintServiceWrapper;-cancelAuthentication-(Landroid/os/IBinder; Ljava/lang/String;)V": [ "android.permission.USE_FINGERPRINT" ], "Lcom/android/server/fingerprint/FingerprintService$FingerprintServiceWrapper;-cancelEnrollment-(Landroid/os/IBinder;)V": [ "android.permission.MANAGE_FINGERPRINT" ], "Lcom/android/server/fingerprint/FingerprintService$FingerprintServiceWrapper;-enroll-(Landroid/os/IBinder; [B I Landroid/hardware/fingerprint/IFingerprintServiceReceiver; I)V": [ "android.permission.MANAGE_FINGERPRINT" ], "Lcom/android/server/fingerprint/FingerprintService$FingerprintServiceWrapper;-getEnrolledFingerprints-(I Ljava/lang/String;)Ljava/util/List;": [ "android.permission.USE_FINGERPRINT" ], "Lcom/android/server/fingerprint/FingerprintService$FingerprintServiceWrapper;-hasEnrolledFingerprints-(I Ljava/lang/String;)Z": [ "android.permission.USE_FINGERPRINT" ], "Lcom/android/server/fingerprint/FingerprintService$FingerprintServiceWrapper;-isHardwareDetected-(J Ljava/lang/String;)Z": [ "android.permission.USE_FINGERPRINT" ], "Lcom/android/server/fingerprint/FingerprintService$FingerprintServiceWrapper;-postEnroll-(Landroid/os/IBinder;)I": [ "android.permission.MANAGE_FINGERPRINT" ], "Lcom/android/server/fingerprint/FingerprintService$FingerprintServiceWrapper;-preEnroll-(Landroid/os/IBinder;)J": [ "android.permission.MANAGE_FINGERPRINT" ], "Lcom/android/server/fingerprint/FingerprintService$FingerprintServiceWrapper;-remove-(Landroid/os/IBinder; I I Landroid/hardware/fingerprint/IFingerprintServiceReceiver;)V": [ "android.permission.MANAGE_FINGERPRINT" ], "Lcom/android/server/fingerprint/FingerprintService$FingerprintServiceWrapper;-rename-(I I Ljava/lang/String;)V": [ "android.permission.MANAGE_FINGERPRINT" ], "Lcom/android/server/fingerprint/FingerprintService$FingerprintServiceWrapper;-resetTimeout-([B)V": [ "android.permission.RESET_FINGERPRINT_LOCKOUT" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-addDeviceEventListener-(Landroid/hardware/hdmi/IHdmiDeviceEventListener;)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-addHdmiMhlVendorCommandListener-(Landroid/hardware/hdmi/IHdmiMhlVendorCommandListener;)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-addHotplugEventListener-(Landroid/hardware/hdmi/IHdmiHotplugEventListener;)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-addSystemAudioModeChangeListener-(Landroid/hardware/hdmi/IHdmiSystemAudioModeChangeListener;)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-addVendorCommandListener-(Landroid/hardware/hdmi/IHdmiVendorCommandListener; I)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-canChangeSystemAudioMode-()Z": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-clearTimerRecording-(I I [B)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-deviceSelect-(I Landroid/hardware/hdmi/IHdmiControlCallback;)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-getActiveSource-()Landroid/hardware/hdmi/HdmiDeviceInfo;": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-getDeviceList-()Ljava/util/List;": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-getInputDevices-()Ljava/util/List;": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-getPortInfo-()Ljava/util/List;": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-getSupportedTypes-()[I": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-getSystemAudioMode-()Z": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-oneTouchPlay-(Landroid/hardware/hdmi/IHdmiControlCallback;)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-portSelect-(I Landroid/hardware/hdmi/IHdmiControlCallback;)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-queryDisplayStatus-(Landroid/hardware/hdmi/IHdmiControlCallback;)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-removeHotplugEventListener-(Landroid/hardware/hdmi/IHdmiHotplugEventListener;)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-removeSystemAudioModeChangeListener-(Landroid/hardware/hdmi/IHdmiSystemAudioModeChangeListener;)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-sendKeyEvent-(I I Z)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-sendMhlVendorCommand-(I I I [B)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-sendStandby-(I I)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-sendVendorCommand-(I I [B Z)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-setArcMode-(Z)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-setHdmiRecordListener-(Landroid/hardware/hdmi/IHdmiRecordListener;)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-setInputChangeListener-(Landroid/hardware/hdmi/IHdmiInputChangeListener;)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-setProhibitMode-(Z)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-setSystemAudioMode-(Z Landroid/hardware/hdmi/IHdmiControlCallback;)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-setSystemAudioMute-(Z)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-setSystemAudioVolume-(I I I)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-startOneTouchRecord-(I [B)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-startTimerRecording-(I I [B)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-stopOneTouchRecord-(I)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/input/InputManagerService;-addKeyboardLayoutForInputDevice-(Landroid/hardware/input/InputDeviceIdentifier; Ljava/lang/String;)V": [ "android.permission.SET_KEYBOARD_LAYOUT" ], "Lcom/android/server/input/InputManagerService;-registerTabletModeChangedListener-(Landroid/hardware/input/ITabletModeChangedListener;)V": [ "android.permission.TABLET_MODE_LISTENER" ], "Lcom/android/server/input/InputManagerService;-removeKeyboardLayoutForInputDevice-(Landroid/hardware/input/InputDeviceIdentifier; Ljava/lang/String;)V": [ "android.permission.SET_KEYBOARD_LAYOUT" ], "Lcom/android/server/input/InputManagerService;-setCurrentKeyboardLayoutForInputDevice-(Landroid/hardware/input/InputDeviceIdentifier; Ljava/lang/String;)V": [ "android.permission.SET_KEYBOARD_LAYOUT" ], "Lcom/android/server/input/InputManagerService;-setTouchCalibrationForInputDevice-(Ljava/lang/String; I Landroid/hardware/input/TouchCalibration;)V": [ "android.permission.SET_INPUT_CALIBRATION" ], "Lcom/android/server/input/InputManagerService;-tryPointerSpeed-(I)V": [ "android.permission.SET_POINTER_SPEED" ], "Lcom/android/server/job/JobSchedulerService$JobSchedulerStub;-schedule-(Landroid/app/job/JobInfo;)I": [ "android.permission.RECEIVE_BOOT_COMPLETED" ], "Lcom/android/server/media/MediaRouterService;-registerClientAsUser-(Landroid/media/IMediaRouterClient; Ljava/lang/String; I)V": [ "android.permission.CONFIGURE_WIFI_DISPLAY" ], "Lcom/android/server/media/MediaSessionRecord$SessionStub;-setFlags-(I)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/media/projection/MediaProjectionManagerService$BinderService;-addCallback-(Landroid/media/projection/IMediaProjectionWatcherCallback;)V": [ "android.permission.MANAGE_MEDIA_PROJECTION" ], "Lcom/android/server/media/projection/MediaProjectionManagerService$BinderService;-createProjection-(I Ljava/lang/String; I Z)Landroid/media/projection/IMediaProjection;": [ "android.permission.MANAGE_MEDIA_PROJECTION", "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/server/media/projection/MediaProjectionManagerService$BinderService;-getActiveProjectionInfo-()Landroid/media/projection/MediaProjectionInfo;": [ "android.permission.MANAGE_MEDIA_PROJECTION" ], "Lcom/android/server/media/projection/MediaProjectionManagerService$BinderService;-removeCallback-(Landroid/media/projection/IMediaProjectionWatcherCallback;)V": [ "android.permission.MANAGE_MEDIA_PROJECTION" ], "Lcom/android/server/media/projection/MediaProjectionManagerService$BinderService;-stopActiveProjection-()V": [ "android.permission.MANAGE_MEDIA_PROJECTION" ], "Lcom/android/server/net/NetworkPolicyManagerService;-addUidPolicy-(I I)V": [ "android.permission.CONNECTIVITY_INTERNAL", "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-factoryReset-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL", "android.permission.MANAGE_NETWORK_POLICY", "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/server/net/NetworkPolicyManagerService;-getNetworkPolicies-(Ljava/lang/String;)[Landroid/net/NetworkPolicy;": [ "android.permission.MANAGE_NETWORK_POLICY", "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/server/net/NetworkPolicyManagerService;-getNetworkQuotaInfo-(Landroid/net/NetworkState;)Landroid/net/NetworkQuotaInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/net/NetworkPolicyManagerService;-getRestrictBackground-()Z": [ "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-getUidPolicy-(I)I": [ "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-getUidsWithPolicy-(I)[I": [ "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-isUidForeground-(I)Z": [ "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-registerListener-(Landroid/net/INetworkPolicyListener;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/net/NetworkPolicyManagerService;-removeUidPolicy-(I I)V": [ "android.permission.CONNECTIVITY_INTERNAL", "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-setDeviceIdleMode-(Z)V": [ "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-setNetworkPolicies-([Landroid/net/NetworkPolicy;)V": [ "android.permission.CONNECTIVITY_INTERNAL", "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-setRestrictBackground-(Z)V": [ "android.permission.CONNECTIVITY_INTERNAL", "android.permission.MANAGE_NETWORK_POLICY", "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/server/net/NetworkPolicyManagerService;-setUidPolicy-(I I)V": [ "android.permission.CONNECTIVITY_INTERNAL", "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-snoozeLimit-(Landroid/net/NetworkTemplate;)V": [ "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-unregisterListener-(Landroid/net/INetworkPolicyListener;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/net/NetworkStatsService;-advisePersistThreshold-(J)V": [ "android.permission.CONNECTIVITY_INTERNAL", "android.permission.MODIFY_NETWORK_ACCOUNTING" ], "Lcom/android/server/net/NetworkStatsService;-forceUpdate-()V": [ "android.permission.READ_NETWORK_USAGE_HISTORY" ], "Lcom/android/server/net/NetworkStatsService;-forceUpdateIfaces-()V": [ "android.permission.READ_NETWORK_USAGE_HISTORY" ], "Lcom/android/server/net/NetworkStatsService;-getDataLayerSnapshotForUid-(I)Landroid/net/NetworkStats;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/net/NetworkStatsService;-getNetworkTotalBytes-(Landroid/net/NetworkTemplate; J J)J": [ "android.permission.READ_NETWORK_USAGE_HISTORY" ], "Lcom/android/server/net/NetworkStatsService;-incrementOperationCount-(I I I)V": [ "android.permission.MODIFY_NETWORK_ACCOUNTING" ], "Lcom/android/server/net/NetworkStatsService;-setUidForeground-(I Z)V": [ "android.permission.MODIFY_NETWORK_ACCOUNTING" ], "Lcom/android/server/pm/PackageInstallerService;-setPermissionsResult-(I Z)V": [ "android.permission.INSTALL_PACKAGES" ], "Lcom/android/server/pm/PackageInstallerService;-uninstall-(Ljava/lang/String; Ljava/lang/String; I Landroid/content/IntentSender; I)V": [ "android.permission.DELETE_PACKAGES" ], "Lcom/android/server/pm/PackageManagerService;-addCrossProfileIntentFilter-(Landroid/content/IntentFilter; Ljava/lang/String; I I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-addOnPermissionsChangeListener-(Landroid/content/pm/IOnPermissionsChangeListener;)V": [ "android.permission.OBSERVE_GRANT_REVOKE_PERMISSIONS" ], "Lcom/android/server/pm/PackageManagerService;-addPreferredActivity-(Landroid/content/IntentFilter; I [Landroid/content/ComponentName; Landroid/content/ComponentName; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.SET_PREFERRED_APPLICATIONS" ], "Lcom/android/server/pm/PackageManagerService;-canForwardTo-(Landroid/content/Intent; Ljava/lang/String; I I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-clearApplicationUserData-(Ljava/lang/String; Landroid/content/pm/IPackageDataObserver; I)V": [ "android.permission.CLEAR_APP_USER_DATA", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-clearCrossProfileIntentFilters-(I Ljava/lang/String;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-clearPackagePreferredActivities-(Ljava/lang/String;)V": [ "android.permission.SET_PREFERRED_APPLICATIONS" ], "Lcom/android/server/pm/PackageManagerService;-deleteApplicationCacheFiles-(Ljava/lang/String; Landroid/content/pm/IPackageDataObserver;)V": [ "android.permission.DELETE_CACHE_FILES" ], "Lcom/android/server/pm/PackageManagerService;-deletePackage-(Ljava/lang/String; Landroid/content/pm/IPackageDeleteObserver2; I I)V": [ "android.permission.DELETE_PACKAGES", "android.permission.GRANT_RUNTIME_PERMISSIONS", "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.REVOKE_RUNTIME_PERMISSIONS", "android.permission.SET_PREFERRED_APPLICATIONS" ], "Lcom/android/server/pm/PackageManagerService;-deletePackageAsUser-(Ljava/lang/String; Landroid/content/pm/IPackageDeleteObserver; I I)V": [ "android.permission.DELETE_PACKAGES", "android.permission.GRANT_RUNTIME_PERMISSIONS", "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.REVOKE_RUNTIME_PERMISSIONS", "android.permission.SET_PREFERRED_APPLICATIONS" ], "Lcom/android/server/pm/PackageManagerService;-extendVerificationTimeout-(I I J)V": [ "android.permission.GRANT_RUNTIME_PERMISSIONS", "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.PACKAGE_VERIFICATION_AGENT", "android.permission.REVOKE_RUNTIME_PERMISSIONS", "android.permission.SET_PREFERRED_APPLICATIONS" ], "Lcom/android/server/pm/PackageManagerService;-freeStorage-(Ljava/lang/String; J Landroid/content/IntentSender;)V": [ "android.permission.CLEAR_APP_CACHE" ], "Lcom/android/server/pm/PackageManagerService;-freeStorageAndNotify-(Ljava/lang/String; J Landroid/content/pm/IPackageDataObserver;)V": [ "android.permission.CLEAR_APP_CACHE" ], "Lcom/android/server/pm/PackageManagerService;-getActivityInfo-(Landroid/content/ComponentName; I I)Landroid/content/pm/ActivityInfo;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getApplicationEnabledSetting-(Ljava/lang/String; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getApplicationHiddenSettingAsUser-(Ljava/lang/String; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_USERS" ], "Lcom/android/server/pm/PackageManagerService;-getApplicationInfo-(Ljava/lang/String; I I)Landroid/content/pm/ApplicationInfo;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getComponentEnabledSetting-(Landroid/content/ComponentName; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getHomeActivities-(Ljava/util/List;)Landroid/content/ComponentName;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getInstalledPackages-(I I)Landroid/content/pm/ParceledListSlice;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getLastChosenActivity-(Landroid/content/Intent; Ljava/lang/String; I)Landroid/content/pm/ResolveInfo;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getMoveStatus-(I)I": [ "android.permission.MOUNT_UNMOUNT_FILESYSTEMS" ], "Lcom/android/server/pm/PackageManagerService;-getPackageGids-(Ljava/lang/String; I)[I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getPackageInfo-(Ljava/lang/String; I I)Landroid/content/pm/PackageInfo;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getPackageSizeInfo-(Ljava/lang/String; I Landroid/content/pm/IPackageStatsObserver;)V": [ "android.permission.GET_PACKAGE_SIZE", "android.permission.GRANT_RUNTIME_PERMISSIONS", "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.REVOKE_RUNTIME_PERMISSIONS", "android.permission.SET_PREFERRED_APPLICATIONS" ], "Lcom/android/server/pm/PackageManagerService;-getPackageUid-(Ljava/lang/String; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getPermissionFlags-(Ljava/lang/String; Ljava/lang/String; I)I": [ "android.permission.GRANT_RUNTIME_PERMISSIONS", "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.REVOKE_RUNTIME_PERMISSIONS" ], "Lcom/android/server/pm/PackageManagerService;-getProviderInfo-(Landroid/content/ComponentName; I I)Landroid/content/pm/ProviderInfo;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getReceiverInfo-(Landroid/content/ComponentName; I I)Landroid/content/pm/ActivityInfo;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getServiceInfo-(Landroid/content/ComponentName; I I)Landroid/content/pm/ServiceInfo;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getVerifierDeviceIdentity-()Landroid/content/pm/VerifierDeviceIdentity;": [ "android.permission.PACKAGE_VERIFICATION_AGENT" ], "Lcom/android/server/pm/PackageManagerService;-grantRuntimePermission-(Ljava/lang/String; Ljava/lang/String; I)V": [ "android.permission.GRANT_RUNTIME_PERMISSIONS", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-installExistingPackageAsUser-(Ljava/lang/String; I)I": [ "android.permission.INSTALL_PACKAGES", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-installPackage-(Ljava/lang/String; Landroid/content/pm/IPackageInstallObserver2; I Ljava/lang/String; Landroid/content/pm/VerificationParams; Ljava/lang/String;)V": [ "android.permission.GRANT_RUNTIME_PERMISSIONS", "android.permission.INSTALL_GRANT_RUNTIME_PERMISSIONS", "android.permission.INSTALL_PACKAGES", "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.REVOKE_RUNTIME_PERMISSIONS", "android.permission.SET_PREFERRED_APPLICATIONS" ], "Lcom/android/server/pm/PackageManagerService;-installPackageAsUser-(Ljava/lang/String; Landroid/content/pm/IPackageInstallObserver2; I Ljava/lang/String; Landroid/content/pm/VerificationParams; Ljava/lang/String; I)V": [ "android.permission.GRANT_RUNTIME_PERMISSIONS", "android.permission.INSTALL_GRANT_RUNTIME_PERMISSIONS", "android.permission.INSTALL_PACKAGES", "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.REVOKE_RUNTIME_PERMISSIONS", "android.permission.SET_PREFERRED_APPLICATIONS" ], "Lcom/android/server/pm/PackageManagerService;-isPackageAvailable-(Ljava/lang/String; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-isPermissionRevokedByPolicy-(Ljava/lang/String; Ljava/lang/String; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-movePackage-(Ljava/lang/String; Ljava/lang/String;)I": [ "android.permission.GRANT_RUNTIME_PERMISSIONS", "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MOVE_PACKAGE", "android.permission.REVOKE_RUNTIME_PERMISSIONS", "android.permission.SET_PREFERRED_APPLICATIONS" ], "Lcom/android/server/pm/PackageManagerService;-movePrimaryStorage-(Ljava/lang/String;)I": [ "android.permission.MOVE_PACKAGE" ], "Lcom/android/server/pm/PackageManagerService;-queryIntentActivities-(Landroid/content/Intent; Ljava/lang/String; I I)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-queryIntentActivityOptions-(Landroid/content/ComponentName; [Landroid/content/Intent; [Ljava/lang/String; Landroid/content/Intent; Ljava/lang/String; I I)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-queryIntentContentProviders-(Landroid/content/Intent; Ljava/lang/String; I I)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-queryIntentReceivers-(Landroid/content/Intent; Ljava/lang/String; I I)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-queryIntentServices-(Landroid/content/Intent; Ljava/lang/String; I I)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-registerMoveCallback-(Landroid/content/pm/IPackageMoveObserver;)V": [ "android.permission.MOUNT_UNMOUNT_FILESYSTEMS" ], "Lcom/android/server/pm/PackageManagerService;-replacePreferredActivity-(Landroid/content/IntentFilter; I [Landroid/content/ComponentName; Landroid/content/ComponentName; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.SET_PREFERRED_APPLICATIONS" ], "Lcom/android/server/pm/PackageManagerService;-resetApplicationPreferences-(I)V": [ "android.permission.SET_PREFERRED_APPLICATIONS" ], "Lcom/android/server/pm/PackageManagerService;-resetRuntimePermissions-()V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.REVOKE_RUNTIME_PERMISSIONS" ], "Lcom/android/server/pm/PackageManagerService;-resolveIntent-(Landroid/content/Intent; Ljava/lang/String; I I)Landroid/content/pm/ResolveInfo;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-resolveService-(Landroid/content/Intent; Ljava/lang/String; I I)Landroid/content/pm/ResolveInfo;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-revokeRuntimePermission-(Ljava/lang/String; Ljava/lang/String; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.REVOKE_RUNTIME_PERMISSIONS" ], "Lcom/android/server/pm/PackageManagerService;-setApplicationEnabledSetting-(Ljava/lang/String; I I I Ljava/lang/String;)V": [ "android.permission.CHANGE_COMPONENT_ENABLED_STATE", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-setApplicationHiddenSettingAsUser-(Ljava/lang/String; Z I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_USERS" ], "Lcom/android/server/pm/PackageManagerService;-setBlockUninstallForUser-(Ljava/lang/String; Z I)Z": [ "android.permission.DELETE_PACKAGES" ], "Lcom/android/server/pm/PackageManagerService;-setComponentEnabledSetting-(Landroid/content/ComponentName; I I I)V": [ "android.permission.CHANGE_COMPONENT_ENABLED_STATE", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-setDefaultBrowserPackageName-(Ljava/lang/String; I)Z": [ "android.permission.GRANT_RUNTIME_PERMISSIONS", "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.REVOKE_RUNTIME_PERMISSIONS", "android.permission.SET_PREFERRED_APPLICATIONS" ], "Lcom/android/server/pm/PackageManagerService;-setInstallLocation-(I)Z": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/pm/PackageManagerService;-setLastChosenActivity-(Landroid/content/Intent; Ljava/lang/String; I Landroid/content/IntentFilter; I Landroid/content/ComponentName;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.SET_PREFERRED_APPLICATIONS" ], "Lcom/android/server/pm/PackageManagerService;-setPackageStoppedState-(Ljava/lang/String; Z I)V": [ "android.permission.CHANGE_COMPONENT_ENABLED_STATE", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-setPermissionEnforced-(Ljava/lang/String; Z)V": [ "android.permission.GRANT_RUNTIME_PERMISSIONS" ], "Lcom/android/server/pm/PackageManagerService;-shouldShowRequestPermissionRationale-(Ljava/lang/String; Ljava/lang/String; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-systemReady-()V": [ "android.permission.GRANT_RUNTIME_PERMISSIONS", "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.REVOKE_RUNTIME_PERMISSIONS", "android.permission.SET_PREFERRED_APPLICATIONS" ], "Lcom/android/server/pm/PackageManagerService;-unregisterMoveCallback-(Landroid/content/pm/IPackageMoveObserver;)V": [ "android.permission.MOUNT_UNMOUNT_FILESYSTEMS" ], "Lcom/android/server/pm/PackageManagerService;-updateExternalMediaStatus-(Z Z)V": [ "android.permission.GRANT_RUNTIME_PERMISSIONS", "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.REVOKE_RUNTIME_PERMISSIONS", "android.permission.SET_PREFERRED_APPLICATIONS" ], "Lcom/android/server/pm/PackageManagerService;-updateIntentVerificationStatus-(Ljava/lang/String; I I)Z": [ "android.permission.SET_PREFERRED_APPLICATIONS" ], "Lcom/android/server/pm/PackageManagerService;-updatePermissionFlags-(Ljava/lang/String; Ljava/lang/String; I I I)V": [ "android.permission.GRANT_RUNTIME_PERMISSIONS", "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.REVOKE_RUNTIME_PERMISSIONS" ], "Lcom/android/server/pm/PackageManagerService;-updatePermissionFlagsForAllApps-(I I I)V": [ "android.permission.GRANT_RUNTIME_PERMISSIONS", "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.REVOKE_RUNTIME_PERMISSIONS" ], "Lcom/android/server/pm/PackageManagerService;-verifyIntentFilter-(I I Ljava/util/List;)V": [ "android.permission.INTENT_FILTER_VERIFICATION_AGENT" ], "Lcom/android/server/pm/PackageManagerService;-verifyPendingInstall-(I I)V": [ "android.permission.GRANT_RUNTIME_PERMISSIONS", "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.PACKAGE_VERIFICATION_AGENT", "android.permission.REVOKE_RUNTIME_PERMISSIONS", "android.permission.SET_PREFERRED_APPLICATIONS" ], "Lcom/android/server/power/PowerManagerService$BinderService;-acquireWakeLock-(Landroid/os/IBinder; I Ljava/lang/String; Ljava/lang/String; Landroid/os/WorkSource; Ljava/lang/String;)V": [ "android.permission.WAKE_LOCK" ], "Lcom/android/server/power/PowerManagerService$BinderService;-acquireWakeLockWithUid-(Landroid/os/IBinder; I Ljava/lang/String; Ljava/lang/String; I)V": [ "android.permission.WAKE_LOCK" ], "Lcom/android/server/power/PowerManagerService$BinderService;-boostScreenBrightness-(J)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/power/PowerManagerService$BinderService;-crash-(Ljava/lang/String;)V": [ "android.permission.REBOOT" ], "Lcom/android/server/power/PowerManagerService$BinderService;-goToSleep-(J I I)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/power/PowerManagerService$BinderService;-nap-(J)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/power/PowerManagerService$BinderService;-powerHint-(I I)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/power/PowerManagerService$BinderService;-reboot-(Z Ljava/lang/String; Z)V": [ "android.permission.REBOOT", "android.permission.RECOVERY" ], "Lcom/android/server/power/PowerManagerService$BinderService;-releaseWakeLock-(Landroid/os/IBinder; I)V": [ "android.permission.WAKE_LOCK" ], "Lcom/android/server/power/PowerManagerService$BinderService;-setAttentionLight-(Z I)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/power/PowerManagerService$BinderService;-setPowerSaveMode-(Z)Z": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/power/PowerManagerService$BinderService;-setTemporaryScreenAutoBrightnessAdjustmentSettingOverride-(F)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/power/PowerManagerService$BinderService;-setTemporaryScreenBrightnessSettingOverride-(I)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/power/PowerManagerService$BinderService;-shutdown-(Z Z)V": [ "android.permission.REBOOT" ], "Lcom/android/server/power/PowerManagerService$BinderService;-updateWakeLockUids-(Landroid/os/IBinder; [I)V": [ "android.permission.UPDATE_DEVICE_STATS", "android.permission.WAKE_LOCK" ], "Lcom/android/server/power/PowerManagerService$BinderService;-updateWakeLockWorkSource-(Landroid/os/IBinder; Landroid/os/WorkSource; Ljava/lang/String;)V": [ "android.permission.UPDATE_DEVICE_STATS", "android.permission.WAKE_LOCK" ], "Lcom/android/server/power/PowerManagerService$BinderService;-userActivity-(J I I)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/power/PowerManagerService$BinderService;-wakeUp-(J Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/sip/SipService;-close-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.USE_SIP" ], "Lcom/android/server/sip/SipService;-createSession-(Landroid/net/sip/SipProfile; Landroid/net/sip/ISipSessionListener; Ljava/lang/String;)Landroid/net/sip/ISipSession;": [ "android.permission.USE_SIP" ], "Lcom/android/server/sip/SipService;-getListOfProfiles-(Ljava/lang/String;)[Landroid/net/sip/SipProfile;": [ "android.permission.USE_SIP" ], "Lcom/android/server/sip/SipService;-getPendingSession-(Ljava/lang/String; Ljava/lang/String;)Landroid/net/sip/ISipSession;": [ "android.permission.USE_SIP" ], "Lcom/android/server/sip/SipService;-isOpened-(Ljava/lang/String; Ljava/lang/String;)Z": [ "android.permission.USE_SIP" ], "Lcom/android/server/sip/SipService;-isRegistered-(Ljava/lang/String; Ljava/lang/String;)Z": [ "android.permission.USE_SIP" ], "Lcom/android/server/sip/SipService;-open-(Landroid/net/sip/SipProfile; Ljava/lang/String;)V": [ "android.permission.USE_SIP" ], "Lcom/android/server/sip/SipService;-open3-(Landroid/net/sip/SipProfile; Landroid/app/PendingIntent; Landroid/net/sip/ISipSessionListener; Ljava/lang/String;)V": [ "android.permission.USE_SIP" ], "Lcom/android/server/sip/SipService;-setRegistrationListener-(Ljava/lang/String; Landroid/net/sip/ISipSessionListener; Ljava/lang/String;)V": [ "android.permission.USE_SIP" ], "Lcom/android/server/statusbar/StatusBarManagerService;-clearNotificationEffects-()V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/statusbar/StatusBarManagerService;-collapsePanels-()V": [ "android.permission.EXPAND_STATUS_BAR" ], "Lcom/android/server/statusbar/StatusBarManagerService;-disable-(I Landroid/os/IBinder; Ljava/lang/String;)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/statusbar/StatusBarManagerService;-disable2-(I Landroid/os/IBinder; Ljava/lang/String;)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/statusbar/StatusBarManagerService;-disable2ForUser-(I Landroid/os/IBinder; Ljava/lang/String; I)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/statusbar/StatusBarManagerService;-disableForUser-(I Landroid/os/IBinder; Ljava/lang/String; I)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/statusbar/StatusBarManagerService;-expandNotificationsPanel-()V": [ "android.permission.EXPAND_STATUS_BAR" ], "Lcom/android/server/statusbar/StatusBarManagerService;-expandSettingsPanel-()V": [ "android.permission.EXPAND_STATUS_BAR" ], "Lcom/android/server/statusbar/StatusBarManagerService;-onClearAllNotifications-(I)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/statusbar/StatusBarManagerService;-onNotificationActionClick-(Ljava/lang/String; I)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/statusbar/StatusBarManagerService;-onNotificationClear-(Ljava/lang/String; Ljava/lang/String; I I)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/statusbar/StatusBarManagerService;-onNotificationClick-(Ljava/lang/String;)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/statusbar/StatusBarManagerService;-onNotificationError-(Ljava/lang/String; Ljava/lang/String; I I I Ljava/lang/String; I)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/statusbar/StatusBarManagerService;-onNotificationExpansionChanged-(Ljava/lang/String; Z Z)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/statusbar/StatusBarManagerService;-onNotificationVisibilityChanged-([Lcom/android/internal/statusbar/NotificationVisibility; [Lcom/android/internal/statusbar/NotificationVisibility;)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/statusbar/StatusBarManagerService;-onPanelHidden-()V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/statusbar/StatusBarManagerService;-onPanelRevealed-(Z I)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/statusbar/StatusBarManagerService;-registerStatusBar-(Lcom/android/internal/statusbar/IStatusBar; Lcom/android/internal/statusbar/StatusBarIconList; [I Ljava/util/List;)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/statusbar/StatusBarManagerService;-removeIcon-(Ljava/lang/String;)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/statusbar/StatusBarManagerService;-setIcon-(Ljava/lang/String; Ljava/lang/String; I I Ljava/lang/String;)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/statusbar/StatusBarManagerService;-setIconVisibility-(Ljava/lang/String; Z)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/statusbar/StatusBarManagerService;-setImeWindowStatus-(Landroid/os/IBinder; I I Z)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/statusbar/StatusBarManagerService;-setSystemUiVisibility-(I I Ljava/lang/String;)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/statusbar/StatusBarManagerService;-topAppWindowChanged-(Z)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/tv/TvInputManagerService$BinderService;-acquireTvInputHardware-(I Landroid/media/tv/ITvInputHardwareCallback; Landroid/media/tv/TvInputInfo; I)Landroid/media/tv/ITvInputHardware;": [ "android.permission.TV_INPUT_HARDWARE" ], "Lcom/android/server/tv/TvInputManagerService$BinderService;-addBlockedRating-(Ljava/lang/String; I)V": [ "android.permission.MODIFY_PARENTAL_CONTROLS" ], "Lcom/android/server/tv/TvInputManagerService$BinderService;-captureFrame-(Ljava/lang/String; Landroid/view/Surface; Landroid/media/tv/TvStreamConfig; I)Z": [ "android.permission.CAPTURE_TV_INPUT" ], "Lcom/android/server/tv/TvInputManagerService$BinderService;-getAvailableTvStreamConfigList-(Ljava/lang/String; I)Ljava/util/List;": [ "android.permission.CAPTURE_TV_INPUT" ], "Lcom/android/server/tv/TvInputManagerService$BinderService;-getDvbDeviceList-()Ljava/util/List;": [ "android.permission.DVB_DEVICE" ], "Lcom/android/server/tv/TvInputManagerService$BinderService;-getHardwareList-()Ljava/util/List;": [ "android.permission.TV_INPUT_HARDWARE" ], "Lcom/android/server/tv/TvInputManagerService$BinderService;-openDvbDevice-(Landroid/media/tv/DvbDeviceInfo; I)Landroid/os/ParcelFileDescriptor;": [ "android.permission.DVB_DEVICE" ], "Lcom/android/server/tv/TvInputManagerService$BinderService;-releaseTvInputHardware-(I Landroid/media/tv/ITvInputHardware; I)V": [ "android.permission.TV_INPUT_HARDWARE" ], "Lcom/android/server/tv/TvInputManagerService$BinderService;-removeBlockedRating-(Ljava/lang/String; I)V": [ "android.permission.MODIFY_PARENTAL_CONTROLS" ], "Lcom/android/server/tv/TvInputManagerService$BinderService;-setParentalControlsEnabled-(Z I)V": [ "android.permission.MODIFY_PARENTAL_CONTROLS" ], "Lcom/android/server/tv/TvInputManagerService$ServiceCallback;-addHardwareTvInput-(I Landroid/media/tv/TvInputInfo;)V": [ "android.permission.TV_INPUT_HARDWARE" ], "Lcom/android/server/tv/TvInputManagerService$ServiceCallback;-addHdmiTvInput-(I Landroid/media/tv/TvInputInfo;)V": [ "android.permission.TV_INPUT_HARDWARE" ], "Lcom/android/server/tv/TvInputManagerService$ServiceCallback;-removeTvInput-(Ljava/lang/String;)V": [ "android.permission.TV_INPUT_HARDWARE" ], "Lcom/android/server/wallpaper/WallpaperManagerService;-clearWallpaper-(Ljava/lang/String;)V": [ "android.permission.SET_WALLPAPER" ], "Lcom/android/server/wallpaper/WallpaperManagerService;-setDimensionHints-(I I Ljava/lang/String;)V": [ "android.permission.SET_WALLPAPER_HINTS" ], "Lcom/android/server/wallpaper/WallpaperManagerService;-setDisplayPadding-(Landroid/graphics/Rect; Ljava/lang/String;)V": [ "android.permission.SET_WALLPAPER_HINTS" ], "Lcom/android/server/wallpaper/WallpaperManagerService;-setWallpaper-(Ljava/lang/String; Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;": [ "android.permission.SET_WALLPAPER" ], "Lcom/android/server/wallpaper/WallpaperManagerService;-setWallpaperComponent-(Landroid/content/ComponentName;)V": [ "android.permission.SET_WALLPAPER_COMPONENT" ], "Lcom/android/server/wallpaper/WallpaperManagerService;-setWallpaperComponentChecked-(Landroid/content/ComponentName; Ljava/lang/String;)V": [ "android.permission.SET_WALLPAPER_COMPONENT" ], "Lcom/android/server/wm/WindowManagerService;-addAppToken-(I Landroid/view/IApplicationToken; I I I Z Z I I Z Z)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-addWindowToken-(Landroid/os/IBinder; I)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-clearForcedDisplayDensity-(I)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/wm/WindowManagerService;-clearForcedDisplaySize-(I)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/wm/WindowManagerService;-clearWindowContentFrameStats-(Landroid/os/IBinder;)Z": [ "android.permission.FRAME_STATS" ], "Lcom/android/server/wm/WindowManagerService;-disableKeyguard-(Landroid/os/IBinder; Ljava/lang/String;)V": [ "android.permission.DISABLE_KEYGUARD" ], "Lcom/android/server/wm/WindowManagerService;-dismissKeyguard-()V": [ "android.permission.DISABLE_KEYGUARD" ], "Lcom/android/server/wm/WindowManagerService;-executeAppTransition-()V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-exitKeyguardSecurely-(Landroid/view/IOnKeyguardExitResult;)V": [ "android.permission.DISABLE_KEYGUARD" ], "Lcom/android/server/wm/WindowManagerService;-freezeRotation-(I)V": [ "android.permission.SET_ORIENTATION" ], "Lcom/android/server/wm/WindowManagerService;-getWindowContentFrameStats-(Landroid/os/IBinder;)Landroid/view/WindowContentFrameStats;": [ "android.permission.FRAME_STATS" ], "Lcom/android/server/wm/WindowManagerService;-isViewServerRunning-()Z": [ "android.permission.DUMP" ], "Lcom/android/server/wm/WindowManagerService;-keyguardGoingAway-(Z Z)V": [ "android.permission.DISABLE_KEYGUARD" ], "Lcom/android/server/wm/WindowManagerService;-lockNow-(Landroid/os/Bundle;)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/wm/WindowManagerService;-pauseKeyDispatching-(Landroid/os/IBinder;)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-prepareAppTransition-(I Z)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-reenableKeyguard-(Landroid/os/IBinder;)V": [ "android.permission.DISABLE_KEYGUARD" ], "Lcom/android/server/wm/WindowManagerService;-removeAppToken-(Landroid/os/IBinder;)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-removeWindowToken-(Landroid/os/IBinder;)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-requestAssistScreenshot-(Lcom/android/internal/app/IAssistScreenshotReceiver;)Z": [ "android.permission.READ_FRAME_BUFFER" ], "Lcom/android/server/wm/WindowManagerService;-resumeKeyDispatching-(Landroid/os/IBinder;)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-screenshotApplications-(Landroid/os/IBinder; I I I)Landroid/graphics/Bitmap;": [ "android.permission.READ_FRAME_BUFFER" ], "Lcom/android/server/wm/WindowManagerService;-setAnimationScale-(I F)V": [ "android.permission.SET_ANIMATION_SCALE" ], "Lcom/android/server/wm/WindowManagerService;-setAnimationScales-([F)V": [ "android.permission.SET_ANIMATION_SCALE" ], "Lcom/android/server/wm/WindowManagerService;-setAppOrientation-(Landroid/view/IApplicationToken; I)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-setAppStartingWindow-(Landroid/os/IBinder; Ljava/lang/String; I Landroid/content/res/CompatibilityInfo; Ljava/lang/CharSequence; I I I I Landroid/os/IBinder; Z)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-setAppTask-(Landroid/os/IBinder; I)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-setAppVisibility-(Landroid/os/IBinder; Z)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-setAppWillBeHidden-(Landroid/os/IBinder;)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-setEventDispatching-(Z)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-setFocusedApp-(Landroid/os/IBinder; Z)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-setForcedDisplayDensity-(I I)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/wm/WindowManagerService;-setForcedDisplayScalingMode-(I I)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/wm/WindowManagerService;-setForcedDisplaySize-(I I I)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/wm/WindowManagerService;-setNewConfiguration-(Landroid/content/res/Configuration;)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-setOverscan-(I I I I I)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/wm/WindowManagerService;-startAppFreezingScreen-(Landroid/os/IBinder; I)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-startFreezingScreen-(I I)V": [ "android.permission.FREEZE_SCREEN" ], "Lcom/android/server/wm/WindowManagerService;-startViewServer-(I)Z": [ "android.permission.DUMP" ], "Lcom/android/server/wm/WindowManagerService;-statusBarVisibilityChanged-(I)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/wm/WindowManagerService;-stopAppFreezingScreen-(Landroid/os/IBinder; Z)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-stopFreezingScreen-()V": [ "android.permission.FREEZE_SCREEN" ], "Lcom/android/server/wm/WindowManagerService;-stopViewServer-()Z": [ "android.permission.DUMP" ], "Lcom/android/server/wm/WindowManagerService;-thawRotation-()V": [ "android.permission.SET_ORIENTATION" ], "Lcom/android/server/wm/WindowManagerService;-updateOrientationFromAppTokens-(Landroid/content/res/Configuration; Landroid/os/IBinder;)Landroid/content/res/Configuration;": [ "android.permission.MANAGE_APP_TOKENS" ], "Landroid/accounts/AccountAuthenticatorActivity;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/accounts/AccountAuthenticatorActivity;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/accounts/AccountAuthenticatorActivity;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/accounts/AccountAuthenticatorActivity;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/accounts/AccountAuthenticatorActivity;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/Activity;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/Activity;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/Activity;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/Activity;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/Activity;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/ActivityGroup;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/ActivityGroup;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ActivityGroup;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ActivityGroup;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/ActivityGroup;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/ActivityManager;-getRecentTasks-(I I)Ljava/util/List;": [ "android.permission.GET_TASKS" ], "Landroid/app/ActivityManager;-getRunningAppProcesses-()Ljava/util/List;": [ "android.permission.GET_TASKS" ], "Landroid/app/ActivityManager;-getRunningTasks-(I)Ljava/util/List;": [ "android.permission.GET_TASKS" ], "Landroid/app/ActivityManager;-killBackgroundProcesses-(Ljava/lang/String;)V": [ "android.permission.KILL_BACKGROUND_PROCESSES" ], "Landroid/app/ActivityManager;-moveTaskToFront-(I I)V": [ "android.permission.REORDER_TASKS" ], "Landroid/app/ActivityManager;-moveTaskToFront-(I I Landroid/os/Bundle;)V": [ "android.permission.REORDER_TASKS" ], "Landroid/app/ActivityManager;-restartPackage-(Ljava/lang/String;)V": [ "android.permission.KILL_BACKGROUND_PROCESSES" ], "Landroid/app/AliasActivity;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/AliasActivity;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/AliasActivity;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/AliasActivity;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/AliasActivity;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/Application;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/Application;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/Application;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/Application;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/Application;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/ExpandableListActivity;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/ExpandableListActivity;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ExpandableListActivity;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ExpandableListActivity;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/ExpandableListActivity;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/KeyguardManager$KeyguardLock;-disableKeyguard-()V": [ "android.permission.DISABLE_KEYGUARD" ], "Landroid/app/KeyguardManager$KeyguardLock;-reenableKeyguard-()V": [ "android.permission.DISABLE_KEYGUARD" ], "Landroid/app/KeyguardManager;-exitKeyguardSecurely-(Landroid/app/KeyguardManager$OnKeyguardExitResult;)V": [ "android.permission.DISABLE_KEYGUARD" ], "Landroid/app/ListActivity;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/ListActivity;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ListActivity;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ListActivity;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/ListActivity;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/NativeActivity;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/NativeActivity;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/NativeActivity;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/NativeActivity;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/NativeActivity;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/TabActivity;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/TabActivity;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/TabActivity;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/TabActivity;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/TabActivity;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/WallpaperManager;-clear-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/WallpaperManager;-setBitmap-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/WallpaperManager;-setResource-(I)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/WallpaperManager;-setStream-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/WallpaperManager;-suggestDesiredDimensions-(I I)V": [ "android.permission.SET_WALLPAPER_HINTS" ], "Landroid/app/backup/BackupAgentHelper;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/backup/BackupAgentHelper;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/backup/BackupAgentHelper;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/backup/BackupAgentHelper;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/backup/BackupAgentHelper;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/bluetooth/BluetoothAdapter;-closeProfileProxy-(I Landroid/bluetooth/BluetoothProfile;)V": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-disable-()Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothAdapter;-enable-()Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothAdapter;-getAddress-()Ljava/lang/String;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-getName-()Ljava/lang/String;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-getProfileProxy-(Landroid/content/Context; Landroid/bluetooth/BluetoothProfile$ServiceListener; I)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-listenUsingInsecureRfcommWithServiceRecord-(Ljava/lang/String; Ljava/util/UUID;)Landroid/bluetooth/BluetoothServerSocket;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-listenUsingRfcommWithServiceRecord-(Ljava/lang/String; Ljava/util/UUID;)Landroid/bluetooth/BluetoothServerSocket;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothDevice;-createInsecureRfcommSocketToServiceRecord-(Ljava/util/UUID;)Landroid/bluetooth/BluetoothSocket;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothDevice;-createRfcommSocketToServiceRecord-(Ljava/util/UUID;)Landroid/bluetooth/BluetoothSocket;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/le/BluetoothLeAdvertiser;-startAdvertising-(Landroid/bluetooth/le/AdvertiseSettings; Landroid/bluetooth/le/AdvertiseData; Landroid/bluetooth/le/AdvertiseCallback;)V": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/le/BluetoothLeAdvertiser;-startAdvertising-(Landroid/bluetooth/le/AdvertiseSettings; Landroid/bluetooth/le/AdvertiseData; Landroid/bluetooth/le/AdvertiseData; Landroid/bluetooth/le/AdvertiseCallback;)V": [ "android.permission.BLUETOOTH" ], "Landroid/content/ContextWrapper;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/content/ContextWrapper;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/content/ContextWrapper;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/content/ContextWrapper;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/content/ContextWrapper;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/content/MutableContextWrapper;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/content/MutableContextWrapper;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/content/MutableContextWrapper;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/content/MutableContextWrapper;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/content/MutableContextWrapper;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/hardware/ConsumerIrManager;-getCarrierFrequencies-()[Landroid/hardware/ConsumerIrManager$CarrierFrequencyRange;": [ "android.permission.TRANSMIT_IR" ], "Landroid/hardware/ConsumerIrManager;-transmit-(I [I)V": [ "android.permission.TRANSMIT_IR" ], "Landroid/hardware/fingerprint/FingerprintManager;-authenticate-(Landroid/hardware/fingerprint/FingerprintManager$CryptoObject; Landroid/os/CancellationSignal; I Landroid/hardware/fingerprint/FingerprintManager$AuthenticationCallback; Landroid/os/Handler;)V": [ "android.permission.USE_FINGERPRINT" ], "Landroid/hardware/fingerprint/FingerprintManager;-hasEnrolledFingerprints-()Z": [ "android.permission.USE_FINGERPRINT" ], "Landroid/hardware/fingerprint/FingerprintManager;-isHardwareDetected-()Z": [ "android.permission.USE_FINGERPRINT" ], "Landroid/inputmethodservice/InputMethodService;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/inputmethodservice/InputMethodService;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/inputmethodservice/InputMethodService;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/inputmethodservice/InputMethodService;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/inputmethodservice/InputMethodService;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/location/LocationManager;-addGpsStatusListener-(Landroid/location/GpsStatus$Listener;)Z": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-addNmeaListener-(Landroid/location/GpsStatus$NmeaListener;)Z": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-addProximityAlert-(D D F J Landroid/app/PendingIntent;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-getBestProvider-(Landroid/location/Criteria; Z)Ljava/lang/String;": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-getLastKnownLocation-(Ljava/lang/String;)Landroid/location/Location;": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-getProvider-(Ljava/lang/String;)Landroid/location/LocationProvider;": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-getProviders-(Landroid/location/Criteria; Z)Ljava/util/List;": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-getProviders-(Z)Ljava/util/List;": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-removeUpdates-(Landroid/app/PendingIntent;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-removeUpdates-(Landroid/location/LocationListener;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-requestLocationUpdates-(Ljava/lang/String; J F Landroid/app/PendingIntent;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-requestLocationUpdates-(Ljava/lang/String; J F Landroid/location/LocationListener;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-requestLocationUpdates-(Ljava/lang/String; J F Landroid/location/LocationListener; Landroid/os/Looper;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-requestLocationUpdates-(J F Landroid/location/Criteria; Landroid/app/PendingIntent;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-requestLocationUpdates-(J F Landroid/location/Criteria; Landroid/location/LocationListener; Landroid/os/Looper;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-requestSingleUpdate-(Landroid/location/Criteria; Landroid/app/PendingIntent;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-requestSingleUpdate-(Landroid/location/Criteria; Landroid/location/LocationListener; Landroid/os/Looper;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-requestSingleUpdate-(Ljava/lang/String; Landroid/app/PendingIntent;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-requestSingleUpdate-(Ljava/lang/String; Landroid/location/LocationListener; Landroid/os/Looper;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-sendExtraCommand-(Ljava/lang/String; Ljava/lang/String; Landroid/os/Bundle;)Z": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION", "android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" ], "Landroid/media/AsyncPlayer;-play-(Landroid/content/Context; Landroid/net/Uri; Z Landroid/media/AudioAttributes;)V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/AsyncPlayer;-play-(Landroid/content/Context; Landroid/net/Uri; Z I)V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/AsyncPlayer;-stop-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/AudioManager;-setBluetoothScoOn-(Z)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/media/AudioManager;-setMicrophoneMute-(Z)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/media/AudioManager;-setMode-(I)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/media/AudioManager;-setSpeakerphoneOn-(Z)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/media/AudioManager;-startBluetoothSco-()V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/media/AudioManager;-stopBluetoothSco-()V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/media/MediaPlayer;-pause-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/MediaPlayer;-release-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/MediaPlayer;-reset-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/MediaPlayer;-setWakeMode-(Landroid/content/Context; I)V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/MediaPlayer;-start-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/MediaPlayer;-stop-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/Ringtone;-play-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/Ringtone;-setAudioAttributes-(Landroid/media/AudioAttributes;)V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/Ringtone;-setStreamType-(I)V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/Ringtone;-stop-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/RingtoneManager;-getRingtone-(Landroid/content/Context; Landroid/net/Uri;)Landroid/media/Ringtone;": [ "android.permission.WAKE_LOCK" ], "Landroid/media/RingtoneManager;-getRingtone-(I)Landroid/media/Ringtone;": [ "android.permission.WAKE_LOCK" ], "Landroid/media/RingtoneManager;-stopPreviousRingtone-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/net/ConnectivityManager;-getActiveNetwork-()Landroid/net/Network;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-getActiveNetworkInfo-()Landroid/net/NetworkInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-getAllNetworkInfo-()[Landroid/net/NetworkInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-getAllNetworks-()[Landroid/net/Network;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-getLinkProperties-(Landroid/net/Network;)Landroid/net/LinkProperties;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-getNetworkCapabilities-(Landroid/net/Network;)Landroid/net/NetworkCapabilities;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-getNetworkInfo-(Landroid/net/Network;)Landroid/net/NetworkInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-getNetworkInfo-(I)Landroid/net/NetworkInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-isActiveNetworkMetered-()Z": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-registerNetworkCallback-(Landroid/net/NetworkRequest; Landroid/app/PendingIntent;)V": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/ConnectivityManager;-registerNetworkCallback-(Landroid/net/NetworkRequest; Landroid/net/ConnectivityManager$NetworkCallback;)V": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/ConnectivityManager;-reportBadNetwork-(Landroid/net/Network;)V": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.INTERNET" ], "Landroid/net/ConnectivityManager;-reportNetworkConnectivity-(Landroid/net/Network; Z)V": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.INTERNET" ], "Landroid/net/ConnectivityManager;-requestBandwidthUpdate-(Landroid/net/Network;)Z": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-requestNetwork-(Landroid/net/NetworkRequest; Landroid/app/PendingIntent;)V": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-requestNetwork-(Landroid/net/NetworkRequest; Landroid/net/ConnectivityManager$NetworkCallback;)V": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/ConnectivityManager;-startUsingNetworkFeature-(I Ljava/lang/String;)I": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/VpnService;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/net/VpnService;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/net/VpnService;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/net/VpnService;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/net/VpnService;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/net/sip/SipAudioCall;-setSpeakerMode-(Z)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/net/sip/SipManager;-close-(Ljava/lang/String;)V": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-createSipSession-(Landroid/net/sip/SipProfile; Landroid/net/sip/SipSession$Listener;)Landroid/net/sip/SipSession;": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-getSessionFor-(Landroid/content/Intent;)Landroid/net/sip/SipSession;": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-isOpened-(Ljava/lang/String;)Z": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-isRegistered-(Ljava/lang/String;)Z": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-makeAudioCall-(Landroid/net/sip/SipProfile; Landroid/net/sip/SipProfile; Landroid/net/sip/SipAudioCall$Listener; I)Landroid/net/sip/SipAudioCall;": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-makeAudioCall-(Ljava/lang/String; Ljava/lang/String; Landroid/net/sip/SipAudioCall$Listener; I)Landroid/net/sip/SipAudioCall;": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-open-(Landroid/net/sip/SipProfile;)V": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-open-(Landroid/net/sip/SipProfile; Landroid/app/PendingIntent; Landroid/net/sip/SipRegistrationListener;)V": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-register-(Landroid/net/sip/SipProfile; I Landroid/net/sip/SipRegistrationListener;)V": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-setRegistrationListener-(Ljava/lang/String; Landroid/net/sip/SipRegistrationListener;)V": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-takeAudioCall-(Landroid/content/Intent; Landroid/net/sip/SipAudioCall$Listener;)Landroid/net/sip/SipAudioCall;": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-unregister-(Landroid/net/sip/SipProfile; Landroid/net/sip/SipRegistrationListener;)V": [ "android.permission.USE_SIP" ], "Landroid/net/wifi/WifiManager;-enableNetwork-(I Z)Z": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.ACCESS_WIFI_STATE" ], "Landroid/nfc/NfcAdapter;-disableForegroundDispatch-(Landroid/app/Activity;)V": [ "android.permission.NFC" ], "Landroid/nfc/NfcAdapter;-disableForegroundNdefPush-(Landroid/app/Activity;)V": [ "android.permission.NFC" ], "Landroid/nfc/NfcAdapter;-enableForegroundDispatch-(Landroid/app/Activity; Landroid/app/PendingIntent; [Landroid/content/IntentFilter; [L[java/lang/String;)V": [ "android.permission.NFC" ], "Landroid/nfc/NfcAdapter;-enableForegroundNdefPush-(Landroid/app/Activity; Landroid/nfc/NdefMessage;)V": [ "android.permission.NFC" ], "Landroid/nfc/NfcAdapter;-invokeBeam-(Landroid/app/Activity;)Z": [ "android.permission.NFC" ], "Landroid/nfc/NfcAdapter;-setBeamPushUris-([Landroid/net/Uri; Landroid/app/Activity;)V": [ "android.permission.NFC" ], "Landroid/nfc/NfcAdapter;-setBeamPushUrisCallback-(Landroid/nfc/NfcAdapter$CreateBeamUrisCallback; Landroid/app/Activity;)V": [ "android.permission.NFC" ], "Landroid/nfc/NfcAdapter;-setNdefPushMessage-(Landroid/nfc/NdefMessage; Landroid/app/Activity; [Landroid/app/Activity;)V": [ "android.permission.NFC" ], "Landroid/nfc/NfcAdapter;-setNdefPushMessageCallback-(Landroid/nfc/NfcAdapter$CreateNdefMessageCallback; Landroid/app/Activity; [Landroid/app/Activity;)V": [ "android.permission.NFC" ], "Landroid/nfc/NfcAdapter;-setOnNdefPushCompleteCallback-(Landroid/nfc/NfcAdapter$OnNdefPushCompleteCallback; Landroid/app/Activity; [Landroid/app/Activity;)V": [ "android.permission.NFC" ], "Landroid/nfc/cardemulation/CardEmulation;-getAidsForService-(Landroid/content/ComponentName; Ljava/lang/String;)Ljava/util/List;": [ "android.permission.NFC" ], "Landroid/nfc/cardemulation/CardEmulation;-isDefaultServiceForAid-(Landroid/content/ComponentName; Ljava/lang/String;)Z": [ "android.permission.NFC" ], "Landroid/nfc/cardemulation/CardEmulation;-isDefaultServiceForCategory-(Landroid/content/ComponentName; Ljava/lang/String;)Z": [ "android.permission.NFC" ], "Landroid/nfc/cardemulation/CardEmulation;-registerAidsForService-(Landroid/content/ComponentName; Ljava/lang/String; Ljava/util/List;)Z": [ "android.permission.NFC" ], "Landroid/nfc/cardemulation/CardEmulation;-removeAidsForService-(Landroid/content/ComponentName; Ljava/lang/String;)Z": [ "android.permission.NFC" ], "Landroid/nfc/cardemulation/CardEmulation;-setPreferredService-(Landroid/app/Activity; Landroid/content/ComponentName;)Z": [ "android.permission.NFC" ], "Landroid/nfc/cardemulation/CardEmulation;-unsetPreferredService-(Landroid/app/Activity;)Z": [ "android.permission.NFC" ], "Landroid/nfc/tech/BasicTagTechnology;-close-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/BasicTagTechnology;-connect-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/IsoDep;-close-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/IsoDep;-connect-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/IsoDep;-getTimeout-()I": [ "android.permission.NFC" ], "Landroid/nfc/tech/IsoDep;-setTimeout-(I)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/IsoDep;-transceive-([B)[B": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareClassic;-authenticateSectorWithKeyA-(I [B)Z": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareClassic;-authenticateSectorWithKeyB-(I [B)Z": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareClassic;-close-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareClassic;-connect-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareClassic;-decrement-(I I)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareClassic;-getTimeout-()I": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareClassic;-increment-(I I)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareClassic;-readBlock-(I)[B": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareClassic;-restore-(I)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareClassic;-setTimeout-(I)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareClassic;-transceive-([B)[B": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareClassic;-transfer-(I)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareClassic;-writeBlock-(I [B)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareUltralight;-close-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareUltralight;-connect-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareUltralight;-getTimeout-()I": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareUltralight;-readPages-(I)[B": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareUltralight;-setTimeout-(I)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareUltralight;-transceive-([B)[B": [ "android.permission.NFC" ], "Landroid/nfc/tech/MifareUltralight;-writePage-(I [B)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/Ndef;-close-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/Ndef;-connect-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/Ndef;-getNdefMessage-()Landroid/nfc/NdefMessage;": [ "android.permission.NFC" ], "Landroid/nfc/tech/Ndef;-makeReadOnly-()Z": [ "android.permission.NFC" ], "Landroid/nfc/tech/Ndef;-writeNdefMessage-(Landroid/nfc/NdefMessage;)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NdefFormatable;-close-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NdefFormatable;-connect-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NdefFormatable;-format-(Landroid/nfc/NdefMessage;)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NdefFormatable;-formatReadOnly-(Landroid/nfc/NdefMessage;)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcA;-close-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcA;-connect-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcA;-getTimeout-()I": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcA;-setTimeout-(I)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcA;-transceive-([B)[B": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcB;-close-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcB;-connect-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcB;-transceive-([B)[B": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcBarcode;-close-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcBarcode;-connect-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcF;-close-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcF;-connect-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcF;-getTimeout-()I": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcF;-setTimeout-(I)V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcF;-transceive-([B)[B": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcV;-close-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcV;-connect-()V": [ "android.permission.NFC" ], "Landroid/nfc/tech/NfcV;-transceive-([B)[B": [ "android.permission.NFC" ], "Landroid/os/PowerManager$WakeLock;-acquire-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/os/PowerManager$WakeLock;-acquire-(J)V": [ "android.permission.WAKE_LOCK" ], "Landroid/os/PowerManager$WakeLock;-release-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/os/PowerManager$WakeLock;-release-(I)V": [ "android.permission.WAKE_LOCK" ], "Landroid/os/PowerManager$WakeLock;-setWorkSource-(Landroid/os/WorkSource;)V": [ "android.permission.WAKE_LOCK" ], "Landroid/os/SystemVibrator;-cancel-()V": [ "android.permission.VIBRATE" ], "Landroid/os/SystemVibrator;-vibrate-(I Ljava/lang/String; [J I Landroid/media/AudioAttributes;)V": [ "android.permission.VIBRATE" ], "Landroid/os/SystemVibrator;-vibrate-(I Ljava/lang/String; J Landroid/media/AudioAttributes;)V": [ "android.permission.VIBRATE" ], "Landroid/service/dreams/DreamService;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/service/dreams/DreamService;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/service/dreams/DreamService;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/service/dreams/DreamService;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/service/dreams/DreamService;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/service/voice/VoiceInteractionService;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/service/voice/VoiceInteractionService;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/service/voice/VoiceInteractionService;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/service/voice/VoiceInteractionService;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/service/voice/VoiceInteractionService;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/telephony/SmsManager;-downloadMultimediaMessage-(Landroid/content/Context; Ljava/lang/String; Landroid/net/Uri; Landroid/os/Bundle; Landroid/app/PendingIntent;)V": [ "android.permission.RECEIVE_MMS" ], "Landroid/telephony/SmsManager;-sendDataMessage-(Ljava/lang/String; Ljava/lang/String; S [B Landroid/app/PendingIntent; Landroid/app/PendingIntent;)V": [ "android.permission.SEND_SMS" ], "Landroid/telephony/SmsManager;-sendMultimediaMessage-(Landroid/content/Context; Landroid/net/Uri; Ljava/lang/String; Landroid/os/Bundle; Landroid/app/PendingIntent;)V": [ "android.permission.SEND_SMS" ], "Landroid/telephony/SmsManager;-sendMultipartTextMessage-(Ljava/lang/String; Ljava/lang/String; Ljava/util/ArrayList; Ljava/util/ArrayList; Ljava/util/ArrayList;)V": [ "android.permission.SEND_SMS" ], "Landroid/telephony/SmsManager;-sendTextMessage-(Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Landroid/app/PendingIntent; Landroid/app/PendingIntent;)V": [ "android.permission.SEND_SMS" ], "Landroid/telephony/TelephonyManager;-getAllCellInfo-()Ljava/util/List;": [ "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/telephony/TelephonyManager;-getCellLocation-()Landroid/telephony/CellLocation;": [ "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/telephony/TelephonyManager;-getNeighboringCellInfo-()Ljava/util/List;": [ "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/telephony/TelephonyManager;-listen-(Landroid/telephony/PhoneStateListener; I)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.READ_PHONE_STATE" ], "Landroid/telephony/gsm/SmsManager;-sendDataMessage-(Ljava/lang/String; Ljava/lang/String; S [B Landroid/app/PendingIntent; Landroid/app/PendingIntent;)V": [ "android.permission.SEND_SMS" ], "Landroid/telephony/gsm/SmsManager;-sendMultipartTextMessage-(Ljava/lang/String; Ljava/lang/String; Ljava/util/ArrayList; Ljava/util/ArrayList; Ljava/util/ArrayList;)V": [ "android.permission.SEND_SMS" ], "Landroid/telephony/gsm/SmsManager;-sendTextMessage-(Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Landroid/app/PendingIntent; Landroid/app/PendingIntent;)V": [ "android.permission.SEND_SMS" ], "Landroid/test/IsolatedContext;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/test/IsolatedContext;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/test/IsolatedContext;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/test/IsolatedContext;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/test/IsolatedContext;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/test/RenamingDelegatingContext;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/test/RenamingDelegatingContext;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/test/RenamingDelegatingContext;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/test/RenamingDelegatingContext;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/test/RenamingDelegatingContext;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/test/mock/MockApplication;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/test/mock/MockApplication;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/test/mock/MockApplication;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/test/mock/MockApplication;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/test/mock/MockApplication;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/view/ContextThemeWrapper;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/view/ContextThemeWrapper;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/view/ContextThemeWrapper;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/view/ContextThemeWrapper;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/view/ContextThemeWrapper;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/widget/VideoView;-getAudioSessionId-()I": [ "android.permission.WAKE_LOCK" ], "Landroid/widget/VideoView;-onKeyDown-(I Landroid/view/KeyEvent;)Z": [ "android.permission.WAKE_LOCK" ], "Landroid/widget/VideoView;-pause-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/widget/VideoView;-resume-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/widget/VideoView;-setVideoPath-(Ljava/lang/String;)V": [ "android.permission.WAKE_LOCK" ], "Landroid/widget/VideoView;-setVideoURI-(Landroid/net/Uri;)V": [ "android.permission.WAKE_LOCK" ], "Landroid/widget/VideoView;-setVideoURI-(Landroid/net/Uri; Ljava/util/Map;)V": [ "android.permission.WAKE_LOCK" ], "Landroid/widget/VideoView;-start-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/widget/VideoView;-stopPlayback-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/widget/VideoView;-suspend-()V": [ "android.permission.WAKE_LOCK" ] }permissions_24.json000066400000000000000000013216151324327352200345420ustar00rootroot00000000000000androguard-3.1.0-rc2/androguard/core/api_specific_resources/api_permission_mappings{ "Landroid/hardware/location/ActivityRecognitionHardware;-disableActivityEvent-(Ljava/lang/String; I)Z": [ "android.permission.LOCATION_HARDWARE" ], "Landroid/hardware/location/ActivityRecognitionHardware;-enableActivityEvent-(Ljava/lang/String; I J)Z": [ "android.permission.LOCATION_HARDWARE" ], "Landroid/hardware/location/ActivityRecognitionHardware;-flush-()Z": [ "android.permission.LOCATION_HARDWARE" ], "Landroid/hardware/location/ActivityRecognitionHardware;-getSupportedActivities-()[Ljava/lang/String;": [ "android.permission.LOCATION_HARDWARE" ], "Landroid/hardware/location/ActivityRecognitionHardware;-isActivitySupported-(Ljava/lang/String;)Z": [ "android.permission.LOCATION_HARDWARE" ], "Landroid/hardware/location/ActivityRecognitionHardware;-registerSink-(Landroid/hardware/location/IActivityRecognitionHardwareSink;)Z": [ "android.permission.LOCATION_HARDWARE" ], "Landroid/hardware/location/ActivityRecognitionHardware;-unregisterSink-(Landroid/hardware/location/IActivityRecognitionHardwareSink;)Z": [ "android.permission.LOCATION_HARDWARE" ], "Landroid/hardware/location/ContextHubService;-findNanoAppOnHub-(I Landroid/hardware/location/NanoAppFilter;)[I": [ "android.permission.LOCATION_HARDWARE" ], "Landroid/hardware/location/ContextHubService;-getContextHubHandles-()[I": [ "android.permission.LOCATION_HARDWARE" ], "Landroid/hardware/location/ContextHubService;-getContextHubInfo-(I)Landroid/hardware/location/ContextHubInfo;": [ "android.permission.LOCATION_HARDWARE" ], "Landroid/hardware/location/ContextHubService;-getNanoAppInstanceInfo-(I)Landroid/hardware/location/NanoAppInstanceInfo;": [ "android.permission.LOCATION_HARDWARE" ], "Landroid/hardware/location/ContextHubService;-loadNanoApp-(I Landroid/hardware/location/NanoApp;)I": [ "android.permission.LOCATION_HARDWARE" ], "Landroid/hardware/location/ContextHubService;-registerCallback-(Landroid/hardware/location/IContextHubCallback;)I": [ "android.permission.LOCATION_HARDWARE" ], "Landroid/hardware/location/ContextHubService;-sendMessage-(I I Landroid/hardware/location/ContextHubMessage;)I": [ "android.permission.LOCATION_HARDWARE" ], "Landroid/hardware/location/ContextHubService;-unloadNanoApp-(I)I": [ "android.permission.LOCATION_HARDWARE" ], "Lcom/android/bluetooth/a2dp/A2dpService$BluetoothA2dpBinder;-connect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/a2dp/A2dpService$BluetoothA2dpBinder;-disconnect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/a2dp/A2dpService$BluetoothA2dpBinder;-getConnectedDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/a2dp/A2dpService$BluetoothA2dpBinder;-getConnectionState-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/a2dp/A2dpService$BluetoothA2dpBinder;-getDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/a2dp/A2dpService$BluetoothA2dpBinder;-getPriority-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/a2dp/A2dpService$BluetoothA2dpBinder;-isA2dpPlaying-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/a2dp/A2dpService$BluetoothA2dpBinder;-setPriority-(Landroid/bluetooth/BluetoothDevice; I)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/a2dpsink/A2dpSinkService$BluetoothA2dpSinkBinder;-connect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/a2dpsink/A2dpSinkService$BluetoothA2dpSinkBinder;-disconnect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/a2dpsink/A2dpSinkService$BluetoothA2dpSinkBinder;-getAudioConfig-(Landroid/bluetooth/BluetoothDevice;)Landroid/bluetooth/BluetoothAudioConfig;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/a2dpsink/A2dpSinkService$BluetoothA2dpSinkBinder;-getConnectedDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/a2dpsink/A2dpSinkService$BluetoothA2dpSinkBinder;-getConnectionState-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/a2dpsink/A2dpSinkService$BluetoothA2dpSinkBinder;-getDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/a2dpsink/A2dpSinkService$BluetoothA2dpSinkBinder;-getPriority-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/a2dpsink/A2dpSinkService$BluetoothA2dpSinkBinder;-isA2dpPlaying-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/a2dpsink/A2dpSinkService$BluetoothA2dpSinkBinder;-setPriority-(Landroid/bluetooth/BluetoothDevice; I)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/avrcp/AvrcpControllerService$BluetoothAvrcpControllerBinder;-getConnectedDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/avrcp/AvrcpControllerService$BluetoothAvrcpControllerBinder;-getConnectionState-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/avrcp/AvrcpControllerService$BluetoothAvrcpControllerBinder;-getDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/avrcp/AvrcpControllerService$BluetoothAvrcpControllerBinder;-getMetadata-(Landroid/bluetooth/BluetoothDevice;)Landroid/media/MediaMetadata;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/avrcp/AvrcpControllerService$BluetoothAvrcpControllerBinder;-getPlaybackState-(Landroid/bluetooth/BluetoothDevice;)Landroid/media/session/PlaybackState;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/avrcp/AvrcpControllerService$BluetoothAvrcpControllerBinder;-getPlayerSettings-(Landroid/bluetooth/BluetoothDevice;)Landroid/bluetooth/BluetoothAvrcpPlayerSettings;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/avrcp/AvrcpControllerService$BluetoothAvrcpControllerBinder;-sendGroupNavigationCmd-(Landroid/bluetooth/BluetoothDevice; I I)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/avrcp/AvrcpControllerService$BluetoothAvrcpControllerBinder;-sendPassThroughCmd-(Landroid/bluetooth/BluetoothDevice; I I)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/avrcp/AvrcpControllerService$BluetoothAvrcpControllerBinder;-setPlayerApplicationSetting-(Landroid/bluetooth/BluetoothAvrcpPlayerSettings;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-cancelBondProcess-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-cancelDiscovery-()Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-configHciSnoopLog-(Z)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-connectSocket-(Landroid/bluetooth/BluetoothDevice; I Landroid/os/ParcelUuid; I I)Landroid/os/ParcelFileDescriptor;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-createBond-(Landroid/bluetooth/BluetoothDevice; I)Z": [ "android.permission.BLUETOOTH_ADMIN", "android.permission.BLUETOOTH_PRIVILEGED" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-createBondOutOfBand-(Landroid/bluetooth/BluetoothDevice; I Landroid/bluetooth/OobData;)Z": [ "android.permission.BLUETOOTH_ADMIN", "android.permission.BLUETOOTH_PRIVILEGED" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-createSocketChannel-(I Ljava/lang/String; Landroid/os/ParcelUuid; I I)Landroid/os/ParcelFileDescriptor;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-disable-()Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-enable-()Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-enableNoAutoConnect-()Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-factoryReset-()Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-fetchRemoteUuids-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getAdapterConnectionState-()I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getAddress-()Ljava/lang/String;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getBondState-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getBondedDevices-()[Landroid/bluetooth/BluetoothDevice;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getConnectionState-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getDiscoverableTimeout-()I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getMessageAccessPermission-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getName-()Ljava/lang/String;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getPhonebookAccessPermission-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getProfileConnectionState-(I)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getRemoteAlias-(Landroid/bluetooth/BluetoothDevice;)Ljava/lang/String;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getRemoteClass-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getRemoteName-(Landroid/bluetooth/BluetoothDevice;)Ljava/lang/String;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getRemoteType-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getRemoteUuids-(Landroid/bluetooth/BluetoothDevice;)[Landroid/os/ParcelUuid;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getScanMode-()I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getSimAccessPermission-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getState-()I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getUuids-()[Landroid/os/ParcelUuid;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-isActivityAndEnergyReportingSupported-()Z": [ "android.permission.BLUETOOTH_PRIVILEGED" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-isDiscovering-()Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-isEnabled-()Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-isMultiAdvertisementSupported-()Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-isOffloadedFilteringSupported-()Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-isOffloadedScanBatchingSupported-()Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-removeBond-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH_ADMIN", "android.permission.BLUETOOTH_PRIVILEGED" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-reportActivityInfo-()Landroid/bluetooth/BluetoothActivityEnergyInfo;": [ "android.permission.BLUETOOTH_PRIVILEGED" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-requestActivityInfo-(Landroid/os/ResultReceiver;)V": [ "android.permission.BLUETOOTH_PRIVILEGED" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-sdpSearch-(Landroid/bluetooth/BluetoothDevice; Landroid/os/ParcelUuid;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-sendConnectionStateChange-(Landroid/bluetooth/BluetoothDevice; I I I)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-setDiscoverableTimeout-(I)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-setMessageAccessPermission-(Landroid/bluetooth/BluetoothDevice; I)Z": [ "android.permission.BLUETOOTH_PRIVILEGED" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-setName-(Ljava/lang/String;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-setPairingConfirmation-(Landroid/bluetooth/BluetoothDevice; Z)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-setPasskey-(Landroid/bluetooth/BluetoothDevice; Z I [B)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-setPhonebookAccessPermission-(Landroid/bluetooth/BluetoothDevice; I)Z": [ "android.permission.BLUETOOTH_PRIVILEGED" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-setPin-(Landroid/bluetooth/BluetoothDevice; Z I [B)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-setRemoteAlias-(Landroid/bluetooth/BluetoothDevice; Ljava/lang/String;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-setScanMode-(I I)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-setSimAccessPermission-(Landroid/bluetooth/BluetoothDevice; I)Z": [ "android.permission.BLUETOOTH_PRIVILEGED" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-startDiscovery-()Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-addCharacteristic-(I Landroid/os/ParcelUuid; I I)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-addDescriptor-(I Landroid/os/ParcelUuid; I)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-addIncludedService-(I I I Landroid/os/ParcelUuid;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-beginReliableWrite-(I Ljava/lang/String;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-beginServiceDeclaration-(I I I I Landroid/os/ParcelUuid; Z)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-clearServices-(I)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-clientConnect-(I Ljava/lang/String; Z I)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-clientDisconnect-(I Ljava/lang/String;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-configureMTU-(I Ljava/lang/String; I)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-connectionParameterUpdate-(I Ljava/lang/String; I)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-disconnectAll-()V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-discoverServices-(I Ljava/lang/String;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-endReliableWrite-(I Ljava/lang/String; Z)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-endServiceDeclaration-(I)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-getDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-numHwTrackFiltersAvailable-()I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-readCharacteristic-(I Ljava/lang/String; I I)V": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_PRIVILEGED" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-readDescriptor-(I Ljava/lang/String; I I)V": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_PRIVILEGED" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-readRemoteRssi-(I Ljava/lang/String;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-refreshDevice-(I Ljava/lang/String;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-registerClient-(Landroid/os/ParcelUuid; Landroid/bluetooth/IBluetoothGattCallback;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-registerForNotification-(I Ljava/lang/String; I Z)V": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_PRIVILEGED" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-registerServer-(Landroid/os/ParcelUuid; Landroid/bluetooth/IBluetoothGattServerCallback;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-removeService-(I I I Landroid/os/ParcelUuid;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-sendNotification-(I Ljava/lang/String; I I Landroid/os/ParcelUuid; I Landroid/os/ParcelUuid; Z [B)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-sendResponse-(I Ljava/lang/String; I I I [B)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-serverConnect-(I Ljava/lang/String; Z I)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-serverDisconnect-(I Ljava/lang/String;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-startMultiAdvertising-(I Landroid/bluetooth/le/AdvertiseData; Landroid/bluetooth/le/AdvertiseData; Landroid/bluetooth/le/AdvertiseSettings;)V": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-startScan-(I Z Landroid/bluetooth/le/ScanSettings; Ljava/util/List; Landroid/os/WorkSource; Ljava/util/List; Ljava/lang/String;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION", "android.permission.BLUETOOTH_ADMIN", "android.permission.BLUETOOTH_PRIVILEGED", "android.permission.PEERS_MAC_ADDRESS", "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-stopMultiAdvertising-(I)V": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-stopScan-(I Z)V": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-unregAll-()V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-unregisterClient-(I)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-unregisterServer-(I)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-writeCharacteristic-(I Ljava/lang/String; I I I [B)V": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_PRIVILEGED" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-writeDescriptor-(I Ljava/lang/String; I I I [B)V": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_PRIVILEGED" ], "Lcom/android/bluetooth/hdp/HealthService$BluetoothHealthBinder;-connectChannelToSink-(Landroid/bluetooth/BluetoothDevice; Landroid/bluetooth/BluetoothHealthAppConfiguration; I)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hdp/HealthService$BluetoothHealthBinder;-connectChannelToSource-(Landroid/bluetooth/BluetoothDevice; Landroid/bluetooth/BluetoothHealthAppConfiguration;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hdp/HealthService$BluetoothHealthBinder;-disconnectChannel-(Landroid/bluetooth/BluetoothDevice; Landroid/bluetooth/BluetoothHealthAppConfiguration; I)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hdp/HealthService$BluetoothHealthBinder;-getConnectedHealthDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hdp/HealthService$BluetoothHealthBinder;-getHealthDeviceConnectionState-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hdp/HealthService$BluetoothHealthBinder;-getHealthDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hdp/HealthService$BluetoothHealthBinder;-getMainChannelFd-(Landroid/bluetooth/BluetoothDevice; Landroid/bluetooth/BluetoothHealthAppConfiguration;)Landroid/os/ParcelFileDescriptor;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hdp/HealthService$BluetoothHealthBinder;-registerAppConfiguration-(Landroid/bluetooth/BluetoothHealthAppConfiguration; Landroid/bluetooth/IBluetoothHealthCallback;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hdp/HealthService$BluetoothHealthBinder;-unregisterAppConfiguration-(Landroid/bluetooth/BluetoothHealthAppConfiguration;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-clccResponse-(I I I I Z Ljava/lang/String; I)V": [ "android.permission.BLUETOOTH_ADMIN", "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-connect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-connectAudio-()Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-disableWBS-()Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-disconnect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-disconnectAudio-()Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-enableWBS-()Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-getConnectedDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-getConnectionState-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-getDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-getPriority-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-isAudioConnected-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-isAudioOn-()Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-phoneStateChanged-(I I I Ljava/lang/String; I)V": [ "android.permission.BLUETOOTH_ADMIN", "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-sendVendorSpecificResultCode-(Landroid/bluetooth/BluetoothDevice; Ljava/lang/String; Ljava/lang/String;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-setPriority-(Landroid/bluetooth/BluetoothDevice; I)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-startVoiceRecognition-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-stopVoiceRecognition-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-acceptCall-(Landroid/bluetooth/BluetoothDevice; I)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-connect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-connectAudio-()Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-dial-(Landroid/bluetooth/BluetoothDevice; Ljava/lang/String;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-dialMemory-(Landroid/bluetooth/BluetoothDevice; I)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-disconnect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-disconnectAudio-()Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-enterPrivateMode-(Landroid/bluetooth/BluetoothDevice; I)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-explicitCallTransfer-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-getConnectedDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-getConnectionState-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-getCurrentAgEvents-(Landroid/bluetooth/BluetoothDevice;)Landroid/os/Bundle;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-getCurrentAgFeatures-(Landroid/bluetooth/BluetoothDevice;)Landroid/os/Bundle;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-getCurrentCalls-(Landroid/bluetooth/BluetoothDevice;)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-getDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-getLastVoiceTagNumber-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-getPriority-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-holdCall-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-redial-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-rejectCall-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-sendDTMF-(Landroid/bluetooth/BluetoothDevice; B)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-setPriority-(Landroid/bluetooth/BluetoothDevice; I)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-startVoiceRecognition-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-stopVoiceRecognition-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-terminateCall-(Landroid/bluetooth/BluetoothDevice; I)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-connect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-disconnect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-getConnectedDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-getDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-getPriority-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-getProtocolMode-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-getReport-(Landroid/bluetooth/BluetoothDevice; B B I)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-sendData-(Landroid/bluetooth/BluetoothDevice; Ljava/lang/String;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-setPriority-(Landroid/bluetooth/BluetoothDevice; I)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-setProtocolMode-(Landroid/bluetooth/BluetoothDevice; I)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-setReport-(Landroid/bluetooth/BluetoothDevice; B Ljava/lang/String;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-virtualUnplug-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/map/BluetoothMapService$BluetoothMapBinder;-connect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/map/BluetoothMapService$BluetoothMapBinder;-disconnect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/map/BluetoothMapService$BluetoothMapBinder;-getClient-()Landroid/bluetooth/BluetoothDevice;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/map/BluetoothMapService$BluetoothMapBinder;-getConnectedDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/map/BluetoothMapService$BluetoothMapBinder;-getConnectionState-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/map/BluetoothMapService$BluetoothMapBinder;-getDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/map/BluetoothMapService$BluetoothMapBinder;-getPriority-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/map/BluetoothMapService$BluetoothMapBinder;-getState-()I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/map/BluetoothMapService$BluetoothMapBinder;-isConnected-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/map/BluetoothMapService$BluetoothMapBinder;-setPriority-(Landroid/bluetooth/BluetoothDevice; I)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/pan/PanService$BluetoothPanBinder;-connect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/pan/PanService$BluetoothPanBinder;-disconnect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/pan/PanService$BluetoothPanBinder;-getConnectedDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/pan/PanService$BluetoothPanBinder;-getDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/pan/PanService$BluetoothPanBinder;-setBluetoothTethering-(Z)V": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN", "android.permission.TETHER_PRIVILEGED" ], "Lcom/android/bluetooth/pbapclient/PbapClientService$BluetoothPbapClientBinder;-connect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/pbapclient/PbapClientService$BluetoothPbapClientBinder;-disconnect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/pbapclient/PbapClientService$BluetoothPbapClientBinder;-getConnectedDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/pbapclient/PbapClientService$BluetoothPbapClientBinder;-getConnectionState-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/pbapclient/PbapClientService$BluetoothPbapClientBinder;-getDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/pbapclient/PbapClientService$BluetoothPbapClientBinder;-getPriority-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/pbapclient/PbapClientService$BluetoothPbapClientBinder;-setPriority-(Landroid/bluetooth/BluetoothDevice; I)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/sap/SapService$SapBinder;-connect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/sap/SapService$SapBinder;-disconnect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/sap/SapService$SapBinder;-getClient-()Landroid/bluetooth/BluetoothDevice;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/sap/SapService$SapBinder;-getConnectedDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/sap/SapService$SapBinder;-getConnectionState-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/sap/SapService$SapBinder;-getDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/sap/SapService$SapBinder;-getPriority-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/sap/SapService$SapBinder;-getState-()I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/sap/SapService$SapBinder;-isConnected-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/sap/SapService$SapBinder;-setPriority-(Landroid/bluetooth/BluetoothDevice; I)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/car/CarRadioService;-setPreset-(Landroid/car/hardware/radio/CarRadioPreset;)Z": [ "android.car.permission.CAR_RADIO" ], "Lcom/android/car/ICarImpl;-getCarService-(Ljava/lang/String;)Landroid/os/IBinder;": [ "android.car.permission.CAR_CAMERA", "android.car.permission.CAR_HVAC", "android.car.permission.CAR_MOCK_VEHICLE_HAL", "android.car.permission.CAR_NAVIGATION_MANAGER", "android.car.permission.CAR_PROJECTION", "android.car.permission.CAR_RADIO" ], "Lcom/android/car/pm/CarPackageManagerService;-setAppBlockingPolicy-(Ljava/lang/String; Landroid/car/content/pm/CarAppBlockingPolicy; I)V": [ "android.car.permission.CONTROL_APP_BLOCKING" ], "Lcom/android/internal/telephony/PhoneSubInfoController;-getCompleteVoiceMailNumber-()Ljava/lang/String;": [ "android.permission.CALL_PRIVILEGED" ], "Lcom/android/internal/telephony/PhoneSubInfoController;-getCompleteVoiceMailNumberForSubscriber-(I)Ljava/lang/String;": [ "android.permission.CALL_PRIVILEGED" ], "Lcom/android/internal/telephony/PhoneSubInfoController;-getDeviceId-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE", "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoController;-getDeviceIdForPhone-(I Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PHONE_STATE", "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoController;-getDeviceSvn-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoController;-getDeviceSvnUsingSubId-(I Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoController;-getGroupIdLevel1-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoController;-getGroupIdLevel1ForSubscriber-(I Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoController;-getIccSerialNumber-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoController;-getIccSerialNumberForSubscriber-(I Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoController;-getIccSimChallengeResponse-(I I I Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoController;-getImeiForSubscriber-(I Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoController;-getIsimChallengeResponse-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoController;-getIsimDomain-()Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoController;-getIsimImpi-()Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoController;-getIsimImpu-()[Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoController;-getIsimIst-()Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoController;-getIsimPcscf-()[Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoController;-getLine1AlphaTag-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoController;-getLine1AlphaTagForSubscriber-(I Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoController;-getLine1Number-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoController;-getLine1NumberForSubscriber-(I Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoController;-getMsisdn-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoController;-getMsisdnForSubscriber-(I Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoController;-getNaiForSubscriber-(I Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoController;-getSubscriberId-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoController;-getSubscriberIdForSubscriber-(I Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoController;-getVoiceMailAlphaTag-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoController;-getVoiceMailAlphaTagForSubscriber-(I Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoController;-getVoiceMailNumber-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoController;-getVoiceMailNumberForSubscriber-(I Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-addSubInfoRecord-(Ljava/lang/String; I)I": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-clearDefaultsForInactiveSubIds-()V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-clearSubInfo-()I": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-getActiveSubInfoCount-(Ljava/lang/String;)I": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-getActiveSubscriptionInfo-(I Ljava/lang/String;)Landroid/telephony/SubscriptionInfo;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-getActiveSubscriptionInfoForIccId-(Ljava/lang/String; Ljava/lang/String;)Landroid/telephony/SubscriptionInfo;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-getActiveSubscriptionInfoForSimSlotIndex-(I Ljava/lang/String;)Landroid/telephony/SubscriptionInfo;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-getActiveSubscriptionInfoList-(Ljava/lang/String;)Ljava/util/List;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-getAllSubInfoCount-(Ljava/lang/String;)I": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-getAllSubInfoList-(Ljava/lang/String;)Ljava/util/List;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-getSubscriptionProperty-(I Ljava/lang/String; Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-setDataRoaming-(I I)I": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-setDefaultDataSubId-(I)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-setDefaultSmsSubId-(I)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-setDefaultVoiceSubId-(I)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-setDisplayName-(Ljava/lang/String; I)I": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-setDisplayNameUsingSrc-(Ljava/lang/String; I J)I": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-setDisplayNumber-(Ljava/lang/String; I)I": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-setIconTint-(I I)I": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-setSimProvisioningStatus-(I I)I": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-setSubscriptionProperty-(I Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/internal/telephony/UiccPhoneBookController;-getAdnRecordsInEf-(I)Ljava/util/List;": [ "android.permission.READ_CONTACTS" ], "Lcom/android/internal/telephony/UiccPhoneBookController;-getAdnRecordsInEfForSubscriber-(I I)Ljava/util/List;": [ "android.permission.READ_CONTACTS" ], "Lcom/android/internal/telephony/UiccPhoneBookController;-updateAdnRecordsInEfByIndex-(I Ljava/lang/String; Ljava/lang/String; I Ljava/lang/String;)Z": [ "android.permission.WRITE_CONTACTS" ], "Lcom/android/internal/telephony/UiccPhoneBookController;-updateAdnRecordsInEfByIndexForSubscriber-(I I Ljava/lang/String; Ljava/lang/String; I Ljava/lang/String;)Z": [ "android.permission.WRITE_CONTACTS" ], "Lcom/android/internal/telephony/UiccPhoneBookController;-updateAdnRecordsInEfBySearch-(I Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/lang/String;)Z": [ "android.permission.WRITE_CONTACTS" ], "Lcom/android/internal/telephony/UiccPhoneBookController;-updateAdnRecordsInEfBySearchForSubscriber-(I I Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/lang/String;)Z": [ "android.permission.WRITE_CONTACTS" ], "Lcom/android/internal/telephony/UiccSmsController;-copyMessageToIccEfForSubscriber-(I Ljava/lang/String; I [B [B)Z": [ "android.permission.RECEIVE_SMS", "android.permission.SEND_SMS" ], "Lcom/android/internal/telephony/UiccSmsController;-disableCellBroadcastForSubscriber-(I I I)Z": [ "android.permission.RECEIVE_SMS" ], "Lcom/android/internal/telephony/UiccSmsController;-disableCellBroadcastRangeForSubscriber-(I I I I)Z": [ "android.permission.RECEIVE_SMS" ], "Lcom/android/internal/telephony/UiccSmsController;-enableCellBroadcastForSubscriber-(I I I)Z": [ "android.permission.RECEIVE_SMS" ], "Lcom/android/internal/telephony/UiccSmsController;-enableCellBroadcastRangeForSubscriber-(I I I I)Z": [ "android.permission.RECEIVE_SMS" ], "Lcom/android/internal/telephony/UiccSmsController;-getAllMessagesFromIccEfForSubscriber-(I Ljava/lang/String;)Ljava/util/List;": [ "android.permission.RECEIVE_SMS" ], "Lcom/android/internal/telephony/UiccSmsController;-sendDataForSubscriber-(I Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; I [B Landroid/app/PendingIntent; Landroid/app/PendingIntent;)V": [ "android.permission.READ_EXTERNAL_STORAGE", "android.permission.SEND_SMS", "android.permission.SEND_SMS_NO_CONFIRMATION" ], "Lcom/android/internal/telephony/UiccSmsController;-sendDataForSubscriberWithSelfPermissions-(I Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; I [B Landroid/app/PendingIntent; Landroid/app/PendingIntent;)V": [ "android.permission.READ_EXTERNAL_STORAGE", "android.permission.SEND_SMS", "android.permission.SEND_SMS_NO_CONFIRMATION" ], "Lcom/android/internal/telephony/UiccSmsController;-sendMultipartTextForSubscriber-(I Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/util/List; Ljava/util/List; Ljava/util/List; Z)V": [ "android.permission.READ_EXTERNAL_STORAGE", "android.permission.SEND_SMS", "android.permission.SEND_SMS_NO_CONFIRMATION" ], "Lcom/android/internal/telephony/UiccSmsController;-sendStoredMultipartText-(I Ljava/lang/String; Landroid/net/Uri; Ljava/lang/String; Ljava/util/List; Ljava/util/List;)V": [ "android.permission.READ_EXTERNAL_STORAGE", "android.permission.SEND_SMS", "android.permission.SEND_SMS_NO_CONFIRMATION" ], "Lcom/android/internal/telephony/UiccSmsController;-sendStoredText-(I Ljava/lang/String; Landroid/net/Uri; Ljava/lang/String; Landroid/app/PendingIntent; Landroid/app/PendingIntent;)V": [ "android.permission.READ_EXTERNAL_STORAGE", "android.permission.SEND_SMS", "android.permission.SEND_SMS_NO_CONFIRMATION" ], "Lcom/android/internal/telephony/UiccSmsController;-sendTextForSubscriber-(I Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Landroid/app/PendingIntent; Landroid/app/PendingIntent; Z)V": [ "android.permission.READ_EXTERNAL_STORAGE", "android.permission.SEND_SMS", "android.permission.SEND_SMS_NO_CONFIRMATION" ], "Lcom/android/internal/telephony/UiccSmsController;-sendTextForSubscriberWithSelfPermissions-(I Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Landroid/app/PendingIntent; Landroid/app/PendingIntent;)V": [ "android.permission.READ_EXTERNAL_STORAGE", "android.permission.SEND_SMS", "android.permission.SEND_SMS_NO_CONFIRMATION" ], "Lcom/android/internal/telephony/UiccSmsController;-updateMessageOnIccEfForSubscriber-(I Ljava/lang/String; I I [B)Z": [ "android.permission.RECEIVE_SMS", "android.permission.SEND_SMS" ], "Lcom/android/phone/CarrierConfigLoader;-getConfigForSubId-(I)Landroid/os/PersistableBundle;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/CarrierConfigLoader;-updateConfigForPhoneId-(I Ljava/lang/String;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-answerRingingCall-()V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-answerRingingCallForSubscriber-(I)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-call-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.CALL_PHONE" ], "Lcom/android/phone/PhoneInterfaceManager;-canChangeDtmfToneLength-()Z": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-disableDataConnectivity-()Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-disableLocationUpdates-()V": [ "android.permission.CONTROL_LOCATION_UPDATES" ], "Lcom/android/phone/PhoneInterfaceManager;-disableLocationUpdatesForSubscriber-(I)V": [ "android.permission.CONTROL_LOCATION_UPDATES" ], "Lcom/android/phone/PhoneInterfaceManager;-enableDataConnectivity-()Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-enableLocationUpdates-()V": [ "android.permission.CONTROL_LOCATION_UPDATES" ], "Lcom/android/phone/PhoneInterfaceManager;-enableLocationUpdatesForSubscriber-(I)V": [ "android.permission.CONTROL_LOCATION_UPDATES" ], "Lcom/android/phone/PhoneInterfaceManager;-enableVideoCalling-(Z)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-endCall-()Z": [ "android.permission.CALL_PHONE" ], "Lcom/android/phone/PhoneInterfaceManager;-endCallForSubscriber-(I)Z": [ "android.permission.CALL_PHONE" ], "Lcom/android/phone/PhoneInterfaceManager;-factoryReset-(I)V": [ "android.permission.CONNECTIVITY_INTERNAL", "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getAllCellInfo-(Ljava/lang/String;)Ljava/util/List;": [ "android.permission.ACCESS_FINE_LOCATION", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/phone/PhoneInterfaceManager;-getCalculatedPreferredNetworkType-(Ljava/lang/String;)I": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getCdmaEriIconIndex-(Ljava/lang/String;)I": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getCdmaEriIconIndexForSubscriber-(I Ljava/lang/String;)I": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getCdmaEriIconMode-(Ljava/lang/String;)I": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getCdmaEriIconModeForSubscriber-(I Ljava/lang/String;)I": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getCdmaEriText-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getCdmaEriTextForSubscriber-(I Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getCdmaMdn-(I)Ljava/lang/String;": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getCdmaMin-(I)Ljava/lang/String;": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getCellLocation-(Ljava/lang/String;)Landroid/os/Bundle;": [ "android.permission.ACCESS_FINE_LOCATION", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/phone/PhoneInterfaceManager;-getCellNetworkScanResults-(I)Lcom/android/internal/telephony/CellNetworkScanResult;": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getDataEnabled-(I)Z": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getDataNetworkType-(Ljava/lang/String;)I": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getDataNetworkTypeForSubscriber-(I Ljava/lang/String;)I": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getDeviceId-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getDeviceSoftwareVersionForSlot-(I Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getImeiForSlot-(I Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getLine1AlphaTagForDisplay-(I Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getLine1NumberForDisplay-(I Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getLteOnCdmaMode-(Ljava/lang/String;)I": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getLteOnCdmaModeForSubscriber-(I Ljava/lang/String;)I": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getMergedSubscriberIds-(Ljava/lang/String;)[Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getNeighboringCellInfo-(Ljava/lang/String;)Ljava/util/List;": [ "android.permission.ACCESS_FINE_LOCATION", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/phone/PhoneInterfaceManager;-getNetworkTypeForSubscriber-(I Ljava/lang/String;)I": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getPcscfAddress-(Ljava/lang/String; Ljava/lang/String;)[Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getPreferredNetworkType-(I)I": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getRadioAccessFamily-(I Ljava/lang/String;)I": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getServiceStateForSubscriber-(I Ljava/lang/String;)Landroid/telephony/ServiceState;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getTetherApnRequired-()I": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getVoiceNetworkTypeForSubscriber-(I Ljava/lang/String;)I": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-handlePinMmi-(Ljava/lang/String;)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-handlePinMmiForSubscriber-(I Ljava/lang/String;)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-iccCloseLogicalChannel-(I I)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-iccExchangeSimIO-(I I I I I I Ljava/lang/String;)[B": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-iccOpenLogicalChannel-(I Ljava/lang/String;)Landroid/telephony/IccOpenLogicalChannelResponse;": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-iccTransmitApduBasicChannel-(I I I I I I Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-iccTransmitApduLogicalChannel-(I I I I I I I Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-invokeOemRilRequestRaw-([B [B)I": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-isIdle-(Ljava/lang/String;)Z": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-isIdleForSubscriber-(I Ljava/lang/String;)Z": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-isOffhook-(Ljava/lang/String;)Z": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-isOffhookForSubscriber-(I Ljava/lang/String;)Z": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-isRadioOn-(Ljava/lang/String;)Z": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-isRadioOnForSubscriber-(I Ljava/lang/String;)Z": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-isRinging-(Ljava/lang/String;)Z": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-isRingingForSubscriber-(I Ljava/lang/String;)Z": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-isVideoCallingEnabled-(Ljava/lang/String;)Z": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-isWorldPhone-()Z": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-nvReadItem-(I)Ljava/lang/String;": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-nvResetConfig-(I)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-nvWriteCdmaPrl-([B)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-nvWriteItem-(I Ljava/lang/String;)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-requestModemActivityInfo-(Landroid/os/ResultReceiver;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-sendEnvelopeWithStatus-(I Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-setDataEnabled-(I Z)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-setImsRegistrationState-(Z)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-setNetworkSelectionModeAutomatic-(I)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-setNetworkSelectionModeManual-(I Lcom/android/internal/telephony/OperatorInfo; Z)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-setPreferredNetworkType-(I I)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-setRadio-(Z)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-setRadioForSubscriber-(I Z)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-setRadioPower-(Z)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-shutdownMobileRadios-()V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-supplyPin-(Ljava/lang/String;)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-supplyPinForSubscriber-(I Ljava/lang/String;)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-supplyPinReportResult-(Ljava/lang/String;)[I": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-supplyPinReportResultForSubscriber-(I Ljava/lang/String;)[I": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-supplyPuk-(Ljava/lang/String; Ljava/lang/String;)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-supplyPukForSubscriber-(I Ljava/lang/String; Ljava/lang/String;)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-supplyPukReportResult-(Ljava/lang/String; Ljava/lang/String;)[I": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-supplyPukReportResultForSubscriber-(I Ljava/lang/String; Ljava/lang/String;)[I": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-toggleRadioOnOff-()V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-toggleRadioOnOffForSubscriber-(I)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/providers/contacts/ContactsProvider2;-getType-(Landroid/net/Uri;)Ljava/lang/String;": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/providers/contacts/ProfileProvider;-getType-(Landroid/net/Uri;)Ljava/lang/String;": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/AppOpsService;-checkAudioOperation-(I I I Ljava/lang/String;)I": [ "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/server/AppOpsService;-checkOperation-(I I Ljava/lang/String;)I": [ "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/server/AppOpsService;-finishOperation-(Landroid/os/IBinder; I I Ljava/lang/String;)V": [ "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/server/AppOpsService;-getOpsForPackage-(I Ljava/lang/String; [I)Ljava/util/List;": [ "android.permission.GET_APP_OPS_STATS" ], "Lcom/android/server/AppOpsService;-getPackagesForOps-([I)Ljava/util/List;": [ "android.permission.GET_APP_OPS_STATS" ], "Lcom/android/server/AppOpsService;-noteOperation-(I I Ljava/lang/String;)I": [ "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/server/AppOpsService;-resetAllModes-(I Ljava/lang/String;)V": [ "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/server/AppOpsService;-setAudioRestriction-(I I I I [Ljava/lang/String;)V": [ "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/server/AppOpsService;-setMode-(I I Ljava/lang/String; I)V": [ "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/server/AppOpsService;-setUidMode-(I I I)V": [ "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/server/AppOpsService;-setUserRestriction-(I Z Landroid/os/IBinder; I [Ljava/lang/String;)V": [ "android.permission.INTERACT_ACROSS_USERS", "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_APP_OPS_RESTRICTIONS" ], "Lcom/android/server/AppOpsService;-startOperation-(Landroid/os/IBinder; I I Ljava/lang/String;)I": [ "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/server/BluetoothManagerService;-disable-(Z)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/server/BluetoothManagerService;-enable-()Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/server/BluetoothManagerService;-enableNoAutoConnect-()Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/server/BluetoothManagerService;-getAddress-()Ljava/lang/String;": [ "android.permission.BLUETOOTH", "android.permission.LOCAL_MAC_ADDRESS" ], "Lcom/android/server/BluetoothManagerService;-getName-()Ljava/lang/String;": [ "android.permission.BLUETOOTH" ], "Lcom/android/server/BluetoothManagerService;-registerStateChangeCallback-(Landroid/bluetooth/IBluetoothStateChangeCallback;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/server/BluetoothManagerService;-unregisterAdapter-(Landroid/bluetooth/IBluetoothManagerCallback;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/server/BluetoothManagerService;-unregisterStateChangeCallback-(Landroid/bluetooth/IBluetoothStateChangeCallback;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/server/ConnectivityService;-factoryReset-()V": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.CONNECTIVITY_INTERNAL", "android.permission.CONTROL_VPN", "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.TETHER_PRIVILEGED" ], "Lcom/android/server/ConnectivityService;-getActiveLinkProperties-()Landroid/net/LinkProperties;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getActiveNetwork-()Landroid/net/Network;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getActiveNetworkForUid-(I Z)Landroid/net/Network;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-getActiveNetworkInfo-()Landroid/net/NetworkInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getActiveNetworkInfoForUid-(I Z)Landroid/net/NetworkInfo;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-getActiveNetworkQuotaInfo-()Landroid/net/NetworkQuotaInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getAllNetworkInfo-()[Landroid/net/NetworkInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getAllNetworkState-()[Landroid/net/NetworkState;": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-getAllNetworks-()[Landroid/net/Network;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getAllVpnInfo-()[Lcom/android/internal/net/VpnInfo;": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-getAlwaysOnVpnPackage-(I)Ljava/lang/String;": [ "android.permission.CONNECTIVITY_INTERNAL", "android.permission.CONTROL_VPN", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/ConnectivityService;-getDefaultNetworkCapabilitiesForUser-(I)[Landroid/net/NetworkCapabilities;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getLastTetherError-(Ljava/lang/String;)I": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getLegacyVpnInfo-(I)Lcom/android/internal/net/LegacyVpnInfo;": [ "android.permission.CONTROL_VPN", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/ConnectivityService;-getLinkProperties-(Landroid/net/Network;)Landroid/net/LinkProperties;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getLinkPropertiesForType-(I)Landroid/net/LinkProperties;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getMobileProvisioningUrl-()Ljava/lang/String;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-getNetworkCapabilities-(Landroid/net/Network;)Landroid/net/NetworkCapabilities;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getNetworkForType-(I)Landroid/net/Network;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getNetworkInfo-(I)Landroid/net/NetworkInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getNetworkInfoForUid-(Landroid/net/Network; I Z)Landroid/net/NetworkInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getTetherableBluetoothRegexs-()[Ljava/lang/String;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getTetherableIfaces-()[Ljava/lang/String;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getTetherableUsbRegexs-()[Ljava/lang/String;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getTetherableWifiRegexs-()[Ljava/lang/String;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getTetheredDhcpRanges-()[Ljava/lang/String;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-getTetheredIfaces-()[Ljava/lang/String;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getTetheringErroredIfaces-()[Ljava/lang/String;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getVpnConfig-(I)Lcom/android/internal/net/VpnConfig;": [ "android.permission.CONTROL_VPN", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/ConnectivityService;-isActiveNetworkMetered-()Z": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-isNetworkSupported-(I)Z": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-isTetheringSupported-()Z": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-listenForNetwork-(Landroid/net/NetworkCapabilities; Landroid/os/Messenger; Landroid/os/IBinder;)Landroid/net/NetworkRequest;": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.ACCESS_WIFI_STATE", "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-pendingListenForNetwork-(Landroid/net/NetworkCapabilities; Landroid/app/PendingIntent;)V": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.ACCESS_WIFI_STATE", "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-pendingRequestForNetwork-(Landroid/net/NetworkCapabilities; Landroid/app/PendingIntent;)Landroid/net/NetworkRequest;": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.CHANGE_NETWORK_STATE", "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-prepareVpn-(Ljava/lang/String; Ljava/lang/String; I)Z": [ "android.permission.CONTROL_VPN", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/ConnectivityService;-registerNetworkAgent-(Landroid/os/Messenger; Landroid/net/NetworkInfo; Landroid/net/LinkProperties; Landroid/net/NetworkCapabilities; I Landroid/net/NetworkMisc;)I": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-registerNetworkFactory-(Landroid/os/Messenger; Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-reportInetCondition-(I I)V": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.INTERNET" ], "Lcom/android/server/ConnectivityService;-reportNetworkConnectivity-(Landroid/net/Network; Z)V": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.INTERNET" ], "Lcom/android/server/ConnectivityService;-requestBandwidthUpdate-(Landroid/net/Network;)Z": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-requestNetwork-(Landroid/net/NetworkCapabilities; Landroid/os/Messenger; I Landroid/os/IBinder; I)Landroid/net/NetworkRequest;": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.CHANGE_NETWORK_STATE", "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-requestRouteToHostAddress-(I [B)Z": [ "android.permission.CHANGE_NETWORK_STATE", "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-setAcceptUnvalidated-(Landroid/net/Network; Z Z)V": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-setAirplaneMode-(Z)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-setAlwaysOnVpnPackage-(I Ljava/lang/String; Z)Z": [ "android.permission.CONNECTIVITY_INTERNAL", "android.permission.CONTROL_VPN", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/ConnectivityService;-setGlobalProxy-(Landroid/net/ProxyInfo;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-setProvisioningNotificationVisible-(Z I Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-setUsbTethering-(Z)I": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.TETHER_PRIVILEGED" ], "Lcom/android/server/ConnectivityService;-setVpnPackageAuthorization-(Ljava/lang/String; I Z)V": [ "android.permission.CONTROL_VPN", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/ConnectivityService;-startLegacyVpn-(Lcom/android/internal/net/VpnProfile;)V": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.CONTROL_VPN" ], "Lcom/android/server/ConnectivityService;-startNattKeepalive-(Landroid/net/Network; I Landroid/os/Messenger; Landroid/os/IBinder; Ljava/lang/String; I Ljava/lang/String;)V": [ "android.permission.PACKET_KEEPALIVE_OFFLOAD" ], "Lcom/android/server/ConnectivityService;-startTethering-(I Landroid/os/ResultReceiver; Z)V": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.TETHER_PRIVILEGED" ], "Lcom/android/server/ConnectivityService;-stopTethering-(I)V": [ "android.permission.TETHER_PRIVILEGED" ], "Lcom/android/server/ConnectivityService;-tether-(Ljava/lang/String;)I": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.TETHER_PRIVILEGED" ], "Lcom/android/server/ConnectivityService;-unregisterNetworkFactory-(Landroid/os/Messenger;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-untether-(Ljava/lang/String;)I": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.TETHER_PRIVILEGED" ], "Lcom/android/server/ConnectivityService;-updateLockdownVpn-()Z": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConsumerIrService;-getCarrierFrequencies-()[I": [ "android.permission.TRANSMIT_IR" ], "Lcom/android/server/ConsumerIrService;-transmit-(Ljava/lang/String; I [I)V": [ "android.permission.TRANSMIT_IR" ], "Lcom/android/server/DeviceIdleController$BinderService;-addPowerSaveTempWhitelistApp-(Ljava/lang/String; J I Ljava/lang/String;)V": [ "android.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST" ], "Lcom/android/server/DeviceIdleController$BinderService;-addPowerSaveTempWhitelistAppForMms-(Ljava/lang/String; I Ljava/lang/String;)J": [ "android.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST" ], "Lcom/android/server/DeviceIdleController$BinderService;-addPowerSaveTempWhitelistAppForSms-(Ljava/lang/String; I Ljava/lang/String;)J": [ "android.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST" ], "Lcom/android/server/DeviceIdleController$BinderService;-addPowerSaveWhitelistApp-(Ljava/lang/String;)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/DeviceIdleController$BinderService;-exitIdle-(Ljava/lang/String;)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/DeviceIdleController$BinderService;-removePowerSaveWhitelistApp-(Ljava/lang/String;)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/InputMethodManagerService;-addClient-(Lcom/android/internal/view/IInputMethodClient; Lcom/android/internal/view/IInputContext; I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-clearLastInputMethodWindowForTransition-(Landroid/os/IBinder;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-getCurrentInputMethodSubtype-()Landroid/view/inputmethod/InputMethodSubtype;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-getEnabledInputMethodList-()Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-getEnabledInputMethodSubtypeList-(Ljava/lang/String; Z)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-getInputMethodList-()Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-getLastInputMethodSubtype-()Landroid/view/inputmethod/InputMethodSubtype;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-hideMySoftInput-(Landroid/os/IBinder; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-hideSoftInput-(Lcom/android/internal/view/IInputMethodClient; I Landroid/os/ResultReceiver;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-notifySuggestionPicked-(Landroid/text/style/SuggestionSpan; Ljava/lang/String; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-registerSuggestionSpansForNotification-([Landroid/text/style/SuggestionSpan;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-removeClient-(Lcom/android/internal/view/IInputMethodClient;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-setAdditionalInputMethodSubtypes-(Ljava/lang/String; [Landroid/view/inputmethod/InputMethodSubtype;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-setCurrentInputMethodSubtype-(Landroid/view/inputmethod/InputMethodSubtype;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-setInputMethod-(Landroid/os/IBinder; Ljava/lang/String;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/InputMethodManagerService;-setInputMethodAndSubtype-(Landroid/os/IBinder; Ljava/lang/String; Landroid/view/inputmethod/InputMethodSubtype;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/InputMethodManagerService;-setInputMethodEnabled-(Ljava/lang/String; Z)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/InputMethodManagerService;-shouldOfferSwitchingToNextInputMethod-(Landroid/os/IBinder;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-showInputMethodAndSubtypeEnablerFromClient-(Lcom/android/internal/view/IInputMethodClient; Ljava/lang/String;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.READ_EXTERNAL_STORAGE" ], "Lcom/android/server/InputMethodManagerService;-showInputMethodPickerFromClient-(Lcom/android/internal/view/IInputMethodClient; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-showMySoftInput-(Landroid/os/IBinder; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-showSoftInput-(Lcom/android/internal/view/IInputMethodClient; I Landroid/os/ResultReceiver;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-startInputOrWindowGainedFocus-(I Lcom/android/internal/view/IInputMethodClient; Landroid/os/IBinder; I I I Landroid/view/inputmethod/EditorInfo; Lcom/android/internal/view/IInputContext; I)Lcom/android/internal/view/InputBindResult;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-switchToLastInputMethod-(Landroid/os/IBinder;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/InputMethodManagerService;-switchToNextInputMethod-(Landroid/os/IBinder; Z)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/LocationManagerService;-addGnssMeasurementsListener-(Landroid/location/IGnssMeasurementsListener; Ljava/lang/String;)Z": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-addGnssNavigationMessageListener-(Landroid/location/IGnssNavigationMessageListener; Ljava/lang/String;)Z": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-getBestProvider-(Landroid/location/Criteria; Z)Ljava/lang/String;": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-getLastLocation-(Landroid/location/LocationRequest; Ljava/lang/String;)Landroid/location/Location;": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-getProviderProperties-(Ljava/lang/String;)Lcom/android/internal/location/ProviderProperties;": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-getProviders-(Landroid/location/Criteria; Z)Ljava/util/List;": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-registerGnssStatusCallback-(Landroid/location/IGnssStatusListener; Ljava/lang/String;)Z": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-removeUpdates-(Landroid/location/ILocationListener; Landroid/app/PendingIntent; Ljava/lang/String;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-reportLocation-(Landroid/location/Location; Z)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION", "android.permission.INSTALL_LOCATION_PROVIDER" ], "Lcom/android/server/LocationManagerService;-requestGeofence-(Landroid/location/LocationRequest; Landroid/location/Geofence; Landroid/app/PendingIntent; Ljava/lang/String;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-requestLocationUpdates-(Landroid/location/LocationRequest; Landroid/location/ILocationListener; Landroid/app/PendingIntent; Ljava/lang/String;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION", "android.permission.UPDATE_APP_OPS_STATS", "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/LocationManagerService;-sendExtraCommand-(Ljava/lang/String; Ljava/lang/String; Landroid/os/Bundle;)Z": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION", "android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" ], "Lcom/android/server/LockSettingsService;-checkPassword-(Ljava/lang/String; I)Lcom/android/internal/widget/VerifyCredentialResponse;": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" ], "Lcom/android/server/LockSettingsService;-checkPattern-(Ljava/lang/String; I)Lcom/android/internal/widget/VerifyCredentialResponse;": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" ], "Lcom/android/server/LockSettingsService;-checkVoldPassword-(I)Z": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" ], "Lcom/android/server/LockSettingsService;-getBoolean-(Ljava/lang/String; Z I)Z": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE", "android.permission.READ_CONTACTS" ], "Lcom/android/server/LockSettingsService;-getLong-(Ljava/lang/String; J I)J": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE", "android.permission.READ_CONTACTS" ], "Lcom/android/server/LockSettingsService;-getSeparateProfileChallengeEnabled-(I)Z": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE", "android.permission.READ_CONTACTS" ], "Lcom/android/server/LockSettingsService;-getString-(Ljava/lang/String; Ljava/lang/String; I)Ljava/lang/String;": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE", "android.permission.READ_CONTACTS" ], "Lcom/android/server/LockSettingsService;-getStrongAuthForUser-(I)I": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" ], "Lcom/android/server/LockSettingsService;-registerStrongAuthTracker-(Landroid/app/trust/IStrongAuthTracker;)V": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" ], "Lcom/android/server/LockSettingsService;-requireStrongAuth-(I I)V": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" ], "Lcom/android/server/LockSettingsService;-resetKeyStore-(I)V": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" ], "Lcom/android/server/LockSettingsService;-setBoolean-(Ljava/lang/String; Z I)V": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" ], "Lcom/android/server/LockSettingsService;-setLockPassword-(Ljava/lang/String; Ljava/lang/String; I)V": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" ], "Lcom/android/server/LockSettingsService;-setLockPattern-(Ljava/lang/String; Ljava/lang/String; I)V": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" ], "Lcom/android/server/LockSettingsService;-setLong-(Ljava/lang/String; J I)V": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" ], "Lcom/android/server/LockSettingsService;-setSeparateProfileChallengeEnabled-(I Z Ljava/lang/String;)V": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" ], "Lcom/android/server/LockSettingsService;-setString-(Ljava/lang/String; Ljava/lang/String; I)V": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" ], "Lcom/android/server/LockSettingsService;-systemReady-()V": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE", "android.permission.READ_CONTACTS" ], "Lcom/android/server/LockSettingsService;-unregisterStrongAuthTracker-(Landroid/app/trust/IStrongAuthTracker;)V": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" ], "Lcom/android/server/LockSettingsService;-userPresent-(I)V": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" ], "Lcom/android/server/LockSettingsService;-verifyPassword-(Ljava/lang/String; J I)Lcom/android/internal/widget/VerifyCredentialResponse;": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" ], "Lcom/android/server/LockSettingsService;-verifyPattern-(Ljava/lang/String; J I)Lcom/android/internal/widget/VerifyCredentialResponse;": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" ], "Lcom/android/server/LockSettingsService;-verifyTiedProfileChallenge-(Ljava/lang/String; Z J I)Lcom/android/internal/widget/VerifyCredentialResponse;": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" ], "Lcom/android/server/MmsServiceBroker$BinderService;-downloadMessage-(I Ljava/lang/String; Ljava/lang/String; Landroid/net/Uri; Landroid/os/Bundle; Landroid/app/PendingIntent;)V": [ "android.permission.RECEIVE_MMS" ], "Lcom/android/server/MmsServiceBroker$BinderService;-sendMessage-(I Ljava/lang/String; Landroid/net/Uri; Ljava/lang/String; Landroid/os/Bundle; Landroid/app/PendingIntent;)V": [ "android.permission.SEND_SMS" ], "Lcom/android/server/MountService;-addUserKeyAuth-(I I [B [B)V": [ "android.permission.STORAGE_INTERNAL" ], "Lcom/android/server/MountService;-benchmark-(Ljava/lang/String;)J": [ "android.permission.MOUNT_FORMAT_FILESYSTEMS" ], "Lcom/android/server/MountService;-changeEncryptionPassword-(I Ljava/lang/String;)I": [ "android.permission.CRYPT_KEEPER" ], "Lcom/android/server/MountService;-clearPassword-()V": [ "android.permission.STORAGE_INTERNAL" ], "Lcom/android/server/MountService;-createSecureContainer-(Ljava/lang/String; I Ljava/lang/String; Ljava/lang/String; I Z)I": [ "android.permission.ASEC_CREATE" ], "Lcom/android/server/MountService;-createUserKey-(I I Z)V": [ "android.permission.STORAGE_INTERNAL" ], "Lcom/android/server/MountService;-decryptStorage-(Ljava/lang/String;)I": [ "android.permission.CRYPT_KEEPER" ], "Lcom/android/server/MountService;-destroySecureContainer-(Ljava/lang/String; Z)I": [ "android.permission.ASEC_DESTROY" ], "Lcom/android/server/MountService;-destroyUserKey-(I)V": [ "android.permission.STORAGE_INTERNAL" ], "Lcom/android/server/MountService;-destroyUserStorage-(Ljava/lang/String; I I)V": [ "android.permission.STORAGE_INTERNAL" ], "Lcom/android/server/MountService;-encryptStorage-(I Ljava/lang/String;)I": [ "android.permission.CRYPT_KEEPER" ], "Lcom/android/server/MountService;-finalizeSecureContainer-(Ljava/lang/String;)I": [ "android.permission.ASEC_CREATE" ], "Lcom/android/server/MountService;-fixPermissionsSecureContainer-(Ljava/lang/String; I Ljava/lang/String;)I": [ "android.permission.ASEC_CREATE" ], "Lcom/android/server/MountService;-fixateNewestUserKeyAuth-(I)V": [ "android.permission.STORAGE_INTERNAL" ], "Lcom/android/server/MountService;-forgetAllVolumes-()V": [ "android.permission.MOUNT_UNMOUNT_FILESYSTEMS" ], "Lcom/android/server/MountService;-forgetVolume-(Ljava/lang/String;)V": [ "android.permission.MOUNT_UNMOUNT_FILESYSTEMS" ], "Lcom/android/server/MountService;-format-(Ljava/lang/String;)V": [ "android.permission.MOUNT_FORMAT_FILESYSTEMS" ], "Lcom/android/server/MountService;-formatVolume-(Ljava/lang/String;)I": [ "android.permission.MOUNT_FORMAT_FILESYSTEMS" ], "Lcom/android/server/MountService;-getEncryptionState-()I": [ "android.permission.CRYPT_KEEPER" ], "Lcom/android/server/MountService;-getField-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.STORAGE_INTERNAL" ], "Lcom/android/server/MountService;-getPassword-()Ljava/lang/String;": [ "android.permission.STORAGE_INTERNAL" ], "Lcom/android/server/MountService;-getPasswordType-()I": [ "android.permission.STORAGE_INTERNAL" ], "Lcom/android/server/MountService;-getPrimaryStorageUuid-()Ljava/lang/String;": [ "android.permission.MOUNT_UNMOUNT_FILESYSTEMS" ], "Lcom/android/server/MountService;-getSecureContainerFilesystemPath-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.ASEC_ACCESS" ], "Lcom/android/server/MountService;-getSecureContainerList-()[Ljava/lang/String;": [ "android.permission.ASEC_ACCESS" ], "Lcom/android/server/MountService;-getSecureContainerPath-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.ASEC_ACCESS" ], "Lcom/android/server/MountService;-getStorageUsers-(Ljava/lang/String;)[I": [ "android.permission.MOUNT_UNMOUNT_FILESYSTEMS" ], "Lcom/android/server/MountService;-isConvertibleToFBE-()Z": [ "android.permission.STORAGE_INTERNAL" ], "Lcom/android/server/MountService;-isSecureContainerMounted-(Ljava/lang/String;)Z": [ "android.permission.ASEC_ACCESS" ], "Lcom/android/server/MountService;-lockUserKey-(I)V": [ "android.permission.STORAGE_INTERNAL" ], "Lcom/android/server/MountService;-mount-(Ljava/lang/String;)V": [ "android.permission.MOUNT_UNMOUNT_FILESYSTEMS" ], "Lcom/android/server/MountService;-mountSecureContainer-(Ljava/lang/String; Ljava/lang/String; I Z)I": [ "android.permission.ASEC_MOUNT_UNMOUNT" ], "Lcom/android/server/MountService;-mountVolume-(Ljava/lang/String;)I": [ "android.permission.MOUNT_UNMOUNT_FILESYSTEMS" ], "Lcom/android/server/MountService;-partitionMixed-(Ljava/lang/String; I)V": [ "android.permission.MOUNT_FORMAT_FILESYSTEMS" ], "Lcom/android/server/MountService;-partitionPrivate-(Ljava/lang/String;)V": [ "android.permission.MOUNT_FORMAT_FILESYSTEMS" ], "Lcom/android/server/MountService;-partitionPublic-(Ljava/lang/String;)V": [ "android.permission.MOUNT_FORMAT_FILESYSTEMS" ], "Lcom/android/server/MountService;-prepareUserStorage-(Ljava/lang/String; I I I)V": [ "android.permission.STORAGE_INTERNAL" ], "Lcom/android/server/MountService;-renameSecureContainer-(Ljava/lang/String; Ljava/lang/String;)I": [ "android.permission.ASEC_RENAME" ], "Lcom/android/server/MountService;-resizeSecureContainer-(Ljava/lang/String; I Ljava/lang/String;)I": [ "android.permission.ASEC_CREATE" ], "Lcom/android/server/MountService;-runMaintenance-()V": [ "android.permission.MOUNT_UNMOUNT_FILESYSTEMS" ], "Lcom/android/server/MountService;-setDebugFlags-(I I)V": [ "android.permission.MOUNT_UNMOUNT_FILESYSTEMS" ], "Lcom/android/server/MountService;-setField-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.STORAGE_INTERNAL" ], "Lcom/android/server/MountService;-setPrimaryStorageUuid-(Ljava/lang/String; Landroid/content/pm/IPackageMoveObserver;)V": [ "android.permission.MOUNT_UNMOUNT_FILESYSTEMS" ], "Lcom/android/server/MountService;-setVolumeNickname-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.MOUNT_UNMOUNT_FILESYSTEMS" ], "Lcom/android/server/MountService;-setVolumeUserFlags-(Ljava/lang/String; I I)V": [ "android.permission.MOUNT_UNMOUNT_FILESYSTEMS" ], "Lcom/android/server/MountService;-shutdown-(Landroid/os/storage/IMountShutdownObserver;)V": [ "android.permission.SHUTDOWN" ], "Lcom/android/server/MountService;-unlockUserKey-(I I [B [B)V": [ "android.permission.STORAGE_INTERNAL" ], "Lcom/android/server/MountService;-unmount-(Ljava/lang/String;)V": [ "android.permission.MOUNT_UNMOUNT_FILESYSTEMS" ], "Lcom/android/server/MountService;-unmountSecureContainer-(Ljava/lang/String; Z)I": [ "android.permission.ASEC_MOUNT_UNMOUNT" ], "Lcom/android/server/MountService;-unmountVolume-(Ljava/lang/String; Z Z)V": [ "android.permission.MOUNT_UNMOUNT_FILESYSTEMS" ], "Lcom/android/server/MountService;-verifyEncryptionPassword-(Ljava/lang/String;)I": [ "android.permission.CRYPT_KEEPER" ], "Lcom/android/server/NetworkManagementService;-addIdleTimer-(Ljava/lang/String; I I)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-addInterfaceToLocalNetwork-(Ljava/lang/String; Ljava/util/List;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-addInterfaceToNetwork-(Ljava/lang/String; I)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-addLegacyRouteForNetId-(I Landroid/net/RouteInfo; I)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-addRoute-(I Landroid/net/RouteInfo;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-addVpnUidRanges-(I [Landroid/net/UidRange;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-allowProtect-(I)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-attachPppd-(Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-clearDefaultNetId-()V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-clearInterfaceAddresses-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-clearPermission-([I)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-createPhysicalNetwork-(I Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-createVirtualNetwork-(I Z Z)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-denyProtect-(I)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-detachPppd-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-disableIpv6-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-disableNat-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-enableIpv6-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-enableNat-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getDnsForwarders-()[Ljava/lang/String;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getInterfaceConfig-(Ljava/lang/String;)Landroid/net/InterfaceConfiguration;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getIpForwardingEnabled-()Z": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getNetworkStatsDetail-()Landroid/net/NetworkStats;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getNetworkStatsSummaryDev-()Landroid/net/NetworkStats;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getNetworkStatsSummaryXt-()Landroid/net/NetworkStats;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getNetworkStatsTethering-()Landroid/net/NetworkStats;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getNetworkStatsUidDetail-(I)Landroid/net/NetworkStats;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-isBandwidthControlEnabled-()Z": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-isClatdStarted-(Ljava/lang/String;)Z": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-isTetheringStarted-()Z": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-listInterfaces-()[Ljava/lang/String;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-listTetheredInterfaces-()[Ljava/lang/String;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-listTtys-()[Ljava/lang/String;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-registerObserver-(Landroid/net/INetworkManagementEventObserver;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-removeIdleTimer-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-removeInterfaceAlert-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-removeInterfaceFromLocalNetwork-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-removeInterfaceFromNetwork-(Ljava/lang/String; I)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-removeInterfaceQuota-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-removeNetwork-(I)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-removeRoute-(I Landroid/net/RouteInfo;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-removeVpnUidRanges-(I [Landroid/net/UidRange;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setAccessPoint-(Landroid/net/wifi/WifiConfiguration; Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setDefaultNetId-(I)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setDnsConfigurationForNetwork-(I [Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setDnsForwarders-(Landroid/net/Network; [Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setDnsServersForNetwork-(I [Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setGlobalAlert-(J)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setInterfaceAlert-(Ljava/lang/String; J)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setInterfaceConfig-(Ljava/lang/String; Landroid/net/InterfaceConfiguration;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setInterfaceDown-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setInterfaceIpv6NdOffload-(Ljava/lang/String; Z)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setInterfaceIpv6PrivacyExtensions-(Ljava/lang/String; Z)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setInterfaceQuota-(Ljava/lang/String; J)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setInterfaceUp-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setIpForwardingEnabled-(Z)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setMtu-(Ljava/lang/String; I)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setNetworkPermission-(I Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setPermission-(Ljava/lang/String; [I)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setUidCleartextNetworkPolicy-(I I)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setUidMeteredNetworkBlacklist-(I Z)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setUidMeteredNetworkWhitelist-(I Z)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-shutdown-()V": [ "android.permission.SHUTDOWN" ], "Lcom/android/server/NetworkManagementService;-startAccessPoint-(Landroid/net/wifi/WifiConfiguration; Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-startClatd-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-startInterfaceForwarding-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-startTethering-([Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-stopAccessPoint-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-stopClatd-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-stopInterfaceForwarding-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-stopTethering-()V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-tetherInterface-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-unregisterObserver-(Landroid/net/INetworkManagementEventObserver;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-untetherInterface-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-wifiFirmwareReload-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkScoreService;-clearScores-()Z": [ "android.permission.BROADCAST_NETWORK_PRIVILEGED", "android.permission.SCORE_NETWORKS" ], "Lcom/android/server/NetworkScoreService;-disableScoring-()V": [ "android.permission.SCORE_NETWORKS" ], "Lcom/android/server/NetworkScoreService;-registerNetworkScoreCache-(I Landroid/net/INetworkScoreCache;)V": [ "android.permission.BROADCAST_NETWORK_PRIVILEGED" ], "Lcom/android/server/NetworkScoreService;-setActiveScorer-(Ljava/lang/String;)Z": [ "android.permission.SCORE_NETWORKS" ], "Lcom/android/server/NetworkScoreService;-updateScores-([Landroid/net/ScoredNetwork;)Z": [ "android.permission.SCORE_NETWORKS" ], "Lcom/android/server/NsdService;-getMessenger-()Landroid/os/Messenger;": [ "android.permission.INTERNET" ], "Lcom/android/server/NsdService;-setEnabled-(Z)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/RecoverySystemService$BinderService;-clearBcb-()Z": [ "android.permission.RECOVERY" ], "Lcom/android/server/RecoverySystemService$BinderService;-setupBcb-(Ljava/lang/String;)Z": [ "android.permission.RECOVERY" ], "Lcom/android/server/RecoverySystemService$BinderService;-uncrypt-(Ljava/lang/String; Landroid/os/IRecoverySystemProgressListener;)Z": [ "android.permission.RECOVERY" ], "Lcom/android/server/SerialService;-getSerialPorts-()[Ljava/lang/String;": [ "android.permission.SERIAL_PORT" ], "Lcom/android/server/SerialService;-openSerialPort-(Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;": [ "android.permission.SERIAL_PORT" ], "Lcom/android/server/TelephonyRegistry;-addOnSubscriptionsChangedListener-(Ljava/lang/String; Lcom/android/internal/telephony/IOnSubscriptionsChangedListener;)V": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-listen-(Ljava/lang/String; Lcom/android/internal/telephony/IPhoneStateListener; I Z)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.READ_PHONE_STATE", "android.permission.READ_PRECISE_PHONE_STATE", "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-listenForSubscriber-(I Ljava/lang/String; Lcom/android/internal/telephony/IPhoneStateListener; I Z)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.READ_PHONE_STATE", "android.permission.READ_PRECISE_PHONE_STATE", "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyCallForwardingChanged-(Z)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyCallForwardingChangedForSubscriber-(I Z)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyCallState-(I Ljava/lang/String;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyCallStateForPhoneId-(I I I Ljava/lang/String;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyCarrierNetworkChange-(Z)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyCellInfo-(Ljava/util/List;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyCellInfoForSubscriber-(I Ljava/util/List;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyCellLocation-(Landroid/os/Bundle;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyCellLocationForSubscriber-(I Landroid/os/Bundle;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyDataActivity-(I)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyDataActivityForSubscriber-(I I)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyDataConnection-(I Z Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Landroid/net/LinkProperties; Landroid/net/NetworkCapabilities; I Z)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyDataConnectionFailed-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyDataConnectionFailedForSubscriber-(I Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyDataConnectionForSubscriber-(I I Z Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Landroid/net/LinkProperties; Landroid/net/NetworkCapabilities; I Z)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyDisconnectCause-(I I)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyMessageWaitingChangedForPhoneId-(I I Z)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyOemHookRawEventForSubscriber-(I [B)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyOtaspChanged-(I)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyPreciseCallState-(I I I)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyPreciseDataConnectionFailed-(Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyServiceStateForPhoneId-(I I Landroid/telephony/ServiceState;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifySignalStrengthForPhoneId-(I I Landroid/telephony/SignalStrength;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyVoLteServiceStateChanged-(Landroid/telephony/VoLteServiceState;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TextServicesManagerService;-setCurrentSpellChecker-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/TextServicesManagerService;-setCurrentSpellCheckerSubtype-(Ljava/lang/String; I)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/TextServicesManagerService;-setSpellCheckerEnabled-(Z)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/UpdateLockService;-acquireUpdateLock-(Landroid/os/IBinder; Ljava/lang/String;)V": [ "android.permission.UPDATE_LOCK" ], "Lcom/android/server/UpdateLockService;-releaseUpdateLock-(Landroid/os/IBinder;)V": [ "android.permission.UPDATE_LOCK" ], "Lcom/android/server/VibratorService;-cancelVibrate-(Landroid/os/IBinder;)V": [ "android.permission.VIBRATE" ], "Lcom/android/server/VibratorService;-vibrate-(I Ljava/lang/String; J I Landroid/os/IBinder;)V": [ "android.permission.UPDATE_APP_OPS_STATS", "android.permission.VIBRATE" ], "Lcom/android/server/VibratorService;-vibratePattern-(I Ljava/lang/String; [J I I Landroid/os/IBinder;)V": [ "android.permission.UPDATE_APP_OPS_STATS", "android.permission.VIBRATE" ], "Lcom/android/server/accessibility/AccessibilityManagerService$Service;-disableSelf-()V": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService$Service;-findAccessibilityNodeInfoByAccessibilityId-(I J I Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback; I J)Z": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService$Service;-findAccessibilityNodeInfosByText-(I J Ljava/lang/String; I Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback; J)Z": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService$Service;-findAccessibilityNodeInfosByViewId-(I J Ljava/lang/String; I Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback; J)Z": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService$Service;-findFocus-(I J I I Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback; J)Z": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService$Service;-focusSearch-(I J I I Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback; J)Z": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService$Service;-getMagnificationCenterX-()F": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService$Service;-getMagnificationCenterY-()F": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService$Service;-getMagnificationRegion-()Landroid/graphics/Region;": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService$Service;-getMagnificationScale-()F": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService$Service;-getWindow-(I)Landroid/view/accessibility/AccessibilityWindowInfo;": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService$Service;-getWindows-()Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService$Service;-performAccessibilityAction-(I J I Landroid/os/Bundle; I Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback; J)Z": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService$Service;-performGlobalAction-(I)Z": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService$Service;-resetMagnification-(Z)Z": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService$Service;-setMagnificationScaleAndCenter-(F F F Z)Z": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService$Service;-setSoftKeyboardShowMode-(I)Z": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService;-addAccessibilityInteractionConnection-(Landroid/view/IWindow; Landroid/view/accessibility/IAccessibilityInteractionConnection; I)I": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService;-addClient-(Landroid/view/accessibility/IAccessibilityManagerClient; I)I": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService;-disableAccessibilityService-(Landroid/content/ComponentName; I)V": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService;-enableAccessibilityService-(Landroid/content/ComponentName; I)V": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService;-getEnabledAccessibilityServiceList-(I I)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService;-getInstalledAccessibilityServiceList-(I)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService;-getWindowToken-(I I)Landroid/os/IBinder;": [ "getWindowToken" ], "Lcom/android/server/accessibility/AccessibilityManagerService;-interrupt-(I)V": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService;-removeAccessibilityInteractionConnection-(Landroid/view/IWindow;)V": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService;-sendAccessibilityEvent-(Landroid/view/accessibility/AccessibilityEvent; I)Z": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService;-temporaryEnableAccessibilityStateUntilKeyguardRemoved-(Landroid/content/ComponentName; Z)V": [ "temporaryEnableAccessibilityStateUntilKeyguardRemoved" ], "Lcom/android/server/accounts/AccountManagerService;-addAccountAsUser-(Landroid/accounts/IAccountManagerResponse; Ljava/lang/String; Ljava/lang/String; [Ljava/lang/String; Z Landroid/os/Bundle; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/accounts/AccountManagerService;-addSharedAccountsFromParentUser-(I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/accounts/AccountManagerService;-confirmCredentialsAsUser-(Landroid/accounts/IAccountManagerResponse; Landroid/accounts/Account; Landroid/os/Bundle; Z I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/accounts/AccountManagerService;-copyAccountToUser-(Landroid/accounts/IAccountManagerResponse; Landroid/accounts/Account; I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/accounts/AccountManagerService;-finishSessionAsUser-(Landroid/accounts/IAccountManagerResponse; Landroid/os/Bundle; Z Landroid/os/Bundle; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/accounts/AccountManagerService;-getAccounts-(Ljava/lang/String; Ljava/lang/String;)[Landroid/accounts/Account;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/accounts/AccountManagerService;-getAccountsAsUser-(Ljava/lang/String; I Ljava/lang/String;)[Landroid/accounts/Account;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/accounts/AccountManagerService;-getAccountsByTypeForPackage-(Ljava/lang/String; Ljava/lang/String; Ljava/lang/String;)[Landroid/accounts/Account;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/accounts/AccountManagerService;-getAccountsForPackage-(Ljava/lang/String; I Ljava/lang/String;)[Landroid/accounts/Account;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/accounts/AccountManagerService;-getAuthenticatorTypes-(I)[Landroid/accounts/AuthenticatorDescription;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/accounts/AccountManagerService;-removeAccount-(Landroid/accounts/IAccountManagerResponse; Landroid/accounts/Account; Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/accounts/AccountManagerService;-removeAccountAsUser-(Landroid/accounts/IAccountManagerResponse; Landroid/accounts/Account; Z I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/am/ActivityManagerService$ProcessInfoService;-getProcessStatesAndOomScoresFromPids-([I [I [I)V": [ "android.permission.GET_PROCESS_STATE_AND_OOM_SCORE" ], "Lcom/android/server/am/ActivityManagerService$ProcessInfoService;-getProcessStatesFromPids-([I [I)V": [ "android.permission.GET_PROCESS_STATE_AND_OOM_SCORE" ], "Lcom/android/server/am/ActivityManagerService;-appNotRespondingViaProvider-(Landroid/os/IBinder;)V": [ "android.permission.REMOVE_TASKS" ], "Lcom/android/server/am/ActivityManagerService;-bindBackupAgent-(Ljava/lang/String; I I)Z": [ "android.permission.CONFIRM_FULL_BACKUP", "android.permission.START_ANY_ACTIVITY", "android.permission.START_TASKS_FROM_RECENTS" ], "Lcom/android/server/am/ActivityManagerService;-bindService-(Landroid/app/IApplicationThread; Landroid/os/IBinder; Landroid/content/Intent; Ljava/lang/String; Landroid/app/IServiceConnection; I Ljava/lang/String; I)I": [ "android.permission.BROADCAST_STICKY", "android.permission.SET_DEBUG_APP", "android.permission.START_ANY_ACTIVITY", "android.permission.START_TASKS_FROM_RECENTS" ], "Lcom/android/server/am/ActivityManagerService;-bootAnimationComplete-()V": [ "android.permission.BROADCAST_STICKY" ], "Lcom/android/server/am/ActivityManagerService;-clearGrantedUriPermissions-(Ljava/lang/String; I)V": [ "android.permission.CLEAR_APP_GRANTED_URI_PERMISSIONS" ], "Lcom/android/server/am/ActivityManagerService;-clearPendingBackup-()V": [ "android.permission.BACKUP" ], "Lcom/android/server/am/ActivityManagerService;-crashApplication-(I I Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.FORCE_STOP_PACKAGES" ], "Lcom/android/server/am/ActivityManagerService;-createStackOnDisplay-(I)Landroid/app/IActivityContainer;": [ "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-createVirtualActivityContainer-(Landroid/os/IBinder; Landroid/app/IActivityContainerCallback;)Landroid/app/IActivityContainer;": [ "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-deleteActivityContainer-(Landroid/app/IActivityContainer;)V": [ "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-dumpHeap-(Ljava/lang/String; I Z Ljava/lang/String; Landroid/os/ParcelFileDescriptor;)Z": [ "android.permission.SET_ACTIVITY_WATCHER" ], "Lcom/android/server/am/ActivityManagerService;-finishHeavyWeightApp-()V": [ "android.permission.FORCE_STOP_PACKAGES" ], "Lcom/android/server/am/ActivityManagerService;-forceStopPackage-(Ljava/lang/String; I)V": [ "android.permission.FORCE_STOP_PACKAGES" ], "Lcom/android/server/am/ActivityManagerService;-getAllStackInfos-()Ljava/util/List;": [ "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-getAssistContextExtras-(I)Landroid/os/Bundle;": [ "android.permission.GET_TOP_ACTIVITY_INFO" ], "Lcom/android/server/am/ActivityManagerService;-getContentProviderExternal-(Ljava/lang/String; I Landroid/os/IBinder;)Landroid/app/IActivityManager$ContentProviderHolder;": [ "android.permission.ACCESS_CONTENT_PROVIDERS_EXTERNALLY" ], "Lcom/android/server/am/ActivityManagerService;-getCurrentUser-()Landroid/content/pm/UserInfo;": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/am/ActivityManagerService;-getGrantedUriPermissions-(Ljava/lang/String; I)Landroid/content/pm/ParceledListSlice;": [ "android.permission.GET_APP_GRANTED_URI_PERMISSIONS" ], "Lcom/android/server/am/ActivityManagerService;-getIntentForIntentSender-(Landroid/content/IIntentSender;)Landroid/content/Intent;": [ "android.permission.GET_INTENT_SENDER_INTENT" ], "Lcom/android/server/am/ActivityManagerService;-getPackageProcessState-(Ljava/lang/String; Ljava/lang/String;)I": [ "android.permission.PACKAGE_USAGE_STATS" ], "Lcom/android/server/am/ActivityManagerService;-getRecentTasks-(I I I)Landroid/content/pm/ParceledListSlice;": [ "android.permission.GET_DETAILED_TASKS", "android.permission.GET_TASKS", "android.permission.REAL_GET_TASKS" ], "Lcom/android/server/am/ActivityManagerService;-getRunningAppProcesses-()Ljava/util/List;": [ "android.permission.GET_TASKS", "android.permission.REAL_GET_TASKS" ], "Lcom/android/server/am/ActivityManagerService;-getRunningExternalApplications-()Ljava/util/List;": [ "android.permission.GET_TASKS", "android.permission.REAL_GET_TASKS" ], "Lcom/android/server/am/ActivityManagerService;-getRunningUserIds-()[I": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/am/ActivityManagerService;-getStackInfo-(I)Landroid/app/ActivityManager$StackInfo;": [ "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-getTaskBounds-(I)Landroid/graphics/Rect;": [ "android.permission.BROADCAST_STICKY", "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-getTaskDescriptionIcon-(Ljava/lang/String; I)Landroid/graphics/Bitmap;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/am/ActivityManagerService;-getTaskThumbnail-(I)Landroid/app/ActivityManager$TaskThumbnail;": [ "android.permission.BROADCAST_STICKY", "android.permission.READ_FRAME_BUFFER" ], "Lcom/android/server/am/ActivityManagerService;-getTasks-(I I)Ljava/util/List;": [ "android.permission.GET_TASKS", "android.permission.REAL_GET_TASKS" ], "Lcom/android/server/am/ActivityManagerService;-hang-(Landroid/os/IBinder; Z)V": [ "android.permission.SET_ACTIVITY_WATCHER" ], "Lcom/android/server/am/ActivityManagerService;-inputDispatchingTimedOut-(I Z Ljava/lang/String;)J": [ "android.permission.FILTER_EVENTS" ], "Lcom/android/server/am/ActivityManagerService;-isInHomeStack-(I)Z": [ "android.permission.BROADCAST_STICKY", "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-isUserRunning-(I I)Z": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/am/ActivityManagerService;-killAllBackgroundProcesses-()V": [ "android.permission.KILL_BACKGROUND_PROCESSES" ], "Lcom/android/server/am/ActivityManagerService;-killBackgroundProcesses-(Ljava/lang/String; I)V": [ "android.permission.KILL_BACKGROUND_PROCESSES" ], "Lcom/android/server/am/ActivityManagerService;-killPackageDependents-(Ljava/lang/String; I)V": [ "android.permission.KILL_UID" ], "Lcom/android/server/am/ActivityManagerService;-killUid-(I I Ljava/lang/String;)V": [ "android.permission.KILL_UID" ], "Lcom/android/server/am/ActivityManagerService;-launchAssistIntent-(Landroid/content/Intent; I Ljava/lang/String; I Landroid/os/Bundle;)Z": [ "android.permission.GET_TOP_ACTIVITY_INFO" ], "Lcom/android/server/am/ActivityManagerService;-moveTaskBackwards-(I)V": [ "android.permission.REORDER_TASKS" ], "Lcom/android/server/am/ActivityManagerService;-moveTaskToDockedStack-(I I Z Z Landroid/graphics/Rect; Z)Z": [ "android.permission.BROADCAST_STICKY", "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-moveTaskToFront-(I I Landroid/os/Bundle;)V": [ "android.permission.BROADCAST_STICKY", "android.permission.REORDER_TASKS" ], "Lcom/android/server/am/ActivityManagerService;-moveTaskToStack-(I I Z)V": [ "android.permission.BROADCAST_STICKY", "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-moveTasksToFullscreenStack-(I Z)V": [ "android.permission.BROADCAST_STICKY", "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-moveTopActivityToPinnedStack-(I Landroid/graphics/Rect;)Z": [ "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-navigateUpTo-(Landroid/os/IBinder; Landroid/content/Intent; I Landroid/content/Intent;)Z": [ "android.permission.SET_DEBUG_APP", "android.permission.START_ANY_ACTIVITY", "android.permission.START_TASKS_FROM_RECENTS" ], "Lcom/android/server/am/ActivityManagerService;-performIdleMaintenance-()V": [ "android.permission.SET_ACTIVITY_WATCHER" ], "Lcom/android/server/am/ActivityManagerService;-positionTaskInStack-(I I I)V": [ "android.permission.BROADCAST_STICKY", "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-profileControl-(Ljava/lang/String; I Z Landroid/app/ProfilerInfo; I)Z": [ "android.permission.SET_ACTIVITY_WATCHER" ], "Lcom/android/server/am/ActivityManagerService;-registerProcessObserver-(Landroid/app/IProcessObserver;)V": [ "android.permission.SET_ACTIVITY_WATCHER" ], "Lcom/android/server/am/ActivityManagerService;-registerTaskStackListener-(Landroid/app/ITaskStackListener;)V": [ "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-registerUidObserver-(Landroid/app/IUidObserver; I)V": [ "android.permission.SET_ACTIVITY_WATCHER" ], "Lcom/android/server/am/ActivityManagerService;-registerUserSwitchObserver-(Landroid/app/IUserSwitchObserver;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/am/ActivityManagerService;-removeContentProviderExternal-(Ljava/lang/String; Landroid/os/IBinder;)V": [ "android.permission.ACCESS_CONTENT_PROVIDERS_EXTERNALLY" ], "Lcom/android/server/am/ActivityManagerService;-removeStack-(I)V": [ "android.permission.BROADCAST_STICKY", "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-removeTask-(I)Z": [ "android.permission.BROADCAST_STICKY", "android.permission.REMOVE_TASKS" ], "Lcom/android/server/am/ActivityManagerService;-requestAssistContextExtras-(I Lcom/android/internal/os/IResultReceiver; Landroid/os/Bundle; Landroid/os/IBinder; Z Z)Z": [ "android.permission.GET_TOP_ACTIVITY_INFO" ], "Lcom/android/server/am/ActivityManagerService;-requestBugReport-(I)V": [ "android.permission.DUMP" ], "Lcom/android/server/am/ActivityManagerService;-resizeDockedStack-(Landroid/graphics/Rect; Landroid/graphics/Rect; Landroid/graphics/Rect; Landroid/graphics/Rect; Landroid/graphics/Rect;)V": [ "android.permission.BROADCAST_STICKY", "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-resizePinnedStack-(Landroid/graphics/Rect; Landroid/graphics/Rect;)V": [ "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-resizeStack-(I Landroid/graphics/Rect; Z Z Z I)V": [ "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-resizeTask-(I Landroid/graphics/Rect; I)V": [ "android.permission.BROADCAST_STICKY", "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-restart-()V": [ "android.permission.SET_ACTIVITY_WATCHER" ], "Lcom/android/server/am/ActivityManagerService;-resumeAppSwitches-()V": [ "android.permission.STOP_APP_SWITCHES" ], "Lcom/android/server/am/ActivityManagerService;-sendIdleJobTrigger-()V": [ "android.permission.BROADCAST_STICKY", "android.permission.SET_ACTIVITY_WATCHER" ], "Lcom/android/server/am/ActivityManagerService;-setActivityController-(Landroid/app/IActivityController; Z)V": [ "android.permission.SET_ACTIVITY_WATCHER" ], "Lcom/android/server/am/ActivityManagerService;-setAlwaysFinish-(Z)V": [ "android.permission.SET_ALWAYS_FINISH" ], "Lcom/android/server/am/ActivityManagerService;-setDebugApp-(Ljava/lang/String; Z Z)V": [ "android.permission.SET_DEBUG_APP" ], "Lcom/android/server/am/ActivityManagerService;-setDumpHeapDebugLimit-(Ljava/lang/String; I J Ljava/lang/String;)V": [ "android.permission.SET_DEBUG_APP" ], "Lcom/android/server/am/ActivityManagerService;-setFocusedStack-(I)V": [ "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-setFocusedTask-(I)V": [ "android.permission.BROADCAST_STICKY", "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-setFrontActivityScreenCompatMode-(I)V": [ "android.permission.SET_SCREEN_COMPATIBILITY" ], "Lcom/android/server/am/ActivityManagerService;-setLenientBackgroundCheck-(Z)V": [ "android.permission.SET_PROCESS_LIMIT" ], "Lcom/android/server/am/ActivityManagerService;-setLockScreenShown-(Z Z)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/am/ActivityManagerService;-setPackageAskScreenCompat-(Ljava/lang/String; Z)V": [ "android.permission.SET_SCREEN_COMPATIBILITY" ], "Lcom/android/server/am/ActivityManagerService;-setPackageScreenCompatMode-(Ljava/lang/String; I)V": [ "android.permission.SET_SCREEN_COMPATIBILITY" ], "Lcom/android/server/am/ActivityManagerService;-setProcessForeground-(Landroid/os/IBinder; I Z)V": [ "android.permission.SET_PROCESS_LIMIT" ], "Lcom/android/server/am/ActivityManagerService;-setProcessLimit-(I)V": [ "android.permission.SET_PROCESS_LIMIT" ], "Lcom/android/server/am/ActivityManagerService;-setTaskDescription-(Landroid/os/IBinder; Landroid/app/ActivityManager$TaskDescription;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/am/ActivityManagerService;-shutdown-(I)Z": [ "android.permission.SHUTDOWN" ], "Lcom/android/server/am/ActivityManagerService;-signalPersistentProcesses-(I)V": [ "android.permission.SIGNAL_PERSISTENT_PROCESSES" ], "Lcom/android/server/am/ActivityManagerService;-startActivities-(Landroid/app/IApplicationThread; Ljava/lang/String; [Landroid/content/Intent; [Ljava/lang/String; Landroid/os/IBinder; Landroid/os/Bundle; I)I": [ "android.permission.SET_DEBUG_APP" ], "Lcom/android/server/am/ActivityManagerService;-startActivity-(Landroid/app/IApplicationThread; Ljava/lang/String; Landroid/content/Intent; Ljava/lang/String; Landroid/os/IBinder; Ljava/lang/String; I I Landroid/app/ProfilerInfo; Landroid/os/Bundle;)I": [ "android.permission.SET_DEBUG_APP" ], "Lcom/android/server/am/ActivityManagerService;-startActivityAndWait-(Landroid/app/IApplicationThread; Ljava/lang/String; Landroid/content/Intent; Ljava/lang/String; Landroid/os/IBinder; Ljava/lang/String; I I Landroid/app/ProfilerInfo; Landroid/os/Bundle; I)Landroid/app/IActivityManager$WaitResult;": [ "android.permission.SET_DEBUG_APP" ], "Lcom/android/server/am/ActivityManagerService;-startActivityAsCaller-(Landroid/app/IApplicationThread; Ljava/lang/String; Landroid/content/Intent; Ljava/lang/String; Landroid/os/IBinder; Ljava/lang/String; I I Landroid/app/ProfilerInfo; Landroid/os/Bundle; Z I)I": [ "android.permission.SET_DEBUG_APP" ], "Lcom/android/server/am/ActivityManagerService;-startActivityAsUser-(Landroid/app/IApplicationThread; Ljava/lang/String; Landroid/content/Intent; Ljava/lang/String; Landroid/os/IBinder; Ljava/lang/String; I I Landroid/app/ProfilerInfo; Landroid/os/Bundle; I)I": [ "android.permission.SET_DEBUG_APP" ], "Lcom/android/server/am/ActivityManagerService;-startActivityFromRecents-(I Landroid/os/Bundle;)I": [ "android.permission.BROADCAST_STICKY", "android.permission.START_TASKS_FROM_RECENTS" ], "Lcom/android/server/am/ActivityManagerService;-startActivityWithConfig-(Landroid/app/IApplicationThread; Ljava/lang/String; Landroid/content/Intent; Ljava/lang/String; Landroid/os/IBinder; Ljava/lang/String; I I Landroid/content/res/Configuration; Landroid/os/Bundle; I)I": [ "android.permission.SET_DEBUG_APP" ], "Lcom/android/server/am/ActivityManagerService;-startBinderTracking-()Z": [ "android.permission.SET_ACTIVITY_WATCHER" ], "Lcom/android/server/am/ActivityManagerService;-startConfirmDeviceCredentialIntent-(Landroid/content/Intent;)V": [ "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-startSystemLockTaskMode-(I)V": [ "android.permission.BROADCAST_STICKY", "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-startUserInBackground-(I)Z": [ "android.permission.BROADCAST_STICKY", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/am/ActivityManagerService;-startVoiceActivity-(Ljava/lang/String; I I Landroid/content/Intent; Ljava/lang/String; Landroid/service/voice/IVoiceInteractionSession; Lcom/android/internal/app/IVoiceInteractor; I Landroid/app/ProfilerInfo; Landroid/os/Bundle; I)I": [ "android.permission.BIND_VOICE_INTERACTION" ], "Lcom/android/server/am/ActivityManagerService;-stopAppSwitches-()V": [ "android.permission.BROADCAST_STICKY", "android.permission.STOP_APP_SWITCHES" ], "Lcom/android/server/am/ActivityManagerService;-stopBinderTrackingAndDump-(Landroid/os/ParcelFileDescriptor;)Z": [ "android.permission.SET_ACTIVITY_WATCHER" ], "Lcom/android/server/am/ActivityManagerService;-stopLockTaskMode-()V": [ "android.permission.BROADCAST_STICKY", "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-stopService-(Landroid/app/IApplicationThread; Landroid/content/Intent; Ljava/lang/String; I)I": [ "android.permission.BROADCAST_STICKY", "android.permission.SET_DEBUG_APP", "android.permission.START_ANY_ACTIVITY", "android.permission.START_TASKS_FROM_RECENTS" ], "Lcom/android/server/am/ActivityManagerService;-stopServiceToken-(Landroid/content/ComponentName; Landroid/os/IBinder; I)Z": [ "android.permission.BROADCAST_STICKY", "android.permission.SET_DEBUG_APP", "android.permission.START_ANY_ACTIVITY", "android.permission.START_TASKS_FROM_RECENTS" ], "Lcom/android/server/am/ActivityManagerService;-stopSystemLockTaskMode-()V": [ "android.permission.BROADCAST_STICKY", "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-stopUser-(I Z Landroid/app/IStopUserCallback;)I": [ "android.permission.BROADCAST_STICKY", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/am/ActivityManagerService;-suppressResizeConfigChanges-(Z)V": [ "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-swapDockedAndFullscreenStack-()V": [ "android.permission.BROADCAST_STICKY", "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-unbindService-(Landroid/app/IServiceConnection;)Z": [ "android.permission.BROADCAST_STICKY", "android.permission.SET_DEBUG_APP", "android.permission.START_ANY_ACTIVITY", "android.permission.START_TASKS_FROM_RECENTS" ], "Lcom/android/server/am/ActivityManagerService;-unbroadcastIntent-(Landroid/app/IApplicationThread; Landroid/content/Intent; I)V": [ "android.permission.BROADCAST_STICKY" ], "Lcom/android/server/am/ActivityManagerService;-unhandledBack-()V": [ "android.permission.FORCE_BACK" ], "Lcom/android/server/am/ActivityManagerService;-unlockUser-(I [B [B Landroid/os/IProgressListener;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/am/ActivityManagerService;-updateConfiguration-(Landroid/content/res/Configuration;)V": [ "android.permission.CHANGE_CONFIGURATION" ], "Lcom/android/server/am/ActivityManagerService;-updatePersistentConfiguration-(Landroid/content/res/Configuration;)V": [ "android.permission.CHANGE_CONFIGURATION" ], "Lcom/android/server/am/BatteryStatsService;-getAwakeTimeBattery-()J": [ "android.permission.BATTERY_STATS" ], "Lcom/android/server/am/BatteryStatsService;-getAwakeTimePlugged-()J": [ "android.permission.BATTERY_STATS" ], "Lcom/android/server/am/BatteryStatsService;-getStatistics-()[B": [ "android.permission.BATTERY_STATS" ], "Lcom/android/server/am/BatteryStatsService;-getStatisticsStream-()Landroid/os/ParcelFileDescriptor;": [ "android.permission.BATTERY_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteBleScanStarted-(Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteBleScanStopped-(Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteBluetoothControllerActivity-(Landroid/bluetooth/BluetoothActivityEnergyInfo;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteChangeWakelockFromSource-(Landroid/os/WorkSource; I Ljava/lang/String; Ljava/lang/String; I Landroid/os/WorkSource; I Ljava/lang/String; Ljava/lang/String; I Z)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteConnectivityChanged-(I Ljava/lang/String;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteDeviceIdleMode-(I Ljava/lang/String; I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteEvent-(I Ljava/lang/String; I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteFlashlightOff-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteFlashlightOn-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteFullWifiLockAcquired-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteFullWifiLockAcquiredFromSource-(Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteFullWifiLockReleased-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteFullWifiLockReleasedFromSource-(Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteInteractive-(Z)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteJobFinish-(Ljava/lang/String; I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteJobStart-(Ljava/lang/String; I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteMobileRadioPowerState-(I J I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteModemControllerActivity-(Landroid/telephony/ModemActivityInfo;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteNetworkInterfaceType-(Ljava/lang/String; I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteNetworkStatsEnabled-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-notePhoneDataConnectionState-(I Z)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-notePhoneOff-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-notePhoneOn-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-notePhoneSignalStrength-(Landroid/telephony/SignalStrength;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-notePhoneState-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteResetAudio-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteResetBleScan-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteResetCamera-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteResetFlashlight-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteResetVideo-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteScreenBrightness-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteScreenState-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStartAudio-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStartCamera-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStartGps-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStartSensor-(I I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStartVideo-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStartWakelock-(I I Ljava/lang/String; Ljava/lang/String; I Z)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStartWakelockFromSource-(Landroid/os/WorkSource; I Ljava/lang/String; Ljava/lang/String; I Z)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStopAudio-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStopCamera-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStopGps-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStopSensor-(I I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStopVideo-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStopWakelock-(I I Ljava/lang/String; Ljava/lang/String; I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStopWakelockFromSource-(Landroid/os/WorkSource; I Ljava/lang/String; Ljava/lang/String; I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteSyncFinish-(Ljava/lang/String; I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteSyncStart-(Ljava/lang/String; I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteUserActivity-(I I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteVibratorOff-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteVibratorOn-(I J)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWakeUp-(Ljava/lang/String; I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiBatchedScanStartedFromSource-(Landroid/os/WorkSource; I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiBatchedScanStoppedFromSource-(Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiControllerActivity-(Landroid/net/wifi/WifiActivityEnergyInfo;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiMulticastDisabled-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiMulticastDisabledFromSource-(Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiMulticastEnabled-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiMulticastEnabledFromSource-(Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiOff-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiOn-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiRadioPowerState-(I J)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiRssiChanged-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiRunning-(Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiRunningChanged-(Landroid/os/WorkSource; Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiScanStarted-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiScanStartedFromSource-(Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiScanStopped-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiScanStoppedFromSource-(Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiState-(I Ljava/lang/String;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiStopped-(Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiSupplicantStateChanged-(I Z)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-setBatteryState-(I I I I I I I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-takeUidSnapshot-(I)Landroid/os/health/HealthStatsParceler;": [ "android.permission.BATTERY_STATS" ], "Lcom/android/server/am/BatteryStatsService;-takeUidSnapshots-([I)[Landroid/os/health/HealthStatsParceler;": [ "android.permission.BATTERY_STATS" ], "Lcom/android/server/am/ProcessStatsService;-getCurrentStats-(Ljava/util/List;)[B": [ "android.permission.PACKAGE_USAGE_STATS" ], "Lcom/android/server/am/ProcessStatsService;-getStatsOverTime-(J)Landroid/os/ParcelFileDescriptor;": [ "android.permission.PACKAGE_USAGE_STATS" ], "Lcom/android/server/appwidget/AppWidgetServiceImpl;-bindAppWidgetId-(Ljava/lang/String; I I Landroid/content/ComponentName; Landroid/os/Bundle;)Z": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/appwidget/AppWidgetServiceImpl;-bindRemoteViewsService-(Ljava/lang/String; I Landroid/content/Intent; Landroid/os/IBinder;)V": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/appwidget/AppWidgetServiceImpl;-createAppWidgetConfigIntentSender-(Ljava/lang/String; I I)Landroid/content/IntentSender;": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/appwidget/AppWidgetServiceImpl;-deleteAppWidgetId-(Ljava/lang/String; I)V": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/appwidget/AppWidgetServiceImpl;-getAppWidgetInfo-(Ljava/lang/String; I)Landroid/appwidget/AppWidgetProviderInfo;": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/appwidget/AppWidgetServiceImpl;-getAppWidgetOptions-(Ljava/lang/String; I)Landroid/os/Bundle;": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/appwidget/AppWidgetServiceImpl;-getAppWidgetViews-(Ljava/lang/String; I)Landroid/widget/RemoteViews;": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/appwidget/AppWidgetServiceImpl;-hasBindAppWidgetPermission-(Ljava/lang/String; I)Z": [ "android.permission.MODIFY_APPWIDGET_BIND_PERMISSIONS" ], "Lcom/android/server/appwidget/AppWidgetServiceImpl;-notifyAppWidgetViewDataChanged-(Ljava/lang/String; [I I)V": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/appwidget/AppWidgetServiceImpl;-partiallyUpdateAppWidgetIds-(Ljava/lang/String; [I Landroid/widget/RemoteViews;)V": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/appwidget/AppWidgetServiceImpl;-setBindAppWidgetPermission-(Ljava/lang/String; I Z)V": [ "android.permission.MODIFY_APPWIDGET_BIND_PERMISSIONS" ], "Lcom/android/server/appwidget/AppWidgetServiceImpl;-unbindRemoteViewsService-(Ljava/lang/String; I Landroid/content/Intent;)V": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/appwidget/AppWidgetServiceImpl;-updateAppWidgetIds-(Ljava/lang/String; [I Landroid/widget/RemoteViews;)V": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/appwidget/AppWidgetServiceImpl;-updateAppWidgetOptions-(Ljava/lang/String; I Landroid/os/Bundle;)V": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/audio/AudioService;-disableSafeMediaVolume-(Ljava/lang/String;)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/audio/AudioService;-forceRemoteSubmixFullVolume-(Z Landroid/os/IBinder;)V": [ "android.permission.CAPTURE_AUDIO_OUTPUT" ], "Lcom/android/server/audio/AudioService;-notifyVolumeControllerVisible-(Landroid/media/IVolumeController; Z)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/audio/AudioService;-registerAudioPolicy-(Landroid/media/audiopolicy/AudioPolicyConfig; Landroid/media/audiopolicy/IAudioPolicyCallback; Z)Ljava/lang/String;": [ "android.permission.MODIFY_AUDIO_ROUTING" ], "Lcom/android/server/audio/AudioService;-requestAudioFocus-(Landroid/media/AudioAttributes; I Landroid/os/IBinder; Landroid/media/IAudioFocusDispatcher; Ljava/lang/String; Ljava/lang/String; I Landroid/media/audiopolicy/IAudioPolicyCallback;)I": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/audio/AudioService;-setBluetoothScoOn-(Z)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Lcom/android/server/audio/AudioService;-setFocusPropertiesForPolicy-(I Landroid/media/audiopolicy/IAudioPolicyCallback;)I": [ "android.permission.MODIFY_AUDIO_ROUTING" ], "Lcom/android/server/audio/AudioService;-setMasterMute-(Z I Ljava/lang/String; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/audio/AudioService;-setMicrophoneMute-(Z Ljava/lang/String; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MODIFY_AUDIO_SETTINGS" ], "Lcom/android/server/audio/AudioService;-setMode-(I Landroid/os/IBinder; Ljava/lang/String;)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Lcom/android/server/audio/AudioService;-setRingerModeInternal-(I Ljava/lang/String;)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/audio/AudioService;-setRingtonePlayer-(Landroid/media/IRingtonePlayer;)V": [ "android.permission.REMOTE_AUDIO_PLAYBACK" ], "Lcom/android/server/audio/AudioService;-setSpeakerphoneOn-(Z)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Lcom/android/server/audio/AudioService;-setVolumeController-(Landroid/media/IVolumeController;)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/audio/AudioService;-setVolumePolicy-(Landroid/media/VolumePolicy;)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/audio/AudioService;-startBluetoothSco-(Landroid/os/IBinder; I)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Lcom/android/server/audio/AudioService;-startBluetoothScoVirtualCall-(Landroid/os/IBinder;)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Lcom/android/server/audio/AudioService;-stopBluetoothSco-(Landroid/os/IBinder;)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Lcom/android/server/backup/BackupManagerService$ActiveRestoreSession;-getAvailableRestoreSets-(Landroid/app/backup/IRestoreObserver;)I": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/BackupManagerService$ActiveRestoreSession;-restoreAll-(J Landroid/app/backup/IRestoreObserver;)I": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/BackupManagerService$ActiveRestoreSession;-restorePackage-(Ljava/lang/String; Landroid/app/backup/IRestoreObserver;)I": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/BackupManagerService$ActiveRestoreSession;-restoreSome-(J Landroid/app/backup/IRestoreObserver; [Ljava/lang/String;)I": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/Trampoline;-acknowledgeFullBackupOrRestore-(I Z Ljava/lang/String; Ljava/lang/String; Landroid/app/backup/IFullBackupRestoreObserver;)V": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/Trampoline;-backupNow-()V": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/Trampoline;-beginRestoreSession-(Ljava/lang/String; Ljava/lang/String;)Landroid/app/backup/IRestoreSession;": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/Trampoline;-clearBackupData-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/Trampoline;-dataChanged-(Ljava/lang/String;)V": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/Trampoline;-fullBackup-(Landroid/os/ParcelFileDescriptor; Z Z Z Z Z Z Z [Ljava/lang/String;)V": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/Trampoline;-fullRestore-(Landroid/os/ParcelFileDescriptor;)V": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/Trampoline;-fullTransportBackup-([Ljava/lang/String;)V": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/Trampoline;-getAvailableRestoreToken-(Ljava/lang/String;)J": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/Trampoline;-getConfigurationIntent-(Ljava/lang/String;)Landroid/content/Intent;": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/Trampoline;-getCurrentTransport-()Ljava/lang/String;": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/Trampoline;-getDataManagementIntent-(Ljava/lang/String;)Landroid/content/Intent;": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/Trampoline;-getDataManagementLabel-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/Trampoline;-getDestinationString-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/Trampoline;-hasBackupPassword-()Z": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/Trampoline;-isAppEligibleForBackup-(Ljava/lang/String;)Z": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/Trampoline;-isBackupEnabled-()Z": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/Trampoline;-listAllTransports-()[Ljava/lang/String;": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/Trampoline;-requestBackup-([Ljava/lang/String; Landroid/app/backup/IBackupObserver;)I": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/Trampoline;-restoreAtInstall-(Ljava/lang/String; I)V": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/Trampoline;-selectBackupTransport-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/Trampoline;-setAutoRestore-(Z)V": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/Trampoline;-setBackupEnabled-(Z)V": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/Trampoline;-setBackupPassword-(Ljava/lang/String; Ljava/lang/String;)Z": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/Trampoline;-setBackupProvisioned-(Z)V": [ "android.permission.BACKUP" ], "Lcom/android/server/content/ContentService;-addPeriodicSync-(Landroid/accounts/Account; Ljava/lang/String; Landroid/os/Bundle; J)V": [ "android.permission.WRITE_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-cancelSync-(Landroid/accounts/Account; Ljava/lang/String; Landroid/content/ComponentName;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/content/ContentService;-cancelSyncAsUser-(Landroid/accounts/Account; Ljava/lang/String; Landroid/content/ComponentName; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/content/ContentService;-getCache-(Ljava/lang/String; Landroid/net/Uri; I)Landroid/os/Bundle;": [ "android.permission.CACHE_CONTENT", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/content/ContentService;-getCurrentSyncs-()Ljava/util/List;": [ "android.permission.GET_ACCOUNTS", "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.READ_SYNC_STATS" ], "Lcom/android/server/content/ContentService;-getCurrentSyncsAsUser-(I)Ljava/util/List;": [ "android.permission.GET_ACCOUNTS", "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.READ_SYNC_STATS" ], "Lcom/android/server/content/ContentService;-getIsSyncable-(Landroid/accounts/Account; Ljava/lang/String;)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.READ_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-getIsSyncableAsUser-(Landroid/accounts/Account; Ljava/lang/String; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.READ_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-getMasterSyncAutomatically-()Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.READ_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-getMasterSyncAutomaticallyAsUser-(I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.READ_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-getPeriodicSyncs-(Landroid/accounts/Account; Ljava/lang/String; Landroid/content/ComponentName;)Ljava/util/List;": [ "android.permission.READ_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-getSyncAdapterPackagesForAuthorityAsUser-(Ljava/lang/String; I)[Ljava/lang/String;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/content/ContentService;-getSyncAdapterTypes-()[Landroid/content/SyncAdapterType;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/content/ContentService;-getSyncAdapterTypesAsUser-(I)[Landroid/content/SyncAdapterType;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/content/ContentService;-getSyncAutomatically-(Landroid/accounts/Account; Ljava/lang/String;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.READ_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-getSyncAutomaticallyAsUser-(Landroid/accounts/Account; Ljava/lang/String; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.READ_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-getSyncStatus-(Landroid/accounts/Account; Ljava/lang/String; Landroid/content/ComponentName;)Landroid/content/SyncStatusInfo;": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.READ_SYNC_STATS" ], "Lcom/android/server/content/ContentService;-getSyncStatusAsUser-(Landroid/accounts/Account; Ljava/lang/String; Landroid/content/ComponentName; I)Landroid/content/SyncStatusInfo;": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.READ_SYNC_STATS" ], "Lcom/android/server/content/ContentService;-isSyncActive-(Landroid/accounts/Account; Ljava/lang/String; Landroid/content/ComponentName;)Z": [ "android.permission.READ_SYNC_STATS" ], "Lcom/android/server/content/ContentService;-isSyncPending-(Landroid/accounts/Account; Ljava/lang/String; Landroid/content/ComponentName;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.READ_SYNC_STATS" ], "Lcom/android/server/content/ContentService;-isSyncPendingAsUser-(Landroid/accounts/Account; Ljava/lang/String; Landroid/content/ComponentName; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.READ_SYNC_STATS" ], "Lcom/android/server/content/ContentService;-putCache-(Ljava/lang/String; Landroid/net/Uri; Landroid/os/Bundle; I)V": [ "android.permission.CACHE_CONTENT", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/content/ContentService;-registerContentObserver-(Landroid/net/Uri; Z Landroid/database/IContentObserver; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/content/ContentService;-removePeriodicSync-(Landroid/accounts/Account; Ljava/lang/String; Landroid/os/Bundle;)V": [ "android.permission.WRITE_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-setIsSyncable-(Landroid/accounts/Account; Ljava/lang/String; I)V": [ "android.permission.WRITE_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-setMasterSyncAutomatically-(Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.WRITE_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-setMasterSyncAutomaticallyAsUser-(Z I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.WRITE_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-setSyncAutomatically-(Landroid/accounts/Account; Ljava/lang/String; Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.WRITE_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-setSyncAutomaticallyAsUser-(Landroid/accounts/Account; Ljava/lang/String; Z I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.WRITE_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-sync-(Landroid/content/SyncRequest;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/content/ContentService;-syncAsUser-(Landroid/content/SyncRequest; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-addCrossProfileIntentFilter-(Landroid/content/ComponentName; Landroid/content/IntentFilter; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-addCrossProfileWidgetProvider-(Landroid/content/ComponentName; Ljava/lang/String;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-addPersistentPreferredActivity-(Landroid/content/ComponentName; Landroid/content/IntentFilter; Landroid/content/ComponentName;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-approveCaCert-(Ljava/lang/String; I Z)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_USERS" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-choosePrivateKeyAlias-(I Landroid/net/Uri; Ljava/lang/String; Landroid/os/IBinder;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-clearCrossProfileIntentFilters-(Landroid/content/ComponentName;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-clearDeviceOwner-(Ljava/lang/String;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-clearPackagePersistentPreferredActivities-(Landroid/content/ComponentName; Ljava/lang/String;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-clearProfileOwner-(Landroid/content/ComponentName;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-createAndManageUser-(Landroid/content/ComponentName; Ljava/lang/String; Landroid/content/ComponentName; Landroid/os/PersistableBundle; I)Landroid/os/UserHandle;": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_DEVICE_ADMINS", "android.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS", "android.permission.MANAGE_USERS" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-enableSystemApp-(Landroid/content/ComponentName; Ljava/lang/String;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-enableSystemAppWithIntent-(Landroid/content/ComponentName; Landroid/content/Intent;)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-enforceCanManageCaCerts-(Landroid/content/ComponentName;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_CA_CERTIFICATES" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-forceRemoveActiveAdmin-(Landroid/content/ComponentName; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getAccountTypesWithManagementDisabled-()[Ljava/lang/String;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getAccountTypesWithManagementDisabledAsUser-(I)[Ljava/lang/String;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getActiveAdmins-(I)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getAlwaysOnVpnPackage-(Landroid/content/ComponentName;)Ljava/lang/String;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getApplicationRestrictions-(Landroid/content/ComponentName; Ljava/lang/String;)Landroid/os/Bundle;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getApplicationRestrictionsManagingPackage-(Landroid/content/ComponentName;)Ljava/lang/String;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getAutoTimeRequired-()Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getBluetoothContactSharingDisabled-(Landroid/content/ComponentName;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getBluetoothContactSharingDisabledForUser-(I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getCameraDisabled-(Landroid/content/ComponentName; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getCertInstallerPackage-(Landroid/content/ComponentName;)Ljava/lang/String;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getCrossProfileCallerIdDisabled-(Landroid/content/ComponentName;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getCrossProfileCallerIdDisabledForUser-(I)Z": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getCrossProfileContactsSearchDisabled-(Landroid/content/ComponentName;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getCrossProfileContactsSearchDisabledForUser-(I)Z": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getCrossProfileWidgetProviders-(Landroid/content/ComponentName;)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getCurrentFailedPasswordAttempts-(I Z)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getDeviceOwnerComponent-(Z)Landroid/content/ComponentName;": [ "android.permission.MANAGE_USERS" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getDeviceOwnerName-()Ljava/lang/String;": [ "android.permission.MANAGE_USERS" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getDeviceOwnerUserId-()I": [ "android.permission.MANAGE_USERS" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getDoNotAskCredentialsOnBoot-()Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.QUERY_DO_NOT_ASK_CREDENTIALS_ON_BOOT" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getForceEphemeralUsers-(Landroid/content/ComponentName;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getGlobalProxyAdmin-(I)Landroid/content/ComponentName;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getKeepUninstalledPackages-(Landroid/content/ComponentName;)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getKeyguardDisabledFeatures-(Landroid/content/ComponentName; I Z)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getLockTaskPackages-(Landroid/content/ComponentName;)[Ljava/lang/String;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getLongSupportMessage-(Landroid/content/ComponentName;)Ljava/lang/CharSequence;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getLongSupportMessageForUser-(Landroid/content/ComponentName; I)Ljava/lang/CharSequence;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getMaximumFailedPasswordsForWipe-(Landroid/content/ComponentName; I Z)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getMaximumTimeToLock-(Landroid/content/ComponentName; I Z)J": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getMaximumTimeToLockForUserAndProfiles-(I)J": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getOrganizationColor-(Landroid/content/ComponentName;)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getOrganizationColorForUser-(I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getOrganizationName-(Landroid/content/ComponentName;)Ljava/lang/CharSequence;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getOrganizationNameForUser-(I)Ljava/lang/CharSequence;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getPasswordExpiration-(Landroid/content/ComponentName; I Z)J": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getPasswordExpirationTimeout-(Landroid/content/ComponentName; I Z)J": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getPasswordHistoryLength-(Landroid/content/ComponentName; I Z)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getPasswordMinimumLength-(Landroid/content/ComponentName; I Z)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getPasswordMinimumLetters-(Landroid/content/ComponentName; I Z)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getPasswordMinimumLowerCase-(Landroid/content/ComponentName; I Z)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getPasswordMinimumNonLetter-(Landroid/content/ComponentName; I Z)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getPasswordMinimumNumeric-(Landroid/content/ComponentName; I Z)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getPasswordMinimumSymbols-(Landroid/content/ComponentName; I Z)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getPasswordMinimumUpperCase-(Landroid/content/ComponentName; I Z)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getPasswordQuality-(Landroid/content/ComponentName; I Z)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getPermissionGrantState-(Landroid/content/ComponentName; Ljava/lang/String; Ljava/lang/String;)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getPermissionPolicy-(Landroid/content/ComponentName;)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getPermittedAccessibilityServices-(Landroid/content/ComponentName;)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getPermittedAccessibilityServicesForUser-(I)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getPermittedInputMethods-(Landroid/content/ComponentName;)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getPermittedInputMethodsForCurrentUser-()Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getProfileOwnerName-(I)Ljava/lang/String;": [ "android.permission.MANAGE_USERS" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getProfileWithMinimumFailedPasswordsForWipe-(I Z)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getRemoveWarning-(Landroid/content/ComponentName; Landroid/os/RemoteCallback; I)V": [ "android.permission.BIND_DEVICE_ADMIN", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getRestrictionsProvider-(I)Landroid/content/ComponentName;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getScreenCaptureDisabled-(Landroid/content/ComponentName; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getShortSupportMessage-(Landroid/content/ComponentName;)Ljava/lang/CharSequence;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getShortSupportMessageForUser-(Landroid/content/ComponentName; I)Ljava/lang/CharSequence;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getStorageEncryption-(Landroid/content/ComponentName; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getStorageEncryptionStatus-(Ljava/lang/String; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getTrustAgentConfiguration-(Landroid/content/ComponentName; Landroid/content/ComponentName; I Z)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getUserProvisioningState-()I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getUserRestrictions-(Landroid/content/ComponentName;)Landroid/os/Bundle;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getWifiMacAddress-(Landroid/content/ComponentName;)Ljava/lang/String;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-hasGrantedPolicy-(Landroid/content/ComponentName; I I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-hasUserSetupCompleted-()Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-installCaCert-(Landroid/content/ComponentName; [B)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_CA_CERTIFICATES" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-installKeyPair-(Landroid/content/ComponentName; [B [B [B Ljava/lang/String; Z)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-isAccessibilityServicePermittedByAdmin-(Landroid/content/ComponentName; Ljava/lang/String; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-isActivePasswordSufficient-(I Z)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-isAdminActive-(Landroid/content/ComponentName; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-isAffiliatedUser-()Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-isApplicationHidden-(Landroid/content/ComponentName; Ljava/lang/String;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-isCaCertApproved-(Ljava/lang/String; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_USERS" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-isCallerApplicationRestrictionsManagingPackage-()Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-isInputMethodPermittedByAdmin-(Landroid/content/ComponentName; Ljava/lang/String; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-isLockTaskPermitted-(Ljava/lang/String;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-isManagedProfile-(Landroid/content/ComponentName;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-isMasterVolumeMuted-(Landroid/content/ComponentName;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-isPackageSuspended-(Landroid/content/ComponentName; Ljava/lang/String;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-isProfileActivePasswordSufficientForParent-(I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-isProvisioningAllowed-(Ljava/lang/String;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-isRemovingAdmin-(Landroid/content/ComponentName; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-isSecurityLoggingEnabled-(Landroid/content/ComponentName;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-isSystemOnlyUser-(Landroid/content/ComponentName;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-isUninstallBlocked-(Landroid/content/ComponentName; Ljava/lang/String;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-isUninstallInQueue-(Ljava/lang/String;)Z": [ "android.permission.MANAGE_DEVICE_ADMINS" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-lockNow-(Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-notifyLockTaskModeChanged-(Z Ljava/lang/String; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-notifyPendingSystemUpdate-(J)V": [ "android.permission.NOTIFY_PENDING_SYSTEM_UPDATE" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-packageHasActiveAdmins-(Ljava/lang/String; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-reboot-(Landroid/content/ComponentName;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-removeActiveAdmin-(Landroid/content/ComponentName; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_DEVICE_ADMINS" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-removeCrossProfileWidgetProvider-(Landroid/content/ComponentName; Ljava/lang/String;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-removeKeyPair-(Landroid/content/ComponentName; Ljava/lang/String;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-removeUser-(Landroid/content/ComponentName; Landroid/os/UserHandle;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-reportFailedFingerprintAttempt-(I)V": [ "android.permission.BIND_DEVICE_ADMIN", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-reportFailedPasswordAttempt-(I)V": [ "android.permission.BIND_DEVICE_ADMIN", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-reportKeyguardDismissed-(I)V": [ "android.permission.BIND_DEVICE_ADMIN", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-reportKeyguardSecured-(I)V": [ "android.permission.BIND_DEVICE_ADMIN", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-reportSuccessfulFingerprintAttempt-(I)V": [ "android.permission.BIND_DEVICE_ADMIN", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-reportSuccessfulPasswordAttempt-(I)V": [ "android.permission.BIND_DEVICE_ADMIN", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-requestBugreport-(Landroid/content/ComponentName;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-resetPassword-(Ljava/lang/String; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-retrievePreRebootSecurityLogs-(Landroid/content/ComponentName;)Landroid/content/pm/ParceledListSlice;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-retrieveSecurityLogs-(Landroid/content/ComponentName;)Landroid/content/pm/ParceledListSlice;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setAccountManagementDisabled-(Landroid/content/ComponentName; Ljava/lang/String; Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setActiveAdmin-(Landroid/content/ComponentName; Z I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_DEVICE_ADMINS" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setActivePasswordState-(I I I I I I I I I)V": [ "android.permission.BIND_DEVICE_ADMIN", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setAffiliationIds-(Landroid/content/ComponentName; Ljava/util/List;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setAlwaysOnVpnPackage-(Landroid/content/ComponentName; Ljava/lang/String; Z)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setApplicationHidden-(Landroid/content/ComponentName; Ljava/lang/String; Z)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setApplicationRestrictions-(Landroid/content/ComponentName; Ljava/lang/String; Landroid/os/Bundle;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setApplicationRestrictionsManagingPackage-(Landroid/content/ComponentName; Ljava/lang/String;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setAutoTimeRequired-(Landroid/content/ComponentName; Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setBluetoothContactSharingDisabled-(Landroid/content/ComponentName; Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setCameraDisabled-(Landroid/content/ComponentName; Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setCertInstallerPackage-(Landroid/content/ComponentName; Ljava/lang/String;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setCrossProfileCallerIdDisabled-(Landroid/content/ComponentName; Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setCrossProfileContactsSearchDisabled-(Landroid/content/ComponentName; Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setDeviceOwner-(Landroid/content/ComponentName; Ljava/lang/String; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setDeviceOwnerLockScreenInfo-(Landroid/content/ComponentName; Ljava/lang/CharSequence;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setForceEphemeralUsers-(Landroid/content/ComponentName; Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setGlobalProxy-(Landroid/content/ComponentName; Ljava/lang/String; Ljava/lang/String;)Landroid/content/ComponentName;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setGlobalSetting-(Landroid/content/ComponentName; Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setKeepUninstalledPackages-(Landroid/content/ComponentName; Ljava/util/List;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setKeyguardDisabled-(Landroid/content/ComponentName; Z)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setKeyguardDisabledFeatures-(Landroid/content/ComponentName; I Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setLockTaskPackages-(Landroid/content/ComponentName; [Ljava/lang/String;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setLongSupportMessage-(Landroid/content/ComponentName; Ljava/lang/CharSequence;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setMasterVolumeMuted-(Landroid/content/ComponentName; Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setMaximumFailedPasswordsForWipe-(Landroid/content/ComponentName; I Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setMaximumTimeToLock-(Landroid/content/ComponentName; J Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setOrganizationColor-(Landroid/content/ComponentName; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setOrganizationColorForUser-(I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_USERS" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setOrganizationName-(Landroid/content/ComponentName; Ljava/lang/CharSequence;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setPackagesSuspended-(Landroid/content/ComponentName; [Ljava/lang/String; Z)[Ljava/lang/String;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setPasswordExpirationTimeout-(Landroid/content/ComponentName; J Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setPasswordHistoryLength-(Landroid/content/ComponentName; I Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setPasswordMinimumLength-(Landroid/content/ComponentName; I Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setPasswordMinimumLetters-(Landroid/content/ComponentName; I Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setPasswordMinimumLowerCase-(Landroid/content/ComponentName; I Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setPasswordMinimumNonLetter-(Landroid/content/ComponentName; I Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setPasswordMinimumNumeric-(Landroid/content/ComponentName; I Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setPasswordMinimumSymbols-(Landroid/content/ComponentName; I Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setPasswordMinimumUpperCase-(Landroid/content/ComponentName; I Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setPasswordQuality-(Landroid/content/ComponentName; I Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setPermissionGrantState-(Landroid/content/ComponentName; Ljava/lang/String; Ljava/lang/String; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setPermissionPolicy-(Landroid/content/ComponentName; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setPermittedAccessibilityServices-(Landroid/content/ComponentName; Ljava/util/List;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setPermittedInputMethods-(Landroid/content/ComponentName; Ljava/util/List;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setProfileEnabled-(Landroid/content/ComponentName;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setProfileName-(Landroid/content/ComponentName; Ljava/lang/String;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setProfileOwner-(Landroid/content/ComponentName; Ljava/lang/String; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setRecommendedGlobalProxy-(Landroid/content/ComponentName; Landroid/net/ProxyInfo;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setRestrictionsProvider-(Landroid/content/ComponentName; Landroid/content/ComponentName;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setScreenCaptureDisabled-(Landroid/content/ComponentName; Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setSecureSetting-(Landroid/content/ComponentName; Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setSecurityLoggingEnabled-(Landroid/content/ComponentName; Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setShortSupportMessage-(Landroid/content/ComponentName; Ljava/lang/CharSequence;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setStatusBarDisabled-(Landroid/content/ComponentName; Z)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setStorageEncryption-(Landroid/content/ComponentName; Z)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setSystemUpdatePolicy-(Landroid/content/ComponentName; Landroid/app/admin/SystemUpdatePolicy;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setTrustAgentConfiguration-(Landroid/content/ComponentName; Landroid/content/ComponentName; Landroid/os/PersistableBundle; Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setUninstallBlocked-(Landroid/content/ComponentName; Ljava/lang/String; Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setUserIcon-(Landroid/content/ComponentName; Landroid/graphics/Bitmap;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setUserProvisioningState-(I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setUserRestriction-(Landroid/content/ComponentName; Ljava/lang/String; Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-switchUser-(Landroid/content/ComponentName; Landroid/os/UserHandle;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-uninstallCaCerts-(Landroid/content/ComponentName; [Ljava/lang/String;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_CA_CERTIFICATES" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-uninstallPackageWithActiveAdmins-(Ljava/lang/String;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_DEVICE_ADMINS", "android.permission.MANAGE_USERS" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-wipeData-(I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/display/DisplayManagerService$BinderService;-connectWifiDisplay-(Ljava/lang/String;)V": [ "android.permission.CONFIGURE_WIFI_DISPLAY" ], "Lcom/android/server/display/DisplayManagerService$BinderService;-createVirtualDisplay-(Landroid/hardware/display/IVirtualDisplayCallback; Landroid/media/projection/IMediaProjection; Ljava/lang/String; Ljava/lang/String; I I I Landroid/view/Surface; I)I": [ "android.permission.CAPTURE_SECURE_VIDEO_OUTPUT", "android.permission.CAPTURE_VIDEO_OUTPUT" ], "Lcom/android/server/display/DisplayManagerService$BinderService;-forgetWifiDisplay-(Ljava/lang/String;)V": [ "android.permission.CONFIGURE_WIFI_DISPLAY" ], "Lcom/android/server/display/DisplayManagerService$BinderService;-pauseWifiDisplay-()V": [ "android.permission.CONFIGURE_WIFI_DISPLAY" ], "Lcom/android/server/display/DisplayManagerService$BinderService;-renameWifiDisplay-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.CONFIGURE_WIFI_DISPLAY" ], "Lcom/android/server/display/DisplayManagerService$BinderService;-requestColorTransform-(I I)V": [ "android.permission.CONFIGURE_DISPLAY_COLOR_TRANSFORM" ], "Lcom/android/server/display/DisplayManagerService$BinderService;-resumeWifiDisplay-()V": [ "android.permission.CONFIGURE_WIFI_DISPLAY" ], "Lcom/android/server/display/DisplayManagerService$BinderService;-startWifiDisplayScan-()V": [ "android.permission.CONFIGURE_WIFI_DISPLAY" ], "Lcom/android/server/display/DisplayManagerService$BinderService;-stopWifiDisplayScan-()V": [ "android.permission.CONFIGURE_WIFI_DISPLAY" ], "Lcom/android/server/dreams/DreamManagerService$BinderService;-awaken-()V": [ "android.permission.WRITE_DREAM_STATE" ], "Lcom/android/server/dreams/DreamManagerService$BinderService;-dream-()V": [ "android.permission.WRITE_DREAM_STATE" ], "Lcom/android/server/dreams/DreamManagerService$BinderService;-getDefaultDreamComponent-()Landroid/content/ComponentName;": [ "android.permission.READ_DREAM_STATE" ], "Lcom/android/server/dreams/DreamManagerService$BinderService;-getDreamComponents-()[Landroid/content/ComponentName;": [ "android.permission.READ_DREAM_STATE" ], "Lcom/android/server/dreams/DreamManagerService$BinderService;-isDreaming-()Z": [ "android.permission.READ_DREAM_STATE" ], "Lcom/android/server/dreams/DreamManagerService$BinderService;-setDreamComponents-([Landroid/content/ComponentName;)V": [ "android.permission.WRITE_DREAM_STATE" ], "Lcom/android/server/dreams/DreamManagerService$BinderService;-testDream-(Landroid/content/ComponentName;)V": [ "android.permission.WRITE_DREAM_STATE" ], "Lcom/android/server/ethernet/EthernetServiceImpl;-addListener-(Landroid/net/IEthernetServiceListener;)V": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ethernet/EthernetServiceImpl;-getConfiguration-()Landroid/net/IpConfiguration;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ethernet/EthernetServiceImpl;-isAvailable-()Z": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ethernet/EthernetServiceImpl;-removeListener-(Landroid/net/IEthernetServiceListener;)V": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ethernet/EthernetServiceImpl;-setConfiguration-(Landroid/net/IpConfiguration;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/fingerprint/FingerprintService$FingerprintServiceWrapper;-authenticate-(Landroid/os/IBinder; J I Landroid/hardware/fingerprint/IFingerprintServiceReceiver; I Ljava/lang/String;)V": [ "android.permission.MANAGE_FINGERPRINT", "android.permission.USE_FINGERPRINT" ], "Lcom/android/server/fingerprint/FingerprintService$FingerprintServiceWrapper;-cancelAuthentication-(Landroid/os/IBinder; Ljava/lang/String;)V": [ "android.permission.USE_FINGERPRINT" ], "Lcom/android/server/fingerprint/FingerprintService$FingerprintServiceWrapper;-cancelEnrollment-(Landroid/os/IBinder;)V": [ "android.permission.MANAGE_FINGERPRINT" ], "Lcom/android/server/fingerprint/FingerprintService$FingerprintServiceWrapper;-enroll-(Landroid/os/IBinder; [B I Landroid/hardware/fingerprint/IFingerprintServiceReceiver; I Ljava/lang/String;)V": [ "android.permission.MANAGE_FINGERPRINT" ], "Lcom/android/server/fingerprint/FingerprintService$FingerprintServiceWrapper;-getEnrolledFingerprints-(I Ljava/lang/String;)Ljava/util/List;": [ "android.permission.USE_FINGERPRINT" ], "Lcom/android/server/fingerprint/FingerprintService$FingerprintServiceWrapper;-hasEnrolledFingerprints-(I Ljava/lang/String;)Z": [ "android.permission.USE_FINGERPRINT" ], "Lcom/android/server/fingerprint/FingerprintService$FingerprintServiceWrapper;-isHardwareDetected-(J Ljava/lang/String;)Z": [ "android.permission.USE_FINGERPRINT" ], "Lcom/android/server/fingerprint/FingerprintService$FingerprintServiceWrapper;-postEnroll-(Landroid/os/IBinder;)I": [ "android.permission.MANAGE_FINGERPRINT" ], "Lcom/android/server/fingerprint/FingerprintService$FingerprintServiceWrapper;-preEnroll-(Landroid/os/IBinder;)J": [ "android.permission.MANAGE_FINGERPRINT" ], "Lcom/android/server/fingerprint/FingerprintService$FingerprintServiceWrapper;-remove-(Landroid/os/IBinder; I I I Landroid/hardware/fingerprint/IFingerprintServiceReceiver;)V": [ "android.permission.MANAGE_FINGERPRINT" ], "Lcom/android/server/fingerprint/FingerprintService$FingerprintServiceWrapper;-rename-(I I Ljava/lang/String;)V": [ "android.permission.MANAGE_FINGERPRINT" ], "Lcom/android/server/fingerprint/FingerprintService$FingerprintServiceWrapper;-resetTimeout-([B)V": [ "android.permission.RESET_FINGERPRINT_LOCKOUT" ], "Lcom/android/server/fingerprint/FingerprintService$FingerprintServiceWrapper;-setActiveUser-(I)V": [ "android.permission.MANAGE_FINGERPRINT" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-addDeviceEventListener-(Landroid/hardware/hdmi/IHdmiDeviceEventListener;)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-addHdmiMhlVendorCommandListener-(Landroid/hardware/hdmi/IHdmiMhlVendorCommandListener;)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-addHotplugEventListener-(Landroid/hardware/hdmi/IHdmiHotplugEventListener;)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-addSystemAudioModeChangeListener-(Landroid/hardware/hdmi/IHdmiSystemAudioModeChangeListener;)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-addVendorCommandListener-(Landroid/hardware/hdmi/IHdmiVendorCommandListener; I)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-canChangeSystemAudioMode-()Z": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-clearTimerRecording-(I I [B)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-deviceSelect-(I Landroid/hardware/hdmi/IHdmiControlCallback;)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-getActiveSource-()Landroid/hardware/hdmi/HdmiDeviceInfo;": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-getDeviceList-()Ljava/util/List;": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-getInputDevices-()Ljava/util/List;": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-getPortInfo-()Ljava/util/List;": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-getSupportedTypes-()[I": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-getSystemAudioMode-()Z": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-oneTouchPlay-(Landroid/hardware/hdmi/IHdmiControlCallback;)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-portSelect-(I Landroid/hardware/hdmi/IHdmiControlCallback;)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-queryDisplayStatus-(Landroid/hardware/hdmi/IHdmiControlCallback;)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-removeHotplugEventListener-(Landroid/hardware/hdmi/IHdmiHotplugEventListener;)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-removeSystemAudioModeChangeListener-(Landroid/hardware/hdmi/IHdmiSystemAudioModeChangeListener;)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-sendKeyEvent-(I I Z)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-sendMhlVendorCommand-(I I I [B)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-sendStandby-(I I)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-sendVendorCommand-(I I [B Z)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-setArcMode-(Z)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-setHdmiRecordListener-(Landroid/hardware/hdmi/IHdmiRecordListener;)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-setInputChangeListener-(Landroid/hardware/hdmi/IHdmiInputChangeListener;)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-setProhibitMode-(Z)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-setSystemAudioMode-(Z Landroid/hardware/hdmi/IHdmiControlCallback;)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-setSystemAudioMute-(Z)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-setSystemAudioVolume-(I I I)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-startOneTouchRecord-(I [B)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-startTimerRecording-(I I [B)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-stopOneTouchRecord-(I)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/input/InputManagerService;-addKeyboardLayoutForInputDevice-(Landroid/hardware/input/InputDeviceIdentifier; Ljava/lang/String;)V": [ "android.permission.SET_KEYBOARD_LAYOUT" ], "Lcom/android/server/input/InputManagerService;-isInTabletMode-()I": [ "android.permission.TABLET_MODE" ], "Lcom/android/server/input/InputManagerService;-registerTabletModeChangedListener-(Landroid/hardware/input/ITabletModeChangedListener;)V": [ "android.permission.TABLET_MODE" ], "Lcom/android/server/input/InputManagerService;-removeKeyboardLayoutForInputDevice-(Landroid/hardware/input/InputDeviceIdentifier; Ljava/lang/String;)V": [ "android.permission.SET_KEYBOARD_LAYOUT" ], "Lcom/android/server/input/InputManagerService;-setCurrentKeyboardLayoutForInputDevice-(Landroid/hardware/input/InputDeviceIdentifier; Ljava/lang/String;)V": [ "android.permission.SET_KEYBOARD_LAYOUT" ], "Lcom/android/server/input/InputManagerService;-setKeyboardLayoutForInputDevice-(Landroid/hardware/input/InputDeviceIdentifier; Landroid/view/inputmethod/InputMethodInfo; Landroid/view/inputmethod/InputMethodSubtype; Ljava/lang/String;)V": [ "android.permission.SET_KEYBOARD_LAYOUT" ], "Lcom/android/server/input/InputManagerService;-setTouchCalibrationForInputDevice-(Ljava/lang/String; I Landroid/hardware/input/TouchCalibration;)V": [ "android.permission.SET_INPUT_CALIBRATION" ], "Lcom/android/server/input/InputManagerService;-tryPointerSpeed-(I)V": [ "android.permission.SET_POINTER_SPEED" ], "Lcom/android/server/job/JobSchedulerService$JobSchedulerStub;-schedule-(Landroid/app/job/JobInfo;)I": [ "android.permission.RECEIVE_BOOT_COMPLETED" ], "Lcom/android/server/job/JobSchedulerService$JobSchedulerStub;-scheduleAsPackage-(Landroid/app/job/JobInfo; Ljava/lang/String; I Ljava/lang/String;)I": [ "android.permission.CONNECTIVITY_INTERNAL", "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/media/MediaRouterService;-registerClientAsUser-(Landroid/media/IMediaRouterClient; Ljava/lang/String; I)V": [ "android.permission.CONFIGURE_WIFI_DISPLAY" ], "Lcom/android/server/media/MediaSessionRecord$SessionStub;-setFlags-(I)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/media/projection/MediaProjectionManagerService$BinderService;-addCallback-(Landroid/media/projection/IMediaProjectionWatcherCallback;)V": [ "android.permission.MANAGE_MEDIA_PROJECTION" ], "Lcom/android/server/media/projection/MediaProjectionManagerService$BinderService;-createProjection-(I Ljava/lang/String; I Z)Landroid/media/projection/IMediaProjection;": [ "android.permission.MANAGE_MEDIA_PROJECTION" ], "Lcom/android/server/media/projection/MediaProjectionManagerService$BinderService;-getActiveProjectionInfo-()Landroid/media/projection/MediaProjectionInfo;": [ "android.permission.MANAGE_MEDIA_PROJECTION" ], "Lcom/android/server/media/projection/MediaProjectionManagerService$BinderService;-removeCallback-(Landroid/media/projection/IMediaProjectionWatcherCallback;)V": [ "android.permission.MANAGE_MEDIA_PROJECTION" ], "Lcom/android/server/media/projection/MediaProjectionManagerService$BinderService;-stopActiveProjection-()V": [ "android.permission.MANAGE_MEDIA_PROJECTION" ], "Lcom/android/server/net/NetworkPolicyManagerService;-addRestrictBackgroundWhitelistedUid-(I)V": [ "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-addUidPolicy-(I I)V": [ "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-factoryReset-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL", "android.permission.MANAGE_NETWORK_POLICY", "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/server/net/NetworkPolicyManagerService;-getNetworkPolicies-(Ljava/lang/String;)[Landroid/net/NetworkPolicy;": [ "android.permission.MANAGE_NETWORK_POLICY", "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/server/net/NetworkPolicyManagerService;-getNetworkQuotaInfo-(Landroid/net/NetworkState;)Landroid/net/NetworkQuotaInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/net/NetworkPolicyManagerService;-getRestrictBackground-()Z": [ "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-getRestrictBackgroundByCaller-()I": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/net/NetworkPolicyManagerService;-getRestrictBackgroundWhitelistedUids-()[I": [ "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-getUidPolicy-(I)I": [ "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-getUidsWithPolicy-(I)[I": [ "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-isUidForeground-(I)Z": [ "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-onTetheringChanged-(Ljava/lang/String; Z)V": [ "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-registerListener-(Landroid/net/INetworkPolicyListener;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/net/NetworkPolicyManagerService;-removeRestrictBackgroundWhitelistedUid-(I)V": [ "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-removeUidPolicy-(I I)V": [ "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-setConnectivityListener-(Landroid/net/INetworkPolicyListener;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/net/NetworkPolicyManagerService;-setDeviceIdleMode-(Z)V": [ "android.permission.MANAGE_NETWORK_POLICY", "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/server/net/NetworkPolicyManagerService;-setNetworkPolicies-([Landroid/net/NetworkPolicy;)V": [ "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-setRestrictBackground-(Z)V": [ "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-setUidPolicy-(I I)V": [ "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-snoozeLimit-(Landroid/net/NetworkTemplate;)V": [ "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-unregisterListener-(Landroid/net/INetworkPolicyListener;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/net/NetworkStatsService;-advisePersistThreshold-(J)V": [ "android.permission.MODIFY_NETWORK_ACCOUNTING" ], "Lcom/android/server/net/NetworkStatsService;-forceUpdate-()V": [ "android.permission.READ_NETWORK_USAGE_HISTORY" ], "Lcom/android/server/net/NetworkStatsService;-forceUpdateIfaces-()V": [ "android.permission.READ_NETWORK_USAGE_HISTORY" ], "Lcom/android/server/net/NetworkStatsService;-getDataLayerSnapshotForUid-(I)Landroid/net/NetworkStats;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/net/NetworkStatsService;-getNetworkTotalBytes-(Landroid/net/NetworkTemplate; J J)J": [ "android.permission.READ_NETWORK_USAGE_HISTORY" ], "Lcom/android/server/net/NetworkStatsService;-incrementOperationCount-(I I I)V": [ "android.permission.MODIFY_NETWORK_ACCOUNTING" ], "Lcom/android/server/net/NetworkStatsService;-registerUsageCallback-(Ljava/lang/String; Landroid/net/DataUsageRequest; Landroid/os/Messenger; Landroid/os/IBinder;)Landroid/net/DataUsageRequest;": [ "android.permission.PACKAGE_USAGE_STATS", "android.permission.READ_NETWORK_USAGE_HISTORY" ], "Lcom/android/server/net/NetworkStatsService;-setUidForeground-(I Z)V": [ "android.permission.MODIFY_NETWORK_ACCOUNTING" ], "Lcom/android/server/pm/PackageInstallerService;-setPermissionsResult-(I Z)V": [ "android.permission.INSTALL_PACKAGES" ], "Lcom/android/server/pm/PackageInstallerService;-uninstall-(Ljava/lang/String; Ljava/lang/String; I Landroid/content/IntentSender; I)V": [ "android.permission.DELETE_PACKAGES" ], "Lcom/android/server/pm/PackageManagerService;-addCrossProfileIntentFilter-(Landroid/content/IntentFilter; Ljava/lang/String; I I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-addOnPermissionsChangeListener-(Landroid/content/pm/IOnPermissionsChangeListener;)V": [ "android.permission.OBSERVE_GRANT_REVOKE_PERMISSIONS" ], "Lcom/android/server/pm/PackageManagerService;-addPreferredActivity-(Landroid/content/IntentFilter; I [Landroid/content/ComponentName; Landroid/content/ComponentName; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.SET_PREFERRED_APPLICATIONS" ], "Lcom/android/server/pm/PackageManagerService;-canForwardTo-(Landroid/content/Intent; Ljava/lang/String; I I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-clearApplicationUserData-(Ljava/lang/String; Landroid/content/pm/IPackageDataObserver; I)V": [ "android.permission.CLEAR_APP_USER_DATA", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-clearCrossProfileIntentFilters-(I Ljava/lang/String;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-clearPackagePreferredActivities-(Ljava/lang/String;)V": [ "android.permission.SET_PREFERRED_APPLICATIONS" ], "Lcom/android/server/pm/PackageManagerService;-deleteApplicationCacheFiles-(Ljava/lang/String; Landroid/content/pm/IPackageDataObserver;)V": [ "android.permission.DELETE_CACHE_FILES", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-deleteApplicationCacheFilesAsUser-(Ljava/lang/String; I Landroid/content/pm/IPackageDataObserver;)V": [ "android.permission.DELETE_CACHE_FILES", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-deletePackage-(Ljava/lang/String; Landroid/content/pm/IPackageDeleteObserver2; I I)V": [ "android.permission.DELETE_PACKAGES", "android.permission.GRANT_RUNTIME_PERMISSIONS", "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.REVOKE_RUNTIME_PERMISSIONS", "android.permission.SET_PREFERRED_APPLICATIONS" ], "Lcom/android/server/pm/PackageManagerService;-deletePackageAsUser-(Ljava/lang/String; Landroid/content/pm/IPackageDeleteObserver; I I)V": [ "android.permission.DELETE_PACKAGES", "android.permission.GRANT_RUNTIME_PERMISSIONS", "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.REVOKE_RUNTIME_PERMISSIONS", "android.permission.SET_PREFERRED_APPLICATIONS" ], "Lcom/android/server/pm/PackageManagerService;-extendVerificationTimeout-(I I J)V": [ "android.permission.GRANT_RUNTIME_PERMISSIONS", "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.PACKAGE_VERIFICATION_AGENT", "android.permission.REVOKE_RUNTIME_PERMISSIONS", "android.permission.SET_PREFERRED_APPLICATIONS" ], "Lcom/android/server/pm/PackageManagerService;-flushPackageRestrictionsAsUser-(I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-freeStorage-(Ljava/lang/String; J Landroid/content/IntentSender;)V": [ "android.permission.CLEAR_APP_CACHE" ], "Lcom/android/server/pm/PackageManagerService;-freeStorageAndNotify-(Ljava/lang/String; J Landroid/content/pm/IPackageDataObserver;)V": [ "android.permission.CLEAR_APP_CACHE" ], "Lcom/android/server/pm/PackageManagerService;-getActivityInfo-(Landroid/content/ComponentName; I I)Landroid/content/pm/ActivityInfo;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getApplicationEnabledSetting-(Ljava/lang/String; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getApplicationHiddenSettingAsUser-(Ljava/lang/String; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_USERS" ], "Lcom/android/server/pm/PackageManagerService;-getApplicationInfo-(Ljava/lang/String; I I)Landroid/content/pm/ApplicationInfo;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getComponentEnabledSetting-(Landroid/content/ComponentName; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getHomeActivities-(Ljava/util/List;)Landroid/content/ComponentName;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getInstalledPackages-(I I)Landroid/content/pm/ParceledListSlice;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getLastChosenActivity-(Landroid/content/Intent; Ljava/lang/String; I)Landroid/content/pm/ResolveInfo;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getMoveStatus-(I)I": [ "android.permission.MOUNT_UNMOUNT_FILESYSTEMS" ], "Lcom/android/server/pm/PackageManagerService;-getPackageGids-(Ljava/lang/String; I I)[I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getPackageInfo-(Ljava/lang/String; I I)Landroid/content/pm/PackageInfo;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getPackageSizeInfo-(Ljava/lang/String; I Landroid/content/pm/IPackageStatsObserver;)V": [ "android.permission.GET_PACKAGE_SIZE", "android.permission.GRANT_RUNTIME_PERMISSIONS", "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.REVOKE_RUNTIME_PERMISSIONS", "android.permission.SET_PREFERRED_APPLICATIONS" ], "Lcom/android/server/pm/PackageManagerService;-getPackageUid-(Ljava/lang/String; I I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getPermissionFlags-(Ljava/lang/String; Ljava/lang/String; I)I": [ "android.permission.GRANT_RUNTIME_PERMISSIONS", "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.REVOKE_RUNTIME_PERMISSIONS" ], "Lcom/android/server/pm/PackageManagerService;-getProviderInfo-(Landroid/content/ComponentName; I I)Landroid/content/pm/ProviderInfo;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getReceiverInfo-(Landroid/content/ComponentName; I I)Landroid/content/pm/ActivityInfo;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getServiceInfo-(Landroid/content/ComponentName; I I)Landroid/content/pm/ServiceInfo;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getVerifierDeviceIdentity-()Landroid/content/pm/VerifierDeviceIdentity;": [ "android.permission.PACKAGE_VERIFICATION_AGENT" ], "Lcom/android/server/pm/PackageManagerService;-grantRuntimePermission-(Ljava/lang/String; Ljava/lang/String; I)V": [ "android.permission.GRANT_RUNTIME_PERMISSIONS", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-installExistingPackageAsUser-(Ljava/lang/String; I)I": [ "android.permission.INSTALL_PACKAGES", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-installPackageAsUser-(Ljava/lang/String; Landroid/content/pm/IPackageInstallObserver2; I Ljava/lang/String; I)V": [ "android.permission.GRANT_RUNTIME_PERMISSIONS", "android.permission.INSTALL_GRANT_RUNTIME_PERMISSIONS", "android.permission.INSTALL_PACKAGES", "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.REVOKE_RUNTIME_PERMISSIONS", "android.permission.SET_PREFERRED_APPLICATIONS" ], "Lcom/android/server/pm/PackageManagerService;-isEphemeralApplication-(Ljava/lang/String; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-isPackageAvailable-(Ljava/lang/String; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-isPackageSuspendedForUser-(Ljava/lang/String; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-isPermissionRevokedByPolicy-(Ljava/lang/String; Ljava/lang/String; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-movePackage-(Ljava/lang/String; Ljava/lang/String;)I": [ "android.permission.GRANT_RUNTIME_PERMISSIONS", "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MOVE_PACKAGE", "android.permission.REVOKE_RUNTIME_PERMISSIONS", "android.permission.SET_PREFERRED_APPLICATIONS" ], "Lcom/android/server/pm/PackageManagerService;-movePrimaryStorage-(Ljava/lang/String;)I": [ "android.permission.MOVE_PACKAGE" ], "Lcom/android/server/pm/PackageManagerService;-queryIntentActivities-(Landroid/content/Intent; Ljava/lang/String; I I)Landroid/content/pm/ParceledListSlice;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-queryIntentActivityOptions-(Landroid/content/ComponentName; [Landroid/content/Intent; [Ljava/lang/String; Landroid/content/Intent; Ljava/lang/String; I I)Landroid/content/pm/ParceledListSlice;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-queryIntentContentProviders-(Landroid/content/Intent; Ljava/lang/String; I I)Landroid/content/pm/ParceledListSlice;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-queryIntentReceivers-(Landroid/content/Intent; Ljava/lang/String; I I)Landroid/content/pm/ParceledListSlice;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-queryIntentServices-(Landroid/content/Intent; Ljava/lang/String; I I)Landroid/content/pm/ParceledListSlice;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-registerMoveCallback-(Landroid/content/pm/IPackageMoveObserver;)V": [ "android.permission.MOUNT_UNMOUNT_FILESYSTEMS" ], "Lcom/android/server/pm/PackageManagerService;-replacePreferredActivity-(Landroid/content/IntentFilter; I [Landroid/content/ComponentName; Landroid/content/ComponentName; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.SET_PREFERRED_APPLICATIONS" ], "Lcom/android/server/pm/PackageManagerService;-resetApplicationPreferences-(I)V": [ "android.permission.SET_PREFERRED_APPLICATIONS" ], "Lcom/android/server/pm/PackageManagerService;-resetRuntimePermissions-()V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.REVOKE_RUNTIME_PERMISSIONS" ], "Lcom/android/server/pm/PackageManagerService;-resolveIntent-(Landroid/content/Intent; Ljava/lang/String; I I)Landroid/content/pm/ResolveInfo;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-resolveService-(Landroid/content/Intent; Ljava/lang/String; I I)Landroid/content/pm/ResolveInfo;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-revokeRuntimePermission-(Ljava/lang/String; Ljava/lang/String; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.REVOKE_RUNTIME_PERMISSIONS" ], "Lcom/android/server/pm/PackageManagerService;-setApplicationEnabledSetting-(Ljava/lang/String; I I I Ljava/lang/String;)V": [ "android.permission.CHANGE_COMPONENT_ENABLED_STATE", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-setApplicationHiddenSettingAsUser-(Ljava/lang/String; Z I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_USERS" ], "Lcom/android/server/pm/PackageManagerService;-setBlockUninstallForUser-(Ljava/lang/String; Z I)Z": [ "android.permission.DELETE_PACKAGES" ], "Lcom/android/server/pm/PackageManagerService;-setComponentEnabledSetting-(Landroid/content/ComponentName; I I I)V": [ "android.permission.CHANGE_COMPONENT_ENABLED_STATE", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-setDefaultBrowserPackageName-(Ljava/lang/String; I)Z": [ "android.permission.GRANT_RUNTIME_PERMISSIONS", "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.REVOKE_RUNTIME_PERMISSIONS", "android.permission.SET_PREFERRED_APPLICATIONS" ], "Lcom/android/server/pm/PackageManagerService;-setHomeActivity-(Landroid/content/ComponentName; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.SET_PREFERRED_APPLICATIONS" ], "Lcom/android/server/pm/PackageManagerService;-setInstallLocation-(I)Z": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/pm/PackageManagerService;-setLastChosenActivity-(Landroid/content/Intent; Ljava/lang/String; I Landroid/content/IntentFilter; I Landroid/content/ComponentName;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.SET_PREFERRED_APPLICATIONS" ], "Lcom/android/server/pm/PackageManagerService;-setPackageStoppedState-(Ljava/lang/String; Z I)V": [ "android.permission.CHANGE_COMPONENT_ENABLED_STATE", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-setPackagesSuspendedAsUser-([Ljava/lang/String; Z I)[Ljava/lang/String;": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_USERS" ], "Lcom/android/server/pm/PackageManagerService;-setPermissionEnforced-(Ljava/lang/String; Z)V": [ "android.permission.GRANT_RUNTIME_PERMISSIONS" ], "Lcom/android/server/pm/PackageManagerService;-shouldShowRequestPermissionRationale-(Ljava/lang/String; Ljava/lang/String; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-systemReady-()V": [ "android.permission.GRANT_RUNTIME_PERMISSIONS", "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.REVOKE_RUNTIME_PERMISSIONS" ], "Lcom/android/server/pm/PackageManagerService;-unregisterMoveCallback-(Landroid/content/pm/IPackageMoveObserver;)V": [ "android.permission.MOUNT_UNMOUNT_FILESYSTEMS" ], "Lcom/android/server/pm/PackageManagerService;-updateExternalMediaStatus-(Z Z)V": [ "android.permission.GRANT_RUNTIME_PERMISSIONS", "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.REVOKE_RUNTIME_PERMISSIONS", "android.permission.SET_PREFERRED_APPLICATIONS" ], "Lcom/android/server/pm/PackageManagerService;-updateIntentVerificationStatus-(Ljava/lang/String; I I)Z": [ "android.permission.SET_PREFERRED_APPLICATIONS" ], "Lcom/android/server/pm/PackageManagerService;-updatePermissionFlags-(Ljava/lang/String; Ljava/lang/String; I I I)V": [ "android.permission.GRANT_RUNTIME_PERMISSIONS", "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.REVOKE_RUNTIME_PERMISSIONS" ], "Lcom/android/server/pm/PackageManagerService;-updatePermissionFlagsForAllApps-(I I I)V": [ "android.permission.GRANT_RUNTIME_PERMISSIONS", "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.REVOKE_RUNTIME_PERMISSIONS" ], "Lcom/android/server/pm/PackageManagerService;-verifyIntentFilter-(I I Ljava/util/List;)V": [ "android.permission.INTENT_FILTER_VERIFICATION_AGENT" ], "Lcom/android/server/pm/PackageManagerService;-verifyPendingInstall-(I I)V": [ "android.permission.GRANT_RUNTIME_PERMISSIONS", "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.PACKAGE_VERIFICATION_AGENT", "android.permission.REVOKE_RUNTIME_PERMISSIONS", "android.permission.SET_PREFERRED_APPLICATIONS" ], "Lcom/android/server/pm/ShortcutService;-onApplicationActive-(Ljava/lang/String; I)V": [ "android.permission.RESET_SHORTCUT_MANAGER_THROTTLING" ], "Lcom/android/server/power/PowerManagerService$BinderService;-acquireWakeLock-(Landroid/os/IBinder; I Ljava/lang/String; Ljava/lang/String; Landroid/os/WorkSource; Ljava/lang/String;)V": [ "android.permission.WAKE_LOCK" ], "Lcom/android/server/power/PowerManagerService$BinderService;-acquireWakeLockWithUid-(Landroid/os/IBinder; I Ljava/lang/String; Ljava/lang/String; I)V": [ "android.permission.WAKE_LOCK" ], "Lcom/android/server/power/PowerManagerService$BinderService;-boostScreenBrightness-(J)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/power/PowerManagerService$BinderService;-crash-(Ljava/lang/String;)V": [ "android.permission.REBOOT" ], "Lcom/android/server/power/PowerManagerService$BinderService;-goToSleep-(J I I)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/power/PowerManagerService$BinderService;-nap-(J)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/power/PowerManagerService$BinderService;-powerHint-(I I)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/power/PowerManagerService$BinderService;-reboot-(Z Ljava/lang/String; Z)V": [ "android.permission.REBOOT", "android.permission.RECOVERY" ], "Lcom/android/server/power/PowerManagerService$BinderService;-rebootSafeMode-(Z Z)V": [ "android.permission.REBOOT" ], "Lcom/android/server/power/PowerManagerService$BinderService;-releaseWakeLock-(Landroid/os/IBinder; I)V": [ "android.permission.WAKE_LOCK" ], "Lcom/android/server/power/PowerManagerService$BinderService;-setAttentionLight-(Z I)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/power/PowerManagerService$BinderService;-setPowerSaveMode-(Z)Z": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/power/PowerManagerService$BinderService;-setTemporaryScreenAutoBrightnessAdjustmentSettingOverride-(F)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/power/PowerManagerService$BinderService;-setTemporaryScreenBrightnessSettingOverride-(I)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/power/PowerManagerService$BinderService;-shutdown-(Z Ljava/lang/String; Z)V": [ "android.permission.REBOOT" ], "Lcom/android/server/power/PowerManagerService$BinderService;-updateWakeLockUids-(Landroid/os/IBinder; [I)V": [ "android.permission.UPDATE_DEVICE_STATS", "android.permission.WAKE_LOCK" ], "Lcom/android/server/power/PowerManagerService$BinderService;-updateWakeLockWorkSource-(Landroid/os/IBinder; Landroid/os/WorkSource; Ljava/lang/String;)V": [ "android.permission.UPDATE_DEVICE_STATS", "android.permission.WAKE_LOCK" ], "Lcom/android/server/power/PowerManagerService$BinderService;-userActivity-(J I I)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/power/PowerManagerService$BinderService;-wakeUp-(J Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/print/PrintManagerService$PrintManagerImpl;-addPrintJobStateChangeListener-(Landroid/print/IPrintJobStateChangeListener; I I)V": [ "com.android.printspooler.permission.ACCESS_ALL_PRINT_JOBS" ], "Lcom/android/server/print/PrintManagerService$PrintManagerImpl;-cancelPrintJob-(Landroid/print/PrintJobId; I I)V": [ "com.android.printspooler.permission.ACCESS_ALL_PRINT_JOBS" ], "Lcom/android/server/print/PrintManagerService$PrintManagerImpl;-getPrintJobInfo-(Landroid/print/PrintJobId; I I)Landroid/print/PrintJobInfo;": [ "com.android.printspooler.permission.ACCESS_ALL_PRINT_JOBS" ], "Lcom/android/server/print/PrintManagerService$PrintManagerImpl;-getPrintJobInfos-(I I)Ljava/util/List;": [ "com.android.printspooler.permission.ACCESS_ALL_PRINT_JOBS" ], "Lcom/android/server/print/PrintManagerService$PrintManagerImpl;-print-(Ljava/lang/String; Landroid/print/IPrintDocumentAdapter; Landroid/print/PrintAttributes; Ljava/lang/String; I I)Landroid/os/Bundle;": [ "com.android.printspooler.permission.ACCESS_ALL_PRINT_JOBS" ], "Lcom/android/server/print/PrintManagerService$PrintManagerImpl;-restartPrintJob-(Landroid/print/PrintJobId; I I)V": [ "com.android.printspooler.permission.ACCESS_ALL_PRINT_JOBS" ], "Lcom/android/server/sip/SipService;-close-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.USE_SIP" ], "Lcom/android/server/sip/SipService;-createSession-(Landroid/net/sip/SipProfile; Landroid/net/sip/ISipSessionListener; Ljava/lang/String;)Landroid/net/sip/ISipSession;": [ "android.permission.USE_SIP" ], "Lcom/android/server/sip/SipService;-getListOfProfiles-(Ljava/lang/String;)[Landroid/net/sip/SipProfile;": [ "android.permission.USE_SIP" ], "Lcom/android/server/sip/SipService;-getPendingSession-(Ljava/lang/String; Ljava/lang/String;)Landroid/net/sip/ISipSession;": [ "android.permission.USE_SIP" ], "Lcom/android/server/sip/SipService;-isOpened-(Ljava/lang/String; Ljava/lang/String;)Z": [ "android.permission.USE_SIP" ], "Lcom/android/server/sip/SipService;-isRegistered-(Ljava/lang/String; Ljava/lang/String;)Z": [ "android.permission.USE_SIP" ], "Lcom/android/server/sip/SipService;-open-(Landroid/net/sip/SipProfile; Ljava/lang/String;)V": [ "android.permission.USE_SIP" ], "Lcom/android/server/sip/SipService;-open3-(Landroid/net/sip/SipProfile; Landroid/app/PendingIntent; Landroid/net/sip/ISipSessionListener; Ljava/lang/String;)V": [ "android.permission.USE_SIP" ], "Lcom/android/server/sip/SipService;-setRegistrationListener-(Ljava/lang/String; Landroid/net/sip/ISipSessionListener; Ljava/lang/String;)V": [ "android.permission.USE_SIP" ], "Lcom/android/server/soundtrigger/SoundTriggerService$SoundTriggerServiceStub;-deleteSoundModel-(Landroid/os/ParcelUuid;)V": [ "android.permission.MANAGE_SOUND_TRIGGER" ], "Lcom/android/server/soundtrigger/SoundTriggerService$SoundTriggerServiceStub;-getSoundModel-(Landroid/os/ParcelUuid;)Landroid/hardware/soundtrigger/SoundTrigger$GenericSoundModel;": [ "android.permission.MANAGE_SOUND_TRIGGER" ], "Lcom/android/server/soundtrigger/SoundTriggerService$SoundTriggerServiceStub;-startRecognition-(Landroid/os/ParcelUuid; Landroid/hardware/soundtrigger/IRecognitionStatusCallback; Landroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig;)I": [ "android.permission.MANAGE_SOUND_TRIGGER" ], "Lcom/android/server/soundtrigger/SoundTriggerService$SoundTriggerServiceStub;-stopRecognition-(Landroid/os/ParcelUuid; Landroid/hardware/soundtrigger/IRecognitionStatusCallback;)I": [ "android.permission.MANAGE_SOUND_TRIGGER" ], "Lcom/android/server/soundtrigger/SoundTriggerService$SoundTriggerServiceStub;-updateSoundModel-(Landroid/hardware/soundtrigger/SoundTrigger$GenericSoundModel;)V": [ "android.permission.MANAGE_SOUND_TRIGGER" ], "Lcom/android/server/statusbar/StatusBarManagerService;-addTile-(Landroid/content/ComponentName;)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/statusbar/StatusBarManagerService;-clearNotificationEffects-()V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/statusbar/StatusBarManagerService;-clickTile-(Landroid/content/ComponentName;)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/statusbar/StatusBarManagerService;-collapsePanels-()V": [ "android.permission.EXPAND_STATUS_BAR" ], "Lcom/android/server/statusbar/StatusBarManagerService;-disable-(I Landroid/os/IBinder; Ljava/lang/String;)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/statusbar/StatusBarManagerService;-disable2-(I Landroid/os/IBinder; Ljava/lang/String;)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/statusbar/StatusBarManagerService;-disable2ForUser-(I Landroid/os/IBinder; Ljava/lang/String; I)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/statusbar/StatusBarManagerService;-disableForUser-(I Landroid/os/IBinder; Ljava/lang/String; I)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/statusbar/StatusBarManagerService;-expandNotificationsPanel-()V": [ "android.permission.EXPAND_STATUS_BAR" ], "Lcom/android/server/statusbar/StatusBarManagerService;-expandSettingsPanel-(Ljava/lang/String;)V": [ "android.permission.EXPAND_STATUS_BAR" ], "Lcom/android/server/statusbar/StatusBarManagerService;-onClearAllNotifications-(I)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/statusbar/StatusBarManagerService;-onNotificationActionClick-(Ljava/lang/String; I)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/statusbar/StatusBarManagerService;-onNotificationClear-(Ljava/lang/String; Ljava/lang/String; I I)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/statusbar/StatusBarManagerService;-onNotificationClick-(Ljava/lang/String;)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/statusbar/StatusBarManagerService;-onNotificationError-(Ljava/lang/String; Ljava/lang/String; I I I Ljava/lang/String; I)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/statusbar/StatusBarManagerService;-onNotificationExpansionChanged-(Ljava/lang/String; Z Z)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/statusbar/StatusBarManagerService;-onNotificationVisibilityChanged-([Lcom/android/internal/statusbar/NotificationVisibility; [Lcom/android/internal/statusbar/NotificationVisibility;)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/statusbar/StatusBarManagerService;-onPanelHidden-()V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/statusbar/StatusBarManagerService;-onPanelRevealed-(Z I)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/statusbar/StatusBarManagerService;-registerStatusBar-(Lcom/android/internal/statusbar/IStatusBar; Ljava/util/List; Ljava/util/List; [I Ljava/util/List; Landroid/graphics/Rect; Landroid/graphics/Rect;)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/statusbar/StatusBarManagerService;-remTile-(Landroid/content/ComponentName;)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/statusbar/StatusBarManagerService;-removeIcon-(Ljava/lang/String;)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/statusbar/StatusBarManagerService;-setIcon-(Ljava/lang/String; Ljava/lang/String; I I Ljava/lang/String;)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/statusbar/StatusBarManagerService;-setIconVisibility-(Ljava/lang/String; Z)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/statusbar/StatusBarManagerService;-setImeWindowStatus-(Landroid/os/IBinder; I I Z)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/statusbar/StatusBarManagerService;-setSystemUiVisibility-(I I Ljava/lang/String;)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/tv/TvInputManagerService$BinderService;-acquireTvInputHardware-(I Landroid/media/tv/ITvInputHardwareCallback; Landroid/media/tv/TvInputInfo; I)Landroid/media/tv/ITvInputHardware;": [ "android.permission.TV_INPUT_HARDWARE" ], "Lcom/android/server/tv/TvInputManagerService$BinderService;-addBlockedRating-(Ljava/lang/String; I)V": [ "android.permission.MODIFY_PARENTAL_CONTROLS" ], "Lcom/android/server/tv/TvInputManagerService$BinderService;-captureFrame-(Ljava/lang/String; Landroid/view/Surface; Landroid/media/tv/TvStreamConfig; I)Z": [ "android.permission.CAPTURE_TV_INPUT" ], "Lcom/android/server/tv/TvInputManagerService$BinderService;-getAvailableTvStreamConfigList-(Ljava/lang/String; I)Ljava/util/List;": [ "android.permission.CAPTURE_TV_INPUT" ], "Lcom/android/server/tv/TvInputManagerService$BinderService;-getDvbDeviceList-()Ljava/util/List;": [ "android.permission.DVB_DEVICE" ], "Lcom/android/server/tv/TvInputManagerService$BinderService;-getHardwareList-()Ljava/util/List;": [ "android.permission.TV_INPUT_HARDWARE" ], "Lcom/android/server/tv/TvInputManagerService$BinderService;-openDvbDevice-(Landroid/media/tv/DvbDeviceInfo; I)Landroid/os/ParcelFileDescriptor;": [ "android.permission.DVB_DEVICE" ], "Lcom/android/server/tv/TvInputManagerService$BinderService;-releaseTvInputHardware-(I Landroid/media/tv/ITvInputHardware; I)V": [ "android.permission.TV_INPUT_HARDWARE" ], "Lcom/android/server/tv/TvInputManagerService$BinderService;-removeBlockedRating-(Ljava/lang/String; I)V": [ "android.permission.MODIFY_PARENTAL_CONTROLS" ], "Lcom/android/server/tv/TvInputManagerService$BinderService;-setParentalControlsEnabled-(Z I)V": [ "android.permission.MODIFY_PARENTAL_CONTROLS" ], "Lcom/android/server/tv/TvInputManagerService$BinderService;-unblockContent-(Landroid/os/IBinder; Ljava/lang/String; I)V": [ "android.permission.MODIFY_PARENTAL_CONTROLS" ], "Lcom/android/server/tv/TvInputManagerService$ServiceCallback;-addHardwareInput-(I Landroid/media/tv/TvInputInfo;)V": [ "android.permission.TV_INPUT_HARDWARE" ], "Lcom/android/server/tv/TvInputManagerService$ServiceCallback;-addHdmiInput-(I Landroid/media/tv/TvInputInfo;)V": [ "android.permission.TV_INPUT_HARDWARE" ], "Lcom/android/server/tv/TvInputManagerService$ServiceCallback;-removeHardwareInput-(Ljava/lang/String;)V": [ "android.permission.TV_INPUT_HARDWARE" ], "Lcom/android/server/usage/UsageStatsService$BinderService;-onCarrierPrivilegedAppsChanged-()V": [ "android.permission.BIND_CARRIER_SERVICES" ], "Lcom/android/server/usage/UsageStatsService$BinderService;-queryConfigurationStats-(I J J Ljava/lang/String;)Landroid/content/pm/ParceledListSlice;": [ "android.permission.PACKAGE_USAGE_STATS" ], "Lcom/android/server/usage/UsageStatsService$BinderService;-queryEvents-(J J Ljava/lang/String;)Landroid/app/usage/UsageEvents;": [ "android.permission.PACKAGE_USAGE_STATS" ], "Lcom/android/server/usage/UsageStatsService$BinderService;-queryUsageStats-(I J J Ljava/lang/String;)Landroid/content/pm/ParceledListSlice;": [ "android.permission.PACKAGE_USAGE_STATS" ], "Lcom/android/server/usage/UsageStatsService$BinderService;-setAppInactive-(Ljava/lang/String; Z I)V": [ "android.permission.CHANGE_APP_IDLE_STATE" ], "Lcom/android/server/usb/UsbService;-allowUsbDebugging-(Z Ljava/lang/String;)V": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-clearDefaults-(Ljava/lang/String; I)V": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-clearUsbDebuggingKeys-()V": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-denyUsbDebugging-()V": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-getPortStatus-(Ljava/lang/String;)Landroid/hardware/usb/UsbPortStatus;": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-getPorts-()[Landroid/hardware/usb/UsbPort;": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-grantAccessoryPermission-(Landroid/hardware/usb/UsbAccessory; I)V": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-grantDevicePermission-(Landroid/hardware/usb/UsbDevice; I)V": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-hasDefaults-(Ljava/lang/String; I)Z": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-isFunctionEnabled-(Ljava/lang/String;)Z": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-setAccessoryPackage-(Landroid/hardware/usb/UsbAccessory; Ljava/lang/String; I)V": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-setCurrentFunction-(Ljava/lang/String;)V": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-setDevicePackage-(Landroid/hardware/usb/UsbDevice; Ljava/lang/String; I)V": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-setPortRoles-(Ljava/lang/String; I I)V": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-setUsbDataUnlocked-(Z)V": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;-activeServiceSupportsAssist-()Z": [ "android.permission.ACCESS_VOICE_INTERACTION_SERVICE" ], "Lcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;-activeServiceSupportsLaunchFromKeyguard-()Z": [ "android.permission.ACCESS_VOICE_INTERACTION_SERVICE" ], "Lcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;-deleteKeyphraseSoundModel-(I Ljava/lang/String;)I": [ "android.permission.MANAGE_VOICE_KEYPHRASES" ], "Lcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;-getActiveServiceComponentName-()Landroid/content/ComponentName;": [ "android.permission.ACCESS_VOICE_INTERACTION_SERVICE" ], "Lcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;-getKeyphraseSoundModel-(I Ljava/lang/String;)Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseSoundModel;": [ "android.permission.MANAGE_VOICE_KEYPHRASES" ], "Lcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;-hideCurrentSession-()V": [ "android.permission.ACCESS_VOICE_INTERACTION_SERVICE" ], "Lcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;-isSessionRunning-()Z": [ "android.permission.ACCESS_VOICE_INTERACTION_SERVICE" ], "Lcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;-launchVoiceAssistFromKeyguard-()V": [ "android.permission.ACCESS_VOICE_INTERACTION_SERVICE" ], "Lcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;-onLockscreenShown-()V": [ "android.permission.ACCESS_VOICE_INTERACTION_SERVICE" ], "Lcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;-showSessionForActiveService-(Landroid/os/Bundle; I Lcom/android/internal/app/IVoiceInteractionSessionShowCallback; Landroid/os/IBinder;)Z": [ "android.permission.ACCESS_VOICE_INTERACTION_SERVICE" ], "Lcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;-updateKeyphraseSoundModel-(Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseSoundModel;)I": [ "android.permission.MANAGE_VOICE_KEYPHRASES" ], "Lcom/android/server/wallpaper/WallpaperManagerService;-clearWallpaper-(Ljava/lang/String; I I)V": [ "android.permission.SET_WALLPAPER" ], "Lcom/android/server/wallpaper/WallpaperManagerService;-setDimensionHints-(I I Ljava/lang/String;)V": [ "android.permission.SET_WALLPAPER_HINTS" ], "Lcom/android/server/wallpaper/WallpaperManagerService;-setDisplayPadding-(Landroid/graphics/Rect; Ljava/lang/String;)V": [ "android.permission.SET_WALLPAPER_HINTS" ], "Lcom/android/server/wallpaper/WallpaperManagerService;-setLockWallpaperCallback-(Landroid/app/IWallpaperManagerCallback;)Z": [ "android.permission.INTERNAL_SYSTEM_WINDOW" ], "Lcom/android/server/wallpaper/WallpaperManagerService;-setWallpaper-(Ljava/lang/String; Ljava/lang/String; Landroid/graphics/Rect; Z Landroid/os/Bundle; I Landroid/app/IWallpaperManagerCallback;)Landroid/os/ParcelFileDescriptor;": [ "android.permission.SET_WALLPAPER" ], "Lcom/android/server/wallpaper/WallpaperManagerService;-setWallpaperComponent-(Landroid/content/ComponentName;)V": [ "android.permission.SET_WALLPAPER_COMPONENT" ], "Lcom/android/server/wallpaper/WallpaperManagerService;-setWallpaperComponentChecked-(Landroid/content/ComponentName; Ljava/lang/String;)V": [ "android.permission.SET_WALLPAPER_COMPONENT" ], "Lcom/android/server/webkit/WebViewUpdateService$BinderService;-changeProviderAndSetting-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/webkit/WebViewUpdateService$BinderService;-enableFallbackLogic-(Z)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/wifi/WifiServiceImpl;-acquireMulticastLock-(Landroid/os/IBinder; Ljava/lang/String;)V": [ "android.permission.CHANGE_WIFI_MULTICAST_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-acquireWifiLock-(Landroid/os/IBinder; I Ljava/lang/String; Landroid/os/WorkSource;)Z": [ "android.permission.WAKE_LOCK" ], "Lcom/android/server/wifi/WifiServiceImpl;-addOrUpdateNetwork-(Landroid/net/wifi/WifiConfiguration;)I": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-addToBlacklist-(Ljava/lang/String;)V": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-clearBlacklist-()V": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-disableEphemeralNetwork-(Ljava/lang/String;)V": [ "android.permission.ACCESS_WIFI_STATE", "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-disableNetwork-(I)Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-disconnect-()V": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-enableAggressiveHandover-(I)V": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-enableNetwork-(I Z)Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-enableVerboseLogging-(I)V": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-enableWifiConnectivityManager-(Z)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/wifi/WifiServiceImpl;-factoryReset-()V": [ "android.permission.CHANGE_WIFI_STATE", "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/wifi/WifiServiceImpl;-getAggressiveHandover-()I": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-getAllowScansWithTraffic-()I": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-getConfigFile-()Ljava/lang/String;": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-getConfiguredNetworks-()Ljava/util/List;": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-getConnectionInfo-()Landroid/net/wifi/WifiInfo;": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-getConnectionStatistics-()Landroid/net/wifi/WifiConnectionStatistics;": [ "android.permission.ACCESS_WIFI_STATE", "android.permission.READ_WIFI_CREDENTIAL" ], "Lcom/android/server/wifi/WifiServiceImpl;-getCountryCode-()Ljava/lang/String;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/wifi/WifiServiceImpl;-getCurrentNetwork-()Landroid/net/Network;": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-getDhcpInfo-()Landroid/net/DhcpInfo;": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-getEnableAutoJoinWhenAssociated-()Z": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-getFrequencyBand-()I": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-getMatchingWifiConfig-(Landroid/net/wifi/ScanResult;)Landroid/net/wifi/WifiConfiguration;": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-getPrivilegedConfiguredNetworks-()Ljava/util/List;": [ "android.permission.ACCESS_WIFI_STATE", "android.permission.READ_WIFI_CREDENTIAL" ], "Lcom/android/server/wifi/WifiServiceImpl;-getScanResults-(Ljava/lang/String;)Ljava/util/List;": [ "android.permission.ACCESS_WIFI_STATE", "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.PEERS_MAC_ADDRESS", "android.permission.SCORE_NETWORKS" ], "Lcom/android/server/wifi/WifiServiceImpl;-getSupportedFeatures-()I": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-getVerboseLoggingLevel-()I": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-getWifiApConfiguration-()Landroid/net/wifi/WifiConfiguration;": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-getWifiApEnabledState-()I": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-getWifiEnabledState-()I": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-getWifiServiceMessenger-()Landroid/os/Messenger;": [ "android.permission.ACCESS_WIFI_STATE", "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-getWpsNfcConfigurationToken-(I)Ljava/lang/String;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/wifi/WifiServiceImpl;-initializeMulticastFiltering-()V": [ "android.permission.CHANGE_WIFI_MULTICAST_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-isMulticastEnabled-()Z": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-isScanAlwaysAvailable-()Z": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-pingSupplicant-()Z": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-reassociate-()V": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-reconnect-()V": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-releaseMulticastLock-()V": [ "android.permission.CHANGE_WIFI_MULTICAST_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-releaseWifiLock-(Landroid/os/IBinder;)Z": [ "android.permission.WAKE_LOCK" ], "Lcom/android/server/wifi/WifiServiceImpl;-removeNetwork-(I)Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-reportActivityInfo-()Landroid/net/wifi/WifiActivityEnergyInfo;": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-requestActivityInfo-(Landroid/os/ResultReceiver;)V": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-saveConfiguration-()Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-setAllowScansWithTraffic-(I)V": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-setCountryCode-(Ljava/lang/String; Z)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/wifi/WifiServiceImpl;-setEnableAutoJoinWhenAssociated-(Z)Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-setFrequencyBand-(I Z)V": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-setWifiApConfiguration-(Landroid/net/wifi/WifiConfiguration;)V": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-setWifiApEnabled-(Landroid/net/wifi/WifiConfiguration; Z)V": [ "android.permission.CHANGE_WIFI_STATE", "android.permission.TETHER_PRIVILEGED" ], "Lcom/android/server/wifi/WifiServiceImpl;-setWifiEnabled-(Z)Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-startScan-(Landroid/net/wifi/ScanSettings; Landroid/os/WorkSource;)V": [ "android.permission.CHANGE_WIFI_STATE", "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/wifi/WifiServiceImpl;-updateWifiLockWorkSource-(Landroid/os/IBinder; Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/wifi/p2p/WifiP2pServiceImpl;-getMessenger-()Landroid/os/Messenger;": [ "android.permission.ACCESS_WIFI_STATE", "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/p2p/WifiP2pServiceImpl;-getP2pStateMachineMessenger-()Landroid/os/Messenger;": [ "android.permission.ACCESS_WIFI_STATE", "android.permission.CHANGE_WIFI_STATE", "android.permission.CONNECTIVITY_INTERNAL", "android.permission.LOCATION_HARDWARE" ], "Lcom/android/server/wifi/p2p/WifiP2pServiceImpl;-setMiracastMode-(I)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/wm/WindowManagerService;-addAppToken-(I Landroid/view/IApplicationToken; I I I Z Z I I Z Z Landroid/graphics/Rect; Landroid/content/res/Configuration; I Z Z I)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-addWindowToken-(Landroid/os/IBinder; I)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-clearForcedDisplayDensity-(I)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/wm/WindowManagerService;-clearForcedDisplaySize-(I)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/wm/WindowManagerService;-clearWindowContentFrameStats-(Landroid/os/IBinder;)Z": [ "android.permission.FRAME_STATS" ], "Lcom/android/server/wm/WindowManagerService;-disableKeyguard-(Landroid/os/IBinder; Ljava/lang/String;)V": [ "android.permission.DISABLE_KEYGUARD" ], "Lcom/android/server/wm/WindowManagerService;-dismissKeyguard-()V": [ "android.permission.DISABLE_KEYGUARD" ], "Lcom/android/server/wm/WindowManagerService;-executeAppTransition-()V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-exitKeyguardSecurely-(Landroid/view/IOnKeyguardExitResult;)V": [ "android.permission.DISABLE_KEYGUARD" ], "Lcom/android/server/wm/WindowManagerService;-freezeRotation-(I)V": [ "android.permission.SET_ORIENTATION" ], "Lcom/android/server/wm/WindowManagerService;-getWindowContentFrameStats-(Landroid/os/IBinder;)Landroid/view/WindowContentFrameStats;": [ "android.permission.FRAME_STATS" ], "Lcom/android/server/wm/WindowManagerService;-isViewServerRunning-()Z": [ "android.permission.DUMP" ], "Lcom/android/server/wm/WindowManagerService;-keyguardGoingAway-(I)V": [ "android.permission.DISABLE_KEYGUARD" ], "Lcom/android/server/wm/WindowManagerService;-lockNow-(Landroid/os/Bundle;)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/wm/WindowManagerService;-notifyAppStopped-(Landroid/os/IBinder; Z)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-pauseKeyDispatching-(Landroid/os/IBinder;)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-prepareAppTransition-(I Z)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-reenableKeyguard-(Landroid/os/IBinder;)V": [ "android.permission.DISABLE_KEYGUARD" ], "Lcom/android/server/wm/WindowManagerService;-registerDockedStackListener-(Landroid/view/IDockedStackListener;)V": [ "android.permission.REGISTER_WINDOW_MANAGER_LISTENERS" ], "Lcom/android/server/wm/WindowManagerService;-registerShortcutKey-(J Lcom/android/internal/policy/IShortcutService;)V": [ "android.permission.REGISTER_WINDOW_MANAGER_LISTENERS" ], "Lcom/android/server/wm/WindowManagerService;-removeAppToken-(Landroid/os/IBinder;)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-removeWindowToken-(Landroid/os/IBinder;)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-requestAssistScreenshot-(Lcom/android/internal/app/IAssistScreenshotReceiver;)Z": [ "android.permission.READ_FRAME_BUFFER" ], "Lcom/android/server/wm/WindowManagerService;-resumeKeyDispatching-(Landroid/os/IBinder;)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-screenshotApplications-(Landroid/os/IBinder; I I I F)Landroid/graphics/Bitmap;": [ "android.permission.READ_FRAME_BUFFER" ], "Lcom/android/server/wm/WindowManagerService;-setAnimationScale-(I F)V": [ "android.permission.SET_ANIMATION_SCALE" ], "Lcom/android/server/wm/WindowManagerService;-setAnimationScales-([F)V": [ "android.permission.SET_ANIMATION_SCALE" ], "Lcom/android/server/wm/WindowManagerService;-setAppOrientation-(Landroid/view/IApplicationToken; I)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-setAppStartingWindow-(Landroid/os/IBinder; Ljava/lang/String; I Landroid/content/res/CompatibilityInfo; Ljava/lang/CharSequence; I I I I Landroid/os/IBinder; Z)Z": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-setAppTask-(Landroid/os/IBinder; I I Landroid/graphics/Rect; Landroid/content/res/Configuration; I Z)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-setAppVisibility-(Landroid/os/IBinder; Z)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-setEventDispatching-(Z)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-setFocusedApp-(Landroid/os/IBinder; Z)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-setForcedDisplayDensity-(I I)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/wm/WindowManagerService;-setForcedDisplayScalingMode-(I I)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/wm/WindowManagerService;-setForcedDisplaySize-(I I I)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/wm/WindowManagerService;-setNewConfiguration-(Landroid/content/res/Configuration;)[I": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-setOverscan-(I I I I I)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/wm/WindowManagerService;-startAppFreezingScreen-(Landroid/os/IBinder; I)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-startFreezingScreen-(I I)V": [ "android.permission.FREEZE_SCREEN" ], "Lcom/android/server/wm/WindowManagerService;-startViewServer-(I)Z": [ "android.permission.DUMP" ], "Lcom/android/server/wm/WindowManagerService;-statusBarVisibilityChanged-(I)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/wm/WindowManagerService;-stopAppFreezingScreen-(Landroid/os/IBinder; Z)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-stopFreezingScreen-()V": [ "android.permission.FREEZE_SCREEN" ], "Lcom/android/server/wm/WindowManagerService;-stopViewServer-()Z": [ "android.permission.DUMP" ], "Lcom/android/server/wm/WindowManagerService;-thawRotation-()V": [ "android.permission.SET_ORIENTATION" ], "Lcom/android/server/wm/WindowManagerService;-updateOrientationFromAppTokens-(Landroid/content/res/Configuration; Landroid/os/IBinder;)Landroid/content/res/Configuration;": [ "android.permission.MANAGE_APP_TOKENS" ], "Landroid/accounts/AccountAuthenticatorActivity;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/accounts/AccountAuthenticatorActivity;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/accounts/AccountAuthenticatorActivity;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/accounts/AccountAuthenticatorActivity;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/accounts/AccountAuthenticatorActivity;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/accounts/AccountAuthenticatorActivity;-stopService-(Landroid/content/Intent;)Z": [ "android.permission.BROADCAST_STICKY" ], "Landroid/accounts/AccountAuthenticatorActivity;-unbindService-(Landroid/content/ServiceConnection;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/Activity;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/Activity;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/Activity;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/Activity;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/Activity;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/Activity;-stopLockTask-()V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/Activity;-stopService-(Landroid/content/Intent;)Z": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/Activity;-unbindService-(Landroid/content/ServiceConnection;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ActivityGroup;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/ActivityGroup;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ActivityGroup;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ActivityGroup;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/ActivityGroup;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/ActivityGroup;-stopService-(Landroid/content/Intent;)Z": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ActivityGroup;-unbindService-(Landroid/content/ServiceConnection;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ActivityManager;-getRecentTasks-(I I)Ljava/util/List;": [ "android.permission.GET_TASKS" ], "Landroid/app/ActivityManager;-getRunningAppProcesses-()Ljava/util/List;": [ "android.permission.GET_TASKS" ], "Landroid/app/ActivityManager;-getRunningTasks-(I)Ljava/util/List;": [ "android.permission.GET_TASKS" ], "Landroid/app/ActivityManager;-killBackgroundProcesses-(Ljava/lang/String;)V": [ "android.permission.KILL_BACKGROUND_PROCESSES" ], "Landroid/app/ActivityManager;-moveTaskToFront-(I I)V": [ "android.permission.BROADCAST_STICKY", "android.permission.REORDER_TASKS" ], "Landroid/app/ActivityManager;-moveTaskToFront-(I I Landroid/os/Bundle;)V": [ "android.permission.BROADCAST_STICKY", "android.permission.REORDER_TASKS" ], "Landroid/app/ActivityManager;-restartPackage-(Ljava/lang/String;)V": [ "android.permission.KILL_BACKGROUND_PROCESSES" ], "Landroid/app/AliasActivity;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/AliasActivity;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/AliasActivity;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/AliasActivity;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/AliasActivity;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/AliasActivity;-stopService-(Landroid/content/Intent;)Z": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/AliasActivity;-unbindService-(Landroid/content/ServiceConnection;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/Application;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/Application;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/Application;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/Application;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/Application;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/Application;-stopService-(Landroid/content/Intent;)Z": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/Application;-unbindService-(Landroid/content/ServiceConnection;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ExpandableListActivity;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/ExpandableListActivity;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ExpandableListActivity;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ExpandableListActivity;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/ExpandableListActivity;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/ExpandableListActivity;-stopService-(Landroid/content/Intent;)Z": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ExpandableListActivity;-unbindService-(Landroid/content/ServiceConnection;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/JobSchedulerImpl;-schedule-(Landroid/app/job/JobInfo;)I": [ "android.permission.RECEIVE_BOOT_COMPLETED" ], "Landroid/app/KeyguardManager$KeyguardLock;-disableKeyguard-()V": [ "android.permission.DISABLE_KEYGUARD" ], "Landroid/app/KeyguardManager$KeyguardLock;-reenableKeyguard-()V": [ "android.permission.DISABLE_KEYGUARD" ], "Landroid/app/KeyguardManager;-exitKeyguardSecurely-(Landroid/app/KeyguardManager$OnKeyguardExitResult;)V": [ "android.permission.DISABLE_KEYGUARD" ], "Landroid/app/ListActivity;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/ListActivity;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ListActivity;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ListActivity;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/ListActivity;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/ListActivity;-stopService-(Landroid/content/Intent;)Z": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ListActivity;-unbindService-(Landroid/content/ServiceConnection;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/NativeActivity;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/NativeActivity;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/NativeActivity;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/NativeActivity;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/NativeActivity;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/NativeActivity;-stopService-(Landroid/content/Intent;)Z": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/NativeActivity;-unbindService-(Landroid/content/ServiceConnection;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/Service;-stopSelf-()V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/Service;-stopSelf-(I)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/Service;-stopSelfResult-(I)Z": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/TabActivity;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/TabActivity;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/TabActivity;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/TabActivity;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/TabActivity;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/TabActivity;-stopService-(Landroid/content/Intent;)Z": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/TabActivity;-unbindService-(Landroid/content/ServiceConnection;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/WallpaperManager;-clear-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/WallpaperManager;-clear-(I)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/WallpaperManager;-setBitmap-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/WallpaperManager;-setBitmap-(Landroid/graphics/Bitmap; Landroid/graphics/Rect; Z)I": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/WallpaperManager;-setBitmap-(Landroid/graphics/Bitmap; Landroid/graphics/Rect; Z I)I": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/WallpaperManager;-setResource-(I)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/WallpaperManager;-setResource-(I I)I": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/WallpaperManager;-setStream-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/WallpaperManager;-setStream-(Ljava/io/InputStream; Landroid/graphics/Rect; Z)I": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/WallpaperManager;-setStream-(Ljava/io/InputStream; Landroid/graphics/Rect; Z I)I": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/WallpaperManager;-suggestDesiredDimensions-(I I)V": [ "android.permission.SET_WALLPAPER_HINTS" ], "Landroid/app/admin/DevicePolicyManager;-getWifiMacAddress-(Landroid/content/ComponentName;)Ljava/lang/String;": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/app/backup/BackupAgentHelper;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/backup/BackupAgentHelper;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/backup/BackupAgentHelper;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/backup/BackupAgentHelper;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/backup/BackupAgentHelper;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/backup/BackupAgentHelper;-stopService-(Landroid/content/Intent;)Z": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/backup/BackupAgentHelper;-unbindService-(Landroid/content/ServiceConnection;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/backup/BackupManager;-dataChanged-()V": [ "android.permission.RECEIVE_BOOT_COMPLETED" ], "Landroid/app/backup/BackupManager;-dataChanged-(Ljava/lang/String;)V": [ "android.permission.RECEIVE_BOOT_COMPLETED" ], "Landroid/bluetooth/BluetoothA2dp;-getConnectedDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothA2dp;-getConnectionState-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothA2dp;-getDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothA2dp;-isA2dpPlaying-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-cancelDiscovery-()Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothAdapter;-closeProfileProxy-(I Landroid/bluetooth/BluetoothProfile;)V": [ "android.permission.BLUETOOTH", "android.permission.BROADCAST_STICKY" ], "Landroid/bluetooth/BluetoothAdapter;-disable-()Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothAdapter;-enable-()Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothAdapter;-getAddress-()Ljava/lang/String;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-getBluetoothLeAdvertiser-()Landroid/bluetooth/le/BluetoothLeAdvertiser;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-getBluetoothLeScanner-()Landroid/bluetooth/le/BluetoothLeScanner;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-getBondedDevices-()Ljava/util/Set;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-getName-()Ljava/lang/String;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-getProfileConnectionState-(I)I": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-getProfileProxy-(Landroid/content/Context; Landroid/bluetooth/BluetoothProfile$ServiceListener; I)Z": [ "android.permission.BLUETOOTH", "android.permission.BROADCAST_STICKY" ], "Landroid/bluetooth/BluetoothAdapter;-getScanMode-()I": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-getState-()I": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-isDiscovering-()Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-isEnabled-()Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-isMultipleAdvertisementSupported-()Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-isOffloadedFilteringSupported-()Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-isOffloadedScanBatchingSupported-()Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-listenUsingInsecureRfcommWithServiceRecord-(Ljava/lang/String; Ljava/util/UUID;)Landroid/bluetooth/BluetoothServerSocket;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-listenUsingRfcommWithServiceRecord-(Ljava/lang/String; Ljava/util/UUID;)Landroid/bluetooth/BluetoothServerSocket;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-setName-(Ljava/lang/String;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothAdapter;-startDiscovery-()Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothAdapter;-startLeScan-([Ljava/util/UUID; Landroid/bluetooth/BluetoothAdapter$LeScanCallback;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-startLeScan-(Landroid/bluetooth/BluetoothAdapter$LeScanCallback;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-stopLeScan-(Landroid/bluetooth/BluetoothAdapter$LeScanCallback;)V": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothDevice;-connectGatt-(Landroid/content/Context; Z Landroid/bluetooth/BluetoothGattCallback;)Landroid/bluetooth/BluetoothGatt;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothDevice;-connectGatt-(Landroid/content/Context; Z Landroid/bluetooth/BluetoothGattCallback; I)Landroid/bluetooth/BluetoothGatt;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothDevice;-createBond-()Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothDevice;-createInsecureRfcommSocketToServiceRecord-(Ljava/util/UUID;)Landroid/bluetooth/BluetoothSocket;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothDevice;-createRfcommSocketToServiceRecord-(Ljava/util/UUID;)Landroid/bluetooth/BluetoothSocket;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothDevice;-fetchUuidsWithSdp-()Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothDevice;-getBluetoothClass-()Landroid/bluetooth/BluetoothClass;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothDevice;-getBondState-()I": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothDevice;-getName-()Ljava/lang/String;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothDevice;-getType-()I": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothDevice;-getUuids-()[Landroid/os/ParcelUuid;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothDevice;-setPairingConfirmation-(Z)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothDevice;-setPin-([B)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothGatt;-abortReliableWrite-()V": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-abortReliableWrite-(Landroid/bluetooth/BluetoothDevice;)V": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-beginReliableWrite-()Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-close-()V": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-connect-()Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-disconnect-()V": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-discoverServices-()Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-executeReliableWrite-()Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-readCharacteristic-(Landroid/bluetooth/BluetoothGattCharacteristic;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-readDescriptor-(Landroid/bluetooth/BluetoothGattDescriptor;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-readRemoteRssi-()Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-requestConnectionPriority-(I)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-requestMtu-(I)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-setCharacteristicNotification-(Landroid/bluetooth/BluetoothGattCharacteristic; Z)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-writeCharacteristic-(Landroid/bluetooth/BluetoothGattCharacteristic;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-writeDescriptor-(Landroid/bluetooth/BluetoothGattDescriptor;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGattServer;-addService-(Landroid/bluetooth/BluetoothGattService;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGattServer;-cancelConnection-(Landroid/bluetooth/BluetoothDevice;)V": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGattServer;-clearServices-()V": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGattServer;-close-()V": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGattServer;-connect-(Landroid/bluetooth/BluetoothDevice; Z)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGattServer;-notifyCharacteristicChanged-(Landroid/bluetooth/BluetoothDevice; Landroid/bluetooth/BluetoothGattCharacteristic; Z)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGattServer;-removeService-(Landroid/bluetooth/BluetoothGattService;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGattServer;-sendResponse-(Landroid/bluetooth/BluetoothDevice; I I I [B)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHeadset;-getConnectedDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHeadset;-getConnectionState-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHeadset;-getDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHeadset;-isAudioConnected-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHeadset;-sendVendorSpecificResultCode-(Landroid/bluetooth/BluetoothDevice; Ljava/lang/String; Ljava/lang/String;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothHeadset;-startVoiceRecognition-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothHeadset;-stopVoiceRecognition-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothHealth;-connectChannelToSource-(Landroid/bluetooth/BluetoothDevice; Landroid/bluetooth/BluetoothHealthAppConfiguration;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHealth;-disconnectChannel-(Landroid/bluetooth/BluetoothDevice; Landroid/bluetooth/BluetoothHealthAppConfiguration; I)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHealth;-getConnectedDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHealth;-getConnectionState-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHealth;-getDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHealth;-getMainChannelFd-(Landroid/bluetooth/BluetoothDevice; Landroid/bluetooth/BluetoothHealthAppConfiguration;)Landroid/os/ParcelFileDescriptor;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHealth;-registerSinkAppConfiguration-(Ljava/lang/String; I Landroid/bluetooth/BluetoothHealthCallback;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHealth;-unregisterAppConfiguration-(Landroid/bluetooth/BluetoothHealthAppConfiguration;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothManager;-getConnectedDevices-(I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothManager;-getConnectionState-(Landroid/bluetooth/BluetoothDevice; I)I": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothManager;-getDevicesMatchingConnectionStates-(I [I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothManager;-openGattServer-(Landroid/content/Context; Landroid/bluetooth/BluetoothGattServerCallback;)Landroid/bluetooth/BluetoothGattServer;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothSocket;-connect-()V": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/le/BluetoothLeAdvertiser;-startAdvertising-(Landroid/bluetooth/le/AdvertiseSettings; Landroid/bluetooth/le/AdvertiseData; Landroid/bluetooth/le/AdvertiseCallback;)V": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/le/BluetoothLeAdvertiser;-startAdvertising-(Landroid/bluetooth/le/AdvertiseSettings; Landroid/bluetooth/le/AdvertiseData; Landroid/bluetooth/le/AdvertiseData; Landroid/bluetooth/le/AdvertiseCallback;)V": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/le/BluetoothLeAdvertiser;-stopAdvertising-(Landroid/bluetooth/le/AdvertiseCallback;)V": [ "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/le/BluetoothLeScanner;-flushPendingScanResults-(Landroid/bluetooth/le/ScanCallback;)V": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/le/BluetoothLeScanner;-startScan-(Landroid/bluetooth/le/ScanCallback;)V": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/le/BluetoothLeScanner;-startScan-(Ljava/util/List; Landroid/bluetooth/le/ScanSettings; Landroid/bluetooth/le/ScanCallback;)V": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/le/BluetoothLeScanner;-stopScan-(Landroid/bluetooth/le/ScanCallback;)V": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Landroid/content/ContextWrapper;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/content/ContextWrapper;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/content/ContextWrapper;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/content/ContextWrapper;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/content/ContextWrapper;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/content/ContextWrapper;-stopService-(Landroid/content/Intent;)Z": [ "android.permission.BROADCAST_STICKY" ], "Landroid/content/ContextWrapper;-unbindService-(Landroid/content/ServiceConnection;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/content/MutableContextWrapper;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/content/MutableContextWrapper;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/content/MutableContextWrapper;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/content/MutableContextWrapper;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/content/MutableContextWrapper;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/content/MutableContextWrapper;-stopService-(Landroid/content/Intent;)Z": [ "android.permission.BROADCAST_STICKY" ], "Landroid/content/MutableContextWrapper;-unbindService-(Landroid/content/ServiceConnection;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/hardware/ConsumerIrManager;-getCarrierFrequencies-()[Landroid/hardware/ConsumerIrManager$CarrierFrequencyRange;": [ "android.permission.TRANSMIT_IR" ], "Landroid/hardware/ConsumerIrManager;-transmit-(I [I)V": [ "android.permission.TRANSMIT_IR" ], "Landroid/hardware/fingerprint/FingerprintManager;-authenticate-(Landroid/hardware/fingerprint/FingerprintManager$CryptoObject; Landroid/os/CancellationSignal; I Landroid/hardware/fingerprint/FingerprintManager$AuthenticationCallback; Landroid/os/Handler;)V": [ "android.permission.USE_FINGERPRINT" ], "Landroid/hardware/fingerprint/FingerprintManager;-hasEnrolledFingerprints-()Z": [ "android.permission.USE_FINGERPRINT" ], "Landroid/hardware/fingerprint/FingerprintManager;-isHardwareDetected-()Z": [ "android.permission.USE_FINGERPRINT" ], "Landroid/inputmethodservice/InputMethodService;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/inputmethodservice/InputMethodService;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/inputmethodservice/InputMethodService;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/inputmethodservice/InputMethodService;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/inputmethodservice/InputMethodService;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/inputmethodservice/InputMethodService;-stopService-(Landroid/content/Intent;)Z": [ "android.permission.BROADCAST_STICKY" ], "Landroid/inputmethodservice/InputMethodService;-unbindService-(Landroid/content/ServiceConnection;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/location/LocationManager;-addGpsStatusListener-(Landroid/location/GpsStatus$Listener;)Z": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-addNmeaListener-(Landroid/location/GpsStatus$NmeaListener;)Z": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-addNmeaListener-(Landroid/location/OnNmeaMessageListener;)Z": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-addNmeaListener-(Landroid/location/OnNmeaMessageListener; Landroid/os/Handler;)Z": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-addProximityAlert-(D D F J Landroid/app/PendingIntent;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-getBestProvider-(Landroid/location/Criteria; Z)Ljava/lang/String;": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-getLastKnownLocation-(Ljava/lang/String;)Landroid/location/Location;": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-getProvider-(Ljava/lang/String;)Landroid/location/LocationProvider;": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-getProviders-(Landroid/location/Criteria; Z)Ljava/util/List;": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-getProviders-(Z)Ljava/util/List;": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-registerGnssStatusCallback-(Landroid/location/GnssStatus$Callback;)Z": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-registerGnssStatusCallback-(Landroid/location/GnssStatus$Callback; Landroid/os/Handler;)Z": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-removeUpdates-(Landroid/app/PendingIntent;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-removeUpdates-(Landroid/location/LocationListener;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-requestLocationUpdates-(Ljava/lang/String; J F Landroid/app/PendingIntent;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-requestLocationUpdates-(Ljava/lang/String; J F Landroid/location/LocationListener;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-requestLocationUpdates-(Ljava/lang/String; J F Landroid/location/LocationListener; Landroid/os/Looper;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-requestLocationUpdates-(J F Landroid/location/Criteria; Landroid/app/PendingIntent;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-requestLocationUpdates-(J F Landroid/location/Criteria; Landroid/location/LocationListener; Landroid/os/Looper;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-requestSingleUpdate-(Landroid/location/Criteria; Landroid/app/PendingIntent;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-requestSingleUpdate-(Landroid/location/Criteria; Landroid/location/LocationListener; Landroid/os/Looper;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-requestSingleUpdate-(Ljava/lang/String; Landroid/app/PendingIntent;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-requestSingleUpdate-(Ljava/lang/String; Landroid/location/LocationListener; Landroid/os/Looper;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-sendExtraCommand-(Ljava/lang/String; Ljava/lang/String; Landroid/os/Bundle;)Z": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION", "android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" ], "Landroid/media/AsyncPlayer;-play-(Landroid/content/Context; Landroid/net/Uri; Z Landroid/media/AudioAttributes;)V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/AsyncPlayer;-play-(Landroid/content/Context; Landroid/net/Uri; Z I)V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/AsyncPlayer;-stop-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/AudioManager;-adjustStreamVolume-(I I I)V": [ "android.permission.BLUETOOTH" ], "Landroid/media/AudioManager;-setBluetoothScoOn-(Z)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/media/AudioManager;-setMicrophoneMute-(Z)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/media/AudioManager;-setMode-(I)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/media/AudioManager;-setSpeakerphoneOn-(Z)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/media/AudioManager;-setStreamMute-(I Z)V": [ "android.permission.BLUETOOTH" ], "Landroid/media/AudioManager;-setStreamVolume-(I I I)V": [ "android.permission.BLUETOOTH" ], "Landroid/media/AudioManager;-startBluetoothSco-()V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/media/AudioManager;-stopBluetoothSco-()V": [ "android.permission.BLUETOOTH", "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/media/MediaPlayer;-pause-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/MediaPlayer;-release-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/MediaPlayer;-reset-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/MediaPlayer;-setWakeMode-(Landroid/content/Context; I)V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/MediaPlayer;-start-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/MediaPlayer;-stop-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/MediaRouter$RouteGroup;-requestSetVolume-(I)V": [ "android.permission.BLUETOOTH" ], "Landroid/media/MediaRouter$RouteGroup;-requestUpdateVolume-(I)V": [ "android.permission.BLUETOOTH" ], "Landroid/media/MediaRouter$RouteInfo;-requestSetVolume-(I)V": [ "android.permission.BLUETOOTH" ], "Landroid/media/MediaRouter$RouteInfo;-requestUpdateVolume-(I)V": [ "android.permission.BLUETOOTH" ], "Landroid/media/MediaScannerConnection;-disconnect-()V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/media/Ringtone;-play-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/Ringtone;-setAudioAttributes-(Landroid/media/AudioAttributes;)V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/Ringtone;-setStreamType-(I)V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/Ringtone;-stop-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/RingtoneManager;-getRingtone-(Landroid/content/Context; Landroid/net/Uri;)Landroid/media/Ringtone;": [ "android.permission.WAKE_LOCK" ], "Landroid/media/RingtoneManager;-getRingtone-(I)Landroid/media/Ringtone;": [ "android.permission.WAKE_LOCK" ], "Landroid/media/RingtoneManager;-stopPreviousRingtone-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/browse/MediaBrowser;-disconnect-()V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/net/ConnectivityManager;-getActiveNetwork-()Landroid/net/Network;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-getActiveNetworkInfo-()Landroid/net/NetworkInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-getAllNetworkInfo-()[Landroid/net/NetworkInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-getAllNetworks-()[Landroid/net/Network;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-getLinkProperties-(Landroid/net/Network;)Landroid/net/LinkProperties;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-getNetworkCapabilities-(Landroid/net/Network;)Landroid/net/NetworkCapabilities;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-getNetworkInfo-(Landroid/net/Network;)Landroid/net/NetworkInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-getNetworkInfo-(I)Landroid/net/NetworkInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-getRestrictBackgroundStatus-()I": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-isActiveNetworkMetered-()Z": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-registerDefaultNetworkCallback-(Landroid/net/ConnectivityManager$NetworkCallback;)V": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.ACCESS_WIFI_STATE", "android.permission.CHANGE_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-registerNetworkCallback-(Landroid/net/NetworkRequest; Landroid/app/PendingIntent;)V": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/ConnectivityManager;-registerNetworkCallback-(Landroid/net/NetworkRequest; Landroid/net/ConnectivityManager$NetworkCallback;)V": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.ACCESS_WIFI_STATE", "android.permission.CHANGE_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-reportBadNetwork-(Landroid/net/Network;)V": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.INTERNET" ], "Landroid/net/ConnectivityManager;-reportNetworkConnectivity-(Landroid/net/Network; Z)V": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.INTERNET" ], "Landroid/net/ConnectivityManager;-requestBandwidthUpdate-(Landroid/net/Network;)Z": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-requestNetwork-(Landroid/net/NetworkRequest; Landroid/app/PendingIntent;)V": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.CHANGE_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-requestNetwork-(Landroid/net/NetworkRequest; Landroid/net/ConnectivityManager$NetworkCallback;)V": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.ACCESS_WIFI_STATE", "android.permission.CHANGE_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-requestRouteToHost-(I I)Z": [ "android.permission.CHANGE_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-startUsingNetworkFeature-(I Ljava/lang/String;)I": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.ACCESS_WIFI_STATE", "android.permission.CHANGE_NETWORK_STATE" ], "Landroid/net/VpnService;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/net/VpnService;-onRevoke-()V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/net/VpnService;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/net/VpnService;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/net/VpnService;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/net/VpnService;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/net/VpnService;-stopService-(Landroid/content/Intent;)Z": [ "android.permission.BROADCAST_STICKY" ], "Landroid/net/VpnService;-unbindService-(Landroid/content/ServiceConnection;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/net/sip/SipAudioCall;-close-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/net/sip/SipAudioCall;-endCall-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/net/sip/SipAudioCall;-setSpeakerMode-(Z)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/net/sip/SipAudioCall;-startAudio-()V": [ "android.permission.ACCESS_WIFI_STATE", "android.permission.WAKE_LOCK" ], "Landroid/net/sip/SipManager;-close-(Ljava/lang/String;)V": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-createSipSession-(Landroid/net/sip/SipProfile; Landroid/net/sip/SipSession$Listener;)Landroid/net/sip/SipSession;": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-getSessionFor-(Landroid/content/Intent;)Landroid/net/sip/SipSession;": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-isOpened-(Ljava/lang/String;)Z": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-isRegistered-(Ljava/lang/String;)Z": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-makeAudioCall-(Landroid/net/sip/SipProfile; Landroid/net/sip/SipProfile; Landroid/net/sip/SipAudioCall$Listener; I)Landroid/net/sip/SipAudioCall;": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-makeAudioCall-(Ljava/lang/String; Ljava/lang/String; Landroid/net/sip/SipAudioCall$Listener; I)Landroid/net/sip/SipAudioCall;": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-open-(Landroid/net/sip/SipProfile;)V": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-open-(Landroid/net/sip/SipProfile; Landroid/app/PendingIntent; Landroid/net/sip/SipRegistrationListener;)V": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-register-(Landroid/net/sip/SipProfile; I Landroid/net/sip/SipRegistrationListener;)V": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-setRegistrationListener-(Ljava/lang/String; Landroid/net/sip/SipRegistrationListener;)V": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-takeAudioCall-(Landroid/content/Intent; Landroid/net/sip/SipAudioCall$Listener;)Landroid/net/sip/SipAudioCall;": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-unregister-(Landroid/net/sip/SipProfile; Landroid/net/sip/SipRegistrationListener;)V": [ "android.permission.USE_SIP" ], "Landroid/net/wifi/WifiManager$MulticastLock;-acquire-()V": [ "android.permission.CHANGE_WIFI_MULTICAST_STATE" ], "Landroid/net/wifi/WifiManager$MulticastLock;-release-()V": [ "android.permission.CHANGE_WIFI_MULTICAST_STATE" ], "Landroid/net/wifi/WifiManager$WifiLock;-acquire-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/net/wifi/WifiManager$WifiLock;-release-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/net/wifi/WifiManager;-addNetwork-(Landroid/net/wifi/WifiConfiguration;)I": [ "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-cancelWps-(Landroid/net/wifi/WifiManager$WpsCallback;)V": [ "android.permission.ACCESS_WIFI_STATE", "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-disableNetwork-(I)Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-disconnect-()Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-enableNetwork-(I Z)Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-getConfiguredNetworks-()Ljava/util/List;": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-getConnectionInfo-()Landroid/net/wifi/WifiInfo;": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-getDhcpInfo-()Landroid/net/DhcpInfo;": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-getScanResults-()Ljava/util/List;": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-getWifiState-()I": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-is5GHzBandSupported-()Z": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-isDeviceToApRttSupported-()Z": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-isEnhancedPowerReportingSupported-()Z": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-isP2pSupported-()Z": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-isPreferredNetworkOffloadSupported-()Z": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-isScanAlwaysAvailable-()Z": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-isTdlsSupported-()Z": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-isWifiEnabled-()Z": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-pingSupplicant-()Z": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-reassociate-()Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-reconnect-()Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-removeNetwork-(I)Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-saveConfiguration-()Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-setWifiEnabled-(Z)Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-startScan-()Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-startWps-(Landroid/net/wifi/WpsInfo; Landroid/net/wifi/WifiManager$WpsCallback;)V": [ "android.permission.ACCESS_WIFI_STATE", "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-updateNetwork-(Landroid/net/wifi/WifiConfiguration;)I": [ "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/p2p/WifiP2pManager;-initialize-(Landroid/content/Context; Landroid/os/Looper; Landroid/net/wifi/p2p/WifiP2pManager$ChannelListener;)Landroid/net/wifi/p2p/WifiP2pManager$Channel;": [ "android.permission.ACCESS_WIFI_STATE", "android.permission.CHANGE_WIFI_STATE" ], "Landroid/os/PowerManager$WakeLock;-acquire-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/os/PowerManager$WakeLock;-acquire-(J)V": [ "android.permission.WAKE_LOCK" ], "Landroid/os/PowerManager$WakeLock;-release-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/os/PowerManager$WakeLock;-release-(I)V": [ "android.permission.WAKE_LOCK" ], "Landroid/os/PowerManager$WakeLock;-setWorkSource-(Landroid/os/WorkSource;)V": [ "android.permission.WAKE_LOCK" ], "Landroid/os/SystemVibrator;-cancel-()V": [ "android.permission.VIBRATE" ], "Landroid/os/SystemVibrator;-vibrate-(I Ljava/lang/String; [J I Landroid/media/AudioAttributes;)V": [ "android.permission.VIBRATE" ], "Landroid/os/SystemVibrator;-vibrate-(I Ljava/lang/String; J Landroid/media/AudioAttributes;)V": [ "android.permission.VIBRATE" ], "Landroid/security/KeyChain;-getCertificateChain-(Landroid/content/Context; Ljava/lang/String;)[Ljava/security/cert/X509Certificate;": [ "android.permission.BROADCAST_STICKY" ], "Landroid/security/KeyChain;-getPrivateKey-(Landroid/content/Context; Ljava/lang/String;)Ljava/security/PrivateKey;": [ "android.permission.BROADCAST_STICKY" ], "Landroid/service/dreams/DreamService;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/service/dreams/DreamService;-dispatchGenericMotionEvent-(Landroid/view/MotionEvent;)Z": [ "android.permission.BROADCAST_STICKY" ], "Landroid/service/dreams/DreamService;-dispatchKeyEvent-(Landroid/view/KeyEvent;)Z": [ "android.permission.BROADCAST_STICKY" ], "Landroid/service/dreams/DreamService;-dispatchKeyShortcutEvent-(Landroid/view/KeyEvent;)Z": [ "android.permission.BROADCAST_STICKY" ], "Landroid/service/dreams/DreamService;-dispatchTouchEvent-(Landroid/view/MotionEvent;)Z": [ "android.permission.BROADCAST_STICKY" ], "Landroid/service/dreams/DreamService;-dispatchTrackballEvent-(Landroid/view/MotionEvent;)Z": [ "android.permission.BROADCAST_STICKY" ], "Landroid/service/dreams/DreamService;-finish-()V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/service/dreams/DreamService;-onWakeUp-()V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/service/dreams/DreamService;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/service/dreams/DreamService;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/service/dreams/DreamService;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/service/dreams/DreamService;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/service/dreams/DreamService;-stopService-(Landroid/content/Intent;)Z": [ "android.permission.BROADCAST_STICKY" ], "Landroid/service/dreams/DreamService;-unbindService-(Landroid/content/ServiceConnection;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/service/dreams/DreamService;-wakeUp-()V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/service/quicksettings/TileService;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/service/quicksettings/TileService;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/service/quicksettings/TileService;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/service/quicksettings/TileService;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/service/quicksettings/TileService;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/service/quicksettings/TileService;-stopService-(Landroid/content/Intent;)Z": [ "android.permission.BROADCAST_STICKY" ], "Landroid/service/quicksettings/TileService;-unbindService-(Landroid/content/ServiceConnection;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/service/voice/VoiceInteractionService;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/service/voice/VoiceInteractionService;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/service/voice/VoiceInteractionService;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/service/voice/VoiceInteractionService;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/service/voice/VoiceInteractionService;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/service/voice/VoiceInteractionService;-stopService-(Landroid/content/Intent;)Z": [ "android.permission.BROADCAST_STICKY" ], "Landroid/service/voice/VoiceInteractionService;-unbindService-(Landroid/content/ServiceConnection;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/speech/SpeechRecognizer;-destroy-()V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/speech/tts/TextToSpeech;-getAvailableLanguages-()Ljava/util/Set;": [ "android.permission.BROADCAST_STICKY" ], "Landroid/speech/tts/TextToSpeech;-getDefaultLanguage-()Ljava/util/Locale;": [ "android.permission.BROADCAST_STICKY" ], "Landroid/speech/tts/TextToSpeech;-getDefaultVoice-()Landroid/speech/tts/Voice;": [ "android.permission.BROADCAST_STICKY" ], "Landroid/speech/tts/TextToSpeech;-getFeatures-(Ljava/util/Locale;)Ljava/util/Set;": [ "android.permission.BROADCAST_STICKY" ], "Landroid/speech/tts/TextToSpeech;-getLanguage-()Ljava/util/Locale;": [ "android.permission.BROADCAST_STICKY" ], "Landroid/speech/tts/TextToSpeech;-getVoice-()Landroid/speech/tts/Voice;": [ "android.permission.BROADCAST_STICKY" ], "Landroid/speech/tts/TextToSpeech;-getVoices-()Ljava/util/Set;": [ "android.permission.BROADCAST_STICKY" ], "Landroid/speech/tts/TextToSpeech;-isLanguageAvailable-(Ljava/util/Locale;)I": [ "android.permission.BROADCAST_STICKY" ], "Landroid/speech/tts/TextToSpeech;-isSpeaking-()Z": [ "android.permission.BROADCAST_STICKY" ], "Landroid/speech/tts/TextToSpeech;-playEarcon-(Ljava/lang/String; I Landroid/os/Bundle; Ljava/lang/String;)I": [ "android.permission.BROADCAST_STICKY" ], "Landroid/speech/tts/TextToSpeech;-playEarcon-(Ljava/lang/String; I Ljava/util/HashMap;)I": [ "android.permission.BROADCAST_STICKY" ], "Landroid/speech/tts/TextToSpeech;-playSilence-(J I Ljava/util/HashMap;)I": [ "android.permission.BROADCAST_STICKY" ], "Landroid/speech/tts/TextToSpeech;-playSilentUtterance-(J I Ljava/lang/String;)I": [ "android.permission.BROADCAST_STICKY" ], "Landroid/speech/tts/TextToSpeech;-setLanguage-(Ljava/util/Locale;)I": [ "android.permission.BROADCAST_STICKY" ], "Landroid/speech/tts/TextToSpeech;-setVoice-(Landroid/speech/tts/Voice;)I": [ "android.permission.BROADCAST_STICKY" ], "Landroid/speech/tts/TextToSpeech;-shutdown-()V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/speech/tts/TextToSpeech;-speak-(Ljava/lang/CharSequence; I Landroid/os/Bundle; Ljava/lang/String;)I": [ "android.permission.BROADCAST_STICKY" ], "Landroid/speech/tts/TextToSpeech;-speak-(Ljava/lang/String; I Ljava/util/HashMap;)I": [ "android.permission.BROADCAST_STICKY" ], "Landroid/speech/tts/TextToSpeech;-stop-()I": [ "android.permission.BROADCAST_STICKY" ], "Landroid/speech/tts/TextToSpeech;-synthesizeToFile-(Ljava/lang/CharSequence; Landroid/os/Bundle; Ljava/io/File; Ljava/lang/String;)I": [ "android.permission.BROADCAST_STICKY" ], "Landroid/speech/tts/TextToSpeech;-synthesizeToFile-(Ljava/lang/String; Ljava/util/HashMap; Ljava/lang/String;)I": [ "android.permission.BROADCAST_STICKY" ], "Landroid/telephony/PhoneNumberUtils;-isVoiceMailNumber-(Ljava/lang/String;)Z": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/telephony/SmsManager;-divideMessage-(Ljava/lang/String;)Ljava/util/ArrayList;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/telephony/SmsManager;-downloadMultimediaMessage-(Landroid/content/Context; Ljava/lang/String; Landroid/net/Uri; Landroid/os/Bundle; Landroid/app/PendingIntent;)V": [ "android.permission.RECEIVE_MMS" ], "Landroid/telephony/SmsManager;-sendDataMessage-(Ljava/lang/String; Ljava/lang/String; S [B Landroid/app/PendingIntent; Landroid/app/PendingIntent;)V": [ "android.permission.READ_EXTERNAL_STORAGE", "android.permission.SEND_SMS" ], "Landroid/telephony/SmsManager;-sendMultimediaMessage-(Landroid/content/Context; Landroid/net/Uri; Ljava/lang/String; Landroid/os/Bundle; Landroid/app/PendingIntent;)V": [ "android.permission.SEND_SMS" ], "Landroid/telephony/SmsManager;-sendMultipartTextMessage-(Ljava/lang/String; Ljava/lang/String; Ljava/util/ArrayList; Ljava/util/ArrayList; Ljava/util/ArrayList;)V": [ "android.permission.READ_EXTERNAL_STORAGE", "android.permission.SEND_SMS" ], "Landroid/telephony/SmsManager;-sendTextMessage-(Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Landroid/app/PendingIntent; Landroid/app/PendingIntent;)V": [ "android.permission.READ_EXTERNAL_STORAGE", "android.permission.SEND_SMS" ], "Landroid/telephony/TelephonyManager;-getAllCellInfo-()Ljava/util/List;": [ "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/telephony/TelephonyManager;-getCellLocation-()Landroid/telephony/CellLocation;": [ "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/telephony/TelephonyManager;-getDeviceId-(I)Ljava/lang/String;": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.READ_PHONE_STATE" ], "Landroid/telephony/TelephonyManager;-getGroupIdLevel1-()Ljava/lang/String;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/telephony/TelephonyManager;-getIccAuthentication-(I I Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/telephony/TelephonyManager;-getLine1Number-()Ljava/lang/String;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/telephony/TelephonyManager;-getNeighboringCellInfo-()Ljava/util/List;": [ "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/telephony/TelephonyManager;-getPhoneCount-()I": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/telephony/TelephonyManager;-getSimSerialNumber-()Ljava/lang/String;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/telephony/TelephonyManager;-getSimState-()I": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/telephony/TelephonyManager;-getSubscriberId-()Ljava/lang/String;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/telephony/TelephonyManager;-getVoiceMailAlphaTag-()Ljava/lang/String;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/telephony/TelephonyManager;-getVoiceMailNumber-()Ljava/lang/String;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/telephony/TelephonyManager;-listen-(Landroid/telephony/PhoneStateListener; I)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.READ_PHONE_STATE" ], "Landroid/telephony/gsm/SmsManager;-divideMessage-(Ljava/lang/String;)Ljava/util/ArrayList;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/telephony/gsm/SmsManager;-sendDataMessage-(Ljava/lang/String; Ljava/lang/String; S [B Landroid/app/PendingIntent; Landroid/app/PendingIntent;)V": [ "android.permission.READ_EXTERNAL_STORAGE", "android.permission.SEND_SMS" ], "Landroid/telephony/gsm/SmsManager;-sendMultipartTextMessage-(Ljava/lang/String; Ljava/lang/String; Ljava/util/ArrayList; Ljava/util/ArrayList; Ljava/util/ArrayList;)V": [ "android.permission.READ_EXTERNAL_STORAGE", "android.permission.SEND_SMS" ], "Landroid/telephony/gsm/SmsManager;-sendTextMessage-(Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Landroid/app/PendingIntent; Landroid/app/PendingIntent;)V": [ "android.permission.READ_EXTERNAL_STORAGE", "android.permission.SEND_SMS" ], "Landroid/test/IsolatedContext;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/test/IsolatedContext;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/test/IsolatedContext;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/test/IsolatedContext;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/test/IsolatedContext;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/test/IsolatedContext;-stopService-(Landroid/content/Intent;)Z": [ "android.permission.BROADCAST_STICKY" ], "Landroid/test/IsolatedContext;-unbindService-(Landroid/content/ServiceConnection;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/test/RenamingDelegatingContext;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/test/RenamingDelegatingContext;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/test/RenamingDelegatingContext;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/test/RenamingDelegatingContext;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/test/RenamingDelegatingContext;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/test/RenamingDelegatingContext;-stopService-(Landroid/content/Intent;)Z": [ "android.permission.BROADCAST_STICKY" ], "Landroid/test/RenamingDelegatingContext;-unbindService-(Landroid/content/ServiceConnection;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/test/mock/MockApplication;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/test/mock/MockApplication;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/test/mock/MockApplication;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/test/mock/MockApplication;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/test/mock/MockApplication;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/test/mock/MockApplication;-stopService-(Landroid/content/Intent;)Z": [ "android.permission.BROADCAST_STICKY" ], "Landroid/test/mock/MockApplication;-unbindService-(Landroid/content/ServiceConnection;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/view/ContextThemeWrapper;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/view/ContextThemeWrapper;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/view/ContextThemeWrapper;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/view/ContextThemeWrapper;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/view/ContextThemeWrapper;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/view/ContextThemeWrapper;-stopService-(Landroid/content/Intent;)Z": [ "android.permission.BROADCAST_STICKY" ], "Landroid/view/ContextThemeWrapper;-unbindService-(Landroid/content/ServiceConnection;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/view/inputmethod/InputMethodManager;-showInputMethodAndSubtypeEnabler-(Ljava/lang/String;)V": [ "android.permission.READ_EXTERNAL_STORAGE" ], "Landroid/widget/VideoView;-getAudioSessionId-()I": [ "android.permission.WAKE_LOCK" ], "Landroid/widget/VideoView;-onKeyDown-(I Landroid/view/KeyEvent;)Z": [ "android.permission.WAKE_LOCK" ], "Landroid/widget/VideoView;-pause-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/widget/VideoView;-resume-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/widget/VideoView;-setVideoPath-(Ljava/lang/String;)V": [ "android.permission.WAKE_LOCK" ], "Landroid/widget/VideoView;-setVideoURI-(Landroid/net/Uri;)V": [ "android.permission.WAKE_LOCK" ], "Landroid/widget/VideoView;-setVideoURI-(Landroid/net/Uri; Ljava/util/Map;)V": [ "android.permission.WAKE_LOCK" ], "Landroid/widget/VideoView;-start-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/widget/VideoView;-stopPlayback-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/widget/VideoView;-suspend-()V": [ "android.permission.WAKE_LOCK" ] }permissions_25.json000066400000000000000000013405241324327352200345430ustar00rootroot00000000000000androguard-3.1.0-rc2/androguard/core/api_specific_resources/api_permission_mappings{ "Landroid/hardware/location/ActivityRecognitionHardware;-disableActivityEvent-(Ljava/lang/String; I)Z": [ "android.permission.LOCATION_HARDWARE" ], "Landroid/hardware/location/ActivityRecognitionHardware;-enableActivityEvent-(Ljava/lang/String; I J)Z": [ "android.permission.LOCATION_HARDWARE" ], "Landroid/hardware/location/ActivityRecognitionHardware;-flush-()Z": [ "android.permission.LOCATION_HARDWARE" ], "Landroid/hardware/location/ActivityRecognitionHardware;-getSupportedActivities-()[Ljava/lang/String;": [ "android.permission.LOCATION_HARDWARE" ], "Landroid/hardware/location/ActivityRecognitionHardware;-isActivitySupported-(Ljava/lang/String;)Z": [ "android.permission.LOCATION_HARDWARE" ], "Landroid/hardware/location/ActivityRecognitionHardware;-registerSink-(Landroid/hardware/location/IActivityRecognitionHardwareSink;)Z": [ "android.permission.LOCATION_HARDWARE" ], "Landroid/hardware/location/ActivityRecognitionHardware;-unregisterSink-(Landroid/hardware/location/IActivityRecognitionHardwareSink;)Z": [ "android.permission.LOCATION_HARDWARE" ], "Landroid/hardware/location/ContextHubService;-findNanoAppOnHub-(I Landroid/hardware/location/NanoAppFilter;)[I": [ "android.permission.LOCATION_HARDWARE" ], "Landroid/hardware/location/ContextHubService;-getContextHubHandles-()[I": [ "android.permission.LOCATION_HARDWARE" ], "Landroid/hardware/location/ContextHubService;-getContextHubInfo-(I)Landroid/hardware/location/ContextHubInfo;": [ "android.permission.LOCATION_HARDWARE" ], "Landroid/hardware/location/ContextHubService;-getNanoAppInstanceInfo-(I)Landroid/hardware/location/NanoAppInstanceInfo;": [ "android.permission.LOCATION_HARDWARE" ], "Landroid/hardware/location/ContextHubService;-loadNanoApp-(I Landroid/hardware/location/NanoApp;)I": [ "android.permission.LOCATION_HARDWARE" ], "Landroid/hardware/location/ContextHubService;-registerCallback-(Landroid/hardware/location/IContextHubCallback;)I": [ "android.permission.LOCATION_HARDWARE" ], "Landroid/hardware/location/ContextHubService;-sendMessage-(I I Landroid/hardware/location/ContextHubMessage;)I": [ "android.permission.LOCATION_HARDWARE" ], "Landroid/hardware/location/ContextHubService;-unloadNanoApp-(I)I": [ "android.permission.LOCATION_HARDWARE" ], "Lcom/android/bluetooth/a2dp/A2dpService$BluetoothA2dpBinder;-connect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/a2dp/A2dpService$BluetoothA2dpBinder;-disconnect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/a2dp/A2dpService$BluetoothA2dpBinder;-getConnectedDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/a2dp/A2dpService$BluetoothA2dpBinder;-getConnectionState-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/a2dp/A2dpService$BluetoothA2dpBinder;-getDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/a2dp/A2dpService$BluetoothA2dpBinder;-getPriority-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/a2dp/A2dpService$BluetoothA2dpBinder;-isA2dpPlaying-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/a2dp/A2dpService$BluetoothA2dpBinder;-setPriority-(Landroid/bluetooth/BluetoothDevice; I)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/a2dpsink/A2dpSinkService$BluetoothA2dpSinkBinder;-connect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/a2dpsink/A2dpSinkService$BluetoothA2dpSinkBinder;-disconnect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/a2dpsink/A2dpSinkService$BluetoothA2dpSinkBinder;-getAudioConfig-(Landroid/bluetooth/BluetoothDevice;)Landroid/bluetooth/BluetoothAudioConfig;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/a2dpsink/A2dpSinkService$BluetoothA2dpSinkBinder;-getConnectedDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/a2dpsink/A2dpSinkService$BluetoothA2dpSinkBinder;-getConnectionState-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/a2dpsink/A2dpSinkService$BluetoothA2dpSinkBinder;-getDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/a2dpsink/A2dpSinkService$BluetoothA2dpSinkBinder;-getPriority-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/a2dpsink/A2dpSinkService$BluetoothA2dpSinkBinder;-isA2dpPlaying-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/a2dpsink/A2dpSinkService$BluetoothA2dpSinkBinder;-setPriority-(Landroid/bluetooth/BluetoothDevice; I)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/avrcp/AvrcpControllerService$BluetoothAvrcpControllerBinder;-getConnectedDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/avrcp/AvrcpControllerService$BluetoothAvrcpControllerBinder;-getConnectionState-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/avrcp/AvrcpControllerService$BluetoothAvrcpControllerBinder;-getDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/avrcp/AvrcpControllerService$BluetoothAvrcpControllerBinder;-getMetadata-(Landroid/bluetooth/BluetoothDevice;)Landroid/media/MediaMetadata;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/avrcp/AvrcpControllerService$BluetoothAvrcpControllerBinder;-getPlaybackState-(Landroid/bluetooth/BluetoothDevice;)Landroid/media/session/PlaybackState;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/avrcp/AvrcpControllerService$BluetoothAvrcpControllerBinder;-getPlayerSettings-(Landroid/bluetooth/BluetoothDevice;)Landroid/bluetooth/BluetoothAvrcpPlayerSettings;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/avrcp/AvrcpControllerService$BluetoothAvrcpControllerBinder;-sendGroupNavigationCmd-(Landroid/bluetooth/BluetoothDevice; I I)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/avrcp/AvrcpControllerService$BluetoothAvrcpControllerBinder;-sendPassThroughCmd-(Landroid/bluetooth/BluetoothDevice; I I)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/avrcp/AvrcpControllerService$BluetoothAvrcpControllerBinder;-setPlayerApplicationSetting-(Landroid/bluetooth/BluetoothAvrcpPlayerSettings;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-cancelBondProcess-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-cancelDiscovery-()Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-configHciSnoopLog-(Z)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-connectSocket-(Landroid/bluetooth/BluetoothDevice; I Landroid/os/ParcelUuid; I I)Landroid/os/ParcelFileDescriptor;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-createBond-(Landroid/bluetooth/BluetoothDevice; I)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN", "android.permission.BLUETOOTH_PRIVILEGED" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-createBondOutOfBand-(Landroid/bluetooth/BluetoothDevice; I Landroid/bluetooth/OobData;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN", "android.permission.BLUETOOTH_PRIVILEGED" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-createSocketChannel-(I Ljava/lang/String; Landroid/os/ParcelUuid; I I)Landroid/os/ParcelFileDescriptor;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-disable-()Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-enable-()Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-enableNoAutoConnect-()Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-factoryReset-()Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-fetchRemoteUuids-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getAdapterConnectionState-()I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getAddress-()Ljava/lang/String;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getBondState-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getBondedDevices-()[Landroid/bluetooth/BluetoothDevice;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getConnectionState-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getDiscoverableTimeout-()I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getMessageAccessPermission-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getName-()Ljava/lang/String;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getPhonebookAccessPermission-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getProfileConnectionState-(I)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getRemoteAlias-(Landroid/bluetooth/BluetoothDevice;)Ljava/lang/String;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getRemoteClass-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getRemoteName-(Landroid/bluetooth/BluetoothDevice;)Ljava/lang/String;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getRemoteType-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getRemoteUuids-(Landroid/bluetooth/BluetoothDevice;)[Landroid/os/ParcelUuid;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getScanMode-()I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getSimAccessPermission-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getState-()I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-getUuids-()[Landroid/os/ParcelUuid;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-isActivityAndEnergyReportingSupported-()Z": [ "android.permission.BLUETOOTH_PRIVILEGED" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-isDiscovering-()Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-isEnabled-()Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-isMultiAdvertisementSupported-()Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-isOffloadedFilteringSupported-()Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-isOffloadedScanBatchingSupported-()Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-removeBond-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN", "android.permission.BLUETOOTH_PRIVILEGED" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-reportActivityInfo-()Landroid/bluetooth/BluetoothActivityEnergyInfo;": [ "android.permission.BLUETOOTH_PRIVILEGED" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-requestActivityInfo-(Landroid/os/ResultReceiver;)V": [ "android.permission.BLUETOOTH_PRIVILEGED" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-sdpSearch-(Landroid/bluetooth/BluetoothDevice; Landroid/os/ParcelUuid;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-sendConnectionStateChange-(Landroid/bluetooth/BluetoothDevice; I I I)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-setDiscoverableTimeout-(I)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-setMessageAccessPermission-(Landroid/bluetooth/BluetoothDevice; I)Z": [ "android.permission.BLUETOOTH_PRIVILEGED" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-setName-(Ljava/lang/String;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-setPairingConfirmation-(Landroid/bluetooth/BluetoothDevice; Z)Z": [ "android.permission.BLUETOOTH_PRIVILEGED" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-setPasskey-(Landroid/bluetooth/BluetoothDevice; Z I [B)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-setPhonebookAccessPermission-(Landroid/bluetooth/BluetoothDevice; I)Z": [ "android.permission.BLUETOOTH_PRIVILEGED" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-setPin-(Landroid/bluetooth/BluetoothDevice; Z I [B)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-setRemoteAlias-(Landroid/bluetooth/BluetoothDevice; Ljava/lang/String;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-setScanMode-(I I)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-setSimAccessPermission-(Landroid/bluetooth/BluetoothDevice; I)Z": [ "android.permission.BLUETOOTH_PRIVILEGED" ], "Lcom/android/bluetooth/btservice/AdapterService$AdapterServiceBinder;-startDiscovery-()Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-addCharacteristic-(I Landroid/os/ParcelUuid; I I)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-addDescriptor-(I Landroid/os/ParcelUuid; I)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-addIncludedService-(I I I Landroid/os/ParcelUuid;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-beginReliableWrite-(I Ljava/lang/String;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-beginServiceDeclaration-(I I I I Landroid/os/ParcelUuid; Z)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-clearServices-(I)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-clientConnect-(I Ljava/lang/String; Z I)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-clientDisconnect-(I Ljava/lang/String;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-configureMTU-(I Ljava/lang/String; I)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-connectionParameterUpdate-(I Ljava/lang/String; I)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-disconnectAll-()V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-discoverServices-(I Ljava/lang/String;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-endReliableWrite-(I Ljava/lang/String; Z)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-endServiceDeclaration-(I)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-getDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-numHwTrackFiltersAvailable-()I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-readCharacteristic-(I Ljava/lang/String; I I)V": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_PRIVILEGED" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-readDescriptor-(I Ljava/lang/String; I I)V": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_PRIVILEGED" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-readRemoteRssi-(I Ljava/lang/String;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-refreshDevice-(I Ljava/lang/String;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-registerClient-(Landroid/os/ParcelUuid; Landroid/bluetooth/IBluetoothGattCallback;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-registerForNotification-(I Ljava/lang/String; I Z)V": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_PRIVILEGED" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-registerServer-(Landroid/os/ParcelUuid; Landroid/bluetooth/IBluetoothGattServerCallback;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-removeService-(I I I Landroid/os/ParcelUuid;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-sendNotification-(I Ljava/lang/String; I I Landroid/os/ParcelUuid; I Landroid/os/ParcelUuid; Z [B)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-sendResponse-(I Ljava/lang/String; I I I [B)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-serverConnect-(I Ljava/lang/String; Z I)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-serverDisconnect-(I Ljava/lang/String;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-startMultiAdvertising-(I Landroid/bluetooth/le/AdvertiseData; Landroid/bluetooth/le/AdvertiseData; Landroid/bluetooth/le/AdvertiseSettings;)V": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-startScan-(I Z Landroid/bluetooth/le/ScanSettings; Ljava/util/List; Landroid/os/WorkSource; Ljava/util/List; Ljava/lang/String;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION", "android.permission.BLUETOOTH_ADMIN", "android.permission.BLUETOOTH_PRIVILEGED", "android.permission.PEERS_MAC_ADDRESS", "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-stopMultiAdvertising-(I)V": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-stopScan-(I Z)V": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-unregAll-()V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-unregisterClient-(I)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-unregisterServer-(I)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-writeCharacteristic-(I Ljava/lang/String; I I I [B)V": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_PRIVILEGED" ], "Lcom/android/bluetooth/gatt/GattService$BluetoothGattBinder;-writeDescriptor-(I Ljava/lang/String; I I I [B)V": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_PRIVILEGED" ], "Lcom/android/bluetooth/hdp/HealthService$BluetoothHealthBinder;-connectChannelToSink-(Landroid/bluetooth/BluetoothDevice; Landroid/bluetooth/BluetoothHealthAppConfiguration; I)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hdp/HealthService$BluetoothHealthBinder;-connectChannelToSource-(Landroid/bluetooth/BluetoothDevice; Landroid/bluetooth/BluetoothHealthAppConfiguration;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hdp/HealthService$BluetoothHealthBinder;-disconnectChannel-(Landroid/bluetooth/BluetoothDevice; Landroid/bluetooth/BluetoothHealthAppConfiguration; I)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hdp/HealthService$BluetoothHealthBinder;-getConnectedHealthDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hdp/HealthService$BluetoothHealthBinder;-getHealthDeviceConnectionState-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hdp/HealthService$BluetoothHealthBinder;-getHealthDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hdp/HealthService$BluetoothHealthBinder;-getMainChannelFd-(Landroid/bluetooth/BluetoothDevice; Landroid/bluetooth/BluetoothHealthAppConfiguration;)Landroid/os/ParcelFileDescriptor;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hdp/HealthService$BluetoothHealthBinder;-registerAppConfiguration-(Landroid/bluetooth/BluetoothHealthAppConfiguration; Landroid/bluetooth/IBluetoothHealthCallback;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hdp/HealthService$BluetoothHealthBinder;-unregisterAppConfiguration-(Landroid/bluetooth/BluetoothHealthAppConfiguration;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-bindResponse-(I Z)V": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-clccResponse-(I I I I Z Ljava/lang/String; I)V": [ "android.permission.BLUETOOTH_ADMIN", "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-connect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-connectAudio-()Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-disableWBS-()Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-disconnect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-disconnectAudio-()Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-enableWBS-()Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-getConnectedDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-getConnectionState-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-getDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-getPriority-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-isAudioConnected-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-isAudioOn-()Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-phoneStateChanged-(I I I Ljava/lang/String; I)V": [ "android.permission.BLUETOOTH_ADMIN", "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-sendVendorSpecificResultCode-(Landroid/bluetooth/BluetoothDevice; Ljava/lang/String; Ljava/lang/String;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-setPriority-(Landroid/bluetooth/BluetoothDevice; I)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-startVoiceRecognition-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfp/HeadsetService$BluetoothHeadsetBinder;-stopVoiceRecognition-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-acceptCall-(Landroid/bluetooth/BluetoothDevice; I)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-connect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-connectAudio-()Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-dial-(Landroid/bluetooth/BluetoothDevice; Ljava/lang/String;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-dialMemory-(Landroid/bluetooth/BluetoothDevice; I)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-disconnect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-disconnectAudio-()Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-enterPrivateMode-(Landroid/bluetooth/BluetoothDevice; I)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-explicitCallTransfer-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-getConnectedDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-getConnectionState-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-getCurrentAgEvents-(Landroid/bluetooth/BluetoothDevice;)Landroid/os/Bundle;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-getCurrentAgFeatures-(Landroid/bluetooth/BluetoothDevice;)Landroid/os/Bundle;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-getCurrentCalls-(Landroid/bluetooth/BluetoothDevice;)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-getDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-getLastVoiceTagNumber-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-getPriority-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-holdCall-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-redial-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-rejectCall-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-sendDTMF-(Landroid/bluetooth/BluetoothDevice; B)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-setPriority-(Landroid/bluetooth/BluetoothDevice; I)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-startVoiceRecognition-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-stopVoiceRecognition-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hfpclient/HeadsetClientService$BluetoothHeadsetClientBinder;-terminateCall-(Landroid/bluetooth/BluetoothDevice; I)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-connect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-disconnect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-getConnectedDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-getDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-getPriority-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-getProtocolMode-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-getReport-(Landroid/bluetooth/BluetoothDevice; B B I)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-sendData-(Landroid/bluetooth/BluetoothDevice; Ljava/lang/String;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-setPriority-(Landroid/bluetooth/BluetoothDevice; I)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-setProtocolMode-(Landroid/bluetooth/BluetoothDevice; I)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-setReport-(Landroid/bluetooth/BluetoothDevice; B Ljava/lang/String;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/hid/HidService$BluetoothInputDeviceBinder;-virtualUnplug-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/map/BluetoothMapService$BluetoothMapBinder;-connect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/map/BluetoothMapService$BluetoothMapBinder;-disconnect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/map/BluetoothMapService$BluetoothMapBinder;-getClient-()Landroid/bluetooth/BluetoothDevice;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/map/BluetoothMapService$BluetoothMapBinder;-getConnectedDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/map/BluetoothMapService$BluetoothMapBinder;-getConnectionState-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/map/BluetoothMapService$BluetoothMapBinder;-getDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/map/BluetoothMapService$BluetoothMapBinder;-getPriority-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/map/BluetoothMapService$BluetoothMapBinder;-getState-()I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/map/BluetoothMapService$BluetoothMapBinder;-isConnected-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/map/BluetoothMapService$BluetoothMapBinder;-setPriority-(Landroid/bluetooth/BluetoothDevice; I)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/pan/PanService$BluetoothPanBinder;-connect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/pan/PanService$BluetoothPanBinder;-disconnect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/pan/PanService$BluetoothPanBinder;-getConnectedDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/pan/PanService$BluetoothPanBinder;-getDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/pan/PanService$BluetoothPanBinder;-setBluetoothTethering-(Z)V": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN", "android.permission.TETHER_PRIVILEGED" ], "Lcom/android/bluetooth/pbapclient/PbapClientService$BluetoothPbapClientBinder;-connect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/pbapclient/PbapClientService$BluetoothPbapClientBinder;-disconnect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/pbapclient/PbapClientService$BluetoothPbapClientBinder;-getConnectedDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/pbapclient/PbapClientService$BluetoothPbapClientBinder;-getConnectionState-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/pbapclient/PbapClientService$BluetoothPbapClientBinder;-getDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/pbapclient/PbapClientService$BluetoothPbapClientBinder;-getPriority-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/pbapclient/PbapClientService$BluetoothPbapClientBinder;-setPriority-(Landroid/bluetooth/BluetoothDevice; I)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/bluetooth/sap/SapService$SapBinder;-connect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/sap/SapService$SapBinder;-disconnect-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/sap/SapService$SapBinder;-getClient-()Landroid/bluetooth/BluetoothDevice;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/sap/SapService$SapBinder;-getConnectedDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/sap/SapService$SapBinder;-getConnectionState-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/sap/SapService$SapBinder;-getDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/sap/SapService$SapBinder;-getPriority-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/sap/SapService$SapBinder;-getState-()I": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/sap/SapService$SapBinder;-isConnected-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/bluetooth/sap/SapService$SapBinder;-setPriority-(Landroid/bluetooth/BluetoothDevice; I)Z": [ "android.permission.BLUETOOTH" ], "Lcom/android/car/CarRadioService;-setPreset-(Landroid/car/hardware/radio/CarRadioPreset;)Z": [ "android.car.permission.CAR_RADIO" ], "Lcom/android/car/ICarImpl;-getCarService-(Ljava/lang/String;)Landroid/os/IBinder;": [ "android.car.permission.CAR_CAMERA", "android.car.permission.CAR_HVAC", "android.car.permission.CAR_MOCK_VEHICLE_HAL", "android.car.permission.CAR_NAVIGATION_MANAGER", "android.car.permission.CAR_PROJECTION", "android.car.permission.CAR_RADIO" ], "Lcom/android/car/pm/CarPackageManagerService;-setAppBlockingPolicy-(Ljava/lang/String; Landroid/car/content/pm/CarAppBlockingPolicy; I)V": [ "android.car.permission.CONTROL_APP_BLOCKING" ], "Lcom/android/internal/telephony/PhoneSubInfoController;-getCompleteVoiceMailNumber-()Ljava/lang/String;": [ "android.permission.CALL_PRIVILEGED" ], "Lcom/android/internal/telephony/PhoneSubInfoController;-getCompleteVoiceMailNumberForSubscriber-(I)Ljava/lang/String;": [ "android.permission.CALL_PRIVILEGED" ], "Lcom/android/internal/telephony/PhoneSubInfoController;-getDeviceId-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoController;-getDeviceIdForPhone-(I Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoController;-getDeviceSvn-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoController;-getDeviceSvnUsingSubId-(I Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoController;-getGroupIdLevel1-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoController;-getGroupIdLevel1ForSubscriber-(I Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoController;-getIccSerialNumber-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoController;-getIccSerialNumberForSubscriber-(I Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoController;-getIccSimChallengeResponse-(I I I Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoController;-getImeiForSubscriber-(I Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoController;-getIsimChallengeResponse-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoController;-getIsimDomain-()Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoController;-getIsimImpi-()Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoController;-getIsimImpu-()[Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoController;-getIsimIst-()Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoController;-getIsimPcscf-()[Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoController;-getLine1AlphaTag-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoController;-getLine1AlphaTagForSubscriber-(I Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoController;-getLine1Number-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoController;-getLine1NumberForSubscriber-(I Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoController;-getMsisdn-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoController;-getMsisdnForSubscriber-(I Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoController;-getNaiForSubscriber-(I Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoController;-getSubscriberId-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoController;-getSubscriberIdForSubscriber-(I Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoController;-getVoiceMailAlphaTag-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoController;-getVoiceMailAlphaTagForSubscriber-(I Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoController;-getVoiceMailNumber-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/PhoneSubInfoController;-getVoiceMailNumberForSubscriber-(I Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-addSubInfoRecord-(Ljava/lang/String; I)I": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-clearDefaultsForInactiveSubIds-()V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-clearSubInfo-()I": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-getActiveSubInfoCount-(Ljava/lang/String;)I": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-getActiveSubscriptionInfo-(I Ljava/lang/String;)Landroid/telephony/SubscriptionInfo;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-getActiveSubscriptionInfoForIccId-(Ljava/lang/String; Ljava/lang/String;)Landroid/telephony/SubscriptionInfo;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-getActiveSubscriptionInfoForSimSlotIndex-(I Ljava/lang/String;)Landroid/telephony/SubscriptionInfo;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-getActiveSubscriptionInfoList-(Ljava/lang/String;)Ljava/util/List;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-getAllSubInfoCount-(Ljava/lang/String;)I": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-getAllSubInfoList-(Ljava/lang/String;)Ljava/util/List;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-getSubscriptionProperty-(I Ljava/lang/String; Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-setDataRoaming-(I I)I": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-setDefaultDataSubId-(I)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-setDefaultSmsSubId-(I)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-setDefaultVoiceSubId-(I)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-setDisplayName-(Ljava/lang/String; I)I": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-setDisplayNameUsingSrc-(Ljava/lang/String; I J)I": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-setDisplayNumber-(Ljava/lang/String; I)I": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-setIconTint-(I I)I": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/internal/telephony/SubscriptionController;-setSubscriptionProperty-(I Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/internal/telephony/UiccPhoneBookController;-getAdnRecordsInEf-(I)Ljava/util/List;": [ "android.permission.READ_CONTACTS" ], "Lcom/android/internal/telephony/UiccPhoneBookController;-getAdnRecordsInEfForSubscriber-(I I)Ljava/util/List;": [ "android.permission.READ_CONTACTS" ], "Lcom/android/internal/telephony/UiccPhoneBookController;-updateAdnRecordsInEfByIndex-(I Ljava/lang/String; Ljava/lang/String; I Ljava/lang/String;)Z": [ "android.permission.WRITE_CONTACTS" ], "Lcom/android/internal/telephony/UiccPhoneBookController;-updateAdnRecordsInEfByIndexForSubscriber-(I I Ljava/lang/String; Ljava/lang/String; I Ljava/lang/String;)Z": [ "android.permission.WRITE_CONTACTS" ], "Lcom/android/internal/telephony/UiccPhoneBookController;-updateAdnRecordsInEfBySearch-(I Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/lang/String;)Z": [ "android.permission.WRITE_CONTACTS" ], "Lcom/android/internal/telephony/UiccPhoneBookController;-updateAdnRecordsInEfBySearchForSubscriber-(I I Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/lang/String;)Z": [ "android.permission.WRITE_CONTACTS" ], "Lcom/android/internal/telephony/UiccSmsController;-copyMessageToIccEfForSubscriber-(I Ljava/lang/String; I [B [B)Z": [ "android.permission.RECEIVE_SMS", "android.permission.SEND_SMS" ], "Lcom/android/internal/telephony/UiccSmsController;-disableCellBroadcastForSubscriber-(I I I)Z": [ "android.permission.RECEIVE_SMS" ], "Lcom/android/internal/telephony/UiccSmsController;-disableCellBroadcastRangeForSubscriber-(I I I I)Z": [ "android.permission.RECEIVE_SMS" ], "Lcom/android/internal/telephony/UiccSmsController;-enableCellBroadcastForSubscriber-(I I I)Z": [ "android.permission.RECEIVE_SMS" ], "Lcom/android/internal/telephony/UiccSmsController;-enableCellBroadcastRangeForSubscriber-(I I I I)Z": [ "android.permission.RECEIVE_SMS" ], "Lcom/android/internal/telephony/UiccSmsController;-getAllMessagesFromIccEfForSubscriber-(I Ljava/lang/String;)Ljava/util/List;": [ "android.permission.RECEIVE_SMS" ], "Lcom/android/internal/telephony/UiccSmsController;-sendDataForSubscriber-(I Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; I [B Landroid/app/PendingIntent; Landroid/app/PendingIntent;)V": [ "android.permission.READ_EXTERNAL_STORAGE", "android.permission.SEND_SMS", "android.permission.SEND_SMS_NO_CONFIRMATION" ], "Lcom/android/internal/telephony/UiccSmsController;-sendDataForSubscriberWithSelfPermissions-(I Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; I [B Landroid/app/PendingIntent; Landroid/app/PendingIntent;)V": [ "android.permission.READ_EXTERNAL_STORAGE", "android.permission.SEND_SMS", "android.permission.SEND_SMS_NO_CONFIRMATION" ], "Lcom/android/internal/telephony/UiccSmsController;-sendMultipartTextForSubscriber-(I Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/util/List; Ljava/util/List; Ljava/util/List; Z)V": [ "android.permission.READ_EXTERNAL_STORAGE", "android.permission.SEND_SMS", "android.permission.SEND_SMS_NO_CONFIRMATION" ], "Lcom/android/internal/telephony/UiccSmsController;-sendStoredMultipartText-(I Ljava/lang/String; Landroid/net/Uri; Ljava/lang/String; Ljava/util/List; Ljava/util/List;)V": [ "android.permission.READ_EXTERNAL_STORAGE", "android.permission.SEND_SMS", "android.permission.SEND_SMS_NO_CONFIRMATION" ], "Lcom/android/internal/telephony/UiccSmsController;-sendStoredText-(I Ljava/lang/String; Landroid/net/Uri; Ljava/lang/String; Landroid/app/PendingIntent; Landroid/app/PendingIntent;)V": [ "android.permission.READ_EXTERNAL_STORAGE", "android.permission.SEND_SMS", "android.permission.SEND_SMS_NO_CONFIRMATION" ], "Lcom/android/internal/telephony/UiccSmsController;-sendTextForSubscriber-(I Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Landroid/app/PendingIntent; Landroid/app/PendingIntent; Z)V": [ "android.permission.READ_EXTERNAL_STORAGE", "android.permission.SEND_SMS", "android.permission.SEND_SMS_NO_CONFIRMATION" ], "Lcom/android/internal/telephony/UiccSmsController;-sendTextForSubscriberWithSelfPermissions-(I Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Landroid/app/PendingIntent; Landroid/app/PendingIntent; Z)V": [ "android.permission.READ_EXTERNAL_STORAGE", "android.permission.SEND_SMS", "android.permission.SEND_SMS_NO_CONFIRMATION" ], "Lcom/android/internal/telephony/UiccSmsController;-updateMessageOnIccEfForSubscriber-(I Ljava/lang/String; I I [B)Z": [ "android.permission.RECEIVE_SMS", "android.permission.SEND_SMS" ], "Lcom/android/phone/CarrierConfigLoader;-getConfigForSubId-(I)Landroid/os/PersistableBundle;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/CarrierConfigLoader;-notifyConfigChangedForSubId-(I)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/CarrierConfigLoader;-updateConfigForPhoneId-(I Ljava/lang/String;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-answerRingingCall-()V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-answerRingingCallForSubscriber-(I)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-call-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.CALL_PHONE" ], "Lcom/android/phone/PhoneInterfaceManager;-carrierActionSetMeteredApnsEnabled-(I Z)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-carrierActionSetRadioEnabled-(I Z)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-disableDataConnectivity-()Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-disableLocationUpdates-()V": [ "android.permission.CONTROL_LOCATION_UPDATES" ], "Lcom/android/phone/PhoneInterfaceManager;-disableLocationUpdatesForSubscriber-(I)V": [ "android.permission.CONTROL_LOCATION_UPDATES" ], "Lcom/android/phone/PhoneInterfaceManager;-enableDataConnectivity-()Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-enableLocationUpdates-()V": [ "android.permission.CONTROL_LOCATION_UPDATES" ], "Lcom/android/phone/PhoneInterfaceManager;-enableLocationUpdatesForSubscriber-(I)V": [ "android.permission.CONTROL_LOCATION_UPDATES" ], "Lcom/android/phone/PhoneInterfaceManager;-enableVideoCalling-(Z)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-endCall-()Z": [ "android.permission.CALL_PHONE" ], "Lcom/android/phone/PhoneInterfaceManager;-endCallForSubscriber-(I)Z": [ "android.permission.CALL_PHONE" ], "Lcom/android/phone/PhoneInterfaceManager;-factoryReset-(I)V": [ "android.permission.CONNECTIVITY_INTERNAL", "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getAidForAppType-(I I)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getAllCellInfo-(Ljava/lang/String;)Ljava/util/List;": [ "android.permission.ACCESS_FINE_LOCATION", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/phone/PhoneInterfaceManager;-getAllowedCarriers-(I)Ljava/util/List;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getCalculatedPreferredNetworkType-(Ljava/lang/String;)I": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getCdmaEriIconIndex-(Ljava/lang/String;)I": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getCdmaEriIconIndexForSubscriber-(I Ljava/lang/String;)I": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getCdmaEriIconMode-(Ljava/lang/String;)I": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getCdmaEriIconModeForSubscriber-(I Ljava/lang/String;)I": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getCdmaEriText-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getCdmaEriTextForSubscriber-(I Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getCdmaMdn-(I)Ljava/lang/String;": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getCdmaMin-(I)Ljava/lang/String;": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getCdmaPrlVersion-(I)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getCellLocation-(Ljava/lang/String;)Landroid/os/Bundle;": [ "android.permission.ACCESS_FINE_LOCATION", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/phone/PhoneInterfaceManager;-getCellNetworkScanResults-(I)Lcom/android/internal/telephony/CellNetworkScanResult;": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getDataEnabled-(I)Z": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getDataNetworkType-(Ljava/lang/String;)I": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getDataNetworkTypeForSubscriber-(I Ljava/lang/String;)I": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getDeviceId-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getDeviceSoftwareVersionForSlot-(I Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getEsn-(I)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getImeiForSlot-(I Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getLine1AlphaTagForDisplay-(I Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getLine1NumberForDisplay-(I Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getLteOnCdmaMode-(Ljava/lang/String;)I": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getLteOnCdmaModeForSubscriber-(I Ljava/lang/String;)I": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getMergedSubscriberIds-(Ljava/lang/String;)[Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getNeighboringCellInfo-(Ljava/lang/String;)Ljava/util/List;": [ "android.permission.ACCESS_FINE_LOCATION", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/phone/PhoneInterfaceManager;-getNetworkTypeForSubscriber-(I Ljava/lang/String;)I": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getPcscfAddress-(Ljava/lang/String; Ljava/lang/String;)[Ljava/lang/String;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getPreferredNetworkType-(I)I": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getRadioAccessFamily-(I Ljava/lang/String;)I": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getServiceStateForSubscriber-(I Ljava/lang/String;)Landroid/telephony/ServiceState;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getSystemVisualVoicemailSmsFilterSettings-(Ljava/lang/String; I)Landroid/telephony/VisualVoicemailSmsFilterSettings;": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getTelephonyHistograms-()Ljava/util/List;": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getTetherApnRequired-()I": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getVoiceNetworkTypeForSubscriber-(I Ljava/lang/String;)I": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-getVtDataUsage-()J": [ "android.permission.READ_NETWORK_USAGE_HISTORY" ], "Lcom/android/phone/PhoneInterfaceManager;-handlePinMmi-(Ljava/lang/String;)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-handlePinMmiForSubscriber-(I Ljava/lang/String;)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-iccCloseLogicalChannel-(I I)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-iccExchangeSimIO-(I I I I I I Ljava/lang/String;)[B": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-iccOpenLogicalChannel-(I Ljava/lang/String;)Landroid/telephony/IccOpenLogicalChannelResponse;": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-iccTransmitApduBasicChannel-(I I I I I I Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-iccTransmitApduLogicalChannel-(I I I I I I I Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-invokeOemRilRequestRaw-([B [B)I": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-isIdle-(Ljava/lang/String;)Z": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-isIdleForSubscriber-(I Ljava/lang/String;)Z": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-isOffhook-(Ljava/lang/String;)Z": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-isOffhookForSubscriber-(I Ljava/lang/String;)Z": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-isRadioOn-(Ljava/lang/String;)Z": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-isRadioOnForSubscriber-(I Ljava/lang/String;)Z": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-isRinging-(Ljava/lang/String;)Z": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-isRingingForSubscriber-(I Ljava/lang/String;)Z": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-isVideoCallingEnabled-(Ljava/lang/String;)Z": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-isVisualVoicemailEnabled-(Ljava/lang/String; Landroid/telecom/PhoneAccountHandle;)Z": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-nvReadItem-(I)Ljava/lang/String;": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-nvResetConfig-(I)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-nvWriteCdmaPrl-([B)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-nvWriteItem-(I Ljava/lang/String;)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-requestModemActivityInfo-(Landroid/os/ResultReceiver;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-sendEnvelopeWithStatus-(I Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-setAllowedCarriers-(I Ljava/util/List;)I": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-setDataEnabled-(I Z)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-setImsRegistrationState-(Z)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-setNetworkSelectionModeAutomatic-(I)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-setNetworkSelectionModeManual-(I Lcom/android/internal/telephony/OperatorInfo; Z)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-setPolicyDataEnabled-(Z I)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-setPreferredNetworkType-(I I)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-setRadio-(Z)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-setRadioForSubscriber-(I Z)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-setRadioPower-(Z)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-setVisualVoicemailEnabled-(Ljava/lang/String; Landroid/telecom/PhoneAccountHandle; Z)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-shutdownMobileRadios-()V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-supplyPin-(Ljava/lang/String;)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-supplyPinForSubscriber-(I Ljava/lang/String;)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-supplyPinReportResult-(Ljava/lang/String;)[I": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-supplyPinReportResultForSubscriber-(I Ljava/lang/String;)[I": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-supplyPuk-(Ljava/lang/String; Ljava/lang/String;)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-supplyPukForSubscriber-(I Ljava/lang/String; Ljava/lang/String;)Z": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-supplyPukReportResult-(Ljava/lang/String; Ljava/lang/String;)[I": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-supplyPukReportResultForSubscriber-(I Ljava/lang/String; Ljava/lang/String;)[I": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-toggleRadioOnOff-()V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/phone/PhoneInterfaceManager;-toggleRadioOnOffForSubscriber-(I)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/providers/contacts/ContactsProvider2;-getType-(Landroid/net/Uri;)Ljava/lang/String;": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/AppOpsService;-checkAudioOperation-(I I I Ljava/lang/String;)I": [ "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/server/AppOpsService;-checkOperation-(I I Ljava/lang/String;)I": [ "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/server/AppOpsService;-finishOperation-(Landroid/os/IBinder; I I Ljava/lang/String;)V": [ "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/server/AppOpsService;-getOpsForPackage-(I Ljava/lang/String; [I)Ljava/util/List;": [ "android.permission.GET_APP_OPS_STATS" ], "Lcom/android/server/AppOpsService;-getPackagesForOps-([I)Ljava/util/List;": [ "android.permission.GET_APP_OPS_STATS" ], "Lcom/android/server/AppOpsService;-noteOperation-(I I Ljava/lang/String;)I": [ "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/server/AppOpsService;-resetAllModes-(I Ljava/lang/String;)V": [ "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/server/AppOpsService;-setAudioRestriction-(I I I I [Ljava/lang/String;)V": [ "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/server/AppOpsService;-setMode-(I I Ljava/lang/String; I)V": [ "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/server/AppOpsService;-setUidMode-(I I I)V": [ "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/server/AppOpsService;-setUserRestriction-(I Z Landroid/os/IBinder; I [Ljava/lang/String;)V": [ "android.permission.INTERACT_ACROSS_USERS", "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_APP_OPS_RESTRICTIONS" ], "Lcom/android/server/AppOpsService;-startOperation-(Landroid/os/IBinder; I I Ljava/lang/String;)I": [ "android.permission.UPDATE_APP_OPS_STATS" ], "Lcom/android/server/BluetoothManagerService;-disable-(Z)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/server/BluetoothManagerService;-enable-()Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/server/BluetoothManagerService;-enableNoAutoConnect-()Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Lcom/android/server/BluetoothManagerService;-getAddress-()Ljava/lang/String;": [ "android.permission.BLUETOOTH", "android.permission.LOCAL_MAC_ADDRESS" ], "Lcom/android/server/BluetoothManagerService;-getName-()Ljava/lang/String;": [ "android.permission.BLUETOOTH" ], "Lcom/android/server/BluetoothManagerService;-registerStateChangeCallback-(Landroid/bluetooth/IBluetoothStateChangeCallback;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/server/BluetoothManagerService;-unregisterAdapter-(Landroid/bluetooth/IBluetoothManagerCallback;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/server/BluetoothManagerService;-unregisterStateChangeCallback-(Landroid/bluetooth/IBluetoothStateChangeCallback;)V": [ "android.permission.BLUETOOTH" ], "Lcom/android/server/ConnectivityService;-factoryReset-()V": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.CONNECTIVITY_INTERNAL", "android.permission.CONTROL_VPN", "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.TETHER_PRIVILEGED" ], "Lcom/android/server/ConnectivityService;-getActiveLinkProperties-()Landroid/net/LinkProperties;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getActiveNetwork-()Landroid/net/Network;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getActiveNetworkForUid-(I Z)Landroid/net/Network;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-getActiveNetworkInfo-()Landroid/net/NetworkInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getActiveNetworkInfoForUid-(I Z)Landroid/net/NetworkInfo;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-getActiveNetworkQuotaInfo-()Landroid/net/NetworkQuotaInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getAllNetworkInfo-()[Landroid/net/NetworkInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getAllNetworkState-()[Landroid/net/NetworkState;": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-getAllNetworks-()[Landroid/net/Network;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getAllVpnInfo-()[Lcom/android/internal/net/VpnInfo;": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-getAlwaysOnVpnPackage-(I)Ljava/lang/String;": [ "android.permission.CONNECTIVITY_INTERNAL", "android.permission.CONTROL_VPN", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/ConnectivityService;-getDefaultNetworkCapabilitiesForUser-(I)[Landroid/net/NetworkCapabilities;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getLastTetherError-(Ljava/lang/String;)I": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getLegacyVpnInfo-(I)Lcom/android/internal/net/LegacyVpnInfo;": [ "android.permission.CONTROL_VPN", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/ConnectivityService;-getLinkProperties-(Landroid/net/Network;)Landroid/net/LinkProperties;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getLinkPropertiesForType-(I)Landroid/net/LinkProperties;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getMobileProvisioningUrl-()Ljava/lang/String;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-getNetworkCapabilities-(Landroid/net/Network;)Landroid/net/NetworkCapabilities;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getNetworkForType-(I)Landroid/net/Network;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getNetworkInfo-(I)Landroid/net/NetworkInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getNetworkInfoForUid-(Landroid/net/Network; I Z)Landroid/net/NetworkInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getTetherableBluetoothRegexs-()[Ljava/lang/String;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getTetherableIfaces-()[Ljava/lang/String;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getTetherableUsbRegexs-()[Ljava/lang/String;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getTetherableWifiRegexs-()[Ljava/lang/String;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getTetheredDhcpRanges-()[Ljava/lang/String;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-getTetheredIfaces-()[Ljava/lang/String;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getTetheringErroredIfaces-()[Ljava/lang/String;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-getVpnConfig-(I)Lcom/android/internal/net/VpnConfig;": [ "android.permission.CONTROL_VPN", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/ConnectivityService;-isActiveNetworkMetered-()Z": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-isNetworkSupported-(I)Z": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-isTetheringSupported-()Z": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-listenForNetwork-(Landroid/net/NetworkCapabilities; Landroid/os/Messenger; Landroid/os/IBinder;)Landroid/net/NetworkRequest;": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.ACCESS_WIFI_STATE", "android.permission.CHANGE_NETWORK_STATE", "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-pendingListenForNetwork-(Landroid/net/NetworkCapabilities; Landroid/app/PendingIntent;)V": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.ACCESS_WIFI_STATE", "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-pendingRequestForNetwork-(Landroid/net/NetworkCapabilities; Landroid/app/PendingIntent;)Landroid/net/NetworkRequest;": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.CHANGE_NETWORK_STATE", "android.permission.CONNECTIVITY_INTERNAL", "android.permission.CONNECTIVITY_USE_RESTRICTED_NETWORKS" ], "Lcom/android/server/ConnectivityService;-prepareVpn-(Ljava/lang/String; Ljava/lang/String; I)Z": [ "android.permission.CONTROL_VPN", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/ConnectivityService;-registerNetworkAgent-(Landroid/os/Messenger; Landroid/net/NetworkInfo; Landroid/net/LinkProperties; Landroid/net/NetworkCapabilities; I Landroid/net/NetworkMisc;)I": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-registerNetworkFactory-(Landroid/os/Messenger; Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-reportInetCondition-(I I)V": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.INTERNET" ], "Lcom/android/server/ConnectivityService;-reportNetworkConnectivity-(Landroid/net/Network; Z)V": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.INTERNET" ], "Lcom/android/server/ConnectivityService;-requestBandwidthUpdate-(Landroid/net/Network;)Z": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ConnectivityService;-requestNetwork-(Landroid/net/NetworkCapabilities; Landroid/os/Messenger; I Landroid/os/IBinder; I)Landroid/net/NetworkRequest;": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.CHANGE_NETWORK_STATE", "android.permission.CONNECTIVITY_INTERNAL", "android.permission.CONNECTIVITY_USE_RESTRICTED_NETWORKS" ], "Lcom/android/server/ConnectivityService;-requestRouteToHostAddress-(I [B)Z": [ "android.permission.CHANGE_NETWORK_STATE", "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-setAcceptUnvalidated-(Landroid/net/Network; Z Z)V": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-setAirplaneMode-(Z)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-setAlwaysOnVpnPackage-(I Ljava/lang/String; Z)Z": [ "android.permission.CONNECTIVITY_INTERNAL", "android.permission.CONTROL_VPN", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/ConnectivityService;-setAvoidUnvalidated-(Landroid/net/Network;)V": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-setGlobalProxy-(Landroid/net/ProxyInfo;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-setProvisioningNotificationVisible-(Z I Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-setUsbTethering-(Z)I": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.TETHER_PRIVILEGED" ], "Lcom/android/server/ConnectivityService;-setVpnPackageAuthorization-(Ljava/lang/String; I Z)V": [ "android.permission.CONTROL_VPN", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/ConnectivityService;-startLegacyVpn-(Lcom/android/internal/net/VpnProfile;)V": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.CONTROL_VPN" ], "Lcom/android/server/ConnectivityService;-startNattKeepalive-(Landroid/net/Network; I Landroid/os/Messenger; Landroid/os/IBinder; Ljava/lang/String; I Ljava/lang/String;)V": [ "android.permission.PACKET_KEEPALIVE_OFFLOAD" ], "Lcom/android/server/ConnectivityService;-startTethering-(I Landroid/os/ResultReceiver; Z)V": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.TETHER_PRIVILEGED" ], "Lcom/android/server/ConnectivityService;-stopTethering-(I)V": [ "android.permission.TETHER_PRIVILEGED" ], "Lcom/android/server/ConnectivityService;-tether-(Ljava/lang/String;)I": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.TETHER_PRIVILEGED" ], "Lcom/android/server/ConnectivityService;-unregisterNetworkFactory-(Landroid/os/Messenger;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConnectivityService;-untether-(Ljava/lang/String;)I": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.TETHER_PRIVILEGED" ], "Lcom/android/server/ConnectivityService;-updateLockdownVpn-()Z": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/ConsumerIrService;-getCarrierFrequencies-()[I": [ "android.permission.TRANSMIT_IR" ], "Lcom/android/server/ConsumerIrService;-transmit-(Ljava/lang/String; I [I)V": [ "android.permission.TRANSMIT_IR" ], "Lcom/android/server/DeviceIdleController$BinderService;-addPowerSaveTempWhitelistApp-(Ljava/lang/String; J I Ljava/lang/String;)V": [ "android.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST" ], "Lcom/android/server/DeviceIdleController$BinderService;-addPowerSaveTempWhitelistAppForMms-(Ljava/lang/String; I Ljava/lang/String;)J": [ "android.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST" ], "Lcom/android/server/DeviceIdleController$BinderService;-addPowerSaveTempWhitelistAppForSms-(Ljava/lang/String; I Ljava/lang/String;)J": [ "android.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST" ], "Lcom/android/server/DeviceIdleController$BinderService;-addPowerSaveWhitelistApp-(Ljava/lang/String;)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/DeviceIdleController$BinderService;-exitIdle-(Ljava/lang/String;)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/DeviceIdleController$BinderService;-removePowerSaveWhitelistApp-(Ljava/lang/String;)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/InputMethodManagerService;-addClient-(Lcom/android/internal/view/IInputMethodClient; Lcom/android/internal/view/IInputContext; I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-clearLastInputMethodWindowForTransition-(Landroid/os/IBinder;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-createInputContentUriToken-(Landroid/os/IBinder; Landroid/net/Uri; Ljava/lang/String;)Lcom/android/internal/inputmethod/IInputContentUriToken;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-getCurrentInputMethodSubtype-()Landroid/view/inputmethod/InputMethodSubtype;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-getEnabledInputMethodList-()Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-getEnabledInputMethodSubtypeList-(Ljava/lang/String; Z)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-getInputMethodList-()Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-getLastInputMethodSubtype-()Landroid/view/inputmethod/InputMethodSubtype;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-hideMySoftInput-(Landroid/os/IBinder; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-hideSoftInput-(Lcom/android/internal/view/IInputMethodClient; I Landroid/os/ResultReceiver;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-notifySuggestionPicked-(Landroid/text/style/SuggestionSpan; Ljava/lang/String; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-registerSuggestionSpansForNotification-([Landroid/text/style/SuggestionSpan;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-removeClient-(Lcom/android/internal/view/IInputMethodClient;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-setAdditionalInputMethodSubtypes-(Ljava/lang/String; [Landroid/view/inputmethod/InputMethodSubtype;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-setCurrentInputMethodSubtype-(Landroid/view/inputmethod/InputMethodSubtype;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-setInputMethod-(Landroid/os/IBinder; Ljava/lang/String;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/InputMethodManagerService;-setInputMethodAndSubtype-(Landroid/os/IBinder; Ljava/lang/String; Landroid/view/inputmethod/InputMethodSubtype;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/InputMethodManagerService;-setInputMethodEnabled-(Ljava/lang/String; Z)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/InputMethodManagerService;-shouldOfferSwitchingToNextInputMethod-(Landroid/os/IBinder;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-showInputMethodAndSubtypeEnablerFromClient-(Lcom/android/internal/view/IInputMethodClient; Ljava/lang/String;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.READ_EXTERNAL_STORAGE" ], "Lcom/android/server/InputMethodManagerService;-showInputMethodPickerFromClient-(Lcom/android/internal/view/IInputMethodClient; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-showMySoftInput-(Landroid/os/IBinder; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-showSoftInput-(Lcom/android/internal/view/IInputMethodClient; I Landroid/os/ResultReceiver;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-startInputOrWindowGainedFocus-(I Lcom/android/internal/view/IInputMethodClient; Landroid/os/IBinder; I I I Landroid/view/inputmethod/EditorInfo; Lcom/android/internal/view/IInputContext; I)Lcom/android/internal/view/InputBindResult;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/InputMethodManagerService;-switchToLastInputMethod-(Landroid/os/IBinder;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/InputMethodManagerService;-switchToNextInputMethod-(Landroid/os/IBinder; Z)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/LocationManagerService;-addGnssMeasurementsListener-(Landroid/location/IGnssMeasurementsListener; Ljava/lang/String;)Z": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-addGnssNavigationMessageListener-(Landroid/location/IGnssNavigationMessageListener; Ljava/lang/String;)Z": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-getBestProvider-(Landroid/location/Criteria; Z)Ljava/lang/String;": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-getLastLocation-(Landroid/location/LocationRequest; Ljava/lang/String;)Landroid/location/Location;": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-getProviderProperties-(Ljava/lang/String;)Lcom/android/internal/location/ProviderProperties;": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-getProviders-(Landroid/location/Criteria; Z)Ljava/util/List;": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-registerGnssStatusCallback-(Landroid/location/IGnssStatusListener; Ljava/lang/String;)Z": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-removeUpdates-(Landroid/location/ILocationListener; Landroid/app/PendingIntent; Ljava/lang/String;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-reportLocation-(Landroid/location/Location; Z)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION", "android.permission.INSTALL_LOCATION_PROVIDER" ], "Lcom/android/server/LocationManagerService;-requestGeofence-(Landroid/location/LocationRequest; Landroid/location/Geofence; Landroid/app/PendingIntent; Ljava/lang/String;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Lcom/android/server/LocationManagerService;-requestLocationUpdates-(Landroid/location/LocationRequest; Landroid/location/ILocationListener; Landroid/app/PendingIntent; Ljava/lang/String;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION", "android.permission.UPDATE_APP_OPS_STATS", "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/LocationManagerService;-sendExtraCommand-(Ljava/lang/String; Ljava/lang/String; Landroid/os/Bundle;)Z": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION", "android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" ], "Lcom/android/server/LockSettingsService;-checkPassword-(Ljava/lang/String; I Lcom/android/internal/widget/ICheckCredentialProgressCallback;)Lcom/android/internal/widget/VerifyCredentialResponse;": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" ], "Lcom/android/server/LockSettingsService;-checkPattern-(Ljava/lang/String; I Lcom/android/internal/widget/ICheckCredentialProgressCallback;)Lcom/android/internal/widget/VerifyCredentialResponse;": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" ], "Lcom/android/server/LockSettingsService;-checkVoldPassword-(I)Z": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" ], "Lcom/android/server/LockSettingsService;-getBoolean-(Ljava/lang/String; Z I)Z": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE", "android.permission.READ_CONTACTS" ], "Lcom/android/server/LockSettingsService;-getLong-(Ljava/lang/String; J I)J": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE", "android.permission.READ_CONTACTS" ], "Lcom/android/server/LockSettingsService;-getSeparateProfileChallengeEnabled-(I)Z": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE", "android.permission.READ_CONTACTS" ], "Lcom/android/server/LockSettingsService;-getString-(Ljava/lang/String; Ljava/lang/String; I)Ljava/lang/String;": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE", "android.permission.READ_CONTACTS" ], "Lcom/android/server/LockSettingsService;-getStrongAuthForUser-(I)I": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" ], "Lcom/android/server/LockSettingsService;-registerStrongAuthTracker-(Landroid/app/trust/IStrongAuthTracker;)V": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" ], "Lcom/android/server/LockSettingsService;-requireStrongAuth-(I I)V": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" ], "Lcom/android/server/LockSettingsService;-resetKeyStore-(I)V": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" ], "Lcom/android/server/LockSettingsService;-setBoolean-(Ljava/lang/String; Z I)V": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" ], "Lcom/android/server/LockSettingsService;-setLockPassword-(Ljava/lang/String; Ljava/lang/String; I)V": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" ], "Lcom/android/server/LockSettingsService;-setLockPattern-(Ljava/lang/String; Ljava/lang/String; I)V": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" ], "Lcom/android/server/LockSettingsService;-setLong-(Ljava/lang/String; J I)V": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" ], "Lcom/android/server/LockSettingsService;-setSeparateProfileChallengeEnabled-(I Z Ljava/lang/String;)V": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" ], "Lcom/android/server/LockSettingsService;-setString-(Ljava/lang/String; Ljava/lang/String; I)V": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" ], "Lcom/android/server/LockSettingsService;-systemReady-()V": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE", "android.permission.READ_CONTACTS" ], "Lcom/android/server/LockSettingsService;-unregisterStrongAuthTracker-(Landroid/app/trust/IStrongAuthTracker;)V": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" ], "Lcom/android/server/LockSettingsService;-userPresent-(I)V": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" ], "Lcom/android/server/LockSettingsService;-verifyPassword-(Ljava/lang/String; J I)Lcom/android/internal/widget/VerifyCredentialResponse;": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" ], "Lcom/android/server/LockSettingsService;-verifyPattern-(Ljava/lang/String; J I)Lcom/android/internal/widget/VerifyCredentialResponse;": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" ], "Lcom/android/server/LockSettingsService;-verifyTiedProfileChallenge-(Ljava/lang/String; Z J I)Lcom/android/internal/widget/VerifyCredentialResponse;": [ "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" ], "Lcom/android/server/MmsServiceBroker$BinderService;-downloadMessage-(I Ljava/lang/String; Ljava/lang/String; Landroid/net/Uri; Landroid/os/Bundle; Landroid/app/PendingIntent;)V": [ "android.permission.RECEIVE_MMS" ], "Lcom/android/server/MmsServiceBroker$BinderService;-sendMessage-(I Ljava/lang/String; Landroid/net/Uri; Ljava/lang/String; Landroid/os/Bundle; Landroid/app/PendingIntent;)V": [ "android.permission.SEND_SMS" ], "Lcom/android/server/MountService;-addUserKeyAuth-(I I [B [B)V": [ "android.permission.STORAGE_INTERNAL" ], "Lcom/android/server/MountService;-benchmark-(Ljava/lang/String;)J": [ "android.permission.MOUNT_FORMAT_FILESYSTEMS" ], "Lcom/android/server/MountService;-changeEncryptionPassword-(I Ljava/lang/String;)I": [ "android.permission.CRYPT_KEEPER" ], "Lcom/android/server/MountService;-clearPassword-()V": [ "android.permission.STORAGE_INTERNAL" ], "Lcom/android/server/MountService;-createSecureContainer-(Ljava/lang/String; I Ljava/lang/String; Ljava/lang/String; I Z)I": [ "android.permission.ASEC_CREATE" ], "Lcom/android/server/MountService;-createUserKey-(I I Z)V": [ "android.permission.STORAGE_INTERNAL" ], "Lcom/android/server/MountService;-decryptStorage-(Ljava/lang/String;)I": [ "android.permission.CRYPT_KEEPER" ], "Lcom/android/server/MountService;-destroySecureContainer-(Ljava/lang/String; Z)I": [ "android.permission.ASEC_DESTROY" ], "Lcom/android/server/MountService;-destroyUserKey-(I)V": [ "android.permission.STORAGE_INTERNAL" ], "Lcom/android/server/MountService;-destroyUserStorage-(Ljava/lang/String; I I)V": [ "android.permission.STORAGE_INTERNAL" ], "Lcom/android/server/MountService;-encryptStorage-(I Ljava/lang/String;)I": [ "android.permission.CRYPT_KEEPER" ], "Lcom/android/server/MountService;-finalizeSecureContainer-(Ljava/lang/String;)I": [ "android.permission.ASEC_CREATE" ], "Lcom/android/server/MountService;-fixPermissionsSecureContainer-(Ljava/lang/String; I Ljava/lang/String;)I": [ "android.permission.ASEC_CREATE" ], "Lcom/android/server/MountService;-fixateNewestUserKeyAuth-(I)V": [ "android.permission.STORAGE_INTERNAL" ], "Lcom/android/server/MountService;-forgetAllVolumes-()V": [ "android.permission.MOUNT_UNMOUNT_FILESYSTEMS" ], "Lcom/android/server/MountService;-forgetVolume-(Ljava/lang/String;)V": [ "android.permission.MOUNT_UNMOUNT_FILESYSTEMS" ], "Lcom/android/server/MountService;-format-(Ljava/lang/String;)V": [ "android.permission.MOUNT_FORMAT_FILESYSTEMS" ], "Lcom/android/server/MountService;-formatVolume-(Ljava/lang/String;)I": [ "android.permission.MOUNT_FORMAT_FILESYSTEMS" ], "Lcom/android/server/MountService;-getEncryptionState-()I": [ "android.permission.CRYPT_KEEPER" ], "Lcom/android/server/MountService;-getField-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.STORAGE_INTERNAL" ], "Lcom/android/server/MountService;-getPassword-()Ljava/lang/String;": [ "android.permission.STORAGE_INTERNAL" ], "Lcom/android/server/MountService;-getPasswordType-()I": [ "android.permission.STORAGE_INTERNAL" ], "Lcom/android/server/MountService;-getPrimaryStorageUuid-()Ljava/lang/String;": [ "android.permission.MOUNT_UNMOUNT_FILESYSTEMS" ], "Lcom/android/server/MountService;-getSecureContainerFilesystemPath-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.ASEC_ACCESS" ], "Lcom/android/server/MountService;-getSecureContainerList-()[Ljava/lang/String;": [ "android.permission.ASEC_ACCESS" ], "Lcom/android/server/MountService;-getSecureContainerPath-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.ASEC_ACCESS" ], "Lcom/android/server/MountService;-getStorageUsers-(Ljava/lang/String;)[I": [ "android.permission.MOUNT_UNMOUNT_FILESYSTEMS" ], "Lcom/android/server/MountService;-isConvertibleToFBE-()Z": [ "android.permission.STORAGE_INTERNAL" ], "Lcom/android/server/MountService;-isSecureContainerMounted-(Ljava/lang/String;)Z": [ "android.permission.ASEC_ACCESS" ], "Lcom/android/server/MountService;-lockUserKey-(I)V": [ "android.permission.STORAGE_INTERNAL" ], "Lcom/android/server/MountService;-mount-(Ljava/lang/String;)V": [ "android.permission.MOUNT_UNMOUNT_FILESYSTEMS" ], "Lcom/android/server/MountService;-mountSecureContainer-(Ljava/lang/String; Ljava/lang/String; I Z)I": [ "android.permission.ASEC_MOUNT_UNMOUNT" ], "Lcom/android/server/MountService;-mountVolume-(Ljava/lang/String;)I": [ "android.permission.MOUNT_UNMOUNT_FILESYSTEMS" ], "Lcom/android/server/MountService;-partitionMixed-(Ljava/lang/String; I)V": [ "android.permission.MOUNT_FORMAT_FILESYSTEMS" ], "Lcom/android/server/MountService;-partitionPrivate-(Ljava/lang/String;)V": [ "android.permission.MOUNT_FORMAT_FILESYSTEMS" ], "Lcom/android/server/MountService;-partitionPublic-(Ljava/lang/String;)V": [ "android.permission.MOUNT_FORMAT_FILESYSTEMS" ], "Lcom/android/server/MountService;-prepareUserStorage-(Ljava/lang/String; I I I)V": [ "android.permission.STORAGE_INTERNAL" ], "Lcom/android/server/MountService;-renameSecureContainer-(Ljava/lang/String; Ljava/lang/String;)I": [ "android.permission.ASEC_RENAME" ], "Lcom/android/server/MountService;-resizeSecureContainer-(Ljava/lang/String; I Ljava/lang/String;)I": [ "android.permission.ASEC_CREATE" ], "Lcom/android/server/MountService;-runMaintenance-()V": [ "android.permission.MOUNT_UNMOUNT_FILESYSTEMS" ], "Lcom/android/server/MountService;-setDebugFlags-(I I)V": [ "android.permission.MOUNT_UNMOUNT_FILESYSTEMS" ], "Lcom/android/server/MountService;-setField-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.STORAGE_INTERNAL" ], "Lcom/android/server/MountService;-setPrimaryStorageUuid-(Ljava/lang/String; Landroid/content/pm/IPackageMoveObserver;)V": [ "android.permission.MOUNT_UNMOUNT_FILESYSTEMS" ], "Lcom/android/server/MountService;-setVolumeNickname-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.MOUNT_UNMOUNT_FILESYSTEMS" ], "Lcom/android/server/MountService;-setVolumeUserFlags-(Ljava/lang/String; I I)V": [ "android.permission.MOUNT_UNMOUNT_FILESYSTEMS" ], "Lcom/android/server/MountService;-shutdown-(Landroid/os/storage/IMountShutdownObserver;)V": [ "android.permission.SHUTDOWN" ], "Lcom/android/server/MountService;-unlockUserKey-(I I [B [B)V": [ "android.permission.STORAGE_INTERNAL" ], "Lcom/android/server/MountService;-unmount-(Ljava/lang/String;)V": [ "android.permission.MOUNT_UNMOUNT_FILESYSTEMS" ], "Lcom/android/server/MountService;-unmountSecureContainer-(Ljava/lang/String; Z)I": [ "android.permission.ASEC_MOUNT_UNMOUNT" ], "Lcom/android/server/MountService;-unmountVolume-(Ljava/lang/String; Z Z)V": [ "android.permission.MOUNT_UNMOUNT_FILESYSTEMS" ], "Lcom/android/server/MountService;-verifyEncryptionPassword-(Ljava/lang/String;)I": [ "android.permission.CRYPT_KEEPER" ], "Lcom/android/server/NetworkManagementService;-addIdleTimer-(Ljava/lang/String; I I)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-addInterfaceToLocalNetwork-(Ljava/lang/String; Ljava/util/List;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-addInterfaceToNetwork-(Ljava/lang/String; I)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-addLegacyRouteForNetId-(I Landroid/net/RouteInfo; I)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-addRoute-(I Landroid/net/RouteInfo;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-addVpnUidRanges-(I [Landroid/net/UidRange;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-allowProtect-(I)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-attachPppd-(Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-clearDefaultNetId-()V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-clearInterfaceAddresses-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-clearPermission-([I)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-createPhysicalNetwork-(I Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-createVirtualNetwork-(I Z Z)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-denyProtect-(I)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-detachPppd-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-disableIpv6-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-disableNat-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-enableIpv6-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-enableNat-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getDnsForwarders-()[Ljava/lang/String;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getInterfaceConfig-(Ljava/lang/String;)Landroid/net/InterfaceConfiguration;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getIpForwardingEnabled-()Z": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getNetworkStatsDetail-()Landroid/net/NetworkStats;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getNetworkStatsSummaryDev-()Landroid/net/NetworkStats;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getNetworkStatsSummaryXt-()Landroid/net/NetworkStats;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getNetworkStatsTethering-()Landroid/net/NetworkStats;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-getNetworkStatsUidDetail-(I)Landroid/net/NetworkStats;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-isBandwidthControlEnabled-()Z": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-isClatdStarted-(Ljava/lang/String;)Z": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-isTetheringStarted-()Z": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-listInterfaces-()[Ljava/lang/String;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-listTetheredInterfaces-()[Ljava/lang/String;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-listTtys-()[Ljava/lang/String;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-registerObserver-(Landroid/net/INetworkManagementEventObserver;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-removeIdleTimer-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-removeInterfaceAlert-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-removeInterfaceFromLocalNetwork-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-removeInterfaceFromNetwork-(Ljava/lang/String; I)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-removeInterfaceQuota-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-removeNetwork-(I)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-removeRoute-(I Landroid/net/RouteInfo;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-removeRoutesFromLocalNetwork-(Ljava/util/List;)I": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-removeVpnUidRanges-(I [Landroid/net/UidRange;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setAccessPoint-(Landroid/net/wifi/WifiConfiguration; Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setDefaultNetId-(I)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setDnsConfigurationForNetwork-(I [Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setDnsForwarders-(Landroid/net/Network; [Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setDnsServersForNetwork-(I [Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setGlobalAlert-(J)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setInterfaceAlert-(Ljava/lang/String; J)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setInterfaceConfig-(Ljava/lang/String; Landroid/net/InterfaceConfiguration;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setInterfaceDown-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setInterfaceIpv6NdOffload-(Ljava/lang/String; Z)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setInterfaceIpv6PrivacyExtensions-(Ljava/lang/String; Z)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setInterfaceQuota-(Ljava/lang/String; J)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setInterfaceUp-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setIpForwardingEnabled-(Z)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setMtu-(Ljava/lang/String; I)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setNetworkPermission-(I Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setPermission-(Ljava/lang/String; [I)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setUidCleartextNetworkPolicy-(I I)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setUidMeteredNetworkBlacklist-(I Z)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-setUidMeteredNetworkWhitelist-(I Z)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-shutdown-()V": [ "android.permission.SHUTDOWN" ], "Lcom/android/server/NetworkManagementService;-startAccessPoint-(Landroid/net/wifi/WifiConfiguration; Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-startClatd-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-startInterfaceForwarding-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-startTethering-([Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-stopAccessPoint-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-stopClatd-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-stopInterfaceForwarding-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-stopTethering-()V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-tetherInterface-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-unregisterObserver-(Landroid/net/INetworkManagementEventObserver;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-untetherInterface-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkManagementService;-wifiFirmwareReload-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/NetworkScoreService;-clearScores-()Z": [ "android.permission.BROADCAST_NETWORK_PRIVILEGED", "android.permission.SCORE_NETWORKS" ], "Lcom/android/server/NetworkScoreService;-disableScoring-()V": [ "android.permission.SCORE_NETWORKS" ], "Lcom/android/server/NetworkScoreService;-registerNetworkScoreCache-(I Landroid/net/INetworkScoreCache;)V": [ "android.permission.BROADCAST_NETWORK_PRIVILEGED" ], "Lcom/android/server/NetworkScoreService;-setActiveScorer-(Ljava/lang/String;)Z": [ "android.permission.SCORE_NETWORKS" ], "Lcom/android/server/NetworkScoreService;-updateScores-([Landroid/net/ScoredNetwork;)Z": [ "android.permission.SCORE_NETWORKS" ], "Lcom/android/server/NsdService;-getMessenger-()Landroid/os/Messenger;": [ "android.permission.INTERNET" ], "Lcom/android/server/NsdService;-setEnabled-(Z)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/RecoverySystemService$BinderService;-clearBcb-()Z": [ "android.permission.RECOVERY" ], "Lcom/android/server/RecoverySystemService$BinderService;-rebootRecoveryWithCommand-(Ljava/lang/String;)V": [ "android.permission.RECOVERY" ], "Lcom/android/server/RecoverySystemService$BinderService;-setupBcb-(Ljava/lang/String;)Z": [ "android.permission.RECOVERY" ], "Lcom/android/server/RecoverySystemService$BinderService;-uncrypt-(Ljava/lang/String; Landroid/os/IRecoverySystemProgressListener;)Z": [ "android.permission.RECOVERY" ], "Lcom/android/server/SerialService;-getSerialPorts-()[Ljava/lang/String;": [ "android.permission.SERIAL_PORT" ], "Lcom/android/server/SerialService;-openSerialPort-(Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;": [ "android.permission.SERIAL_PORT" ], "Lcom/android/server/TelephonyRegistry;-addOnSubscriptionsChangedListener-(Ljava/lang/String; Lcom/android/internal/telephony/IOnSubscriptionsChangedListener;)V": [ "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-listen-(Ljava/lang/String; Lcom/android/internal/telephony/IPhoneStateListener; I Z)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.READ_PHONE_STATE", "android.permission.READ_PRECISE_PHONE_STATE", "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-listenForSubscriber-(I Ljava/lang/String; Lcom/android/internal/telephony/IPhoneStateListener; I Z)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.READ_PHONE_STATE", "android.permission.READ_PRECISE_PHONE_STATE", "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyCallForwardingChanged-(Z)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyCallForwardingChangedForSubscriber-(I Z)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyCallState-(I Ljava/lang/String;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyCallStateForPhoneId-(I I I Ljava/lang/String;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyCarrierNetworkChange-(Z)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyCellInfo-(Ljava/util/List;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyCellInfoForSubscriber-(I Ljava/util/List;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyCellLocation-(Landroid/os/Bundle;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyCellLocationForSubscriber-(I Landroid/os/Bundle;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyDataActivity-(I)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyDataActivityForSubscriber-(I I)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyDataConnection-(I Z Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Landroid/net/LinkProperties; Landroid/net/NetworkCapabilities; I Z)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyDataConnectionFailed-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyDataConnectionFailedForSubscriber-(I Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyDataConnectionForSubscriber-(I I Z Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Landroid/net/LinkProperties; Landroid/net/NetworkCapabilities; I Z)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyDisconnectCause-(I I)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyMessageWaitingChangedForPhoneId-(I I Z)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyOemHookRawEventForSubscriber-(I [B)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyOtaspChanged-(I)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyPreciseCallState-(I I I)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyPreciseDataConnectionFailed-(Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyServiceStateForPhoneId-(I I Landroid/telephony/ServiceState;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifySignalStrengthForPhoneId-(I I Landroid/telephony/SignalStrength;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TelephonyRegistry;-notifyVoLteServiceStateChanged-(Landroid/telephony/VoLteServiceState;)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/TextServicesManagerService;-setCurrentSpellChecker-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/TextServicesManagerService;-setCurrentSpellCheckerSubtype-(Ljava/lang/String; I)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/TextServicesManagerService;-setSpellCheckerEnabled-(Z)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/UpdateLockService;-acquireUpdateLock-(Landroid/os/IBinder; Ljava/lang/String;)V": [ "android.permission.UPDATE_LOCK" ], "Lcom/android/server/UpdateLockService;-releaseUpdateLock-(Landroid/os/IBinder;)V": [ "android.permission.UPDATE_LOCK" ], "Lcom/android/server/VibratorService;-cancelVibrate-(Landroid/os/IBinder;)V": [ "android.permission.VIBRATE" ], "Lcom/android/server/VibratorService;-vibrate-(I Ljava/lang/String; J I Landroid/os/IBinder;)V": [ "android.permission.UPDATE_APP_OPS_STATS", "android.permission.VIBRATE" ], "Lcom/android/server/VibratorService;-vibratePattern-(I Ljava/lang/String; [J I I Landroid/os/IBinder;)V": [ "android.permission.UPDATE_APP_OPS_STATS", "android.permission.VIBRATE" ], "Lcom/android/server/accessibility/AccessibilityManagerService$Service;-findAccessibilityNodeInfoByAccessibilityId-(I J I Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback; I J)Z": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService$Service;-findAccessibilityNodeInfosByText-(I J Ljava/lang/String; I Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback; J)Z": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService$Service;-findAccessibilityNodeInfosByViewId-(I J Ljava/lang/String; I Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback; J)Z": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService$Service;-findFocus-(I J I I Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback; J)Z": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService$Service;-focusSearch-(I J I I Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback; J)Z": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService$Service;-getMagnificationCenterX-()F": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService$Service;-getMagnificationCenterY-()F": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService$Service;-getMagnificationRegion-()Landroid/graphics/Region;": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService$Service;-getMagnificationScale-()F": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService$Service;-getWindow-(I)Landroid/view/accessibility/AccessibilityWindowInfo;": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService$Service;-getWindows-()Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService$Service;-performAccessibilityAction-(I J I Landroid/os/Bundle; I Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback; J)Z": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService$Service;-performGlobalAction-(I)Z": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService$Service;-resetMagnification-(Z)Z": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService$Service;-setMagnificationScaleAndCenter-(F F F Z)Z": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService$Service;-setSoftKeyboardShowMode-(I)Z": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService;-addAccessibilityInteractionConnection-(Landroid/view/IWindow; Landroid/view/accessibility/IAccessibilityInteractionConnection; I)I": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService;-addClient-(Landroid/view/accessibility/IAccessibilityManagerClient; I)I": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService;-disableAccessibilityService-(Landroid/content/ComponentName; I)V": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService;-enableAccessibilityService-(Landroid/content/ComponentName; I)V": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService;-getEnabledAccessibilityServiceList-(I I)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService;-getInstalledAccessibilityServiceList-(I)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService;-getWindowToken-(I I)Landroid/os/IBinder;": [ "getWindowToken" ], "Lcom/android/server/accessibility/AccessibilityManagerService;-interrupt-(I)V": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService;-removeAccessibilityInteractionConnection-(Landroid/view/IWindow;)V": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService;-sendAccessibilityEvent-(Landroid/view/accessibility/AccessibilityEvent; I)Z": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/accessibility/AccessibilityManagerService;-temporaryEnableAccessibilityStateUntilKeyguardRemoved-(Landroid/content/ComponentName; Z)V": [ "temporaryEnableAccessibilityStateUntilKeyguardRemoved" ], "Lcom/android/server/accounts/AccountManagerService;-addAccountAsUser-(Landroid/accounts/IAccountManagerResponse; Ljava/lang/String; Ljava/lang/String; [Ljava/lang/String; Z Landroid/os/Bundle; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/accounts/AccountManagerService;-addSharedAccountsFromParentUser-(I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/accounts/AccountManagerService;-confirmCredentialsAsUser-(Landroid/accounts/IAccountManagerResponse; Landroid/accounts/Account; Landroid/os/Bundle; Z I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/accounts/AccountManagerService;-copyAccountToUser-(Landroid/accounts/IAccountManagerResponse; Landroid/accounts/Account; I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/accounts/AccountManagerService;-finishSessionAsUser-(Landroid/accounts/IAccountManagerResponse; Landroid/os/Bundle; Z Landroid/os/Bundle; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/accounts/AccountManagerService;-getAccounts-(Ljava/lang/String; Ljava/lang/String;)[Landroid/accounts/Account;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/accounts/AccountManagerService;-getAccountsAsUser-(Ljava/lang/String; I Ljava/lang/String;)[Landroid/accounts/Account;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/accounts/AccountManagerService;-getAccountsByTypeForPackage-(Ljava/lang/String; Ljava/lang/String; Ljava/lang/String;)[Landroid/accounts/Account;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/accounts/AccountManagerService;-getAccountsForPackage-(Ljava/lang/String; I Ljava/lang/String;)[Landroid/accounts/Account;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/accounts/AccountManagerService;-getAuthenticatorTypes-(I)[Landroid/accounts/AuthenticatorDescription;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/accounts/AccountManagerService;-removeAccount-(Landroid/accounts/IAccountManagerResponse; Landroid/accounts/Account; Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/accounts/AccountManagerService;-removeAccountAsUser-(Landroid/accounts/IAccountManagerResponse; Landroid/accounts/Account; Z I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/am/ActivityManagerService;-appNotRespondingViaProvider-(Landroid/os/IBinder;)V": [ "android.permission.REMOVE_TASKS" ], "Lcom/android/server/am/ActivityManagerService;-bindBackupAgent-(Ljava/lang/String; I I)Z": [ "android.permission.CONFIRM_FULL_BACKUP", "android.permission.START_ANY_ACTIVITY", "android.permission.START_TASKS_FROM_RECENTS" ], "Lcom/android/server/am/ActivityManagerService;-bindService-(Landroid/app/IApplicationThread; Landroid/os/IBinder; Landroid/content/Intent; Ljava/lang/String; Landroid/app/IServiceConnection; I Ljava/lang/String; I)I": [ "android.permission.BROADCAST_STICKY", "android.permission.SET_DEBUG_APP", "android.permission.START_ANY_ACTIVITY", "android.permission.START_TASKS_FROM_RECENTS" ], "Lcom/android/server/am/ActivityManagerService;-bootAnimationComplete-()V": [ "android.permission.BROADCAST_STICKY" ], "Lcom/android/server/am/ActivityManagerService;-clearGrantedUriPermissions-(Ljava/lang/String; I)V": [ "android.permission.CLEAR_APP_GRANTED_URI_PERMISSIONS" ], "Lcom/android/server/am/ActivityManagerService;-clearPendingBackup-()V": [ "android.permission.BACKUP" ], "Lcom/android/server/am/ActivityManagerService;-crashApplication-(I I Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.FORCE_STOP_PACKAGES" ], "Lcom/android/server/am/ActivityManagerService;-createStackOnDisplay-(I)Landroid/app/IActivityContainer;": [ "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-createVirtualActivityContainer-(Landroid/os/IBinder; Landroid/app/IActivityContainerCallback;)Landroid/app/IActivityContainer;": [ "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-deleteActivityContainer-(Landroid/app/IActivityContainer;)V": [ "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-dumpHeap-(Ljava/lang/String; I Z Ljava/lang/String; Landroid/os/ParcelFileDescriptor;)Z": [ "android.permission.SET_ACTIVITY_WATCHER" ], "Lcom/android/server/am/ActivityManagerService;-finishHeavyWeightApp-()V": [ "android.permission.FORCE_STOP_PACKAGES" ], "Lcom/android/server/am/ActivityManagerService;-forceStopPackage-(Ljava/lang/String; I)V": [ "android.permission.FORCE_STOP_PACKAGES" ], "Lcom/android/server/am/ActivityManagerService;-getAllStackInfos-()Ljava/util/List;": [ "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-getAssistContextExtras-(I)Landroid/os/Bundle;": [ "android.permission.GET_TOP_ACTIVITY_INFO" ], "Lcom/android/server/am/ActivityManagerService;-getContentProviderExternal-(Ljava/lang/String; I Landroid/os/IBinder;)Landroid/app/IActivityManager$ContentProviderHolder;": [ "android.permission.ACCESS_CONTENT_PROVIDERS_EXTERNALLY" ], "Lcom/android/server/am/ActivityManagerService;-getCurrentUser-()Landroid/content/pm/UserInfo;": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/am/ActivityManagerService;-getGrantedUriPermissions-(Ljava/lang/String; I)Landroid/content/pm/ParceledListSlice;": [ "android.permission.GET_APP_GRANTED_URI_PERMISSIONS" ], "Lcom/android/server/am/ActivityManagerService;-getIntentForIntentSender-(Landroid/content/IIntentSender;)Landroid/content/Intent;": [ "android.permission.GET_INTENT_SENDER_INTENT" ], "Lcom/android/server/am/ActivityManagerService;-getPackageProcessState-(Ljava/lang/String; Ljava/lang/String;)I": [ "android.permission.PACKAGE_USAGE_STATS" ], "Lcom/android/server/am/ActivityManagerService;-getRecentTasks-(I I I)Landroid/content/pm/ParceledListSlice;": [ "android.permission.GET_DETAILED_TASKS", "android.permission.GET_TASKS", "android.permission.REAL_GET_TASKS" ], "Lcom/android/server/am/ActivityManagerService;-getRunningAppProcesses-()Ljava/util/List;": [ "android.permission.GET_TASKS", "android.permission.REAL_GET_TASKS" ], "Lcom/android/server/am/ActivityManagerService;-getRunningExternalApplications-()Ljava/util/List;": [ "android.permission.GET_TASKS", "android.permission.REAL_GET_TASKS" ], "Lcom/android/server/am/ActivityManagerService;-getRunningUserIds-()[I": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/am/ActivityManagerService;-getStackInfo-(I)Landroid/app/ActivityManager$StackInfo;": [ "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-getTaskBounds-(I)Landroid/graphics/Rect;": [ "android.permission.BROADCAST_STICKY", "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-getTaskDescriptionIcon-(Ljava/lang/String; I)Landroid/graphics/Bitmap;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/am/ActivityManagerService;-getTaskThumbnail-(I)Landroid/app/ActivityManager$TaskThumbnail;": [ "android.permission.BROADCAST_STICKY", "android.permission.READ_FRAME_BUFFER" ], "Lcom/android/server/am/ActivityManagerService;-getTasks-(I I)Ljava/util/List;": [ "android.permission.GET_TASKS", "android.permission.REAL_GET_TASKS" ], "Lcom/android/server/am/ActivityManagerService;-hang-(Landroid/os/IBinder; Z)V": [ "android.permission.SET_ACTIVITY_WATCHER" ], "Lcom/android/server/am/ActivityManagerService;-inputDispatchingTimedOut-(I Z Ljava/lang/String;)J": [ "android.permission.FILTER_EVENTS" ], "Lcom/android/server/am/ActivityManagerService;-isInHomeStack-(I)Z": [ "android.permission.BROADCAST_STICKY", "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-isUserRunning-(I I)Z": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/am/ActivityManagerService;-killAllBackgroundProcesses-()V": [ "android.permission.KILL_BACKGROUND_PROCESSES" ], "Lcom/android/server/am/ActivityManagerService;-killBackgroundProcesses-(Ljava/lang/String; I)V": [ "android.permission.KILL_BACKGROUND_PROCESSES" ], "Lcom/android/server/am/ActivityManagerService;-killPackageDependents-(Ljava/lang/String; I)V": [ "android.permission.KILL_UID" ], "Lcom/android/server/am/ActivityManagerService;-killUid-(I I Ljava/lang/String;)V": [ "android.permission.KILL_UID" ], "Lcom/android/server/am/ActivityManagerService;-launchAssistIntent-(Landroid/content/Intent; I Ljava/lang/String; I Landroid/os/Bundle;)Z": [ "android.permission.GET_TOP_ACTIVITY_INFO" ], "Lcom/android/server/am/ActivityManagerService;-moveTaskBackwards-(I)V": [ "android.permission.REORDER_TASKS" ], "Lcom/android/server/am/ActivityManagerService;-moveTaskToDockedStack-(I I Z Z Landroid/graphics/Rect; Z)Z": [ "android.permission.BROADCAST_STICKY", "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-moveTaskToFront-(I I Landroid/os/Bundle;)V": [ "android.permission.BROADCAST_STICKY", "android.permission.REORDER_TASKS" ], "Lcom/android/server/am/ActivityManagerService;-moveTaskToStack-(I I Z)V": [ "android.permission.BROADCAST_STICKY", "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-moveTasksToFullscreenStack-(I Z)V": [ "android.permission.BROADCAST_STICKY", "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-moveTopActivityToPinnedStack-(I Landroid/graphics/Rect;)Z": [ "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-navigateUpTo-(Landroid/os/IBinder; Landroid/content/Intent; I Landroid/content/Intent;)Z": [ "android.permission.SET_DEBUG_APP", "android.permission.START_ANY_ACTIVITY", "android.permission.START_TASKS_FROM_RECENTS" ], "Lcom/android/server/am/ActivityManagerService;-performIdleMaintenance-()V": [ "android.permission.SET_ACTIVITY_WATCHER" ], "Lcom/android/server/am/ActivityManagerService;-positionTaskInStack-(I I I)V": [ "android.permission.BROADCAST_STICKY", "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-profileControl-(Ljava/lang/String; I Z Landroid/app/ProfilerInfo; I)Z": [ "android.permission.SET_ACTIVITY_WATCHER" ], "Lcom/android/server/am/ActivityManagerService;-registerProcessObserver-(Landroid/app/IProcessObserver;)V": [ "android.permission.SET_ACTIVITY_WATCHER" ], "Lcom/android/server/am/ActivityManagerService;-registerTaskStackListener-(Landroid/app/ITaskStackListener;)V": [ "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-registerUidObserver-(Landroid/app/IUidObserver; I)V": [ "android.permission.SET_ACTIVITY_WATCHER" ], "Lcom/android/server/am/ActivityManagerService;-registerUserSwitchObserver-(Landroid/app/IUserSwitchObserver; Ljava/lang/String;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/am/ActivityManagerService;-removeContentProviderExternal-(Ljava/lang/String; Landroid/os/IBinder;)V": [ "android.permission.ACCESS_CONTENT_PROVIDERS_EXTERNALLY" ], "Lcom/android/server/am/ActivityManagerService;-removeStack-(I)V": [ "android.permission.BROADCAST_STICKY", "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-removeTask-(I)Z": [ "android.permission.BROADCAST_STICKY", "android.permission.REMOVE_TASKS" ], "Lcom/android/server/am/ActivityManagerService;-requestAssistContextExtras-(I Lcom/android/internal/os/IResultReceiver; Landroid/os/Bundle; Landroid/os/IBinder; Z Z)Z": [ "android.permission.GET_TOP_ACTIVITY_INFO" ], "Lcom/android/server/am/ActivityManagerService;-requestBugReport-(I)V": [ "android.permission.DUMP" ], "Lcom/android/server/am/ActivityManagerService;-resizeDockedStack-(Landroid/graphics/Rect; Landroid/graphics/Rect; Landroid/graphics/Rect; Landroid/graphics/Rect; Landroid/graphics/Rect;)V": [ "android.permission.BROADCAST_STICKY", "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-resizePinnedStack-(Landroid/graphics/Rect; Landroid/graphics/Rect;)V": [ "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-resizeStack-(I Landroid/graphics/Rect; Z Z Z I)V": [ "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-resizeTask-(I Landroid/graphics/Rect; I)V": [ "android.permission.BROADCAST_STICKY", "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-restart-()V": [ "android.permission.SET_ACTIVITY_WATCHER" ], "Lcom/android/server/am/ActivityManagerService;-resumeAppSwitches-()V": [ "android.permission.STOP_APP_SWITCHES" ], "Lcom/android/server/am/ActivityManagerService;-sendIdleJobTrigger-()V": [ "android.permission.BROADCAST_STICKY", "android.permission.SET_ACTIVITY_WATCHER" ], "Lcom/android/server/am/ActivityManagerService;-setActivityController-(Landroid/app/IActivityController; Z)V": [ "android.permission.SET_ACTIVITY_WATCHER" ], "Lcom/android/server/am/ActivityManagerService;-setAlwaysFinish-(Z)V": [ "android.permission.SET_ALWAYS_FINISH" ], "Lcom/android/server/am/ActivityManagerService;-setDebugApp-(Ljava/lang/String; Z Z)V": [ "android.permission.SET_DEBUG_APP" ], "Lcom/android/server/am/ActivityManagerService;-setDumpHeapDebugLimit-(Ljava/lang/String; I J Ljava/lang/String;)V": [ "android.permission.SET_DEBUG_APP" ], "Lcom/android/server/am/ActivityManagerService;-setFocusedStack-(I)V": [ "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-setFocusedTask-(I)V": [ "android.permission.BROADCAST_STICKY", "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-setFrontActivityScreenCompatMode-(I)V": [ "android.permission.SET_SCREEN_COMPATIBILITY" ], "Lcom/android/server/am/ActivityManagerService;-setHasTopUi-(Z)V": [ "android.permission.INTERNAL_SYSTEM_WINDOW" ], "Lcom/android/server/am/ActivityManagerService;-setLenientBackgroundCheck-(Z)V": [ "android.permission.SET_PROCESS_LIMIT" ], "Lcom/android/server/am/ActivityManagerService;-setLockScreenShown-(Z Z)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/am/ActivityManagerService;-setPackageAskScreenCompat-(Ljava/lang/String; Z)V": [ "android.permission.SET_SCREEN_COMPATIBILITY" ], "Lcom/android/server/am/ActivityManagerService;-setPackageScreenCompatMode-(Ljava/lang/String; I)V": [ "android.permission.SET_SCREEN_COMPATIBILITY" ], "Lcom/android/server/am/ActivityManagerService;-setProcessForeground-(Landroid/os/IBinder; I Z)V": [ "android.permission.SET_PROCESS_LIMIT" ], "Lcom/android/server/am/ActivityManagerService;-setProcessLimit-(I)V": [ "android.permission.SET_PROCESS_LIMIT" ], "Lcom/android/server/am/ActivityManagerService;-setTaskDescription-(Landroid/os/IBinder; Landroid/app/ActivityManager$TaskDescription;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/am/ActivityManagerService;-shutdown-(I)Z": [ "android.permission.SHUTDOWN" ], "Lcom/android/server/am/ActivityManagerService;-signalPersistentProcesses-(I)V": [ "android.permission.SIGNAL_PERSISTENT_PROCESSES" ], "Lcom/android/server/am/ActivityManagerService;-startActivities-(Landroid/app/IApplicationThread; Ljava/lang/String; [Landroid/content/Intent; [Ljava/lang/String; Landroid/os/IBinder; Landroid/os/Bundle; I)I": [ "android.permission.SET_DEBUG_APP" ], "Lcom/android/server/am/ActivityManagerService;-startActivity-(Landroid/app/IApplicationThread; Ljava/lang/String; Landroid/content/Intent; Ljava/lang/String; Landroid/os/IBinder; Ljava/lang/String; I I Landroid/app/ProfilerInfo; Landroid/os/Bundle;)I": [ "android.permission.SET_DEBUG_APP" ], "Lcom/android/server/am/ActivityManagerService;-startActivityAndWait-(Landroid/app/IApplicationThread; Ljava/lang/String; Landroid/content/Intent; Ljava/lang/String; Landroid/os/IBinder; Ljava/lang/String; I I Landroid/app/ProfilerInfo; Landroid/os/Bundle; I)Landroid/app/IActivityManager$WaitResult;": [ "android.permission.SET_DEBUG_APP" ], "Lcom/android/server/am/ActivityManagerService;-startActivityAsCaller-(Landroid/app/IApplicationThread; Ljava/lang/String; Landroid/content/Intent; Ljava/lang/String; Landroid/os/IBinder; Ljava/lang/String; I I Landroid/app/ProfilerInfo; Landroid/os/Bundle; Z I)I": [ "android.permission.SET_DEBUG_APP" ], "Lcom/android/server/am/ActivityManagerService;-startActivityAsUser-(Landroid/app/IApplicationThread; Ljava/lang/String; Landroid/content/Intent; Ljava/lang/String; Landroid/os/IBinder; Ljava/lang/String; I I Landroid/app/ProfilerInfo; Landroid/os/Bundle; I)I": [ "android.permission.SET_DEBUG_APP" ], "Lcom/android/server/am/ActivityManagerService;-startActivityFromRecents-(I Landroid/os/Bundle;)I": [ "android.permission.BROADCAST_STICKY", "android.permission.START_TASKS_FROM_RECENTS" ], "Lcom/android/server/am/ActivityManagerService;-startActivityWithConfig-(Landroid/app/IApplicationThread; Ljava/lang/String; Landroid/content/Intent; Ljava/lang/String; Landroid/os/IBinder; Ljava/lang/String; I I Landroid/content/res/Configuration; Landroid/os/Bundle; I)I": [ "android.permission.SET_DEBUG_APP" ], "Lcom/android/server/am/ActivityManagerService;-startBinderTracking-()Z": [ "android.permission.SET_ACTIVITY_WATCHER" ], "Lcom/android/server/am/ActivityManagerService;-startConfirmDeviceCredentialIntent-(Landroid/content/Intent;)V": [ "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-startSystemLockTaskMode-(I)V": [ "android.permission.BROADCAST_STICKY", "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-startUserInBackground-(I)Z": [ "android.permission.BROADCAST_STICKY", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/am/ActivityManagerService;-startVoiceActivity-(Ljava/lang/String; I I Landroid/content/Intent; Ljava/lang/String; Landroid/service/voice/IVoiceInteractionSession; Lcom/android/internal/app/IVoiceInteractor; I Landroid/app/ProfilerInfo; Landroid/os/Bundle; I)I": [ "android.permission.BIND_VOICE_INTERACTION" ], "Lcom/android/server/am/ActivityManagerService;-stopAppSwitches-()V": [ "android.permission.BROADCAST_STICKY", "android.permission.STOP_APP_SWITCHES" ], "Lcom/android/server/am/ActivityManagerService;-stopBinderTrackingAndDump-(Landroid/os/ParcelFileDescriptor;)Z": [ "android.permission.SET_ACTIVITY_WATCHER" ], "Lcom/android/server/am/ActivityManagerService;-stopLockTaskMode-()V": [ "android.permission.BROADCAST_STICKY", "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-stopService-(Landroid/app/IApplicationThread; Landroid/content/Intent; Ljava/lang/String; I)I": [ "android.permission.BROADCAST_STICKY", "android.permission.SET_DEBUG_APP", "android.permission.START_ANY_ACTIVITY", "android.permission.START_TASKS_FROM_RECENTS" ], "Lcom/android/server/am/ActivityManagerService;-stopServiceToken-(Landroid/content/ComponentName; Landroid/os/IBinder; I)Z": [ "android.permission.BROADCAST_STICKY", "android.permission.SET_DEBUG_APP", "android.permission.START_ANY_ACTIVITY", "android.permission.START_TASKS_FROM_RECENTS" ], "Lcom/android/server/am/ActivityManagerService;-stopSystemLockTaskMode-()V": [ "android.permission.BROADCAST_STICKY", "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-stopUser-(I Z Landroid/app/IStopUserCallback;)I": [ "android.permission.BROADCAST_STICKY", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/am/ActivityManagerService;-suppressResizeConfigChanges-(Z)V": [ "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-swapDockedAndFullscreenStack-()V": [ "android.permission.BROADCAST_STICKY", "android.permission.MANAGE_ACTIVITY_STACKS" ], "Lcom/android/server/am/ActivityManagerService;-unbindService-(Landroid/app/IServiceConnection;)Z": [ "android.permission.BROADCAST_STICKY", "android.permission.SET_DEBUG_APP", "android.permission.START_ANY_ACTIVITY", "android.permission.START_TASKS_FROM_RECENTS" ], "Lcom/android/server/am/ActivityManagerService;-unbroadcastIntent-(Landroid/app/IApplicationThread; Landroid/content/Intent; I)V": [ "android.permission.BROADCAST_STICKY" ], "Lcom/android/server/am/ActivityManagerService;-unhandledBack-()V": [ "android.permission.FORCE_BACK" ], "Lcom/android/server/am/ActivityManagerService;-unlockUser-(I [B [B Landroid/os/IProgressListener;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/am/ActivityManagerService;-updateConfiguration-(Landroid/content/res/Configuration;)V": [ "android.permission.CHANGE_CONFIGURATION" ], "Lcom/android/server/am/ActivityManagerService;-updatePersistentConfiguration-(Landroid/content/res/Configuration;)V": [ "android.permission.CHANGE_CONFIGURATION" ], "Lcom/android/server/am/BatteryStatsService;-getAwakeTimeBattery-()J": [ "android.permission.BATTERY_STATS" ], "Lcom/android/server/am/BatteryStatsService;-getAwakeTimePlugged-()J": [ "android.permission.BATTERY_STATS" ], "Lcom/android/server/am/BatteryStatsService;-getStatistics-()[B": [ "android.permission.BATTERY_STATS" ], "Lcom/android/server/am/BatteryStatsService;-getStatisticsStream-()Landroid/os/ParcelFileDescriptor;": [ "android.permission.BATTERY_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteBleScanStarted-(Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteBleScanStopped-(Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteBluetoothControllerActivity-(Landroid/bluetooth/BluetoothActivityEnergyInfo;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteChangeWakelockFromSource-(Landroid/os/WorkSource; I Ljava/lang/String; Ljava/lang/String; I Landroid/os/WorkSource; I Ljava/lang/String; Ljava/lang/String; I Z)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteConnectivityChanged-(I Ljava/lang/String;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteDeviceIdleMode-(I Ljava/lang/String; I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteEvent-(I Ljava/lang/String; I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteFlashlightOff-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteFlashlightOn-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteFullWifiLockAcquired-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteFullWifiLockAcquiredFromSource-(Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteFullWifiLockReleased-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteFullWifiLockReleasedFromSource-(Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteInteractive-(Z)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteJobFinish-(Ljava/lang/String; I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteJobStart-(Ljava/lang/String; I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteLongPartialWakelockFinish-(Ljava/lang/String; Ljava/lang/String; I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteLongPartialWakelockStart-(Ljava/lang/String; Ljava/lang/String; I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteMobileRadioPowerState-(I J I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteModemControllerActivity-(Landroid/telephony/ModemActivityInfo;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteNetworkInterfaceType-(Ljava/lang/String; I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteNetworkStatsEnabled-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-notePhoneDataConnectionState-(I Z)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-notePhoneOff-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-notePhoneOn-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-notePhoneSignalStrength-(Landroid/telephony/SignalStrength;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-notePhoneState-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteResetAudio-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteResetBleScan-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteResetCamera-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteResetFlashlight-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteResetVideo-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteScreenBrightness-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteScreenState-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStartAudio-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStartCamera-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStartGps-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStartSensor-(I I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStartVideo-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStartWakelock-(I I Ljava/lang/String; Ljava/lang/String; I Z)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStartWakelockFromSource-(Landroid/os/WorkSource; I Ljava/lang/String; Ljava/lang/String; I Z)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStopAudio-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStopCamera-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStopGps-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStopSensor-(I I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStopVideo-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStopWakelock-(I I Ljava/lang/String; Ljava/lang/String; I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteStopWakelockFromSource-(Landroid/os/WorkSource; I Ljava/lang/String; Ljava/lang/String; I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteSyncFinish-(Ljava/lang/String; I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteSyncStart-(Ljava/lang/String; I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteUserActivity-(I I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteVibratorOff-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteVibratorOn-(I J)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWakeUp-(Ljava/lang/String; I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiBatchedScanStartedFromSource-(Landroid/os/WorkSource; I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiBatchedScanStoppedFromSource-(Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiControllerActivity-(Landroid/net/wifi/WifiActivityEnergyInfo;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiMulticastDisabled-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiMulticastDisabledFromSource-(Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiMulticastEnabled-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiMulticastEnabledFromSource-(Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiOff-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiOn-()V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiRadioPowerState-(I J I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiRssiChanged-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiRunning-(Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiRunningChanged-(Landroid/os/WorkSource; Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiScanStarted-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiScanStartedFromSource-(Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiScanStopped-(I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiScanStoppedFromSource-(Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiState-(I Ljava/lang/String;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiStopped-(Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-noteWifiSupplicantStateChanged-(I Z)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-setBatteryState-(I I I I I I I)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/am/BatteryStatsService;-takeUidSnapshot-(I)Landroid/os/health/HealthStatsParceler;": [ "android.permission.BATTERY_STATS" ], "Lcom/android/server/am/BatteryStatsService;-takeUidSnapshots-([I)[Landroid/os/health/HealthStatsParceler;": [ "android.permission.BATTERY_STATS" ], "Lcom/android/server/am/PendingIntentRecord;-send-(I Landroid/content/Intent; Ljava/lang/String; Landroid/content/IIntentReceiver; Ljava/lang/String; Landroid/os/Bundle;)V": [ "android.permission.BROADCAST_STICKY", "android.permission.READ_EXTERNAL_STORAGE", "android.permission.START_ANY_ACTIVITY", "android.permission.START_TASKS_FROM_RECENTS" ], "Lcom/android/server/am/ProcessStatsService;-getCurrentStats-(Ljava/util/List;)[B": [ "android.permission.PACKAGE_USAGE_STATS" ], "Lcom/android/server/am/ProcessStatsService;-getStatsOverTime-(J)Landroid/os/ParcelFileDescriptor;": [ "android.permission.PACKAGE_USAGE_STATS" ], "Lcom/android/server/appwidget/AppWidgetServiceImpl;-bindAppWidgetId-(Ljava/lang/String; I I Landroid/content/ComponentName; Landroid/os/Bundle;)Z": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/appwidget/AppWidgetServiceImpl;-bindRemoteViewsService-(Ljava/lang/String; I Landroid/content/Intent; Landroid/os/IBinder;)V": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/appwidget/AppWidgetServiceImpl;-createAppWidgetConfigIntentSender-(Ljava/lang/String; I I)Landroid/content/IntentSender;": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/appwidget/AppWidgetServiceImpl;-deleteAppWidgetId-(Ljava/lang/String; I)V": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/appwidget/AppWidgetServiceImpl;-getAppWidgetInfo-(Ljava/lang/String; I)Landroid/appwidget/AppWidgetProviderInfo;": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/appwidget/AppWidgetServiceImpl;-getAppWidgetOptions-(Ljava/lang/String; I)Landroid/os/Bundle;": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/appwidget/AppWidgetServiceImpl;-getAppWidgetViews-(Ljava/lang/String; I)Landroid/widget/RemoteViews;": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/appwidget/AppWidgetServiceImpl;-hasBindAppWidgetPermission-(Ljava/lang/String; I)Z": [ "android.permission.MODIFY_APPWIDGET_BIND_PERMISSIONS" ], "Lcom/android/server/appwidget/AppWidgetServiceImpl;-notifyAppWidgetViewDataChanged-(Ljava/lang/String; [I I)V": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/appwidget/AppWidgetServiceImpl;-partiallyUpdateAppWidgetIds-(Ljava/lang/String; [I Landroid/widget/RemoteViews;)V": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/appwidget/AppWidgetServiceImpl;-setBindAppWidgetPermission-(Ljava/lang/String; I Z)V": [ "android.permission.MODIFY_APPWIDGET_BIND_PERMISSIONS" ], "Lcom/android/server/appwidget/AppWidgetServiceImpl;-unbindRemoteViewsService-(Ljava/lang/String; I Landroid/content/Intent;)V": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/appwidget/AppWidgetServiceImpl;-updateAppWidgetIds-(Ljava/lang/String; [I Landroid/widget/RemoteViews;)V": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/appwidget/AppWidgetServiceImpl;-updateAppWidgetOptions-(Ljava/lang/String; I Landroid/os/Bundle;)V": [ "android.permission.BIND_APPWIDGET" ], "Lcom/android/server/audio/AudioService;-disableSafeMediaVolume-(Ljava/lang/String;)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/audio/AudioService;-forceRemoteSubmixFullVolume-(Z Landroid/os/IBinder;)V": [ "android.permission.CAPTURE_AUDIO_OUTPUT" ], "Lcom/android/server/audio/AudioService;-notifyVolumeControllerVisible-(Landroid/media/IVolumeController; Z)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/audio/AudioService;-registerAudioPolicy-(Landroid/media/audiopolicy/AudioPolicyConfig; Landroid/media/audiopolicy/IAudioPolicyCallback; Z)Ljava/lang/String;": [ "android.permission.MODIFY_AUDIO_ROUTING" ], "Lcom/android/server/audio/AudioService;-requestAudioFocus-(Landroid/media/AudioAttributes; I Landroid/os/IBinder; Landroid/media/IAudioFocusDispatcher; Ljava/lang/String; Ljava/lang/String; I Landroid/media/audiopolicy/IAudioPolicyCallback;)I": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/audio/AudioService;-setBluetoothScoOn-(Z)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Lcom/android/server/audio/AudioService;-setFocusPropertiesForPolicy-(I Landroid/media/audiopolicy/IAudioPolicyCallback;)I": [ "android.permission.MODIFY_AUDIO_ROUTING" ], "Lcom/android/server/audio/AudioService;-setMasterMute-(Z I Ljava/lang/String; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/audio/AudioService;-setMicrophoneMute-(Z Ljava/lang/String; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MODIFY_AUDIO_SETTINGS" ], "Lcom/android/server/audio/AudioService;-setMode-(I Landroid/os/IBinder; Ljava/lang/String;)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Lcom/android/server/audio/AudioService;-setRingerModeInternal-(I Ljava/lang/String;)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/audio/AudioService;-setRingtonePlayer-(Landroid/media/IRingtonePlayer;)V": [ "android.permission.REMOTE_AUDIO_PLAYBACK" ], "Lcom/android/server/audio/AudioService;-setSpeakerphoneOn-(Z)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Lcom/android/server/audio/AudioService;-setVolumeController-(Landroid/media/IVolumeController;)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/audio/AudioService;-setVolumePolicy-(Landroid/media/VolumePolicy;)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/audio/AudioService;-startBluetoothSco-(Landroid/os/IBinder; I)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Lcom/android/server/audio/AudioService;-startBluetoothScoVirtualCall-(Landroid/os/IBinder;)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Lcom/android/server/audio/AudioService;-stopBluetoothSco-(Landroid/os/IBinder;)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Lcom/android/server/backup/BackupManagerService$ActiveRestoreSession;-getAvailableRestoreSets-(Landroid/app/backup/IRestoreObserver;)I": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/BackupManagerService$ActiveRestoreSession;-restoreAll-(J Landroid/app/backup/IRestoreObserver;)I": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/BackupManagerService$ActiveRestoreSession;-restorePackage-(Ljava/lang/String; Landroid/app/backup/IRestoreObserver;)I": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/BackupManagerService$ActiveRestoreSession;-restoreSome-(J Landroid/app/backup/IRestoreObserver; [Ljava/lang/String;)I": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/Trampoline;-acknowledgeFullBackupOrRestore-(I Z Ljava/lang/String; Ljava/lang/String; Landroid/app/backup/IFullBackupRestoreObserver;)V": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/Trampoline;-backupNow-()V": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/Trampoline;-beginRestoreSession-(Ljava/lang/String; Ljava/lang/String;)Landroid/app/backup/IRestoreSession;": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/Trampoline;-clearBackupData-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/Trampoline;-dataChanged-(Ljava/lang/String;)V": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/Trampoline;-fullBackup-(Landroid/os/ParcelFileDescriptor; Z Z Z Z Z Z Z [Ljava/lang/String;)V": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/Trampoline;-fullRestore-(Landroid/os/ParcelFileDescriptor;)V": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/Trampoline;-fullTransportBackup-([Ljava/lang/String;)V": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/Trampoline;-getAvailableRestoreToken-(Ljava/lang/String;)J": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/Trampoline;-getConfigurationIntent-(Ljava/lang/String;)Landroid/content/Intent;": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/Trampoline;-getCurrentTransport-()Ljava/lang/String;": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/Trampoline;-getDataManagementIntent-(Ljava/lang/String;)Landroid/content/Intent;": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/Trampoline;-getDataManagementLabel-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/Trampoline;-getDestinationString-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/Trampoline;-hasBackupPassword-()Z": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/Trampoline;-isAppEligibleForBackup-(Ljava/lang/String;)Z": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/Trampoline;-isBackupEnabled-()Z": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/Trampoline;-listAllTransports-()[Ljava/lang/String;": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/Trampoline;-requestBackup-([Ljava/lang/String; Landroid/app/backup/IBackupObserver;)I": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/Trampoline;-restoreAtInstall-(Ljava/lang/String; I)V": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/Trampoline;-selectBackupTransport-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/Trampoline;-setAutoRestore-(Z)V": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/Trampoline;-setBackupEnabled-(Z)V": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/Trampoline;-setBackupPassword-(Ljava/lang/String; Ljava/lang/String;)Z": [ "android.permission.BACKUP" ], "Lcom/android/server/backup/Trampoline;-setBackupProvisioned-(Z)V": [ "android.permission.BACKUP" ], "Lcom/android/server/connectivity/IpConnectivityMetrics$Impl;-logEvent-(Landroid/net/ConnectivityMetricsEvent;)I": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/connectivity/MetricsLoggerService$MetricsLoggerImpl;-getEvents-(Landroid/net/ConnectivityMetricsEvent$Reference;)[Landroid/net/ConnectivityMetricsEvent;": [ "android.permission.DUMP" ], "Lcom/android/server/connectivity/MetricsLoggerService$MetricsLoggerImpl;-logEvent-(Landroid/net/ConnectivityMetricsEvent;)J": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/connectivity/MetricsLoggerService$MetricsLoggerImpl;-logEvents-([Landroid/net/ConnectivityMetricsEvent;)J": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/connectivity/MetricsLoggerService$MetricsLoggerImpl;-register-(Landroid/app/PendingIntent;)Z": [ "android.permission.DUMP" ], "Lcom/android/server/connectivity/MetricsLoggerService$MetricsLoggerImpl;-unregister-(Landroid/app/PendingIntent;)V": [ "android.permission.DUMP" ], "Lcom/android/server/content/ContentService;-addPeriodicSync-(Landroid/accounts/Account; Ljava/lang/String; Landroid/os/Bundle; J)V": [ "android.permission.WRITE_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-cancelSync-(Landroid/accounts/Account; Ljava/lang/String; Landroid/content/ComponentName;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/content/ContentService;-cancelSyncAsUser-(Landroid/accounts/Account; Ljava/lang/String; Landroid/content/ComponentName; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/content/ContentService;-getCache-(Ljava/lang/String; Landroid/net/Uri; I)Landroid/os/Bundle;": [ "android.permission.CACHE_CONTENT", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/content/ContentService;-getCurrentSyncs-()Ljava/util/List;": [ "android.permission.GET_ACCOUNTS", "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.READ_SYNC_STATS" ], "Lcom/android/server/content/ContentService;-getCurrentSyncsAsUser-(I)Ljava/util/List;": [ "android.permission.GET_ACCOUNTS", "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.READ_SYNC_STATS" ], "Lcom/android/server/content/ContentService;-getIsSyncable-(Landroid/accounts/Account; Ljava/lang/String;)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.READ_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-getIsSyncableAsUser-(Landroid/accounts/Account; Ljava/lang/String; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.READ_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-getMasterSyncAutomatically-()Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.READ_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-getMasterSyncAutomaticallyAsUser-(I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.READ_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-getPeriodicSyncs-(Landroid/accounts/Account; Ljava/lang/String; Landroid/content/ComponentName;)Ljava/util/List;": [ "android.permission.READ_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-getSyncAdapterPackagesForAuthorityAsUser-(Ljava/lang/String; I)[Ljava/lang/String;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/content/ContentService;-getSyncAdapterTypes-()[Landroid/content/SyncAdapterType;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/content/ContentService;-getSyncAdapterTypesAsUser-(I)[Landroid/content/SyncAdapterType;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/content/ContentService;-getSyncAutomatically-(Landroid/accounts/Account; Ljava/lang/String;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.READ_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-getSyncAutomaticallyAsUser-(Landroid/accounts/Account; Ljava/lang/String; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.READ_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-getSyncStatus-(Landroid/accounts/Account; Ljava/lang/String; Landroid/content/ComponentName;)Landroid/content/SyncStatusInfo;": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.READ_SYNC_STATS" ], "Lcom/android/server/content/ContentService;-getSyncStatusAsUser-(Landroid/accounts/Account; Ljava/lang/String; Landroid/content/ComponentName; I)Landroid/content/SyncStatusInfo;": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.READ_SYNC_STATS" ], "Lcom/android/server/content/ContentService;-isSyncActive-(Landroid/accounts/Account; Ljava/lang/String; Landroid/content/ComponentName;)Z": [ "android.permission.READ_SYNC_STATS" ], "Lcom/android/server/content/ContentService;-isSyncPending-(Landroid/accounts/Account; Ljava/lang/String; Landroid/content/ComponentName;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.READ_SYNC_STATS" ], "Lcom/android/server/content/ContentService;-isSyncPendingAsUser-(Landroid/accounts/Account; Ljava/lang/String; Landroid/content/ComponentName; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.READ_SYNC_STATS" ], "Lcom/android/server/content/ContentService;-putCache-(Ljava/lang/String; Landroid/net/Uri; Landroid/os/Bundle; I)V": [ "android.permission.CACHE_CONTENT", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/content/ContentService;-registerContentObserver-(Landroid/net/Uri; Z Landroid/database/IContentObserver; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/content/ContentService;-removePeriodicSync-(Landroid/accounts/Account; Ljava/lang/String; Landroid/os/Bundle;)V": [ "android.permission.WRITE_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-setIsSyncable-(Landroid/accounts/Account; Ljava/lang/String; I)V": [ "android.permission.WRITE_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-setMasterSyncAutomatically-(Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.WRITE_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-setMasterSyncAutomaticallyAsUser-(Z I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.WRITE_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-setSyncAutomatically-(Landroid/accounts/Account; Ljava/lang/String; Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.WRITE_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-setSyncAutomaticallyAsUser-(Landroid/accounts/Account; Ljava/lang/String; Z I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.WRITE_SYNC_SETTINGS" ], "Lcom/android/server/content/ContentService;-sync-(Landroid/content/SyncRequest;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/content/ContentService;-syncAsUser-(Landroid/content/SyncRequest; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-addCrossProfileIntentFilter-(Landroid/content/ComponentName; Landroid/content/IntentFilter; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-addCrossProfileWidgetProvider-(Landroid/content/ComponentName; Ljava/lang/String;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-addPersistentPreferredActivity-(Landroid/content/ComponentName; Landroid/content/IntentFilter; Landroid/content/ComponentName;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-approveCaCert-(Ljava/lang/String; I Z)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_USERS" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-choosePrivateKeyAlias-(I Landroid/net/Uri; Ljava/lang/String; Landroid/os/IBinder;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-clearCrossProfileIntentFilters-(Landroid/content/ComponentName;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-clearDeviceOwner-(Ljava/lang/String;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-clearPackagePersistentPreferredActivities-(Landroid/content/ComponentName; Ljava/lang/String;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-clearProfileOwner-(Landroid/content/ComponentName;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-createAndManageUser-(Landroid/content/ComponentName; Ljava/lang/String; Landroid/content/ComponentName; Landroid/os/PersistableBundle; I)Landroid/os/UserHandle;": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_DEVICE_ADMINS", "android.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS", "android.permission.MANAGE_USERS" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-enableSystemApp-(Landroid/content/ComponentName; Ljava/lang/String;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-enableSystemAppWithIntent-(Landroid/content/ComponentName; Landroid/content/Intent;)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-enforceCanManageCaCerts-(Landroid/content/ComponentName;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_CA_CERTIFICATES" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-forceRemoveActiveAdmin-(Landroid/content/ComponentName; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getAccountTypesWithManagementDisabled-()[Ljava/lang/String;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getAccountTypesWithManagementDisabledAsUser-(I)[Ljava/lang/String;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getActiveAdmins-(I)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getAlwaysOnVpnPackage-(Landroid/content/ComponentName;)Ljava/lang/String;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getApplicationRestrictions-(Landroid/content/ComponentName; Ljava/lang/String;)Landroid/os/Bundle;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getApplicationRestrictionsManagingPackage-(Landroid/content/ComponentName;)Ljava/lang/String;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getAutoTimeRequired-()Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getBluetoothContactSharingDisabled-(Landroid/content/ComponentName;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getBluetoothContactSharingDisabledForUser-(I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getCameraDisabled-(Landroid/content/ComponentName; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getCertInstallerPackage-(Landroid/content/ComponentName;)Ljava/lang/String;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getCrossProfileCallerIdDisabled-(Landroid/content/ComponentName;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getCrossProfileCallerIdDisabledForUser-(I)Z": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getCrossProfileContactsSearchDisabled-(Landroid/content/ComponentName;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getCrossProfileContactsSearchDisabledForUser-(I)Z": [ "android.permission.INTERACT_ACROSS_USERS" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getCrossProfileWidgetProviders-(Landroid/content/ComponentName;)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getCurrentFailedPasswordAttempts-(I Z)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getDeviceOwnerComponent-(Z)Landroid/content/ComponentName;": [ "android.permission.MANAGE_USERS" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getDeviceOwnerName-()Ljava/lang/String;": [ "android.permission.MANAGE_USERS" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getDeviceOwnerUserId-()I": [ "android.permission.MANAGE_USERS" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getDoNotAskCredentialsOnBoot-()Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.QUERY_DO_NOT_ASK_CREDENTIALS_ON_BOOT" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getForceEphemeralUsers-(Landroid/content/ComponentName;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getGlobalProxyAdmin-(I)Landroid/content/ComponentName;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getKeepUninstalledPackages-(Landroid/content/ComponentName;)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getKeyguardDisabledFeatures-(Landroid/content/ComponentName; I Z)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getLockTaskPackages-(Landroid/content/ComponentName;)[Ljava/lang/String;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getLongSupportMessage-(Landroid/content/ComponentName;)Ljava/lang/CharSequence;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getLongSupportMessageForUser-(Landroid/content/ComponentName; I)Ljava/lang/CharSequence;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getMaximumFailedPasswordsForWipe-(Landroid/content/ComponentName; I Z)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getMaximumTimeToLock-(Landroid/content/ComponentName; I Z)J": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getMaximumTimeToLockForUserAndProfiles-(I)J": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getOrganizationColor-(Landroid/content/ComponentName;)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getOrganizationColorForUser-(I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getOrganizationName-(Landroid/content/ComponentName;)Ljava/lang/CharSequence;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getOrganizationNameForUser-(I)Ljava/lang/CharSequence;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getPasswordExpiration-(Landroid/content/ComponentName; I Z)J": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getPasswordExpirationTimeout-(Landroid/content/ComponentName; I Z)J": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getPasswordHistoryLength-(Landroid/content/ComponentName; I Z)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getPasswordMinimumLength-(Landroid/content/ComponentName; I Z)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getPasswordMinimumLetters-(Landroid/content/ComponentName; I Z)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getPasswordMinimumLowerCase-(Landroid/content/ComponentName; I Z)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getPasswordMinimumNonLetter-(Landroid/content/ComponentName; I Z)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getPasswordMinimumNumeric-(Landroid/content/ComponentName; I Z)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getPasswordMinimumSymbols-(Landroid/content/ComponentName; I Z)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getPasswordMinimumUpperCase-(Landroid/content/ComponentName; I Z)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getPasswordQuality-(Landroid/content/ComponentName; I Z)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getPermissionGrantState-(Landroid/content/ComponentName; Ljava/lang/String; Ljava/lang/String;)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getPermissionPolicy-(Landroid/content/ComponentName;)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getPermittedAccessibilityServices-(Landroid/content/ComponentName;)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getPermittedAccessibilityServicesForUser-(I)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getPermittedInputMethods-(Landroid/content/ComponentName;)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getPermittedInputMethodsForCurrentUser-()Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getProfileOwnerName-(I)Ljava/lang/String;": [ "android.permission.MANAGE_USERS" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getProfileWithMinimumFailedPasswordsForWipe-(I Z)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getRemoveWarning-(Landroid/content/ComponentName; Landroid/os/RemoteCallback; I)V": [ "android.permission.BIND_DEVICE_ADMIN", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getRequiredStrongAuthTimeout-(Landroid/content/ComponentName; I Z)J": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getRestrictionsProvider-(I)Landroid/content/ComponentName;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getScreenCaptureDisabled-(Landroid/content/ComponentName; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getShortSupportMessage-(Landroid/content/ComponentName;)Ljava/lang/CharSequence;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getShortSupportMessageForUser-(Landroid/content/ComponentName; I)Ljava/lang/CharSequence;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getStorageEncryption-(Landroid/content/ComponentName; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getStorageEncryptionStatus-(Ljava/lang/String; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getTrustAgentConfiguration-(Landroid/content/ComponentName; Landroid/content/ComponentName; I Z)Ljava/util/List;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getUserProvisioningState-()I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getUserRestrictions-(Landroid/content/ComponentName;)Landroid/os/Bundle;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-getWifiMacAddress-(Landroid/content/ComponentName;)Ljava/lang/String;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-hasGrantedPolicy-(Landroid/content/ComponentName; I I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-hasUserSetupCompleted-()Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-installCaCert-(Landroid/content/ComponentName; [B)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_CA_CERTIFICATES" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-installKeyPair-(Landroid/content/ComponentName; [B [B [B Ljava/lang/String; Z)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-isAccessibilityServicePermittedByAdmin-(Landroid/content/ComponentName; Ljava/lang/String; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-isActivePasswordSufficient-(I Z)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-isAdminActive-(Landroid/content/ComponentName; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-isAffiliatedUser-()Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-isApplicationHidden-(Landroid/content/ComponentName; Ljava/lang/String;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-isBackupServiceEnabled-(Landroid/content/ComponentName;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-isCaCertApproved-(Ljava/lang/String; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_USERS" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-isCallerApplicationRestrictionsManagingPackage-()Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-isDeviceProvisioningConfigApplied-()Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_USERS" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-isInputMethodPermittedByAdmin-(Landroid/content/ComponentName; Ljava/lang/String; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-isLockTaskPermitted-(Ljava/lang/String;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-isManagedProfile-(Landroid/content/ComponentName;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-isMasterVolumeMuted-(Landroid/content/ComponentName;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-isPackageSuspended-(Landroid/content/ComponentName; Ljava/lang/String;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-isProfileActivePasswordSufficientForParent-(I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-isProvisioningAllowed-(Ljava/lang/String;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-isRemovingAdmin-(Landroid/content/ComponentName; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-isSecurityLoggingEnabled-(Landroid/content/ComponentName;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-isSystemOnlyUser-(Landroid/content/ComponentName;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-isUninstallBlocked-(Landroid/content/ComponentName; Ljava/lang/String;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-isUninstallInQueue-(Ljava/lang/String;)Z": [ "android.permission.MANAGE_DEVICE_ADMINS" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-lockNow-(Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-notifyLockTaskModeChanged-(Z Ljava/lang/String; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-notifyPendingSystemUpdate-(J)V": [ "android.permission.NOTIFY_PENDING_SYSTEM_UPDATE" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-packageHasActiveAdmins-(Ljava/lang/String; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-reboot-(Landroid/content/ComponentName;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-removeActiveAdmin-(Landroid/content/ComponentName; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_DEVICE_ADMINS" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-removeCrossProfileWidgetProvider-(Landroid/content/ComponentName; Ljava/lang/String;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-removeKeyPair-(Landroid/content/ComponentName; Ljava/lang/String;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-removeUser-(Landroid/content/ComponentName; Landroid/os/UserHandle;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-reportFailedFingerprintAttempt-(I)V": [ "android.permission.BIND_DEVICE_ADMIN", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-reportFailedPasswordAttempt-(I)V": [ "android.permission.BIND_DEVICE_ADMIN", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-reportKeyguardDismissed-(I)V": [ "android.permission.BIND_DEVICE_ADMIN", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-reportKeyguardSecured-(I)V": [ "android.permission.BIND_DEVICE_ADMIN", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-reportSuccessfulFingerprintAttempt-(I)V": [ "android.permission.BIND_DEVICE_ADMIN", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-reportSuccessfulPasswordAttempt-(I)V": [ "android.permission.BIND_DEVICE_ADMIN", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-requestBugreport-(Landroid/content/ComponentName;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-resetPassword-(Ljava/lang/String; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-retrievePreRebootSecurityLogs-(Landroid/content/ComponentName;)Landroid/content/pm/ParceledListSlice;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-retrieveSecurityLogs-(Landroid/content/ComponentName;)Landroid/content/pm/ParceledListSlice;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setAccountManagementDisabled-(Landroid/content/ComponentName; Ljava/lang/String; Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setActiveAdmin-(Landroid/content/ComponentName; Z I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_DEVICE_ADMINS" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setActivePasswordState-(I I I I I I I I I)V": [ "android.permission.BIND_DEVICE_ADMIN", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setAffiliationIds-(Landroid/content/ComponentName; Ljava/util/List;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setAlwaysOnVpnPackage-(Landroid/content/ComponentName; Ljava/lang/String; Z)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setApplicationHidden-(Landroid/content/ComponentName; Ljava/lang/String; Z)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setApplicationRestrictions-(Landroid/content/ComponentName; Ljava/lang/String; Landroid/os/Bundle;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setApplicationRestrictionsManagingPackage-(Landroid/content/ComponentName; Ljava/lang/String;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setAutoTimeRequired-(Landroid/content/ComponentName; Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setBackupServiceEnabled-(Landroid/content/ComponentName; Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setBluetoothContactSharingDisabled-(Landroid/content/ComponentName; Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setCameraDisabled-(Landroid/content/ComponentName; Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setCertInstallerPackage-(Landroid/content/ComponentName; Ljava/lang/String;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setCrossProfileCallerIdDisabled-(Landroid/content/ComponentName; Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setCrossProfileContactsSearchDisabled-(Landroid/content/ComponentName; Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setDeviceOwner-(Landroid/content/ComponentName; Ljava/lang/String; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setDeviceOwnerLockScreenInfo-(Landroid/content/ComponentName; Ljava/lang/CharSequence;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setDeviceProvisioningConfigApplied-()V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_USERS" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setForceEphemeralUsers-(Landroid/content/ComponentName; Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setGlobalProxy-(Landroid/content/ComponentName; Ljava/lang/String; Ljava/lang/String;)Landroid/content/ComponentName;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setGlobalSetting-(Landroid/content/ComponentName; Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setKeepUninstalledPackages-(Landroid/content/ComponentName; Ljava/util/List;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setKeyguardDisabled-(Landroid/content/ComponentName; Z)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setKeyguardDisabledFeatures-(Landroid/content/ComponentName; I Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setLockTaskPackages-(Landroid/content/ComponentName; [Ljava/lang/String;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setLongSupportMessage-(Landroid/content/ComponentName; Ljava/lang/CharSequence;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setMasterVolumeMuted-(Landroid/content/ComponentName; Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setMaximumFailedPasswordsForWipe-(Landroid/content/ComponentName; I Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setMaximumTimeToLock-(Landroid/content/ComponentName; J Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setOrganizationColor-(Landroid/content/ComponentName; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setOrganizationColorForUser-(I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_USERS" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setOrganizationName-(Landroid/content/ComponentName; Ljava/lang/CharSequence;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setPackagesSuspended-(Landroid/content/ComponentName; [Ljava/lang/String; Z)[Ljava/lang/String;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setPasswordExpirationTimeout-(Landroid/content/ComponentName; J Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setPasswordHistoryLength-(Landroid/content/ComponentName; I Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setPasswordMinimumLength-(Landroid/content/ComponentName; I Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setPasswordMinimumLetters-(Landroid/content/ComponentName; I Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setPasswordMinimumLowerCase-(Landroid/content/ComponentName; I Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setPasswordMinimumNonLetter-(Landroid/content/ComponentName; I Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setPasswordMinimumNumeric-(Landroid/content/ComponentName; I Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setPasswordMinimumSymbols-(Landroid/content/ComponentName; I Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setPasswordMinimumUpperCase-(Landroid/content/ComponentName; I Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setPasswordQuality-(Landroid/content/ComponentName; I Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setPermissionGrantState-(Landroid/content/ComponentName; Ljava/lang/String; Ljava/lang/String; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setPermissionPolicy-(Landroid/content/ComponentName; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setPermittedAccessibilityServices-(Landroid/content/ComponentName; Ljava/util/List;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setPermittedInputMethods-(Landroid/content/ComponentName; Ljava/util/List;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setProfileEnabled-(Landroid/content/ComponentName;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setProfileName-(Landroid/content/ComponentName; Ljava/lang/String;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setProfileOwner-(Landroid/content/ComponentName; Ljava/lang/String; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setRecommendedGlobalProxy-(Landroid/content/ComponentName; Landroid/net/ProxyInfo;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setRequiredStrongAuthTimeout-(Landroid/content/ComponentName; J Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setRestrictionsProvider-(Landroid/content/ComponentName; Landroid/content/ComponentName;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setScreenCaptureDisabled-(Landroid/content/ComponentName; Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setSecureSetting-(Landroid/content/ComponentName; Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setSecurityLoggingEnabled-(Landroid/content/ComponentName; Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setShortSupportMessage-(Landroid/content/ComponentName; Ljava/lang/CharSequence;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setStatusBarDisabled-(Landroid/content/ComponentName; Z)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setStorageEncryption-(Landroid/content/ComponentName; Z)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setSystemUpdatePolicy-(Landroid/content/ComponentName; Landroid/app/admin/SystemUpdatePolicy;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setTrustAgentConfiguration-(Landroid/content/ComponentName; Landroid/content/ComponentName; Landroid/os/PersistableBundle; Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setUninstallBlocked-(Landroid/content/ComponentName; Ljava/lang/String; Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setUserIcon-(Landroid/content/ComponentName; Landroid/graphics/Bitmap;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setUserProvisioningState-(I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-setUserRestriction-(Landroid/content/ComponentName; Ljava/lang/String; Z)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-switchUser-(Landroid/content/ComponentName; Landroid/os/UserHandle;)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-uninstallCaCerts-(Landroid/content/ComponentName; [Ljava/lang/String;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_CA_CERTIFICATES" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-uninstallPackageWithActiveAdmins-(Ljava/lang/String;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_DEVICE_ADMINS", "android.permission.MANAGE_USERS" ], "Lcom/android/server/devicepolicy/DevicePolicyManagerService;-wipeData-(I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/display/DisplayManagerService$BinderService;-connectWifiDisplay-(Ljava/lang/String;)V": [ "android.permission.CONFIGURE_WIFI_DISPLAY" ], "Lcom/android/server/display/DisplayManagerService$BinderService;-createVirtualDisplay-(Landroid/hardware/display/IVirtualDisplayCallback; Landroid/media/projection/IMediaProjection; Ljava/lang/String; Ljava/lang/String; I I I Landroid/view/Surface; I)I": [ "android.permission.CAPTURE_SECURE_VIDEO_OUTPUT", "android.permission.CAPTURE_VIDEO_OUTPUT" ], "Lcom/android/server/display/DisplayManagerService$BinderService;-forgetWifiDisplay-(Ljava/lang/String;)V": [ "android.permission.CONFIGURE_WIFI_DISPLAY" ], "Lcom/android/server/display/DisplayManagerService$BinderService;-pauseWifiDisplay-()V": [ "android.permission.CONFIGURE_WIFI_DISPLAY" ], "Lcom/android/server/display/DisplayManagerService$BinderService;-renameWifiDisplay-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.CONFIGURE_WIFI_DISPLAY" ], "Lcom/android/server/display/DisplayManagerService$BinderService;-requestColorMode-(I I)V": [ "android.permission.CONFIGURE_DISPLAY_COLOR_MODE" ], "Lcom/android/server/display/DisplayManagerService$BinderService;-resumeWifiDisplay-()V": [ "android.permission.CONFIGURE_WIFI_DISPLAY" ], "Lcom/android/server/display/DisplayManagerService$BinderService;-startWifiDisplayScan-()V": [ "android.permission.CONFIGURE_WIFI_DISPLAY" ], "Lcom/android/server/display/DisplayManagerService$BinderService;-stopWifiDisplayScan-()V": [ "android.permission.CONFIGURE_WIFI_DISPLAY" ], "Lcom/android/server/dreams/DreamManagerService$BinderService;-awaken-()V": [ "android.permission.WRITE_DREAM_STATE" ], "Lcom/android/server/dreams/DreamManagerService$BinderService;-dream-()V": [ "android.permission.WRITE_DREAM_STATE" ], "Lcom/android/server/dreams/DreamManagerService$BinderService;-getDefaultDreamComponent-()Landroid/content/ComponentName;": [ "android.permission.READ_DREAM_STATE" ], "Lcom/android/server/dreams/DreamManagerService$BinderService;-getDreamComponents-()[Landroid/content/ComponentName;": [ "android.permission.READ_DREAM_STATE" ], "Lcom/android/server/dreams/DreamManagerService$BinderService;-isDreaming-()Z": [ "android.permission.READ_DREAM_STATE" ], "Lcom/android/server/dreams/DreamManagerService$BinderService;-setDreamComponents-([Landroid/content/ComponentName;)V": [ "android.permission.WRITE_DREAM_STATE" ], "Lcom/android/server/dreams/DreamManagerService$BinderService;-testDream-(Landroid/content/ComponentName;)V": [ "android.permission.WRITE_DREAM_STATE" ], "Lcom/android/server/ethernet/EthernetServiceImpl;-addListener-(Landroid/net/IEthernetServiceListener;)V": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ethernet/EthernetServiceImpl;-getConfiguration-()Landroid/net/IpConfiguration;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ethernet/EthernetServiceImpl;-isAvailable-()Z": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ethernet/EthernetServiceImpl;-removeListener-(Landroid/net/IEthernetServiceListener;)V": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/ethernet/EthernetServiceImpl;-setConfiguration-(Landroid/net/IpConfiguration;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/fingerprint/FingerprintService$FingerprintServiceWrapper;-authenticate-(Landroid/os/IBinder; J I Landroid/hardware/fingerprint/IFingerprintServiceReceiver; I Ljava/lang/String;)V": [ "android.permission.MANAGE_FINGERPRINT", "android.permission.USE_FINGERPRINT" ], "Lcom/android/server/fingerprint/FingerprintService$FingerprintServiceWrapper;-cancelAuthentication-(Landroid/os/IBinder; Ljava/lang/String;)V": [ "android.permission.USE_FINGERPRINT" ], "Lcom/android/server/fingerprint/FingerprintService$FingerprintServiceWrapper;-cancelEnrollment-(Landroid/os/IBinder;)V": [ "android.permission.MANAGE_FINGERPRINT" ], "Lcom/android/server/fingerprint/FingerprintService$FingerprintServiceWrapper;-enroll-(Landroid/os/IBinder; [B I Landroid/hardware/fingerprint/IFingerprintServiceReceiver; I Ljava/lang/String;)V": [ "android.permission.MANAGE_FINGERPRINT" ], "Lcom/android/server/fingerprint/FingerprintService$FingerprintServiceWrapper;-getEnrolledFingerprints-(I Ljava/lang/String;)Ljava/util/List;": [ "android.permission.USE_FINGERPRINT" ], "Lcom/android/server/fingerprint/FingerprintService$FingerprintServiceWrapper;-hasEnrolledFingerprints-(I Ljava/lang/String;)Z": [ "android.permission.USE_FINGERPRINT" ], "Lcom/android/server/fingerprint/FingerprintService$FingerprintServiceWrapper;-isHardwareDetected-(J Ljava/lang/String;)Z": [ "android.permission.USE_FINGERPRINT" ], "Lcom/android/server/fingerprint/FingerprintService$FingerprintServiceWrapper;-postEnroll-(Landroid/os/IBinder;)I": [ "android.permission.MANAGE_FINGERPRINT" ], "Lcom/android/server/fingerprint/FingerprintService$FingerprintServiceWrapper;-preEnroll-(Landroid/os/IBinder;)J": [ "android.permission.MANAGE_FINGERPRINT" ], "Lcom/android/server/fingerprint/FingerprintService$FingerprintServiceWrapper;-remove-(Landroid/os/IBinder; I I I Landroid/hardware/fingerprint/IFingerprintServiceReceiver;)V": [ "android.permission.MANAGE_FINGERPRINT" ], "Lcom/android/server/fingerprint/FingerprintService$FingerprintServiceWrapper;-rename-(I I Ljava/lang/String;)V": [ "android.permission.MANAGE_FINGERPRINT" ], "Lcom/android/server/fingerprint/FingerprintService$FingerprintServiceWrapper;-resetTimeout-([B)V": [ "android.permission.RESET_FINGERPRINT_LOCKOUT" ], "Lcom/android/server/fingerprint/FingerprintService$FingerprintServiceWrapper;-setActiveUser-(I)V": [ "android.permission.MANAGE_FINGERPRINT" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-addDeviceEventListener-(Landroid/hardware/hdmi/IHdmiDeviceEventListener;)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-addHdmiMhlVendorCommandListener-(Landroid/hardware/hdmi/IHdmiMhlVendorCommandListener;)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-addHotplugEventListener-(Landroid/hardware/hdmi/IHdmiHotplugEventListener;)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-addSystemAudioModeChangeListener-(Landroid/hardware/hdmi/IHdmiSystemAudioModeChangeListener;)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-addVendorCommandListener-(Landroid/hardware/hdmi/IHdmiVendorCommandListener; I)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-canChangeSystemAudioMode-()Z": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-clearTimerRecording-(I I [B)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-deviceSelect-(I Landroid/hardware/hdmi/IHdmiControlCallback;)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-getActiveSource-()Landroid/hardware/hdmi/HdmiDeviceInfo;": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-getDeviceList-()Ljava/util/List;": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-getInputDevices-()Ljava/util/List;": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-getPortInfo-()Ljava/util/List;": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-getSupportedTypes-()[I": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-getSystemAudioMode-()Z": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-oneTouchPlay-(Landroid/hardware/hdmi/IHdmiControlCallback;)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-portSelect-(I Landroid/hardware/hdmi/IHdmiControlCallback;)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-queryDisplayStatus-(Landroid/hardware/hdmi/IHdmiControlCallback;)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-removeHotplugEventListener-(Landroid/hardware/hdmi/IHdmiHotplugEventListener;)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-removeSystemAudioModeChangeListener-(Landroid/hardware/hdmi/IHdmiSystemAudioModeChangeListener;)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-sendKeyEvent-(I I Z)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-sendMhlVendorCommand-(I I I [B)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-sendStandby-(I I)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-sendVendorCommand-(I I [B Z)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-setArcMode-(Z)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-setHdmiRecordListener-(Landroid/hardware/hdmi/IHdmiRecordListener;)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-setInputChangeListener-(Landroid/hardware/hdmi/IHdmiInputChangeListener;)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-setProhibitMode-(Z)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-setSystemAudioMode-(Z Landroid/hardware/hdmi/IHdmiControlCallback;)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-setSystemAudioMute-(Z)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-setSystemAudioVolume-(I I I)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-startOneTouchRecord-(I [B)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-startTimerRecording-(I I [B)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/hdmi/HdmiControlService$BinderService;-stopOneTouchRecord-(I)V": [ "android.permission.HDMI_CEC" ], "Lcom/android/server/input/InputManagerService;-addKeyboardLayoutForInputDevice-(Landroid/hardware/input/InputDeviceIdentifier; Ljava/lang/String;)V": [ "android.permission.SET_KEYBOARD_LAYOUT" ], "Lcom/android/server/input/InputManagerService;-isInTabletMode-()I": [ "android.permission.TABLET_MODE" ], "Lcom/android/server/input/InputManagerService;-registerTabletModeChangedListener-(Landroid/hardware/input/ITabletModeChangedListener;)V": [ "android.permission.TABLET_MODE" ], "Lcom/android/server/input/InputManagerService;-removeKeyboardLayoutForInputDevice-(Landroid/hardware/input/InputDeviceIdentifier; Ljava/lang/String;)V": [ "android.permission.SET_KEYBOARD_LAYOUT" ], "Lcom/android/server/input/InputManagerService;-setCurrentKeyboardLayoutForInputDevice-(Landroid/hardware/input/InputDeviceIdentifier; Ljava/lang/String;)V": [ "android.permission.SET_KEYBOARD_LAYOUT" ], "Lcom/android/server/input/InputManagerService;-setKeyboardLayoutForInputDevice-(Landroid/hardware/input/InputDeviceIdentifier; Landroid/view/inputmethod/InputMethodInfo; Landroid/view/inputmethod/InputMethodSubtype; Ljava/lang/String;)V": [ "android.permission.SET_KEYBOARD_LAYOUT" ], "Lcom/android/server/input/InputManagerService;-setTouchCalibrationForInputDevice-(Ljava/lang/String; I Landroid/hardware/input/TouchCalibration;)V": [ "android.permission.SET_INPUT_CALIBRATION" ], "Lcom/android/server/input/InputManagerService;-tryPointerSpeed-(I)V": [ "android.permission.SET_POINTER_SPEED" ], "Lcom/android/server/job/JobSchedulerService$JobSchedulerStub;-schedule-(Landroid/app/job/JobInfo;)I": [ "android.permission.CONNECTIVITY_INTERNAL", "android.permission.RECEIVE_BOOT_COMPLETED" ], "Lcom/android/server/job/JobSchedulerService$JobSchedulerStub;-scheduleAsPackage-(Landroid/app/job/JobInfo; Ljava/lang/String; I Ljava/lang/String;)I": [ "android.permission.CONNECTIVITY_INTERNAL", "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/media/MediaRouterService;-registerClientAsUser-(Landroid/media/IMediaRouterClient; Ljava/lang/String; I)V": [ "android.permission.CONFIGURE_WIFI_DISPLAY" ], "Lcom/android/server/media/MediaSessionRecord$SessionStub;-setFlags-(I)V": [ "android.permission.MODIFY_PHONE_STATE" ], "Lcom/android/server/media/projection/MediaProjectionManagerService$BinderService;-addCallback-(Landroid/media/projection/IMediaProjectionWatcherCallback;)V": [ "android.permission.MANAGE_MEDIA_PROJECTION" ], "Lcom/android/server/media/projection/MediaProjectionManagerService$BinderService;-createProjection-(I Ljava/lang/String; I Z)Landroid/media/projection/IMediaProjection;": [ "android.permission.MANAGE_MEDIA_PROJECTION" ], "Lcom/android/server/media/projection/MediaProjectionManagerService$BinderService;-getActiveProjectionInfo-()Landroid/media/projection/MediaProjectionInfo;": [ "android.permission.MANAGE_MEDIA_PROJECTION" ], "Lcom/android/server/media/projection/MediaProjectionManagerService$BinderService;-removeCallback-(Landroid/media/projection/IMediaProjectionWatcherCallback;)V": [ "android.permission.MANAGE_MEDIA_PROJECTION" ], "Lcom/android/server/media/projection/MediaProjectionManagerService$BinderService;-stopActiveProjection-()V": [ "android.permission.MANAGE_MEDIA_PROJECTION" ], "Lcom/android/server/net/NetworkPolicyManagerService;-addRestrictBackgroundWhitelistedUid-(I)V": [ "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-addUidPolicy-(I I)V": [ "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-factoryReset-(Ljava/lang/String;)V": [ "android.permission.CONNECTIVITY_INTERNAL", "android.permission.MANAGE_NETWORK_POLICY", "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/server/net/NetworkPolicyManagerService;-getNetworkPolicies-(Ljava/lang/String;)[Landroid/net/NetworkPolicy;": [ "android.permission.MANAGE_NETWORK_POLICY", "android.permission.READ_PRIVILEGED_PHONE_STATE" ], "Lcom/android/server/net/NetworkPolicyManagerService;-getNetworkQuotaInfo-(Landroid/net/NetworkState;)Landroid/net/NetworkQuotaInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/net/NetworkPolicyManagerService;-getRestrictBackground-()Z": [ "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-getRestrictBackgroundByCaller-()I": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/net/NetworkPolicyManagerService;-getRestrictBackgroundWhitelistedUids-()[I": [ "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-getUidPolicy-(I)I": [ "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-getUidsWithPolicy-(I)[I": [ "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-isUidForeground-(I)Z": [ "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-onTetheringChanged-(Ljava/lang/String; Z)V": [ "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-registerListener-(Landroid/net/INetworkPolicyListener;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/net/NetworkPolicyManagerService;-removeRestrictBackgroundWhitelistedUid-(I)V": [ "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-removeUidPolicy-(I I)V": [ "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-setConnectivityListener-(Landroid/net/INetworkPolicyListener;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/net/NetworkPolicyManagerService;-setDeviceIdleMode-(Z)V": [ "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-setNetworkPolicies-([Landroid/net/NetworkPolicy;)V": [ "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-setRestrictBackground-(Z)V": [ "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-setUidPolicy-(I I)V": [ "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-snoozeLimit-(Landroid/net/NetworkTemplate;)V": [ "android.permission.MANAGE_NETWORK_POLICY" ], "Lcom/android/server/net/NetworkPolicyManagerService;-unregisterListener-(Landroid/net/INetworkPolicyListener;)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/net/NetworkStatsService;-advisePersistThreshold-(J)V": [ "android.permission.MODIFY_NETWORK_ACCOUNTING" ], "Lcom/android/server/net/NetworkStatsService;-forceUpdate-()V": [ "android.permission.READ_NETWORK_USAGE_HISTORY" ], "Lcom/android/server/net/NetworkStatsService;-forceUpdateIfaces-()V": [ "android.permission.READ_NETWORK_USAGE_HISTORY" ], "Lcom/android/server/net/NetworkStatsService;-getDataLayerSnapshotForUid-(I)Landroid/net/NetworkStats;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Lcom/android/server/net/NetworkStatsService;-getNetworkTotalBytes-(Landroid/net/NetworkTemplate; J J)J": [ "android.permission.READ_NETWORK_USAGE_HISTORY" ], "Lcom/android/server/net/NetworkStatsService;-incrementOperationCount-(I I I)V": [ "android.permission.MODIFY_NETWORK_ACCOUNTING" ], "Lcom/android/server/net/NetworkStatsService;-registerUsageCallback-(Ljava/lang/String; Landroid/net/DataUsageRequest; Landroid/os/Messenger; Landroid/os/IBinder;)Landroid/net/DataUsageRequest;": [ "android.permission.PACKAGE_USAGE_STATS", "android.permission.READ_NETWORK_USAGE_HISTORY" ], "Lcom/android/server/net/NetworkStatsService;-setUidForeground-(I Z)V": [ "android.permission.MODIFY_NETWORK_ACCOUNTING" ], "Lcom/android/server/pm/PackageInstallerService;-createSession-(Landroid/content/pm/PackageInstaller$SessionParams; Ljava/lang/String; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageInstallerService;-getAllSessions-(I)Landroid/content/pm/ParceledListSlice;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageInstallerService;-getMySessions-(Ljava/lang/String; I)Landroid/content/pm/ParceledListSlice;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageInstallerService;-registerCallback-(Landroid/content/pm/IPackageInstallerCallback; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageInstallerService;-setPermissionsResult-(I Z)V": [ "android.permission.INSTALL_PACKAGES" ], "Lcom/android/server/pm/PackageInstallerService;-uninstall-(Ljava/lang/String; Ljava/lang/String; I Landroid/content/IntentSender; I)V": [ "android.permission.DELETE_PACKAGES", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-addCrossProfileIntentFilter-(Landroid/content/IntentFilter; Ljava/lang/String; I I I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-addOnPermissionsChangeListener-(Landroid/content/pm/IOnPermissionsChangeListener;)V": [ "android.permission.OBSERVE_GRANT_REVOKE_PERMISSIONS" ], "Lcom/android/server/pm/PackageManagerService;-addPreferredActivity-(Landroid/content/IntentFilter; I [Landroid/content/ComponentName; Landroid/content/ComponentName; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.SET_PREFERRED_APPLICATIONS" ], "Lcom/android/server/pm/PackageManagerService;-canForwardTo-(Landroid/content/Intent; Ljava/lang/String; I I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-clearApplicationUserData-(Ljava/lang/String; Landroid/content/pm/IPackageDataObserver; I)V": [ "android.permission.CLEAR_APP_USER_DATA", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-clearCrossProfileIntentFilters-(I Ljava/lang/String;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-clearPackagePreferredActivities-(Ljava/lang/String;)V": [ "android.permission.SET_PREFERRED_APPLICATIONS" ], "Lcom/android/server/pm/PackageManagerService;-deleteApplicationCacheFiles-(Ljava/lang/String; Landroid/content/pm/IPackageDataObserver;)V": [ "android.permission.DELETE_CACHE_FILES", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-deleteApplicationCacheFilesAsUser-(Ljava/lang/String; I Landroid/content/pm/IPackageDataObserver;)V": [ "android.permission.DELETE_CACHE_FILES", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-deletePackage-(Ljava/lang/String; Landroid/content/pm/IPackageDeleteObserver2; I I)V": [ "android.permission.DELETE_PACKAGES", "android.permission.GRANT_RUNTIME_PERMISSIONS", "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.REVOKE_RUNTIME_PERMISSIONS", "android.permission.SET_PREFERRED_APPLICATIONS" ], "Lcom/android/server/pm/PackageManagerService;-deletePackageAsUser-(Ljava/lang/String; Landroid/content/pm/IPackageDeleteObserver; I I)V": [ "android.permission.DELETE_PACKAGES", "android.permission.GRANT_RUNTIME_PERMISSIONS", "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.REVOKE_RUNTIME_PERMISSIONS", "android.permission.SET_PREFERRED_APPLICATIONS" ], "Lcom/android/server/pm/PackageManagerService;-extendVerificationTimeout-(I I J)V": [ "android.permission.GRANT_RUNTIME_PERMISSIONS", "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.PACKAGE_VERIFICATION_AGENT", "android.permission.REVOKE_RUNTIME_PERMISSIONS", "android.permission.SET_PREFERRED_APPLICATIONS" ], "Lcom/android/server/pm/PackageManagerService;-flushPackageRestrictionsAsUser-(I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-freeStorage-(Ljava/lang/String; J Landroid/content/IntentSender;)V": [ "android.permission.CLEAR_APP_CACHE" ], "Lcom/android/server/pm/PackageManagerService;-freeStorageAndNotify-(Ljava/lang/String; J Landroid/content/pm/IPackageDataObserver;)V": [ "android.permission.CLEAR_APP_CACHE" ], "Lcom/android/server/pm/PackageManagerService;-getActivityInfo-(Landroid/content/ComponentName; I I)Landroid/content/pm/ActivityInfo;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getApplicationEnabledSetting-(Ljava/lang/String; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getApplicationHiddenSettingAsUser-(Ljava/lang/String; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_USERS" ], "Lcom/android/server/pm/PackageManagerService;-getApplicationInfo-(Ljava/lang/String; I I)Landroid/content/pm/ApplicationInfo;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getComponentEnabledSetting-(Landroid/content/ComponentName; I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getHomeActivities-(Ljava/util/List;)Landroid/content/ComponentName;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getInstalledPackages-(I I)Landroid/content/pm/ParceledListSlice;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getLastChosenActivity-(Landroid/content/Intent; Ljava/lang/String; I)Landroid/content/pm/ResolveInfo;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getMoveStatus-(I)I": [ "android.permission.MOUNT_UNMOUNT_FILESYSTEMS" ], "Lcom/android/server/pm/PackageManagerService;-getPackageGids-(Ljava/lang/String; I I)[I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getPackageInfo-(Ljava/lang/String; I I)Landroid/content/pm/PackageInfo;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getPackageSizeInfo-(Ljava/lang/String; I Landroid/content/pm/IPackageStatsObserver;)V": [ "android.permission.GET_PACKAGE_SIZE", "android.permission.GRANT_RUNTIME_PERMISSIONS", "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.REVOKE_RUNTIME_PERMISSIONS", "android.permission.SET_PREFERRED_APPLICATIONS" ], "Lcom/android/server/pm/PackageManagerService;-getPackageUid-(Ljava/lang/String; I I)I": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getPermissionFlags-(Ljava/lang/String; Ljava/lang/String; I)I": [ "android.permission.GRANT_RUNTIME_PERMISSIONS", "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.REVOKE_RUNTIME_PERMISSIONS" ], "Lcom/android/server/pm/PackageManagerService;-getProviderInfo-(Landroid/content/ComponentName; I I)Landroid/content/pm/ProviderInfo;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getReceiverInfo-(Landroid/content/ComponentName; I I)Landroid/content/pm/ActivityInfo;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getServiceInfo-(Landroid/content/ComponentName; I I)Landroid/content/pm/ServiceInfo;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-getVerifierDeviceIdentity-()Landroid/content/pm/VerifierDeviceIdentity;": [ "android.permission.PACKAGE_VERIFICATION_AGENT" ], "Lcom/android/server/pm/PackageManagerService;-grantRuntimePermission-(Ljava/lang/String; Ljava/lang/String; I)V": [ "android.permission.GRANT_RUNTIME_PERMISSIONS", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-installExistingPackageAsUser-(Ljava/lang/String; I)I": [ "android.permission.INSTALL_PACKAGES", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-installPackageAsUser-(Ljava/lang/String; Landroid/content/pm/IPackageInstallObserver2; I Ljava/lang/String; I)V": [ "android.permission.GRANT_RUNTIME_PERMISSIONS", "android.permission.INSTALL_GRANT_RUNTIME_PERMISSIONS", "android.permission.INSTALL_PACKAGES", "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.REVOKE_RUNTIME_PERMISSIONS", "android.permission.SET_PREFERRED_APPLICATIONS" ], "Lcom/android/server/pm/PackageManagerService;-isEphemeralApplication-(Ljava/lang/String; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-isPackageAvailable-(Ljava/lang/String; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-isPackageSuspendedForUser-(Ljava/lang/String; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-isPermissionRevokedByPolicy-(Ljava/lang/String; Ljava/lang/String; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-movePackage-(Ljava/lang/String; Ljava/lang/String;)I": [ "android.permission.GRANT_RUNTIME_PERMISSIONS", "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MOVE_PACKAGE", "android.permission.REVOKE_RUNTIME_PERMISSIONS", "android.permission.SET_PREFERRED_APPLICATIONS" ], "Lcom/android/server/pm/PackageManagerService;-movePrimaryStorage-(Ljava/lang/String;)I": [ "android.permission.MOVE_PACKAGE" ], "Lcom/android/server/pm/PackageManagerService;-queryIntentActivities-(Landroid/content/Intent; Ljava/lang/String; I I)Landroid/content/pm/ParceledListSlice;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-queryIntentActivityOptions-(Landroid/content/ComponentName; [Landroid/content/Intent; [Ljava/lang/String; Landroid/content/Intent; Ljava/lang/String; I I)Landroid/content/pm/ParceledListSlice;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-queryIntentContentProviders-(Landroid/content/Intent; Ljava/lang/String; I I)Landroid/content/pm/ParceledListSlice;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-queryIntentReceivers-(Landroid/content/Intent; Ljava/lang/String; I I)Landroid/content/pm/ParceledListSlice;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-queryIntentServices-(Landroid/content/Intent; Ljava/lang/String; I I)Landroid/content/pm/ParceledListSlice;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-registerMoveCallback-(Landroid/content/pm/IPackageMoveObserver;)V": [ "android.permission.MOUNT_UNMOUNT_FILESYSTEMS" ], "Lcom/android/server/pm/PackageManagerService;-replacePreferredActivity-(Landroid/content/IntentFilter; I [Landroid/content/ComponentName; Landroid/content/ComponentName; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.SET_PREFERRED_APPLICATIONS" ], "Lcom/android/server/pm/PackageManagerService;-resetApplicationPreferences-(I)V": [ "android.permission.SET_PREFERRED_APPLICATIONS" ], "Lcom/android/server/pm/PackageManagerService;-resetRuntimePermissions-()V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.REVOKE_RUNTIME_PERMISSIONS" ], "Lcom/android/server/pm/PackageManagerService;-resolveIntent-(Landroid/content/Intent; Ljava/lang/String; I I)Landroid/content/pm/ResolveInfo;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-resolveService-(Landroid/content/Intent; Ljava/lang/String; I I)Landroid/content/pm/ResolveInfo;": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-revokeRuntimePermission-(Ljava/lang/String; Ljava/lang/String; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.REVOKE_RUNTIME_PERMISSIONS" ], "Lcom/android/server/pm/PackageManagerService;-setApplicationEnabledSetting-(Ljava/lang/String; I I I Ljava/lang/String;)V": [ "android.permission.CHANGE_COMPONENT_ENABLED_STATE", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-setApplicationHiddenSettingAsUser-(Ljava/lang/String; Z I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_USERS" ], "Lcom/android/server/pm/PackageManagerService;-setBlockUninstallForUser-(Ljava/lang/String; Z I)Z": [ "android.permission.DELETE_PACKAGES" ], "Lcom/android/server/pm/PackageManagerService;-setComponentEnabledSetting-(Landroid/content/ComponentName; I I I)V": [ "android.permission.CHANGE_COMPONENT_ENABLED_STATE", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-setDefaultBrowserPackageName-(Ljava/lang/String; I)Z": [ "android.permission.GRANT_RUNTIME_PERMISSIONS", "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.REVOKE_RUNTIME_PERMISSIONS", "android.permission.SET_PREFERRED_APPLICATIONS" ], "Lcom/android/server/pm/PackageManagerService;-setHomeActivity-(Landroid/content/ComponentName; I)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.SET_PREFERRED_APPLICATIONS" ], "Lcom/android/server/pm/PackageManagerService;-setInstallLocation-(I)Z": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/pm/PackageManagerService;-setLastChosenActivity-(Landroid/content/Intent; Ljava/lang/String; I Landroid/content/IntentFilter; I Landroid/content/ComponentName;)V": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.SET_PREFERRED_APPLICATIONS" ], "Lcom/android/server/pm/PackageManagerService;-setPackageStoppedState-(Ljava/lang/String; Z I)V": [ "android.permission.CHANGE_COMPONENT_ENABLED_STATE", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-setPackagesSuspendedAsUser-([Ljava/lang/String; Z I)[Ljava/lang/String;": [ "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.MANAGE_USERS" ], "Lcom/android/server/pm/PackageManagerService;-setPermissionEnforced-(Ljava/lang/String; Z)V": [ "android.permission.GRANT_RUNTIME_PERMISSIONS" ], "Lcom/android/server/pm/PackageManagerService;-shouldShowRequestPermissionRationale-(Ljava/lang/String; Ljava/lang/String; I)Z": [ "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-systemReady-()V": [ "android.permission.CHANGE_COMPONENT_ENABLED_STATE", "android.permission.INTERACT_ACROSS_USERS_FULL" ], "Lcom/android/server/pm/PackageManagerService;-unregisterMoveCallback-(Landroid/content/pm/IPackageMoveObserver;)V": [ "android.permission.MOUNT_UNMOUNT_FILESYSTEMS" ], "Lcom/android/server/pm/PackageManagerService;-updateExternalMediaStatus-(Z Z)V": [ "android.permission.GRANT_RUNTIME_PERMISSIONS", "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.REVOKE_RUNTIME_PERMISSIONS", "android.permission.SET_PREFERRED_APPLICATIONS" ], "Lcom/android/server/pm/PackageManagerService;-updateIntentVerificationStatus-(Ljava/lang/String; I I)Z": [ "android.permission.SET_PREFERRED_APPLICATIONS" ], "Lcom/android/server/pm/PackageManagerService;-updatePermissionFlags-(Ljava/lang/String; Ljava/lang/String; I I I)V": [ "android.permission.GRANT_RUNTIME_PERMISSIONS", "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.REVOKE_RUNTIME_PERMISSIONS" ], "Lcom/android/server/pm/PackageManagerService;-updatePermissionFlagsForAllApps-(I I I)V": [ "android.permission.GRANT_RUNTIME_PERMISSIONS", "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.REVOKE_RUNTIME_PERMISSIONS" ], "Lcom/android/server/pm/PackageManagerService;-verifyIntentFilter-(I I Ljava/util/List;)V": [ "android.permission.INTENT_FILTER_VERIFICATION_AGENT" ], "Lcom/android/server/pm/PackageManagerService;-verifyPendingInstall-(I I)V": [ "android.permission.GRANT_RUNTIME_PERMISSIONS", "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.PACKAGE_VERIFICATION_AGENT", "android.permission.REVOKE_RUNTIME_PERMISSIONS", "android.permission.SET_PREFERRED_APPLICATIONS" ], "Lcom/android/server/pm/ShortcutService;-onApplicationActive-(Ljava/lang/String; I)V": [ "android.permission.RESET_SHORTCUT_MANAGER_THROTTLING" ], "Lcom/android/server/power/PowerManagerService$BinderService;-acquireWakeLock-(Landroid/os/IBinder; I Ljava/lang/String; Ljava/lang/String; Landroid/os/WorkSource; Ljava/lang/String;)V": [ "android.permission.WAKE_LOCK" ], "Lcom/android/server/power/PowerManagerService$BinderService;-acquireWakeLockWithUid-(Landroid/os/IBinder; I Ljava/lang/String; Ljava/lang/String; I)V": [ "android.permission.WAKE_LOCK" ], "Lcom/android/server/power/PowerManagerService$BinderService;-boostScreenBrightness-(J)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/power/PowerManagerService$BinderService;-crash-(Ljava/lang/String;)V": [ "android.permission.REBOOT" ], "Lcom/android/server/power/PowerManagerService$BinderService;-goToSleep-(J I I)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/power/PowerManagerService$BinderService;-nap-(J)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/power/PowerManagerService$BinderService;-powerHint-(I I)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/power/PowerManagerService$BinderService;-reboot-(Z Ljava/lang/String; Z)V": [ "android.permission.REBOOT", "android.permission.RECOVERY" ], "Lcom/android/server/power/PowerManagerService$BinderService;-rebootSafeMode-(Z Z)V": [ "android.permission.REBOOT" ], "Lcom/android/server/power/PowerManagerService$BinderService;-releaseWakeLock-(Landroid/os/IBinder; I)V": [ "android.permission.WAKE_LOCK" ], "Lcom/android/server/power/PowerManagerService$BinderService;-setAttentionLight-(Z I)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/power/PowerManagerService$BinderService;-setPowerSaveMode-(Z)Z": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/power/PowerManagerService$BinderService;-setTemporaryScreenAutoBrightnessAdjustmentSettingOverride-(F)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/power/PowerManagerService$BinderService;-setTemporaryScreenBrightnessSettingOverride-(I)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/power/PowerManagerService$BinderService;-shutdown-(Z Ljava/lang/String; Z)V": [ "android.permission.REBOOT" ], "Lcom/android/server/power/PowerManagerService$BinderService;-updateWakeLockUids-(Landroid/os/IBinder; [I)V": [ "android.permission.UPDATE_DEVICE_STATS", "android.permission.WAKE_LOCK" ], "Lcom/android/server/power/PowerManagerService$BinderService;-updateWakeLockWorkSource-(Landroid/os/IBinder; Landroid/os/WorkSource; Ljava/lang/String;)V": [ "android.permission.UPDATE_DEVICE_STATS", "android.permission.WAKE_LOCK" ], "Lcom/android/server/power/PowerManagerService$BinderService;-userActivity-(J I I)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/power/PowerManagerService$BinderService;-wakeUp-(J Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/print/PrintManagerService$PrintManagerImpl;-addPrintJobStateChangeListener-(Landroid/print/IPrintJobStateChangeListener; I I)V": [ "com.android.printspooler.permission.ACCESS_ALL_PRINT_JOBS" ], "Lcom/android/server/print/PrintManagerService$PrintManagerImpl;-cancelPrintJob-(Landroid/print/PrintJobId; I I)V": [ "com.android.printspooler.permission.ACCESS_ALL_PRINT_JOBS" ], "Lcom/android/server/print/PrintManagerService$PrintManagerImpl;-getPrintJobInfo-(Landroid/print/PrintJobId; I I)Landroid/print/PrintJobInfo;": [ "com.android.printspooler.permission.ACCESS_ALL_PRINT_JOBS" ], "Lcom/android/server/print/PrintManagerService$PrintManagerImpl;-getPrintJobInfos-(I I)Ljava/util/List;": [ "com.android.printspooler.permission.ACCESS_ALL_PRINT_JOBS" ], "Lcom/android/server/print/PrintManagerService$PrintManagerImpl;-print-(Ljava/lang/String; Landroid/print/IPrintDocumentAdapter; Landroid/print/PrintAttributes; Ljava/lang/String; I I)Landroid/os/Bundle;": [ "com.android.printspooler.permission.ACCESS_ALL_PRINT_JOBS" ], "Lcom/android/server/print/PrintManagerService$PrintManagerImpl;-restartPrintJob-(Landroid/print/PrintJobId; I I)V": [ "com.android.printspooler.permission.ACCESS_ALL_PRINT_JOBS" ], "Lcom/android/server/sip/SipService;-close-(Ljava/lang/String; Ljava/lang/String;)V": [ "android.permission.USE_SIP" ], "Lcom/android/server/sip/SipService;-createSession-(Landroid/net/sip/SipProfile; Landroid/net/sip/ISipSessionListener; Ljava/lang/String;)Landroid/net/sip/ISipSession;": [ "android.permission.USE_SIP" ], "Lcom/android/server/sip/SipService;-getListOfProfiles-(Ljava/lang/String;)[Landroid/net/sip/SipProfile;": [ "android.permission.USE_SIP" ], "Lcom/android/server/sip/SipService;-getPendingSession-(Ljava/lang/String; Ljava/lang/String;)Landroid/net/sip/ISipSession;": [ "android.permission.USE_SIP" ], "Lcom/android/server/sip/SipService;-isOpened-(Ljava/lang/String; Ljava/lang/String;)Z": [ "android.permission.USE_SIP" ], "Lcom/android/server/sip/SipService;-isRegistered-(Ljava/lang/String; Ljava/lang/String;)Z": [ "android.permission.USE_SIP" ], "Lcom/android/server/sip/SipService;-open-(Landroid/net/sip/SipProfile; Ljava/lang/String;)V": [ "android.permission.USE_SIP" ], "Lcom/android/server/sip/SipService;-open3-(Landroid/net/sip/SipProfile; Landroid/app/PendingIntent; Landroid/net/sip/ISipSessionListener; Ljava/lang/String;)V": [ "android.permission.USE_SIP" ], "Lcom/android/server/sip/SipService;-setRegistrationListener-(Ljava/lang/String; Landroid/net/sip/ISipSessionListener; Ljava/lang/String;)V": [ "android.permission.USE_SIP" ], "Lcom/android/server/soundtrigger/SoundTriggerService$SoundTriggerServiceStub;-deleteSoundModel-(Landroid/os/ParcelUuid;)V": [ "android.permission.MANAGE_SOUND_TRIGGER" ], "Lcom/android/server/soundtrigger/SoundTriggerService$SoundTriggerServiceStub;-getSoundModel-(Landroid/os/ParcelUuid;)Landroid/hardware/soundtrigger/SoundTrigger$GenericSoundModel;": [ "android.permission.MANAGE_SOUND_TRIGGER" ], "Lcom/android/server/soundtrigger/SoundTriggerService$SoundTriggerServiceStub;-startRecognition-(Landroid/os/ParcelUuid; Landroid/hardware/soundtrigger/IRecognitionStatusCallback; Landroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig;)I": [ "android.permission.MANAGE_SOUND_TRIGGER" ], "Lcom/android/server/soundtrigger/SoundTriggerService$SoundTriggerServiceStub;-stopRecognition-(Landroid/os/ParcelUuid; Landroid/hardware/soundtrigger/IRecognitionStatusCallback;)I": [ "android.permission.MANAGE_SOUND_TRIGGER" ], "Lcom/android/server/soundtrigger/SoundTriggerService$SoundTriggerServiceStub;-updateSoundModel-(Landroid/hardware/soundtrigger/SoundTrigger$GenericSoundModel;)V": [ "android.permission.MANAGE_SOUND_TRIGGER" ], "Lcom/android/server/statusbar/StatusBarManagerService;-addTile-(Landroid/content/ComponentName;)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/statusbar/StatusBarManagerService;-clearNotificationEffects-()V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/statusbar/StatusBarManagerService;-clickTile-(Landroid/content/ComponentName;)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/statusbar/StatusBarManagerService;-collapsePanels-()V": [ "android.permission.EXPAND_STATUS_BAR" ], "Lcom/android/server/statusbar/StatusBarManagerService;-disable-(I Landroid/os/IBinder; Ljava/lang/String;)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/statusbar/StatusBarManagerService;-disable2-(I Landroid/os/IBinder; Ljava/lang/String;)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/statusbar/StatusBarManagerService;-disable2ForUser-(I Landroid/os/IBinder; Ljava/lang/String; I)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/statusbar/StatusBarManagerService;-disableForUser-(I Landroid/os/IBinder; Ljava/lang/String; I)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/statusbar/StatusBarManagerService;-expandNotificationsPanel-()V": [ "android.permission.EXPAND_STATUS_BAR" ], "Lcom/android/server/statusbar/StatusBarManagerService;-expandSettingsPanel-(Ljava/lang/String;)V": [ "android.permission.EXPAND_STATUS_BAR" ], "Lcom/android/server/statusbar/StatusBarManagerService;-handleSystemNavigationKey-(I)V": [ "android.permission.EXPAND_STATUS_BAR" ], "Lcom/android/server/statusbar/StatusBarManagerService;-onClearAllNotifications-(I)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/statusbar/StatusBarManagerService;-onNotificationActionClick-(Ljava/lang/String; I)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/statusbar/StatusBarManagerService;-onNotificationClear-(Ljava/lang/String; Ljava/lang/String; I I)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/statusbar/StatusBarManagerService;-onNotificationClick-(Ljava/lang/String;)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/statusbar/StatusBarManagerService;-onNotificationError-(Ljava/lang/String; Ljava/lang/String; I I I Ljava/lang/String; I)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/statusbar/StatusBarManagerService;-onNotificationExpansionChanged-(Ljava/lang/String; Z Z)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/statusbar/StatusBarManagerService;-onNotificationVisibilityChanged-([Lcom/android/internal/statusbar/NotificationVisibility; [Lcom/android/internal/statusbar/NotificationVisibility;)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/statusbar/StatusBarManagerService;-onPanelHidden-()V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/statusbar/StatusBarManagerService;-onPanelRevealed-(Z I)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/statusbar/StatusBarManagerService;-registerStatusBar-(Lcom/android/internal/statusbar/IStatusBar; Ljava/util/List; Ljava/util/List; [I Ljava/util/List; Landroid/graphics/Rect; Landroid/graphics/Rect;)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/statusbar/StatusBarManagerService;-remTile-(Landroid/content/ComponentName;)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/statusbar/StatusBarManagerService;-removeIcon-(Ljava/lang/String;)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/statusbar/StatusBarManagerService;-setIcon-(Ljava/lang/String; Ljava/lang/String; I I Ljava/lang/String;)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/statusbar/StatusBarManagerService;-setIconVisibility-(Ljava/lang/String; Z)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/statusbar/StatusBarManagerService;-setImeWindowStatus-(Landroid/os/IBinder; I I Z)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/statusbar/StatusBarManagerService;-setSystemUiVisibility-(I I Ljava/lang/String;)V": [ "android.permission.STATUS_BAR_SERVICE" ], "Lcom/android/server/tv/TvInputManagerService$BinderService;-acquireTvInputHardware-(I Landroid/media/tv/ITvInputHardwareCallback; Landroid/media/tv/TvInputInfo; I)Landroid/media/tv/ITvInputHardware;": [ "android.permission.TV_INPUT_HARDWARE" ], "Lcom/android/server/tv/TvInputManagerService$BinderService;-addBlockedRating-(Ljava/lang/String; I)V": [ "android.permission.MODIFY_PARENTAL_CONTROLS" ], "Lcom/android/server/tv/TvInputManagerService$BinderService;-captureFrame-(Ljava/lang/String; Landroid/view/Surface; Landroid/media/tv/TvStreamConfig; I)Z": [ "android.permission.CAPTURE_TV_INPUT" ], "Lcom/android/server/tv/TvInputManagerService$BinderService;-getAvailableTvStreamConfigList-(Ljava/lang/String; I)Ljava/util/List;": [ "android.permission.CAPTURE_TV_INPUT" ], "Lcom/android/server/tv/TvInputManagerService$BinderService;-getDvbDeviceList-()Ljava/util/List;": [ "android.permission.DVB_DEVICE" ], "Lcom/android/server/tv/TvInputManagerService$BinderService;-getHardwareList-()Ljava/util/List;": [ "android.permission.TV_INPUT_HARDWARE" ], "Lcom/android/server/tv/TvInputManagerService$BinderService;-openDvbDevice-(Landroid/media/tv/DvbDeviceInfo; I)Landroid/os/ParcelFileDescriptor;": [ "android.permission.DVB_DEVICE" ], "Lcom/android/server/tv/TvInputManagerService$BinderService;-releaseTvInputHardware-(I Landroid/media/tv/ITvInputHardware; I)V": [ "android.permission.TV_INPUT_HARDWARE" ], "Lcom/android/server/tv/TvInputManagerService$BinderService;-removeBlockedRating-(Ljava/lang/String; I)V": [ "android.permission.MODIFY_PARENTAL_CONTROLS" ], "Lcom/android/server/tv/TvInputManagerService$BinderService;-setParentalControlsEnabled-(Z I)V": [ "android.permission.MODIFY_PARENTAL_CONTROLS" ], "Lcom/android/server/tv/TvInputManagerService$BinderService;-unblockContent-(Landroid/os/IBinder; Ljava/lang/String; I)V": [ "android.permission.MODIFY_PARENTAL_CONTROLS" ], "Lcom/android/server/tv/TvInputManagerService$ServiceCallback;-addHardwareInput-(I Landroid/media/tv/TvInputInfo;)V": [ "android.permission.TV_INPUT_HARDWARE" ], "Lcom/android/server/tv/TvInputManagerService$ServiceCallback;-addHdmiInput-(I Landroid/media/tv/TvInputInfo;)V": [ "android.permission.TV_INPUT_HARDWARE" ], "Lcom/android/server/tv/TvInputManagerService$ServiceCallback;-removeHardwareInput-(Ljava/lang/String;)V": [ "android.permission.TV_INPUT_HARDWARE" ], "Lcom/android/server/usage/UsageStatsService$BinderService;-onCarrierPrivilegedAppsChanged-()V": [ "android.permission.BIND_CARRIER_SERVICES" ], "Lcom/android/server/usage/UsageStatsService$BinderService;-queryConfigurationStats-(I J J Ljava/lang/String;)Landroid/content/pm/ParceledListSlice;": [ "android.permission.PACKAGE_USAGE_STATS" ], "Lcom/android/server/usage/UsageStatsService$BinderService;-queryEvents-(J J Ljava/lang/String;)Landroid/app/usage/UsageEvents;": [ "android.permission.PACKAGE_USAGE_STATS" ], "Lcom/android/server/usage/UsageStatsService$BinderService;-queryUsageStats-(I J J Ljava/lang/String;)Landroid/content/pm/ParceledListSlice;": [ "android.permission.PACKAGE_USAGE_STATS" ], "Lcom/android/server/usage/UsageStatsService$BinderService;-setAppInactive-(Ljava/lang/String; Z I)V": [ "android.permission.CHANGE_APP_IDLE_STATE" ], "Lcom/android/server/usb/UsbService;-allowUsbDebugging-(Z Ljava/lang/String;)V": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-clearDefaults-(Ljava/lang/String; I)V": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-clearUsbDebuggingKeys-()V": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-denyUsbDebugging-()V": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-getPortStatus-(Ljava/lang/String;)Landroid/hardware/usb/UsbPortStatus;": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-getPorts-()[Landroid/hardware/usb/UsbPort;": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-grantAccessoryPermission-(Landroid/hardware/usb/UsbAccessory; I)V": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-grantDevicePermission-(Landroid/hardware/usb/UsbDevice; I)V": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-hasDefaults-(Ljava/lang/String; I)Z": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-isFunctionEnabled-(Ljava/lang/String;)Z": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-setAccessoryPackage-(Landroid/hardware/usb/UsbAccessory; Ljava/lang/String; I)V": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-setCurrentFunction-(Ljava/lang/String;)V": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-setDevicePackage-(Landroid/hardware/usb/UsbDevice; Ljava/lang/String; I)V": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-setPortRoles-(Ljava/lang/String; I I)V": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/usb/UsbService;-setUsbDataUnlocked-(Z)V": [ "android.permission.MANAGE_USB" ], "Lcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;-activeServiceSupportsAssist-()Z": [ "android.permission.ACCESS_VOICE_INTERACTION_SERVICE" ], "Lcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;-activeServiceSupportsLaunchFromKeyguard-()Z": [ "android.permission.ACCESS_VOICE_INTERACTION_SERVICE" ], "Lcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;-deleteKeyphraseSoundModel-(I Ljava/lang/String;)I": [ "android.permission.MANAGE_VOICE_KEYPHRASES" ], "Lcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;-getActiveServiceComponentName-()Landroid/content/ComponentName;": [ "android.permission.ACCESS_VOICE_INTERACTION_SERVICE" ], "Lcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;-getKeyphraseSoundModel-(I Ljava/lang/String;)Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseSoundModel;": [ "android.permission.MANAGE_VOICE_KEYPHRASES" ], "Lcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;-hideCurrentSession-()V": [ "android.permission.ACCESS_VOICE_INTERACTION_SERVICE" ], "Lcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;-isSessionRunning-()Z": [ "android.permission.ACCESS_VOICE_INTERACTION_SERVICE" ], "Lcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;-launchVoiceAssistFromKeyguard-()V": [ "android.permission.ACCESS_VOICE_INTERACTION_SERVICE" ], "Lcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;-onLockscreenShown-()V": [ "android.permission.ACCESS_VOICE_INTERACTION_SERVICE" ], "Lcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;-registerVoiceInteractionSessionListener-(Lcom/android/internal/app/IVoiceInteractionSessionListener;)V": [ "android.permission.ACCESS_VOICE_INTERACTION_SERVICE" ], "Lcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;-showSessionForActiveService-(Landroid/os/Bundle; I Lcom/android/internal/app/IVoiceInteractionSessionShowCallback; Landroid/os/IBinder;)Z": [ "android.permission.ACCESS_VOICE_INTERACTION_SERVICE" ], "Lcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;-updateKeyphraseSoundModel-(Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseSoundModel;)I": [ "android.permission.MANAGE_VOICE_KEYPHRASES" ], "Lcom/android/server/wallpaper/WallpaperManagerService;-clearWallpaper-(Ljava/lang/String; I I)V": [ "android.permission.SET_WALLPAPER" ], "Lcom/android/server/wallpaper/WallpaperManagerService;-setDimensionHints-(I I Ljava/lang/String;)V": [ "android.permission.SET_WALLPAPER_HINTS" ], "Lcom/android/server/wallpaper/WallpaperManagerService;-setDisplayPadding-(Landroid/graphics/Rect; Ljava/lang/String;)V": [ "android.permission.SET_WALLPAPER_HINTS" ], "Lcom/android/server/wallpaper/WallpaperManagerService;-setLockWallpaperCallback-(Landroid/app/IWallpaperManagerCallback;)Z": [ "android.permission.INTERNAL_SYSTEM_WINDOW" ], "Lcom/android/server/wallpaper/WallpaperManagerService;-setWallpaper-(Ljava/lang/String; Ljava/lang/String; Landroid/graphics/Rect; Z Landroid/os/Bundle; I Landroid/app/IWallpaperManagerCallback; I)Landroid/os/ParcelFileDescriptor;": [ "android.permission.SET_WALLPAPER" ], "Lcom/android/server/wallpaper/WallpaperManagerService;-setWallpaperComponent-(Landroid/content/ComponentName;)V": [ "android.permission.SET_WALLPAPER_COMPONENT" ], "Lcom/android/server/wallpaper/WallpaperManagerService;-setWallpaperComponentChecked-(Landroid/content/ComponentName; Ljava/lang/String; I)V": [ "android.permission.SET_WALLPAPER_COMPONENT" ], "Lcom/android/server/webkit/WebViewUpdateService$BinderService;-changeProviderAndSetting-(Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/webkit/WebViewUpdateService$BinderService;-enableFallbackLogic-(Z)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/wifi/WifiServiceImpl;-acquireMulticastLock-(Landroid/os/IBinder; Ljava/lang/String;)V": [ "android.permission.CHANGE_WIFI_MULTICAST_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-acquireWifiLock-(Landroid/os/IBinder; I Ljava/lang/String; Landroid/os/WorkSource;)Z": [ "android.permission.UPDATE_DEVICE_STATS", "android.permission.WAKE_LOCK" ], "Lcom/android/server/wifi/WifiServiceImpl;-addOrUpdateNetwork-(Landroid/net/wifi/WifiConfiguration;)I": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-addToBlacklist-(Ljava/lang/String;)V": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-clearBlacklist-()V": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-disableEphemeralNetwork-(Ljava/lang/String;)V": [ "android.permission.ACCESS_WIFI_STATE", "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-disableNetwork-(I)Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-disconnect-()V": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-enableAggressiveHandover-(I)V": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-enableNetwork-(I Z)Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-enableVerboseLogging-(I)V": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-enableWifiConnectivityManager-(Z)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/wifi/WifiServiceImpl;-factoryReset-()V": [ "android.permission.CHANGE_WIFI_STATE", "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/wifi/WifiServiceImpl;-getAggressiveHandover-()I": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-getAllowScansWithTraffic-()I": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-getConfigFile-()Ljava/lang/String;": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-getConfiguredNetworks-()Ljava/util/List;": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-getConnectionInfo-()Landroid/net/wifi/WifiInfo;": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-getConnectionStatistics-()Landroid/net/wifi/WifiConnectionStatistics;": [ "android.permission.ACCESS_WIFI_STATE", "android.permission.READ_WIFI_CREDENTIAL" ], "Lcom/android/server/wifi/WifiServiceImpl;-getCountryCode-()Ljava/lang/String;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/wifi/WifiServiceImpl;-getCurrentNetwork-()Landroid/net/Network;": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-getDhcpInfo-()Landroid/net/DhcpInfo;": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-getEnableAutoJoinWhenAssociated-()Z": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-getFrequencyBand-()I": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-getMatchingWifiConfig-(Landroid/net/wifi/ScanResult;)Landroid/net/wifi/WifiConfiguration;": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-getPrivilegedConfiguredNetworks-()Ljava/util/List;": [ "android.permission.ACCESS_WIFI_STATE", "android.permission.READ_WIFI_CREDENTIAL" ], "Lcom/android/server/wifi/WifiServiceImpl;-getScanResults-(Ljava/lang/String;)Ljava/util/List;": [ "android.permission.ACCESS_WIFI_STATE", "android.permission.INTERACT_ACROSS_USERS_FULL", "android.permission.PEERS_MAC_ADDRESS", "android.permission.SCORE_NETWORKS" ], "Lcom/android/server/wifi/WifiServiceImpl;-getSupportedFeatures-()I": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-getVerboseLoggingLevel-()I": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-getWifiApConfiguration-()Landroid/net/wifi/WifiConfiguration;": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-getWifiApEnabledState-()I": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-getWifiEnabledState-()I": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-getWifiServiceMessenger-()Landroid/os/Messenger;": [ "android.permission.ACCESS_WIFI_STATE", "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-getWpsNfcConfigurationToken-(I)Ljava/lang/String;": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/wifi/WifiServiceImpl;-initializeMulticastFiltering-()V": [ "android.permission.CHANGE_WIFI_MULTICAST_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-isMulticastEnabled-()Z": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-isScanAlwaysAvailable-()Z": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-pingSupplicant-()Z": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-reassociate-()V": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-reconnect-()V": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-releaseMulticastLock-()V": [ "android.permission.CHANGE_WIFI_MULTICAST_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-releaseWifiLock-(Landroid/os/IBinder;)Z": [ "android.permission.WAKE_LOCK" ], "Lcom/android/server/wifi/WifiServiceImpl;-removeNetwork-(I)Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-reportActivityInfo-()Landroid/net/wifi/WifiActivityEnergyInfo;": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-requestActivityInfo-(Landroid/os/ResultReceiver;)V": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-saveConfiguration-()Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-setAllowScansWithTraffic-(I)V": [ "android.permission.ACCESS_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-setCountryCode-(Ljava/lang/String; Z)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/wifi/WifiServiceImpl;-setEnableAutoJoinWhenAssociated-(Z)Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-setFrequencyBand-(I Z)V": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-setWifiApConfiguration-(Landroid/net/wifi/WifiConfiguration;)V": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-setWifiApEnabled-(Landroid/net/wifi/WifiConfiguration; Z)V": [ "android.permission.CHANGE_WIFI_STATE", "android.permission.TETHER_PRIVILEGED" ], "Lcom/android/server/wifi/WifiServiceImpl;-setWifiEnabled-(Z)Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/WifiServiceImpl;-startScan-(Landroid/net/wifi/ScanSettings; Landroid/os/WorkSource;)V": [ "android.permission.CHANGE_WIFI_STATE", "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/wifi/WifiServiceImpl;-updateWifiLockWorkSource-(Landroid/os/IBinder; Landroid/os/WorkSource;)V": [ "android.permission.UPDATE_DEVICE_STATS" ], "Lcom/android/server/wifi/p2p/WifiP2pServiceImpl;-getMessenger-()Landroid/os/Messenger;": [ "android.permission.ACCESS_WIFI_STATE", "android.permission.CHANGE_WIFI_STATE" ], "Lcom/android/server/wifi/p2p/WifiP2pServiceImpl;-getP2pStateMachineMessenger-()Landroid/os/Messenger;": [ "android.permission.ACCESS_WIFI_STATE", "android.permission.CHANGE_WIFI_STATE", "android.permission.CONNECTIVITY_INTERNAL", "android.permission.LOCATION_HARDWARE" ], "Lcom/android/server/wifi/p2p/WifiP2pServiceImpl;-setMiracastMode-(I)V": [ "android.permission.CONNECTIVITY_INTERNAL" ], "Lcom/android/server/wm/WindowManagerService;-addAppToken-(I Landroid/view/IApplicationToken; I I I Z Z I I Z Z Landroid/graphics/Rect; Landroid/content/res/Configuration; I Z Z I I)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-addWindowToken-(Landroid/os/IBinder; I)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-clearForcedDisplayDensityForUser-(I I)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/wm/WindowManagerService;-clearForcedDisplaySize-(I)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/wm/WindowManagerService;-clearWindowContentFrameStats-(Landroid/os/IBinder;)Z": [ "android.permission.FRAME_STATS" ], "Lcom/android/server/wm/WindowManagerService;-disableKeyguard-(Landroid/os/IBinder; Ljava/lang/String;)V": [ "android.permission.DISABLE_KEYGUARD" ], "Lcom/android/server/wm/WindowManagerService;-dismissKeyguard-()V": [ "android.permission.DISABLE_KEYGUARD" ], "Lcom/android/server/wm/WindowManagerService;-executeAppTransition-()V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-exitKeyguardSecurely-(Landroid/view/IOnKeyguardExitResult;)V": [ "android.permission.DISABLE_KEYGUARD" ], "Lcom/android/server/wm/WindowManagerService;-freezeRotation-(I)V": [ "android.permission.SET_ORIENTATION" ], "Lcom/android/server/wm/WindowManagerService;-getWindowContentFrameStats-(Landroid/os/IBinder;)Landroid/view/WindowContentFrameStats;": [ "android.permission.FRAME_STATS" ], "Lcom/android/server/wm/WindowManagerService;-isViewServerRunning-()Z": [ "android.permission.DUMP" ], "Lcom/android/server/wm/WindowManagerService;-keyguardGoingAway-(I)V": [ "android.permission.DISABLE_KEYGUARD" ], "Lcom/android/server/wm/WindowManagerService;-lockNow-(Landroid/os/Bundle;)V": [ "android.permission.DEVICE_POWER" ], "Lcom/android/server/wm/WindowManagerService;-notifyAppResumed-(Landroid/os/IBinder; Z Z)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-notifyAppStopped-(Landroid/os/IBinder;)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-pauseKeyDispatching-(Landroid/os/IBinder;)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-prepareAppTransition-(I Z)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-reenableKeyguard-(Landroid/os/IBinder;)V": [ "android.permission.DISABLE_KEYGUARD" ], "Lcom/android/server/wm/WindowManagerService;-registerDockedStackListener-(Landroid/view/IDockedStackListener;)V": [ "android.permission.REGISTER_WINDOW_MANAGER_LISTENERS" ], "Lcom/android/server/wm/WindowManagerService;-registerShortcutKey-(J Lcom/android/internal/policy/IShortcutService;)V": [ "android.permission.REGISTER_WINDOW_MANAGER_LISTENERS" ], "Lcom/android/server/wm/WindowManagerService;-removeAppToken-(Landroid/os/IBinder;)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-removeWindowToken-(Landroid/os/IBinder;)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-requestAssistScreenshot-(Lcom/android/internal/app/IAssistScreenshotReceiver;)Z": [ "android.permission.READ_FRAME_BUFFER" ], "Lcom/android/server/wm/WindowManagerService;-resumeKeyDispatching-(Landroid/os/IBinder;)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-screenshotApplications-(Landroid/os/IBinder; I I I F)Landroid/graphics/Bitmap;": [ "android.permission.READ_FRAME_BUFFER" ], "Lcom/android/server/wm/WindowManagerService;-screenshotWallpaper-()Landroid/graphics/Bitmap;": [ "android.permission.READ_FRAME_BUFFER" ], "Lcom/android/server/wm/WindowManagerService;-setAnimationScale-(I F)V": [ "android.permission.SET_ANIMATION_SCALE" ], "Lcom/android/server/wm/WindowManagerService;-setAnimationScales-([F)V": [ "android.permission.SET_ANIMATION_SCALE" ], "Lcom/android/server/wm/WindowManagerService;-setAppOrientation-(Landroid/view/IApplicationToken; I)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-setAppStartingWindow-(Landroid/os/IBinder; Ljava/lang/String; I Landroid/content/res/CompatibilityInfo; Ljava/lang/CharSequence; I I I I Landroid/os/IBinder; Z)Z": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-setAppTask-(Landroid/os/IBinder; I I Landroid/graphics/Rect; Landroid/content/res/Configuration; I Z)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-setAppVisibility-(Landroid/os/IBinder; Z)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-setEventDispatching-(Z)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-setFocusedApp-(Landroid/os/IBinder; Z)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-setForcedDisplayDensityForUser-(I I I)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/wm/WindowManagerService;-setForcedDisplayScalingMode-(I I)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/wm/WindowManagerService;-setForcedDisplaySize-(I I I)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/wm/WindowManagerService;-setNewConfiguration-(Landroid/content/res/Configuration;)[I": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-setOverscan-(I I I I I)V": [ "android.permission.WRITE_SECURE_SETTINGS" ], "Lcom/android/server/wm/WindowManagerService;-setRecentsVisibility-(Z)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/wm/WindowManagerService;-setTvPipVisibility-(Z)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/wm/WindowManagerService;-startAppFreezingScreen-(Landroid/os/IBinder; I)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-startFreezingScreen-(I I)V": [ "android.permission.FREEZE_SCREEN" ], "Lcom/android/server/wm/WindowManagerService;-startViewServer-(I)Z": [ "android.permission.DUMP" ], "Lcom/android/server/wm/WindowManagerService;-statusBarVisibilityChanged-(I)V": [ "android.permission.STATUS_BAR" ], "Lcom/android/server/wm/WindowManagerService;-stopAppFreezingScreen-(Landroid/os/IBinder; Z)V": [ "android.permission.MANAGE_APP_TOKENS" ], "Lcom/android/server/wm/WindowManagerService;-stopFreezingScreen-()V": [ "android.permission.FREEZE_SCREEN" ], "Lcom/android/server/wm/WindowManagerService;-stopViewServer-()Z": [ "android.permission.DUMP" ], "Lcom/android/server/wm/WindowManagerService;-thawRotation-()V": [ "android.permission.SET_ORIENTATION" ], "Lcom/android/server/wm/WindowManagerService;-updateOrientationFromAppTokens-(Landroid/content/res/Configuration; Landroid/os/IBinder;)Landroid/content/res/Configuration;": [ "android.permission.MANAGE_APP_TOKENS" ], "Landroid/accounts/AccountAuthenticatorActivity;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/accounts/AccountAuthenticatorActivity;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/accounts/AccountAuthenticatorActivity;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/accounts/AccountAuthenticatorActivity;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/accounts/AccountAuthenticatorActivity;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/accounts/AccountAuthenticatorActivity;-stopService-(Landroid/content/Intent;)Z": [ "android.permission.BROADCAST_STICKY" ], "Landroid/accounts/AccountAuthenticatorActivity;-unbindService-(Landroid/content/ServiceConnection;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/Activity;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/Activity;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/Activity;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/Activity;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/Activity;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/Activity;-stopLockTask-()V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/Activity;-stopService-(Landroid/content/Intent;)Z": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/Activity;-unbindService-(Landroid/content/ServiceConnection;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ActivityGroup;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/ActivityGroup;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ActivityGroup;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ActivityGroup;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/ActivityGroup;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/ActivityGroup;-stopService-(Landroid/content/Intent;)Z": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ActivityGroup;-unbindService-(Landroid/content/ServiceConnection;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ActivityManager;-getRecentTasks-(I I)Ljava/util/List;": [ "android.permission.GET_TASKS" ], "Landroid/app/ActivityManager;-getRunningAppProcesses-()Ljava/util/List;": [ "android.permission.GET_TASKS" ], "Landroid/app/ActivityManager;-getRunningTasks-(I)Ljava/util/List;": [ "android.permission.GET_TASKS" ], "Landroid/app/ActivityManager;-killBackgroundProcesses-(Ljava/lang/String;)V": [ "android.permission.KILL_BACKGROUND_PROCESSES" ], "Landroid/app/ActivityManager;-moveTaskToFront-(I I)V": [ "android.permission.BROADCAST_STICKY", "android.permission.REORDER_TASKS" ], "Landroid/app/ActivityManager;-moveTaskToFront-(I I Landroid/os/Bundle;)V": [ "android.permission.BROADCAST_STICKY", "android.permission.REORDER_TASKS" ], "Landroid/app/ActivityManager;-restartPackage-(Ljava/lang/String;)V": [ "android.permission.KILL_BACKGROUND_PROCESSES" ], "Landroid/app/AliasActivity;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/AliasActivity;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/AliasActivity;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/AliasActivity;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/AliasActivity;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/AliasActivity;-stopService-(Landroid/content/Intent;)Z": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/AliasActivity;-unbindService-(Landroid/content/ServiceConnection;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/Application;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/Application;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/Application;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/Application;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/Application;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/Application;-stopService-(Landroid/content/Intent;)Z": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/Application;-unbindService-(Landroid/content/ServiceConnection;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ExpandableListActivity;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/ExpandableListActivity;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ExpandableListActivity;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ExpandableListActivity;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/ExpandableListActivity;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/ExpandableListActivity;-stopService-(Landroid/content/Intent;)Z": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ExpandableListActivity;-unbindService-(Landroid/content/ServiceConnection;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/JobSchedulerImpl;-schedule-(Landroid/app/job/JobInfo;)I": [ "android.permission.RECEIVE_BOOT_COMPLETED" ], "Landroid/app/KeyguardManager$KeyguardLock;-disableKeyguard-()V": [ "android.permission.DISABLE_KEYGUARD" ], "Landroid/app/KeyguardManager$KeyguardLock;-reenableKeyguard-()V": [ "android.permission.DISABLE_KEYGUARD" ], "Landroid/app/KeyguardManager;-exitKeyguardSecurely-(Landroid/app/KeyguardManager$OnKeyguardExitResult;)V": [ "android.permission.DISABLE_KEYGUARD" ], "Landroid/app/ListActivity;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/ListActivity;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ListActivity;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ListActivity;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/ListActivity;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/ListActivity;-stopService-(Landroid/content/Intent;)Z": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/ListActivity;-unbindService-(Landroid/content/ServiceConnection;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/NativeActivity;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/NativeActivity;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/NativeActivity;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/NativeActivity;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/NativeActivity;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/NativeActivity;-stopService-(Landroid/content/Intent;)Z": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/NativeActivity;-unbindService-(Landroid/content/ServiceConnection;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/Service;-stopSelf-()V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/Service;-stopSelf-(I)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/Service;-stopSelfResult-(I)Z": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/TabActivity;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/TabActivity;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/TabActivity;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/TabActivity;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/TabActivity;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/TabActivity;-stopService-(Landroid/content/Intent;)Z": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/TabActivity;-unbindService-(Landroid/content/ServiceConnection;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/WallpaperManager;-clear-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/WallpaperManager;-clear-(I)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/WallpaperManager;-setBitmap-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/WallpaperManager;-setBitmap-(Landroid/graphics/Bitmap; Landroid/graphics/Rect; Z)I": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/WallpaperManager;-setBitmap-(Landroid/graphics/Bitmap; Landroid/graphics/Rect; Z I)I": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/WallpaperManager;-setResource-(I)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/WallpaperManager;-setResource-(I I)I": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/WallpaperManager;-setStream-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/WallpaperManager;-setStream-(Ljava/io/InputStream; Landroid/graphics/Rect; Z)I": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/WallpaperManager;-setStream-(Ljava/io/InputStream; Landroid/graphics/Rect; Z I)I": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/WallpaperManager;-suggestDesiredDimensions-(I I)V": [ "android.permission.SET_WALLPAPER_HINTS" ], "Landroid/app/admin/DevicePolicyManager;-getWifiMacAddress-(Landroid/content/ComponentName;)Ljava/lang/String;": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/app/backup/BackupAgentHelper;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/backup/BackupAgentHelper;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/backup/BackupAgentHelper;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/backup/BackupAgentHelper;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/backup/BackupAgentHelper;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/app/backup/BackupAgentHelper;-stopService-(Landroid/content/Intent;)Z": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/backup/BackupAgentHelper;-unbindService-(Landroid/content/ServiceConnection;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/app/backup/BackupManager;-dataChanged-()V": [ "android.permission.RECEIVE_BOOT_COMPLETED" ], "Landroid/app/backup/BackupManager;-dataChanged-(Ljava/lang/String;)V": [ "android.permission.RECEIVE_BOOT_COMPLETED" ], "Landroid/bluetooth/BluetoothA2dp;-getConnectedDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothA2dp;-getConnectionState-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothA2dp;-getDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothA2dp;-isA2dpPlaying-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-cancelDiscovery-()Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothAdapter;-closeProfileProxy-(I Landroid/bluetooth/BluetoothProfile;)V": [ "android.permission.BLUETOOTH", "android.permission.BROADCAST_STICKY" ], "Landroid/bluetooth/BluetoothAdapter;-disable-()Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothAdapter;-enable-()Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothAdapter;-getAddress-()Ljava/lang/String;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-getBluetoothLeAdvertiser-()Landroid/bluetooth/le/BluetoothLeAdvertiser;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-getBluetoothLeScanner-()Landroid/bluetooth/le/BluetoothLeScanner;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-getBondedDevices-()Ljava/util/Set;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-getName-()Ljava/lang/String;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-getProfileConnectionState-(I)I": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-getProfileProxy-(Landroid/content/Context; Landroid/bluetooth/BluetoothProfile$ServiceListener; I)Z": [ "android.permission.BLUETOOTH", "android.permission.BROADCAST_STICKY" ], "Landroid/bluetooth/BluetoothAdapter;-getScanMode-()I": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-getState-()I": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-isDiscovering-()Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-isEnabled-()Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-isMultipleAdvertisementSupported-()Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-isOffloadedFilteringSupported-()Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-isOffloadedScanBatchingSupported-()Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-listenUsingInsecureRfcommWithServiceRecord-(Ljava/lang/String; Ljava/util/UUID;)Landroid/bluetooth/BluetoothServerSocket;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-listenUsingRfcommWithServiceRecord-(Ljava/lang/String; Ljava/util/UUID;)Landroid/bluetooth/BluetoothServerSocket;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-setName-(Ljava/lang/String;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothAdapter;-startDiscovery-()Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothAdapter;-startLeScan-([Ljava/util/UUID; Landroid/bluetooth/BluetoothAdapter$LeScanCallback;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-startLeScan-(Landroid/bluetooth/BluetoothAdapter$LeScanCallback;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothAdapter;-stopLeScan-(Landroid/bluetooth/BluetoothAdapter$LeScanCallback;)V": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothDevice;-connectGatt-(Landroid/content/Context; Z Landroid/bluetooth/BluetoothGattCallback;)Landroid/bluetooth/BluetoothGatt;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothDevice;-connectGatt-(Landroid/content/Context; Z Landroid/bluetooth/BluetoothGattCallback; I)Landroid/bluetooth/BluetoothGatt;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothDevice;-createBond-()Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothDevice;-createInsecureRfcommSocketToServiceRecord-(Ljava/util/UUID;)Landroid/bluetooth/BluetoothSocket;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothDevice;-createRfcommSocketToServiceRecord-(Ljava/util/UUID;)Landroid/bluetooth/BluetoothSocket;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothDevice;-fetchUuidsWithSdp-()Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothDevice;-getBluetoothClass-()Landroid/bluetooth/BluetoothClass;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothDevice;-getBondState-()I": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothDevice;-getName-()Ljava/lang/String;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothDevice;-getType-()I": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothDevice;-getUuids-()[Landroid/os/ParcelUuid;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothDevice;-setPin-([B)Z": [ "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothGatt;-abortReliableWrite-()V": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-abortReliableWrite-(Landroid/bluetooth/BluetoothDevice;)V": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-beginReliableWrite-()Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-close-()V": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-connect-()Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-disconnect-()V": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-discoverServices-()Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-executeReliableWrite-()Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-readCharacteristic-(Landroid/bluetooth/BluetoothGattCharacteristic;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-readDescriptor-(Landroid/bluetooth/BluetoothGattDescriptor;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-readRemoteRssi-()Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-requestConnectionPriority-(I)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-requestMtu-(I)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-setCharacteristicNotification-(Landroid/bluetooth/BluetoothGattCharacteristic; Z)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-writeCharacteristic-(Landroid/bluetooth/BluetoothGattCharacteristic;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGatt;-writeDescriptor-(Landroid/bluetooth/BluetoothGattDescriptor;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGattServer;-addService-(Landroid/bluetooth/BluetoothGattService;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGattServer;-cancelConnection-(Landroid/bluetooth/BluetoothDevice;)V": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGattServer;-clearServices-()V": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGattServer;-close-()V": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGattServer;-connect-(Landroid/bluetooth/BluetoothDevice; Z)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGattServer;-notifyCharacteristicChanged-(Landroid/bluetooth/BluetoothDevice; Landroid/bluetooth/BluetoothGattCharacteristic; Z)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGattServer;-removeService-(Landroid/bluetooth/BluetoothGattService;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothGattServer;-sendResponse-(Landroid/bluetooth/BluetoothDevice; I I I [B)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHeadset;-getConnectedDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHeadset;-getConnectionState-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHeadset;-getDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHeadset;-isAudioConnected-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHeadset;-sendVendorSpecificResultCode-(Landroid/bluetooth/BluetoothDevice; Ljava/lang/String; Ljava/lang/String;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothHeadset;-startVoiceRecognition-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothHeadset;-stopVoiceRecognition-(Landroid/bluetooth/BluetoothDevice;)Z": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/BluetoothHealth;-connectChannelToSource-(Landroid/bluetooth/BluetoothDevice; Landroid/bluetooth/BluetoothHealthAppConfiguration;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHealth;-disconnectChannel-(Landroid/bluetooth/BluetoothDevice; Landroid/bluetooth/BluetoothHealthAppConfiguration; I)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHealth;-getConnectedDevices-()Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHealth;-getConnectionState-(Landroid/bluetooth/BluetoothDevice;)I": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHealth;-getDevicesMatchingConnectionStates-([I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHealth;-getMainChannelFd-(Landroid/bluetooth/BluetoothDevice; Landroid/bluetooth/BluetoothHealthAppConfiguration;)Landroid/os/ParcelFileDescriptor;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHealth;-registerSinkAppConfiguration-(Ljava/lang/String; I Landroid/bluetooth/BluetoothHealthCallback;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothHealth;-unregisterAppConfiguration-(Landroid/bluetooth/BluetoothHealthAppConfiguration;)Z": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothManager;-getConnectedDevices-(I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothManager;-getConnectionState-(Landroid/bluetooth/BluetoothDevice; I)I": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothManager;-getDevicesMatchingConnectionStates-(I [I)Ljava/util/List;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothManager;-openGattServer-(Landroid/content/Context; Landroid/bluetooth/BluetoothGattServerCallback;)Landroid/bluetooth/BluetoothGattServer;": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/BluetoothSocket;-connect-()V": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/le/BluetoothLeAdvertiser;-startAdvertising-(Landroid/bluetooth/le/AdvertiseSettings; Landroid/bluetooth/le/AdvertiseData; Landroid/bluetooth/le/AdvertiseCallback;)V": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/le/BluetoothLeAdvertiser;-startAdvertising-(Landroid/bluetooth/le/AdvertiseSettings; Landroid/bluetooth/le/AdvertiseData; Landroid/bluetooth/le/AdvertiseData; Landroid/bluetooth/le/AdvertiseCallback;)V": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/le/BluetoothLeAdvertiser;-stopAdvertising-(Landroid/bluetooth/le/AdvertiseCallback;)V": [ "android.permission.BLUETOOTH_ADMIN" ], "Landroid/bluetooth/le/BluetoothLeScanner;-flushPendingScanResults-(Landroid/bluetooth/le/ScanCallback;)V": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/le/BluetoothLeScanner;-startScan-(Landroid/bluetooth/le/ScanCallback;)V": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/le/BluetoothLeScanner;-startScan-(Ljava/util/List; Landroid/bluetooth/le/ScanSettings; Landroid/bluetooth/le/ScanCallback;)V": [ "android.permission.BLUETOOTH" ], "Landroid/bluetooth/le/BluetoothLeScanner;-stopScan-(Landroid/bluetooth/le/ScanCallback;)V": [ "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN" ], "Landroid/content/ContextWrapper;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/content/ContextWrapper;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/content/ContextWrapper;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/content/ContextWrapper;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/content/ContextWrapper;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/content/ContextWrapper;-stopService-(Landroid/content/Intent;)Z": [ "android.permission.BROADCAST_STICKY" ], "Landroid/content/ContextWrapper;-unbindService-(Landroid/content/ServiceConnection;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/content/MutableContextWrapper;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/content/MutableContextWrapper;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/content/MutableContextWrapper;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/content/MutableContextWrapper;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/content/MutableContextWrapper;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/content/MutableContextWrapper;-stopService-(Landroid/content/Intent;)Z": [ "android.permission.BROADCAST_STICKY" ], "Landroid/content/MutableContextWrapper;-unbindService-(Landroid/content/ServiceConnection;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/hardware/ConsumerIrManager;-getCarrierFrequencies-()[Landroid/hardware/ConsumerIrManager$CarrierFrequencyRange;": [ "android.permission.TRANSMIT_IR" ], "Landroid/hardware/ConsumerIrManager;-transmit-(I [I)V": [ "android.permission.TRANSMIT_IR" ], "Landroid/hardware/fingerprint/FingerprintManager;-authenticate-(Landroid/hardware/fingerprint/FingerprintManager$CryptoObject; Landroid/os/CancellationSignal; I Landroid/hardware/fingerprint/FingerprintManager$AuthenticationCallback; Landroid/os/Handler;)V": [ "android.permission.USE_FINGERPRINT" ], "Landroid/hardware/fingerprint/FingerprintManager;-hasEnrolledFingerprints-()Z": [ "android.permission.USE_FINGERPRINT" ], "Landroid/hardware/fingerprint/FingerprintManager;-isHardwareDetected-()Z": [ "android.permission.USE_FINGERPRINT" ], "Landroid/inputmethodservice/InputMethodService;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/inputmethodservice/InputMethodService;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/inputmethodservice/InputMethodService;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/inputmethodservice/InputMethodService;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/inputmethodservice/InputMethodService;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/inputmethodservice/InputMethodService;-stopService-(Landroid/content/Intent;)Z": [ "android.permission.BROADCAST_STICKY" ], "Landroid/inputmethodservice/InputMethodService;-unbindService-(Landroid/content/ServiceConnection;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/location/LocationManager;-addGpsStatusListener-(Landroid/location/GpsStatus$Listener;)Z": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-addNmeaListener-(Landroid/location/GpsStatus$NmeaListener;)Z": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-addNmeaListener-(Landroid/location/OnNmeaMessageListener;)Z": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-addNmeaListener-(Landroid/location/OnNmeaMessageListener; Landroid/os/Handler;)Z": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-addProximityAlert-(D D F J Landroid/app/PendingIntent;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-getBestProvider-(Landroid/location/Criteria; Z)Ljava/lang/String;": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-getLastKnownLocation-(Ljava/lang/String;)Landroid/location/Location;": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-getProvider-(Ljava/lang/String;)Landroid/location/LocationProvider;": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-getProviders-(Landroid/location/Criteria; Z)Ljava/util/List;": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-getProviders-(Z)Ljava/util/List;": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-registerGnssStatusCallback-(Landroid/location/GnssStatus$Callback;)Z": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-registerGnssStatusCallback-(Landroid/location/GnssStatus$Callback; Landroid/os/Handler;)Z": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-removeUpdates-(Landroid/app/PendingIntent;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-removeUpdates-(Landroid/location/LocationListener;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-requestLocationUpdates-(Ljava/lang/String; J F Landroid/app/PendingIntent;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-requestLocationUpdates-(Ljava/lang/String; J F Landroid/location/LocationListener;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-requestLocationUpdates-(Ljava/lang/String; J F Landroid/location/LocationListener; Landroid/os/Looper;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-requestLocationUpdates-(J F Landroid/location/Criteria; Landroid/app/PendingIntent;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-requestLocationUpdates-(J F Landroid/location/Criteria; Landroid/location/LocationListener; Landroid/os/Looper;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-requestSingleUpdate-(Landroid/location/Criteria; Landroid/app/PendingIntent;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-requestSingleUpdate-(Landroid/location/Criteria; Landroid/location/LocationListener; Landroid/os/Looper;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-requestSingleUpdate-(Ljava/lang/String; Landroid/app/PendingIntent;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-requestSingleUpdate-(Ljava/lang/String; Landroid/location/LocationListener; Landroid/os/Looper;)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/location/LocationManager;-sendExtraCommand-(Ljava/lang/String; Ljava/lang/String; Landroid/os/Bundle;)Z": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION", "android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" ], "Landroid/media/AsyncPlayer;-play-(Landroid/content/Context; Landroid/net/Uri; Z Landroid/media/AudioAttributes;)V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/AsyncPlayer;-play-(Landroid/content/Context; Landroid/net/Uri; Z I)V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/AsyncPlayer;-stop-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/AudioManager;-adjustStreamVolume-(I I I)V": [ "android.permission.BLUETOOTH" ], "Landroid/media/AudioManager;-setBluetoothScoOn-(Z)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/media/AudioManager;-setMicrophoneMute-(Z)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/media/AudioManager;-setMode-(I)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/media/AudioManager;-setSpeakerphoneOn-(Z)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/media/AudioManager;-setStreamMute-(I Z)V": [ "android.permission.BLUETOOTH" ], "Landroid/media/AudioManager;-setStreamVolume-(I I I)V": [ "android.permission.BLUETOOTH" ], "Landroid/media/AudioManager;-startBluetoothSco-()V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/media/AudioManager;-stopBluetoothSco-()V": [ "android.permission.BLUETOOTH", "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/media/MediaPlayer;-pause-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/MediaPlayer;-release-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/MediaPlayer;-reset-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/MediaPlayer;-setWakeMode-(Landroid/content/Context; I)V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/MediaPlayer;-start-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/MediaPlayer;-stop-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/MediaRouter$RouteGroup;-requestSetVolume-(I)V": [ "android.permission.BLUETOOTH" ], "Landroid/media/MediaRouter$RouteGroup;-requestUpdateVolume-(I)V": [ "android.permission.BLUETOOTH" ], "Landroid/media/MediaRouter$RouteInfo;-requestSetVolume-(I)V": [ "android.permission.BLUETOOTH" ], "Landroid/media/MediaRouter$RouteInfo;-requestUpdateVolume-(I)V": [ "android.permission.BLUETOOTH" ], "Landroid/media/MediaScannerConnection;-disconnect-()V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/media/Ringtone;-play-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/Ringtone;-setAudioAttributes-(Landroid/media/AudioAttributes;)V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/Ringtone;-setStreamType-(I)V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/Ringtone;-stop-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/RingtoneManager;-getRingtone-(Landroid/content/Context; Landroid/net/Uri;)Landroid/media/Ringtone;": [ "android.permission.WAKE_LOCK" ], "Landroid/media/RingtoneManager;-getRingtone-(I)Landroid/media/Ringtone;": [ "android.permission.WAKE_LOCK" ], "Landroid/media/RingtoneManager;-stopPreviousRingtone-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/media/browse/MediaBrowser;-disconnect-()V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/net/ConnectivityManager;-getActiveNetwork-()Landroid/net/Network;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-getActiveNetworkInfo-()Landroid/net/NetworkInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-getAllNetworkInfo-()[Landroid/net/NetworkInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-getAllNetworks-()[Landroid/net/Network;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-getLinkProperties-(Landroid/net/Network;)Landroid/net/LinkProperties;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-getNetworkCapabilities-(Landroid/net/Network;)Landroid/net/NetworkCapabilities;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-getNetworkInfo-(Landroid/net/Network;)Landroid/net/NetworkInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-getNetworkInfo-(I)Landroid/net/NetworkInfo;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-getRestrictBackgroundStatus-()I": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-isActiveNetworkMetered-()Z": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-registerDefaultNetworkCallback-(Landroid/net/ConnectivityManager$NetworkCallback;)V": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.ACCESS_WIFI_STATE", "android.permission.CHANGE_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-registerNetworkCallback-(Landroid/net/NetworkRequest; Landroid/app/PendingIntent;)V": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/ConnectivityManager;-registerNetworkCallback-(Landroid/net/NetworkRequest; Landroid/net/ConnectivityManager$NetworkCallback;)V": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.ACCESS_WIFI_STATE", "android.permission.CHANGE_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-reportBadNetwork-(Landroid/net/Network;)V": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.INTERNET" ], "Landroid/net/ConnectivityManager;-reportNetworkConnectivity-(Landroid/net/Network; Z)V": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.INTERNET" ], "Landroid/net/ConnectivityManager;-requestBandwidthUpdate-(Landroid/net/Network;)Z": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-requestNetwork-(Landroid/net/NetworkRequest; Landroid/app/PendingIntent;)V": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.CHANGE_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-requestNetwork-(Landroid/net/NetworkRequest; Landroid/net/ConnectivityManager$NetworkCallback;)V": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.ACCESS_WIFI_STATE", "android.permission.CHANGE_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-requestRouteToHost-(I I)Z": [ "android.permission.CHANGE_NETWORK_STATE" ], "Landroid/net/ConnectivityManager;-startUsingNetworkFeature-(I Ljava/lang/String;)I": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.ACCESS_WIFI_STATE", "android.permission.CHANGE_NETWORK_STATE" ], "Landroid/net/VpnService;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/net/VpnService;-onRevoke-()V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/net/VpnService;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/net/VpnService;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/net/VpnService;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/net/VpnService;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/net/VpnService;-stopService-(Landroid/content/Intent;)Z": [ "android.permission.BROADCAST_STICKY" ], "Landroid/net/VpnService;-unbindService-(Landroid/content/ServiceConnection;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/net/sip/SipAudioCall;-close-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/net/sip/SipAudioCall;-endCall-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/net/sip/SipAudioCall;-setSpeakerMode-(Z)V": [ "android.permission.MODIFY_AUDIO_SETTINGS" ], "Landroid/net/sip/SipAudioCall;-startAudio-()V": [ "android.permission.ACCESS_WIFI_STATE", "android.permission.WAKE_LOCK" ], "Landroid/net/sip/SipManager;-close-(Ljava/lang/String;)V": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-createSipSession-(Landroid/net/sip/SipProfile; Landroid/net/sip/SipSession$Listener;)Landroid/net/sip/SipSession;": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-getSessionFor-(Landroid/content/Intent;)Landroid/net/sip/SipSession;": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-isOpened-(Ljava/lang/String;)Z": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-isRegistered-(Ljava/lang/String;)Z": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-makeAudioCall-(Landroid/net/sip/SipProfile; Landroid/net/sip/SipProfile; Landroid/net/sip/SipAudioCall$Listener; I)Landroid/net/sip/SipAudioCall;": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-makeAudioCall-(Ljava/lang/String; Ljava/lang/String; Landroid/net/sip/SipAudioCall$Listener; I)Landroid/net/sip/SipAudioCall;": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-open-(Landroid/net/sip/SipProfile;)V": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-open-(Landroid/net/sip/SipProfile; Landroid/app/PendingIntent; Landroid/net/sip/SipRegistrationListener;)V": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-register-(Landroid/net/sip/SipProfile; I Landroid/net/sip/SipRegistrationListener;)V": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-setRegistrationListener-(Ljava/lang/String; Landroid/net/sip/SipRegistrationListener;)V": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-takeAudioCall-(Landroid/content/Intent; Landroid/net/sip/SipAudioCall$Listener;)Landroid/net/sip/SipAudioCall;": [ "android.permission.USE_SIP" ], "Landroid/net/sip/SipManager;-unregister-(Landroid/net/sip/SipProfile; Landroid/net/sip/SipRegistrationListener;)V": [ "android.permission.USE_SIP" ], "Landroid/net/wifi/WifiManager$MulticastLock;-acquire-()V": [ "android.permission.CHANGE_WIFI_MULTICAST_STATE" ], "Landroid/net/wifi/WifiManager$MulticastLock;-release-()V": [ "android.permission.CHANGE_WIFI_MULTICAST_STATE" ], "Landroid/net/wifi/WifiManager$WifiLock;-acquire-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/net/wifi/WifiManager$WifiLock;-release-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/net/wifi/WifiManager;-addNetwork-(Landroid/net/wifi/WifiConfiguration;)I": [ "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-cancelWps-(Landroid/net/wifi/WifiManager$WpsCallback;)V": [ "android.permission.ACCESS_WIFI_STATE", "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-disableNetwork-(I)Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-disconnect-()Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-enableNetwork-(I Z)Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-getConfiguredNetworks-()Ljava/util/List;": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-getConnectionInfo-()Landroid/net/wifi/WifiInfo;": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-getDhcpInfo-()Landroid/net/DhcpInfo;": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-getScanResults-()Ljava/util/List;": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-getWifiState-()I": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-is5GHzBandSupported-()Z": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-isDeviceToApRttSupported-()Z": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-isEnhancedPowerReportingSupported-()Z": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-isP2pSupported-()Z": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-isPreferredNetworkOffloadSupported-()Z": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-isScanAlwaysAvailable-()Z": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-isTdlsSupported-()Z": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-isWifiEnabled-()Z": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-pingSupplicant-()Z": [ "android.permission.ACCESS_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-reassociate-()Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-reconnect-()Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-removeNetwork-(I)Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-saveConfiguration-()Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-setWifiEnabled-(Z)Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-startScan-()Z": [ "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-startWps-(Landroid/net/wifi/WpsInfo; Landroid/net/wifi/WifiManager$WpsCallback;)V": [ "android.permission.ACCESS_WIFI_STATE", "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/WifiManager;-updateNetwork-(Landroid/net/wifi/WifiConfiguration;)I": [ "android.permission.CHANGE_WIFI_STATE" ], "Landroid/net/wifi/p2p/WifiP2pManager;-initialize-(Landroid/content/Context; Landroid/os/Looper; Landroid/net/wifi/p2p/WifiP2pManager$ChannelListener;)Landroid/net/wifi/p2p/WifiP2pManager$Channel;": [ "android.permission.ACCESS_WIFI_STATE", "android.permission.CHANGE_WIFI_STATE" ], "Landroid/os/PowerManager$WakeLock;-acquire-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/os/PowerManager$WakeLock;-acquire-(J)V": [ "android.permission.WAKE_LOCK" ], "Landroid/os/PowerManager$WakeLock;-release-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/os/PowerManager$WakeLock;-release-(I)V": [ "android.permission.WAKE_LOCK" ], "Landroid/os/PowerManager$WakeLock;-setWorkSource-(Landroid/os/WorkSource;)V": [ "android.permission.WAKE_LOCK" ], "Landroid/os/SystemVibrator;-cancel-()V": [ "android.permission.VIBRATE" ], "Landroid/os/SystemVibrator;-vibrate-(I Ljava/lang/String; [J I Landroid/media/AudioAttributes;)V": [ "android.permission.VIBRATE" ], "Landroid/os/SystemVibrator;-vibrate-(I Ljava/lang/String; J Landroid/media/AudioAttributes;)V": [ "android.permission.VIBRATE" ], "Landroid/security/KeyChain;-getCertificateChain-(Landroid/content/Context; Ljava/lang/String;)[Ljava/security/cert/X509Certificate;": [ "android.permission.BROADCAST_STICKY" ], "Landroid/security/KeyChain;-getPrivateKey-(Landroid/content/Context; Ljava/lang/String;)Ljava/security/PrivateKey;": [ "android.permission.BROADCAST_STICKY" ], "Landroid/service/dreams/DreamService;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/service/dreams/DreamService;-dispatchGenericMotionEvent-(Landroid/view/MotionEvent;)Z": [ "android.permission.BROADCAST_STICKY" ], "Landroid/service/dreams/DreamService;-dispatchKeyEvent-(Landroid/view/KeyEvent;)Z": [ "android.permission.BROADCAST_STICKY" ], "Landroid/service/dreams/DreamService;-dispatchKeyShortcutEvent-(Landroid/view/KeyEvent;)Z": [ "android.permission.BROADCAST_STICKY" ], "Landroid/service/dreams/DreamService;-dispatchTouchEvent-(Landroid/view/MotionEvent;)Z": [ "android.permission.BROADCAST_STICKY" ], "Landroid/service/dreams/DreamService;-dispatchTrackballEvent-(Landroid/view/MotionEvent;)Z": [ "android.permission.BROADCAST_STICKY" ], "Landroid/service/dreams/DreamService;-finish-()V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/service/dreams/DreamService;-onWakeUp-()V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/service/dreams/DreamService;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/service/dreams/DreamService;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/service/dreams/DreamService;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/service/dreams/DreamService;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/service/dreams/DreamService;-stopService-(Landroid/content/Intent;)Z": [ "android.permission.BROADCAST_STICKY" ], "Landroid/service/dreams/DreamService;-unbindService-(Landroid/content/ServiceConnection;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/service/dreams/DreamService;-wakeUp-()V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/service/quicksettings/TileService;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/service/quicksettings/TileService;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/service/quicksettings/TileService;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/service/quicksettings/TileService;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/service/quicksettings/TileService;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/service/quicksettings/TileService;-stopService-(Landroid/content/Intent;)Z": [ "android.permission.BROADCAST_STICKY" ], "Landroid/service/quicksettings/TileService;-unbindService-(Landroid/content/ServiceConnection;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/service/voice/VoiceInteractionService;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/service/voice/VoiceInteractionService;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/service/voice/VoiceInteractionService;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/service/voice/VoiceInteractionService;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/service/voice/VoiceInteractionService;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/service/voice/VoiceInteractionService;-stopService-(Landroid/content/Intent;)Z": [ "android.permission.BROADCAST_STICKY" ], "Landroid/service/voice/VoiceInteractionService;-unbindService-(Landroid/content/ServiceConnection;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/speech/SpeechRecognizer;-destroy-()V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/speech/tts/TextToSpeech;-getAvailableLanguages-()Ljava/util/Set;": [ "android.permission.BROADCAST_STICKY" ], "Landroid/speech/tts/TextToSpeech;-getDefaultLanguage-()Ljava/util/Locale;": [ "android.permission.BROADCAST_STICKY" ], "Landroid/speech/tts/TextToSpeech;-getDefaultVoice-()Landroid/speech/tts/Voice;": [ "android.permission.BROADCAST_STICKY" ], "Landroid/speech/tts/TextToSpeech;-getFeatures-(Ljava/util/Locale;)Ljava/util/Set;": [ "android.permission.BROADCAST_STICKY" ], "Landroid/speech/tts/TextToSpeech;-getLanguage-()Ljava/util/Locale;": [ "android.permission.BROADCAST_STICKY" ], "Landroid/speech/tts/TextToSpeech;-getVoice-()Landroid/speech/tts/Voice;": [ "android.permission.BROADCAST_STICKY" ], "Landroid/speech/tts/TextToSpeech;-getVoices-()Ljava/util/Set;": [ "android.permission.BROADCAST_STICKY" ], "Landroid/speech/tts/TextToSpeech;-isLanguageAvailable-(Ljava/util/Locale;)I": [ "android.permission.BROADCAST_STICKY" ], "Landroid/speech/tts/TextToSpeech;-isSpeaking-()Z": [ "android.permission.BROADCAST_STICKY" ], "Landroid/speech/tts/TextToSpeech;-playEarcon-(Ljava/lang/String; I Landroid/os/Bundle; Ljava/lang/String;)I": [ "android.permission.BROADCAST_STICKY" ], "Landroid/speech/tts/TextToSpeech;-playEarcon-(Ljava/lang/String; I Ljava/util/HashMap;)I": [ "android.permission.BROADCAST_STICKY" ], "Landroid/speech/tts/TextToSpeech;-playSilence-(J I Ljava/util/HashMap;)I": [ "android.permission.BROADCAST_STICKY" ], "Landroid/speech/tts/TextToSpeech;-playSilentUtterance-(J I Ljava/lang/String;)I": [ "android.permission.BROADCAST_STICKY" ], "Landroid/speech/tts/TextToSpeech;-setLanguage-(Ljava/util/Locale;)I": [ "android.permission.BROADCAST_STICKY" ], "Landroid/speech/tts/TextToSpeech;-setVoice-(Landroid/speech/tts/Voice;)I": [ "android.permission.BROADCAST_STICKY" ], "Landroid/speech/tts/TextToSpeech;-shutdown-()V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/speech/tts/TextToSpeech;-speak-(Ljava/lang/CharSequence; I Landroid/os/Bundle; Ljava/lang/String;)I": [ "android.permission.BROADCAST_STICKY" ], "Landroid/speech/tts/TextToSpeech;-speak-(Ljava/lang/String; I Ljava/util/HashMap;)I": [ "android.permission.BROADCAST_STICKY" ], "Landroid/speech/tts/TextToSpeech;-stop-()I": [ "android.permission.BROADCAST_STICKY" ], "Landroid/speech/tts/TextToSpeech;-synthesizeToFile-(Ljava/lang/CharSequence; Landroid/os/Bundle; Ljava/io/File; Ljava/lang/String;)I": [ "android.permission.BROADCAST_STICKY" ], "Landroid/speech/tts/TextToSpeech;-synthesizeToFile-(Ljava/lang/String; Ljava/util/HashMap; Ljava/lang/String;)I": [ "android.permission.BROADCAST_STICKY" ], "Landroid/telephony/PhoneNumberUtils;-isVoiceMailNumber-(Ljava/lang/String;)Z": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/telephony/SmsManager;-divideMessage-(Ljava/lang/String;)Ljava/util/ArrayList;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/telephony/SmsManager;-downloadMultimediaMessage-(Landroid/content/Context; Ljava/lang/String; Landroid/net/Uri; Landroid/os/Bundle; Landroid/app/PendingIntent;)V": [ "android.permission.RECEIVE_MMS" ], "Landroid/telephony/SmsManager;-injectSmsPdu-([B Ljava/lang/String; Landroid/app/PendingIntent;)V": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/telephony/SmsManager;-sendDataMessage-(Ljava/lang/String; Ljava/lang/String; S [B Landroid/app/PendingIntent; Landroid/app/PendingIntent;)V": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.READ_EXTERNAL_STORAGE", "android.permission.SEND_SMS" ], "Landroid/telephony/SmsManager;-sendMultimediaMessage-(Landroid/content/Context; Landroid/net/Uri; Ljava/lang/String; Landroid/os/Bundle; Landroid/app/PendingIntent;)V": [ "android.permission.SEND_SMS" ], "Landroid/telephony/SmsManager;-sendMultipartTextMessage-(Ljava/lang/String; Ljava/lang/String; Ljava/util/ArrayList; Ljava/util/ArrayList; Ljava/util/ArrayList;)V": [ "android.permission.READ_EXTERNAL_STORAGE", "android.permission.SEND_SMS" ], "Landroid/telephony/SmsManager;-sendTextMessage-(Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Landroid/app/PendingIntent; Landroid/app/PendingIntent;)V": [ "android.permission.READ_EXTERNAL_STORAGE", "android.permission.SEND_SMS" ], "Landroid/telephony/TelephonyManager;-getAllCellInfo-()Ljava/util/List;": [ "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/telephony/TelephonyManager;-getCellLocation-()Landroid/telephony/CellLocation;": [ "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/telephony/TelephonyManager;-getDeviceId-(I)Ljava/lang/String;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/telephony/TelephonyManager;-getGroupIdLevel1-()Ljava/lang/String;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/telephony/TelephonyManager;-getIccAuthentication-(I I Ljava/lang/String;)Ljava/lang/String;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/telephony/TelephonyManager;-getLine1Number-()Ljava/lang/String;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/telephony/TelephonyManager;-getNeighboringCellInfo-()Ljava/util/List;": [ "android.permission.ACCESS_FINE_LOCATION" ], "Landroid/telephony/TelephonyManager;-getPhoneCount-()I": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/telephony/TelephonyManager;-getSimSerialNumber-()Ljava/lang/String;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/telephony/TelephonyManager;-getSimState-()I": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/telephony/TelephonyManager;-getSubscriberId-()Ljava/lang/String;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/telephony/TelephonyManager;-getVoiceMailAlphaTag-()Ljava/lang/String;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/telephony/TelephonyManager;-getVoiceMailNumber-()Ljava/lang/String;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/telephony/TelephonyManager;-listen-(Landroid/telephony/PhoneStateListener; I)V": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.READ_PHONE_STATE" ], "Landroid/telephony/gsm/SmsManager;-divideMessage-(Ljava/lang/String;)Ljava/util/ArrayList;": [ "android.permission.ACCESS_NETWORK_STATE" ], "Landroid/telephony/gsm/SmsManager;-sendDataMessage-(Ljava/lang/String; Ljava/lang/String; S [B Landroid/app/PendingIntent; Landroid/app/PendingIntent;)V": [ "android.permission.ACCESS_NETWORK_STATE", "android.permission.READ_EXTERNAL_STORAGE", "android.permission.SEND_SMS" ], "Landroid/telephony/gsm/SmsManager;-sendMultipartTextMessage-(Ljava/lang/String; Ljava/lang/String; Ljava/util/ArrayList; Ljava/util/ArrayList; Ljava/util/ArrayList;)V": [ "android.permission.READ_EXTERNAL_STORAGE", "android.permission.SEND_SMS" ], "Landroid/telephony/gsm/SmsManager;-sendTextMessage-(Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Landroid/app/PendingIntent; Landroid/app/PendingIntent;)V": [ "android.permission.READ_EXTERNAL_STORAGE", "android.permission.SEND_SMS" ], "Landroid/test/IsolatedContext;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/test/IsolatedContext;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/test/IsolatedContext;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/test/IsolatedContext;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/test/IsolatedContext;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/test/IsolatedContext;-stopService-(Landroid/content/Intent;)Z": [ "android.permission.BROADCAST_STICKY" ], "Landroid/test/IsolatedContext;-unbindService-(Landroid/content/ServiceConnection;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/test/RenamingDelegatingContext;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/test/RenamingDelegatingContext;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/test/RenamingDelegatingContext;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/test/RenamingDelegatingContext;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/test/RenamingDelegatingContext;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/test/RenamingDelegatingContext;-stopService-(Landroid/content/Intent;)Z": [ "android.permission.BROADCAST_STICKY" ], "Landroid/test/RenamingDelegatingContext;-unbindService-(Landroid/content/ServiceConnection;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/test/mock/MockApplication;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/test/mock/MockApplication;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/test/mock/MockApplication;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/test/mock/MockApplication;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/test/mock/MockApplication;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/test/mock/MockApplication;-stopService-(Landroid/content/Intent;)Z": [ "android.permission.BROADCAST_STICKY" ], "Landroid/test/mock/MockApplication;-unbindService-(Landroid/content/ServiceConnection;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/view/ContextThemeWrapper;-clearWallpaper-()V": [ "android.permission.SET_WALLPAPER" ], "Landroid/view/ContextThemeWrapper;-removeStickyBroadcast-(Landroid/content/Intent;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/view/ContextThemeWrapper;-removeStickyBroadcastAsUser-(Landroid/content/Intent; Landroid/os/UserHandle;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/view/ContextThemeWrapper;-setWallpaper-(Landroid/graphics/Bitmap;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/view/ContextThemeWrapper;-setWallpaper-(Ljava/io/InputStream;)V": [ "android.permission.SET_WALLPAPER" ], "Landroid/view/ContextThemeWrapper;-stopService-(Landroid/content/Intent;)Z": [ "android.permission.BROADCAST_STICKY" ], "Landroid/view/ContextThemeWrapper;-unbindService-(Landroid/content/ServiceConnection;)V": [ "android.permission.BROADCAST_STICKY" ], "Landroid/view/inputmethod/InputMethodManager;-showInputMethodAndSubtypeEnabler-(Ljava/lang/String;)V": [ "android.permission.READ_EXTERNAL_STORAGE" ], "Landroid/widget/VideoView;-getAudioSessionId-()I": [ "android.permission.WAKE_LOCK" ], "Landroid/widget/VideoView;-onKeyDown-(I Landroid/view/KeyEvent;)Z": [ "android.permission.WAKE_LOCK" ], "Landroid/widget/VideoView;-pause-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/widget/VideoView;-resume-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/widget/VideoView;-setVideoPath-(Ljava/lang/String;)V": [ "android.permission.WAKE_LOCK" ], "Landroid/widget/VideoView;-setVideoURI-(Landroid/net/Uri;)V": [ "android.permission.WAKE_LOCK" ], "Landroid/widget/VideoView;-setVideoURI-(Landroid/net/Uri; Ljava/util/Map;)V": [ "android.permission.WAKE_LOCK" ], "Landroid/widget/VideoView;-start-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/widget/VideoView;-stopPlayback-()V": [ "android.permission.WAKE_LOCK" ], "Landroid/widget/VideoView;-suspend-()V": [ "android.permission.WAKE_LOCK" ] }androguard-3.1.0-rc2/androguard/core/bytecode.py000066400000000000000000000610341324327352200215620ustar00rootroot00000000000000from __future__ import print_function from __future__ import absolute_import from builtins import str from builtins import range from builtins import object import hashlib from xml.sax.saxutils import escape from struct import unpack, pack import textwrap import json from .androconf import CONF, enable_colors, remove_colors, save_colors, color_range import logging log = logging.getLogger("androguard.bytecode") def disable_print_colors(): colors = save_colors() remove_colors() return colors def enable_print_colors(colors): enable_colors(colors) # Handle exit message def Exit(msg): log.warning("Error : " + msg) raise Exception("oops") def _PrintBanner(): print_fct = CONF["PRINT_FCT"] print_fct("*" * 75 + "\n") def _PrintSubBanner(title=None): print_fct = CONF["PRINT_FCT"] if title is None: print_fct("#" * 20 + "\n") else: print_fct("#" * 10 + " " + title + "\n") def _PrintNote(note, tab=0): print_fct = CONF["PRINT_FCT"] note_color = CONF["COLORS"]["NOTE"] normal_color = CONF["COLORS"]["NORMAL"] print_fct("\t" * tab + "%s# %s%s" % (note_color, note, normal_color) + "\n") # Print arg into a correct format def _Print(name, arg): buff = name + " " if type(arg).__name__ == 'int': buff += "0x%x" % arg elif type(arg).__name__ == 'long': buff += "0x%x" % arg elif type(arg).__name__ == 'str': buff += "%s" % arg elif isinstance(arg, SV): buff += "0x%x" % arg.get_value() elif isinstance(arg, SVs): buff += arg.get_value().__str__() print(buff) def PrettyShowEx(exceptions): if len(exceptions) > 0: CONF["PRINT_FCT"]("Exceptions:\n") for i in exceptions: CONF["PRINT_FCT"]("\t%s%s%s\n" % (CONF["COLORS"]["EXCEPTION"], i.show_buff(), CONF["COLORS"]["NORMAL"])) def _PrintXRef(tag, items): print_fct = CONF["PRINT_FCT"] for i in items: print_fct("%s: %s %s %s %s\n" % (tag, i[0].get_class_name(), i[0].get_name(), i[0].get_descriptor(), ' '.join("%x" % j.get_idx() for j in i[1]))) def _PrintDRef(tag, items): print_fct = CONF["PRINT_FCT"] for i in items: print_fct("%s: %s %s %s %s\n" % (tag, i[0].get_class_name(), i[0].get_name(), i[0].get_descriptor(), ' '.join("%x" % j for j in i[1]))) def _PrintDefault(msg): print_fct = CONF["PRINT_FCT"] print_fct(msg) def PrettyShow(m_a, basic_blocks, notes={}): idx = 0 nb = 0 offset_color = CONF["COLORS"]["OFFSET"] offset_addr_color = CONF["COLORS"]["OFFSET_ADDR"] instruction_name_color = CONF["COLORS"]["INSTRUCTION_NAME"] branch_false_color = CONF["COLORS"]["BRANCH_FALSE"] branch_true_color = CONF["COLORS"]["BRANCH_TRUE"] branch_color = CONF["COLORS"]["BRANCH"] exception_color = CONF["COLORS"]["EXCEPTION"] bb_color = CONF["COLORS"]["BB"] normal_color = CONF["COLORS"]["NORMAL"] print_fct = CONF["PRINT_FCT"] colors = CONF["COLORS"]["OUTPUT"] for i in basic_blocks: print_fct("%s%s%s : \n" % (bb_color, i.get_name(), normal_color)) instructions = list(i.get_instructions()) for ins in instructions: if nb in notes: for note in notes[nb]: _PrintNote(note, 1) print_fct("\t%s%-3d%s(%s%08x%s) " % (offset_color, nb, normal_color, offset_addr_color, idx, normal_color)) print_fct("%s%-20s%s" % (instruction_name_color, ins.get_name(), normal_color)) operands = ins.get_operands() print_fct( "%s" % ", ".join(m_a.get_vm().colorize_operands(operands, colors))) op_value = ins.get_op_value() if ins == instructions[-1] and i.childs: print_fct(" ") # packed/sparse-switch if (op_value == 0x2b or op_value == 0x2c) and len(i.childs) > 1: values = i.get_special_ins(idx).get_values() print_fct("%s[ D:%s%s " % (branch_false_color, i.childs[0][2].get_name(), branch_color)) print_fct(' '.join("%d:%s" % ( values[j], i.childs[j + 1][2].get_name()) for j in range(0, len(i.childs) - 1)) + " ]%s" % normal_color) else: if len(i.childs) == 2: print_fct("%s[ %s%s " % (branch_false_color, i.childs[0][2].get_name(), branch_true_color)) print_fct(' '.join("%s" % c[2].get_name( ) for c in i.childs[1:]) + " ]%s" % normal_color) else: print_fct("%s[ " % branch_color + ' '.join( "%s" % c[2].get_name() for c in i.childs) + " ]%s" % normal_color) idx += ins.get_length() nb += 1 print_fct("\n") if i.get_exception_analysis(): print_fct("\t%s%s%s\n" % (exception_color, i.exception_analysis.show_buff(), normal_color)) print_fct("\n") def method2dot(mx, colors={}): """ Export analysis method to dot format @param mx : MethodAnalysis object @param colors : MethodAnalysis object @rtype : dot format buffer (it is a subgraph (dict)) """ colors = colors or { "true_branch": "green", "false_branch": "red", "default_branch": "purple", "jump_branch": "blue", "bg_idx": "lightgray", "idx": "blue", "bg_start_idx": "yellow", "bg_instruction": "lightgray", "instruction_name": "black", "instructions_operands": "yellow", "raw": "red", "string": "red", "literal": "green", "offset": "#4000FF", "method": "#DF3A01", "field": "#088A08", "type": "#0000FF", "registers_range": ("#999933", "#6666FF") } node_tpl = "\nstruct_%s [label=<\n\n%s
>];\n" label_tpl = " %x %s %s \n" link_tpl = "\n" edges_html = "" blocks_html = "" method = mx.get_method() sha256 = hashlib.sha256(bytearray("%s%s%s" % ( mx.get_method().get_class_name(), mx.get_method().get_name(), mx.get_method().get_descriptor()), "UTF-8")).hexdigest() registers = {} if method.get_code(): for DVMBasicMethodBlock in mx.basic_blocks.gets(): for DVMBasicMethodBlockInstruction in DVMBasicMethodBlock.get_instructions(): operands = DVMBasicMethodBlockInstruction.get_operands(0) for register in operands: if register[0] == 0: if register[1] not in registers: registers[register[1]] = 0 registers[register[1]] += 1 # for i in range(method.get_code().get_registers_size()): # registers[i] = 0 if registers: registers_colors = color_range(colors["registers_range"][0], colors["registers_range"][1], len(registers)) for i in registers: registers[i] = registers_colors.pop(0) new_links = [] for DVMBasicMethodBlock in mx.basic_blocks.gets(): ins_idx = DVMBasicMethodBlock.start block_id = hashlib.md5(bytearray(sha256 + DVMBasicMethodBlock.get_name( ), "UTF-8")).hexdigest() content = link_tpl % 'header' for DVMBasicMethodBlockInstruction in DVMBasicMethodBlock.get_instructions(): if DVMBasicMethodBlockInstruction.get_op_value( ) == 0x2b or DVMBasicMethodBlockInstruction.get_op_value() == 0x2c: new_links.append((DVMBasicMethodBlock, ins_idx, DVMBasicMethodBlockInstruction.get_ref_off( ) * 2 + ins_idx)) elif DVMBasicMethodBlockInstruction.get_op_value() == 0x26: new_links.append((DVMBasicMethodBlock, ins_idx, DVMBasicMethodBlockInstruction.get_ref_off( ) * 2 + ins_idx)) operands = DVMBasicMethodBlockInstruction.get_operands(ins_idx) output = ", ".join(mx.get_vm().get_operand_html( i, registers, colors, escape, textwrap.wrap) for i in operands) formatted_operands = DVMBasicMethodBlockInstruction.get_formatted_operands( ) if formatted_operands: output += " ; %s" % str(formatted_operands) bg_idx = colors["bg_idx"] if ins_idx == 0 and "bg_start_idx" in colors: bg_idx = colors["bg_start_idx"] content += label_tpl % ( bg_idx, colors["idx"], ins_idx, colors["bg_instruction"], colors["instruction_name"], DVMBasicMethodBlockInstruction.get_name(), output) ins_idx += DVMBasicMethodBlockInstruction.get_length() last_instru = DVMBasicMethodBlockInstruction # all blocks from one method parsed # updating dot HTML content content += link_tpl % 'tail' blocks_html += node_tpl % (block_id, content) # Block edges color treatment (conditional branchs colors) val = colors["true_branch"] if len(DVMBasicMethodBlock.childs) > 1: val = colors["false_branch"] elif len(DVMBasicMethodBlock.childs) == 1: val = colors["jump_branch"] values = None if (last_instru.get_op_value() == 0x2b or last_instru.get_op_value() == 0x2c ) and len(DVMBasicMethodBlock.childs) > 1: val = colors["default_branch"] values = ["default"] values.extend(DVMBasicMethodBlock.get_special_ins( ins_idx - last_instru.get_length()).get_values()) # updating dot edges for DVMBasicMethodBlockChild in DVMBasicMethodBlock.childs: label_edge = "" if values: label_edge = values.pop(0) child_id = hashlib.md5( bytearray(sha256 + DVMBasicMethodBlockChild[-1].get_name(), "UTF-8")).hexdigest() edges_html += "struct_%s:tail -> struct_%s:header [color=\"%s\", label=\"%s\"];\n" % ( block_id, child_id, val, label_edge) # color switch if val == colors["false_branch"]: val = colors["true_branch"] elif val == colors["default_branch"]: val = colors["true_branch"] exception_analysis = DVMBasicMethodBlock.get_exception_analysis() if exception_analysis: for exception_elem in exception_analysis.exceptions: exception_block = exception_elem[-1] if exception_block: exception_id = hashlib.md5( bytearray(sha256 + exception_block.get_name(), "UTF-8")).hexdigest() edges_html += "struct_%s:tail -> struct_%s:header [color=\"%s\", label=\"%s\"];\n" % ( block_id, exception_id, "black", exception_elem[0]) for link in new_links: DVMBasicMethodBlock = link[0] DVMBasicMethodBlockChild = mx.basic_blocks.get_basic_block(link[2]) if DVMBasicMethodBlockChild: block_id = hashlib.md5(bytearray(sha256 + DVMBasicMethodBlock.get_name( ), "UTF-8")).hexdigest() child_id = hashlib.md5(bytearray(sha256 + DVMBasicMethodBlockChild.get_name( ), "UTF-8")).hexdigest() edges_html += "struct_%s:tail -> struct_%s:header [color=\"%s\", label=\"data(0x%x) to @0x%x\", style=\"dashed\"];\n" % ( block_id, child_id, "yellow", link[1], link[2]) method_label = method.get_class_name() + "." + method.get_name( ) + "->" + method.get_descriptor() method_information = method.get_information() if method_information: method_label += "\\nLocal registers v%d ... v%d" % ( method_information["registers"][0], method_information["registers"][1]) if "params" in method_information: for register, rtype in method_information["params"]: method_label += "\\nparam v%d = %s" % (register, rtype) method_label += "\\nreturn = %s" % (method_information["return"]) return {'name': method_label, 'nodes': blocks_html, 'edges': edges_html} def method2format(output, _format="png", mx=None, raw=None): """ Export method to a specific file format @param output : output filename @param _format : format type (png, jpg ...) (default : png) @param mx : specify the MethodAnalysis object @param raw : use directly a dot raw buffer if None """ # pydot is optional! import pydot buff = "digraph {\n" buff += "graph [rankdir=TB]\n" buff += "node [shape=plaintext]\n" if raw: data = raw else: data = method2dot(mx) # subgraphs cluster buff += "subgraph cluster_" + hashlib.md5(bytearray(output, "UTF-8")).hexdigest( ) + " {\nlabel=\"%s\"\n" % data['name'] buff += data['nodes'] buff += "}\n" # subgraphs edges buff += data['edges'] buff += "}\n" d = pydot.graph_from_dot_data(buff.encode("UTF-8")) if d: getattr(d, "write_" + _format.lower())(output) def method2png(output, mx, raw=False): """ Export method to a png file format :param output: output filename :type output: string :param mx: specify the MethodAnalysis object :type mx: :class:`MethodAnalysis` object :param raw: use directly a dot raw buffer :type raw: string """ buff = raw if not raw: buff = method2dot(mx) method2format(output, "png", mx, buff) def method2jpg(output, mx, raw=False): """ Export method to a jpg file format :param output: output filename :type output: string :param mx: specify the MethodAnalysis object :type mx: :class:`MethodAnalysis` object :param raw: use directly a dot raw buffer (optional) :type raw: string """ buff = raw if not raw: buff = method2dot(mx) method2format(output, "jpg", mx, buff) def vm2json(vm): d = {"name": "root", "children": []} for _class in vm.get_classes(): c_class = {"name": _class.get_name(), "children": []} for method in _class.get_methods(): c_method = {"name": method.get_name(), "children": []} c_class["children"].append(c_method) d["children"].append(c_class) return json.dumps(d) class TmpBlock(object): def __init__(self, name): self.name = name def get_name(self): return self.name def method2json(mx, directed_graph=False): if directed_graph: return method2json_direct(mx) return method2json_undirect(mx) def method2json_undirect(mx): d = {} reports = [] d["reports"] = reports for DVMBasicMethodBlock in mx.basic_blocks.gets(): cblock = {"BasicBlockId": DVMBasicMethodBlock.get_name(), "registers": mx.get_method().get_code().get_registers_size(), "instructions": []} ins_idx = DVMBasicMethodBlock.start for DVMBasicMethodBlockInstruction in DVMBasicMethodBlock.get_instructions(): c_ins = {"idx": ins_idx, "name": DVMBasicMethodBlockInstruction.get_name(), "operands": DVMBasicMethodBlockInstruction.get_operands( ins_idx)} cblock["instructions"].append(c_ins) ins_idx += DVMBasicMethodBlockInstruction.get_length() cblock["Edge"] = [] for DVMBasicMethodBlockChild in DVMBasicMethodBlock.childs: cblock["Edge"].append(DVMBasicMethodBlockChild[-1].get_name()) reports.append(cblock) return json.dumps(d) def method2json_direct(mx): d = {} reports = [] d["reports"] = reports hooks = {} l = [] for DVMBasicMethodBlock in mx.basic_blocks.gets(): for index, DVMBasicMethodBlockChild in enumerate( DVMBasicMethodBlock.childs): if DVMBasicMethodBlock.get_name( ) == DVMBasicMethodBlockChild[-1].get_name(): preblock = TmpBlock(DVMBasicMethodBlock.get_name() + "-pre") cnblock = {"BasicBlockId": DVMBasicMethodBlock.get_name() + "-pre", "start": DVMBasicMethodBlock.start, "notes": [], "Edge": [DVMBasicMethodBlock.get_name()], "registers": 0, "instructions": [], "info_bb": 0} l.append(cnblock) for parent in DVMBasicMethodBlock.fathers: hooks[parent[-1].get_name()] = [] hooks[parent[-1].get_name()].append(preblock) for idx, child in enumerate(parent[-1].childs): if child[-1].get_name() == DVMBasicMethodBlock.get_name( ): hooks[parent[-1].get_name()].append(child[-1]) for DVMBasicMethodBlock in mx.basic_blocks.gets(): cblock = {"BasicBlockId": DVMBasicMethodBlock.get_name(), "start": DVMBasicMethodBlock.start, "notes": DVMBasicMethodBlock.get_notes(), "registers": mx.get_method().get_code().get_registers_size(), "instructions": []} ins_idx = DVMBasicMethodBlock.start last_instru = None for DVMBasicMethodBlockInstruction in DVMBasicMethodBlock.get_instructions(): c_ins = {"idx": ins_idx, "name": DVMBasicMethodBlockInstruction.get_name(), "operands": DVMBasicMethodBlockInstruction.get_operands(ins_idx), "formatted_operands": DVMBasicMethodBlockInstruction.get_formatted_operands()} cblock["instructions"].append(c_ins) if (DVMBasicMethodBlockInstruction.get_op_value() == 0x2b or DVMBasicMethodBlockInstruction.get_op_value() == 0x2c): values = DVMBasicMethodBlock.get_special_ins(ins_idx) cblock["info_next"] = values.get_values() ins_idx += DVMBasicMethodBlockInstruction.get_length() last_instru = DVMBasicMethodBlockInstruction cblock["info_bb"] = 0 if DVMBasicMethodBlock.childs: if len(DVMBasicMethodBlock.childs) > 1: cblock["info_bb"] = 1 if (last_instru.get_op_value() == 0x2b or last_instru.get_op_value() == 0x2c): cblock["info_bb"] = 2 cblock["Edge"] = [] for DVMBasicMethodBlockChild in DVMBasicMethodBlock.childs: ok = False if DVMBasicMethodBlock.get_name() in hooks: if DVMBasicMethodBlockChild[-1] in hooks[ DVMBasicMethodBlock.get_name() ]: ok = True cblock["Edge"].append(hooks[DVMBasicMethodBlock.get_name( )][0].get_name()) if not ok: cblock["Edge"].append(DVMBasicMethodBlockChild[-1].get_name()) exception_analysis = DVMBasicMethodBlock.get_exception_analysis() if exception_analysis: cblock["Exceptions"] = exception_analysis.get() reports.append(cblock) reports.extend(l) return json.dumps(d) class SV(object): def __init__(self, size, buff): self.__size = size self.__value = unpack(self.__size, buff)[0] def _get(self): return pack(self.__size, self.__value) def __str__(self): return "0x%x" % self.__value def __int__(self): return self.__value def get_value_buff(self): return self._get() def get_value(self): return self.__value def set_value(self, attr): self.__value = attr class SVs(object): def __init__(self, size, ntuple, buff): self.__size = size self.__value = ntuple._make(unpack(self.__size, buff)) def _get(self): l = [] for i in self.__value._fields: l.append(getattr(self.__value, i)) return pack(self.__size, *l) def _export(self): return [x for x in self.__value._fields] def get_value_buff(self): return self._get() def get_value(self): return self.__value def set_value(self, attr): self.__value = self.__value._replace(**attr) def __str__(self): return self.__value.__str__() def object_to_bytes(obj): """ Convert a object to a bytearray or call get_raw() of the object if no useful type was found. """ if isinstance(obj, str): return bytearray(obj, "UTF-8") elif isinstance(obj, bool): return bytearray() elif isinstance(obj, int): return pack("= len(self.__buff) class Buff(object): def __init__(self, offset, buff): self.offset = offset self.buff = buff self.size = len(buff) class _Bytecode(object): def __init__(self, buff): self.__buff = bytearray(buff) self.__idx = 0 def __getitem__(self, item): return self.__buff[item] def __len__(self): return len(self.__buff) def read(self, size): if isinstance(size, SV): size = size.value buff = self.__buff[self.__idx:self.__idx + size] self.__idx += size return buff def readat(self, off): if isinstance(off, SV): off = off.value return self.__buff[off:] def read_b(self, size): return self.__buff[self.__idx:self.__idx + size] def set_idx(self, idx): self.__idx = idx def get_idx(self): return self.__idx def add_idx(self, idx): self.__idx += idx def register(self, type_register, fct): self.__registers[type_register].append(fct) def get_buff(self): return self.__buff def length_buff(self): return len(self.__buff) def set_buff(self, buff): self.__buff = buff def save(self, filename): buff = self._save() with open(filename, "wb") as fd: fd.write(buff) def FormatClassToJava(i): """ Transform a typical xml format class into java format :param i: the input class name :rtype: string """ return "L" + i.replace(".", "/") + ";" def FormatClassToPython(i): i = i[:-1] i = i.replace("/", "_") i = i.replace("$", "_") return i def FormatNameToPython(i): i = i.replace("<", "") i = i.replace(">", "") i = i.replace("$", "_") return i def FormatDescriptorToPython(i): i = i.replace("/", "_") i = i.replace(";", "") i = i.replace("[", "") i = i.replace("(", "") i = i.replace(")", "") i = i.replace(" ", "") i = i.replace("$", "") return i class Node(object): def __init__(self, n, s): self.id = n self.title = s self.children = [] androguard-3.1.0-rc2/androguard/core/bytecodes/000077500000000000000000000000001324327352200213675ustar00rootroot00000000000000androguard-3.1.0-rc2/androguard/core/bytecodes/__init__.py000066400000000000000000000000001324327352200234660ustar00rootroot00000000000000androguard-3.1.0-rc2/androguard/core/bytecodes/apk.py000066400000000000000000001257761324327352200225360ustar00rootroot00000000000000from __future__ import division from __future__ import print_function from future import standard_library standard_library.install_aliases() from builtins import str from builtins import object from androguard.core import androconf from androguard.util import read, get_certificate_name_string from androguard.core.bytecodes.axml import ARSCParser, AXMLPrinter, ARSCResTableConfig import io from zlib import crc32 import re import binascii import zipfile import logging from struct import unpack import lxml.sax from xml.dom.pulldom import SAX2DOM # Used for reading Certificates from pyasn1.codec.der.decoder import decode from pyasn1.codec.der.encoder import encode from cryptography import x509 from cryptography.hazmat.backends import default_backend from cryptography.hazmat.primitives import hashes NS_ANDROID_URI = 'http://schemas.android.com/apk/res/android' NS_ANDROID = '{http://schemas.android.com/apk/res/android}' log = logging.getLogger("androguard.apk") def parse_lxml_dom(tree): handler = SAX2DOM() lxml.sax.saxify(tree, handler) return handler.document class Error(Exception): """Base class for exceptions in this module.""" pass class FileNotPresent(Error): pass class BrokenAPKError(Error): pass class APK(object): # Constants in ZipFile PK_END_OF_CENTRAL_DIR = b"\x50\x4b\x05\x06" PK_CENTRAL_DIR = b"\x50\x4b\x01\x02" # Constants in the APK Signature Block APK_SIG_MAGIC = b"APK Sig Block 42" APK_SIG_KEY_SIGNATURE = 0x7109871a def __init__(self, filename, raw=False, magic_file=None, skip_analysis=False, testzip=False): """ This class can access to all elements in an APK file :param filename: specify the path of the file, or raw data :param raw: specify if the filename is a path or raw data (optional) :param magic_file: specify the magic file (optional) :param skip_analysis: Skip the analysis, e.g. no manifest files are read. (default: False) :param testzip: Test the APK for integrity, e.g. if the ZIP file is broken. Throw an exception on failure (default False) :type filename: string :type raw: boolean :type magic_file: string :type skip_analysis: boolean :type testzip: boolean :Example: APK("myfile.apk") APK(read("myfile.apk"), raw=True) """ self.filename = filename self.xml = {} self.axml = {} self.arsc = {} self.package = "" self.androidversion = {} self.permissions = [] self.uses_permissions = [] self.declared_permissions = {} self.valid_apk = False self._is_signed_v2 = None self._v2_blocks = {} self._files = {} self.files_crc32 = {} self.magic_file = magic_file if raw is True: self.__raw = bytearray(filename) else: self.__raw = bytearray(read(filename)) self.zip = zipfile.ZipFile(io.BytesIO(self.__raw), mode="r") if testzip: # Test the zipfile for integrity before continuing. # This process might be slow, as the whole file is read. # Therefore it is possible to enable it as a separate feature. # # A short benchmark showed, that testing the zip takes about 10 times longer! # e.g. normal zip loading (skip_analysis=True) takes about 0.01s, where # testzip takes 0.1s! ret = self.zip.testzip() if ret is not None: # we could print the filename here, but there are zip which are so broken # That the filename is either very very long or does not make any sense. # Thus we do not do it, the user might find out by using other tools. raise BrokenAPKError("The APK is probably broken: testzip returned an error.") if not skip_analysis: self._apk_analysis() def _apk_analysis(self): """ Run analysis on the APK file. This method is usually called by __init__ except if skip_analysis is False. It will then parse the AndroidManifest.xml and set all fields in the APK class which can be extracted from the Manifest. """ for i in self.zip.namelist(): if i == "AndroidManifest.xml": self.axml[i] = AXMLPrinter(self.zip.read(i)) self.xml[i] = None raw_xml = self.axml[i].get_buff() if len(raw_xml) == 0: log.warning("AXML parsing failed, file is empty") else: try: if self.axml[i].is_packed(): log.warning("XML Seems to be packed, parsing is very likely to fail.") self.xml[i] = self.axml[i].get_xml_obj() except Exception as e: log.warning("reading AXML as XML failed: " + str(e)) if self.xml[i] is not None: self.package = self.xml[i].get("package") self.androidversion["Code"] = self.xml[i].get( NS_ANDROID + "versionCode") self.androidversion["Name"] = self.xml[i].get( NS_ANDROID + "versionName") for item in self.xml[i].findall('uses-permission'): name = item.get(NS_ANDROID + "name") self.permissions.append(name) maxSdkVersion = None try: maxSdkVersion = int(item.get(NS_ANDROID + 'maxSdkVersion')) except ValueError: log.warning(item.get(NS_ANDROID + 'maxSdkVersion') + 'is not a valid value for maxSdkVersion') except TypeError: pass self.uses_permissions.append([name, maxSdkVersion]) # getting details of the declared permissions for d_perm_item in self.xml[i].findall('permission'): d_perm_name = self._get_res_string_value(str( d_perm_item.get(NS_ANDROID + "name"))) d_perm_label = self._get_res_string_value(str( d_perm_item.get(NS_ANDROID + "label"))) d_perm_description = self._get_res_string_value(str( d_perm_item.get(NS_ANDROID + "description"))) d_perm_permissionGroup = self._get_res_string_value(str( d_perm_item.get(NS_ANDROID + "permissionGroup"))) d_perm_protectionLevel = self._get_res_string_value(str( d_perm_item.get(NS_ANDROID + "protectionLevel"))) d_perm_details = { "label": d_perm_label, "description": d_perm_description, "permissionGroup": d_perm_permissionGroup, "protectionLevel": d_perm_protectionLevel, } self.declared_permissions[d_perm_name] = d_perm_details self.valid_apk = True self.permission_module = androconf.load_api_specific_resource_module( "aosp_permissions", self.get_target_sdk_version()) def __getstate__(self): """ Function for pickling APK Objects. We remove the zip from the Object, as it is not pickable And it does not make any sense to pickle it anyways. :return: the picklable APK Object without zip. """ # Upon pickling, we need to remove the ZipFile x = self.__dict__ x['axml'] = str(x['axml']) x['xml'] = str(x['xml']) del x['zip'] return x def __setstate__(self, state): """ Load a pickled APK Object and restore the state We load the zip file back by reading __raw from the Object. :param state: pickled state """ self.__dict__ = state self.zip = zipfile.ZipFile(io.BytesIO(self.__raw), mode="r") def _get_res_string_value(self, string): if not string.startswith('@string/'): return string string_key = string[9:] res_parser = self.get_android_resources() string_value = '' for package_name in res_parser.get_packages_names(): extracted_values = res_parser.get_string(package_name, string_key) if extracted_values: string_value = extracted_values[1] break return string_value def is_valid_APK(self): """ Return true if the APK is valid, false otherwise :rtype: boolean """ return self.valid_apk def get_filename(self): """ Return the filename of the APK :rtype: string """ return self.filename def get_app_name(self): """ Return the appname of the APK :rtype: string """ main_activity_name = self.get_main_activity() app_name = self.get_element('activity', 'label', name=main_activity_name) if not app_name: app_name = self.get_element('application', 'label') if app_name is None: # No App name set # TODO return packagename instead? return "" if app_name.startswith("@"): res_id = int(app_name[1:], 16) res_parser = self.get_android_resources() try: app_name = res_parser.get_resolved_res_configs( res_id, ARSCResTableConfig.default_config())[0][1] except Exception as e: log.warning("Exception selecting app name: %s" % e) app_name = "" return app_name def get_app_icon(self, max_dpi=65536): """ Return the first non-greater density than max_dpi icon file name, unless exact icon resolution is set in the manifest, in which case return the exact file From https://developer.android.com/guide/practices/screens_support.html ldpi (low) ~120dpi mdpi (medium) ~160dpi hdpi (high) ~240dpi xhdpi (extra-high) ~320dpi xxhdpi (extra-extra-high) ~480dpi xxxhdpi (extra-extra-extra-high) ~640dpi :rtype: string """ main_activity_name = self.get_main_activity() app_icon = self.get_element('activity', 'icon', name=main_activity_name) if not app_icon: app_icon = self.get_element('application', 'icon') if not app_icon: res_id = self.get_android_resources().get_res_id_by_key(self.package, 'mipmap', 'ic_launcher') if res_id: app_icon = "@%x" % res_id if not app_icon: res_id = self.get_android_resources().get_res_id_by_key(self.package, 'drawable', 'ic_launcher') if res_id: app_icon = "@%x" % res_id if not app_icon: # If the icon can not be found, return now return None if app_icon.startswith("@"): res_id = int(app_icon[1:], 16) res_parser = self.get_android_resources() candidates = res_parser.get_resolved_res_configs(res_id) app_icon = None current_dpi = -1 try: for config, file_name in candidates: dpi = config.get_density() if current_dpi < dpi <= max_dpi: app_icon = file_name current_dpi = dpi except Exception as e: log.warning("Exception selecting app icon: %s" % e) return app_icon def get_package(self): """ Return the name of the package :rtype: string """ return self.package def get_androidversion_code(self): """ Return the android version code :rtype: string """ return self.androidversion["Code"] def get_androidversion_name(self): """ Return the android version name :rtype: string """ return self.androidversion["Name"] def get_files(self): """ Return the files inside the APK :rtype: a list of strings """ return self.zip.namelist() def _get_file_magic_name(self, buffer): """ Return the filetype guessed for a buffer :param buffer: bytes :return: str of filetype """ # TODO this functions should be better in another package default = "Unknown" ftype = None # There are several implementations of magic, # unfortunately all called magic try: import magic except ImportError: # no lib magic at all, return unknown return default try: # We test for the python-magic package here getattr(magic, "MagicException") except AttributeError: try: # Check for filemagic package getattr(magic.Magic, "id_buffer") except AttributeError: # Here, we load the file-magic package ms = magic.open(magic.MAGIC_NONE) ms.load() ftype = ms.buffer(buffer) else: # This is now the filemagic package if self.magic_file is not None: m = magic.Magic(paths=[self.magic_file]) else: m = magic.Magic() ftype = m.id_buffer(buffer) else: # This is the code for python-magic if self.magic_file is not None: m = magic.Magic(magic_file=self.magic_file) else: m = magic.Magic() ftype = m.from_buffer(buffer) if ftype is None: return default else: return self._patch_magic(buffer, ftype) @property def files(self): """ Wrapper for the files object :return: dictionary of files and their mime type """ return self.get_files_types() def get_files_types(self): """ Return the files inside the APK with their associated types (by using python-magic) :rtype: a dictionnary """ if self._files == {}: # Generate File Types / CRC List for i in self.get_files(): buffer = self.zip.read(i) self.files_crc32[i] = crc32(buffer) # FIXME why not use the crc from the zipfile? #crc = self.zip.getinfo(i).CRC self._files[i] = self._get_file_magic_name(buffer) return self._files def _patch_magic(self, buffer, orig): if ("Zip" in orig) or ("DBase" in orig): val = androconf.is_android_raw(buffer) if val == "APK": return "Android application package file" elif val == "AXML": return "Android's binary XML" return orig def get_files_crc32(self): """ Calculates and returns a dictionary of filenames and CRC32 :return: dict of filename: CRC32 """ if self.files_crc32 == {}: for i in self.get_files(): buffer = self.zip.read(i) self.files_crc32[i] = crc32(buffer) return self.files_crc32 def get_files_information(self): """ Return the files inside the APK with their associated types and crc32 :rtype: string, string, int """ for k in self.get_files(): yield k, self.get_files_types()[k], self.get_files_crc32()[k] def get_raw(self): """ Return raw bytes of the APK :rtype: string """ return self.__raw def get_file(self, filename): """ Return the raw data of the specified filename inside the APK :rtype: string """ try: return self.zip.read(filename) except KeyError: raise FileNotPresent(filename) def get_dex(self): """ Return the raw data of the classes dex file :rtype: a string """ try: return self.get_file("classes.dex") except FileNotPresent: return "" def get_dex_names(self): """ Return the name of all classes dex files :rtype: a list of string """ dexre = re.compile("classes(\d*).dex") return filter(lambda x : dexre.match(x), self.get_files()) def get_all_dex(self): """ Return the raw data of all classes dex files :rtype: a generator """ for dex_name in self.get_dex_names(): yield self.get_file(dex_name) def is_multidex(self): """ Test if the APK has multiple DEX files :return: True if multiple dex found, otherwise False """ dexre = re.compile("^classes(\d+)?.dex$") return len([instance for instance in self.get_files() if dexre.search(instance)]) > 1 def get_elements(self, tag_name, attribute, with_namespace=True): """ Return elements in xml files which match with the tag name and the specific attribute :param tag_name: a string which specify the tag name :param attribute: a string which specify the attribute """ for i in self.xml: for item in self.xml[i].findall('.//' + tag_name): if with_namespace: value = item.get(NS_ANDROID + attribute) else: value = item.get(attribute) # There might be an attribute without the namespace if value: yield self.format_value(value) def format_value(self, value): """ Format a value with packagename, if not already set :param value: :return: """ if len(value) > 0: if value[0] == ".": value = self.package + value else: v_dot = value.find(".") if v_dot == 0: value = self.package + "." + value elif v_dot == -1: value = self.package + "." + value return value def get_element(self, tag_name, attribute, **attribute_filter): """ Return element in xml files which match with the tag name and the specific attribute :param tag_name: specify the tag name :type tag_name: string :param attribute: specify the attribute :type attribute: string :rtype: string """ for i in self.xml: if self.xml[i] is None: continue tag = self.xml[i].findall('.//' + tag_name) if len(tag) == 0: return None for item in tag: skip_this_item = False for attr, val in list(attribute_filter.items()): attr_val = item.get(NS_ANDROID + attr) if attr_val != val: skip_this_item = True break if skip_this_item: continue value = item.get(NS_ANDROID + attribute) if value is not None: return value return None def get_main_activity(self): """ Return the name of the main activity :rtype: string """ x = set() y = set() for i in self.xml: activities_and_aliases = self.xml[i].findall(".//activity") + \ self.xml[i].findall(".//activity-alias") for item in activities_and_aliases: # Some applications have more than one MAIN activity. # For example: paid and free content activityEnabled = item.get(NS_ANDROID + "enabled") if activityEnabled is not None and activityEnabled != "" and activityEnabled == "false": continue for sitem in item.findall(".//action"): val = sitem.get(NS_ANDROID + "name") if val == "android.intent.action.MAIN": x.add(item.get(NS_ANDROID + "name")) for sitem in item.findall(".//category"): val = sitem.get(NS_ANDROID + "name") if val == "android.intent.category.LAUNCHER": y.add(item.get(NS_ANDROID + "name")) z = x.intersection(y) if len(z) > 0: return self.format_value(z.pop()) return None def get_activities(self): """ Return the android:name attribute of all activities :rtype: a list of string """ return list(self.get_elements("activity", "name")) def get_services(self): """ Return the android:name attribute of all services :rtype: a list of string """ return list(self.get_elements("service", "name")) def get_receivers(self): """ Return the android:name attribute of all receivers :rtype: a list of string """ return list(self.get_elements("receiver", "name")) def get_providers(self): """ Return the android:name attribute of all providers :rtype: a list of string """ return list(self.get_elements("provider", "name")) def get_intent_filters(self, category, name): d = {"action": [], "category": []} for i in self.xml: for item in self.xml[i].findall(".//" + category): if self.format_value( item.get(NS_ANDROID + "name") ) == name: for sitem in item.findall(".//intent-filter"): for ssitem in sitem.findall("action"): if ssitem.get(NS_ANDROID + "name") \ not in d["action"]: d["action"].append(ssitem.get( NS_ANDROID + "name")) for ssitem in sitem.findall("category"): if ssitem.get(NS_ANDROID + "name") \ not in d["category"]: d["category"].append(ssitem.get( NS_ANDROID + "name")) if not d["action"]: del d["action"] if not d["category"]: del d["category"] return d def get_permissions(self): """ Return permissions :rtype: list of string """ return self.permissions def get_uses_implied_permission_list(self): """ Return all permissions implied by the target SDK or other permissions. :rtype: list of string """ target_sdk_version = self.get_effective_target_sdk_version() READ_CALL_LOG = 'android.permission.READ_CALL_LOG' READ_CONTACTS = 'android.permission.READ_CONTACTS' READ_EXTERNAL_STORAGE = 'android.permission.READ_EXTERNAL_STORAGE' READ_PHONE_STATE = 'android.permission.READ_PHONE_STATE' WRITE_CALL_LOG = 'android.permission.WRITE_CALL_LOG' WRITE_CONTACTS = 'android.permission.WRITE_CONTACTS' WRITE_EXTERNAL_STORAGE = 'android.permission.WRITE_EXTERNAL_STORAGE' implied = [] implied_WRITE_EXTERNAL_STORAGE = False if target_sdk_version < 4: if WRITE_EXTERNAL_STORAGE not in self.permissions: implied.append([WRITE_EXTERNAL_STORAGE, None]) implied_WRITE_EXTERNAL_STORAGE = True if READ_PHONE_STATE not in self.permissions: implied.append([READ_PHONE_STATE, None]) if (WRITE_EXTERNAL_STORAGE in self.permissions or implied_WRITE_EXTERNAL_STORAGE) \ and READ_EXTERNAL_STORAGE not in self.permissions: maxSdkVersion = None for name, version in self.uses_permissions: if name == WRITE_EXTERNAL_STORAGE: maxSdkVersion = version break implied.append([READ_EXTERNAL_STORAGE, maxSdkVersion]) if target_sdk_version < 16: if READ_CONTACTS in self.permissions \ and READ_CALL_LOG not in self.permissions: implied.append([READ_CALL_LOG, None]) if WRITE_CONTACTS in self.permissions \ and WRITE_CALL_LOG not in self.permissions: implied.append([WRITE_CALL_LOG, None]) return implied def get_details_permissions(self): """ Return permissions with details :rtype: dict of {permission: [protectionLevel, label, description]} """ l = {} for i in self.permissions: if i in self.permission_module: x = self.permission_module[i] l[i] = [x["protectionLevel"], x["label"], x["description"]] else: # FIXME: the permission might be signature, if it is defined by the app itself! l[i] = ["normal", "Unknown permission from android reference", "Unknown permission from android reference"] return l @DeprecationWarning def get_requested_permissions(self): """ Returns all requested permissions. :rtype: list of strings """ return self.get_permissions() def get_requested_aosp_permissions(self): """ Returns requested permissions declared within AOSP project. :rtype: list of strings """ aosp_permissions = [] all_permissions = self.get_permissions() for perm in all_permissions: if perm in list(self.permission_module["AOSP_PERMISSIONS"].keys()): aosp_permissions.append(perm) return aosp_permissions def get_requested_aosp_permissions_details(self): """ Returns requested aosp permissions with details. :rtype: dictionary """ l = {} for i in self.permissions: try: l[i] = self.permission_module["AOSP_PERMISSIONS"][i] except KeyError: # if we have not found permission do nothing continue return l def get_requested_third_party_permissions(self): """ Returns list of requested permissions not declared within AOSP project. :rtype: list of strings """ third_party_permissions = [] all_permissions = self.get_permissions() for perm in all_permissions: if perm not in list(self.permission_module["AOSP_PERMISSIONS"].keys()): third_party_permissions.append(perm) return third_party_permissions def get_declared_permissions(self): """ Returns list of the declared permissions. :rtype: list of strings """ return list(self.declared_permissions.keys()) def get_declared_permissions_details(self): """ Returns declared permissions with the details. :rtype: dict """ return self.declared_permissions def get_max_sdk_version(self): """ Return the android:maxSdkVersion attribute :rtype: string """ return self.get_element("uses-sdk", "maxSdkVersion") def get_min_sdk_version(self): """ Return the android:minSdkVersion attribute :rtype: string """ return self.get_element("uses-sdk", "minSdkVersion") def get_target_sdk_version(self): """ Return the android:targetSdkVersion attribute :rtype: string """ return self.get_element("uses-sdk", "targetSdkVersion") def get_effective_target_sdk_version(self): """ Return the effective targetSdkVersion, always returns int > 0. If the targetSdkVersion is not set, it defaults to 1. This is set based on defaults as defined in: https://developer.android.com/guide/topics/manifest/uses-sdk-element.html :rtype: int """ target_sdk_version = self.get_target_sdk_version() if not target_sdk_version: target_sdk_version = self.get_min_sdk_version() try: return int(target_sdk_version) except (ValueError, TypeError): return 1 def get_libraries(self): """ Return the android:name attributes for libraries :rtype: list """ return self.get_elements("uses-library", "name") def get_certificate_der(self, filename): """ Return the DER coded X.509 certificate from the signature file. :param filename: Signature filename in APK :return: DER coded X.509 certificate as binary """ pkcs7message = self.get_file(filename) # TODO for correct parsing, we would need to write our own ASN1Spec for the SignatureBlock format message, _ = decode(pkcs7message) cert = encode(message[1][3]) # Remove the first identifier # byte 0 == identifier, skip # byte 1 == length. If byte1 & 0x80 > 1, we have long format # The length of to read bytes is then coded # in byte1 & 0x7F # Check if the first byte is 0xA0 (Sequence Tag) tag = cert[0] l = cert[1] # Python2 compliance if not isinstance(l, int): l = ord(l) tag = ord(tag) if tag == 0xA0: cert = cert[2 + (l & 0x7F) if l & 0x80 > 1 else 2:] return cert def get_certificate(self, filename): """ Return a X.509 certificate object by giving the name in the apk file :param filename: filename of the signature file in the APK :return: a `x509` certificate """ cert = self.get_certificate_der(filename) certificate = x509.load_der_x509_certificate(cert, default_backend()) return certificate def new_zip(self, filename, deleted_files=None, new_files={}): """ Create a new zip file :param filename: the output filename of the zip :param deleted_files: a regex pattern to remove specific file :param new_files: a dictionnary of new files :type filename: string :type deleted_files: None or a string :type new_files: a dictionnary (key:filename, value:content of the file) """ zout = zipfile.ZipFile(filename, 'w') for item in self.zip.infolist(): # Block one: deleted_files, or deleted_files and new_files if deleted_files is not None: if re.match(deleted_files, item.filename) is None: # if the regex of deleted_files doesn't match the filename if new_files is not False: if item.filename in new_files: # and if the filename is in new_files zout.writestr(item, new_files[item.filename]) continue # Otherwise, write the original file. buffer = self.zip.read(item.filename) zout.writestr(item, buffer) # Block two: deleted_files is None, new_files is not empty elif new_files is not False: if item.filename in new_files: zout.writestr(item, new_files[item.filename]) else: buffer = self.zip.read(item.filename) zout.writestr(item, buffer) # Block three: deleted_files is None, new_files is empty. # Just write out the default zip else: buffer = self.zip.read(item.filename) zout.writestr(item, buffer) zout.close() def get_android_manifest_axml(self): """ Return the :class:`AXMLPrinter` object which corresponds to the AndroidManifest.xml file :rtype: :class:`AXMLPrinter` """ try: return self.axml["AndroidManifest.xml"] except KeyError: return None def get_android_manifest_xml(self): """ Return the xml object which corresponds to the AndroidManifest.xml file :rtype: object """ try: return self.xml["AndroidManifest.xml"] except KeyError: return None def get_android_resources(self): """ Return the :class:`ARSCParser` object which corresponds to the resources.arsc file :rtype: :class:`ARSCParser` """ try: return self.arsc["resources.arsc"] except KeyError: if "resources.arsc" not in self.zip.namelist(): # There is a rare case, that no resource file is supplied. # Maybe it was added manually, thus we check here return None self.arsc["resources.arsc"] = ARSCParser(self.zip.read("resources.arsc")) return self.arsc["resources.arsc"] def is_signed(self): """ Returns true if either a v1 or v2 (or both) signature was found. """ return self.is_signed_v1() or self.is_signed_v2() def is_signed_v1(self): """ Returns true if a v1 / JAR signature was found. Returning `True` does not mean that the file is properly signed! It just says that there is a signature file which needs to be validated. """ return self.get_signature_name() is not None def is_signed_v2(self): """ Returns true of a v2 / APK signature was found. Returning `True` does not mean that the file is properly signed! It just says that there is a signature file which needs to be validated. """ if not self._is_signed_v2: # Need to find an v2 Block in the APK. # The Google Docs gives you the following rule: # * go to the end of the ZIP File # * search for the End of Central directory # * then jump to the beginning of the central directory # * Read now the magic of the signing block # * before the magic there is the size_of_block, so we can jump to # the beginning. # * There should be again the size_of_block # * Now we can read the Key-Values # * IDs with an unknown value should be ignored. f = io.BytesIO(self.__raw) size_central = None offset_central = None # Go to the end f.seek(-1, io.SEEK_END) # we know the minimal length for the central dir is 16+4+2 f.seek(-20, io.SEEK_CUR) while f.tell() > 0: f.seek(-1, io.SEEK_CUR) r, = unpack('<4s', f.read(4)) if r == self.PK_END_OF_CENTRAL_DIR: # Read central dir this_disk, disk_central, this_entries, total_entries, \ size_central, offset_central = unpack(' 0: log.warning("Styles Offset given, but styleCount is zero.") self.m_stringOffsets = [] self.m_styleOffsets = [] self.m_charbuff = "" self.m_styles = [] # Next, there is a list of string following # This is only a list of offsets (4 byte each) for i in range(0, self.stringCount): self.m_stringOffsets.append(unpack('= len( self.m_stringOffsets): return "" offset = self.m_stringOffsets[idx] if self.m_isUTF8: self._cache[idx] = self.decode8(offset) else: self._cache[idx] = self.decode16(offset) return self._cache[idx] def getStyle(self, idx): # FIXME return self.m_styles[idx] def decode8(self, offset): str_len, skip = self.decodeLength(offset, 1) offset += skip encoded_bytes, skip = self.decodeLength(offset, 1) offset += skip data = self.m_charbuff[offset: offset + encoded_bytes] return self.decode_bytes(data, 'utf-8', str_len) def decode16(self, offset): str_len, skip = self.decodeLength(offset, 2) offset += skip encoded_bytes = str_len * 2 data = self.m_charbuff[offset: offset + encoded_bytes] return self.decode_bytes(data, 'utf-16', str_len) def decode_bytes(self, data, encoding, str_len): string = data.decode(encoding, 'replace') if len(string) != str_len: log.warning("invalid decoded string length") return string def decodeLength(self, offset, sizeof_char): length = self.m_charbuff[offset] sizeof_2chars = sizeof_char << 1 fmt_chr = 'B' if sizeof_char == 1 else 'H' fmt = "<2" + fmt_chr length1, length2 = unpack(fmt, self.m_charbuff[offset:(offset + sizeof_2chars)]) highbit = 0x80 << (8 * (sizeof_char - 1)) if (length & highbit) != 0: return ((length1 & ~highbit) << (8 * sizeof_char)) | length2, sizeof_2chars else: return length1, sizeof_char def show(self): print("StringBlock(%x, %x, %x, %x, %x, %x" % ( self.start, self.header, self.header_size, self.chunkSize, self.stringsOffset, self.flags)) for i in range(0, len(self.m_stringOffsets)): print(i, repr(self.getString(i))) # Position of the fields inside an attribute ATTRIBUTE_IX_NAMESPACE_URI = 0 ATTRIBUTE_IX_NAME = 1 ATTRIBUTE_IX_VALUE_STRING = 2 ATTRIBUTE_IX_VALUE_TYPE = 3 ATTRIBUTE_IX_VALUE_DATA = 4 ATTRIBUTE_LENGHT = 5 # Chunk Headers CHUNK_AXML_FILE = 0x00080003 CHUNK_STRING = 0x001C0001 CHUNK_RESOURCEIDS = 0x00080180 CHUNK_XML_FIRST = 0x00100100 CHUNK_XML_START_NAMESPACE = 0x00100100 CHUNK_XML_END_NAMESPACE = 0x00100101 CHUNK_XML_START_TAG = 0x00100102 CHUNK_XML_END_TAG = 0x00100103 CHUNK_XML_TEXT = 0x00100104 CHUNK_XML_LAST = 0x00100104 START_DOCUMENT = 0 END_DOCUMENT = 1 START_TAG = 2 END_TAG = 3 TEXT = 4 class AXMLParser(object): def __init__(self, raw_buff): self.reset() self.valid_axml = True self.axml_tampered = False self.packerwarning = False self.buff = bytecode.BuffHandle(raw_buff) axml_file, = unpack('> 16 == 0x0008: self.axml_tampered = True log.warning("AXML file has an unusual header, most malwares like doing such stuff to anti androguard! But we try to parse it anyways. Header: 0x{:08x}".format(axml_file)) else: self.valid_axml = False log.error("Not a valid AXML file. Header 0x{:08x}".format(axml_file)) return # Next is the filesize self.filesize, = unpack(' CHUNK_XML_LAST: log.warning("invalid chunk type 0x{:08x}".format(chunkType)) # Fake START_DOCUMENT event. if chunkType == CHUNK_XML_START_TAG and event == -1: self.m_event = START_DOCUMENT break # After the chunk_type, there are always 3 fields for the remaining tags we need to parse: # Chunk Size (we do not need it) # TODO for sanity checks, we should use it and check if the chunks are correct in size self.buff.read(4) # Line Number self.m_lineNumber = unpack(' uri is a 1:1 mapping self.m_prefixuri[prefix] = uri # but uri --> prefix is a 1:n mapping! self.m_uriprefix[uri].append(prefix) self.m_prefixuriL.append((prefix, uri)) self.ns = uri # Workaround for closing tags if (uri, prefix) in self.visited_ns: self.visited_ns.remove((uri, prefix)) else: self.ns = -1 # END_PREFIX contains again prefix and uri field prefix, = unpack('> 16) - 1 attributeCount = attributeCount & 0xFFFF self.m_classAttribute = unpack('> 16) - 1 self.m_classAttribute = (self.m_classAttribute & 0xFFFF) - 1 # Now, we parse the attributes. # Each attribute has 5 fields of 4 byte for i in range(0, attributeCount * ATTRIBUTE_LENGHT): # Each field is linearly parsed into the array self.m_attributes.append(unpack('> 24 self.m_event = START_TAG break if chunkType == CHUNK_XML_END_TAG: self.m_namespaceUri = unpack(' prefix is 1:n mapping, # We will just return the first one we match. if uri not in self.m_uriprefix: return -1 else: if len(self.m_uriprefix[uri]) == 0: return -1 return self.m_uriprefix[uri][0] def getPrefix(self): # The default is, that the namespaceUri is 0xFFFFFFFF # Then we know, there is none if self.m_namespaceUri == 0xFFFFFFFF: return u'' # FIXME this could be problematic. Need to find the correct namespace prefix if self.m_namespaceUri in self.m_uriprefix: candidate = self.m_uriprefix[self.m_namespaceUri][0] try: return self.sb.getString(candidate) except KeyError: return u'' else: return u'' def getName(self): if self.m_name == -1 or (self.m_event != START_TAG and self.m_event != END_TAG): return u'' return self.sb.getString(self.m_name) def getText(self): if self.m_name == -1 or self.m_event != TEXT: return u'' return self.sb.getString(self.m_name) def getNamespacePrefix(self, pos): prefix = self.m_prefixuriL[pos][0] return self.sb.getString(prefix) def getNamespaceUri(self, pos): uri = self.m_prefixuriL[pos][1] return self.sb.getString(uri) def getXMLNS(self): buff = "" for prefix, uri in self.m_prefixuri.items(): if (uri, prefix) not in self.visited_ns: prefix_str = self.sb.getString(prefix) prefix_uri = self.sb.getString(self.m_prefixuri[prefix]) # FIXME Packers like Liapp use empty uri to fool XML Parser # FIXME they also mess around with the Manifest, thus it can not be parsed easily if prefix_uri == '': log.warning("Empty Namespace URI for Namespace {}.".format(prefix_str)) self.packerwarning = True # if prefix is (null), which is indicated by an empty str, then do not print : if prefix_str != '': prefix_str = ":" + prefix_str buff += 'xmlns{}="{}"\n'.format(prefix_str, prefix_uri) self.visited_ns.append((uri, prefix)) return buff def getNamespaceCount(self, pos): pass def getAttributeOffset(self, index): # FIXME if self.m_event != START_TAG: log.warning("Current event is not START_TAG.") offset = index * 5 # FIXME if offset >= len(self.m_attributes): log.warning("Invalid attribute index") return offset def getAttributeCount(self): if self.m_event != START_TAG: return -1 return len(self.m_attributes) // ATTRIBUTE_LENGHT def getAttributePrefix(self, index): offset = self.getAttributeOffset(index) uri = self.m_attributes[offset + ATTRIBUTE_IX_NAMESPACE_URI] prefix = self.getPrefixByUri(uri) if prefix == -1: return "" return self.sb.getString(prefix) def getAttributeName(self, index): offset = self.getAttributeOffset(index) name = self.m_attributes[offset + ATTRIBUTE_IX_NAME] if name == -1: return "" res = self.sb.getString(name) # If the result is a (null) string, we need to look it up. if not res: attr = self.m_resourceIDs[name] if attr in public.SYSTEM_RESOURCES['attributes']['inverse']: res = 'android:' + public.SYSTEM_RESOURCES['attributes']['inverse'][ attr ] else: # Attach the HEX Number, so for multiple missing attributes we do not run # into problems. res = 'android:UNKNOWN_SYSTEM_ATTRIBUTE_{:08x}'.format(attr) return res def getAttributeValueType(self, index): offset = self.getAttributeOffset(index) return self.m_attributes[offset + ATTRIBUTE_IX_VALUE_TYPE] def getAttributeValueData(self, index): offset = self.getAttributeOffset(index) return self.m_attributes[offset + ATTRIBUTE_IX_VALUE_DATA] def getAttributeValue(self, index): """ This function is only used to look up strings All other work is made by format_value # FIXME should unite those functions :param index: :return: """ offset = self.getAttributeOffset(index) valueType = self.m_attributes[offset + ATTRIBUTE_IX_VALUE_TYPE] if valueType == TYPE_STRING: valueString = self.m_attributes[offset + ATTRIBUTE_IX_VALUE_STRING] return self.sb.getString(valueString) return "" # FIXME there are duplicates and missing values... TYPE_NULL = 0 TYPE_REFERENCE = 1 TYPE_ATTRIBUTE = 2 TYPE_STRING = 3 TYPE_FLOAT = 4 TYPE_DIMENSION = 5 TYPE_FRACTION = 6 TYPE_FIRST_INT = 16 TYPE_INT_DEC = 16 TYPE_INT_HEX = 17 TYPE_INT_BOOLEAN = 18 TYPE_FIRST_COLOR_INT = 28 TYPE_INT_COLOR_ARGB8 = 28 TYPE_INT_COLOR_RGB8 = 29 TYPE_INT_COLOR_ARGB4 = 30 TYPE_INT_COLOR_RGB4 = 31 TYPE_LAST_COLOR_INT = 31 TYPE_LAST_INT = 31 TYPE_TABLE = { TYPE_ATTRIBUTE: "attribute", TYPE_DIMENSION: "dimension", TYPE_FLOAT: "float", TYPE_FRACTION: "fraction", TYPE_INT_BOOLEAN: "int_boolean", TYPE_INT_COLOR_ARGB4: "int_color_argb4", TYPE_INT_COLOR_ARGB8: "int_color_argb8", TYPE_INT_COLOR_RGB4: "int_color_rgb4", TYPE_INT_COLOR_RGB8: "int_color_rgb8", TYPE_INT_DEC: "int_dec", TYPE_INT_HEX: "int_hex", TYPE_NULL: "null", TYPE_REFERENCE: "reference", TYPE_STRING: "string", } RADIX_MULTS = [0.00390625, 3.051758E-005, 1.192093E-007, 4.656613E-010] DIMENSION_UNITS = ["px", "dip", "sp", "pt", "in", "mm"] FRACTION_UNITS = ["%", "%p"] COMPLEX_UNIT_MASK = 15 def complexToFloat(xcomplex): return float(xcomplex & 0xFFFFFF00) * RADIX_MULTS[(xcomplex >> 4) & 3] def long2int(l): if l > 0x7fffffff: l = (0x7fffffff & l) - 0x80000000 return l def long2str(l): """Convert an integer to a string.""" if type(l) not in (types.IntType, types.LongType): raise ValueError('the input must be an integer') if l < 0: raise ValueError('the input must be greater than 0') s = '' while l: s = s + chr(l & 255) l >>= 8 return s def str2long(s): """Convert a string to a long integer.""" if type(s) not in (types.StringType, types.UnicodeType): raise ValueError('the input must be a string') l = 0 for i in s: l <<= 8 l |= ord(i) return l def getPackage(i): if i >> 24 == 1: return "android:" return "" def format_value(_type, _data, lookup_string=lambda ix: ""): if _type == TYPE_STRING: return lookup_string(_data) elif _type == TYPE_ATTRIBUTE: return "?%s%08X" % (getPackage(_data), _data) elif _type == TYPE_REFERENCE: return "@%s%08X" % (getPackage(_data), _data) elif _type == TYPE_FLOAT: return "%f" % unpack("=f", pack("=L", _data))[0] elif _type == TYPE_INT_HEX: return "0x%08X" % _data elif _type == TYPE_INT_BOOLEAN: if _data == 0: return "false" return "true" elif _type == TYPE_DIMENSION: return "%f%s" % (complexToFloat(_data), DIMENSION_UNITS[_data & COMPLEX_UNIT_MASK]) elif _type == TYPE_FRACTION: return "%f%s" % (complexToFloat(_data) * 100, FRACTION_UNITS[_data & COMPLEX_UNIT_MASK]) elif TYPE_FIRST_COLOR_INT <= _type <= TYPE_LAST_COLOR_INT: return "#%08X" % _data elif TYPE_FIRST_INT <= _type <= TYPE_LAST_INT: return "%d" % long2int(_data) return "<0x%X, type 0x%02X>" % (_data, _type) class AXMLPrinter(object): """ Converter for AXML Files into a XML string """ def __init__(self, raw_buff): self.axml = AXMLParser(raw_buff) self.xmlns = False self.buff = u'' while True and self.axml.is_valid(): _type = next(self.axml) if _type == START_DOCUMENT: self.buff += u'\n' elif _type == START_TAG: self.buff += u'<' + self.getPrefix(self.axml.getPrefix()) + self.axml.getName() + u'\n' self.buff += self.axml.getXMLNS() for i in range(0, self.axml.getAttributeCount()): prefix = self.getPrefix(self.axml.getAttributePrefix(i)) name = self.axml.getAttributeName(i) value = self._escape(self.getAttributeValue(i)) # If the name is a system name AND the prefix is set, we have a problem. # FIXME we are not sure how this happens, but a quick fix is to remove the prefix if it already in the name if name.startswith(prefix): prefix = u'' self.buff += u'{}{}="{}"\n'.format(prefix, name, value) self.buff += u'>\n' elif _type == END_TAG: self.buff += u"\n" % ( self.getPrefix(self.axml.getPrefix()), self.axml.getName()) elif _type == TEXT: self.buff += u"%s\n" % self._escape(self.axml.getText()) elif _type == END_DOCUMENT: break # pleed patch # FIXME should this be applied for strings directly? def _escape(self, s): # FIXME Strings might contain null bytes. Should they be removed? # We guess so, as normaly the string would terminate there...?! s = s.replace("\x00", "") # Other HTML Conversions s = s.replace("&", "&") s = s.replace('"', """) s = s.replace("'", "'") s = s.replace("<", "<") s = s.replace(">", ">") return escape(s) def is_packed(self): """ Return True if we believe that the AXML file is packed If it is, we can not be sure that the AXML file can be read by a XML Parser :return: boolean """ return self.axml.packerwarning def get_buff(self): return self.buff.encode('utf-8') def get_xml(self): parser = etree.XMLParser(recover=True, resolve_entities=False) tree = etree.fromstring(self.get_buff(), parser=parser) return etree.tostring(tree, encoding="utf-8", pretty_print=True) def get_xml_obj(self): parser = etree.XMLParser(recover=True, resolve_entities=False) tree = etree.fromstring(self.get_buff(), parser=parser) return tree def getPrefix(self, prefix): if prefix is None or len(prefix) == 0: return u'' return prefix + u':' def getAttributeValue(self, index): """ Wrapper function for format_value to resolve the actual value of an attribute in a tag :param index: :return: """ _type = self.axml.getAttributeValueType(index) _data = self.axml.getAttributeValueData(index) return format_value(_type, _data, lambda _: self.axml.getAttributeValue(index)) # Constants for ARSC Files RES_NULL_TYPE = 0x0000 RES_STRING_POOL_TYPE = 0x0001 RES_TABLE_TYPE = 0x0002 RES_XML_TYPE = 0x0003 # Chunk types in RES_XML_TYPE RES_XML_FIRST_CHUNK_TYPE = 0x0100 RES_XML_START_NAMESPACE_TYPE = 0x0100 RES_XML_END_NAMESPACE_TYPE = 0x0101 RES_XML_START_ELEMENT_TYPE = 0x0102 RES_XML_END_ELEMENT_TYPE = 0x0103 RES_XML_CDATA_TYPE = 0x0104 RES_XML_LAST_CHUNK_TYPE = 0x017f # This contains a uint32_t array mapping strings in the string # pool back to resource identifiers. It is optional. RES_XML_RESOURCE_MAP_TYPE = 0x0180 # Chunk types in RES_TABLE_TYPE RES_TABLE_PACKAGE_TYPE = 0x0200 RES_TABLE_TYPE_TYPE = 0x0201 RES_TABLE_TYPE_SPEC_TYPE = 0x0202 RES_TABLE_LIBRARY_TYPE = 0x0203 ACONFIGURATION_MCC = 0x0001 ACONFIGURATION_MNC = 0x0002 ACONFIGURATION_LOCALE = 0x0004 ACONFIGURATION_TOUCHSCREEN = 0x0008 ACONFIGURATION_KEYBOARD = 0x0010 ACONFIGURATION_KEYBOARD_HIDDEN = 0x0020 ACONFIGURATION_NAVIGATION = 0x0040 ACONFIGURATION_ORIENTATION = 0x0080 ACONFIGURATION_DENSITY = 0x0100 ACONFIGURATION_SCREEN_SIZE = 0x0200 ACONFIGURATION_VERSION = 0x0400 ACONFIGURATION_SCREEN_LAYOUT = 0x0800 ACONFIGURATION_UI_MODE = 0x1000 class ARSCParser(object): """ Parser for resource.arsc files """ def __init__(self, raw_buff): self.analyzed = False self._resolved_strings = None self.buff = bytecode.BuffHandle(raw_buff) self.header = ARSCHeader(self.buff) self.packageCount = unpack(' data_end: # this inner chunk crosses the boundary of the table chunk break if res_header.type == RES_STRING_POOL_TYPE and not self.stringpool_main: self.stringpool_main = StringBlock(self.buff, res_header) elif res_header.type == RES_TABLE_PACKAGE_TYPE: assert len(self.packages) < self.packageCount, "Got more packages than expected" current_package = ARSCResTablePackage(self.buff, res_header) package_name = current_package.get_name() package_data_end = res_header.start + res_header.size self.packages[package_name] = [] # After the Header, we have the resource type symbol table self.buff.set_idx(current_package.header.start + current_package.typeStrings) type_sp_header = ARSCHeader(self.buff) assert type_sp_header.type == RES_STRING_POOL_TYPE, \ "Expected String Pool header, got %x" % type_sp_header.type mTableStrings = StringBlock(self.buff, type_sp_header) # Next, we should have the resource key symbol table self.buff.set_idx(current_package.header.start + current_package.keyStrings) key_sp_header = ARSCHeader(self.buff) assert key_sp_header.type == RES_STRING_POOL_TYPE, \ "Expected String Pool header, got %x" % key_sp_header.type mKeyStrings = StringBlock(self.buff, key_sp_header) # Add them to the dict of read packages self.packages[package_name].append(current_package) self.packages[package_name].append(mTableStrings) self.packages[package_name].append(mKeyStrings) pc = PackageContext(current_package, self.stringpool_main, mTableStrings, mKeyStrings) # skip to the first header in this table package chunk # FIXME is this correct? We have already read the first two sections! # self.buff.set_idx(res_header.start + res_header.header_size) # this looks more like we want: (???) self.buff.set_idx(res_header.start + res_header.header_size + type_sp_header.size + key_sp_header.size) # Read all other headers while self.buff.get_idx() <= package_data_end - ARSCHeader.SIZE: pkg_chunk_header = ARSCHeader(self.buff) log.debug("Found a header: {}".format(pkg_chunk_header)) if pkg_chunk_header.start + pkg_chunk_header.size > package_data_end: # we are way off the package chunk; bail out break self.packages[package_name].append(pkg_chunk_header) if pkg_chunk_header.type == RES_TABLE_TYPE_SPEC_TYPE: self.packages[package_name].append(ARSCResTypeSpec(self.buff, pc)) elif pkg_chunk_header.type == RES_TABLE_TYPE_TYPE: a_res_type = ARSCResType(self.buff, pc) self.packages[package_name].append(a_res_type) self.resource_configs[package_name][a_res_type].add(a_res_type.config) log.debug("Config: {}".format(a_res_type.config)) entries = [] for i in range(0, a_res_type.entryCount): current_package.mResId = current_package.mResId & 0xffff0000 | i entries.append((unpack('> 24) & 0xFF), ((entry_data >> 16) & 0xFF), ((entry_data >> 8) & 0xFF), (entry_data & 0xFF)) ] def get_resource_dimen(self, ate): try: return [ ate.get_value(), "%s%s" % ( complexToFloat(ate.key.get_data()), DIMENSION_UNITS[ate.key.get_data() & COMPLEX_UNIT_MASK]) ] except IndexError: log.debug("Out of range dimension unit index for %s: %s" % ( complexToFloat(ate.key.get_data()), ate.key.get_data() & COMPLEX_UNIT_MASK)) return [ate.get_value(), ate.key.get_data()] # FIXME def get_resource_style(self, ate): return ["", ""] def get_packages_names(self): return list(self.packages.keys()) def get_locales(self, package_name): self._analyse() return list(self.values[package_name].keys()) def get_types(self, package_name, locale): self._analyse() return list(self.values[package_name][locale].keys()) def get_public_resources(self, package_name, locale='\x00\x00'): self._analyse() buff = '\n' buff += '\n' try: for i in self.values[package_name][locale]["public"]: buff += '\n' % ( i[0], i[1], i[2]) except KeyError: pass buff += '\n' return buff.encode('utf-8') def get_string_resources(self, package_name, locale='\x00\x00'): self._analyse() buff = '\n' buff += '\n' try: for i in self.values[package_name][locale]["string"]: if any(map(i[1].__contains__, '<&>')): value = '' % i[1] else: value = i[1] buff += '%s\n' % (i[0], value) except KeyError: pass buff += '\n' return buff.encode('utf-8') def get_strings_resources(self): self._analyse() buff = '\n' buff += "\n" for package_name in self.get_packages_names(): buff += "\n" % package_name for locale in self.get_locales(package_name): buff += "\n" % repr(locale) buff += '\n' try: for i in self.values[package_name][locale]["string"]: buff += '%s\n' % (i[0], escape(i[1])) except KeyError: pass buff += '\n' buff += '\n' buff += "\n" buff += "\n" return buff.encode('utf-8') def get_id_resources(self, package_name, locale='\x00\x00'): self._analyse() buff = '\n' buff += '\n' try: for i in self.values[package_name][locale]["id"]: if len(i) == 1: buff += '\n' % (i[0]) else: buff += '%s\n' % (i[0], escape(i[1])) except KeyError: pass buff += '\n' return buff.encode('utf-8') def get_bool_resources(self, package_name, locale='\x00\x00'): self._analyse() buff = '\n' buff += '\n' try: for i in self.values[package_name][locale]["bool"]: buff += '%s\n' % (i[0], i[1]) except KeyError: pass buff += '\n' return buff.encode('utf-8') def get_integer_resources(self, package_name, locale='\x00\x00'): self._analyse() buff = '\n' buff += '\n' try: for i in self.values[package_name][locale]["integer"]: buff += '%s\n' % (i[0], i[1]) except KeyError: pass buff += '\n' return buff.encode('utf-8') def get_color_resources(self, package_name, locale='\x00\x00'): self._analyse() buff = '\n' buff += '\n' try: for i in self.values[package_name][locale]["color"]: buff += '%s\n' % (i[0], i[1]) except KeyError: pass buff += '\n' return buff.encode('utf-8') def get_dimen_resources(self, package_name, locale='\x00\x00'): self._analyse() buff = '\n' buff += '\n' try: for i in self.values[package_name][locale]["dimen"]: buff += '%s\n' % (i[0], i[1]) except KeyError: pass buff += '\n' return buff.encode('utf-8') def get_id(self, package_name, rid, locale='\x00\x00'): self._analyse() try: for i in self.values[package_name][locale]["public"]: if i[2] == rid: return i except KeyError: return None class ResourceResolver(object): def __init__(self, android_resources, config=None): self.resources = android_resources self.wanted_config = config def resolve(self, res_id): result = [] self._resolve_into_result(result, res_id, self.wanted_config) return result def _resolve_into_result(self, result, res_id, config): configs = self.resources.get_res_configs(res_id, config) if configs: for config, ate in configs: self.put_ate_value(result, ate, config) def put_ate_value(self, result, ate, config): if ate.is_complex(): complex_array = [] result.append((config, complex_array)) for _, item in ate.item.items: self.put_item_value(complex_array, item, config, complex_=True) else: self.put_item_value(result, ate.key, config, complex_=False) def put_item_value(self, result, item, config, complex_): if item.is_reference(): res_id = item.get_data() if res_id: self._resolve_into_result( result, item.get_data(), self.wanted_config) else: if complex_: result.append(item.format_value()) else: result.append((config, item.format_value())) def get_resolved_res_configs(self, rid, config=None): resolver = ARSCParser.ResourceResolver(self, config) return resolver.resolve(rid) def get_resolved_strings(self): self._analyse() if self._resolved_strings: return self._resolved_strings r = {} for package_name in self.get_packages_names(): r[package_name] = {} k = {} for locale in self.values[package_name]: v_locale = locale if v_locale == '\x00\x00': v_locale = 'DEFAULT' r[package_name][v_locale] = {} try: for i in self.values[package_name][locale]["public"]: if i[0] == 'string': r[package_name][v_locale][i[2]] = None k[i[1]] = i[2] except KeyError: pass try: for i in self.values[package_name][locale]["string"]: if i[0] in k: r[package_name][v_locale][k[i[0]]] = i[1] except KeyError: pass self._resolved_strings = r return r def get_res_configs(self, rid, config=None): self._analyse() if not rid: raise ValueError("'rid' should be set") try: res_options = self.resource_values[rid] if len(res_options) > 1 and config: return [( config, res_options[config])] else: return list(res_options.items()) except KeyError: return [] def get_string(self, package_name, name, locale='\x00\x00'): self._analyse() try: for i in self.values[package_name][locale]["string"]: if i[0] == name: return i except KeyError: return None def get_res_id_by_key(self, package_name, resource_type, key): try: return self.resource_keys[package_name][resource_type][key] except KeyError: return None def get_items(self, package_name): self._analyse() return self.packages[package_name] def get_type_configs(self, package_name, type_name=None): if package_name is None: package_name = self.get_packages_names()[0] result = collections.defaultdict(list) for res_type, configs in list(self.resource_configs[package_name].items()): if res_type.get_package_name() == package_name and ( type_name is None or res_type.get_type() == type_name): result[res_type.get_type()].extend(configs) return result class PackageContext(object): def __init__(self, current_package, stringpool_main, mTableStrings, mKeyStrings): self.stringpool_main = stringpool_main self.mTableStrings = mTableStrings self.mKeyStrings = mKeyStrings self.current_package = current_package def get_mResId(self): return self.current_package.mResId def set_mResId(self, mResId): self.current_package.mResId = mResId def get_package_name(self): return self.current_package.get_name() class ARSCHeader(object): SIZE = 2 + 2 + 4 def __init__(self, buff): self.start = buff.get_idx() self.type = unpack('".format(self.start, self.type, self.header_size, self.size) class ARSCResTablePackage(object): def __init__(self, buff, header): self.header = header self.start = buff.get_idx() self.id = unpack('= 32: self.screenConfig = unpack('= 36: self.screenSizeDp = unpack(' 0: log.debug("Skipping padding bytes!") self.padding = buff.read(self.exceedingSize) else: self.start = 0 self.size = 0 self.imsi = \ ((kwargs.pop('mcc', 0) & 0xffff) << 0) + \ ((kwargs.pop('mnc', 0) & 0xffff) << 16) self.locale = 0 for char_ix, char in kwargs.pop('locale', "")[0:4]: self.locale += (ord(char) << (char_ix * 8)) self.screenType = \ ((kwargs.pop('orientation', 0) & 0xff) << 0) + \ ((kwargs.pop('touchscreen', 0) & 0xff) << 8) + \ ((kwargs.pop('density', 0) & 0xffff) << 16) self.input = \ ((kwargs.pop('keyboard', 0) & 0xff) << 0) + \ ((kwargs.pop('navigation', 0) & 0xff) << 8) + \ ((kwargs.pop('inputFlags', 0) & 0xff) << 16) + \ ((kwargs.pop('inputPad0', 0) & 0xff) << 24) self.screenSize = \ ((kwargs.pop('screenWidth', 0) & 0xffff) << 0) + \ ((kwargs.pop('screenHeight', 0) & 0xffff) << 16) self.version = \ ((kwargs.pop('sdkVersion', 0) & 0xffff) << 0) + \ ((kwargs.pop('minorVersion', 0) & 0xffff) << 16) self.screenConfig = \ ((kwargs.pop('screenLayout', 0) & 0xff) << 0) + \ ((kwargs.pop('uiMode', 0) & 0xff) << 8) + \ ((kwargs.pop('smallestScreenWidthDp', 0) & 0xffff) << 16) self.screenSizeDp = \ ((kwargs.pop('screenWidthDp', 0) & 0xffff) << 0) + \ ((kwargs.pop('screenHeightDp', 0) & 0xffff) << 16) self.exceedingSize = 0 def get_language(self): x = self.locale & 0x0000ffff return chr(x & 0x00ff) + chr((x & 0xff00) >> 8) def get_country(self): x = (self.locale & 0xffff0000) >> 16 return chr(x & 0x00ff) + chr((x & 0xff00) >> 8) def get_density(self): x = ((self.screenType >> 16) & 0xffff) return x def _get_tuple(self): return ( self.imsi, self.locale, self.screenType, self.input, self.screenSize, self.version, self.screenConfig, self.screenSizeDp, ) def __hash__(self): return hash(self._get_tuple()) def __eq__(self, other): return self._get_tuple() == other._get_tuple() def __repr__(self): return "".format(repr(self._get_tuple())) class ARSCResTableEntry(object): """ See https://github.com/LineageOS/android_frameworks_base/blob/df2898d9ce306bb2fe922d3beaa34a9cf6873d27/include/androidfw/ResourceTypes.h#L1370 """ FLAG_COMPLEX = 1 FLAG_PUBLIC = 2 FLAG_WEAK = 4 def __init__(self, buff, mResId, parent=None): self.start = buff.get_idx() self.mResId = mResId self.parent = parent self.size = unpack('".format( self.start, self.mResId, self.size, self.flags, self.index, self.item if self.is_complex() else self.key) class ARSCComplex(object): def __init__(self, buff, parent=None): self.start = buff.get_idx() self.parent = parent self.id_parent = unpack('".format(self.start, self.id_parent, self.count) class ARSCResStringPoolRef(object): def __init__(self, buff, parent=None): self.start = buff.get_idx() self.parent = parent self.size, = unpack("".format( self.start, self.size, TYPE_TABLE.get(self.data_type, "0x%x" % self.data_type), self.data) def get_arsc_info(arscobj): buff = "" for package in arscobj.get_packages_names(): buff += package + ":\n" for locale in arscobj.get_locales(package): buff += "\t" + repr(locale) + ":\n" for ttype in arscobj.get_types(package, locale): buff += "\t\t" + ttype + ":\n" try: tmp_buff = getattr(arscobj, "get_" + ttype + "_resources")( package, locale).decode("utf-8", 'replace').split("\n") for i in tmp_buff: buff += "\t\t\t" + i + "\n" except AttributeError: pass return buff androguard-3.1.0-rc2/androguard/core/bytecodes/dvm.py000066400000000000000000007672641324327352200225550ustar00rootroot00000000000000from __future__ import division from __future__ import print_function from builtins import chr from builtins import str from builtins import range from builtins import object from androguard.core import bytecode from androguard.core.bytecodes.apk import APK from androguard.core.androconf import CONF from androguard.core.bytecodes import mutf8 import sys import re import struct import binascii import time from struct import pack, unpack, calcsize import logging import binascii import warnings log = logging.getLogger("androguard.dvm") # TODO there is DEX 38 already DEX_FILE_MAGIC_35 = 'dex\n035\x00' DEX_FILE_MAGIC_36 = 'dex\n036\x00' DEX_FILE_MAGIC_37 = 'dex\n037\x00' ODEX_FILE_MAGIC_35 = 'dey\n035\x00' ODEX_FILE_MAGIC_36 = 'dey\n036\x00' ODEX_FILE_MAGIC_37 = 'dey\n037\x00' # https://source.android.com/devices/tech/dalvik/dex-format#type-codes TYPE_MAP_ITEM = { 0x0: "TYPE_HEADER_ITEM", 0x1: "TYPE_STRING_ID_ITEM", 0x2: "TYPE_TYPE_ID_ITEM", 0x3: "TYPE_PROTO_ID_ITEM", 0x4: "TYPE_FIELD_ID_ITEM", 0x5: "TYPE_METHOD_ID_ITEM", 0x6: "TYPE_CLASS_DEF_ITEM", 0x1000: "TYPE_MAP_LIST", 0x1001: "TYPE_TYPE_LIST", 0x1002: "TYPE_ANNOTATION_SET_REF_LIST", 0x1003: "TYPE_ANNOTATION_SET_ITEM", 0x2000: "TYPE_CLASS_DATA_ITEM", 0x2001: "TYPE_CODE_ITEM", 0x2002: "TYPE_STRING_DATA_ITEM", 0x2003: "TYPE_DEBUG_INFO_ITEM", 0x2004: "TYPE_ANNOTATION_ITEM", 0x2005: "TYPE_ENCODED_ARRAY_ITEM", 0x2006: "TYPE_ANNOTATIONS_DIRECTORY_ITEM", } # https://source.android.com/devices/tech/dalvik/dex-format#access-flags ACCESS_FLAGS = { 0x1: 'public', 0x2: 'private', 0x4: 'protected', 0x8: 'static', 0x10: 'final', 0x20: 'synchronized', 0x40: 'bridge', 0x80: 'varargs', 0x100: 'native', 0x200: 'interface', 0x400: 'abstract', 0x800: 'strictfp', 0x1000: 'synthetic', 0x4000: 'enum', 0x8000: 'unused', 0x10000: 'constructor', 0x20000: 'synchronized', } # https://source.android.com/devices/tech/dalvik/dex-format#typedescriptor TYPE_DESCRIPTOR = { 'V': 'void', 'Z': 'boolean', 'B': 'byte', 'S': 'short', 'C': 'char', 'I': 'int', 'J': 'long', 'F': 'float', 'D': 'double', } # https://source.android.com/devices/tech/dalvik/dex-format#value-formats VALUE_BYTE = 0x00 # (none; must be 0) ubyte[1] signed one-byte integer value VALUE_SHORT = 0x02 # size - 1 (0..1) ubyte[size] signed two-byte integer value, sign-extended VALUE_CHAR = 0x03 # size - 1 (0..1) ubyte[size] unsigned two-byte integer value, zero-extended VALUE_INT = 0x04 # size - 1 (0..3) ubyte[size] signed four-byte integer value, sign-extended VALUE_LONG = 0x06 # size - 1 (0..7) ubyte[size] signed eight-byte integer value, sign-extended VALUE_FLOAT = 0x10 # size - 1 (0..3) ubyte[size] four-byte bit pattern, zero-extended to the right, and interpreted as an IEEE754 32-bit floating point value VALUE_DOUBLE = 0x11 # size - 1 (0..7) ubyte[size] eight-byte bit pattern, zero-extended to the right, and interpreted as an IEEE754 64-bit floating point value VALUE_STRING = 0x17 # size - 1 (0..3) ubyte[size] unsigned (zero-extended) four-byte integer value, interpreted as an index into the string_ids section and representing a string value VALUE_TYPE = 0x18 # size - 1 (0..3) ubyte[size] unsigned (zero-extended) four-byte integer value, interpreted as an index into the type_ids section and representing a reflective type/class value VALUE_FIELD = 0x19 # size - 1 (0..3) ubyte[size] unsigned (zero-extended) four-byte integer value, interpreted as an index into the field_ids section and representing a reflective field value VALUE_METHOD = 0x1a # size - 1 (0..3) ubyte[size] unsigned (zero-extended) four-byte integer value, interpreted as an index into the method_ids section and representing a reflective method value VALUE_ENUM = 0x1b # size - 1 (0..3) ubyte[size] unsigned (zero-extended) four-byte integer value, interpreted as an index into the field_ids section and representing the value of an enumerated type constant VALUE_ARRAY = 0x1c # (none; must be 0) encoded_array an array of values, in the format specified by "encoded_array Format" below. The size of the value is implicit in the encoding. VALUE_ANNOTATION = 0x1d # (none; must be 0) encoded_annotation a sub-annotation, in the format specified by "encoded_annotation Format" below. The size of the value is implicit in the encoding. VALUE_NULL = 0x1e # (none; must be 0) (none) null reference value VALUE_BOOLEAN = 0x1f # boolean (0..1) (none) one-bit value; 0 for false and 1 for true. The bit is represented in the value_arg. # https://source.android.com/devices/tech/dalvik/dex-format#debug-info-item DBG_END_SEQUENCE = 0x00 # (none) terminates a debug info sequence for a code_item DBG_ADVANCE_PC = 0x01 # uleb128 addr_diff addr_diff: amount to add to address register advances the address register without emitting a positions entry DBG_ADVANCE_LINE = 0x02 # sleb128 line_diff line_diff: amount to change line register by advances the line register without emitting a positions entry DBG_START_LOCAL = 0x03 # uleb128 register_num # uleb128p1 name_idx # uleb128p1 type_idx # register_num: register that will contain local name_idx: string index of the name # type_idx: type index of the type introduces a local variable at the current address. Either name_idx or type_idx may be NO_INDEX to indicate that that value is unknown. DBG_START_LOCAL_EXTENDED = 0x04 # uleb128 register_num uleb128p1 name_idx uleb128p1 type_idx uleb128p1 sig_idx # register_num: register that will contain local # name_idx: string index of the name # type_idx: type index of the type # sig_idx: string index of the type signature # introduces a local with a type signature at the current address. Any of name_idx, type_idx, or sig_idx may be NO_INDEX to indicate that that value is unknown. ( # If sig_idx is -1, though, the same data could be represented more efficiently using the opcode DBG_START_LOCAL.) # Note: See the discussion under "dalvik.annotation.Signature" below for caveats about handling signatures. DBG_END_LOCAL = 0x05 # uleb128 register_num # register_num: register that contained local # marks a currently-live local variable as out of scope at the current address DBG_RESTART_LOCAL = 0x06 # uleb128 register_num # register_num: register to restart re-introduces a local variable at the current address. # The name and type are the same as the last local that was live in the specified register. DBG_SET_PROLOGUE_END = 0x07 # (none) sets the prologue_end state machine register, indicating that the next position entry that is added should be considered the end of a # method prologue (an appropriate place for a method breakpoint). The prologue_end register is cleared by any special (>= 0x0a) opcode. DBG_SET_EPILOGUE_BEGIN = 0x08 # (none) sets the epilogue_begin state machine register, indicating that the next position entry that is added should be considered the beginning # of a method epilogue (an appropriate place to suspend execution before method exit). The epilogue_begin register is cleared by any special (>= 0x0a) opcode. DBG_SET_FILE = 0x09 # uleb128p1 name_idx # name_idx: string index of source file name; NO_INDEX if unknown indicates that all subsequent line number entries make reference to this source file name, # instead of the default name specified in code_item DBG_Special_Opcodes_BEGIN = 0x0a # (none) advances the line and address registers, emits a position entry, and clears prologue_end and epilogue_begin. See below for description. DBG_Special_Opcodes_END = 0xff DBG_LINE_BASE = -4 DBG_LINE_RANGE = 15 class Error(Exception): """ Base class for exceptions in this module. """ pass class InvalidInstruction(Error): pass def read_null_terminated_string(f): """ Read a null terminated string from a file-like object. :param f: file-like object :rtype: bytearray """ x = bytearray() while True: z = f.read(1) if ord(z) == 0: return x else: x.append(ord(z)) def get_access_flags_string(value): """ Transform an access flag field to the corresponding string :param value: the value of the access flags :type value: int :rtype: string """ flags = [] for k, v in ACCESS_FLAGS.items(): if (k & value) == k: flags.append(v) return " ".join(flags) def get_type(atype, size=None): """ Retrieve the type of a descriptor (e.g : I) """ if atype.startswith('java.lang'): atype = atype.replace('java.lang.', '') res = TYPE_DESCRIPTOR.get(atype.lstrip('java.lang')) if res is None: if atype[0] == 'L': res = atype[1:-1].replace('/', '.') elif atype[0] == '[': if size is None: res = '%s[]' % get_type(atype[1:]) else: res = '%s[%s]' % (get_type(atype[1:]), size) else: res = atype return res MATH_DVM_OPCODES = { "add.": '+', "div.": '/', "mul.": '*', "or.": '|', "sub.": '-', "and.": '&', "xor.": '^', "shl.": "<<", "shr.": ">>", } FIELD_READ_DVM_OPCODES = [".get"] FIELD_WRITE_DVM_OPCODES = [".put"] BREAK_DVM_OPCODES = ["invoke.", "move.", ".put", "if."] BRANCH_DVM_OPCODES = ["throw", "throw.", "if.", "goto", "goto.", "return", "return.", "packed-switch$", "sparse-switch$"] def clean_name_instruction(instruction): op_value = instruction.get_op_value() # goto range if 0x28 <= op_value <= 0x2a: return "goto" return instruction.get_name() def static_operand_instruction(instruction): buff = "" if isinstance(instruction, Instruction): # get instructions without registers for val in instruction.get_literals(): buff += "%s" % val op_value = instruction.get_op_value() if op_value == 0x1a or op_value == 0x1b: buff += instruction.get_string() return buff def get_sbyte(buff): return unpack('=b', bytearray(buff.read(1)))[0] def get_byte(buff): return unpack('=B', bytearray(buff.read(1)))[0] def readuleb128(buff): result = get_byte(buff) if result > 0x7f: cur = get_byte(buff) result = (result & 0x7f) | ((cur & 0x7f) << 7) if cur > 0x7f: cur = get_byte(buff) result |= (cur & 0x7f) << 14 if cur > 0x7f: cur = get_byte(buff) result |= (cur & 0x7f) << 21 if cur > 0x7f: cur = get_byte(buff) if cur > 0x0f: log.warning("possible error while decoding number") result |= cur << 28 return result def readusleb128(buff): result = get_byte(buff) if result > 0x7f: cur = get_byte(buff) result = (result & 0x7f) | ((cur & 0x7f) << 7) if cur > 0x7f: cur = get_byte(buff) result |= (cur & 0x7f) << 14 if cur > 0x7f: cur = get_byte(buff) result |= (cur & 0x7f) << 21 if cur > 0x7f: cur = get_byte(buff) result |= cur << 28 return result def readuleb128p1(buff): return readuleb128(buff) - 1 def readsleb128(buff): result = 0 shift = 0 for x in range(0, 5): cur = get_byte(buff) result |= (cur & 0x7f) << shift shift += 7 if not cur & 0x80: bit_left = max(32 - shift, 0) result = result << bit_left if result > 0x7fffffff: result = (0x7fffffff & result) - 0x80000000 result = result >> bit_left break return result def writeuleb128(value): remaining = value >> 7 buff = bytearray() while remaining > 0: buff += pack("=B", ((value & 0x7f) | 0x80)) value = remaining remaining >>= 7 buff += pack("=B", value & 0x7f) return buff def writesleb128(value): remaining = value >> 7 hasMore = True end = 0 buff = bytearray() if (value & (-sys.maxsize - 1)) == 0: end = 0 else: end = -1 while hasMore: hasMore = (remaining != end) or ((remaining & 1) != ((value >> 6) & 1)) tmp = 0 if hasMore: tmp = 0x80 buff += pack("=B", (value & 0x7f) | tmp) value = remaining remaining >>= 7 return buff def determineNext(i, end, m): op_value = i.get_op_value() # throw + return* if (op_value == 0x27) or (0x0e <= op_value <= 0x11): return [-1] # goto elif 0x28 <= op_value <= 0x2a: off = i.get_ref_off() * 2 return [off + end] # if elif 0x32 <= op_value <= 0x3d: off = i.get_ref_off() * 2 return [end + i.get_length(), off + end] # sparse/packed elif op_value in (0x2b, 0x2c): x = [end + i.get_length()] code = m.get_code().get_bc() off = i.get_ref_off() * 2 data = code.get_ins_off(off + end) if data is not None: for target in data.get_targets(): x.append(target * 2 + end) return x return [] def determineException(vm, m): # no exceptions ! if m.get_code().get_tries_size() <= 0: return [] h_off = {} handler_catch_list = m.get_code().get_handlers() for try_item in m.get_code().get_tries(): offset_handler = try_item.get_handler_off( ) + handler_catch_list.get_off() if offset_handler in h_off: h_off[offset_handler].append([try_item]) else: h_off[offset_handler] = [] h_off[offset_handler].append([try_item]) # print m.get_name(), "\t HANDLER_CATCH_LIST SIZE", handler_catch_list.size, handler_catch_list.get_offset() for handler_catch in handler_catch_list.get_list(): if handler_catch.get_off() not in h_off: continue for i in h_off[handler_catch.get_off()]: i.append(handler_catch) exceptions = [] # print m.get_name(), h_off for i in h_off: for value in h_off[i]: try_value = value[0] z = [try_value.get_start_addr() * 2, (try_value.get_start_addr() * 2) + (try_value.get_insn_count() * 2) - 1] handler_catch = value[1] if handler_catch.get_size() <= 0: z.append(["Ljava/lang/Throwable;", handler_catch.get_catch_all_addr() * 2]) for handler in handler_catch.get_handlers(): z.append([vm.get_cm_type(handler.get_type_idx()), handler.get_addr() * 2]) exceptions.append(z) # print m.get_name(), exceptions return exceptions class HeaderItem(object): """ This class can parse an header_item of a dex file :param buff: a string which represents a Buff object of the header_item :type buff: Buff object :param cm: a ClassManager object :type cm: :class:`ClassManager` """ def __init__(self, size, buff, cm): self.CM = cm self.offset = buff.get_idx() self.magic = unpack("=Q", buff.read(8))[0] self.checksum = unpack("=i", buff.read(4))[0] self.signature = unpack("=20s", buff.read(20))[0] self.file_size = unpack("=I", buff.read(4))[0] self.header_size = unpack("=I", buff.read(4))[0] self.endian_tag = unpack("=I", buff.read(4))[0] self.link_size = unpack("=I", buff.read(4))[0] self.link_off = unpack("=I", buff.read(4))[0] self.map_off = unpack("=I", buff.read(4))[0] self.string_ids_size = unpack("=I", buff.read(4))[0] self.string_ids_off = unpack("=I", buff.read(4))[0] self.type_ids_size = unpack("=I", buff.read(4))[0] self.type_ids_off = unpack("=I", buff.read(4))[0] self.proto_ids_size = unpack("=I", buff.read(4))[0] self.proto_ids_off = unpack("=I", buff.read(4))[0] self.field_ids_size = unpack("=I", buff.read(4))[0] self.field_ids_off = unpack("=I", buff.read(4))[0] self.method_ids_size = unpack("=I", buff.read(4))[0] self.method_ids_off = unpack("=I", buff.read(4))[0] self.class_defs_size = unpack("=I", buff.read(4))[0] self.class_defs_off = unpack("=I", buff.read(4))[0] self.data_size = unpack("=I", buff.read(4))[0] self.data_off = unpack("=I", buff.read(4))[0] self.map_off_obj = None self.string_off_obj = None self.type_off_obj = None self.proto_off_obj = None self.field_off_obj = None self.method_off_obj = None self.class_off_obj = None self.data_off_obj = None def reload(self): pass def get_obj(self): if self.map_off_obj is None: self.map_off_obj = self.CM.get_item_by_offset(self.map_off) if self.string_off_obj is None: self.string_off_obj = self.CM.get_item_by_offset( self.string_ids_off) if self.type_off_obj is None: self.type_off_obj = self.CM.get_item_by_offset(self.type_ids_off) if self.proto_off_obj is None: self.proto_off_obj = self.CM.get_item_by_offset(self.proto_ids_off) if self.field_off_obj is None: self.field_off_obj = self.CM.get_item_by_offset(self.field_ids_off) if self.method_off_obj is None: self.method_off_obj = self.CM.get_item_by_offset( self.method_ids_off) if self.class_off_obj is None: self.class_off_obj = self.CM.get_item_by_offset(self.class_defs_off) if self.data_off_obj is None: self.data_off_obj = self.CM.get_item_by_offset(self.data_off) self.map_off = self.map_off_obj.get_off() self.string_ids_size = len(self.string_off_obj) self.string_ids_off = self.string_off_obj[0].get_off() self.type_ids_size = len(self.type_off_obj.type) self.type_ids_off = self.type_off_obj.get_off() self.proto_ids_size = len(self.proto_off_obj.proto) self.proto_ids_off = self.proto_off_obj.get_off() self.field_ids_size = len(self.field_off_obj.elem) self.field_ids_off = self.field_off_obj.get_off() self.method_ids_size = len(self.method_off_obj.methods) self.method_ids_off = self.method_off_obj.get_off() self.class_defs_size = len(self.class_off_obj.class_def) self.class_defs_off = self.class_off_obj.get_off() self.data_size = len(self.data_off_obj.map_item) self.data_off = self.data_off_obj.get_off() return pack("=Q", self.magic) + \ pack("=i", self.checksum) + \ pack("=20s", self.signature) + \ pack("=I", self.file_size) + \ pack("=I", self.header_size) + \ pack("=I", self.endian_tag) + \ pack("=I", self.link_size) + \ pack("=I", self.link_off) + \ pack("=I", self.map_off) + \ pack("=I", self.string_ids_size) + \ pack("=I", self.string_ids_off) + \ pack("=I", self.type_ids_size) + \ pack("=I", self.type_ids_off) + \ pack("=I", self.proto_ids_size) + \ pack("=I", self.proto_ids_off) + \ pack("=I", self.field_ids_size) + \ pack("=I", self.field_ids_off) + \ pack("=I", self.method_ids_size) + \ pack("=I", self.method_ids_off) + \ pack("=I", self.class_defs_size) + \ pack("=I", self.class_defs_off) + \ pack("=I", self.data_size) + \ pack("=I", self.data_off) def get_raw(self): return self.get_obj() def get_length(self): return len(self.get_raw()) def show(self): bytecode._PrintSubBanner("Header Item") bytecode._PrintDefault("magic=%s, checksum=%s, signature=%s\n" % (self.magic, self.checksum, binascii.hexlify(self.signature).decode("ASCII"))) bytecode._PrintDefault("file_size=%x, header_size=%x, endian_tag=%x\n" % (self.file_size, self.header_size, self.endian_tag)) bytecode._PrintDefault("link_size=%x, link_off=%x\n" % (self.link_size, self.link_off)) bytecode._PrintDefault("map_off=%x\n" % self.map_off) bytecode._PrintDefault("string_ids_size=%x, string_ids_off=%x\n" % (self.string_ids_size, self.string_ids_off)) bytecode._PrintDefault("type_ids_size=%x, type_ids_off=%x\n" % (self.type_ids_size, self.type_ids_off)) bytecode._PrintDefault("proto_ids_size=%x, proto_ids_off=%x\n" % (self.proto_ids_size, self.proto_ids_off)) bytecode._PrintDefault("field_ids_size=%x, field_ids_off=%x\n" % (self.field_ids_size, self.field_ids_off)) bytecode._PrintDefault("method_ids_size=%x, method_ids_off=%x\n" % (self.method_ids_size, self.method_ids_off)) bytecode._PrintDefault("class_defs_size=%x, class_defs_off=%x\n" % (self.class_defs_size, self.class_defs_off)) bytecode._PrintDefault("data_size=%x, data_off=%x\n" % (self.data_size, self.data_off)) def set_off(self, off): self.offset = off def get_off(self): return self.offset class AnnotationOffItem(object): """ This class can parse an annotation_off_item of a dex file :param buff: a string which represents a Buff object of the annotation_off_item :type buff: Buff object :param cm: a ClassManager object :type cm: :class:`ClassManager` """ def __init__(self, buff, cm): self.CM = cm self.annotation_off = unpack("=I", buff.read(4))[0] def show(self): bytecode._PrintSubBanner("Annotation Off Item") bytecode._PrintDefault("annotation_off=0x%x\n" % self.annotation_off) def get_obj(self): if self.annotation_off != 0: self.annotation_off = self.CM.get_obj_by_offset( self.annotation_off).get_off() return pack("=I", self.annotation_off) def get_raw(self): return self.get_obj() def get_length(self): return len(self.get_obj()) class AnnotationSetItem(object): """ This class can parse an annotation_set_item of a dex file :param buff: a string which represents a Buff object of the annotation_set_item :type buff: Buff object :param cm: a ClassManager object :type cm: :class:`ClassManager` """ def __init__(self, buff, cm): self.CM = cm self.offset = buff.get_idx() self.annotation_off_item = [] self.size = unpack("=I", buff.read(4))[0] for i in range(0, self.size): self.annotation_off_item.append(AnnotationOffItem(buff, cm)) def get_annotation_off_item(self): """ Return the offset from the start of the file to an annotation :rtype: a list of :class:`AnnotationOffItem` """ return self.annotation_off_item def set_off(self, off): self.offset = off def get_off(self): return self.offset def reload(self): pass def show(self): bytecode._PrintSubBanner("Annotation Set Item") for i in self.annotation_off_item: i.show() def get_obj(self): return pack("=I", self.size) def get_raw(self): return self.get_obj() + b''.join(i.get_raw() for i in self.annotation_off_item) def get_length(self): length = len(self.get_obj()) for i in self.annotation_off_item: length += i.get_length() return length class AnnotationSetRefItem(object): """ This class can parse an annotation_set_ref_item of a dex file :param buff: a string which represents a Buff object of the annotation_set_ref_item :type buff: Buff object :param cm: a ClassManager object :type cm: :class:`ClassManager` """ def __init__(self, buff, cm): self.CM = cm self.annotations_off = unpack("=I", buff.read(4))[0] def get_annotations_off(self): """ Return the offset from the start of the file to the referenced annotation set or 0 if there are no annotations for this element. :rtype: int """ return self.annotations_off def show(self): bytecode._PrintSubBanner("Annotation Set Ref Item") bytecode._PrintDefault("annotation_off=0x%x\n" % self.annotations_off) def get_obj(self): if self.annotations_off != 0: self.annotations_off = self.CM.get_obj_by_offset( self.annotations_off).get_off() return pack("=I", self.annotations_off) def get_raw(self): return self.get_obj() class AnnotationSetRefList(object): """ This class can parse an annotation_set_ref_list_item of a dex file :param buff: a string which represents a Buff object of the annotation_set_ref_list_item :type buff: Buff object :param cm: a ClassManager object :type cm: :class:`ClassManager` """ def __init__(self, buff, cm): self.offset = buff.get_idx() self.CM = cm self.list = [] self.size = unpack("=I", buff.read(4))[0] for i in range(0, self.size): self.list.append(AnnotationSetRefItem(buff, cm)) def get_list(self): """ Return elements of the list :rtype: :class:`AnnotationSetRefItem` """ return self.list def get_off(self): return self.offset def set_off(self, off): self.offset = off def reload(self): pass def show(self): bytecode._PrintSubBanner("Annotation Set Ref List Item") for i in self.list: i.show() def get_obj(self): return [i for i in self.list] def get_raw(self): return pack("=I", self.size) + b''.join(i.get_raw() for i in self.list) def get_length(self): return len(self.get_raw()) class FieldAnnotation(object): """ This class can parse a field_annotation of a dex file :param buff: a string which represents a Buff object of the field_annotation :type buff: Buff object :param cm: a ClassManager object :type cm: :class:`ClassManager` """ def __init__(self, buff, cm): self.offset = buff.get_idx() self.CM = cm self.field_idx = unpack("=I", buff.read(4))[0] self.annotations_off = unpack("=I", buff.read(4))[0] def get_field_idx(self): """ Return the index into the field_ids list for the identity of the field being annotated :rtype: int """ return self.get_field_idx def get_annotations_off(self): """ Return the offset from the start of the file to the list of annotations for the field :rtype: int """ return self.annotations_off def set_off(self, off): self.offset = off def get_off(self): return self.offset def show(self): bytecode._PrintSubBanner("Field Annotation") bytecode._PrintDefault("field_idx=0x%x annotations_off=0x%x\n" % (self.field_idx, self.annotations_off)) def get_obj(self): if self.annotations_off != 0: self.annotations_off = self.CM.get_obj_by_offset( self.annotations_off).get_off() return pack("=I", self.field_idx) + pack("=I", self.annotations_off) def get_raw(self): return self.get_obj() def get_length(self): return len(self.get_raw()) class MethodAnnotation(object): """ This class can parse a method_annotation of a dex file :param buff: a string which represents a Buff object of the method_annotation :type buff: Buff object :param cm: a ClassManager object :type cm: :class:`ClassManager` """ def __init__(self, buff, cm): self.offset = buff.get_idx() self.CM = cm self.method_idx = unpack("=I", buff.read(4))[0] self.annotations_off = unpack("=I", buff.read(4))[0] def get_method_idx(self): """ Return the index into the method_ids list for the identity of the method being annotated :rtype: int """ return self.get_method_idx def get_annotations_off(self): """ Return the offset from the start of the file to the list of annotations for the method :rtype: int """ return self.annotations_off def set_off(self, off): self.offset = off def get_off(self): return self.offset def show(self): bytecode._PrintSubBanner("Method Annotation") bytecode._PrintDefault("method_idx=0x%x annotations_off=0x%x\n" % (self.method_idx, self.annotations_off)) def get_obj(self): if self.annotations_off != 0: self.annotations_off = self.CM.get_obj_by_offset( self.annotations_off).get_off() return pack("=I", self.method_idx) + pack("=I", self.annotations_off) def get_raw(self): return self.get_obj() def get_length(self): return len(self.get_raw()) class ParameterAnnotation(object): """ This class can parse a parameter_annotation of a dex file :param buff: a string which represents a Buff object of the parameter_annotation :type buff: Buff object :param cm: a ClassManager object :type cm: :class:`ClassManager` """ def __init__(self, buff, cm): self.offset = buff.get_idx() self.CM = cm self.method_idx = unpack("=I", buff.read(4))[0] self.annotations_off = unpack("=I", buff.read(4))[0] def get_method_idx(self): """ Return the index into the method_ids list for the identity of the method whose parameters are being annotated :rtype: int """ return self.get_method_idx def get_annotations_off(self): """ Return the offset from the start of the file to the list of annotations for the method parameters :rtype: int """ return self.annotations_off def set_off(self, off): self.offset = off def get_off(self): return self.offset def show(self): bytecode._PrintSubBanner("Parameter Annotation") bytecode._PrintDefault("method_idx=0x%x annotations_off=0x%x\n" % (self.method_idx, self.annotations_off)) def get_obj(self): if self.annotations_off != 0: self.annotations_off = self.CM.get_obj_by_offset( self.annotations_off).get_off() return pack("=I", self.method_idx) + pack("=I", self.annotations_off) def get_raw(self): return self.get_obj() def get_length(self): return len(self.get_raw()) class AnnotationsDirectoryItem(object): """ This class can parse an annotations_directory_item of a dex file :param buff: a string which represents a Buff object of the annotations_directory_item :type buff: Buff object :param cm: a ClassManager object :type cm: :class:`ClassManager` """ def __init__(self, buff, cm): self.CM = cm self.offset = buff.get_idx() self.class_annotations_off = unpack("=I", buff.read(4))[0] self.annotated_fields_size = unpack("=I", buff.read(4))[0] self.annotated_methods_size = unpack("=I", buff.read(4))[0] self.annotated_parameters_size = unpack("=I", buff.read(4))[0] self.field_annotations = [] for i in range(0, self.annotated_fields_size): self.field_annotations.append(FieldAnnotation(buff, cm)) self.method_annotations = [] for i in range(0, self.annotated_methods_size): self.method_annotations.append(MethodAnnotation(buff, cm)) self.parameter_annotations = [] for i in range(0, self.annotated_parameters_size): self.parameter_annotations.append(ParameterAnnotation(buff, cm)) def get_class_annotations_off(self): """ Return the offset from the start of the file to the annotations made directly on the class, or 0 if the class has no direct annotations :rtype: int """ return self.class_annotations_off def get_annotated_fields_size(self): """ Return the count of fields annotated by this item :rtype: int """ return self.annotated_fields_size def get_annotated_methods_size(self): """ Return the count of methods annotated by this item :rtype: int """ return self.annotated_methods_size def get_annotated_parameters_size(self): """ Return the count of method parameter lists annotated by this item :rtype: int """ return self.annotated_parameters_size def get_field_annotations(self): """ Return the list of associated field annotations :rtype: a list of :class:`FieldAnnotation` """ return self.field_annotations def get_method_annotations(self): """ Return the list of associated method annotations :rtype: a list of :class:`MethodAnnotation` """ return self.method_annotations def get_parameter_annotations(self): """ Return the list of associated method parameter annotations :rtype: a list of :class:`ParameterAnnotation` """ return self.parameter_annotations def set_off(self, off): self.offset = off def get_off(self): return self.offset def reload(self): pass def show(self): bytecode._PrintSubBanner("Annotations Directory Item") bytecode._PrintDefault( "class_annotations_off=0x%x annotated_fields_size=%d annotated_methods_size=%d annotated_parameters_size=%d\n" % (self.class_annotations_off, self.annotated_fields_size, self.annotated_methods_size, self.annotated_parameters_size)) for i in self.field_annotations: i.show() for i in self.method_annotations: i.show() for i in self.parameter_annotations: i.show() def get_obj(self): if self.class_annotations_off != 0: self.class_annotations_off = self.CM.get_obj_by_offset( self.class_annotations_off).get_off() return pack("=I", self.class_annotations_off) + \ pack("=I", self.annotated_fields_size) + \ pack("=I", self.annotated_methods_size) + \ pack("=I", self.annotated_parameters_size) def get_raw(self): return self.get_obj() + \ b''.join(i.get_raw() for i in self.field_annotations) + \ b''.join(i.get_raw() for i in self.method_annotations) + \ b''.join(i.get_raw() for i in self.parameter_annotations) def get_length(self): length = len(self.get_obj()) for i in self.field_annotations: length += i.get_length() for i in self.method_annotations: length += i.get_length() for i in self.parameter_annotations: length += i.get_length() return length class TypeItem(object): """ This class can parse a type_item of a dex file :param buff: a string which represents a Buff object of the type_item :type buff: Buff object :param cm: a ClassManager object :type cm: :class:`ClassManager` """ def __init__(self, buff, cm): self.CM = cm self.type_idx = unpack("=H", buff.read(2))[0] def get_type_idx(self): """ Return the index into the type_ids list :rtype: int """ return self.type_idx def get_string(self): """ Return the type string :rtype: string """ return self.CM.get_type(self.type_idx) def show(self): bytecode._PrintSubBanner("Type Item") bytecode._PrintDefault("type_idx=%d\n" % self.type_idx) def get_obj(self): return pack("=H", self.type_idx) def get_raw(self): return self.get_obj() def get_length(self): return len(self.get_obj()) class TypeList(object): """ This class can parse a type_list of a dex file :param buff: a string which represents a Buff object of the type_list :type buff: Buff object :param cm: a ClassManager object :type cm: :class:`ClassManager` """ def __init__(self, buff, cm): self.CM = cm self.offset = buff.get_idx() self.size = unpack("=I", buff.read(4))[0] self.list = [] for i in range(0, self.size): self.list.append(TypeItem(buff, cm)) self.pad = b"" if self.size % 2 != 0: self.pad = buff.read(2) self.len_pad = len(self.pad) def get_pad(self): """ Return the alignment string :rtype: string """ return self.pad def get_type_list_off(self): """ Return the offset of the item :rtype: int """ return self.offset def get_string(self): """ Return the concatenation of all strings :rtype: string """ return ' '.join(i.get_string() for i in self.list) def get_size(self): """ Return the size of the list, in entries :rtype: int """ return self.size def get_list(self): """ Return the list of TypeItem :rtype: a list of :class:`TypeItem` objects """ return self.list def set_off(self, off): self.offset = off def get_off(self): return self.offset + self.len_pad def reload(self): pass def show(self): bytecode._PrintSubBanner("Type List") bytecode._PrintDefault("size=%d\n" % self.size) for i in self.list: i.show() def get_obj(self): return self.pad + pack("=I", self.size) def get_raw(self): return self.get_obj() + b''.join(i.get_raw() for i in self.list) def get_length(self): length = len(self.get_obj()) for i in self.list: length += i.get_length() return length class DBGBytecode(object): def __init__(self, cm, op_value): self.CM = cm self.op_value = op_value self.format = [] def get_op_value(self): return self.op_value def add(self, value, ttype): self.format.append((value, ttype)) def get_value(self): if self.get_op_value() == DBG_START_LOCAL: return self.CM.get_string(self.format[1][0]) elif self.get_op_value() == DBG_START_LOCAL_EXTENDED: return self.CM.get_string(self.format[1][0]) return None def show(self): bytecode._PrintSubBanner("DBGBytecode") bytecode._PrintDefault("op_value=%x format=%s value=%s\n" % ( self.op_value, str(self.format), self.get_value())) def get_obj(self): return [] def get_raw(self): buff = self.op_value.get_value_buff() for i in self.format: if i[1] == "u": buff += writeuleb128(i[0]) elif i[1] == "s": buff += writesleb128(i[0]) return buff class DebugInfoItem(object): def __init__(self, buff, cm): self.CM = cm self.offset = buff.get_idx() self.line_start = readuleb128(buff) self.parameters_size = readuleb128(buff) # print "line", self.line_start, "params", self.parameters_size self.parameter_names = [] for i in range(0, self.parameters_size): self.parameter_names.append(readuleb128p1(buff)) self.bytecodes = [] bcode = DBGBytecode(self.CM, get_byte(buff)) self.bytecodes.append(bcode) while bcode.get_op_value() != DBG_END_SEQUENCE: bcode_value = bcode.get_op_value() if bcode_value == DBG_ADVANCE_PC: bcode.add(readuleb128(buff), "u") elif bcode_value == DBG_ADVANCE_LINE: bcode.add(readsleb128(buff), "s") elif bcode_value == DBG_START_LOCAL: bcode.add(readusleb128(buff), "u") bcode.add(readuleb128p1(buff), "u1") bcode.add(readuleb128p1(buff), "u1") elif bcode_value == DBG_START_LOCAL_EXTENDED: bcode.add(readusleb128(buff), "u") bcode.add(readuleb128p1(buff), "u1") bcode.add(readuleb128p1(buff), "u1") bcode.add(readuleb128p1(buff), "u1") elif bcode_value == DBG_END_LOCAL: bcode.add(readusleb128(buff), "u") elif bcode_value == DBG_RESTART_LOCAL: bcode.add(readusleb128(buff), "u") elif bcode_value == DBG_SET_PROLOGUE_END: pass elif bcode_value == DBG_SET_EPILOGUE_BEGIN: pass elif bcode_value == DBG_SET_FILE: bcode.add(readuleb128p1(buff), "u1") else: # bcode_value >= DBG_Special_Opcodes_BEGIN and bcode_value <= DBG_Special_Opcodes_END: pass bcode = DBGBytecode(self.CM, get_byte(buff)) self.bytecodes.append(bcode) def reload(self): pass def get_parameters_size(self): return self.parameters_size def get_line_start(self): return self.line_start def get_parameter_names(self): return self.parameter_names def get_translated_parameter_names(self): l = [] for i in self.parameter_names: if i == -1: l.append(None) else: l.append(self.CM.get_string(i)) return l def get_bytecodes(self): return self.bytecodes def show(self): bytecode._PrintSubBanner("Debug Info Item") bytecode._PrintDefault("line_start=%d parameters_size=%d\n" % (self.line_start, self.parameters_size)) nb = 0 for i in self.parameter_names: bytecode._PrintDefault("parameter_names[%d]=%s\n" % (nb, self.CM.get_string(i))) nb += 1 for i in self.bytecodes: i.show() def get_raw(self): return [bytecode.Buff(self.__offset, writeuleb128(self.line_start) + \ writeuleb128(self.parameters_size) + \ b''.join(writeuleb128(i) for i in self.parameter_names) + \ b''.join(i.get_raw() for i in self.bytecodes))] def get_off(self): return self.offset class DebugInfoItemEmpty(object): def __init__(self, buff, cm): self.CM = cm self.offset = buff.get_idx() self.__buff = buff self.__raw = "" def set_off(self, off): self.offset = off def get_off(self): return self.offset def reload(self): offset = self.offset n = self.CM.get_next_offset_item(offset) s_idx = self.__buff.get_idx() self.__buff.set_idx(offset) self.__raw = self.__buff.read(n - offset) self.__buff.set_idx(s_idx) def show(self): pass def get_obj(self): return [] def get_raw(self): return self.__raw def get_length(self): return len(self.__raw) class EncodedArray(object): """ This class can parse an encoded_array of a dex file :param buff: a string which represents a Buff object of the encoded_array :type buff: Buff object :param cm: a ClassManager object :type cm: :class:`ClassManager` """ def __init__(self, buff, cm): self.CM = cm self.offset = buff.get_idx() self.size = readuleb128(buff) self.values = [] for i in range(0, self.size): self.values.append(EncodedValue(buff, cm)) def get_size(self): """ Return the number of elements in the array :rtype: int """ return self.size def get_values(self): """ Return a series of size encoded_value byte sequences in the format specified by this section, concatenated sequentially :rtype: a list of :class:`EncodedValue` objects """ return self.values def show(self): bytecode._PrintSubBanner("Encoded Array") bytecode._PrintDefault("size=%d\n" % self.size) for i in self.values: i.show() def get_obj(self): return writeuleb128(self.size) def get_raw(self): return self.get_obj() + b''.join(i.get_raw() for i in self.values) def get_length(self): length = len(self.get_obj()) for i in self.values: length += i.get_length() return length class EncodedValue(object): """ This class can parse an encoded_value of a dex file :param buff: a string which represents a Buff object of the encoded_value :type buff: Buff object :param cm: a ClassManager object :type cm: :class:`ClassManager` """ def __init__(self, buff, cm): self.CM = cm self.val = get_byte(buff) self.value_arg = self.val >> 5 self.value_type = self.val & 0x1f self.raw_value = None self.value = "" # TODO: parse floats/doubles correctly if VALUE_SHORT <= self.value_type < VALUE_STRING: self.value, self.raw_value = self._getintvalue(buff.read( self.value_arg + 1)) elif self.value_type == VALUE_STRING: id, self.raw_value = self._getintvalue(buff.read(self.value_arg + 1)) self.value = cm.get_raw_string(id) elif self.value_type == VALUE_TYPE: id, self.raw_value = self._getintvalue(buff.read(self.value_arg + 1)) self.value = cm.get_type(id) elif self.value_type == VALUE_FIELD: id, self.raw_value = self._getintvalue(buff.read(self.value_arg + 1)) self.value = cm.get_field(id) elif self.value_type == VALUE_METHOD: id, self.raw_value = self._getintvalue(buff.read(self.value_arg + 1)) self.value = cm.get_method(id) elif self.value_type == VALUE_ENUM: id, self.raw_value = self._getintvalue(buff.read(self.value_arg + 1)) self.value = cm.get_field(id) elif self.value_type == VALUE_ARRAY: self.value = EncodedArray(buff, cm) elif self.value_type == VALUE_ANNOTATION: self.value = EncodedAnnotation(buff, cm) elif self.value_type == VALUE_BYTE: self.value = get_byte(buff) elif self.value_type == VALUE_NULL: self.value = None elif self.value_type == VALUE_BOOLEAN: if self.value_arg: self.value = True else: self.value = False else: log.warning("Unknown value 0x%x" % self.value_type) def get_value(self): """ Return the bytes representing the value, variable in length and interpreted differently for different value_type bytes, though always little-endian :rtype: an object representing the value """ return self.value def get_value_type(self): return self.value_type def get_value_arg(self): return self.value_arg def _getintvalue(self, buf): ret = 0 shift = 0 for b in buf: ret |= b << shift shift += 8 return ret, buf def show(self): bytecode._PrintSubBanner("Encoded Value") bytecode._PrintDefault("val=%x value_arg=%x value_type=%x\n" % (self.val, self.value_arg, self.value_type)) def get_obj(self): if not isinstance(self.value, str): return [self.value] return [] def get_raw(self): if self.raw_value is None: return pack("=B", self.val) + bytecode.object_to_bytes(self.value) else: return pack("=B", self.val) + bytecode.object_to_bytes(self.raw_value) def get_length(self): if self.raw_value is None: return len(pack("=B", self.val)) + len(bytecode.object_to_bytes( self.value)) else: return len(pack("=B", self.val)) + len(bytecode.object_to_bytes( self.raw_value)) class AnnotationElement(object): """ This class can parse an annotation_element of a dex file :param buff: a string which represents a Buff object of the annotation_element :type buff: Buff object :param cm: a ClassManager object :type cm: :class:`ClassManager` """ def __init__(self, buff, cm): self.CM = cm self.offset = buff.get_idx() self.name_idx = readuleb128(buff) self.value = EncodedValue(buff, cm) def get_name_idx(self): """ Return the element name, represented as an index into the string_ids section :rtype: int """ return self.name_idx def get_value(self): """ Return the element value (EncodedValue) :rtype: a :class:`EncodedValue` object """ return self.value def show(self): bytecode._PrintSubBanner("Annotation Element") bytecode._PrintDefault("name_idx=%d\n" % self.name_idx) self.value.show() def get_obj(self): return writeuleb128(self.name_idx) def get_raw(self): return self.get_obj() + self.value.get_raw() def get_length(self): return len(self.get_obj()) + self.value.get_length() class EncodedAnnotation(object): """ This class can parse an encoded_annotation of a dex file :param buff: a string which represents a Buff object of the encoded_annotation :type buff: Buff object :param cm: a ClassManager object :type cm: :class:`ClassManager` """ def __init__(self, buff, cm): self.CM = cm self.offset = buff.get_idx() self.type_idx = readuleb128(buff) self.size = readuleb128(buff) self.elements = [] for i in range(0, self.size): self.elements.append(AnnotationElement(buff, cm)) def get_type_idx(self): """ Return the type of the annotation. This must be a class (not array or primitive) type :rtype: int """ return self.type_idx def get_size(self): """ Return the number of name-value mappings in this annotation :rtype:int """ return self.size def get_elements(self): """ Return the elements of the annotation, represented directly in-line (not as offsets) :rtype: a list of :class:`AnnotationElement` objects """ return self.elements def show(self): bytecode._PrintSubBanner("Encoded Annotation") bytecode._PrintDefault("type_idx=%d size=%d\n" % (self.type_idx, self.size)) for i in self.elements: i.show() def get_obj(self): return [i for i in self.elements] def get_raw(self): return writeuleb128(self.type_idx) + writeuleb128(self.size) + b''.join( i.get_raw() for i in self.elements) def get_length(self): length = len(writeuleb128(self.type_idx) + writeuleb128(self.size)) for i in self.elements: length += i.get_length() return length class AnnotationItem(object): """ This class can parse an annotation_item of a dex file :param buff: a string which represents a Buff object of the annotation_item :type buff: Buff object :param cm: a ClassManager object :type cm: :class:`ClassManager` """ def __init__(self, buff, cm): self.CM = cm self.offset = buff.get_idx() self.visibility = get_byte(buff) self.annotation = EncodedAnnotation(buff, cm) def get_visibility(self): """ Return the intended visibility of this annotation :rtype: int """ return self.visibility def get_annotation(self): """ Return the encoded annotation contents :rtype: a :class:`EncodedAnnotation` object """ return self.annotation def set_off(self, off): self.offset = off def get_off(self): return self.offset def reload(self): pass def show(self): bytecode._PrintSubBanner("Annotation Item") bytecode._PrintDefault("visibility=%d\n" % self.visibility) self.annotation.show() def get_obj(self): return [self.annotation] def get_raw(self): return pack("=B", self.visibility) + self.annotation.get_raw() def get_length(self): length = len(pack("=B", self.visibility)) length += self.annotation.get_length() return length class EncodedArrayItem(object): """ This class can parse an encoded_array_item of a dex file :param buff: a string which represents a Buff object of the encoded_array_item :type buff: Buff object :param cm: a ClassManager object :type cm: :class:`ClassManager` """ def __init__(self, buff, cm): self.CM = cm self.offset = buff.get_idx() self.value = EncodedArray(buff, cm) def get_value(self): """ Return the bytes representing the encoded array value :rtype: a :class:`EncodedArray` object """ return self.value def set_off(self, off): self.offset = off def reload(self): pass def show(self): bytecode._PrintSubBanner("Encoded Array Item") self.value.show() def get_obj(self): return [self.value] def get_raw(self): return self.value.get_raw() def get_length(self): return self.value.get_length() def get_off(self): return self.offset class StringDataItem: """ This class can parse a string_data_item of a dex file :param buff: a string which represents a Buff object of the string_data_item :type buff: Buff object :param cm: a ClassManager object :type cm: :class:`ClassManager` """ def __init__(self, buff, cm): self.CM = cm self.offset = buff.get_idx() # Content of string_data_item self.utf16_size = readuleb128(buff) self.data = read_null_terminated_string(buff) def get_utf16_size(self): """ Return the size of this string, in UTF-16 code units :rtype:int """ return self.utf16_size def get_data(self): """ Return a series of MUTF-8 code units (a.k.a. octets, a.k.a. bytes) followed by a byte of value 0 :rtype: string """ return self.data + b"\x00" def set_off(self, off): self.offset = off def get_off(self): return self.offset def reload(self): pass def get_unicode(self): """ Returns an Unicode String This is the actual string. Beware that some strings might be not decodeable with usual UTF-16 decoder, as they use surrogates that are not supported by python. """ s = mutf8.decode(self.data) assert len(s) == self.utf16_size, "UTF16 Length does not match!" # Return a UTF16 String return s def get(self): """ Returns a printable string. In this case, all lonely surrogates are escaped, thus are represented in the string as 6 characters: \\ud853 Valid surrogates are encoded as 32bit values, ie. \U00024f5c. """ s = mutf8.decode(self.data) assert len(s) == self.utf16_size, "UTF16 Length does not match!" # log.debug("Decoding UTF16 string with IDX {}, utf16 length {} and hexdata '{}'.".format(self.offset, self.utf16_size, binascii.hexlify(self.data))) return mutf8.patch_string(s) def show(self): bytecode._PrintSubBanner("String Data Item") bytecode._PrintDefault("utf16_size=%d data=%s\n" % (self.utf16_size, repr(self.get()))) def get_obj(self): return [] def get_raw(self): """ Returns the raw string including the ULEB128 coded length and null byte string terminator :return: bytes """ return writeuleb128(self.utf16_size) + self.data + b"\x00" def get_length(self): """ Get the length of the raw string including the ULEB128 coded length and the null byte terminator :return: int """ return len(writeuleb128(self.utf16_size)) + len(self.data) + 1 class StringIdItem(object): """ This class can parse a string_id_item of a dex file :param buff: a string which represents a Buff object of the string_id_item :type buff: Buff object :param cm: a ClassManager object :type cm: :class:`ClassManager` """ def __init__(self, buff, cm): self.CM = cm self.offset = buff.get_idx() self.string_data_off = unpack("=I", buff.read(4))[0] def get_string_data_off(self): """ Return the offset from the start of the file to the string data for this item :rtype: int """ return self.string_data_off def set_off(self, off): self.offset = off def get_off(self): return self.offset def reload(self): pass def show(self): bytecode._PrintSubBanner("String Id Item") bytecode._PrintDefault("string_data_off=%x\n" % self.string_data_off) def get_obj(self): if self.string_data_off != 0: self.string_data_off = self.CM.get_string_by_offset( self.string_data_off).get_off() return pack("=I", self.string_data_off) def get_raw(self): return self.get_obj() def get_length(self): return len(self.get_obj()) class TypeIdItem(object): """ This class can parse a type_id_item of a dex file :param buff: a string which represents a Buff object of the type_id_item :type buff: Buff object :param cm: a ClassManager object :type cm: :class:`ClassManager` """ def __init__(self, buff, cm): self.CM = cm self.offset = buff.get_idx() self.descriptor_idx = unpack("=I", buff.read(4))[0] self.descriptor_idx_value = None def get_descriptor_idx(self): """ Return the index into the string_ids list for the descriptor string of this type :rtype: int """ return self.descriptor_idx def get_descriptor_idx_value(self): """ Return the string associated to the descriptor :rtype: string """ return self.descriptor_idx_value def reload(self): self.descriptor_idx_value = self.CM.get_string(self.descriptor_idx) def show(self): bytecode._PrintSubBanner("Type Id Item") bytecode._PrintDefault("descriptor_idx=%d descriptor_idx_value=%s\n" % (self.descriptor_idx, self.descriptor_idx_value)) def get_obj(self): return pack("=I", self.descriptor_idx) def get_raw(self): return self.get_obj() def get_length(self): return len(self.get_obj()) class TypeHIdItem(object): """ This class can parse a list of type_id_item of a dex file :param buff: a string which represents a Buff object of the list of type_id_item :type buff: Buff object :param cm: a ClassManager object :type cm: :class:`ClassManager` """ def __init__(self, size, buff, cm): self.CM = cm self.offset = buff.get_idx() self.type = [] for i in range(0, size): self.type.append(TypeIdItem(buff, cm)) def get_type(self): """ Return the list of type_id_item :rtype: a list of :class:`TypeIdItem` objects """ return self.type def get(self, idx): try: return self.type[idx].get_descriptor_idx() except IndexError: return -1 def set_off(self, off): self.offset = off def get_off(self): return self.offset def reload(self): for i in self.type: i.reload() def show(self): bytecode._PrintSubBanner("Type List Item") for i in self.type: i.show() def get_obj(self): return [i for i in self.type] def get_raw(self): return b''.join(i.get_raw() for i in self.type) def get_length(self): length = 0 for i in self.type: length += i.get_length() return length class ProtoIdItem(object): """ This class can parse a proto_id_item of a dex file :param buff: a string which represents a Buff object of the proto_id_item :type buff: Buff object :param cm: a ClassManager object :type cm: :class:`ClassManager` """ def __init__(self, buff, cm): self.CM = cm self.offset = buff.get_idx() self.shorty_idx = unpack("=I", buff.read(4))[0] self.return_type_idx = unpack("=I", buff.read(4))[0] self.parameters_off = unpack("=I", buff.read(4))[0] self.shorty_idx_value = None self.return_type_idx_value = None self.parameters_off_value = None def reload(self): self.shorty_idx_value = self.CM.get_string(self.shorty_idx) self.return_type_idx_value = self.CM.get_type(self.return_type_idx) def get_shorty_idx(self): """ Return the index into the string_ids list for the short-form descriptor string of this prototype :rtype: int """ return self.shorty_idx def get_return_type_idx(self): """ Return the index into the type_ids list for the return type of this prototype :rtype: int """ return self.return_type_idx def get_parameters_off(self): """ Return the offset from the start of the file to the list of parameter types for this prototype, or 0 if this prototype has no parameters :rtype: int """ return self.parameters_off def get_shorty_idx_value(self): """ Return the string associated to the shorty_idx :rtype: string """ if self.shorty_idx_value is None: self.shorty_idx_value = self.CM.get_string(self.shorty_idx) return self.shorty_idx_value def get_return_type_idx_value(self): """ Return the string associated to the return_type_idx :rtype: string """ if self.return_type_idx_value is None: self.return_type_idx_value = self.CM.get_type(self.return_type_idx) return self.return_type_idx_value def get_parameters_off_value(self): """ Return the string associated to the parameters_off :rtype: string """ if self.parameters_off_value is None: params = self.CM.get_type_list(self.parameters_off) self.parameters_off_value = '({})'.format(' '.join(params)) return self.parameters_off_value def show(self): bytecode._PrintSubBanner("Proto Item") bytecode._PrintDefault( "shorty_idx=%d return_type_idx=%d parameters_off=%d\n" % (self.shorty_idx, self.return_type_idx, self.parameters_off)) bytecode._PrintDefault( "shorty_idx_value=%s return_type_idx_value=%s parameters_off_value=%s\n" % (self.shorty_idx_value, self.return_type_idx_value, self.parameters_off_value)) def get_obj(self): if self.parameters_off != 0: self.parameters_off = self.CM.get_obj_by_offset( self.parameters_off).get_off() return pack("=I", self.shorty_idx) + pack( "=I", self.return_type_idx) + pack("=I", self.parameters_off) def get_raw(self): return self.get_obj() def get_length(self): return len(self.get_obj()) class ProtoHIdItem(object): """ This class can parse a list of proto_id_item of a dex file :param buff: a string which represents a Buff object of the list of proto_id_item :type buff: Buff object :param cm: a ClassManager object :type cm: :class:`ClassManager` """ def __init__(self, size, buff, cm): self.CM = cm self.offset = buff.get_idx() self.proto = [] for i in range(0, size): self.proto.append(ProtoIdItem(buff, cm)) def set_off(self, off): self.offset = off def get_off(self): return self.offset def get(self, idx): try: return self.proto[idx] except IndexError: return ProtoIdItemInvalid() def reload(self): for i in self.proto: i.reload() def show(self): bytecode._PrintSubBanner("Proto List Item") for i in self.proto: i.show() def get_obj(self): return [i for i in self.proto] def get_raw(self): return b''.join(i.get_raw() for i in self.proto) def get_length(self): length = 0 for i in self.proto: length += i.get_length() return length class FieldIdItem(object): """ This class can parse a field_id_item of a dex file :param buff: a string which represents a Buff object of the field_id_item :type buff: Buff object :param cm: a ClassManager object :type cm: :class:`ClassManager` """ def __init__(self, buff, cm): self.CM = cm self.offset = buff.get_idx() self.class_idx = unpack("=H", buff.read(2))[0] self.type_idx = unpack("=H", buff.read(2))[0] self.name_idx = unpack("=I", buff.read(4))[0] self.class_idx_value = None self.type_idx_value = None self.name_idx_value = None def reload(self): self.class_idx_value = self.CM.get_type(self.class_idx) self.type_idx_value = self.CM.get_type(self.type_idx) self.name_idx_value = self.CM.get_string(self.name_idx) def get_class_idx(self): """ Return the index into the type_ids list for the definer of this field :rtype: int """ return self.class_idx def get_type_idx(self): """ Return the index into the type_ids list for the type of this field :rtype: int """ return self.type_idx def get_name_idx(self): """ Return the index into the string_ids list for the name of this field :rtype: int """ return self.name_idx def get_class_name(self): """ Return the class name of the field :rtype: string """ if self.class_idx_value is None: self.class_idx_value = self.CM.get_type(self.class_idx) return self.class_idx_value def get_type(self): """ Return the type of the field :rtype: string """ if self.type_idx_value is None: self.type_idx_value = self.CM.get_type(self.type_idx) return self.type_idx_value def get_descriptor(self): """ Return the descriptor of the field :rtype: string """ if self.type_idx_value is None: self.type_idx_value = self.CM.get_type(self.type_idx) return self.type_idx_value def get_name(self): """ Return the name of the field :rtype: string """ if self.name_idx_value is None: self.name_idx_value = self.CM.get_string(self.name_idx) return self.name_idx_value def get_list(self): return [self.get_class_name(), self.get_type(), self.get_name()] def show(self): bytecode._PrintSubBanner("Field Id Item") bytecode._PrintDefault("class_idx=%d type_idx=%d name_idx=%d\n" % (self.class_idx, self.type_idx, self.name_idx)) bytecode._PrintDefault( "class_idx_value=%s type_idx_value=%s name_idx_value=%s\n" % (self.class_idx_value, self.type_idx_value, self.name_idx_value)) def get_obj(self): return pack("=H", self.class_idx) + \ pack("=H", self.type_idx) + \ pack("=I", self.name_idx) def get_raw(self): return self.get_obj() def get_length(self): return len(self.get_obj()) class FieldHIdItem(object): """ This class can parse a list of field_id_item of a dex file :param buff: a string which represents a Buff object of the list of field_id_item :type buff: Buff object :param cm: a ClassManager object :type cm: :class:`ClassManager` """ def __init__(self, size, buff, cm): self.offset = buff.get_idx() self.elem = [] for i in range(0, size): self.elem.append(FieldIdItem(buff, cm)) def set_off(self, off): self.offset = off def get_off(self): return self.offset def gets(self): return self.elem def get(self, idx): try: return self.elem[idx] except IndexError: return FieldIdItemInvalid() def reload(self): for i in self.elem: i.reload() def show(self): nb = 0 for i in self.elem: print(nb, end=' ') i.show() nb = nb + 1 def get_obj(self): return [i for i in self.elem] def get_raw(self): return b''.join(i.get_raw() for i in self.elem) def get_length(self): length = 0 for i in self.elem: length += i.get_length() return length class MethodIdItem(object): """ This class can parse a method_id_item of a dex file :param buff: a string which represents a Buff object of the method_id_item :type buff: Buff object :param cm: a ClassManager object :type cm: :class:`ClassManager` """ def __init__(self, buff, cm): self.CM = cm self.offset = buff.get_idx() self.class_idx = unpack("=H", buff.read(2))[0] self.proto_idx = unpack("=H", buff.read(2))[0] self.name_idx = unpack("=I", buff.read(4))[0] self.class_idx_value = None self.proto_idx_value = None self.name_idx_value = None def reload(self): self.class_idx_value = self.CM.get_type(self.class_idx) self.proto_idx_value = self.CM.get_proto(self.proto_idx) self.name_idx_value = self.CM.get_string(self.name_idx) def get_class_idx(self): """ Return the index into the type_ids list for the definer of this method :rtype: int """ return self.class_idx def get_proto_idx(self): """ Return the index into the proto_ids list for the prototype of this method :rtype: int """ return self.proto_idx def get_name_idx(self): """ Return the index into the string_ids list for the name of this method :rtype: int """ return self.name_idx def get_class_name(self): """ Return the class name of the method :rtype: string """ if self.class_idx_value is None: self.class_idx_value = self.CM.get_type(self.class_idx) return self.class_idx_value def get_proto(self): """ Return the prototype of the method :rtype: string """ if self.proto_idx_value is None: self.proto_idx_value = self.CM.get_proto(self.proto_idx) return self.proto_idx_value def get_descriptor(self): """ Return the descriptor :rtype: string """ proto = self.get_proto() return proto[0] + proto[1] def get_real_descriptor(self): """ Return the real descriptor (i.e. without extra spaces) :rtype: string """ proto = self.get_proto() return proto[0].replace(' ', '') + proto[1] def get_name(self): """ Return the name of the method :rtype: string """ if self.name_idx_value is None: self.name_idx_value = self.CM.get_string(self.name_idx) return self.name_idx_value def get_list(self): return [self.get_class_name(), self.get_name(), self.get_proto()] def get_triple(self): return self.get_class_name()[1:-1], self.get_name( ), self.get_real_descriptor() def show(self): bytecode._PrintSubBanner("Method Id Item") bytecode._PrintDefault("class_idx=%d proto_idx=%d name_idx=%d\n" % (self.class_idx, self.proto_idx, self.name_idx)) bytecode._PrintDefault( "class_idx_value=%s proto_idx_value=%s name_idx_value=%s\n" % (self.class_idx_value, self.proto_idx_value, self.name_idx_value)) def get_obj(self): return pack("H", self.class_idx) + pack("H", self.proto_idx) + pack( "I", self.name_idx) def get_raw(self): return self.get_obj() def get_length(self): return len(self.get_obj()) class MethodHIdItem(object): """ This class can parse a list of method_id_item of a dex file :param buff: a string which represents a Buff object of the list of method_id_item :type buff: Buff object :param cm: a ClassManager object :type cm: :class:`ClassManager` """ def __init__(self, size, buff, cm): self.CM = cm self.offset = buff.get_idx() self.methods = [] for i in range(0, size): self.methods.append(MethodIdItem(buff, cm)) def set_off(self, off): self.offset = off def get_off(self): return self.offset def get(self, idx): try: return self.methods[idx] except IndexError: return MethodIdItemInvalid() def reload(self): for i in self.methods: i.reload() def show(self): print("METHOD_ID_ITEM") nb = 0 for i in self.methods: print(nb, end=' ') i.show() nb = nb + 1 def get_obj(self): return [i for i in self.methods] def get_raw(self): return b''.join(i.get_raw() for i in self.methods) def get_length(self): length = 0 for i in self.methods: length += i.get_length() return length class ProtoIdItemInvalid(object): def get_params(self): return "AG:IPI:invalid_params;" def get_shorty(self): return "(AG:IPI:invalid_shorty)" def get_return_type(self): return "(AG:IPI:invalid_return_type)" def show(self): print("AG:IPI:invalid_proto_item", self.get_shorty( ), self.get_return_type(), self.get_params()) class FieldIdItemInvalid(object): def get_class_name(self): return "AG:IFI:invalid_class_name;" def get_type(self): return "(AG:IFI:invalid_type)" def get_descriptor(self): return "(AG:IFI:invalid_descriptor)" def get_name(self): return "AG:IFI:invalid_name" def get_list(self): return [self.get_class_name(), self.get_type(), self.get_name()] def show(self): print("AG:IFI:invalid_field_item") class MethodIdItemInvalid(object): def get_class_name(self): return "AG:IMI:invalid_class_name;" def get_descriptor(self): return "(AG:IMI:invalid_descriptor)" def get_proto(self): return "()AG:IMI:invalid_proto" def get_name(self): return "AG:IMI:invalid_name" def get_list(self): return [self.get_class_name(), self.get_name(), self.get_proto()] def show(self): print("AG:IMI:invalid_method_item") class EncodedField(object): """ This class can parse an encoded_field of a dex file :param buff: a string which represents a Buff object of the encoded field :type buff: Buff object :param cm: a ClassManager object :type cm: :class:`ClassManager` """ def __init__(self, buff, cm): self.CM = cm self.offset = buff.get_idx() self.field_idx_diff = readuleb128(buff) self.access_flags = readuleb128(buff) self.field_idx = 0 self.name = None self.proto = None self.class_name = None self.init_value = None self.access_flags_string = None self.loaded = False def load(self): if self.loaded: return self.reload() self.loaded = True def reload(self): name = self.CM.get_field(self.field_idx) self.class_name = name[0] self.name = name[2] self.proto = ''.join(i for i in name[1]) def set_init_value(self, value): """ Setup the init value object of the field :param value: the init value :type value: :class:`EncodedValue` """ self.init_value = value def get_init_value(self): """ Return the init value object of the field :rtype: :class:`EncodedValue` """ return self.init_value def adjust_idx(self, val): self.field_idx = self.field_idx_diff + val def get_field_idx_diff(self): """ Return the index into the field_ids list for the identity of this field (includes the name and descriptor), represented as a difference from the index of previous element in the list :rtype: int """ return self.field_idx_diff def get_field_idx(self): """ Return the real index of the method :rtype: int """ return self.field_idx def get_access_flags(self): """ Return the access flags of the field :rtype: int """ return self.access_flags def get_class_name(self): """ Return the class name of the field :rtype: string """ if not self.loaded: self.load() return self.class_name def get_descriptor(self): """ Return the descriptor of the field The descriptor of a field is the type of the field. :rtype: string """ if not self.loaded: self.load() return self.proto def get_name(self): """ Return the name of the field :rtype: string """ if not self.loaded: self.load() return self.name def get_access_flags_string(self): """ Return the access flags string of the field :rtype: string """ if self.access_flags_string is None: self.access_flags_string = get_access_flags_string( self.get_access_flags()) if self.access_flags_string == "": self.access_flags_string = "0x%x" % self.get_access_flags() return self.access_flags_string def set_name(self, value): self.CM.set_hook_field_name(self, value) self.reload() def get_obj(self): return [] def get_raw(self): return writeuleb128(self.field_idx_diff) + writeuleb128( self.access_flags) def get_size(self): return len(self.get_raw()) def show(self): """ Display the information (with a pretty print) about the field """ bytecode._PrintSubBanner("Field Information") bytecode._PrintDefault("%s->%s %s [access_flags=%s]\n" % ( self.get_class_name(), self.get_name(), self.get_descriptor(), self.get_access_flags_string())) init_value = self.get_init_value() if init_value is not None: bytecode._PrintDefault("\tinit value: %s\n" % str(init_value.get_value())) def __str__(self): return "%s->%s %s [access_flags=%s]\n" % ( self.get_class_name(), self.get_name(), self.get_descriptor(), self.get_access_flags_string()) class EncodedMethod(object): """ This class can parse an encoded_method of a dex file :param buff: a string which represents a Buff object of the encoded_method :type buff: Buff object :param cm: a ClassManager object :type cm: :class:`ClassManager` """ def __init__(self, buff, cm): self.CM = cm self.offset = buff.get_idx() self.method_idx_diff = readuleb128(buff) #: method index diff in the corresponding section self.access_flags = readuleb128(buff) #: access flags of the method self.code_off = readuleb128(buff) #: offset of the code section self.method_idx = 0 self.name = None self.proto = None self.class_name = None self.code = None self.access_flags_string = None self.notes = [] self.loaded = False def adjust_idx(self, val): self.method_idx = self.method_idx_diff + val def get_method_idx(self): """ Return the real index of the method :rtype: int """ return self.method_idx def get_method_idx_diff(self): """ Return index into the method_ids list for the identity of this method (includes the name and descriptor), represented as a difference from the index of previous element in the lis :rtype: int """ return self.method_idx_diff def get_access_flags(self): """ Return the access flags of the method :rtype: int """ return self.access_flags def get_code_off(self): """ Return the offset from the start of the file to the code structure for this method, or 0 if this method is either abstract or native :rtype: int """ return self.code_off def get_address(self): """ Return the offset from the start of the file to the code structure for this method, or 0 if this method is either abstract or native :rtype: int """ return self.code_off + 0x10 def get_access_flags_string(self): """ Return the access flags string of the method A description of all access flags can be found here: https://source.android.com/devices/tech/dalvik/dex-format#access-flags :rtype: string """ if self.access_flags_string is None: self.access_flags_string = get_access_flags_string(self.get_access_flags()) if self.access_flags_string == "" and self.get_access_flags() != 0x0: self.access_flags_string = "0x%x" % self.get_access_flags() return self.access_flags_string def load(self): if self.loaded: return self.reload() self.loaded = True def reload(self): v = self.CM.get_method(self.method_idx) # TODO this can probably be more elegant: # get_method returns an array with the already resolved types. # But for example to count the number of parameters, we need to split the string now. # This is quite tedious and could be avoided if we would return the type IDs # instead and resolve them here. if v and len(v) >= 3: self.class_name = v[0] self.name = v[1] self.proto = ''.join(i for i in v[2]) else: self.class_name = 'CLASS_NAME_ERROR' self.name = 'NAME_ERROR' self.proto = 'PROTO_ERROR' self.code = self.CM.get_code(self.code_off) def get_locals(self): ret = self.proto.split(')') params = ret[0][1:].split() return self.code.get_registers_size() - len(params) - 1 def get_information(self): info = {} if self.code: nb = self.code.get_registers_size() proto = self.get_descriptor() ret = proto.split(')') params = ret[0][1:].split() ret = proto.split(')') params = ret[0][1:].split() if params: info["registers"] = (0, nb - len(params) - 1) j = 0 info["params"] = [] for i in range(nb - len(params), nb): info["params"].append((i, get_type(params[j]))) j += 1 else: info["registers"] = (0, nb - 1) info["return"] = get_type(ret[1]) return info def each_params_by_register(self, nb, proto): """ From the Dalvik Bytecode documentation: > The N arguments to a method land in the last N registers > of the method's invocation frame, in order. > Wide arguments consume two registers. > Instance methods are passed a this reference as their first argument. This method will print a description of the register usage to stdout. :param nb: number of registers :param proto: descriptor of method """ bytecode._PrintSubBanner("Params") ret = proto.split(')') params = ret[0][1:].split() if params: bytecode._PrintDefault("- local registers: v%d...v%d\n" % (0, nb - len(params) - 1)) j = 0 for i in range(nb - len(params), nb): bytecode._PrintDefault("- v%d: %s\n" % (i, get_type(params[j]))) j += 1 else: bytecode._PrintDefault("local registers: v%d...v%d\n" % (0, nb - 1)) bytecode._PrintDefault("- return: %s\n" % get_type(ret[1])) bytecode._PrintSubBanner() def __str__(self): return "%s->%s%s [access_flags=%s] @ 0x%x" % ( self.get_class_name(), self.get_name(), self.get_descriptor(), self.get_access_flags_string(), self.get_code_off()) def show_info(self): """ Display the basic information about the method """ bytecode._PrintSubBanner("Method Information") bytecode._PrintDefault("%s->%s%s [access_flags=%s]\n" % ( self.get_class_name(), self.get_name(), self.get_descriptor(), self.get_access_flags_string())) def show(self): """ Display the information (with a pretty print) about the method """ self.show_info() self.show_notes() if self.code: self.each_params_by_register(self.code.get_registers_size(), self.get_descriptor()) self.code.show() def show_notes(self): """ Display the notes about the method """ if self.notes: bytecode._PrintSubBanner("Notes") for i in self.notes: bytecode._PrintNote(i) bytecode._PrintSubBanner() def source(self): """ Return the source code of this method :rtype: string """ self.CM.decompiler_ob.display_source(self) def get_source(self): return self.CM.decompiler_ob.get_source_method(self) def get_length(self): """ Return the length of the associated code of the method :rtype: int """ if self.code is not None: return self.code.get_length() return 0 def get_code(self): """ Return the code object associated to the method :rtype: :class:`DalvikCode` object or None if no Code """ if not self.loaded: self.load() return self.code def is_cached_instructions(self): if self.code is None: return False return self.code.get_bc().is_cached_instructions() def get_instructions(self): """ Get the instructions :rtype: a generator of each :class:`Instruction` (or a cached list of instructions if you have setup instructions) """ if self.code is None: return [] return self.code.get_bc().get_instructions() def set_instructions(self, instructions): """ Set the instructions :param instructions: the list of instructions :type instructions: a list of :class:`Instruction` """ if self.code is None: return [] return self.code.get_bc().set_instructions(instructions) def get_instruction(self, idx, off=None): """ Get a particular instruction by using (default) the index of the address if specified :param idx: index of the instruction (the position in the list of the instruction) :type idx: int :param off: address of the instruction :type off: int :rtype: an :class:`Instruction` object """ if self.code is not None: return self.code.get_bc().get_instruction(idx, off) return None def get_debug(self): """ Return the debug object associated to this method :rtype: :class:`DebugInfoItem` """ if self.code is None: return None return self.code.get_debug() def get_descriptor(self): """ Return the descriptor of the method A method descriptor will have the form (A A A ...)R Where A are the arguments to the method and R is the return type. Basic types will have the short form, i.e. I for integer, V for void and class types will be named like a classname, e.g. Ljava/lang/String;. Typical descriptors will look like this: ``` (I)I // one integer argument, integer return (C)Z // one char argument, boolean as return (Ljava/lang/CharSequence; I)I // CharSequence and integer as argyument, integer as return (C)Ljava/lang/String; // char as argument, String as return. ``` More information about type descriptors are found here: https://source.android.com/devices/tech/dalvik/dex-format#typedescriptor :rtype: string """ if not self.loaded: self.load() return self.proto def get_class_name(self): """ Return the class name of the method :rtype: string """ if not self.loaded: self.load() return self.class_name def get_name(self): """ Return the name of the method :rtype: string """ if not self.loaded: self.load() return self.name def get_triple(self): return self.CM.get_method_ref(self.method_idx).get_triple() def add_inote(self, msg, idx, off=None): """ Add a message to a specific instruction by using (default) the index of the address if specified :param msg: the message :type msg: string :param idx: index of the instruction (the position in the list of the instruction) :type idx: int :param off: address of the instruction :type off: int """ if self.code is not None: self.code.add_inote(msg, idx, off) def add_note(self, msg): """ Add a message to this method :param msg: the message :type msg: string """ self.notes.append(msg) def set_code_idx(self, idx): """ Set the start address of the buffer to disassemble :param idx: the index :type idx: int """ if self.code is not None: self.code.set_idx(idx) def set_name(self, value): self.CM.set_hook_method_name(self, value) self.reload() def get_raw(self): if self.code is not None: self.code_off = self.code.get_off() return writeuleb128(self.method_idx_diff) + writeuleb128( self.access_flags) + writeuleb128(self.code_off) def get_size(self): return len(self.get_raw()) class ClassDataItem(object): """ This class can parse a class_data_item of a dex file :param buff: a string which represents a Buff object of the class_data_item :type buff: Buff object :param cm: a ClassManager object :type cm: :class:`ClassManager` """ def __init__(self, buff, cm): self.CM = cm self.offset = buff.get_idx() self.static_fields_size = readuleb128(buff) self.instance_fields_size = readuleb128(buff) self.direct_methods_size = readuleb128(buff) self.virtual_methods_size = readuleb128(buff) self.static_fields = [] self.instance_fields = [] self.direct_methods = [] self.virtual_methods = [] self._load_elements(self.static_fields_size, self.static_fields, EncodedField, buff, cm) self._load_elements(self.instance_fields_size, self.instance_fields, EncodedField, buff, cm) self._load_elements(self.direct_methods_size, self.direct_methods, EncodedMethod, buff, cm) self._load_elements(self.virtual_methods_size, self.virtual_methods, EncodedMethod, buff, cm) def reload(self): pass def get_static_fields_size(self): """ Return the number of static fields defined in this item :rtype: int """ return self.static_fields_size def get_instance_fields_size(self): """ Return the number of instance fields defined in this item :rtype: int """ return self.instance_fields_size def get_direct_methods_size(self): """ Return the number of direct methods defined in this item :rtype: int """ return self.direct_methods_size def get_virtual_methods_size(self): """ Return the number of virtual methods defined in this item :rtype: int """ return self.virtual_methods_size def get_static_fields(self): """ Return the defined static fields, represented as a sequence of encoded elements :rtype: a list of :class:`EncodedField` objects """ return self.static_fields def get_instance_fields(self): """ Return the defined instance fields, represented as a sequence of encoded elements :rtype: a list of :class:`EncodedField` objects """ return self.instance_fields def get_direct_methods(self): """ Return the defined direct (any of static, private, or constructor) methods, represented as a sequence of encoded elements :rtype: a list of :class:`EncodedMethod` objects """ return self.direct_methods def get_virtual_methods(self): """ Return the defined virtual (none of static, private, or constructor) methods, represented as a sequence of encoded elements :rtype: a list of :class:`EncodedMethod` objects """ return self.virtual_methods def get_methods(self): """ Return direct and virtual methods :rtype: a list of :class:`EncodedMethod` objects """ return [x for x in self.direct_methods] + [x for x in self.virtual_methods] def get_fields(self): """ Return static and instance fields :rtype: a list of :class:`EncodedField` objects """ return [x for x in self.static_fields] + [x for x in self.instance_fields] def set_off(self, off): self.offset = off def set_static_fields(self, value): if value is not None: values = value.get_values() if len(values) <= len(self.static_fields): for i in range(0, len(values)): self.static_fields[i].set_init_value(values[i]) def _load_elements(self, size, l, Type, buff, cm): prev = 0 for i in range(0, size): el = Type(buff, cm) el.adjust_idx(prev) if isinstance(el, EncodedField): prev = el.get_field_idx() else: prev = el.get_method_idx() l.append(el) def show(self): bytecode._PrintSubBanner("Class Data Item") bytecode._PrintDefault( "static_fields_size=%d instance_fields_size=%d direct_methods_size=%d virtual_methods_size=%d\n" % \ (self.static_fields_size, self.instance_fields_size, self.direct_methods_size, self.virtual_methods_size)) bytecode._PrintSubBanner("Static Fields") for i in self.static_fields: i.show() bytecode._PrintSubBanner("Instance Fields") for i in self.instance_fields: i.show() bytecode._PrintSubBanner("Direct Methods") for i in self.direct_methods: i.show() bytecode._PrintSubBanner("Virtual Methods") for i in self.virtual_methods: i.show() def get_obj(self): return [i for i in self.static_fields] + \ [i for i in self.instance_fields] + \ [i for i in self.direct_methods] + \ [i for i in self.virtual_methods] def get_raw(self): buff = writeuleb128(self.static_fields_size) + \ writeuleb128(self.instance_fields_size) + \ writeuleb128(self.direct_methods_size) + \ writeuleb128(self.virtual_methods_size) + \ b''.join(i.get_raw() for i in self.static_fields) + \ b''.join(i.get_raw() for i in self.instance_fields) + \ b''.join(i.get_raw() for i in self.direct_methods) + \ b''.join(i.get_raw() for i in self.virtual_methods) return buff def get_length(self): length = len(writeuleb128(self.static_fields_size)) + \ len(writeuleb128(self.instance_fields_size)) + \ len(writeuleb128(self.direct_methods_size)) + \ len(writeuleb128(self.virtual_methods_size)) for i in self.static_fields: length += i.get_size() for i in self.instance_fields: length += i.get_size() for i in self.direct_methods: length += i.get_size() for i in self.virtual_methods: length += i.get_size() return length def get_off(self): return self.offset class ClassDefItem(object): """ This class can parse a class_def_item of a dex file :param buff: a string which represents a Buff object of the class_def_item :type buff: Buff object :param cm: a ClassManager object :type cm: :class:`ClassManager` """ def __init__(self, buff, cm): self.CM = cm self.offset = buff.get_idx() self.class_idx = unpack("=I", buff.read(4))[0] self.access_flags = unpack("=I", buff.read(4))[0] self.superclass_idx = unpack("=I", buff.read(4))[0] self.interfaces_off = unpack("=I", buff.read(4))[0] self.source_file_idx = unpack("=I", buff.read(4))[0] self.annotations_off = unpack("=I", buff.read(4))[0] self.class_data_off = unpack("=I", buff.read(4))[0] self.static_values_off = unpack("=I", buff.read(4))[0] self.interfaces = [] self.class_data_item = None self.static_values = None self.name = None self.sname = None self.access_flags_string = None def reload(self): self.name = self.CM.get_type(self.class_idx) self.sname = self.CM.get_type(self.superclass_idx) self.interfaces = self.CM.get_type_list(self.interfaces_off) if self.class_data_off != 0: self.class_data_item = self.CM.get_class_data_item( self.class_data_off) self.class_data_item.reload() if self.static_values_off != 0: self.static_values = self.CM.get_encoded_array_item( self.static_values_off) if self.class_data_item is not None: self.class_data_item.set_static_fields( self.static_values.get_value()) def __str__(self): return "%s->%s" % (self.get_superclassname(), self.get_name()) def __repr__(self): return "".format(self.__str__()) def get_methods(self): """ Return all methods of this class :rtype: a list of :class:`EncodedMethod` objects """ if self.class_data_item is not None: return self.class_data_item.get_methods() return [] def get_fields(self): """ Return all fields of this class :rtype: a list of :class:`EncodedField` objects """ if self.class_data_item is not None: return self.class_data_item.get_fields() return [] def get_class_idx(self): """ Return the index into the type_ids list for this class :rtype: int """ return self.class_idx def get_access_flags(self): """ Return the access flags for the class (public, final, etc.) :rtype: int """ return self.access_flags def get_superclass_idx(self): """ Return the index into the type_ids list for the superclass :rtype: int """ return self.superclass_idx def get_interfaces_off(self): """ Return the offset from the start of the file to the list of interfaces, or 0 if there are none :rtype: int """ return self.interfaces_off def get_source_file_idx(self): """ Return the index into the string_ids list for the name of the file containing the original source for (at least most of) this class, or the special value NO_INDEX to represent a lack of this information :rtype: int """ return self.source_file_idx def get_annotations_off(self): """ Return the offset from the start of the file to the annotations structure for this class, or 0 if there are no annotations on this class. :rtype: int """ return self.annotations_off def get_class_data_off(self): """ Return the offset from the start of the file to the associated class data for this item, or 0 if there is no class data for this class :rtype: int """ return self.class_data_off def get_static_values_off(self): """ Return the offset from the start of the file to the list of initial values for static fields, or 0 if there are none (and all static fields are to be initialized with 0 or null) :rtype: int """ return self.static_values_off def get_class_data(self): """ Return the associated class_data_item :rtype: a :class:`ClassDataItem` object """ return self.class_data_item def get_name(self): """ Return the name of this class :rtype: int """ return self.name def get_superclassname(self): """ Return the name of the super class :rtype: string """ return self.sname def get_interfaces(self): """ Return the name of the interface :rtype: string """ return self.interfaces def get_access_flags_string(self): """ Return the access flags string of the class :rtype: string """ if self.access_flags_string is None: self.access_flags_string = get_access_flags_string( self.get_access_flags()) if self.access_flags_string == "": self.access_flags_string = "0x%x" % self.get_access_flags() return self.access_flags_string def show(self): bytecode._PrintSubBanner("Class Def Item") bytecode._PrintDefault( "name=%s, sname=%s, interfaces=%s, access_flags=%s\n" % (self.name, self.sname, self.interfaces, self.get_access_flags_string())) bytecode._PrintDefault( "class_idx=%d, superclass_idx=%d, interfaces_off=%x, source_file_idx=%d, annotations_off=%x, class_data_off=%x, static_values_off=%x\n" % (self.class_idx, self.superclass_idx, self.interfaces_off, self.source_file_idx, self.annotations_off, self.class_data_off, self.static_values_off)) for method in self.get_methods(): method.show() def source(self): """ Return the source code of the entire class :rtype: string """ self.CM.decompiler_ob.display_all(self) def get_source(self): return self.CM.decompiler_ob.get_source_class(self) def get_source_ext(self): return self.CM.decompiler_ob.get_source_class_ext(self) def get_ast(self): return self.CM.decompiler_ob.get_ast_class(self) def set_name(self, value): self.CM.set_hook_class_name(self, value) def get_obj(self): if self.interfaces_off != 0: self.interfaces_off = self.CM.get_obj_by_offset( self.interfaces_off).get_off() if self.annotations_off != 0: self.annotations_off = self.CM.get_obj_by_offset( self.annotations_off).get_off() if self.class_data_off != 0: self.class_data_off = self.CM.get_obj_by_offset( self.class_data_off).get_off() if self.static_values_off != 0: self.static_values_off = self.CM.get_obj_by_offset( self.static_values_off).get_off() return pack("=I", self.class_idx) + \ pack("=I", self.access_flags) + \ pack("=I", self.superclass_idx) + \ pack("=I", self.interfaces_off) + \ pack("=I", self.source_file_idx) + \ pack("=I", self.annotations_off) + \ pack("=I", self.class_data_off) + \ pack("=I", self.static_values_off) def get_raw(self): return self.get_obj() def get_length(self): return len(self.get_obj()) class ClassHDefItem(object): """ This class can parse a list of class_def_item of a dex file :param buff: a string which represents a Buff object of the list of class_def_item :type buff: Buff object :param cm: a ClassManager object :type cm: :class:`ClassManager` """ def __init__(self, size, buff, cm): self.CM = cm self.offset = buff.get_idx() self.class_def = [] for i in range(0, size): idx = buff.get_idx() class_def = ClassDefItem(buff, cm) self.class_def.append(class_def) buff.set_idx(idx + calcsize("=IIIIIIII")) def set_off(self, off): self.offset = off def get_off(self): return self.offset def get_class_idx(self, idx): for i in self.class_def: if i.get_class_idx() == idx: return i return None def get_method(self, name_class, name_method): l = [] for i in self.class_def: if i.get_name() == name_class: for j in i.get_methods(): if j.get_name() == name_method: l.append(j) return l def get_names(self): return [x.get_name() for x in self.class_def] def reload(self): for i in self.class_def: i.reload() def show(self): for i in self.class_def: i.show() def get_obj(self): return [i for i in self.class_def] def get_raw(self): return b''.join(i.get_raw() for i in self.class_def) def get_length(self): length = 0 for i in self.class_def: length += i.get_length() return length class EncodedTypeAddrPair(object): """ This class can parse an encoded_type_addr_pair of a dex file :param buff: a string which represents a Buff object of the encoded_type_addr_pair :type buff: Buff object :param cm: a ClassManager object :type cm: :class:`ClassManager` """ def __init__(self, buff): self.type_idx = readuleb128(buff) self.addr = readuleb128(buff) def get_type_idx(self): """ Return the index into the type_ids list for the type of the exception to catch :rtype: int """ return self.type_idx def get_addr(self): """ Return the bytecode address of the associated exception handler :rtype: int """ return self.addr def get_obj(self): return [] def show(self): bytecode._PrintSubBanner("Encoded Type Addr Pair") bytecode._PrintDefault("type_idx=%d addr=%x\n" % (self.type_idx, self.addr)) def get_raw(self): return writeuleb128(self.type_idx) + writeuleb128(self.addr) def get_length(self): return len(self.get_raw()) class EncodedCatchHandler(object): """ This class can parse an encoded_catch_handler of a dex file :param buff: a string which represents a Buff object of the encoded_catch_handler :type buff: Buff object :param cm: a ClassManager object :type cm: :class:`ClassManager` """ def __init__(self, buff, cm): self.offset = buff.get_idx() self.size = readsleb128(buff) self.handlers = [] for i in range(0, abs(self.size)): self.handlers.append(EncodedTypeAddrPair(buff)) if self.size <= 0: self.catch_all_addr = readuleb128(buff) def get_size(self): """ Return the number of catch types in this list :rtype: int """ return self.size def get_handlers(self): """ Return the stream of abs(size) encoded items, one for each caught type, in the order that the types should be tested. :rtype: a list of :class:`EncodedTypeAddrPair` objects """ return self.handlers def get_catch_all_addr(self): """ Return the bytecode address of the catch-all handler. This element is only present if size is non-positive. :rtype: int """ return self.catch_all_addr def get_off(self): return self.offset def set_off(self, off): self.offset = off def show(self): bytecode._PrintSubBanner("Encoded Catch Handler") bytecode._PrintDefault("size=%d\n" % self.size) for i in self.handlers: i.show() if self.size <= 0: bytecode._PrintDefault("catch_all_addr=%x\n" % self.catch_all_addr) def get_raw(self): """ :rtype: bytearray """ buff = bytearray() buff += writesleb128(self.size) for i in self.handlers: buff += i.get_raw() if self.size <= 0: buff += writeuleb128(self.catch_all_addr) return buff def get_length(self): length = len(writesleb128(self.size)) for i in self.handlers: length += i.get_length() if self.size <= 0: length += len(writeuleb128(self.catch_all_addr)) return length class EncodedCatchHandlerList(object): """ This class can parse an encoded_catch_handler_list of a dex file :param buff: a string which represents a Buff object of the encoded_catch_handler_list :type buff: Buff object :param cm: a ClassManager object :type cm: :class:`ClassManager` """ def __init__(self, buff, cm): self.offset = buff.get_idx() self.size = readuleb128(buff) self.list = [] for i in range(0, self.size): self.list.append(EncodedCatchHandler(buff, cm)) def get_size(self): """ Return the size of this list, in entries :rtype: int """ return self.size def get_list(self): """ Return the actual list of handler lists, represented directly (not as offsets), and concatenated sequentially :rtype: a list of :class:`EncodedCatchHandler` objects """ return self.list def show(self): bytecode._PrintSubBanner("Encoded Catch Handler List") bytecode._PrintDefault("size=%d\n" % self.size) for i in self.list: i.show() def get_off(self): return self.offset def set_off(self, off): self.offset = off def get_obj(self): return writeuleb128(self.size) def get_raw(self): """ :rtype: bytearray """ buff = bytearray() buff += self.get_obj() for i in self.list: buff += i.get_raw() return buff def get_length(self): length = len(self.get_obj()) for i in self.list: length += i.get_length() return length KIND_METH = 0 KIND_STRING = 1 KIND_FIELD = 2 KIND_TYPE = 3 VARIES = 4 INLINE_METHOD = 5 VTABLE_OFFSET = 6 FIELD_OFFSET = 7 KIND_RAW_STRING = 8 OPERAND_REGISTER = 0 OPERAND_LITERAL = 1 OPERAND_RAW = 2 OPERAND_OFFSET = 3 OPERAND_KIND = 0x100 def get_kind(cm, kind, value): """ Return the value of the 'kind' argument :param cm: a ClassManager object :type cm: :class:`ClassManager` :param kind: the type of the 'kind' argument :type kind: int :param value: the value of the 'kind' argument :type value: int :rtype: string """ if kind == KIND_METH: method = cm.get_method_ref(value) class_name = method.get_class_name() name = method.get_name() descriptor = method.get_descriptor() return "%s->%s%s" % (class_name, name, descriptor) elif kind == KIND_STRING: return repr(cm.get_string(value)) elif kind == KIND_RAW_STRING: return cm.get_string(value) elif kind == KIND_FIELD: class_name, proto, field_name = cm.get_field(value) return "%s->%s %s" % (class_name, field_name, proto) elif kind == KIND_TYPE: return cm.get_type(value) elif kind == VTABLE_OFFSET: return "vtable[0x%x]" % value elif kind == FIELD_OFFSET: return "field[0x%x]" % value elif kind == INLINE_METHOD: buff = "inline[0x%x]" % value # FIXME: depends of the android version ... if len(INLINE_METHODS) > value: elem = INLINE_METHODS[value] buff += " %s->%s%s" % (elem[0], elem[1], elem[2]) return buff return None class Instruction(object): """ This class represents a dalvik instruction """ def get_kind(self): """ Return the 'kind' argument of the instruction :rtype: int """ if self.OP > 0xff: if self.OP >= 0xf2ff: return DALVIK_OPCODES_OPTIMIZED[self.OP][1][1] return DALVIK_OPCODES_EXTENDED_WIDTH[self.OP][1][1] return DALVIK_OPCODES_FORMAT[self.OP][1][1] def get_name(self): """ Return the name of the instruction :rtype: string """ if self.OP > 0xff: if self.OP >= 0xf2ff: return DALVIK_OPCODES_OPTIMIZED[self.OP][1][0] return DALVIK_OPCODES_EXTENDED_WIDTH[self.OP][1][0] return DALVIK_OPCODES_FORMAT[self.OP][1][0] def get_op_value(self): """ Return the value of the opcode :rtype: int """ return self.OP def get_literals(self): """ Return the associated literals :rtype: list of int """ return [] def show(self, idx): """ Print the instruction """ print(self.get_name() + " " + self.get_output(idx), end=' ') def show_buff(self, idx): """ Return the display of the instruction :rtype: string """ return self.get_output(idx) def get_translated_kind(self): """ Return the translated value of the 'kind' argument :rtype: string """ return get_kind(self.cm, self.get_kind(), self.get_ref_kind()) def get_output(self, idx=-1): """ Return an additional output of the instruction :rtype: string """ raise Exception("not implemented") def get_operands(self, idx=-1): """ Return all operands :rtype: list """ raise Exception("not implemented") def get_length(self): """ Return the length of the instruction :rtype: int """ raise Exception("not implemented") def get_raw(self): """ Return the object in a raw format :rtype: string """ raise Exception("not implemented") def get_ref_kind(self): """ Return the value of the 'kind' argument :rtype: value """ raise Exception("not implemented") def get_formatted_operands(self): return None def get_hex(self): s = binascii.hexlify(self.get_raw()).decode("ascii") return " ".join(s[i:i + 2] for i in range(0, len(s), 2)) class InstructionInvalid(Instruction): """ This class represents an invalid instruction """ def __init__(self, cm, buff): super(InstructionInvalid, self).__init__() i16 = unpack("=H", buff[0:2])[0] self.OP = i16 & 0xff # log.debug("OP:%x" % (self.OP)) def get_name(self): """ Return the name of the instruction :rtype: string """ return "AG:invalid_instruction" def get_output(self, idx=-1): return "(OP:%x)" % self.OP def get_operands(self, idx=-1): return [] def get_length(self): return 2 def get_raw(self): return pack("=H", self.OP) class FillArrayData(object): """ This class can parse a FillArrayData instruction :param buff: a Buff object which represents a buffer where the instruction is stored """ def __init__(self, buff): self.notes = [] self.format_general_size = calcsize("=HHI") self.ident = unpack("=H", buff[0:2])[0] self.element_width = unpack("=H", buff[2:4])[0] self.size = unpack("=I", buff[4:8])[0] buf_len = self.size * self.element_width if buf_len % 2: buf_len += 1 self.data = buff[self.format_general_size:self.format_general_size + buf_len] def add_note(self, msg): """ Add a note to this instruction :param msg: the message :type msg: objects (string) """ self.notes.append(msg) def get_notes(self): """ Get all notes from this instruction :rtype: a list of objects """ return self.notes def get_op_value(self): """ Get the value of the opcode :rtype: int """ return self.ident def get_data(self): """ Return the data of this instruction (the payload) :rtype: string """ return self.data def get_output(self, idx=-1): """ Return an additional output of the instruction :rtype: string """ buff = "" data = self.get_data() buff += repr(data) + " | " for i in range(0, len(data)): buff += "\\x{:02x}".format(data[i]) return buff def get_operands(self, idx=-1): return [(OPERAND_RAW, repr(self.get_data()))] def get_formatted_operands(self): return None def get_name(self): """ Return the name of the instruction :rtype: string """ return "fill-array-data-payload" def show_buff(self, pos): """ Return the display of the instruction :rtype: string """ buff = self.get_name() + " " for i in range(0, len(self.data)): buff += "\\x%02x" % self.data[i] return buff def show(self, pos): """ Print the instruction """ print(self.show_buff(pos), end=' ') def get_length(self): """ Return the length of the instruction :rtype: int """ return ((self.size * self.element_width + 1) // 2 + 4) * 2 def get_raw(self): return pack("=H", self.ident) + pack("=H", self.element_width) + pack( "=I", self.size) + self.data def get_hex(self): s = binascii.hexlify(self.get_raw()) return " ".join(s[i:i + 2] for i in range(0, len(s), 2)) class SparseSwitch(object): """ This class can parse a SparseSwitch instruction :param buff: a Buff object which represents a buffer where the instruction is stored """ def __init__(self, buff): self.notes = [] self.format_general_size = calcsize("=HH") self.ident = unpack("=H", buff[0:2])[0] self.size = unpack("=H", buff[2:4])[0] self.keys = [] self.targets = [] idx = self.format_general_size for i in range(0, self.size): self.keys.append(unpack('=l', buff[idx:idx + 4])[0]) idx += 4 for i in range(0, self.size): self.targets.append(unpack('=l', buff[idx:idx + 4])[0]) idx += 4 def add_note(self, msg): """ Add a note to this instruction :param msg: the message :type msg: objects (string) """ self.notes.append(msg) def get_notes(self): """ Get all notes from this instruction :rtype: a list of objects """ return self.notes def get_op_value(self): """ Get the value of the opcode :rtype: int """ return self.ident def get_keys(self): """ Return the keys of the instruction :rtype: a list of long """ return self.keys def get_values(self): return self.get_keys() def get_targets(self): """ Return the targets (address) of the instruction :rtype: a list of long """ return self.targets def get_output(self, idx=-1): """ Return an additional output of the instruction :rtype: string """ return " ".join("%x" % i for i in self.keys) def get_operands(self, idx=-1): """ Return an additional output of the instruction :rtype: string """ return [] def get_formatted_operands(self): return None def get_name(self): """ Return the name of the instruction :rtype: string """ return "sparse-switch-payload" def show_buff(self, pos): """ Return the display of the instruction :rtype: string """ buff = self.get_name() + " " for i in range(0, len(self.keys)): buff += "%x:%x " % (self.keys[i], self.targets[i]) return buff def show(self, pos): """ Print the instruction """ print(self.show_buff(pos), end=' ') def get_length(self): return self.format_general_size + (self.size * calcsize(' len(buff): max_size = len(buff) - idx - 8 for i in range(0, max_size): self.targets.append(unpack('=l', buff[idx:idx + 4])[0]) idx += 4 def add_note(self, msg): """ Add a note to this instruction :param msg: the message :type msg: objects (string) """ self.notes.append(msg) def get_notes(self): """ Get all notes from this instruction :rtype: a list of objects """ return self.notes def get_op_value(self): """ Get the value of the opcode :rtype: int """ return self.ident def get_keys(self): """ Return the keys of the instruction :rtype: a list of long """ return [(self.first_key + i) for i in range(0, len(self.targets))] def get_values(self): return self.get_keys() def get_targets(self): """ Return the targets (address) of the instruction :rtype: a list of long """ return self.targets def get_output(self, idx=-1): """ Return an additional output of the instruction :rtype: string """ return " ".join("%x" % (self.first_key + i) for i in range(0, len(self.targets))) def get_operands(self, idx=-1): """ Return an additional output of the instruction :rtype: string """ return [] def get_formatted_operands(self): return None def get_name(self): """ Return the name of the instruction :rtype: string """ return "packed-switch-payload" def show_buff(self, pos): """ Return the display of the instruction :rtype: string """ buff = self.get_name() + " " buff += "%x:" % self.first_key for i in self.targets: buff += " %x" % i return buff def show(self, pos): """ Print the instruction """ print(self.show_buff(pos), end=' ') def get_length(self): return self.format_general_size + (self.size * calcsize('=L')) def get_raw(self): return pack("=H", self.ident) + pack("=H", self.size) + pack( "=i", self.first_key) + b''.join(pack("=l", i) for i in self.targets) def get_hex(self): s = binascii.hexlify(self.get_raw()) return " ".join(s[i:i + 2] for i in range(0, len(s), 2)) class Instruction35c(Instruction): """ This class represents all instructions which have the 35c format """ def __init__(self, cm, buff): super(Instruction35c, self).__init__() self.cm = cm i16 = unpack("=H", buff[0:2])[0] self.OP = i16 & 0xff self.G = (i16 >> 8) & 0xf self.A = (i16 >> 12) & 0xf self.BBBB = unpack("=H", buff[2:4])[0] i16 = unpack("=H", buff[4:6])[0] self.C = i16 & 0xf self.D = (i16 >> 4) & 0xf self.E = (i16 >> 8) & 0xf self.F = (i16 >> 12) & 0xf def get_output(self, idx=-1): buff = "" kind = get_kind(self.cm, self.get_kind(), self.BBBB) if self.A == 0: buff += "%s" % kind elif self.A == 1: buff += "v%d, %s" % (self.C, kind) elif self.A == 2: buff += "v%d, v%d, %s" % (self.C, self.D, kind) elif self.A == 3: buff += "v%d, v%d, v%d, %s" % (self.C, self.D, self.E, kind) elif self.A == 4: buff += "v%d, v%d, v%d, v%d, %s" % (self.C, self.D, self.E, self.F, kind) elif self.A == 5: buff += "v%d, v%d, v%d, v%d, v%d, %s" % (self.C, self.D, self.E, self.F, self.G, kind) return buff def get_operands(self, idx=-1): l = [] kind = get_kind(self.cm, self.get_kind(), self.BBBB) if self.A == 0: l.append((self.get_kind() + OPERAND_KIND, self.BBBB, kind)) elif self.A == 1: l.extend([(OPERAND_REGISTER, self.C), (self.get_kind( ) + OPERAND_KIND, self.BBBB, kind)]) elif self.A == 2: l.extend([(OPERAND_REGISTER, self.C), (OPERAND_REGISTER, self.D), ( self.get_kind() + OPERAND_KIND, self.BBBB, kind)]) elif self.A == 3: l.extend([(OPERAND_REGISTER, self.C), (OPERAND_REGISTER, self.D), ( OPERAND_REGISTER, self.E), (self.get_kind() + OPERAND_KIND, self.BBBB, kind)]) elif self.A == 4: l.extend([(OPERAND_REGISTER, self.C), (OPERAND_REGISTER, self.D), ( OPERAND_REGISTER, self.E), (OPERAND_REGISTER, self.F), ( self.get_kind() + OPERAND_KIND, self.BBBB, kind)]) elif self.A == 5: l.extend([(OPERAND_REGISTER, self.C), (OPERAND_REGISTER, self.D), ( OPERAND_REGISTER, self.E), (OPERAND_REGISTER, self.F), ( OPERAND_REGISTER, self.G), (self.get_kind() + OPERAND_KIND, self.BBBB, kind)]) return l def get_length(self): return 6 def get_ref_kind(self): return self.BBBB def get_raw(self): return pack("=HHH", (self.A << 12) | (self.G << 8) | self.OP, self.BBBB, (self.F << 12) | (self.E << 8) | (self.D << 4) | self.C) class Instruction10x(Instruction): """ This class represents all instructions which have the 10x format """ def __init__(self, cm, buff): super(Instruction10x, self).__init__() i16 = unpack("=H", buff[0:2])[0] self.OP = i16 & 0xff def get_output(self, idx=-1): return "" def get_operands(self, idx=-1): return [] def get_length(self): return 2 def get_raw(self): return pack("=H", self.OP) class Instruction21h(Instruction): """ This class represents all instructions which have the 21h format """ def __init__(self, cm, buff): super(Instruction21h, self).__init__() i16 = unpack("=H", buff[0:2])[0] self.OP = i16 & 0xff self.AA = (i16 >> 8) & 0xff self.BBBB = unpack("=h", buff[2:4])[0] self.formatted_operands = [] if self.OP == 0x15: self.formatted_operands.append(unpack('=f', bytearray([0, 0]) + pack( '=h', self.BBBB))[0]) elif self.OP == 0x19: self.formatted_operands.append(unpack( '=d', bytearray([0, 0, 0, 0, 0, 0]) + pack('=h', self.BBBB))[0]) def get_length(self): return 4 def get_output(self, idx=-1): buff = "" buff += "v%d, %d" % (self.AA, self.BBBB) if self.formatted_operands: buff += " # %s" % (str(self.formatted_operands)) return buff def get_operands(self, idx=-1): return [(OPERAND_REGISTER, self.AA), (OPERAND_LITERAL, self.BBBB)] def get_formatted_operands(self): return self.formatted_operands def get_literals(self): return [self.BBBB] def get_raw(self): return pack("=Hh", (self.AA << 8) | self.OP, self.BBBB) class Instruction11n(Instruction): """ This class represents all instructions which have the 11n format """ def __init__(self, cm, buff): super(Instruction11n, self).__init__() i16 = unpack("=h", buff[0:2])[0] self.OP = i16 & 0xff self.A = (i16 >> 8) & 0xf self.B = (i16 >> 12) def get_output(self, idx=-1): buff = "" buff += "v%d, %d" % (self.A, self.B) return buff def get_operands(self, idx=-1): return [(OPERAND_REGISTER, self.A), (OPERAND_LITERAL, self.B)] def get_literals(self): return [self.B] def get_length(self): return 2 def get_raw(self): return pack("=h", (self.B << 12) | (self.A << 8) | self.OP) class Instruction21c(Instruction): """ This class represents all instructions which have the 21c format """ def __init__(self, cm, buff): super(Instruction21c, self).__init__() self.cm = cm i16 = unpack("=H", buff[0:2])[0] self.OP = i16 & 0xff self.AA = (i16 >> 8) & 0xff self.BBBB = unpack("=H", buff[2:4])[0] def get_length(self): return 4 def get_output(self, idx=-1): buff = "" kind = get_kind(self.cm, self.get_kind(), self.BBBB) buff += "v%d, %s" % (self.AA, kind) return buff def get_operands(self, idx=-1): kind = get_kind(self.cm, self.get_kind(), self.BBBB) return [(OPERAND_REGISTER, self.AA), (self.get_kind() + OPERAND_KIND, self.BBBB, kind)] def get_ref_kind(self): return self.BBBB def get_string(self): return get_kind(self.cm, self.get_kind(), self.BBBB) def get_raw_string(self): return get_kind(self.cm, KIND_RAW_STRING, self.BBBB) def get_raw(self): return pack("=HH", (self.AA << 8) | self.OP, self.BBBB) class Instruction21s(Instruction): """ This class represents all instructions which have the 21s format """ def __init__(self, cm, buff): super(Instruction21s, self).__init__() i16 = unpack("=H", buff[0:2])[0] self.OP = i16 & 0xff self.AA = (i16 >> 8) & 0xff self.BBBB = unpack("=h", buff[2:4])[0] self.formatted_operands = [] if self.OP == 0x16: self.formatted_operands.append(unpack('=d', pack('=d', self.BBBB))[0 ]) def get_length(self): return 4 def get_output(self, idx=-1): buff = "" buff += "v%d, %d" % (self.AA, self.BBBB) if self.formatted_operands: buff += " # %s" % str(self.formatted_operands) return buff def get_operands(self, idx=-1): return [(OPERAND_REGISTER, self.AA), (OPERAND_LITERAL, self.BBBB)] def get_literals(self): return [self.BBBB] def get_formatted_operands(self): return self.formatted_operands def get_raw(self): return pack("=Hh", (self.AA << 8) | self.OP, self.BBBB) class Instruction22c(Instruction): """ This class represents all instructions which have the 22c format """ def __init__(self, cm, buff): super(Instruction22c, self).__init__() self.cm = cm i16 = unpack("=H", buff[0:2])[0] self.OP = i16 & 0xff self.A = (i16 >> 8) & 0xf self.B = (i16 >> 12) & 0xf self.CCCC = unpack("=H", buff[2:4])[0] def get_length(self): return 4 def get_output(self, idx=-1): buff = "" kind = get_kind(self.cm, self.get_kind(), self.CCCC) buff += "v%d, v%d, %s" % (self.A, self.B, kind) return buff def get_operands(self, idx=-1): kind = get_kind(self.cm, self.get_kind(), self.CCCC) return [(OPERAND_REGISTER, self.A), (OPERAND_REGISTER, self.B), (self.get_kind() + OPERAND_KIND, self.CCCC, kind)] def get_ref_kind(self): return self.CCCC def get_raw(self): return pack("=HH", (self.B << 12) | (self.A << 8) | self.OP, self.CCCC) class Instruction22cs(Instruction): """ This class represents all instructions which have the 22cs format """ def __init__(self, cm, buff): super(Instruction22cs, self).__init__() self.cm = cm i16 = unpack("=H", buff[0:2])[0] self.OP = i16 & 0xff self.A = (i16 >> 8) & 0xf self.B = (i16 >> 12) & 0xf self.CCCC = unpack("=H", buff[2:4])[0] def get_length(self): return 4 def get_output(self, idx=-1): buff = "" kind = get_kind(self.cm, self.get_kind(), self.CCCC) buff += "v%d, v%d, %s" % (self.A, self.B, kind) return buff def get_operands(self, idx=-1): kind = get_kind(self.cm, self.get_kind(), self.CCCC) return [(OPERAND_REGISTER, self.A), (OPERAND_REGISTER, self.B), (self.get_kind() + OPERAND_KIND, self.CCCC, kind)] def get_ref_kind(self): return self.CCCC def get_raw(self): return pack("=HH", (self.B << 12) | (self.A << 8) | self.OP, self.CCCC) class Instruction31t(Instruction): """ This class represents all instructions which have the 31t format """ def __init__(self, cm, buff): super(Instruction31t, self).__init__() i16 = unpack("=H", buff[0:2])[0] self.OP = i16 & 0xff self.AA = (i16 >> 8) & 0xff self.BBBBBBBB = unpack("=i", buff[2:6])[0] def get_length(self): return 6 def get_output(self, idx=-1): buff = "" buff += "v%d, +%x (0x%x)" % (self.AA, self.BBBBBBBB, self.BBBBBBBB * 2 + idx) return buff def get_operands(self, idx=-1): return [(OPERAND_REGISTER, self.AA), (OPERAND_LITERAL, self.BBBBBBBB)] def get_ref_off(self): return self.BBBBBBBB def get_raw(self): return pack("=Hi", (self.AA << 8) | self.OP, self.BBBBBBBB) class Instruction31c(Instruction): """ This class represents all instructions which have the 31c format """ def __init__(self, cm, buff): super(Instruction31c, self).__init__() self.cm = cm i16 = unpack("=H", buff[0:2])[0] self.OP = i16 & 0xff self.AA = (i16 >> 8) & 0xff self.BBBBBBBB = unpack("=I", buff[2:6])[0] def get_length(self): return 6 def get_output(self, idx=-1): buff = "" kind = get_kind(self.cm, self.get_kind(), self.BBBBBBBB) buff += "v%d, %s" % (self.AA, kind) return buff def get_operands(self, idx=-1): kind = get_kind(self.cm, self.get_kind(), self.BBBBBBBB) return [(OPERAND_REGISTER, self.AA), (self.get_kind() + OPERAND_KIND, self.BBBBBBBB, kind)] def get_ref_kind(self): return self.BBBBBBBB def get_string(self): """ Return the string associated to the 'kind' argument :rtype: string """ return get_kind(self.cm, self.get_kind(), self.BBBBBBBB) def get_raw_string(self): return get_kind(self.cm, KIND_RAW_STRING, self.BBBBBBBB) def get_raw(self): return pack("=HI", (self.AA << 8) | self.OP, self.BBBBBBBB) class Instruction12x(Instruction): """ This class represents all instructions which have the 12x format """ def __init__(self, cm, buff): super(Instruction12x, self).__init__() i16 = unpack("=h", buff[0:2])[0] self.OP = i16 & 0xff self.A = (i16 >> 8) & 0xf self.B = (i16 >> 12) & 0xf def get_length(self): return 2 def get_output(self, idx=-1): buff = "" buff += "v%d, v%d" % (self.A, self.B) return buff def get_operands(self, idx=-1): return [(OPERAND_REGISTER, self.A), (OPERAND_REGISTER, self.B)] def get_raw(self): return pack("=H", (self.B << 12) | (self.A << 8) | self.OP) class Instruction11x(Instruction): """ This class represents all instructions which have the 11x format """ def __init__(self, cm, buff): super(Instruction11x, self).__init__() i16 = unpack("=H", buff[0:2])[0] self.OP = i16 & 0xff self.AA = (i16 >> 8) & 0xff def get_length(self): return 2 def get_output(self, idx=-1): buff = "" buff += "v%d" % self.AA return buff def get_operands(self, idx=-1): return [(OPERAND_REGISTER, self.AA)] def get_raw(self): return pack("=H", (self.AA << 8) | self.OP) class Instruction51l(Instruction): """ This class represents all instructions which have the 51l format """ def __init__(self, cm, buff): super(Instruction51l, self).__init__() i16 = unpack("=H", buff[0:2])[0] self.OP = i16 & 0xff self.AA = (i16 >> 8) & 0xff self.BBBBBBBBBBBBBBBB = unpack("=q", buff[2:10])[0] self.formatted_operands = [] if self.OP == 0x18: self.formatted_operands.append(unpack('=d', pack( '=q', self.BBBBBBBBBBBBBBBB))[0]) def get_length(self): return 10 def get_output(self, idx=-1): buff = "" buff += "v%d, %d" % (self.AA, self.BBBBBBBBBBBBBBBB) if self.formatted_operands: buff += " # %s" % str(self.formatted_operands) return buff def get_operands(self, idx=-1): return [(OPERAND_REGISTER, self.AA), (OPERAND_LITERAL, self.BBBBBBBBBBBBBBBB)] def get_formatted_operands(self): return self.formatted_operands def get_literals(self): return [self.BBBBBBBBBBBBBBBB] def get_raw(self): return pack("=Hq", (self.AA << 8) | self.OP, self.BBBBBBBBBBBBBBBB) class Instruction31i(Instruction): """ This class represents all instructions which have the 3li format """ def __init__(self, cm, buff): super(Instruction31i, self).__init__() i16 = unpack("=H", buff[0:2])[0] self.OP = i16 & 0xff self.AA = (i16 >> 8) & 0xff self.BBBBBBBB = unpack("=i", buff[2:6])[0] self.formatted_operands = [] if self.OP == 0x14: self.formatted_operands.append(unpack("=f", pack("=i", self.BBBBBBBB))[0]) elif self.OP == 0x17: self.formatted_operands.append(unpack('=d', pack('=d', self.BBBBBBBB))[0]) def get_length(self): return 6 def get_output(self, idx=-1): buff = "" buff += "v%d, %d" % (self.AA, self.BBBBBBBB) if self.formatted_operands: buff += " # %s" % str(self.formatted_operands) return buff def get_operands(self, idx=-1): return [(OPERAND_REGISTER, self.AA), (OPERAND_LITERAL, self.BBBBBBBB)] def get_formatted_operands(self): return self.formatted_operands def get_literals(self): return [self.BBBBBBBB] def get_raw(self): return pack("=Hi", (self.AA << 8) | self.OP, self.BBBBBBBB) class Instruction22x(Instruction): """ This class represents all instructions which have the 22x format """ def __init__(self, cm, buff): super(Instruction22x, self).__init__() i16 = unpack("=H", buff[0:2])[0] self.OP = i16 & 0xff self.AA = (i16 >> 8) & 0xff self.BBBB = unpack("=H", buff[2:4])[0] def get_length(self): return 4 def get_output(self, idx=-1): buff = "" buff += "v%d, v%d" % (self.AA, self.BBBB) return buff def get_operands(self, idx=-1): return [(OPERAND_REGISTER, self.AA), (OPERAND_REGISTER, self.BBBB)] def get_raw(self): return pack("=HH", (self.AA << 8) | self.OP, self.BBBB) class Instruction23x(Instruction): """ This class represents all instructions which have the 23x format """ def __init__(self, cm, buff): super(Instruction23x, self).__init__() i16 = unpack("=H", buff[0:2])[0] self.OP = i16 & 0xff self.AA = (i16 >> 8) & 0xff i16 = unpack("=H", buff[2:4])[0] self.BB = i16 & 0xff self.CC = (i16 >> 8) & 0xff def get_length(self): return 4 def get_output(self, idx=-1): buff = "" buff += "v%d, v%d, v%d" % (self.AA, self.BB, self.CC) return buff def get_operands(self, idx=-1): return [(OPERAND_REGISTER, self.AA), (OPERAND_REGISTER, self.BB), (OPERAND_REGISTER, self.CC)] def get_raw(self): return pack("=HH", (self.AA << 8) | self.OP, (self.CC << 8) | self.BB) class Instruction20t(Instruction): """ This class represents all instructions which have the 20t format """ def __init__(self, cm, buff): super(Instruction20t, self).__init__() i16 = unpack("=H", buff[0:2])[0] self.OP = i16 & 0xff self.AAAA = unpack("=h", buff[2:4])[0] def get_length(self): return 4 def get_output(self, idx=-1): buff = "" buff += "%+x" % self.AAAA return buff def get_operands(self, idx=-1): return [(OPERAND_OFFSET, self.AAAA)] def get_ref_off(self): return self.AAAA def get_raw(self): return pack("=Hh", self.OP, self.AAAA) class Instruction21t(Instruction): """ This class represents all instructions which have the 21t format """ def __init__(self, cm, buff): super(Instruction21t, self).__init__() i16 = unpack("=H", buff[0:2])[0] self.OP = i16 & 0xff self.AA = (i16 >> 8) & 0xff self.BBBB = unpack("=h", buff[2:4])[0] def get_length(self): return 4 def get_output(self, idx=-1): buff = "" buff += "v%d, %+x" % (self.AA, self.BBBB) return buff def get_operands(self, idx=-1): return [(OPERAND_REGISTER, self.AA), (OPERAND_OFFSET, self.BBBB)] def get_ref_off(self): return self.BBBB def get_raw(self): return pack("=Hh", (self.AA << 8) | self.OP, self.BBBB) class Instruction10t(Instruction): """ This class represents all instructions which have the 10t format """ def __init__(self, cm, buff): super(Instruction10t, self).__init__() self.OP = unpack("=B", buff[0:1])[0] self.AA = unpack("=b", buff[1:2])[0] def get_length(self): return 2 def get_output(self, idx=-1): buff = "" buff += "%+x" % self.AA return buff def get_operands(self, idx=-1): return [(OPERAND_OFFSET, self.AA)] def get_ref_off(self): return self.AA def get_raw(self): return pack("=Bb", self.OP, self.AA) class Instruction22t(Instruction): """ This class represents all instructions which have the 22t format """ def __init__(self, cm, buff): super(Instruction22t, self).__init__() i16 = unpack("=H", buff[0:2])[0] self.OP = i16 & 0xff self.A = (i16 >> 8) & 0xf self.B = (i16 >> 12) & 0xf self.CCCC = unpack("=h", buff[2:4])[0] def get_length(self): return 4 def get_output(self, idx=-1): buff = "" buff += "v%d, v%d, %+x" % (self.A, self.B, self.CCCC) return buff def get_operands(self, idx=-1): return [(OPERAND_REGISTER, self.A), (OPERAND_REGISTER, self.B), (OPERAND_OFFSET, self.CCCC)] def get_ref_off(self): return self.CCCC def get_raw(self): return pack("=Hh", (self.B << 12) | (self.A << 8) | self.OP, self.CCCC) class Instruction22s(Instruction): """ This class represents all instructions which have the 22s format """ def __init__(self, cm, buff): super(Instruction22s, self).__init__() i16 = unpack("=H", buff[0:2])[0] self.OP = i16 & 0xff self.A = (i16 >> 8) & 0xf self.B = (i16 >> 12) & 0xf self.CCCC = unpack("=h", buff[2:4])[0] def get_length(self): return 4 def get_output(self, idx=-1): buff = "" buff += "v%d, v%d, %d" % (self.A, self.B, self.CCCC) return buff def get_operands(self, idx=-1): return [(OPERAND_REGISTER, self.A), (OPERAND_REGISTER, self.B), (OPERAND_LITERAL, self.CCCC)] def get_literals(self): return [self.CCCC] def get_raw(self): return pack("=Hh", (self.B << 12) | (self.A << 8) | self.OP, self.CCCC) class Instruction22b(Instruction): """ This class represents all instructions which have the 22b format """ def __init__(self, cm, buff): super(Instruction22b, self).__init__() i16 = unpack("=H", buff[0:2])[0] self.OP = i16 & 0xff self.AA = (i16 >> 8) & 0xff self.BB = unpack("=B", buff[2:3])[0] self.CC = unpack("=b", buff[3:4])[0] def get_length(self): return 4 def get_output(self, idx=-1): buff = "" buff += "v%d, v%d, %d" % (self.AA, self.BB, self.CC) return buff def get_operands(self, idx=-1): return [(OPERAND_REGISTER, self.AA), (OPERAND_REGISTER, self.BB), (OPERAND_LITERAL, self.CC)] def get_literals(self): return [self.CC] def get_raw(self): return pack("=Hh", (self.AA << 8) | self.OP, (self.CC << 8) | self.BB) class Instruction30t(Instruction): """ This class represents all instructions which have the 30t format """ def __init__(self, cm, buff): super(Instruction30t, self).__init__() i16 = unpack("=H", buff[0:2])[0] self.OP = i16 & 0xff self.AAAAAAAA = unpack("=i", buff[2:6])[0] def get_length(self): return 6 def get_output(self, idx=-1): buff = "" buff += "%+x" % self.AAAAAAAA return buff def get_operands(self, idx=-1): return [(OPERAND_OFFSET, self.AAAAAAAA)] def get_ref_off(self): return self.AAAAAAAA def get_raw(self): return pack("=Hi", self.OP, self.AAAAAAAA) class Instruction3rc(Instruction): """ This class represents all instructions which have the 3rc format """ def __init__(self, cm, buff): super(Instruction3rc, self).__init__() self.cm = cm i16 = unpack("=H", buff[0:2])[0] self.OP = i16 & 0xff self.AA = (i16 >> 8) & 0xff self.BBBB = unpack("=H", buff[2:4])[0] self.CCCC = unpack("=H", buff[4:6])[0] self.NNNN = self.CCCC + self.AA - 1 def get_length(self): return 6 def get_output(self, idx=-1): buff = "" kind = get_kind(self.cm, self.get_kind(), self.BBBB) if self.CCCC == self.NNNN: buff += "v%d, %s" % (self.CCCC, kind) else: buff += "v%d ... v%d, %s" % (self.CCCC, self.NNNN, kind) return buff def get_operands(self, idx=-1): kind = get_kind(self.cm, self.get_kind(), self.BBBB) if self.CCCC == self.NNNN: return [(OPERAND_REGISTER, self.CCCC), (self.get_kind() + OPERAND_KIND, self.BBBB, kind)] else: l = [] for i in range(self.CCCC, self.NNNN + 1): l.append((OPERAND_REGISTER, i)) l.append((self.get_kind() + OPERAND_KIND, self.BBBB, kind)) return l def get_ref_kind(self): return self.BBBB def get_raw(self): return pack("=HHH", (self.AA << 8) | self.OP, self.BBBB, self.CCCC) class Instruction32x(Instruction): """ This class represents all instructions which have the 32x format """ def __init__(self, cm, buff): super(Instruction32x, self).__init__() i16 = unpack("=H", buff[0:2])[0] self.OP = i16 & 0xff self.AAAA = unpack("=H", buff[2:4])[0] self.BBBB = unpack("=H", buff[4:6])[0] def get_length(self): return 6 def get_output(self, idx=-1): buff = "" buff += "v%d, v%d" % (self.AAAA, self.BBBB) return buff def get_operands(self, idx=-1): return [(OPERAND_REGISTER, self.AAAA), (OPERAND_REGISTER, self.BBBB)] def get_raw(self): return pack("=HHH", self.OP, self.AAAA, self.BBBB) class Instruction20bc(Instruction): """ This class represents all instructions which have the 20bc format """ def __init__(self, cm, buff): super(Instruction20bc, self).__init__() i16 = unpack("=H", buff[0:2])[0] self.OP = i16 & 0xff self.AA = (i16 >> 8) & 0xff self.BBBB = unpack("=H", buff[2:4])[0] def get_length(self): return 4 def get_output(self, idx=-1): buff = "" buff += "%d, %d" % (self.AA, self.BBBB) return buff def get_operands(self, idx=-1): return [(OPERAND_LITERAL, self.AA), (OPERAND_LITERAL, self.BBBB)] def get_raw(self): return pack("=HH", (self.AA << 8) | self.OP, self.BBBB) class Instruction35mi(Instruction): """ This class represents all instructions which have the 35mi format """ def __init__(self, cm, buff): super(Instruction35mi, self).__init__() self.cm = cm i16 = unpack("=H", buff[0:2])[0] self.OP = i16 & 0xff self.G = (i16 >> 8) & 0xf self.A = (i16 >> 12) & 0xf self.BBBB = unpack("=H", buff[2:4])[0] i16 = unpack("=H", buff[4:6])[0] self.C = i16 & 0xf self.D = (i16 >> 4) & 0xf self.E = (i16 >> 8) & 0xf self.F = (i16 >> 12) & 0xf def get_output(self, idx=-1): buff = "" kind = get_kind(self.cm, self.get_kind(), self.BBBB) if self.A == 1: buff += "v%d, %s" % (self.C, kind) elif self.A == 2: buff += "v%d, v%d, %s" % (self.C, self.D, kind) elif self.A == 3: buff += "v%d, v%d, v%d, %s" % (self.C, self.D, self.E, kind) elif self.A == 4: buff += "v%d, v%d, v%d, v%d, %s" % (self.C, self.D, self.E, self.F, kind) elif self.A == 5: buff += "v%d, v%d, v%d, v%d, v%d, %s" % (self.C, self.D, self.E, self.F, self.G, kind) return buff def get_operands(self, idx=-1): l = [] kind = get_kind(self.cm, self.get_kind(), self.BBBB) if self.A == 1: l.extend([(OPERAND_REGISTER, self.C), (self.get_kind( ) + OPERAND_KIND, self.BBBB, kind)]) elif self.A == 2: l.extend([(OPERAND_REGISTER, self.C), (OPERAND_REGISTER, self.D), ( self.get_kind() + OPERAND_KIND, self.BBBB, kind)]) elif self.A == 3: l.extend([(OPERAND_REGISTER, self.C), (OPERAND_REGISTER, self.D), ( OPERAND_REGISTER, self.E), (self.get_kind() + OPERAND_KIND, self.BBBB, kind)]) elif self.A == 4: l.extend([(OPERAND_REGISTER, self.C), (OPERAND_REGISTER, self.D), ( OPERAND_REGISTER, self.E), (OPERAND_REGISTER, self.F), ( self.get_kind() + OPERAND_KIND, self.BBBB, kind)]) elif self.A == 5: l.extend([(OPERAND_REGISTER, self.C), (OPERAND_REGISTER, self.D), ( OPERAND_REGISTER, self.E), (OPERAND_REGISTER, self.F), ( OPERAND_REGISTER, self.G), (self.get_kind() + OPERAND_KIND, self.BBBB, kind)]) return l def get_length(self): return 6 def get_ref_kind(self): return self.BBBB def get_raw(self): return pack("=HHH", (self.A << 12) | (self.G << 8) | self.OP, self.BBBB, (self.F << 12) | (self.E << 8) | (self.D << 4) | self.C) class Instruction35ms(Instruction): """ This class represents all instructions which have the 35ms format """ def __init__(self, cm, buff): super(Instruction35ms, self).__init__() self.cm = cm i16 = unpack("=H", buff[0:2])[0] self.OP = i16 & 0xff self.G = (i16 >> 8) & 0xf self.A = (i16 >> 12) & 0xf self.BBBB = unpack("=H", buff[2:4])[0] i16 = unpack("=H", buff[4:6])[0] self.C = i16 & 0xf self.D = (i16 >> 4) & 0xf self.E = (i16 >> 8) & 0xf self.F = (i16 >> 12) & 0xf def get_output(self, idx=-1): buff = "" kind = get_kind(self.cm, self.get_kind(), self.BBBB) if self.A == 1: buff += "v%d, %s" % (self.C, kind) elif self.A == 2: buff += "v%d, v%d, %s" % (self.C, self.D, kind) elif self.A == 3: buff += "v%d, v%d, v%d, %s" % (self.C, self.D, self.E, kind) elif self.A == 4: buff += "v%d, v%d, v%d, v%d, %s" % (self.C, self.D, self.E, self.F, kind) elif self.A == 5: buff += "v%d, v%d, v%d, v%d, v%d, %s" % (self.C, self.D, self.E, self.F, self.G, kind) return buff def get_operands(self, idx=-1): l = [] kind = get_kind(self.cm, self.get_kind(), self.BBBB) if self.A == 1: l.extend([(OPERAND_REGISTER, self.C), (self.get_kind( ) + OPERAND_KIND, self.BBBB, kind)]) elif self.A == 2: l.extend([(OPERAND_REGISTER, self.C), (OPERAND_REGISTER, self.D), ( self.get_kind() + OPERAND_KIND, self.BBBB, kind)]) elif self.A == 3: l.extend([(OPERAND_REGISTER, self.C), (OPERAND_REGISTER, self.D), ( OPERAND_REGISTER, self.E), (self.get_kind() + OPERAND_KIND, self.BBBB, kind)]) elif self.A == 4: l.extend([(OPERAND_REGISTER, self.C), (OPERAND_REGISTER, self.D), ( OPERAND_REGISTER, self.E), (OPERAND_REGISTER, self.F), ( self.get_kind() + OPERAND_KIND, self.BBBB, kind)]) elif self.A == 5: l.extend([(OPERAND_REGISTER, self.C), (OPERAND_REGISTER, self.D), ( OPERAND_REGISTER, self.E), (OPERAND_REGISTER, self.F), ( OPERAND_REGISTER, self.G), (self.get_kind() + OPERAND_KIND, self.BBBB, kind)]) return l def get_length(self): return 6 def get_ref_kind(self): return self.BBBB def get_raw(self): return pack("=HHH", (self.A << 12) | (self.G << 8) | self.OP, self.BBBB, (self.F << 12) | (self.E << 8) | (self.D << 4) | self.C) class Instruction3rmi(Instruction): """ This class represents all instructions which have the 3rmi format """ def __init__(self, cm, buff): super(Instruction3rmi, self).__init__() self.cm = cm i16 = unpack("=H", buff[0:2])[0] self.OP = i16 & 0xff self.AA = (i16 >> 8) & 0xff self.BBBB = unpack("=H", buff[2:4])[0] self.CCCC = unpack("=H", buff[4:6])[0] self.NNNN = self.CCCC + self.AA - 1 def get_length(self): return 6 def get_output(self, idx=-1): buff = "" kind = get_kind(self.cm, self.get_kind(), self.BBBB) if self.CCCC == self.NNNN: buff += "v%d, %s" % (self.CCCC, kind) else: buff += "v%d ... v%d, %s" % (self.CCCC, self.NNNN, kind) return buff def get_operands(self, idx=-1): kind = get_kind(self.cm, self.get_kind(), self.BBBB) if self.CCCC == self.NNNN: return [(OPERAND_REGISTER, self.CCCC), (self.get_kind() + OPERAND_KIND, self.BBBB, kind)] else: l = [] for i in range(self.CCCC, self.NNNN): l.append((OPERAND_REGISTER, i)) l.append((self.get_kind() + OPERAND_KIND, self.BBBB, kind)) return l def get_ref_kind(self): return self.BBBB def get_raw(self): return pack("=HHH", (self.AA << 8) | self.OP, self.BBBB, self.CCCC) class Instruction3rms(Instruction): """ This class represents all instructions which have the 3rms format """ def __init__(self, cm, buff): super(Instruction3rms, self).__init__() self.cm = cm i16 = unpack("=H", buff[0:2])[0] self.OP = i16 & 0xff self.AA = (i16 >> 8) & 0xff self.BBBB = unpack("=H", buff[2:4])[0] self.CCCC = unpack("=H", buff[4:6])[0] self.NNNN = self.CCCC + self.AA - 1 def get_length(self): return 6 def get_output(self, idx=-1): buff = "" kind = get_kind(self.cm, self.get_kind(), self.BBBB) if self.CCCC == self.NNNN: buff += "v%d, %s" % (self.CCCC, kind) else: buff += "v%d ... v%d, %s" % (self.CCCC, self.NNNN, kind) return buff def get_operands(self, idx=-1): kind = get_kind(self.cm, self.get_kind(), self.BBBB) if self.CCCC == self.NNNN: return [(OPERAND_REGISTER, self.CCCC), (self.get_kind() + OPERAND_KIND, self.BBBB, kind)] else: l = [] for i in range(self.CCCC, self.NNNN): l.append((OPERAND_REGISTER, i)) l.append((self.get_kind() + OPERAND_KIND, self.BBBB, kind)) return l def get_ref_kind(self): return self.BBBB def get_raw(self): return pack("=HHH", (self.AA << 8) | self.OP, self.BBBB, self.CCCC) class Instruction41c(Instruction): """ This class represents all instructions which have the 41c format """ def __init__(self, cm, buff): super(Instruction41c, self).__init__() self.cm = cm self.OP = unpack("=H", buff[0:2])[0] self.BBBBBBBB = unpack("=I", buff[2:6])[0] self.AAAA = unpack("=H", buff[6:8])[0] def get_length(self): return 8 def get_output(self, idx=-1): kind = get_kind(self.cm, self.get_kind(), self.BBBBBBBB) buff = "" buff += "v%d, %s" % (self.AAAA, kind) return buff def get_operands(self, idx=-1): kind = get_kind(self.cm, self.get_kind(), self.BBBBBBBB) return [(OPERAND_REGISTER, self.AAAA), (self.get_kind() + OPERAND_KIND, self.BBBBBBBB, kind)] def get_ref_kind(self): return self.BBBBBBBB def get_raw(self): return pack("=HIH", self.OP, self.BBBBBBBB, self.AAAA) class Instruction40sc(Instruction): """ This class represents all instructions which have the 40sc format """ def __init__(self, cm, buff): super(Instruction40sc, self).__init__() self.cm = cm self.OP = unpack("=H", buff[0:2])[0] self.BBBBBBBB = unpack("=I", buff[2:6])[0] self.AAAA = unpack("=H", buff[6:8])[0] def get_length(self): return 8 def get_output(self, idx=-1): kind = get_kind(self.cm, self.get_kind(), self.BBBBBBBB) buff = "" buff += "%d, %s" % (self.AAAA, kind) return buff def get_operands(self, idx=-1): kind = get_kind(self.cm, self.get_kind(), self.BBBBBBBB) return [(OPERAND_LITERAL, self.AAAA), (self.get_kind() + OPERAND_KIND, self.BBBBBBBB, kind)] def get_ref_kind(self): return self.BBBBBBBB def get_raw(self): return pack("=HIH", self.OP, self.BBBBBBBB, self.AAAA) class Instruction52c(Instruction): """ This class represents all instructions which have the 52c format """ def __init__(self, cm, buff): super(Instruction52c, self).__init__() self.cm = cm self.OP = unpack("=H", buff[0:2])[0] self.CCCCCCCC = unpack("=I", buff[2:6])[0] self.AAAA = unpack("=H", buff[6:8])[0] self.BBBB = unpack("=H", buff[8:10])[0] def get_length(self): return 10 def get_output(self, idx=-1): kind = get_kind(self.cm, self.get_kind(), self.CCCCCCCC) buff = "" buff += "v%d, v%d, %s" % (self.AAAA, self.BBBB, kind) return buff def get_operands(self, idx=-1): kind = get_kind(self.cm, self.get_kind(), self.CCCCCCCC) return [(OPERAND_LITERAL, self.AAAA), (OPERAND_LITERAL, self.BBBB), (self.get_kind() + OPERAND_KIND, self.CCCCCCCC, kind)] def get_ref_kind(self): return self.CCCCCCCC def get_raw(self): return pack("=HIHH", self.OP, self.CCCCCCCC, self.AAAA, self.BBBB) class Instruction5rc(Instruction): """ This class represents all instructions which have the 5rc format """ def __init__(self, cm, buff): super(Instruction5rc, self).__init__() self.cm = cm self.OP = unpack("=H", buff[0:2])[0] self.BBBBBBBB = unpack("=I", buff[2:6])[0] self.AAAA = unpack("=H", buff[6:8])[0] self.CCCC = unpack("=H", buff[8:10])[0] self.NNNN = self.CCCC + self.AAAA - 1 def get_length(self): return 10 def get_output(self, idx=-1): buff = "" kind = get_kind(self.cm, self.get_kind(), self.BBBBBBBB) if self.CCCC == self.NNNN: buff += "v%d, %s" % (self.CCCC, kind) else: buff += "v%d ... v%d, %s" % (self.CCCC, self.NNNN, kind) return buff def get_operands(self, idx=-1): kind = get_kind(self.cm, self.get_kind(), self.BBBBBBBB) if self.CCCC == self.NNNN: return [(OPERAND_REGISTER, self.CCCC), (self.get_kind() + OPERAND_KIND, self.BBBB, kind)] else: l = [] for i in range(self.CCCC, self.NNNN): l.append((OPERAND_REGISTER, i)) l.append((self.get_kind() + OPERAND_KIND, self.BBBB, kind)) return l def get_ref_kind(self): return self.BBBBBBBB def get_raw(self): return pack("=HIHH", self.OP, self.BBBBBBBB, self.AAAA, self.CCCC) DALVIK_OPCODES_FORMAT = { 0x00: [Instruction10x, ["nop"]], 0x01: [Instruction12x, ["move"]], 0x02: [Instruction22x, ["move/from16"]], 0x03: [Instruction32x, ["move/16"]], 0x04: [Instruction12x, ["move-wide"]], 0x05: [Instruction22x, ["move-wide/from16"]], 0x06: [Instruction32x, ["move-wide/16"]], 0x07: [Instruction12x, ["move-object"]], 0x08: [Instruction22x, ["move-object/from16"]], 0x09: [Instruction32x, ["move-object/16"]], 0x0a: [Instruction11x, ["move-result"]], 0x0b: [Instruction11x, ["move-result-wide"]], 0x0c: [Instruction11x, ["move-result-object"]], 0x0d: [Instruction11x, ["move-exception"]], 0x0e: [Instruction10x, ["return-void"]], 0x0f: [Instruction11x, ["return"]], 0x10: [Instruction11x, ["return-wide"]], 0x11: [Instruction11x, ["return-object"]], 0x12: [Instruction11n, ["const/4"]], 0x13: [Instruction21s, ["const/16"]], 0x14: [Instruction31i, ["const"]], 0x15: [Instruction21h, ["const/high16"]], 0x16: [Instruction21s, ["const-wide/16"]], 0x17: [Instruction31i, ["const-wide/32"]], 0x18: [Instruction51l, ["const-wide"]], 0x19: [Instruction21h, ["const-wide/high16"]], 0x1a: [Instruction21c, ["const-string", KIND_STRING]], 0x1b: [Instruction31c, ["const-string/jumbo", KIND_STRING]], 0x1c: [Instruction21c, ["const-class", KIND_TYPE]], 0x1d: [Instruction11x, ["monitor-enter"]], 0x1e: [Instruction11x, ["monitor-exit"]], 0x1f: [Instruction21c, ["check-cast", KIND_TYPE]], 0x20: [Instruction22c, ["instance-of", KIND_TYPE]], 0x21: [Instruction12x, ["array-length"]], 0x22: [Instruction21c, ["new-instance", KIND_TYPE]], 0x23: [Instruction22c, ["new-array", KIND_TYPE]], 0x24: [Instruction35c, ["filled-new-array", KIND_TYPE]], 0x25: [Instruction3rc, ["filled-new-array/range", KIND_TYPE]], 0x26: [Instruction31t, ["fill-array-data"]], 0x27: [Instruction11x, ["throw"]], 0x28: [Instruction10t, ["goto"]], 0x29: [Instruction20t, ["goto/16"]], 0x2a: [Instruction30t, ["goto/32"]], 0x2b: [Instruction31t, ["packed-switch"]], 0x2c: [Instruction31t, ["sparse-switch"]], 0x2d: [Instruction23x, ["cmpl-float"]], 0x2e: [Instruction23x, ["cmpg-float"]], 0x2f: [Instruction23x, ["cmpl-double"]], 0x30: [Instruction23x, ["cmpg-double"]], 0x31: [Instruction23x, ["cmp-long"]], 0x32: [Instruction22t, ["if-eq"]], 0x33: [Instruction22t, ["if-ne"]], 0x34: [Instruction22t, ["if-lt"]], 0x35: [Instruction22t, ["if-ge"]], 0x36: [Instruction22t, ["if-gt"]], 0x37: [Instruction22t, ["if-le"]], 0x38: [Instruction21t, ["if-eqz"]], 0x39: [Instruction21t, ["if-nez"]], 0x3a: [Instruction21t, ["if-ltz"]], 0x3b: [Instruction21t, ["if-gez"]], 0x3c: [Instruction21t, ["if-gtz"]], 0x3d: [Instruction21t, ["if-lez"]], # unused 0x3e: [Instruction10x, ["nop"]], 0x3f: [Instruction10x, ["nop"]], 0x40: [Instruction10x, ["nop"]], 0x41: [Instruction10x, ["nop"]], 0x42: [Instruction10x, ["nop"]], 0x43: [Instruction10x, ["nop"]], 0x44: [Instruction23x, ["aget"]], 0x45: [Instruction23x, ["aget-wide"]], 0x46: [Instruction23x, ["aget-object"]], 0x47: [Instruction23x, ["aget-boolean"]], 0x48: [Instruction23x, ["aget-byte"]], 0x49: [Instruction23x, ["aget-char"]], 0x4a: [Instruction23x, ["aget-short"]], 0x4b: [Instruction23x, ["aput"]], 0x4c: [Instruction23x, ["aput-wide"]], 0x4d: [Instruction23x, ["aput-object"]], 0x4e: [Instruction23x, ["aput-boolean"]], 0x4f: [Instruction23x, ["aput-byte"]], 0x50: [Instruction23x, ["aput-char"]], 0x51: [Instruction23x, ["aput-short"]], 0x52: [Instruction22c, ["iget", KIND_FIELD]], 0x53: [Instruction22c, ["iget-wide", KIND_FIELD]], 0x54: [Instruction22c, ["iget-object", KIND_FIELD]], 0x55: [Instruction22c, ["iget-boolean", KIND_FIELD]], 0x56: [Instruction22c, ["iget-byte", KIND_FIELD]], 0x57: [Instruction22c, ["iget-char", KIND_FIELD]], 0x58: [Instruction22c, ["iget-short", KIND_FIELD]], 0x59: [Instruction22c, ["iput", KIND_FIELD]], 0x5a: [Instruction22c, ["iput-wide", KIND_FIELD]], 0x5b: [Instruction22c, ["iput-object", KIND_FIELD]], 0x5c: [Instruction22c, ["iput-boolean", KIND_FIELD]], 0x5d: [Instruction22c, ["iput-byte", KIND_FIELD]], 0x5e: [Instruction22c, ["iput-char", KIND_FIELD]], 0x5f: [Instruction22c, ["iput-short", KIND_FIELD]], 0x60: [Instruction21c, ["sget", KIND_FIELD]], 0x61: [Instruction21c, ["sget-wide", KIND_FIELD]], 0x62: [Instruction21c, ["sget-object", KIND_FIELD]], 0x63: [Instruction21c, ["sget-boolean", KIND_FIELD]], 0x64: [Instruction21c, ["sget-byte", KIND_FIELD]], 0x65: [Instruction21c, ["sget-char", KIND_FIELD]], 0x66: [Instruction21c, ["sget-short", KIND_FIELD]], 0x67: [Instruction21c, ["sput", KIND_FIELD]], 0x68: [Instruction21c, ["sput-wide", KIND_FIELD]], 0x69: [Instruction21c, ["sput-object", KIND_FIELD]], 0x6a: [Instruction21c, ["sput-boolean", KIND_FIELD]], 0x6b: [Instruction21c, ["sput-byte", KIND_FIELD]], 0x6c: [Instruction21c, ["sput-char", KIND_FIELD]], 0x6d: [Instruction21c, ["sput-short", KIND_FIELD]], 0x6e: [Instruction35c, ["invoke-virtual", KIND_METH]], 0x6f: [Instruction35c, ["invoke-super", KIND_METH]], 0x70: [Instruction35c, ["invoke-direct", KIND_METH]], 0x71: [Instruction35c, ["invoke-static", KIND_METH]], 0x72: [Instruction35c, ["invoke-interface", KIND_METH]], # unused 0x73: [Instruction10x, ["nop"]], 0x74: [Instruction3rc, ["invoke-virtual/range", KIND_METH]], 0x75: [Instruction3rc, ["invoke-super/range", KIND_METH]], 0x76: [Instruction3rc, ["invoke-direct/range", KIND_METH]], 0x77: [Instruction3rc, ["invoke-static/range", KIND_METH]], 0x78: [Instruction3rc, ["invoke-interface/range", KIND_METH]], # unused 0x79: [Instruction10x, ["nop"]], 0x7a: [Instruction10x, ["nop"]], 0x7b: [Instruction12x, ["neg-int"]], 0x7c: [Instruction12x, ["not-int"]], 0x7d: [Instruction12x, ["neg-long"]], 0x7e: [Instruction12x, ["not-long"]], 0x7f: [Instruction12x, ["neg-float"]], 0x80: [Instruction12x, ["neg-double"]], 0x81: [Instruction12x, ["int-to-long"]], 0x82: [Instruction12x, ["int-to-float"]], 0x83: [Instruction12x, ["int-to-double"]], 0x84: [Instruction12x, ["long-to-int"]], 0x85: [Instruction12x, ["long-to-float"]], 0x86: [Instruction12x, ["long-to-double"]], 0x87: [Instruction12x, ["float-to-int"]], 0x88: [Instruction12x, ["float-to-long"]], 0x89: [Instruction12x, ["float-to-double"]], 0x8a: [Instruction12x, ["double-to-int"]], 0x8b: [Instruction12x, ["double-to-long"]], 0x8c: [Instruction12x, ["double-to-float"]], 0x8d: [Instruction12x, ["int-to-byte"]], 0x8e: [Instruction12x, ["int-to-char"]], 0x8f: [Instruction12x, ["int-to-short"]], 0x90: [Instruction23x, ["add-int"]], 0x91: [Instruction23x, ["sub-int"]], 0x92: [Instruction23x, ["mul-int"]], 0x93: [Instruction23x, ["div-int"]], 0x94: [Instruction23x, ["rem-int"]], 0x95: [Instruction23x, ["and-int"]], 0x96: [Instruction23x, ["or-int"]], 0x97: [Instruction23x, ["xor-int"]], 0x98: [Instruction23x, ["shl-int"]], 0x99: [Instruction23x, ["shr-int"]], 0x9a: [Instruction23x, ["ushr-int"]], 0x9b: [Instruction23x, ["add-long"]], 0x9c: [Instruction23x, ["sub-long"]], 0x9d: [Instruction23x, ["mul-long"]], 0x9e: [Instruction23x, ["div-long"]], 0x9f: [Instruction23x, ["rem-long"]], 0xa0: [Instruction23x, ["and-long"]], 0xa1: [Instruction23x, ["or-long"]], 0xa2: [Instruction23x, ["xor-long"]], 0xa3: [Instruction23x, ["shl-long"]], 0xa4: [Instruction23x, ["shr-long"]], 0xa5: [Instruction23x, ["ushr-long"]], 0xa6: [Instruction23x, ["add-float"]], 0xa7: [Instruction23x, ["sub-float"]], 0xa8: [Instruction23x, ["mul-float"]], 0xa9: [Instruction23x, ["div-float"]], 0xaa: [Instruction23x, ["rem-float"]], 0xab: [Instruction23x, ["add-double"]], 0xac: [Instruction23x, ["sub-double"]], 0xad: [Instruction23x, ["mul-double"]], 0xae: [Instruction23x, ["div-double"]], 0xaf: [Instruction23x, ["rem-double"]], 0xb0: [Instruction12x, ["add-int/2addr"]], 0xb1: [Instruction12x, ["sub-int/2addr"]], 0xb2: [Instruction12x, ["mul-int/2addr"]], 0xb3: [Instruction12x, ["div-int/2addr"]], 0xb4: [Instruction12x, ["rem-int/2addr"]], 0xb5: [Instruction12x, ["and-int/2addr"]], 0xb6: [Instruction12x, ["or-int/2addr"]], 0xb7: [Instruction12x, ["xor-int/2addr"]], 0xb8: [Instruction12x, ["shl-int/2addr"]], 0xb9: [Instruction12x, ["shr-int/2addr"]], 0xba: [Instruction12x, ["ushr-int/2addr"]], 0xbb: [Instruction12x, ["add-long/2addr"]], 0xbc: [Instruction12x, ["sub-long/2addr"]], 0xbd: [Instruction12x, ["mul-long/2addr"]], 0xbe: [Instruction12x, ["div-long/2addr"]], 0xbf: [Instruction12x, ["rem-long/2addr"]], 0xc0: [Instruction12x, ["and-long/2addr"]], 0xc1: [Instruction12x, ["or-long/2addr"]], 0xc2: [Instruction12x, ["xor-long/2addr"]], 0xc3: [Instruction12x, ["shl-long/2addr"]], 0xc4: [Instruction12x, ["shr-long/2addr"]], 0xc5: [Instruction12x, ["ushr-long/2addr"]], 0xc6: [Instruction12x, ["add-float/2addr"]], 0xc7: [Instruction12x, ["sub-float/2addr"]], 0xc8: [Instruction12x, ["mul-float/2addr"]], 0xc9: [Instruction12x, ["div-float/2addr"]], 0xca: [Instruction12x, ["rem-float/2addr"]], 0xcb: [Instruction12x, ["add-double/2addr"]], 0xcc: [Instruction12x, ["sub-double/2addr"]], 0xcd: [Instruction12x, ["mul-double/2addr"]], 0xce: [Instruction12x, ["div-double/2addr"]], 0xcf: [Instruction12x, ["rem-double/2addr"]], 0xd0: [Instruction22s, ["add-int/lit16"]], 0xd1: [Instruction22s, ["rsub-int"]], 0xd2: [Instruction22s, ["mul-int/lit16"]], 0xd3: [Instruction22s, ["div-int/lit16"]], 0xd4: [Instruction22s, ["rem-int/lit16"]], 0xd5: [Instruction22s, ["and-int/lit16"]], 0xd6: [Instruction22s, ["or-int/lit16"]], 0xd7: [Instruction22s, ["xor-int/lit16"]], 0xd8: [Instruction22b, ["add-int/lit8"]], 0xd9: [Instruction22b, ["rsub-int/lit8"]], 0xda: [Instruction22b, ["mul-int/lit8"]], 0xdb: [Instruction22b, ["div-int/lit8"]], 0xdc: [Instruction22b, ["rem-int/lit8"]], 0xdd: [Instruction22b, ["and-int/lit8"]], 0xde: [Instruction22b, ["or-int/lit8"]], 0xdf: [Instruction22b, ["xor-int/lit8"]], 0xe0: [Instruction22b, ["shl-int/lit8"]], 0xe1: [Instruction22b, ["shr-int/lit8"]], 0xe2: [Instruction22b, ["ushr-int/lit8"]], # expanded opcodes 0xe3: [Instruction22c, ["iget-volatile", KIND_FIELD]], 0xe4: [Instruction22c, ["iput-volatile", KIND_FIELD]], 0xe5: [Instruction21c, ["sget-volatile", KIND_FIELD]], 0xe6: [Instruction21c, ["sput-volatile", KIND_FIELD]], 0xe7: [Instruction22c, ["iget-object-volatile", KIND_FIELD]], 0xe8: [Instruction22c, ["iget-wide-volatile", KIND_FIELD]], 0xe9: [Instruction22c, ["iput-wide-volatile", KIND_FIELD]], 0xea: [Instruction21c, ["sget-wide-volatile", KIND_FIELD]], 0xeb: [Instruction21c, ["sput-wide-volatile", KIND_FIELD]], 0xec: [Instruction10x, ["breakpoint"]], 0xed: [Instruction20bc, ["throw-verification-error", VARIES]], 0xee: [Instruction35mi, ["execute-inline", INLINE_METHOD]], 0xef: [Instruction3rmi, ["execute-inline/range", INLINE_METHOD]], 0xf0: [Instruction35c, ["invoke-object-init/range", KIND_METH]], 0xf1: [Instruction10x, ["return-void-barrier"]], 0xf2: [Instruction22cs, ["iget-quick", FIELD_OFFSET]], 0xf3: [Instruction22cs, ["iget-wide-quick", FIELD_OFFSET]], 0xf4: [Instruction22cs, ["iget-object-quick", FIELD_OFFSET]], 0xf5: [Instruction22cs, ["iput-quick", FIELD_OFFSET]], 0xf6: [Instruction22cs, ["iput-wide-quick", FIELD_OFFSET]], 0xf7: [Instruction22cs, ["iput-object-quick", FIELD_OFFSET]], 0xf8: [Instruction35ms, ["invoke-virtual-quick", VTABLE_OFFSET]], 0xf9: [Instruction3rms, ["invoke-virtual-quick/range", VTABLE_OFFSET]], 0xfa: [Instruction35ms, ["invoke-super-quick", VTABLE_OFFSET]], 0xfb: [Instruction3rms, ["invoke-super-quick/range", VTABLE_OFFSET]], 0xfc: [Instruction22c, ["iput-object-volatile", KIND_FIELD]], 0xfd: [Instruction21c, ["sget-object-volatile", KIND_FIELD]], 0xfe: [Instruction21c, ["sput-object-volatile", KIND_FIELD]], } DALVIK_OPCODES_PAYLOAD = { 0x0100: [PackedSwitch], 0x0200: [SparseSwitch], 0x0300: [FillArrayData], } INLINE_METHODS = [ ["Lorg/apache/harmony/dalvik/NativeTestTarget;", "emptyInlineMethod", "()V" ], ["Ljava/lang/String;", "charAt", "(I)C"], ["Ljava/lang/String;", "compareTo", "(Ljava/lang/String;)I"], ["Ljava/lang/String;", "equals", "(Ljava/lang/Object;)Z"], ["Ljava/lang/String;", "fastIndexOf", "(II)I"], ["Ljava/lang/String;", "isEmpty", "()Z"], ["Ljava/lang/String;", "length", "()I"], ["Ljava/lang/Math;", "abs", "(I)I"], ["Ljava/lang/Math;", "abs", "(J)J"], ["Ljava/lang/Math;", "abs", "(F)F"], ["Ljava/lang/Math;", "abs", "(D)D"], ["Ljava/lang/Math;", "min", "(II)I"], ["Ljava/lang/Math;", "max", "(II)I"], ["Ljava/lang/Math;", "sqrt", "(D)D"], ["Ljava/lang/Math;", "cos", "(D)D"], ["Ljava/lang/Math;", "sin", "(D)D"], ["Ljava/lang/Float;", "floatToIntBits", "(F)I"], ["Ljava/lang/Float;", "floatToRawIntBits", "(F)I"], ["Ljava/lang/Float;", "intBitsToFloat", "(I)F"], ["Ljava/lang/Double;", "doubleToLongBits", "(D)J"], ["Ljava/lang/Double;", "doubleToRawLongBits", "(D)J"], ["Ljava/lang/Double;", "longBitsToDouble", "(J)D"], ] DALVIK_OPCODES_EXTENDED_WIDTH = { 0x00ff: [Instruction41c, ["const-class/jumbo", KIND_TYPE]], 0x01ff: [Instruction41c, ["check-cast/jumbo", KIND_TYPE]], 0x02ff: [Instruction52c, ["instance-of/jumbo", KIND_TYPE]], 0x03ff: [Instruction41c, ["new-instance/jumbo", KIND_TYPE]], 0x04ff: [Instruction52c, ["new-array/jumbo", KIND_TYPE]], 0x05ff: [Instruction5rc, ["filled-new-array/jumbo", KIND_TYPE]], 0x06ff: [Instruction52c, ["iget/jumbo", KIND_FIELD]], 0x07ff: [Instruction52c, ["iget-wide/jumbo", KIND_FIELD]], 0x08ff: [Instruction52c, ["iget-object/jumbo", KIND_FIELD]], 0x09ff: [Instruction52c, ["iget-boolean/jumbo", KIND_FIELD]], 0x0aff: [Instruction52c, ["iget-byte/jumbo", KIND_FIELD]], 0x0bff: [Instruction52c, ["iget-char/jumbo", KIND_FIELD]], 0x0cff: [Instruction52c, ["iget-short/jumbo", KIND_FIELD]], 0x0dff: [Instruction52c, ["iput/jumbo", KIND_FIELD]], 0x0eff: [Instruction52c, ["iput-wide/jumbo", KIND_FIELD]], 0x0fff: [Instruction52c, ["iput-object/jumbo", KIND_FIELD]], 0x10ff: [Instruction52c, ["iput-boolean/jumbo", KIND_FIELD]], 0x11ff: [Instruction52c, ["iput-byte/jumbo", KIND_FIELD]], 0x12ff: [Instruction52c, ["iput-char/jumbo", KIND_FIELD]], 0x13ff: [Instruction52c, ["iput-short/jumbo", KIND_FIELD]], 0x14ff: [Instruction41c, ["sget/jumbo", KIND_FIELD]], 0x15ff: [Instruction41c, ["sget-wide/jumbo", KIND_FIELD]], 0x16ff: [Instruction41c, ["sget-object/jumbo", KIND_FIELD]], 0x17ff: [Instruction41c, ["sget-boolean/jumbo", KIND_FIELD]], 0x18ff: [Instruction41c, ["sget-byte/jumbo", KIND_FIELD]], 0x19ff: [Instruction41c, ["sget-char/jumbo", KIND_FIELD]], 0x1aff: [Instruction41c, ["sget-short/jumbo", KIND_FIELD]], 0x1bff: [Instruction41c, ["sput/jumbo", KIND_FIELD]], 0x1cff: [Instruction41c, ["sput-wide/jumbo", KIND_FIELD]], 0x1dff: [Instruction41c, ["sput-object/jumbo", KIND_FIELD]], 0x1eff: [Instruction41c, ["sput-boolean/jumbo", KIND_FIELD]], 0x1fff: [Instruction41c, ["sput-byte/jumbo", KIND_FIELD]], 0x20ff: [Instruction41c, ["sput-char/jumbo", KIND_FIELD]], 0x21ff: [Instruction41c, ["sput-short/jumbo", KIND_FIELD]], 0x22ff: [Instruction5rc, ["invoke-virtual/jumbo", KIND_METH]], 0x23ff: [Instruction5rc, ["invoke-super/jumbo", KIND_METH]], 0x24ff: [Instruction5rc, ["invoke-direct/jumbo", KIND_METH]], 0x25ff: [Instruction5rc, ["invoke-static/jumbo", KIND_METH]], 0x26ff: [Instruction5rc, ["invoke-interface/jumbo", KIND_METH]], } DALVIK_OPCODES_OPTIMIZED = { 0xf2ff: [Instruction5rc, ["invoke-object-init/jumbo", KIND_METH]], 0xf3ff: [Instruction52c, ["iget-volatile/jumbo", KIND_FIELD]], 0xf4ff: [Instruction52c, ["iget-wide-volatile/jumbo", KIND_FIELD]], 0xf5ff: [Instruction52c, ["iget-object-volatile/jumbo ", KIND_FIELD]], 0xf6ff: [Instruction52c, ["iput-volatile/jumbo", KIND_FIELD]], 0xf7ff: [Instruction52c, ["iput-wide-volatile/jumbo", KIND_FIELD]], 0xf8ff: [Instruction52c, ["iput-object-volatile/jumbo", KIND_FIELD]], 0xf9ff: [Instruction41c, ["sget-volatile/jumbo", KIND_FIELD]], 0xfaff: [Instruction41c, ["sget-wide-volatile/jumbo", KIND_FIELD]], 0xfbff: [Instruction41c, ["sget-object-volatile/jumbo", KIND_FIELD]], 0xfcff: [Instruction41c, ["sput-volatile/jumbo", KIND_FIELD]], 0xfdff: [Instruction41c, ["sput-wide-volatile/jumbo", KIND_FIELD]], 0xfeff: [Instruction41c, ["sput-object-volatile/jumbo", KIND_FIELD]], 0xffff: [Instruction40sc, ["throw-verification-error/jumbo", VARIES]], } class Unresolved(Instruction): def __init__(self, cm, data): self.cm = cm self.data = data def get_name(self): return "unresolved" def get_operands(self, idx=-1): return [(OPERAND_KIND + KIND_STRING, -1, "AG:OP: invalid opcode " + repr(self.data))] def get_op_value(self): return -1 def get_output(self, idx=-1): return repr(self.data) def get_length(self): return len(self.data) def get_raw(self): return self.data def get_instruction(cm, op_value, buff, odex=False): try: if not odex and (0xe3 <= op_value <= 0xfe): return InstructionInvalid(cm, buff) try: return DALVIK_OPCODES_FORMAT[op_value][0](cm, buff) except KeyError: return InstructionInvalid(cm, buff) except Exception as e: # FIXME too broad exception return Unresolved(cm, buff) def get_extented_instruction(cm, op_value, buff): try: return DALVIK_OPCODES_EXTENDED_WIDTH[op_value][0](cm, buff) except struct.error: raise InvalidInstruction("Invalid Instruction for 0x%x:%s" % (op_value, repr(buff))) def get_optimized_instruction(cm, op_value, buff): try: return DALVIK_OPCODES_OPTIMIZED[op_value][0](cm, buff) except struct.error: raise InvalidInstruction("Invalid Instruction for 0x%x:%s" % (op_value, repr(buff))) def get_instruction_payload(op_value, buff): try: return DALVIK_OPCODES_PAYLOAD[op_value][0](buff) except struct.error: raise InvalidInstruction("Invalid Instruction for 0x%x:%s" % (op_value, repr(buff))) class LinearSweepAlgorithm(object): """ This class is used to disassemble a method. The algorithm used by this class is linear sweep. """ def get_instructions(self, cm, size, insn, idx): """ :param cm: a ClassManager object :type cm: :class:`ClassManager` object :param size: the total size of the buffer :type size: int :param insn: a raw buffer where are the instructions :type insn: string :param idx: a start address in the buffer :type idx: int :rtype: a generator of :class:`Instruction` objects """ self.odex = cm.get_odex_format() max_idx = size * calcsize('=H') if max_idx > len(insn): max_idx = len(insn) # Get instructions while idx < max_idx: obj = None classic_instruction = True op_value = insn[idx] # print "%x %x" % (op_value, idx) # payload instructions or extented/optimized instructions if (op_value == 0x00 or op_value == 0xff) and ((idx + 2) < max_idx): op_value = unpack('=H', insn[idx:idx + 2])[0] # payload instructions ? if op_value in DALVIK_OPCODES_PAYLOAD: try: obj = get_instruction_payload(op_value, insn[idx:]) classic_instruction = False except struct.error: log.warning("error while decoding instruction ...") elif op_value in DALVIK_OPCODES_EXTENDED_WIDTH: try: obj = get_extented_instruction(cm, op_value, insn[idx:]) classic_instruction = False except struct.error as why: log.warning("error while decoding instruction ..." + why.__str__()) # optimized instructions ? elif self.odex and (op_value in DALVIK_OPCODES_OPTIMIZED): obj = get_optimized_instruction(cm, op_value, insn[idx:]) classic_instruction = False # classical instructions if classic_instruction: op_value = insn[idx] obj = get_instruction(cm, op_value, insn[idx:], self.odex) # emit instruction yield obj idx = idx + obj.get_length() class DCode(object): """ This class represents the instructions of a method :param class_manager: the ClassManager :type class_manager: :class:`ClassManager` object :param offset: the offset of the buffer :type offset: int :param size: the total size of the buffer :type size: int :param buff: a raw buffer where are the instructions :type buff: string """ def __init__(self, class_manager, offset, size, buff): self.CM = class_manager self.insn = buff self.offset = offset self.size = size self.notes = {} self.cached_instructions = None self.idx = 0 def get_insn(self): """ Get the insn buffer :rtype: string """ return self.insn def set_insn(self, insn): """ Set a new raw buffer to disassemble :param insn: the buffer :type insn: string """ self.insn = insn self.size = len(self.insn) def set_idx(self, idx): """ Set the start address of the buffer :param idx: the index :type idx: int """ self.idx = idx def is_cached_instructions(self): if self.cached_instructions is not None: return True return False def set_instructions(self, instructions): """ Set the instructions :param instructions: the list of instructions :type instructions: a list of :class:`Instruction` """ self.cached_instructions = instructions def get_instructions(self): """ Get the instructions :rtype: a generator of each :class:`Instruction` (or a cached list of instructions if you have setup instructions) """ # it is possible to a cache for instructions (avoid a new disasm) if self.cached_instructions is None: lsa = LinearSweepAlgorithm() ins = lsa.get_instructions(self.CM, self.size, self.insn, self.idx) self.cached_instructions = list(ins) for i in self.cached_instructions: yield i def reload(self): self.cached_instructions = None def add_inote(self, msg, idx, off=None): """ Add a message to a specific instruction by using (default) the index of the address if specified :param msg: the message :type msg: string :param idx: index of the instruction (the position in the list of the instruction) :type idx: int :param off: address of the instruction :type off: int """ if off is not None: idx = self.off_to_pos(off) if idx not in self.notes: self.notes[idx] = [] self.notes[idx].append(msg) def get_instruction(self, idx, off=None): """ Get a particular instruction by using (default) the index of the address if specified :param idx: index of the instruction (the position in the list of the instruction) :type idx: int :param off: address of the instruction :type off: int :rtype: an :class:`Instruction` object """ if off is not None: idx = self.off_to_pos(off) if self.cached_instructions is None: self.get_instructions() return self.cached_instructions[idx] def off_to_pos(self, off): """ Get the position of an instruction by using the address :param off: address of the instruction :type off: int :rtype: int """ idx = 0 nb = 0 for i in self.get_instructions(): if idx == off: return nb nb += 1 idx += i.get_length() return -1 def get_ins_off(self, off): """ Get a particular instruction by using the address :param off: address of the instruction :type off: int :rtype: an :class:`Instruction` object """ idx = 0 for i in self.get_instructions(): if idx == off: return i idx += i.get_length() return None def show(self): """ Display (with a pretty print) this object """ off = 0 for n, i in enumerate(self.get_instructions()): print("{:8d} (0x{:08x}) {:30} {}".format(n, off, i.get_name(), i.get_output(self.idx))) off += i.get_length() def get_raw(self): """ Return the raw buffer of this object :rtype: bytearray """ buff = bytearray() for i in self.get_instructions(): buff += i.get_raw() return buff def get_length(self): """ Return the length of this object :rtype: int """ return len(self.get_raw()) class TryItem(object): """ This class represents the try_item format :param buff: a raw buffer where are the try_item format :type buff: string :param cm: the ClassManager :type cm: :class:`ClassManager` object """ def __init__(self, buff, cm): self.offset = buff.get_idx() self.CM = cm self.start_addr = unpack("=I", buff.read(4))[0] self.insn_count = unpack("=H", buff.read(2))[0] self.handler_off = unpack("=H", buff.read(2))[0] def set_off(self, off): self.offset = off def get_off(self): return self.offset def get_start_addr(self): """ Get the start address of the block of code covered by this entry. The address is a count of 16-bit code units to the start of the first covered instruction. :rtype: int """ return self.start_addr def get_insn_count(self): """ Get the number of 16-bit code units covered by this entry :rtype: int """ return self.insn_count def get_handler_off(self): """ Get the offset in bytes from the start of the associated :class:`EncodedCatchHandlerList` to the :class:`EncodedCatchHandler` for this entry. :rtype: int """ return self.handler_off def get_raw(self): return pack("=I", self.start_addr) + pack("=H", self.insn_count) + pack( "=H", self.handler_off) def get_length(self): return len(self.get_raw()) class DalvikCode(object): """ This class represents the instructions of a method :param buff: a raw buffer where are the instructions :type buff: string :param cm: the ClassManager :type cm: :class:`ClassManager` object """ def __init__(self, buff, cm): self.CM = cm self.offset = buff.get_idx() self.registers_size = unpack("=H", buff.read(2))[0] self.ins_size = unpack("=H", buff.read(2))[0] self.outs_size = unpack("=H", buff.read(2))[0] self.tries_size = unpack("=H", buff.read(2))[0] self.debug_info_off = unpack("=I", buff.read(4))[0] self.insns_size = unpack("=I", buff.read(4))[0] ushort = calcsize('=H') self.code = DCode(self.CM, buff.get_idx(), self.insns_size, buff.read( self.insns_size * ushort)) if self.insns_size % 2 == 1 and self.tries_size > 0: self.padding = unpack("=H", buff.read(2))[0] self.tries = [] self.handlers = None if self.tries_size > 0: for i in range(0, self.tries_size): self.tries.append(TryItem(buff, self.CM)) self.handlers = EncodedCatchHandlerList(buff, self.CM) def get_registers_size(self): """ Get the number of registers used by this code :rtype: int """ return self.registers_size def get_ins_size(self): """ Get the number of words of incoming arguments to the method that this code is for :rtype: int """ return self.ins_size def get_outs_size(self): """ Get the number of words of outgoing argument space required by this code for method invocation :rtype: int """ return self.outs_size def get_tries_size(self): """ Get the number of :class:`TryItem` for this instance :rtype: int """ return self.tries_size def get_debug_info_off(self): """ Get the offset from the start of the file to the debug info (line numbers + local variable info) sequence for this code, or 0 if there simply is no information :rtype: int """ return self.debug_info_off def get_insns_size(self): """ Get the size of the instructions list, in 16-bit code units :rtype: int """ return self.insns_size def get_handlers(self): """ Get the bytes representing a list of lists of catch types and associated handler addresses. :rtype: :class:`EncodedCatchHandlerList` """ return self.handlers def get_tries(self): """ Get the array indicating where in the code exceptions are caught and how to handle them :rtype: a list of :class:`TryItem` objects """ return self.tries def get_debug(self): """ Return the associated debug object :rtype: :class:`DebugInfoItem` """ return self.CM.get_debug_off(self.debug_info_off) def get_bc(self): """ Return the associated code object :rtype: :class:`DCode` """ return self.code def set_idx(self, idx): self.code.set_idx(idx) def reload(self): self.code.reload() def get_length(self): return self.insns_size def _begin_show(self): log.debug("registers_size: %d" % self.registers_size) log.debug("ins_size: %d" % self.ins_size) log.debug("outs_size: %d" % self.outs_size) log.debug("tries_size: %d" % self.tries_size) log.debug("debug_info_off: %d" % self.debug_info_off) log.debug("insns_size: %d" % self.insns_size) bytecode._PrintBanner() def show(self): self._begin_show() self.code.show() self._end_show() def _end_show(self): bytecode._PrintBanner() def get_obj(self): return [self.code, self.tries, self.handlers] def get_raw(self): """ Get the reconstructed code as bytearray :rtype: bytearray """ code_raw = self.code.get_raw() self.insns_size = (len(code_raw) // 2) + (len(code_raw) % 2) buff = bytearray() # buff += self.int_padding buff += pack("=H", self.registers_size) + \ pack("=H", self.ins_size) + \ pack("=H", self.outs_size) + \ pack("=H", self.tries_size) + \ pack("=I", self.debug_info_off) + \ pack("=I", self.insns_size) + \ code_raw if self.tries_size > 0: if (self.insns_size % 2 == 1): buff += pack("=H", self.padding) for i in self.tries: buff += i.get_raw() buff += self.handlers.get_raw() return buff def add_inote(self, msg, idx, off=None): """ Add a message to a specific instruction by using (default) the index of the address if specified :param msg: the message :type msg: string :param idx: index of the instruction (the position in the list of the instruction) :type idx: int :param off: address of the instruction :type off: int """ if self.code: return self.code.add_inote(msg, idx, off) def get_instruction(self, idx, off=None): if self.code: return self.code.get_instruction(idx, off) def get_size(self): length = len(self.int_padding) length += len(pack("=H", self.registers_size) + \ pack("=H", self.ins_size) + \ pack("=H", self.outs_size) + \ pack("=H", self.tries_size) + \ pack("=I", self.debug_info_off) + \ pack("=I", self.insns_size)) length += self.code.get_length() if self.insns_size % 2 == 1 and self.tries_size > 0: length += len(pack("=H", self.padding)) if self.tries_size > 0: for i in self.tries: length += i.get_length() length += self.handlers.get_length() return length def set_off(self, off): self.offset = off def get_off(self): return self.offset class CodeItem(object): def __init__(self, size, buff, cm): self.CM = cm self.offset = buff.get_idx() self.code = [] self.__code_off = {} for i in range(0, size): # As we read the DalvikCode items from the map, there might be # padding bytes in between. # We know, that the alignment is 4 bytes. off = buff.get_idx() if off % 4 != 0: buff.set_idx(off + (4 - (off % 4))) x = DalvikCode(buff, cm) self.code.append(x) self.__code_off[x.get_off()] = x def set_off(self, off): self.offset = off def get_off(self): return self.offset def get_code(self, off): try: return self.__code_off[off] except KeyError: return None def reload(self): for i in self.code: i.reload() def show(self): # FIXME workaround for showing the MAP_ITEMS # if m_a is none, we use get_raw. # Otherwise the real code is printed... bytecode._PrintDefault("CODE_ITEM\n") bytecode._PrintDefault(binascii.hexlify(self.get_raw()).decode("ASCII")) bytecode._PrintDefault("\n") def get_obj(self): return [i for i in self.code] def get_raw(self): buff = bytearray() for c in self.code: buff += c.get_raw() return buff def get_length(self): length = 0 for i in self.code: length += i.get_size() return length class MapItem(object): def __init__(self, buff, cm): """ Implementation of a map_item, which occours in a map_list https://source.android.com/devices/tech/dalvik/dex-format#map-item """ self.CM = cm self.buff = buff self.off = buff.get_idx() self.type = unpack("=H", buff.read(2))[0] self.unused = unpack("=H", buff.read(2))[0] self.size = unpack("=I", buff.read(4))[0] self.offset = unpack("=I", buff.read(4))[0] self.item = None def get_off(self): return self.off def get_offset(self): return self.offset def get_type(self): return self.type def get_size(self): return self.size def parse(self): log.debug("Parsing section %s" % TYPE_MAP_ITEM[self.type]) started_at = time.time() buff = self.buff buff.set_idx(self.offset) cm = self.CM if TYPE_MAP_ITEM[self.type] == "TYPE_STRING_ID_ITEM": self.item = [StringIdItem(buff, cm) for i in range(0, self.size)] elif TYPE_MAP_ITEM[self.type] == "TYPE_CODE_ITEM": self.item = CodeItem(self.size, buff, cm) elif TYPE_MAP_ITEM[self.type] == "TYPE_TYPE_ID_ITEM": self.item = TypeHIdItem(self.size, buff, cm) elif TYPE_MAP_ITEM[self.type] == "TYPE_PROTO_ID_ITEM": self.item = ProtoHIdItem(self.size, buff, cm) elif TYPE_MAP_ITEM[self.type] == "TYPE_FIELD_ID_ITEM": self.item = FieldHIdItem(self.size, buff, cm) elif TYPE_MAP_ITEM[self.type] == "TYPE_METHOD_ID_ITEM": self.item = MethodHIdItem(self.size, buff, cm) elif TYPE_MAP_ITEM[self.type] == "TYPE_CLASS_DEF_ITEM": self.item = ClassHDefItem(self.size, buff, cm) elif TYPE_MAP_ITEM[self.type] == "TYPE_HEADER_ITEM": self.item = HeaderItem(self.size, buff, cm) elif TYPE_MAP_ITEM[self.type] == "TYPE_ANNOTATION_ITEM": self.item = [AnnotationItem(buff, cm) for i in range(0, self.size)] elif TYPE_MAP_ITEM[self.type] == "TYPE_ANNOTATION_SET_ITEM": self.item = [AnnotationSetItem(buff, cm) for i in range(0, self.size)] elif TYPE_MAP_ITEM[self.type] == "TYPE_ANNOTATIONS_DIRECTORY_ITEM": self.item = [AnnotationsDirectoryItem(buff, cm) for i in range(0, self.size)] elif TYPE_MAP_ITEM[self.type] == "TYPE_ANNOTATION_SET_REF_LIST": self.item = [AnnotationSetRefList(buff, cm) for i in range(0, self.size)] elif TYPE_MAP_ITEM[self.type] == "TYPE_TYPE_LIST": self.item = [TypeList(buff, cm) for i in range(0, self.size)] elif TYPE_MAP_ITEM[self.type] == "TYPE_STRING_DATA_ITEM": self.item = [StringDataItem(buff, cm) for i in range(0, self.size)] elif TYPE_MAP_ITEM[self.type] == "TYPE_DEBUG_INFO_ITEM": self.item = DebugInfoItemEmpty(buff, cm) elif TYPE_MAP_ITEM[self.type] == "TYPE_ENCODED_ARRAY_ITEM": self.item = [EncodedArrayItem(buff, cm) for i in range(0, self.size)] elif TYPE_MAP_ITEM[self.type] == "TYPE_CLASS_DATA_ITEM": self.item = [ClassDataItem(buff, cm) for i in range(0, self.size)] elif TYPE_MAP_ITEM[self.type] == "TYPE_MAP_LIST": pass # It's me I think !!! else: log.warning("Map item %d @ 0x%x(%d) is unknown" % (self.type, buff.get_idx(), buff.get_idx())) diff = time.time() - started_at minutes, seconds = float(diff // 60), float(diff % 60) log.debug("End of parsing %s = %s:%s" % (TYPE_MAP_ITEM[self.type], str(minutes), str(round(seconds, 2)))) def reload(self): if self.item is not None: if isinstance(self.item, list): for i in self.item: i.reload() else: self.item.reload() def show(self): bytecode._Print("\tMAP_TYPE_ITEM", TYPE_MAP_ITEM[self.type]) if self.item is not None: if isinstance(self.item, list): for i in self.item: i.show() else: self.item.show() def get_obj(self): return self.item def get_raw(self): if isinstance(self.item, list): self.offset = self.item[0].get_off() else: self.offset = self.item.get_off() return pack("=H", self.type) + pack("=H", self.unused) + pack( "=I", self.size) + pack("=I", self.offset) def get_length(self): return calcsize("=HHII") def get_item(self): return self.item def set_item(self, item): self.item = item class OffObj(object): def __init__(self, o): self.off = o class ClassManager(object): """ This class is used to access to all elements (strings, type, proto ...) of the dex format """ def __init__(self, vm, config): self.vm = vm self.buff = vm self.decompiler_ob = None self.__manage_item = {} self.__manage_item_off = [] self.__strings_off = {} self.__typelists_off = {} self.__classdata_off = {} self.__obj_offset = {} self.__item_offset = {} self.__cached_proto = {} self.recode_ascii_string = config["RECODE_ASCII_STRING"] self.recode_ascii_string_meth = None if config["RECODE_ASCII_STRING_METH"]: self.recode_ascii_string_meth = config["RECODE_ASCII_STRING_METH"] self.lazy_analysis = config["LAZY_ANALYSIS"] self.hook_strings = {} self.engine = [] self.engine.append("python") if self.vm is not None: self.odex_format = self.vm.get_format_type() == "ODEX" def get_ascii_string(self, s): try: return s.decode("ascii") except UnicodeDecodeError: d = "" for i in s: if i < 128: d += i else: d += "%x" % i return d def get_odex_format(self): return self.odex_format def get_obj_by_offset(self, offset): return self.__obj_offset[offset] def get_item_by_offset(self, offset): return self.__item_offset[offset] def get_string_by_offset(self, offset): return self.__strings_off[offset] def get_lazy_analysis(self): return self.lazy_analysis def set_decompiler(self, decompiler): self.decompiler_ob = decompiler def get_engine(self): return self.engine[0] def get_all_engine(self): return self.engine def add_type_item(self, type_item, c_item, item): self.__manage_item[type_item] = item self.__obj_offset[c_item.get_off()] = c_item self.__item_offset[c_item.get_offset()] = item if item is None: pass elif isinstance(item, list): for i in item: goff = i.offset self.__manage_item_off.append(goff) self.__obj_offset[i.get_off()] = i if type_item == "TYPE_STRING_DATA_ITEM": self.__strings_off[goff] = i elif type_item == "TYPE_TYPE_LIST": self.__typelists_off[goff] = i elif type_item == "TYPE_CLASS_DATA_ITEM": self.__classdata_off[goff] = i else: self.__manage_item_off.append(c_item.get_offset()) def get_code(self, idx): try: return self.__manage_item["TYPE_CODE_ITEM"].get_code(idx) except KeyError: return None def get_class_data_item(self, off): i = self.__classdata_off.get(off) if i is None: log.warning("unknown class data item @ 0x%x" % off) return i def get_encoded_array_item(self, off): for i in self.__manage_item["TYPE_ENCODED_ARRAY_ITEM"]: if i.get_off() == off: return i def get_string(self, idx): if idx in self.hook_strings: return self.hook_strings[idx] try: off = self.__manage_item["TYPE_STRING_ID_ITEM"][idx].get_string_data_off() except IndexError: log.warning("unknown string item @ %d" % idx) return "AG:IS: invalid string" try: if self.recode_ascii_string: if self.recode_ascii_string_meth: return self.recode_ascii_string_meth( self.__strings_off[off].get()) return self.get_ascii_string(self.__strings_off[off].get()) return self.__strings_off[off].get() except KeyError: log.warning("unknown string item @ 0x%x(%d)" % (off, idx)) return "AG:IS: invalid string" def get_raw_string(self, idx): try: off = self.__manage_item["TYPE_STRING_ID_ITEM"][idx].get_string_data_off( ) except IndexError: log.warning("unknown string item @ %d" % idx) return "AG:IS: invalid string" try: return self.__strings_off[off].get() except KeyError: log.warning("unknown string item @ 0x%x(%d)" % (off, idx)) return "AG:IS: invalid string" def get_type_list(self, off): if off == 0: return [] i = self.__typelists_off[off] return [type_.get_string() for type_ in i.get_list()] def get_type(self, idx): _type = self.__manage_item["TYPE_TYPE_ID_ITEM"].get(idx) if _type == -1: return "AG:ITI: invalid type" return self.get_string(_type) def get_type_ref(self, idx): return self.__manage_item["TYPE_TYPE_ID_ITEM"].get(idx) def get_proto(self, idx): proto = self.__cached_proto.get(idx) if not proto: proto = self.__manage_item["TYPE_PROTO_ID_ITEM"].get(idx) self.__cached_proto[idx] = proto return [proto.get_parameters_off_value(), proto.get_return_type_idx_value()] def get_field(self, idx): field = self.__manage_item["TYPE_FIELD_ID_ITEM"].get(idx) return [field.get_class_name(), field.get_type(), field.get_name()] def get_field_ref(self, idx): return self.__manage_item["TYPE_FIELD_ID_ITEM"].get(idx) def get_method(self, idx): method = self.__manage_item["TYPE_METHOD_ID_ITEM"].get(idx) return method.get_list() def get_method_ref(self, idx): return self.__manage_item["TYPE_METHOD_ID_ITEM"].get(idx) def set_hook_class_name(self, class_def, value): python_export = True _type = self.__manage_item["TYPE_TYPE_ID_ITEM"].get( class_def.get_class_idx()) self.set_hook_string(_type, value) try: self.vm._delete_python_export_class(class_def) except AttributeError: python_export = False class_def.reload() # FIXME self.__manage_item["TYPE_METHOD_ID_ITEM"].reload() for i in class_def.get_methods(): i.reload() for i in class_def.get_fields(): i.reload() if python_export: self.vm._create_python_export_class(class_def) def set_hook_method_name(self, encoded_method, value): python_export = True method = self.__manage_item["TYPE_METHOD_ID_ITEM"].get( encoded_method.get_method_idx()) self.set_hook_string(method.get_name_idx(), value) class_def = self.__manage_item["TYPE_CLASS_DEF_ITEM"].get_class_idx( method.get_class_idx()) if class_def is not None: try: name = bytecode.FormatNameToPython(encoded_method.get_name()) except AttributeError: name += "_" + bytecode.FormatDescriptorToPython( encoded_method.get_descriptor()) log.debug("try deleting old name in python...") try: delattr(class_def.M, name) log.debug("success with regular name") except AttributeError: log.debug("WARNING: fail with regular name") # python_export = False try: name = bytecode.FormatNameToPython(encoded_method.get_name( ) + '_' + encoded_method.proto.replace(' ', '').replace( '(', '').replace('[', '').replace(')', '').replace( '/', '_').replace(';', '')) except AttributeError: name += "_" + bytecode.FormatDescriptorToPython( encoded_method.get_descriptor()) try: delattr(class_def.M, name) log.debug("success with name containing prototype") except AttributeError: log.debug("WARNING: fail with name containing prototype") python_export = False if python_export: name = bytecode.FormatNameToPython(value) setattr(class_def.M, name, encoded_method) log.debug("new name in python: created: %s." % name) else: log.debug("skipping creating new name in python") method.reload() def set_hook_field_name(self, encoded_field, value): python_export = True field = self.__manage_item["TYPE_FIELD_ID_ITEM"].get( encoded_field.get_field_idx()) self.set_hook_string(field.get_name_idx(), value) class_def = self.__manage_item["TYPE_CLASS_DEF_ITEM"].get_class_idx( field.get_class_idx()) if class_def is not None: try: name = bytecode.FormatNameToPython(encoded_field.get_name()) except AttributeError: name += "_" + bytecode.FormatDescriptorToPython( encoded_field.get_descriptor()) try: delattr(class_def.F, name) except AttributeError: python_export = False if python_export: name = bytecode.FormatNameToPython(value) setattr(class_def.F, name, encoded_field) field.reload() def set_hook_string(self, idx, value): self.hook_strings[idx] = value def get_next_offset_item(self, idx): for i in self.__manage_item_off: if i > idx: return i return idx def get_debug_off(self, off): self.buff.set_idx(off) return DebugInfoItem(self.buff, self) class MapList(object): """ This class can parse the "map_list" of the dex format https://source.android.com/devices/tech/dalvik/dex-format#map-list """ def __init__(self, cm, off, buff): self.CM = cm buff.set_idx(off) self.offset = off self.size = unpack("=I", buff.read(4))[0] self.map_item = [] for i in range(0, self.size): idx = buff.get_idx() mi = MapItem(buff, self.CM) self.map_item.append(mi) buff.set_idx(idx + mi.get_length()) # TYPE_STRING_DATA_ITEM will be at the beginning of ordered ordered = sorted(self.map_item, key=lambda mi: TYPE_MAP_ITEM[mi.get_type()] != "TYPE_STRING_DATA_ITEM") for mi in ordered: mi.parse() c_item = mi.get_item() if c_item is None: mi.set_item(self) c_item = mi.get_item() self.CM.add_type_item(TYPE_MAP_ITEM[mi.get_type()], mi, c_item) for i in self.map_item: log.debug("Reloading %s" % TYPE_MAP_ITEM[i.get_type()]) started_at = time.time() i.reload() diff = time.time() - started_at minutes, seconds = float(diff // 60), float(diff % 60) log.debug( "End of reloading %s = %s:%s" % (TYPE_MAP_ITEM[i.get_type()], str(minutes), str(round(seconds, 2)))) def reload(self): pass def get_off(self): return self.offset def set_off(self, off): self.offset = off def get_item_type(self, ttype): """ Get a particular item type :param ttype: a string which represents the desired type :rtype: None or the item object """ for i in self.map_item: if TYPE_MAP_ITEM[i.get_type()] == ttype: return i.get_item() return None def show(self): """ Print with a pretty display the MapList object """ bytecode._Print("MAP_LIST SIZE", self.size) for i in self.map_item: if i.item != self: # FIXME this does not work for CodeItems! # as we do not have the method analysis here... i.show() def get_obj(self): return [x.get_obj() for x in self.map_item] def get_raw(self): return pack("=I", self.size) + b''.join(x.get_raw() for x in self.map_item) def get_class_manager(self): return self.CM def get_length(self): return len(self.get_raw()) class DalvikVMFormat(bytecode._Bytecode): """ This class can parse a classes.dex file of an Android application (APK). :param buff: a string which represents the classes.dex file :param decompiler: associate a decompiler object to display the java source code :type buff: string :type decompiler: object :Example: DalvikVMFormat( read("classes.dex") ) """ def __init__(self, buff, decompiler=None, config=None, using_api=None): # to allow to pass apk object ==> we do not need to pass additionally target version if isinstance(buff, APK): self.api_version = buff.get_target_sdk_version() buff = buff.get_dex() # getting dex from APK file elif using_api: self.api_version = using_api else: self.api_version = CONF["DEFAULT_API"] # TODO: can using_api be added to config parameter? super(DalvikVMFormat, self).__init__(buff) self.config = config if not self.config: self.config = { "RECODE_ASCII_STRING": CONF["RECODE_ASCII_STRING"], "RECODE_ASCII_STRING_METH": CONF["RECODE_ASCII_STRING_METH"], "LAZY_ANALYSIS": CONF["LAZY_ANALYSIS"] } self.CM = ClassManager(self, self.config) self.CM.set_decompiler(decompiler) self._preload(buff) self._load(buff) def _preload(self, buff): pass def _load(self, buff): self.__header = HeaderItem(0, self, ClassManager(None, self.config)) if self.__header.map_off == 0: log.warning("no map list ...") else: self.map_list = MapList(self.CM, self.__header.map_off, self) self.classes = self.map_list.get_item_type("TYPE_CLASS_DEF_ITEM") self.methods = self.map_list.get_item_type("TYPE_METHOD_ID_ITEM") self.fields = self.map_list.get_item_type("TYPE_FIELD_ID_ITEM") self.codes = self.map_list.get_item_type("TYPE_CODE_ITEM") self.strings = self.map_list.get_item_type("TYPE_STRING_DATA_ITEM") self.debug = self.map_list.get_item_type("TYPE_DEBUG_INFO_ITEM") self.header = self.map_list.get_item_type("TYPE_HEADER_ITEM") self._flush() def _flush(self): """ Flush all caches Might be used after classes, methods or fields are added. """ self.classes_names = None self.__cache_methods = None self.__cached_methods_idx = None self.__cache_fields = None # cache methods and fields as well, otherwise the decompiler is quite slow self.__cache_all_methods = None self.__cache_all_fields = None def get_vmanalysis(self): """ The Analysis Object should contain all the information required, inclduing the DalvikVMFormats. """ warnings.warn("deprecated", DeprecationWarning) def set_vmanalysis(self, analysis): """ The Analysis Object should contain all the information required, inclduing the DalvikVMFormats. """ warnings.warn("deprecated", DeprecationWarning) def get_api_version(self): """ This method returns api version that should be used for loading api specific resources. :rtype: int """ return self.api_version def get_classes_def_item(self): """ This function returns the class def item :rtype: :class:`ClassHDefItem` object """ return self.classes def get_methods_id_item(self): """ This function returns the method id item :rtype: :class:`MethodHIdItem` object """ return self.methods def get_fields_id_item(self): """ This function returns the field id item :rtype: :class:`FieldHIdItem` object """ return self.fields def get_codes_item(self): """ This function returns the code item :rtype: :class:`CodeItem` object """ return self.codes def get_string_data_item(self): """ This function returns the string data item :rtype: :class:`StringDataItem` object """ return self.strings def get_debug_info_item(self): """ This function returns the debug info item :rtype: :class:`DebugInfoItem` object """ return self.debug def get_header_item(self): """ This function returns the header item :rtype: :class:`HeaderItem` object """ return self.header def get_class_manager(self): """ This function returns a ClassManager object which allow you to get access to all index references (strings, methods, fields, ....) :rtype: :class:`ClassManager` object """ return self.CM def show(self): """ Show the all information in the object """ self.map_list.show() def save(self): """ Return the dex (with the modifications) into raw format (fix checksums) (beta: do not use !) :rtype: string """ l = [] h = {} s = {} h_r = {} idx = 0 for i in self.map_list.get_obj(): length = 0 if isinstance(i, list): for j in i: if isinstance(j, AnnotationsDirectoryItem): if idx % 4 != 0: idx = idx + (4 - (idx % 4)) l.append(j) c_length = j.get_length() if isinstance(j, StringDataItem): c_length += 1 h[j] = idx + length h_r[idx + length] = j s[idx + length] = c_length length += c_length # log.debug("SAVE" + str(j) + " @ 0x%x" % (idx+length)) log.debug("SAVE " + str(i[0]) + " @0x%x (%x)" % (idx, length)) else: if isinstance(i, MapList): if idx % 4 != 0: idx = idx + (4 - (idx % 4)) l.append(i) h[i] = idx h_r[idx] = i length = i.get_length() s[idx] = length log.debug("SAVE " + str(i) + " @0x%x (%x)" % (idx, length)) idx += length self.header.file_size = idx for i in l: idx = h[i] i.set_off(idx) if isinstance(i, CodeItem): last_idx = idx for j in i.get_obj(): j.set_off(last_idx) # j.set_debug_info_off(0) last_idx += j.get_size() last_idx = 0 buff = bytearray() for i in l: idx = h[i] if idx != last_idx: log.debug("Adjust alignment @%x with 00 %x" % (idx, idx - last_idx)) buff += bytearray([0] * (idx - last_idx)) buff += i.get_raw() if isinstance(i, StringDataItem): buff += b"\x00" last_idx = idx + s[idx] log.debug("GLOBAL SIZE %d" % len(buff)) return self.fix_checksums(buff) def fix_checksums(self, buff): """ Fix a dex format buffer by setting all checksums :rtype: string """ import zlib import hashlib signature = hashlib.sha1(buff[32:]).digest() buff = buff[:12] + signature + buff[32:] checksum = zlib.adler32(buff[12:]) buff = buff[:8] + pack("=i", checksum) + buff[12:] log.debug("NEW SIGNATURE %s" % repr(signature)) log.debug("NEW CHECKSUM %x" % checksum) return buff def get_cm_field(self, idx): """ Get a specific field by using an index :param idx: index of the field :type idx: int """ return self.CM.get_field(idx) def get_cm_method(self, idx): """ Get a specific method by using an index :param idx: index of the method :type idx: int """ return self.CM.get_method(idx) def get_cm_string(self, idx): """ Get a specific string by using an index :param idx: index of the string :type idx: int """ return self.CM.get_raw_string(idx) def get_cm_type(self, idx): """ Get a specific type by using an index :param idx: index of the type :type idx: int """ return self.CM.get_type(idx) def get_classes_names(self, update=False): """ Return the names of classes :param update: True indicates to recompute the list. Maybe needed after using a MyClass.set_name(). :rtype: a list of string """ if self.classes_names is None or update: self.classes_names = [i.get_name() for i in self.classes.class_def] return self.classes_names def get_classes(self): """ Return all classes :rtype: a list of :class:`ClassDefItem` objects """ return self.classes.class_def def get_class(self, name): """ Return a specific class :param name: the name of the class :rtype: a :class:`ClassDefItem` object """ for i in self.classes.class_def: if i.get_name() == name: return i return None def get_method(self, name): """ Return a list all methods which corresponds to the regexp :param name: the name of the method (a python regexp) :rtype: a list with all :class:`EncodedMethod` objects """ # TODO could use a generator here prog = re.compile(name) l = [] for i in self.classes.class_def: for j in i.get_methods(): if prog.match(j.get_name()): l.append(j) return l def get_field(self, name): """ Return a list all fields which corresponds to the regexp :param name: the name of the field (a python regexp) :rtype: a list with all :class:`EncodedField` objects """ # TODO could use a generator here prog = re.compile(name) l = [] for i in self.classes.class_def: for j in i.get_fields(): if prog.match(j.get_name()): l.append(j) return l def get_all_fields(self): """ Return a list of field items :rtype: a list of :class:`FieldIdItem` objects """ try: return self.fields.gets() except AttributeError: return [] def get_fields(self): """ Return all field objects :rtype: a list of :class:`EncodedField` objects """ if self.__cache_all_fields is None: self.__cache_all_fields = [] for i in self.classes.class_def: for j in i.get_fields(): self.__cache_all_fields.append(j) return self.__cache_all_fields def get_methods(self): """ Return all method objects :rtype: a list of :class:`EncodedMethod` objects """ if self.__cache_all_methods is None: self.__cache_all_methods = [] for i in self.classes.class_def: for j in i.get_methods(): self.__cache_all_methods.append(j) return self.__cache_all_methods def get_len_methods(self): """ Return the number of methods :rtype: int """ return len(self.get_methods()) def get_method_by_idx(self, idx): """ Return a specific method by using an index :param idx: the index of the method :type idx: int :rtype: None or an :class:`EncodedMethod` object """ if self.__cached_methods_idx is None: self.__cached_methods_idx = {} for i in self.classes.class_def: for j in i.get_methods(): self.__cached_methods_idx[j.get_method_idx()] = j try: return self.__cached_methods_idx[idx] except KeyError: return None def get_method_descriptor(self, class_name, method_name, descriptor): """ Return the specific method :param class_name: the class name of the method :type class_name: string :param method_name: the name of the method :type method_name: string :param descriptor: the descriptor of the method :type descriptor: string :rtype: None or a :class:`EncodedMethod` object """ key = class_name + method_name + descriptor if self.__cache_methods is None: self.__cache_methods = {} for i in self.classes.class_def: for j in i.get_methods(): self.__cache_methods[j.get_class_name() + j.get_name() + j.get_descriptor()] = j return self.__cache_methods.get(key) def get_methods_descriptor(self, class_name, method_name): """ Return the specific methods of the class :param class_name: the class name of the method :type class_name: string :param method_name: the name of the method :type method_name: string :rtype: None or a :class:`EncodedMethod` object """ l = [] for i in self.classes.class_def: if i.get_name() == class_name: for j in i.get_methods(): if j.get_name() == method_name: l.append(j) return l def get_methods_class(self, class_name): """ Return all methods of a specific class :param class_name: the class name :type class_name: string :rtype: a list with :class:`EncodedMethod` objects """ l = [] for i in self.classes.class_def: for j in i.get_methods(): if class_name == j.get_class_name(): l.append(j) return l def get_fields_class(self, class_name): """ Return all fields of a specific class :param class_name: the class name :type class_name: string :rtype: a list with :class:`EncodedField` objects """ l = [] for i in self.classes.class_def: for j in i.get_fields(): if class_name == j.get_class_name(): l.append(j) return l def get_field_descriptor(self, class_name, field_name, descriptor): """ Return the specific field :param class_name: the class name of the field :type class_name: string :param field_name: the name of the field :type field_name: string :param descriptor: the descriptor of the field :type descriptor: string :rtype: None or a :class:`EncodedField` object """ key = class_name + field_name + descriptor if self.__cache_fields is None: self.__cache_fields = {} for i in self.classes.class_def: for j in i.get_fields(): self.__cache_fields[j.get_class_name() + j.get_name() + j.get_descriptor()] = j return self.__cache_fields.get(key) def get_strings_unicode(self): """ Return all strings This method will return pure UTF-16 strings. This is the "exact" same string as used in Java. Those strings can be problematic for python, as they can contain surrogates as well as "broken" surrogate pairs, ie single high or low surrogates. Such a string can for example not be printed. To avoid such problems, there is an escape mechanism to detect such lonely surrogates and escape them in the string. Of course, this results in a different string than in the Java Source! Use `get_strings()` as a general purpose and `get_strings_unicode()` if you require the exact string from the Java Source. You can always escape the string from `get_strings_unicode()` using the function `androguard.core.bytecodes.mutf8.patch_string(s)`. :rtype: a list with all strings used in the format (types, names ...) """ for i in self.strings: yield i.get_unicode() def get_strings(self): """ Return all strings The strings will have escaped surrogates, if only a single high or low surrogate is found. Complete surrogates are put together into the representing 32bit character. :rtype: a list with all strings used in the format (types, names ...) """ return [i.get() for i in self.strings] def get_regex_strings(self, regular_expressions): """ Return all target strings matched the regex :param regular_expressions: the python regex :type regular_expressions: string :rtype: a list of strings matching the regex expression """ str_list = [] if regular_expressions.count is None: return None for i in self.get_strings(): if re.match(regular_expressions, i): str_list.append(i) return str_list def get_format_type(self): """ Return the type :rtype: a string """ return "DEX" def create_python_export(self): """ Export classes/methods/fields' names in the python namespace """ setattr(self, "C", ExportObject()) for _class in self.get_classes(): self._create_python_export_class(_class) def _delete_python_export_class(self, _class): self._create_python_export_class(_class, True) def _create_python_export_class(self, _class, delete=False): if _class is not None: ### Class name = bytecode.FormatClassToPython(_class.get_name()) if delete: delattr(self.C, name) return else: setattr(self.C, name, _class) setattr(_class, "M", ExportObject()) setattr(_class, "F", ExportObject()) self._create_python_export_methods(_class, delete) self._create_python_export_fields(_class, delete) def _create_python_export_methods(self, _class, delete): m = {} for method in _class.get_methods(): if method.get_name() not in m: m[method.get_name()] = [] m[method.get_name()].append(method) setattr(method, "XF", ExportObject()) setattr(method, "XT", ExportObject()) for i in m: if len(m[i]) == 1: j = m[i][0] name = bytecode.FormatNameToPython(j.get_name()) setattr(_class.M, name, j) else: for j in m[i]: name = ( bytecode.FormatNameToPython(j.get_name()) + "_" + bytecode.FormatDescriptorToPython(j.get_descriptor())) setattr(_class.M, name, j) def _create_python_export_fields(self, _class, delete): f = {} for field in _class.get_fields(): if field.get_name() not in f: f[field.get_name()] = [] f[field.get_name()].append(field) setattr(field, "XR", ExportObject()) setattr(field, "XW", ExportObject()) for i in f: if len(f[i]) == 1: j = f[i][0] name = bytecode.FormatNameToPython(j.get_name()) setattr(_class.F, name, j) else: for j in f[i]: name = bytecode.FormatNameToPython(j.get_name( )) + "_" + bytecode.FormatDescriptorToPython( j.get_descriptor()) setattr(_class.F, name, j) def get_BRANCH_DVM_OPCODES(self): return BRANCH_DVM_OPCODES def get_determineNext(self): return determineNext def get_determineException(self): return determineException def set_decompiler(self, decompiler): self.CM.set_decompiler(decompiler) def disassemble(self, offset, size): """ Disassembles a given offset in the DEX file :param offset: offset to disassemble in the file (from the beginning of the file) :type offset: int :param size: :type size: """ for i in DCode( self.CM, offset, size, self.get_buff()[offset:offset + size]).get_instructions(): yield i def _get_class_hierarchy(self): ids = {} present = {} r_ids = {} to_add = {} els = [] for current_class in self.get_classes(): s_name = current_class.get_superclassname()[1:-1] c_name = current_class.get_name()[1:-1] if s_name not in ids: ids[s_name] = len(ids) + 1 r_ids[ids[s_name]] = s_name if c_name not in ids: ids[c_name] = len(ids) + 1 els.append([ids[c_name], ids[s_name], c_name]) present[ids[c_name]] = True for i in els: if i[1] not in present: to_add[i[1]] = r_ids[i[1]] for i in to_add: els.append([i, 0, to_add[i]]) treeMap = {} Root = bytecode.Node(0, "Root") treeMap[Root.id] = Root for element in els: nodeId, parentId, title = element if not nodeId in treeMap: treeMap[nodeId] = bytecode.Node(nodeId, title) else: treeMap[nodeId].id = nodeId treeMap[nodeId].title = title if not parentId in treeMap: treeMap[parentId] = bytecode.Node(0, '') treeMap[parentId].children.append(treeMap[nodeId]) return Root def print_classes_hierarchy(self): def print_map(node, l, lvl=0): for n in node.children: if lvl == 0: l.append("%s" % n.title) else: l.append("%s %s" % ('\t' * lvl, n.title)) if len(n.children) > 0: print_map(n, l, lvl + 1) l = [] print_map(self._get_class_hierarchy(), l) return l def list_classes_hierarchy(self): def print_map(node, l): if node.title not in l: l[node.title] = [] for n in node.children: if len(n.children) > 0: w = {n.title: []} l[node.title].append(w) print_map(n, w) else: l[node.title].append(n.title) l = {} print_map(self._get_class_hierarchy(), l) return l def get_format(self): objs = self.map_list.get_obj() h = {} index = {} self._get_objs(h, index, objs) return h, index def _get_objs(self, h, index, objs): for i in objs: if isinstance(i, list): self._get_objs(h, index, i) else: try: if i is not None: h[i] = {} index[i] = i.offset except AttributeError: pass try: if not isinstance(i, MapList): next_objs = i.get_obj() if isinstance(next_objs, list): self._get_objs(h[i], index, next_objs) except AttributeError: pass def colorize_operands(self, operands, colors): for operand in operands: if operand[0] == OPERAND_REGISTER: yield "%sv%d%s" % (colors["registers"], operand[1], colors["normal"]) elif operand[0] == OPERAND_LITERAL: yield "%s%d%s" % (colors["literal"], operand[1], colors["normal"]) elif operand[0] == OPERAND_RAW: yield "%s%s%s" % (colors["raw"], operand[1], colors["normal"]) elif operand[0] == OPERAND_OFFSET: yield "%s%d%s" % (colors["offset"], operand[1], colors["normal"] ) elif operand[0] & OPERAND_KIND: if operand[0] == (OPERAND_KIND + KIND_STRING): yield "%s%s%s" % (colors["string"], operand[2], colors["normal"]) elif operand[0] == (OPERAND_KIND + KIND_METH): yield "%s%s%s" % (colors["meth"], operand[2], colors["normal"]) elif operand[0] == (OPERAND_KIND + KIND_FIELD): yield "%s%s%s" % (colors["field"], operand[2], colors["normal"]) elif operand[0] == (OPERAND_KIND + KIND_TYPE): yield "%s%s%s" % (colors["type"], operand[2], colors["normal"]) else: yield "%s" % repr(operands[2]) else: yield "%s" % repr(operands[1]) def get_operand_html(self, operand, registers_colors, colors, escape_fct, wrap_fct): if operand[0] == OPERAND_REGISTER: return "v%s" % ( registers_colors[operand[1]], operand[1]) elif operand[0] == OPERAND_LITERAL: return "0x%x" % (colors["literal"], operand[1]) elif operand[0] == OPERAND_RAW: if len(operand[1]) > 32: wrapped = wrap_fct(operand[1], 32) wrapped_adjust = "
" + "
".join( escape_fct(repr(i)[1:-1]) for i in wrapped) return "%s" % (colors["raw"], wrapped_adjust) return "%s" % ( colors["raw"], escape_fct(repr(operand[1])[1:-1])) elif operand[0] == OPERAND_OFFSET: return "0x%x" % ( colors["offset"], operand[1]) elif operand[0] & OPERAND_KIND: if operand[0] == (OPERAND_KIND + KIND_STRING): if len(operand[2]) > 32: wrapped = wrap_fct(operand[2], 32) wrapped_adjust = "
" + "
".join(escape_fct(i) for i in wrapped) return "%s" % (colors["string"], wrapped_adjust) return "%s" % (colors["string"], escape_fct(operand[2])) elif operand[0] == (OPERAND_KIND + KIND_METH): return "%s" % (colors["method"], escape_fct(operand[2])) elif operand[0] == (OPERAND_KIND + KIND_FIELD): return "%s" % (colors["field"], escape_fct(operand[2])) elif operand[0] == (OPERAND_KIND + KIND_TYPE): return "%s" % (colors["type"], escape_fct(operand[2])) return escape_fct(str(operand[2])) return escape_fct(str(operand[1])) class OdexHeaderItem(object): """ This class can parse the odex header :param buff: a Buff object string which represents the odex dependencies """ def __init__(self, buff): buff.set_idx(8) self.dex_offset = unpack("=I", buff.read(4))[0] self.dex_length = unpack("=I", buff.read(4))[0] self.deps_offset = unpack("=I", buff.read(4))[0] self.deps_length = unpack("=I", buff.read(4))[0] self.aux_offset = unpack("=I", buff.read(4))[0] self.aux_length = unpack("=I", buff.read(4))[0] self.flags = unpack("=I", buff.read(4))[0] self.padding = unpack("=I", buff.read(4))[0] def show(self): print("dex_offset:%x dex_length:%x deps_offset:%x deps_length:%x aux_offset:%x aux_length:%x flags:%x" % ( self.dex_offset, self.dex_length, self.deps_offset, self.deps_length, self.aux_offset, self.aux_length, self.flags)) def get_raw(self): return pack("=I", self.dex_offset) + \ pack("=I", self.dex_length) + \ pack("=I", self.deps_offset) + \ pack("=I", self.deps_length) + \ pack("=I", self.aux_offset) + \ pack("=I", self.aux_length) + \ pack("=I", self.flags) + \ pack("=I", self.padding) class OdexDependencies(object): """ This class can parse the odex dependencies :param buff: a Buff object string which represents the odex dependencies """ def __init__(self, buff): self.modification_time = unpack("=I", buff.read(4))[0] self.crc = unpack("=I", buff.read(4))[0] self.dalvik_build = unpack("=I", buff.read(4))[0] self.dependency_count = unpack("=I", buff.read(4))[0] self.dependencies = [] self.dependency_checksums = [] for i in range(0, self.dependency_count): string_length = unpack("=I", buff.read(4))[0] name_dependency = buff.read(string_length) self.dependencies.append(name_dependency) self.dependency_checksums.append(buff.read(20)) def get_dependencies(self): """ Return the list of dependencies :rtype: a list of strings """ return self.dependencies def get_raw(self): dependencies = "" for idx, value in enumerate(self.dependencies): dependencies += pack("=I", len(value)) + \ pack("=%ds" % len(value), value) + \ pack("=20s", self.dependency_checksums[idx]) return pack("=I", self.modification_time) + \ pack("=I", self.crc) + \ pack("=I", self.dalvik_build) + \ pack("=I", self.dependency_count) + \ dependencies class DalvikOdexVMFormat(DalvikVMFormat): """ This class can parse an odex file :param buff: a string which represents the odex file :param decompiler: associate a decompiler object to display the java source code :type buff: string :type decompiler: object :Example: DalvikOdexVMFormat( read("classes.odex") ) """ def _preload(self, buff): self.orig_buff = buff self.magic = buff[:8] if self.magic in (ODEX_FILE_MAGIC_35, ODEX_FILE_MAGIC_36, ODEX_FILE_MAGIC_37): self.odex_header = OdexHeaderItem(self) self.set_idx(self.odex_header.deps_offset) self.dependencies = OdexDependencies(self) self.padding = buff[self.odex_header.deps_offset + self.odex_header.deps_length:] self.set_idx(self.odex_header.dex_offset) self.set_buff(self.read(self.odex_header.dex_length)) self.set_idx(0) def save(self): """ Do not use ! """ dex_raw = super(DalvikOdexVMFormat, self).save() return self.magic + self.odex_header.get_raw( ) + dex_raw + self.dependencies.get_raw() + self.padding def get_buff(self): return self.magic + self.odex_header.get_raw() + super( DalvikOdexVMFormat, self).get_buff() + self.dependencies.get_raw() + self.padding def get_dependencies(self): """ Return the odex dependencies object :rtype: an OdexDependencies object """ return self.dependencies def get_format_type(self): """ Return the type :rtype: a string """ return "ODEX" def get_params_info(nb, proto): i_buffer = "# Parameters:\n" ret = proto.split(')') params = ret[0][1:].split() if params: i_buffer += "# - local registers: v%d...v%d\n" % (0, nb - len(params) - 1) j = 0 for i in range(nb - len(params), nb): i_buffer += "# - v%d:%s\n" % (i, get_type(params[j])) j += 1 else: i_buffer += "# local registers: v%d...v%d\n" % (0, nb - 1) i_buffer += "#\n# - return:%s\n\n" % get_type(ret[1]) return i_buffer def get_bytecodes_method(dex_object, ana_object, method): mx = ana_object.get_method(method) return get_bytecodes_methodx(method, mx) def get_bytecodes_methodx(method, mx): basic_blocks = mx.basic_blocks.gets() i_buffer = "" idx = 0 nb = 0 i_buffer += "# %s->%s%s [access_flags=%s]\n#\n" % ( method.get_class_name(), method.get_name(), method.get_descriptor(), method.get_access_flags_string()) if method.code is not None: i_buffer += get_params_info(method.code.get_registers_size(), method.get_descriptor()) for i in basic_blocks: bb_buffer = "" ins_buffer = "" bb_buffer += "%s : " % i.name # TODO using the generator object as a list again is not ideal... instructions = list(i.get_instructions()) for ins in instructions: ins_buffer += "\t%-8d(%08x) " % (nb, idx) ins_buffer += "%-20s %s" % (ins.get_name(), ins.get_output(idx)) op_value = ins.get_op_value() if ins == instructions[-1] and i.childs != []: # packed/sparse-switch if (op_value == 0x2b or op_value == 0x2c) and len(i.childs) > 1: values = i.get_special_ins(idx).get_values() bb_buffer += "[ D:%s " % i.childs[0][2].name bb_buffer += ' '.join( "%d:%s" % (values[j], i.childs[j + 1][2].name) for j in range(0, len(i.childs) - 1)) + " ]" else: # if len(i.childs) == 2: # i_buffer += "%s[ %s%s " % (branch_false_color, i.childs[0][2].name, branch_true_color)) # print_fct(' '.join("%s" % c[2].name for c in i.childs[1:]) + " ]%s" % normal_color) # else: bb_buffer += "[ " + ' '.join("%s" % c[2].name for c in i.childs) + " ]" idx += ins.get_length() nb += 1 ins_buffer += "\n" if i.get_exception_analysis() is not None: ins_buffer += "\t%s\n" % (i.exception_analysis.show_buff()) i_buffer += bb_buffer + "\n" + ins_buffer + "\n" return i_buffer class ExportObject(object): pass class ConstString(Instruction21c): """ Simulate a const-string instruction. """ def __init__(self, orig_ins, value): self.OP = orig_ins.OP self.AA = orig_ins.AA self.BBBB = orig_ins.BBBB self.cm = orig_ins.cm self.value = value def get_raw_string(self): return self.value def get_operands(self, idx=-1): return [(0, 1), (257, 2113, "'%s'" % self.value)] class FakeNop(Instruction10x): """Simulate a nop instruction.""" def __init__(self, length): self.OP = 0x00 self.length = length def get_length(self): return self.length androguard-3.1.0-rc2/androguard/core/bytecodes/mutf8.py000066400000000000000000000054241324327352200230110ustar00rootroot00000000000000from builtins import chr, str def decode(b): """ Decode bytes as MUTF-8 See https://docs.oracle.com/javase/6/docs/api/java/io/DataInput.html#modified-utf-8 for more information Surrogates will be returned as two 16 bit characters. :param b: bytes to decode :rtype: unicode (py2), str (py3) of 16bit chars """ res = u"" b = iter(bytearray(b)) for x in b: if x >> 7 == 0: # Single char: res += chr(x & 0x7f) elif x >> 5 == 0b110: # 2 byte Multichar b2 = next(b) assert b2 >> 6 == 0b10, "Second byte of 2 byte sequence does not looks right." res += chr((x & 0x1f) << 6 | b2 & 0x3f) elif x >> 4 == 0b1110: # 3 byte Multichar b2 = next(b) b3 = next(b) assert b2 >> 6 == 0b10, "Second byte of 3 byte sequence does not looks right." assert b3 >> 6 == 0b10, "Third byte of 3 byte sequence does not looks right." res += chr((x & 0xf) << 12 | (b2 & 0x3f) << 6 | b3 & 0x3f) else: raise UnicodeDecodeError("Could not decode byte") return res class PeekIterator: """ A quick'n'dirty variant of an Iterator that has a special function peek, which will return the next object but not consume it. """ idx = 0 def __init__(self, s): self.s = s def __iter__(self): return self def __next__(self): if self.idx == len(self.s): raise StopIteration() self.idx = self.idx + 1 return self.s[self.idx - 1] def next(self): # py2 compliance return self.__next__() def peek(self): if self.idx == len(self.s): return None return self.s[self.idx] def patch_string(s): """ Reorganize a String in such a way that surrogates are printable and lonely surrogates are escaped. :param s: input string :return: string with escaped lonely surrogates and 32bit surrogates """ res = u'' it = PeekIterator(s) for c in it: if (ord(c) >> 10) == 0b110110: # High surrogate # Check for the next n = it.peek() if n and (ord(n) >> 10) == 0b110111: # Next is a low surrogate! Merge them together res += chr(((ord(c) & 0x3ff) << 10 | (ord(n) & 0x3ff)) + 0x10000) # Skip next char, as we already consumed it next(it) else: # Lonely high surrogate res += u"\\u{:04x}".format(ord(c)) elif (ord(c) >> 10) == 0b110111: # Lonely low surrogate res += u"\\u{:04x}".format(ord(c)) else: # Looks like a normal char... res += c return res androguard-3.1.0-rc2/androguard/core/data/000077500000000000000000000000001324327352200203175ustar00rootroot00000000000000androguard-3.1.0-rc2/androguard/core/data/__init__.py000066400000000000000000000000001324327352200224160ustar00rootroot00000000000000androguard-3.1.0-rc2/androguard/core/data/data.py000066400000000000000000000223571324327352200216130ustar00rootroot00000000000000from __future__ import division from __future__ import print_function from builtins import hex from builtins import object from networkx import DiGraph import os from xml.sax.saxutils import escape class DexViewer(object): def __init__(self, vm, vmx, gvmx): self.vm = vm self.vmx = vmx self.gvmx = gvmx def _create_node(self, i, height, width, color, label): buff = "\n" % i buff += "\n" buff += "\n" buff += "\n" % (16 * height, 7.5 * width) buff += "\n" % color buff += "\n" buff += escape(label) buff += "\n" buff += "\n" buff += "\n" buff += "\n" return buff def add_exception_node(self, exception, id_i): buff = "" # 9933FF height = 2 width = 0 label = "" label += "%x:%x\n" % (exception.start, exception.end) for i in exception.exceptions: c_label = "\t(%s -> %x %s)\n" % (i[0], i[1], i[2].get_name()) label += c_label width = max(len(c_label), width) height += 1 return self._create_node(id_i, height, width, "9333FF", label) def add_method_node(self, i, id_i): height = 0 width = 0 label = "" label += i.get_name() + "\n" label += i.get_descriptor() height = 3 width = len(label) return self._create_node(id_i, height, width, "FF0000", label) def add_node(self, i, id_i): height = 0 width = 0 idx = i.start label = "" for ins in i.get_instructions(): c_label = "%x %s %s\n" % (idx, ins.get_name(), ins.get_output(idx)) idx += ins.get_length() label += c_label width = max(width, len(c_label)) height += 1 if height < 10: height += 3 return self._create_node(id_i, height, width, "FFCC00", label) def add_edge(self, i, id_i, j, id_j, l_eid, val): buff = "\n" % (len(l_eid), id_i, id_j) buff += "\n" buff += "\n" buff += "\n" if val == 0: buff += "\n" elif val == 1: buff += "\n" else: buff += "\n" buff += "\n" buff += "\n" buff += "\n" l_eid["%d+%d" % (id_i, id_j)] = len(l_eid) return buff def new_id(self, i, l): try: return l[i] except KeyError: l[i] = len(l) return l[i] def export_to_gml(self): H = {} for _class in self.vm.get_classes(): name = _class.get_name() name = name[1:-1] buff = "" buff += "\n" buff += "\n" buff += "\n" buff += "\n" buff += "\n" buff += "\n" print(name) buff_nodes = "" buff_edges = "" l_id = {} l_eid = {} for method in _class.get_methods(): mx = self.vmx.get_method(method) exceptions = mx.exceptions id_method = self.new_id(method, l_id) buff_nodes += self.add_method_node(method, id_method) for i in mx.basic_blocks.get(): id_i = self.new_id(i, l_id) print(i, id_i, i.exception_analysis) buff_nodes += self.add_node(i, id_i) # add childs nodes val = 0 if len(i.childs) > 1: val = 1 elif len(i.childs) == 1: val = 2 for j in i.childs: print("\t", j) id_j = self.new_id(j[-1], l_id) buff_edges += self.add_edge(i, id_i, j[-1], id_j, l_eid, val) if val == 1: val = 0 # add exceptions node if i.exception_analysis is not None: id_exceptions = self.new_id(i.exception_analysis, l_id) buff_nodes += self.add_exception_node(i.exception_analysis, id_exceptions) buff_edges += self.add_edge(None, id_exceptions, None, id_i, l_eid, 2) buff_edges += self.add_edge(None, id_method, None, id_method + 1, l_eid, 2) buff += buff_nodes buff += buff_edges buff += "\n" buff += "\n" H[name] = buff return H class Directory(object): def __init__(self, name): self.name = name self.basename = os.path.basename(name) self.color = "FF0000" self.width = len(self.name) def set_color(self, color): self.color = color class File(object): def __init__(self, name, file_type, file_crc): self.name = name self.basename = os.path.basename(name) self.file_type = file_type self.file_crc = file_crc self.color = "FFCC00" self.width = max(len(self.name), len(self.file_type)) def splitall(path, z): if len(path) == 0: return l = os.path.split(path) z.append(l[0]) for i in l: return splitall(i, z) class ApkViewer(object): def __init__(self, a): self.a = a self.G = DiGraph() self.all_files = {} self.ids = {} root = Directory("APK") root.set_color("00FF00") self.ids[root] = len(self.ids) self.G.add_node(root) for x, y, z in self.a.get_files_information(): print(x, y, z, os.path.basename(x)) l = [] splitall(x, l) l.reverse() l.pop(0) last = root for i in l: if i not in self.all_files: tmp = Directory(i) self.ids[tmp] = len(self.ids) self.all_files[i] = tmp else: tmp = self.all_files[i] self.G.add_edge(last, tmp) last = tmp n1 = last n2 = File(x, y, z) self.G.add_edge(n1, n2) self.ids[n2] = len(self.ids) def export_to_gml(self): buff = "\n" buff += "\n" buff += "\n" buff += "\n" buff += "\n" for node in self.G.nodes(): print(node) buff += "\n" % self.ids[node] buff += "\n" buff += "\n" buff += "\n" % (60.0, 7 * node.width) buff += "\n" % node.color buff += "\n" buff += "%s\n" % node.basename if isinstance(node, File): buff += "%s\n" % node.file_type buff += "%s\n" % hex(node.file_crc) buff += "\n" buff += "\n" buff += "\n" buff += "\n" nb = 0 for edge in self.G.edges(): buff += "\n" % (nb, self.ids[edge[0]], self.ids[edge[1]]) buff += "\n" nb += 1 buff += "\n" buff += "\n" return buff androguard-3.1.0-rc2/androguard/core/resources/000077500000000000000000000000001324327352200214205ustar00rootroot00000000000000androguard-3.1.0-rc2/androguard/core/resources/__init__.py000066400000000000000000000000001324327352200235170ustar00rootroot00000000000000androguard-3.1.0-rc2/androguard/core/resources/public.py000066400000000000000000002461201324327352200232550ustar00rootroot00000000000000resources = { 'style': { 'Animation': 16973824, 'Animation.Activity': 16973825, 'Animation.Dialog': 16973826, 'Animation.InputMethod': 16973910, 'Animation.Toast': 16973828, 'Animation.Translucent': 16973827, 'DeviceDefault.ButtonBar': 16974287, 'DeviceDefault.ButtonBar.AlertDialog': 16974288, 'DeviceDefault.Light.ButtonBar': 16974290, 'DeviceDefault.Light.ButtonBar.AlertDialog': 16974291, 'DeviceDefault.Light.SegmentedButton': 16974292, 'DeviceDefault.SegmentedButton': 16974289, 'Holo.ButtonBar': 16974053, 'Holo.ButtonBar.AlertDialog': 16974055, 'Holo.Light.ButtonBar': 16974054, 'Holo.Light.ButtonBar.AlertDialog': 16974056, 'Holo.Light.SegmentedButton': 16974058, 'Holo.SegmentedButton': 16974057, 'MediaButton': 16973879, 'MediaButton.Ffwd': 16973883, 'MediaButton.Next': 16973881, 'MediaButton.Pause': 16973885, 'MediaButton.Play': 16973882, 'MediaButton.Previous': 16973880, 'MediaButton.Rew': 16973884, 'TextAppearance': 16973886, 'TextAppearance.DeviceDefault': 16974253, 'TextAppearance.DeviceDefault.DialogWindowTitle': 16974264, 'TextAppearance.DeviceDefault.Inverse': 16974254, 'TextAppearance.DeviceDefault.Large': 16974255, 'TextAppearance.DeviceDefault.Large.Inverse': 16974256, 'TextAppearance.DeviceDefault.Medium': 16974257, 'TextAppearance.DeviceDefault.Medium.Inverse': 16974258, 'TextAppearance.DeviceDefault.SearchResult.Subtitle': 16974262, 'TextAppearance.DeviceDefault.SearchResult.Title': 16974261, 'TextAppearance.DeviceDefault.Small': 16974259, 'TextAppearance.DeviceDefault.Small.Inverse': 16974260, 'TextAppearance.DeviceDefault.Widget': 16974265, 'TextAppearance.DeviceDefault.Widget.ActionBar.Menu': 16974286, 'TextAppearance.DeviceDefault.Widget.ActionBar.Subtitle': 16974279, 'TextAppearance.DeviceDefault.Widget.ActionBar.Subtitle.Inverse': 16974283, 'TextAppearance.DeviceDefault.Widget.ActionBar.Title': 16974278, 'TextAppearance.DeviceDefault.Widget.ActionBar.Title.Inverse': 16974282, 'TextAppearance.DeviceDefault.Widget.ActionMode.Subtitle': 16974281, 'TextAppearance.DeviceDefault.Widget.ActionMode.Subtitle.Inverse': 16974285, 'TextAppearance.DeviceDefault.Widget.ActionMode.Title': 16974280, 'TextAppearance.DeviceDefault.Widget.ActionMode.Title.Inverse': 16974284, 'TextAppearance.DeviceDefault.Widget.Button': 16974266, 'TextAppearance.DeviceDefault.Widget.DropDownHint': 16974271, 'TextAppearance.DeviceDefault.Widget.DropDownItem': 16974272, 'TextAppearance.DeviceDefault.Widget.EditText': 16974274, 'TextAppearance.DeviceDefault.Widget.IconMenu.Item': 16974267, 'TextAppearance.DeviceDefault.Widget.PopupMenu': 16974275, 'TextAppearance.DeviceDefault.Widget.PopupMenu.Large': 16974276, 'TextAppearance.DeviceDefault.Widget.PopupMenu.Small': 16974277, 'TextAppearance.DeviceDefault.Widget.TabWidget': 16974268, 'TextAppearance.DeviceDefault.Widget.TextView': 16974269, 'TextAppearance.DeviceDefault.Widget.TextView.PopupMenu': 16974270, 'TextAppearance.DeviceDefault.Widget.TextView.SpinnerItem': 16974273, 'TextAppearance.DeviceDefault.WindowTitle': 16974263, 'TextAppearance.DialogWindowTitle': 16973889, 'TextAppearance.Holo': 16974075, 'TextAppearance.Holo.DialogWindowTitle': 16974103, 'TextAppearance.Holo.Inverse': 16974076, 'TextAppearance.Holo.Large': 16974077, 'TextAppearance.Holo.Large.Inverse': 16974078, 'TextAppearance.Holo.Medium': 16974079, 'TextAppearance.Holo.Medium.Inverse': 16974080, 'TextAppearance.Holo.SearchResult.Subtitle': 16974084, 'TextAppearance.Holo.SearchResult.Title': 16974083, 'TextAppearance.Holo.Small': 16974081, 'TextAppearance.Holo.Small.Inverse': 16974082, 'TextAppearance.Holo.Widget': 16974085, 'TextAppearance.Holo.Widget.ActionBar.Menu': 16974112, 'TextAppearance.Holo.Widget.ActionBar.Subtitle': 16974099, 'TextAppearance.Holo.Widget.ActionBar.Subtitle.Inverse': 16974109, 'TextAppearance.Holo.Widget.ActionBar.Title': 16974098, 'TextAppearance.Holo.Widget.ActionBar.Title.Inverse': 16974108, 'TextAppearance.Holo.Widget.ActionMode.Subtitle': 16974101, 'TextAppearance.Holo.Widget.ActionMode.Subtitle.Inverse': 16974111, 'TextAppearance.Holo.Widget.ActionMode.Title': 16974100, 'TextAppearance.Holo.Widget.ActionMode.Title.Inverse': 16974110, 'TextAppearance.Holo.Widget.Button': 16974086, 'TextAppearance.Holo.Widget.DropDownHint': 16974091, 'TextAppearance.Holo.Widget.DropDownItem': 16974092, 'TextAppearance.Holo.Widget.EditText': 16974094, 'TextAppearance.Holo.Widget.IconMenu.Item': 16974087, 'TextAppearance.Holo.Widget.PopupMenu': 16974095, 'TextAppearance.Holo.Widget.PopupMenu.Large': 16974096, 'TextAppearance.Holo.Widget.PopupMenu.Small': 16974097, 'TextAppearance.Holo.Widget.TabWidget': 16974088, 'TextAppearance.Holo.Widget.TextView': 16974089, 'TextAppearance.Holo.Widget.TextView.PopupMenu': 16974090, 'TextAppearance.Holo.Widget.TextView.SpinnerItem': 16974093, 'TextAppearance.Holo.WindowTitle': 16974102, 'TextAppearance.Inverse': 16973887, 'TextAppearance.Large': 16973890, 'TextAppearance.Large.Inverse': 16973891, 'TextAppearance.Material': 16974317, 'TextAppearance.Material.Body1': 16974320, 'TextAppearance.Material.Body2': 16974319, 'TextAppearance.Material.Button': 16974318, 'TextAppearance.Material.Caption': 16974321, 'TextAppearance.Material.DialogWindowTitle': 16974322, 'TextAppearance.Material.Display1': 16974326, 'TextAppearance.Material.Display2': 16974325, 'TextAppearance.Material.Display3': 16974324, 'TextAppearance.Material.Display4': 16974323, 'TextAppearance.Material.Headline': 16974327, 'TextAppearance.Material.Inverse': 16974328, 'TextAppearance.Material.Large': 16974329, 'TextAppearance.Material.Large.Inverse': 16974330, 'TextAppearance.Material.Medium': 16974331, 'TextAppearance.Material.Medium.Inverse': 16974332, 'TextAppearance.Material.Menu': 16974333, 'TextAppearance.Material.Notification': 16974334, 'TextAppearance.Material.Notification.Emphasis': 16974335, 'TextAppearance.Material.Notification.Info': 16974336, 'TextAppearance.Material.Notification.Line2': 16974337, 'TextAppearance.Material.Notification.Time': 16974338, 'TextAppearance.Material.Notification.Title': 16974339, 'TextAppearance.Material.SearchResult.Subtitle': 16974340, 'TextAppearance.Material.SearchResult.Title': 16974341, 'TextAppearance.Material.Small': 16974342, 'TextAppearance.Material.Small.Inverse': 16974343, 'TextAppearance.Material.Subhead': 16974344, 'TextAppearance.Material.Title': 16974345, 'TextAppearance.Material.Widget': 16974347, 'TextAppearance.Material.Widget.ActionBar.Menu': 16974348, 'TextAppearance.Material.Widget.ActionBar.Subtitle': 16974349, 'TextAppearance.Material.Widget.ActionBar.Subtitle.Inverse': 16974350, 'TextAppearance.Material.Widget.ActionBar.Title': 16974351, 'TextAppearance.Material.Widget.ActionBar.Title.Inverse': 16974352, 'TextAppearance.Material.Widget.ActionMode.Subtitle': 16974353, 'TextAppearance.Material.Widget.ActionMode.Subtitle.Inverse': 16974354, 'TextAppearance.Material.Widget.ActionMode.Title': 16974355, 'TextAppearance.Material.Widget.ActionMode.Title.Inverse': 16974356, 'TextAppearance.Material.Widget.Button': 16974357, 'TextAppearance.Material.Widget.DropDownHint': 16974358, 'TextAppearance.Material.Widget.DropDownItem': 16974359, 'TextAppearance.Material.Widget.EditText': 16974360, 'TextAppearance.Material.Widget.IconMenu.Item': 16974361, 'TextAppearance.Material.Widget.PopupMenu': 16974362, 'TextAppearance.Material.Widget.PopupMenu.Large': 16974363, 'TextAppearance.Material.Widget.PopupMenu.Small': 16974364, 'TextAppearance.Material.Widget.TabWidget': 16974365, 'TextAppearance.Material.Widget.TextView': 16974366, 'TextAppearance.Material.Widget.TextView.PopupMenu': 16974367, 'TextAppearance.Material.Widget.TextView.SpinnerItem': 16974368, 'TextAppearance.Material.Widget.Toolbar.Subtitle': 16974369, 'TextAppearance.Material.Widget.Toolbar.Title': 16974370, 'TextAppearance.Material.WindowTitle': 16974346, 'TextAppearance.Medium': 16973892, 'TextAppearance.Medium.Inverse': 16973893, 'TextAppearance.Small': 16973894, 'TextAppearance.Small.Inverse': 16973895, 'TextAppearance.StatusBar.EventContent': 16973927, 'TextAppearance.StatusBar.EventContent.Title': 16973928, 'TextAppearance.StatusBar.Icon': 16973926, 'TextAppearance.StatusBar.Title': 16973925, 'TextAppearance.SuggestionHighlight': 16974104, 'TextAppearance.Theme': 16973888, 'TextAppearance.Theme.Dialog': 16973896, 'TextAppearance.Widget': 16973897, 'TextAppearance.Widget.Button': 16973898, 'TextAppearance.Widget.DropDownHint': 16973904, 'TextAppearance.Widget.DropDownItem': 16973905, 'TextAppearance.Widget.EditText': 16973900, 'TextAppearance.Widget.IconMenu.Item': 16973899, 'TextAppearance.Widget.PopupMenu.Large': 16973952, 'TextAppearance.Widget.PopupMenu.Small': 16973953, 'TextAppearance.Widget.TabWidget': 16973901, 'TextAppearance.Widget.TextView': 16973902, 'TextAppearance.Widget.TextView.PopupMenu': 16973903, 'TextAppearance.Widget.TextView.SpinnerItem': 16973906, 'TextAppearance.WindowTitle': 16973907, 'Theme': 16973829, 'ThemeOverlay': 16974407, 'ThemeOverlay.Material': 16974408, 'ThemeOverlay.Material.ActionBar': 16974409, 'ThemeOverlay.Material.Dark': 16974411, 'ThemeOverlay.Material.Dark.ActionBar': 16974412, 'ThemeOverlay.Material.Light': 16974410, 'Theme.Black': 16973832, 'Theme.Black.NoTitleBar': 16973833, 'Theme.Black.NoTitleBar.Fullscreen': 16973834, 'Theme.DeviceDefault': 16974120, 'Theme.DeviceDefault.Dialog': 16974126, 'Theme.DeviceDefault.DialogWhenLarge': 16974134, 'Theme.DeviceDefault.DialogWhenLarge.NoActionBar': 16974135, 'Theme.DeviceDefault.Dialog.MinWidth': 16974127, 'Theme.DeviceDefault.Dialog.NoActionBar': 16974128, 'Theme.DeviceDefault.Dialog.NoActionBar.MinWidth': 16974129, 'Theme.DeviceDefault.InputMethod': 16974142, 'Theme.DeviceDefault.Light': 16974123, 'Theme.DeviceDefault.Light.DarkActionBar': 16974143, 'Theme.DeviceDefault.Light.Dialog': 16974130, 'Theme.DeviceDefault.Light.DialogWhenLarge': 16974136, 'Theme.DeviceDefault.Light.DialogWhenLarge.NoActionBar': 16974137, 'Theme.DeviceDefault.Light.Dialog.MinWidth': 16974131, 'Theme.DeviceDefault.Light.Dialog.NoActionBar': 16974132, 'Theme.DeviceDefault.Light.Dialog.NoActionBar.MinWidth': 16974133, 'Theme.DeviceDefault.Light.NoActionBar': 16974124, 'Theme.DeviceDefault.Light.NoActionBar.Fullscreen': 16974125, 'Theme.DeviceDefault.Light.NoActionBar.Overscan': 16974304, 'Theme.DeviceDefault.Light.NoActionBar.TranslucentDecor': 16974308, 'Theme.DeviceDefault.Light.Panel': 16974139, 'Theme.DeviceDefault.NoActionBar': 16974121, 'Theme.DeviceDefault.NoActionBar.Fullscreen': 16974122, 'Theme.DeviceDefault.NoActionBar.Overscan': 16974303, 'Theme.DeviceDefault.NoActionBar.TranslucentDecor': 16974307, 'Theme.DeviceDefault.Panel': 16974138, 'Theme.DeviceDefault.Settings': 16974371, 'Theme.DeviceDefault.Wallpaper': 16974140, 'Theme.DeviceDefault.Wallpaper.NoTitleBar': 16974141, 'Theme.Dialog': 16973835, 'Theme.Holo': 16973931, 'Theme.Holo.Dialog': 16973935, 'Theme.Holo.DialogWhenLarge': 16973943, 'Theme.Holo.DialogWhenLarge.NoActionBar': 16973944, 'Theme.Holo.Dialog.MinWidth': 16973936, 'Theme.Holo.Dialog.NoActionBar': 16973937, 'Theme.Holo.Dialog.NoActionBar.MinWidth': 16973938, 'Theme.Holo.InputMethod': 16973951, 'Theme.Holo.Light': 16973934, 'Theme.Holo.Light.DarkActionBar': 16974105, 'Theme.Holo.Light.Dialog': 16973939, 'Theme.Holo.Light.DialogWhenLarge': 16973945, 'Theme.Holo.Light.DialogWhenLarge.NoActionBar': 16973946, 'Theme.Holo.Light.Dialog.MinWidth': 16973940, 'Theme.Holo.Light.Dialog.NoActionBar': 16973941, 'Theme.Holo.Light.Dialog.NoActionBar.MinWidth': 16973942, 'Theme.Holo.Light.NoActionBar': 16974064, 'Theme.Holo.Light.NoActionBar.Fullscreen': 16974065, 'Theme.Holo.Light.NoActionBar.Overscan': 16974302, 'Theme.Holo.Light.NoActionBar.TranslucentDecor': 16974306, 'Theme.Holo.Light.Panel': 16973948, 'Theme.Holo.NoActionBar': 16973932, 'Theme.Holo.NoActionBar.Fullscreen': 16973933, 'Theme.Holo.NoActionBar.Overscan': 16974301, 'Theme.Holo.NoActionBar.TranslucentDecor': 16974305, 'Theme.Holo.Panel': 16973947, 'Theme.Holo.Wallpaper': 16973949, 'Theme.Holo.Wallpaper.NoTitleBar': 16973950, 'Theme.InputMethod': 16973908, 'Theme.Light': 16973836, 'Theme.Light.NoTitleBar': 16973837, 'Theme.Light.NoTitleBar.Fullscreen': 16973838, 'Theme.Light.Panel': 16973914, 'Theme.Light.WallpaperSettings': 16973922, 'Theme.Material': 16974372, 'Theme.Material.Dialog': 16974373, 'Theme.Material.DialogWhenLarge': 16974379, 'Theme.Material.DialogWhenLarge.NoActionBar': 16974380, 'Theme.Material.Dialog.Alert': 16974374, 'Theme.Material.Dialog.MinWidth': 16974375, 'Theme.Material.Dialog.NoActionBar': 16974376, 'Theme.Material.Dialog.NoActionBar.MinWidth': 16974377, 'Theme.Material.Dialog.Presentation': 16974378, 'Theme.Material.InputMethod': 16974381, 'Theme.Material.Light': 16974391, 'Theme.Material.Light.DarkActionBar': 16974392, 'Theme.Material.Light.Dialog': 16974393, 'Theme.Material.Light.DialogWhenLarge': 16974399, 'Theme.Material.Light.DialogWhenLarge.NoActionBar': 16974400, 'Theme.Material.Light.Dialog.Alert': 16974394, 'Theme.Material.Light.Dialog.MinWidth': 16974395, 'Theme.Material.Light.Dialog.NoActionBar': 16974396, 'Theme.Material.Light.Dialog.NoActionBar.MinWidth': 16974397, 'Theme.Material.Light.Dialog.Presentation': 16974398, 'Theme.Material.Light.NoActionBar': 16974401, 'Theme.Material.Light.NoActionBar.Fullscreen': 16974402, 'Theme.Material.Light.NoActionBar.Overscan': 16974403, 'Theme.Material.Light.NoActionBar.TranslucentDecor': 16974404, 'Theme.Material.Light.Panel': 16974405, 'Theme.Material.Light.Voice': 16974406, 'Theme.Material.NoActionBar': 16974382, 'Theme.Material.NoActionBar.Fullscreen': 16974383, 'Theme.Material.NoActionBar.Overscan': 16974384, 'Theme.Material.NoActionBar.TranslucentDecor': 16974385, 'Theme.Material.Panel': 16974386, 'Theme.Material.Settings': 16974387, 'Theme.Material.Voice': 16974388, 'Theme.Material.Wallpaper': 16974389, 'Theme.Material.Wallpaper.NoTitleBar': 16974390, 'Theme.NoDisplay': 16973909, 'Theme.NoTitleBar': 16973830, 'Theme.NoTitleBar.Fullscreen': 16973831, 'Theme.NoTitleBar.OverlayActionModes': 16973930, 'Theme.Panel': 16973913, 'Theme.Translucent': 16973839, 'Theme.Translucent.NoTitleBar': 16973840, 'Theme.Translucent.NoTitleBar.Fullscreen': 16973841, 'Theme.Wallpaper': 16973918, 'Theme.WallpaperSettings': 16973921, 'Theme.Wallpaper.NoTitleBar': 16973919, 'Theme.Wallpaper.NoTitleBar.Fullscreen': 16973920, 'Theme.WithActionBar': 16973929, 'Widget': 16973842, 'Widget.AbsListView': 16973843, 'Widget.ActionBar': 16973954, 'Widget.ActionBar.TabBar': 16974068, 'Widget.ActionBar.TabText': 16974067, 'Widget.ActionBar.TabView': 16974066, 'Widget.ActionButton': 16973956, 'Widget.ActionButton.CloseMode': 16973960, 'Widget.ActionButton.Overflow': 16973959, 'Widget.AutoCompleteTextView': 16973863, 'Widget.Button': 16973844, 'Widget.Button.Inset': 16973845, 'Widget.Button.Small': 16973846, 'Widget.Button.Toggle': 16973847, 'Widget.CalendarView': 16974059, 'Widget.CompoundButton': 16973848, 'Widget.CompoundButton.CheckBox': 16973849, 'Widget.CompoundButton.RadioButton': 16973850, 'Widget.CompoundButton.Star': 16973851, 'Widget.DatePicker': 16974062, 'Widget.DeviceDefault': 16974144, 'Widget.DeviceDefault.ActionBar': 16974187, 'Widget.DeviceDefault.ActionBar.Solid': 16974195, 'Widget.DeviceDefault.ActionBar.TabBar': 16974194, 'Widget.DeviceDefault.ActionBar.TabText': 16974193, 'Widget.DeviceDefault.ActionBar.TabView': 16974192, 'Widget.DeviceDefault.ActionButton': 16974182, 'Widget.DeviceDefault.ActionButton.CloseMode': 16974186, 'Widget.DeviceDefault.ActionButton.Overflow': 16974183, 'Widget.DeviceDefault.ActionButton.TextButton': 16974184, 'Widget.DeviceDefault.ActionMode': 16974185, 'Widget.DeviceDefault.AutoCompleteTextView': 16974151, 'Widget.DeviceDefault.Button': 16974145, 'Widget.DeviceDefault.Button.Borderless': 16974188, 'Widget.DeviceDefault.Button.Borderless.Small': 16974149, 'Widget.DeviceDefault.Button.Inset': 16974147, 'Widget.DeviceDefault.Button.Small': 16974146, 'Widget.DeviceDefault.Button.Toggle': 16974148, 'Widget.DeviceDefault.CalendarView': 16974190, 'Widget.DeviceDefault.CheckedTextView': 16974299, 'Widget.DeviceDefault.CompoundButton.CheckBox': 16974152, 'Widget.DeviceDefault.CompoundButton.RadioButton': 16974169, 'Widget.DeviceDefault.CompoundButton.Star': 16974173, 'Widget.DeviceDefault.DatePicker': 16974191, 'Widget.DeviceDefault.DropDownItem': 16974177, 'Widget.DeviceDefault.DropDownItem.Spinner': 16974178, 'Widget.DeviceDefault.EditText': 16974154, 'Widget.DeviceDefault.ExpandableListView': 16974155, 'Widget.DeviceDefault.FastScroll': 16974313, 'Widget.DeviceDefault.GridView': 16974156, 'Widget.DeviceDefault.HorizontalScrollView': 16974171, 'Widget.DeviceDefault.ImageButton': 16974157, 'Widget.DeviceDefault.Light': 16974196, 'Widget.DeviceDefault.Light.ActionBar': 16974243, 'Widget.DeviceDefault.Light.ActionBar.Solid': 16974247, 'Widget.DeviceDefault.Light.ActionBar.Solid.Inverse': 16974248, 'Widget.DeviceDefault.Light.ActionBar.TabBar': 16974246, 'Widget.DeviceDefault.Light.ActionBar.TabBar.Inverse': 16974249, 'Widget.DeviceDefault.Light.ActionBar.TabText': 16974245, 'Widget.DeviceDefault.Light.ActionBar.TabText.Inverse': 16974251, 'Widget.DeviceDefault.Light.ActionBar.TabView': 16974244, 'Widget.DeviceDefault.Light.ActionBar.TabView.Inverse': 16974250, 'Widget.DeviceDefault.Light.ActionButton': 16974239, 'Widget.DeviceDefault.Light.ActionButton.CloseMode': 16974242, 'Widget.DeviceDefault.Light.ActionButton.Overflow': 16974240, 'Widget.DeviceDefault.Light.ActionMode': 16974241, 'Widget.DeviceDefault.Light.ActionMode.Inverse': 16974252, 'Widget.DeviceDefault.Light.AutoCompleteTextView': 16974203, 'Widget.DeviceDefault.Light.Button': 16974197, 'Widget.DeviceDefault.Light.Button.Borderless.Small': 16974201, 'Widget.DeviceDefault.Light.Button.Inset': 16974199, 'Widget.DeviceDefault.Light.Button.Small': 16974198, 'Widget.DeviceDefault.Light.Button.Toggle': 16974200, 'Widget.DeviceDefault.Light.CalendarView': 16974238, 'Widget.DeviceDefault.Light.CheckedTextView': 16974300, 'Widget.DeviceDefault.Light.CompoundButton.CheckBox': 16974204, 'Widget.DeviceDefault.Light.CompoundButton.RadioButton': 16974224, 'Widget.DeviceDefault.Light.CompoundButton.Star': 16974228, 'Widget.DeviceDefault.Light.DropDownItem': 16974232, 'Widget.DeviceDefault.Light.DropDownItem.Spinner': 16974233, 'Widget.DeviceDefault.Light.EditText': 16974206, 'Widget.DeviceDefault.Light.ExpandableListView': 16974207, 'Widget.DeviceDefault.Light.FastScroll': 16974315, 'Widget.DeviceDefault.Light.GridView': 16974208, 'Widget.DeviceDefault.Light.HorizontalScrollView': 16974226, 'Widget.DeviceDefault.Light.ImageButton': 16974209, 'Widget.DeviceDefault.Light.ListPopupWindow': 16974235, 'Widget.DeviceDefault.Light.ListView': 16974210, 'Widget.DeviceDefault.Light.ListView.DropDown': 16974205, 'Widget.DeviceDefault.Light.MediaRouteButton': 16974296, 'Widget.DeviceDefault.Light.PopupMenu': 16974236, 'Widget.DeviceDefault.Light.PopupWindow': 16974211, 'Widget.DeviceDefault.Light.ProgressBar': 16974212, 'Widget.DeviceDefault.Light.ProgressBar.Horizontal': 16974213, 'Widget.DeviceDefault.Light.ProgressBar.Inverse': 16974217, 'Widget.DeviceDefault.Light.ProgressBar.Large': 16974216, 'Widget.DeviceDefault.Light.ProgressBar.Large.Inverse': 16974219, 'Widget.DeviceDefault.Light.ProgressBar.Small': 16974214, 'Widget.DeviceDefault.Light.ProgressBar.Small.Inverse': 16974218, 'Widget.DeviceDefault.Light.ProgressBar.Small.Title': 16974215, 'Widget.DeviceDefault.Light.RatingBar': 16974221, 'Widget.DeviceDefault.Light.RatingBar.Indicator': 16974222, 'Widget.DeviceDefault.Light.RatingBar.Small': 16974223, 'Widget.DeviceDefault.Light.ScrollView': 16974225, 'Widget.DeviceDefault.Light.SeekBar': 16974220, 'Widget.DeviceDefault.Light.Spinner': 16974227, 'Widget.DeviceDefault.Light.StackView': 16974316, 'Widget.DeviceDefault.Light.Tab': 16974237, 'Widget.DeviceDefault.Light.TabWidget': 16974229, 'Widget.DeviceDefault.Light.TextView': 16974202, 'Widget.DeviceDefault.Light.TextView.SpinnerItem': 16974234, 'Widget.DeviceDefault.Light.WebTextView': 16974230, 'Widget.DeviceDefault.Light.WebView': 16974231, 'Widget.DeviceDefault.ListPopupWindow': 16974180, 'Widget.DeviceDefault.ListView': 16974158, 'Widget.DeviceDefault.ListView.DropDown': 16974153, 'Widget.DeviceDefault.MediaRouteButton': 16974295, 'Widget.DeviceDefault.PopupMenu': 16974181, 'Widget.DeviceDefault.PopupWindow': 16974159, 'Widget.DeviceDefault.ProgressBar': 16974160, 'Widget.DeviceDefault.ProgressBar.Horizontal': 16974161, 'Widget.DeviceDefault.ProgressBar.Large': 16974164, 'Widget.DeviceDefault.ProgressBar.Small': 16974162, 'Widget.DeviceDefault.ProgressBar.Small.Title': 16974163, 'Widget.DeviceDefault.RatingBar': 16974166, 'Widget.DeviceDefault.RatingBar.Indicator': 16974167, 'Widget.DeviceDefault.RatingBar.Small': 16974168, 'Widget.DeviceDefault.ScrollView': 16974170, 'Widget.DeviceDefault.SeekBar': 16974165, 'Widget.DeviceDefault.Spinner': 16974172, 'Widget.DeviceDefault.StackView': 16974314, 'Widget.DeviceDefault.Tab': 16974189, 'Widget.DeviceDefault.TabWidget': 16974174, 'Widget.DeviceDefault.TextView': 16974150, 'Widget.DeviceDefault.TextView.SpinnerItem': 16974179, 'Widget.DeviceDefault.WebTextView': 16974175, 'Widget.DeviceDefault.WebView': 16974176, 'Widget.DropDownItem': 16973867, 'Widget.DropDownItem.Spinner': 16973868, 'Widget.EditText': 16973859, 'Widget.ExpandableListView': 16973860, 'Widget.FastScroll': 16974309, 'Widget.FragmentBreadCrumbs': 16973961, 'Widget.Gallery': 16973877, 'Widget.GridView': 16973874, 'Widget.Holo': 16973962, 'Widget.Holo.ActionBar': 16974004, 'Widget.Holo.ActionBar.Solid': 16974113, 'Widget.Holo.ActionBar.TabBar': 16974071, 'Widget.Holo.ActionBar.TabText': 16974070, 'Widget.Holo.ActionBar.TabView': 16974069, 'Widget.Holo.ActionButton': 16973999, 'Widget.Holo.ActionButton.CloseMode': 16974003, 'Widget.Holo.ActionButton.Overflow': 16974000, 'Widget.Holo.ActionButton.TextButton': 16974001, 'Widget.Holo.ActionMode': 16974002, 'Widget.Holo.AutoCompleteTextView': 16973968, 'Widget.Holo.Button': 16973963, 'Widget.Holo.Button.Borderless': 16974050, 'Widget.Holo.Button.Borderless.Small': 16974106, 'Widget.Holo.Button.Inset': 16973965, 'Widget.Holo.Button.Small': 16973964, 'Widget.Holo.Button.Toggle': 16973966, 'Widget.Holo.CalendarView': 16974060, 'Widget.Holo.CheckedTextView': 16974297, 'Widget.Holo.CompoundButton.CheckBox': 16973969, 'Widget.Holo.CompoundButton.RadioButton': 16973986, 'Widget.Holo.CompoundButton.Star': 16973990, 'Widget.Holo.DatePicker': 16974063, 'Widget.Holo.DropDownItem': 16973994, 'Widget.Holo.DropDownItem.Spinner': 16973995, 'Widget.Holo.EditText': 16973971, 'Widget.Holo.ExpandableListView': 16973972, 'Widget.Holo.GridView': 16973973, 'Widget.Holo.HorizontalScrollView': 16973988, 'Widget.Holo.ImageButton': 16973974, 'Widget.Holo.Light': 16974005, 'Widget.Holo.Light.ActionBar': 16974049, 'Widget.Holo.Light.ActionBar.Solid': 16974114, 'Widget.Holo.Light.ActionBar.Solid.Inverse': 16974115, 'Widget.Holo.Light.ActionBar.TabBar': 16974074, 'Widget.Holo.Light.ActionBar.TabBar.Inverse': 16974116, 'Widget.Holo.Light.ActionBar.TabText': 16974073, 'Widget.Holo.Light.ActionBar.TabText.Inverse': 16974118, 'Widget.Holo.Light.ActionBar.TabView': 16974072, 'Widget.Holo.Light.ActionBar.TabView.Inverse': 16974117, 'Widget.Holo.Light.ActionButton': 16974045, 'Widget.Holo.Light.ActionButton.CloseMode': 16974048, 'Widget.Holo.Light.ActionButton.Overflow': 16974046, 'Widget.Holo.Light.ActionMode': 16974047, 'Widget.Holo.Light.ActionMode.Inverse': 16974119, 'Widget.Holo.Light.AutoCompleteTextView': 16974011, 'Widget.Holo.Light.Button': 16974006, 'Widget.Holo.Light.Button.Borderless.Small': 16974107, 'Widget.Holo.Light.Button.Inset': 16974008, 'Widget.Holo.Light.Button.Small': 16974007, 'Widget.Holo.Light.Button.Toggle': 16974009, 'Widget.Holo.Light.CalendarView': 16974061, 'Widget.Holo.Light.CheckedTextView': 16974298, 'Widget.Holo.Light.CompoundButton.CheckBox': 16974012, 'Widget.Holo.Light.CompoundButton.RadioButton': 16974032, 'Widget.Holo.Light.CompoundButton.Star': 16974036, 'Widget.Holo.Light.DropDownItem': 16974040, 'Widget.Holo.Light.DropDownItem.Spinner': 16974041, 'Widget.Holo.Light.EditText': 16974014, 'Widget.Holo.Light.ExpandableListView': 16974015, 'Widget.Holo.Light.GridView': 16974016, 'Widget.Holo.Light.HorizontalScrollView': 16974034, 'Widget.Holo.Light.ImageButton': 16974017, 'Widget.Holo.Light.ListPopupWindow': 16974043, 'Widget.Holo.Light.ListView': 16974018, 'Widget.Holo.Light.ListView.DropDown': 16974013, 'Widget.Holo.Light.MediaRouteButton': 16974294, 'Widget.Holo.Light.PopupMenu': 16974044, 'Widget.Holo.Light.PopupWindow': 16974019, 'Widget.Holo.Light.ProgressBar': 16974020, 'Widget.Holo.Light.ProgressBar.Horizontal': 16974021, 'Widget.Holo.Light.ProgressBar.Inverse': 16974025, 'Widget.Holo.Light.ProgressBar.Large': 16974024, 'Widget.Holo.Light.ProgressBar.Large.Inverse': 16974027, 'Widget.Holo.Light.ProgressBar.Small': 16974022, 'Widget.Holo.Light.ProgressBar.Small.Inverse': 16974026, 'Widget.Holo.Light.ProgressBar.Small.Title': 16974023, 'Widget.Holo.Light.RatingBar': 16974029, 'Widget.Holo.Light.RatingBar.Indicator': 16974030, 'Widget.Holo.Light.RatingBar.Small': 16974031, 'Widget.Holo.Light.ScrollView': 16974033, 'Widget.Holo.Light.SeekBar': 16974028, 'Widget.Holo.Light.Spinner': 16974035, 'Widget.Holo.Light.Tab': 16974052, 'Widget.Holo.Light.TabWidget': 16974037, 'Widget.Holo.Light.TextView': 16974010, 'Widget.Holo.Light.TextView.SpinnerItem': 16974042, 'Widget.Holo.Light.WebTextView': 16974038, 'Widget.Holo.Light.WebView': 16974039, 'Widget.Holo.ListPopupWindow': 16973997, 'Widget.Holo.ListView': 16973975, 'Widget.Holo.ListView.DropDown': 16973970, 'Widget.Holo.MediaRouteButton': 16974293, 'Widget.Holo.PopupMenu': 16973998, 'Widget.Holo.PopupWindow': 16973976, 'Widget.Holo.ProgressBar': 16973977, 'Widget.Holo.ProgressBar.Horizontal': 16973978, 'Widget.Holo.ProgressBar.Large': 16973981, 'Widget.Holo.ProgressBar.Small': 16973979, 'Widget.Holo.ProgressBar.Small.Title': 16973980, 'Widget.Holo.RatingBar': 16973983, 'Widget.Holo.RatingBar.Indicator': 16973984, 'Widget.Holo.RatingBar.Small': 16973985, 'Widget.Holo.ScrollView': 16973987, 'Widget.Holo.SeekBar': 16973982, 'Widget.Holo.Spinner': 16973989, 'Widget.Holo.Tab': 16974051, 'Widget.Holo.TabWidget': 16973991, 'Widget.Holo.TextView': 16973967, 'Widget.Holo.TextView.SpinnerItem': 16973996, 'Widget.Holo.WebTextView': 16973992, 'Widget.Holo.WebView': 16973993, 'Widget.ImageButton': 16973862, 'Widget.ImageWell': 16973861, 'Widget.KeyboardView': 16973911, 'Widget.ListPopupWindow': 16973957, 'Widget.ListView': 16973870, 'Widget.ListView.DropDown': 16973872, 'Widget.ListView.Menu': 16973873, 'Widget.ListView.White': 16973871, 'Widget.Material': 16974413, 'Widget.Material.ActionBar': 16974414, 'Widget.Material.ActionBar.Solid': 16974415, 'Widget.Material.ActionBar.TabBar': 16974416, 'Widget.Material.ActionBar.TabText': 16974417, 'Widget.Material.ActionBar.TabView': 16974418, 'Widget.Material.ActionButton': 16974419, 'Widget.Material.ActionButton.CloseMode': 16974420, 'Widget.Material.ActionButton.Overflow': 16974421, 'Widget.Material.ActionMode': 16974422, 'Widget.Material.AutoCompleteTextView': 16974423, 'Widget.Material.Button': 16974424, 'Widget.Material.ButtonBar': 16974431, 'Widget.Material.ButtonBar.AlertDialog': 16974432, 'Widget.Material.Button.Borderless': 16974425, 'Widget.Material.Button.Borderless.Colored': 16974426, 'Widget.Material.Button.Borderless.Small': 16974427, 'Widget.Material.Button.Inset': 16974428, 'Widget.Material.Button.Small': 16974429, 'Widget.Material.Button.Toggle': 16974430, 'Widget.Material.CalendarView': 16974433, 'Widget.Material.CheckedTextView': 16974434, 'Widget.Material.CompoundButton.CheckBox': 16974435, 'Widget.Material.CompoundButton.RadioButton': 16974436, 'Widget.Material.CompoundButton.Star': 16974437, 'Widget.Material.DatePicker': 16974438, 'Widget.Material.DropDownItem': 16974439, 'Widget.Material.DropDownItem.Spinner': 16974440, 'Widget.Material.EditText': 16974441, 'Widget.Material.ExpandableListView': 16974442, 'Widget.Material.FastScroll': 16974443, 'Widget.Material.GridView': 16974444, 'Widget.Material.HorizontalScrollView': 16974445, 'Widget.Material.ImageButton': 16974446, 'Widget.Material.Light': 16974478, 'Widget.Material.Light.ActionBar': 16974479, 'Widget.Material.Light.ActionBar.Solid': 16974480, 'Widget.Material.Light.ActionBar.TabBar': 16974481, 'Widget.Material.Light.ActionBar.TabText': 16974482, 'Widget.Material.Light.ActionBar.TabView': 16974483, 'Widget.Material.Light.ActionButton': 16974484, 'Widget.Material.Light.ActionButton.CloseMode': 16974485, 'Widget.Material.Light.ActionButton.Overflow': 16974486, 'Widget.Material.Light.ActionMode': 16974487, 'Widget.Material.Light.AutoCompleteTextView': 16974488, 'Widget.Material.Light.Button': 16974489, 'Widget.Material.Light.ButtonBar': 16974496, 'Widget.Material.Light.ButtonBar.AlertDialog': 16974497, 'Widget.Material.Light.Button.Borderless': 16974490, 'Widget.Material.Light.Button.Borderless.Colored': 16974491, 'Widget.Material.Light.Button.Borderless.Small': 16974492, 'Widget.Material.Light.Button.Inset': 16974493, 'Widget.Material.Light.Button.Small': 16974494, 'Widget.Material.Light.Button.Toggle': 16974495, 'Widget.Material.Light.CalendarView': 16974498, 'Widget.Material.Light.CheckedTextView': 16974499, 'Widget.Material.Light.CompoundButton.CheckBox': 16974500, 'Widget.Material.Light.CompoundButton.RadioButton': 16974501, 'Widget.Material.Light.CompoundButton.Star': 16974502, 'Widget.Material.Light.DatePicker': 16974503, 'Widget.Material.Light.DropDownItem': 16974504, 'Widget.Material.Light.DropDownItem.Spinner': 16974505, 'Widget.Material.Light.EditText': 16974506, 'Widget.Material.Light.ExpandableListView': 16974507, 'Widget.Material.Light.FastScroll': 16974508, 'Widget.Material.Light.GridView': 16974509, 'Widget.Material.Light.HorizontalScrollView': 16974510, 'Widget.Material.Light.ImageButton': 16974511, 'Widget.Material.Light.ListPopupWindow': 16974512, 'Widget.Material.Light.ListView': 16974513, 'Widget.Material.Light.ListView.DropDown': 16974514, 'Widget.Material.Light.MediaRouteButton': 16974515, 'Widget.Material.Light.PopupMenu': 16974516, 'Widget.Material.Light.PopupMenu.Overflow': 16974517, 'Widget.Material.Light.PopupWindow': 16974518, 'Widget.Material.Light.ProgressBar': 16974519, 'Widget.Material.Light.ProgressBar.Horizontal': 16974520, 'Widget.Material.Light.ProgressBar.Inverse': 16974521, 'Widget.Material.Light.ProgressBar.Large': 16974522, 'Widget.Material.Light.ProgressBar.Large.Inverse': 16974523, 'Widget.Material.Light.ProgressBar.Small': 16974524, 'Widget.Material.Light.ProgressBar.Small.Inverse': 16974525, 'Widget.Material.Light.ProgressBar.Small.Title': 16974526, 'Widget.Material.Light.RatingBar': 16974527, 'Widget.Material.Light.RatingBar.Indicator': 16974528, 'Widget.Material.Light.RatingBar.Small': 16974529, 'Widget.Material.Light.ScrollView': 16974530, 'Widget.Material.Light.SearchView': 16974531, 'Widget.Material.Light.SeekBar': 16974532, 'Widget.Material.Light.SegmentedButton': 16974533, 'Widget.Material.Light.Spinner': 16974535, 'Widget.Material.Light.Spinner.Underlined': 16974536, 'Widget.Material.Light.StackView': 16974534, 'Widget.Material.Light.Tab': 16974537, 'Widget.Material.Light.TabWidget': 16974538, 'Widget.Material.Light.TextView': 16974539, 'Widget.Material.Light.TextView.SpinnerItem': 16974540, 'Widget.Material.Light.TimePicker': 16974541, 'Widget.Material.Light.WebTextView': 16974542, 'Widget.Material.Light.WebView': 16974543, 'Widget.Material.ListPopupWindow': 16974447, 'Widget.Material.ListView': 16974448, 'Widget.Material.ListView.DropDown': 16974449, 'Widget.Material.MediaRouteButton': 16974450, 'Widget.Material.PopupMenu': 16974451, 'Widget.Material.PopupMenu.Overflow': 16974452, 'Widget.Material.PopupWindow': 16974453, 'Widget.Material.ProgressBar': 16974454, 'Widget.Material.ProgressBar.Horizontal': 16974455, 'Widget.Material.ProgressBar.Large': 16974456, 'Widget.Material.ProgressBar.Small': 16974457, 'Widget.Material.ProgressBar.Small.Title': 16974458, 'Widget.Material.RatingBar': 16974459, 'Widget.Material.RatingBar.Indicator': 16974460, 'Widget.Material.RatingBar.Small': 16974461, 'Widget.Material.ScrollView': 16974462, 'Widget.Material.SearchView': 16974463, 'Widget.Material.SeekBar': 16974464, 'Widget.Material.SegmentedButton': 16974465, 'Widget.Material.Spinner': 16974467, 'Widget.Material.Spinner.Underlined': 16974468, 'Widget.Material.StackView': 16974466, 'Widget.Material.Tab': 16974469, 'Widget.Material.TabWidget': 16974470, 'Widget.Material.TextView': 16974471, 'Widget.Material.TextView.SpinnerItem': 16974472, 'Widget.Material.TimePicker': 16974473, 'Widget.Material.Toolbar': 16974474, 'Widget.Material.Toolbar.Button.Navigation': 16974475, 'Widget.Material.WebTextView': 16974476, 'Widget.Material.WebView': 16974477, 'Widget.PopupMenu': 16973958, 'Widget.PopupWindow': 16973878, 'Widget.ProgressBar': 16973852, 'Widget.ProgressBar.Horizontal': 16973855, 'Widget.ProgressBar.Inverse': 16973915, 'Widget.ProgressBar.Large': 16973853, 'Widget.ProgressBar.Large.Inverse': 16973916, 'Widget.ProgressBar.Small': 16973854, 'Widget.ProgressBar.Small.Inverse': 16973917, 'Widget.RatingBar': 16973857, 'Widget.ScrollView': 16973869, 'Widget.SeekBar': 16973856, 'Widget.Spinner': 16973864, 'Widget.Spinner.DropDown': 16973955, 'Widget.StackView': 16974310, 'Widget.TabWidget': 16973876, 'Widget.TextView': 16973858, 'Widget.TextView.PopupMenu': 16973865, 'Widget.TextView.SpinnerItem': 16973866, 'Widget.Toolbar': 16974311, 'Widget.Toolbar.Button.Navigation': 16974312, 'Widget.WebView': 16973875, }, 'attr': { 'theme': 16842752, 'label': 16842753, 'icon': 16842754, 'name': 16842755, 'manageSpaceActivity': 16842756, 'allowClearUserData': 16842757, 'permission': 16842758, 'readPermission': 16842759, 'writePermission': 16842760, 'protectionLevel': 16842761, 'permissionGroup': 16842762, 'sharedUserId': 16842763, 'hasCode': 16842764, 'persistent': 16842765, 'enabled': 16842766, 'debuggable': 16842767, 'exported': 16842768, 'process': 16842769, 'taskAffinity': 16842770, 'multiprocess': 16842771, 'finishOnTaskLaunch': 16842772, 'clearTaskOnLaunch': 16842773, 'stateNotNeeded': 16842774, 'excludeFromRecents': 16842775, 'authorities': 16842776, 'syncable': 16842777, 'initOrder': 16842778, 'grantUriPermissions': 16842779, 'priority': 16842780, 'launchMode': 16842781, 'screenOrientation': 16842782, 'configChanges': 16842783, 'description': 16842784, 'targetPackage': 16842785, 'handleProfiling': 16842786, 'functionalTest': 16842787, 'value': 16842788, 'resource': 16842789, 'mimeType': 16842790, 'scheme': 16842791, 'host': 16842792, 'port': 16842793, 'path': 16842794, 'pathPrefix': 16842795, 'pathPattern': 16842796, 'action': 16842797, 'data': 16842798, 'targetClass': 16842799, 'colorForeground': 16842800, 'colorBackground': 16842801, 'backgroundDimAmount': 16842802, 'disabledAlpha': 16842803, 'textAppearance': 16842804, 'textAppearanceInverse': 16842805, 'textColorPrimary': 16842806, 'textColorPrimaryDisableOnly': 16842807, 'textColorSecondary': 16842808, 'textColorPrimaryInverse': 16842809, 'textColorSecondaryInverse': 16842810, 'textColorPrimaryNoDisable': 16842811, 'textColorSecondaryNoDisable': 16842812, 'textColorPrimaryInverseNoDisable': 16842813, 'textColorSecondaryInverseNoDisable': 16842814, 'textColorHintInverse': 16842815, 'textAppearanceLarge': 16842816, 'textAppearanceMedium': 16842817, 'textAppearanceSmall': 16842818, 'textAppearanceLargeInverse': 16842819, 'textAppearanceMediumInverse': 16842820, 'textAppearanceSmallInverse': 16842821, 'textCheckMark': 16842822, 'textCheckMarkInverse': 16842823, 'buttonStyle': 16842824, 'buttonStyleSmall': 16842825, 'buttonStyleInset': 16842826, 'buttonStyleToggle': 16842827, 'galleryItemBackground': 16842828, 'listPreferredItemHeight': 16842829, 'expandableListPreferredItemPaddingLeft': 16842830, 'expandableListPreferredChildPaddingLeft': 16842831, 'expandableListPreferredItemIndicatorLeft': 16842832, 'expandableListPreferredItemIndicatorRight': 16842833, 'expandableListPreferredChildIndicatorLeft': 16842834, 'expandableListPreferredChildIndicatorRight': 16842835, 'windowBackground': 16842836, 'windowFrame': 16842837, 'windowNoTitle': 16842838, 'windowIsFloating': 16842839, 'windowIsTranslucent': 16842840, 'windowContentOverlay': 16842841, 'windowTitleSize': 16842842, 'windowTitleStyle': 16842843, 'windowTitleBackgroundStyle': 16842844, 'alertDialogStyle': 16842845, 'panelBackground': 16842846, 'panelFullBackground': 16842847, 'panelColorForeground': 16842848, 'panelColorBackground': 16842849, 'panelTextAppearance': 16842850, 'scrollbarSize': 16842851, 'scrollbarThumbHorizontal': 16842852, 'scrollbarThumbVertical': 16842853, 'scrollbarTrackHorizontal': 16842854, 'scrollbarTrackVertical': 16842855, 'scrollbarAlwaysDrawHorizontalTrack': 16842856, 'scrollbarAlwaysDrawVerticalTrack': 16842857, 'absListViewStyle': 16842858, 'autoCompleteTextViewStyle': 16842859, 'checkboxStyle': 16842860, 'dropDownListViewStyle': 16842861, 'editTextStyle': 16842862, 'expandableListViewStyle': 16842863, 'galleryStyle': 16842864, 'gridViewStyle': 16842865, 'imageButtonStyle': 16842866, 'imageWellStyle': 16842867, 'listViewStyle': 16842868, 'listViewWhiteStyle': 16842869, 'popupWindowStyle': 16842870, 'progressBarStyle': 16842871, 'progressBarStyleHorizontal': 16842872, 'progressBarStyleSmall': 16842873, 'progressBarStyleLarge': 16842874, 'seekBarStyle': 16842875, 'ratingBarStyle': 16842876, 'ratingBarStyleSmall': 16842877, 'radioButtonStyle': 16842878, 'scrollbarStyle': 16842879, 'scrollViewStyle': 16842880, 'spinnerStyle': 16842881, 'starStyle': 16842882, 'tabWidgetStyle': 16842883, 'textViewStyle': 16842884, 'webViewStyle': 16842885, 'dropDownItemStyle': 16842886, 'spinnerDropDownItemStyle': 16842887, 'dropDownHintAppearance': 16842888, 'spinnerItemStyle': 16842889, 'mapViewStyle': 16842890, 'preferenceScreenStyle': 16842891, 'preferenceCategoryStyle': 16842892, 'preferenceInformationStyle': 16842893, 'preferenceStyle': 16842894, 'checkBoxPreferenceStyle': 16842895, 'yesNoPreferenceStyle': 16842896, 'dialogPreferenceStyle': 16842897, 'editTextPreferenceStyle': 16842898, 'ringtonePreferenceStyle': 16842899, 'preferenceLayoutChild': 16842900, 'textSize': 16842901, 'typeface': 16842902, 'textStyle': 16842903, 'textColor': 16842904, 'textColorHighlight': 16842905, 'textColorHint': 16842906, 'textColorLink': 16842907, 'state_focused': 16842908, 'state_window_focused': 16842909, 'state_enabled': 16842910, 'state_checkable': 16842911, 'state_checked': 16842912, 'state_selected': 16842913, 'state_active': 16842914, 'state_single': 16842915, 'state_first': 16842916, 'state_middle': 16842917, 'state_last': 16842918, 'state_pressed': 16842919, 'state_expanded': 16842920, 'state_empty': 16842921, 'state_above_anchor': 16842922, 'ellipsize': 16842923, 'x': 16842924, 'y': 16842925, 'windowAnimationStyle': 16842926, 'gravity': 16842927, 'autoLink': 16842928, 'linksClickable': 16842929, 'entries': 16842930, 'layout_gravity': 16842931, 'windowEnterAnimation': 16842932, 'windowExitAnimation': 16842933, 'windowShowAnimation': 16842934, 'windowHideAnimation': 16842935, 'activityOpenEnterAnimation': 16842936, 'activityOpenExitAnimation': 16842937, 'activityCloseEnterAnimation': 16842938, 'activityCloseExitAnimation': 16842939, 'taskOpenEnterAnimation': 16842940, 'taskOpenExitAnimation': 16842941, 'taskCloseEnterAnimation': 16842942, 'taskCloseExitAnimation': 16842943, 'taskToFrontEnterAnimation': 16842944, 'taskToFrontExitAnimation': 16842945, 'taskToBackEnterAnimation': 16842946, 'taskToBackExitAnimation': 16842947, 'orientation': 16842948, 'keycode': 16842949, 'fullDark': 16842950, 'topDark': 16842951, 'centerDark': 16842952, 'bottomDark': 16842953, 'fullBright': 16842954, 'topBright': 16842955, 'centerBright': 16842956, 'bottomBright': 16842957, 'bottomMedium': 16842958, 'centerMedium': 16842959, 'id': 16842960, 'tag': 16842961, 'scrollX': 16842962, 'scrollY': 16842963, 'background': 16842964, 'padding': 16842965, 'paddingLeft': 16842966, 'paddingTop': 16842967, 'paddingRight': 16842968, 'paddingBottom': 16842969, 'focusable': 16842970, 'focusableInTouchMode': 16842971, 'visibility': 16842972, 'fitsSystemWindows': 16842973, 'scrollbars': 16842974, 'fadingEdge': 16842975, 'fadingEdgeLength': 16842976, 'nextFocusLeft': 16842977, 'nextFocusRight': 16842978, 'nextFocusUp': 16842979, 'nextFocusDown': 16842980, 'clickable': 16842981, 'longClickable': 16842982, 'saveEnabled': 16842983, 'drawingCacheQuality': 16842984, 'duplicateParentState': 16842985, 'clipChildren': 16842986, 'clipToPadding': 16842987, 'layoutAnimation': 16842988, 'animationCache': 16842989, 'persistentDrawingCache': 16842990, 'alwaysDrawnWithCache': 16842991, 'addStatesFromChildren': 16842992, 'descendantFocusability': 16842993, 'layout': 16842994, 'inflatedId': 16842995, 'layout_width': 16842996, 'layout_height': 16842997, 'layout_margin': 16842998, 'layout_marginLeft': 16842999, 'layout_marginTop': 16843000, 'layout_marginRight': 16843001, 'layout_marginBottom': 16843002, 'listSelector': 16843003, 'drawSelectorOnTop': 16843004, 'stackFromBottom': 16843005, 'scrollingCache': 16843006, 'textFilterEnabled': 16843007, 'transcriptMode': 16843008, 'cacheColorHint': 16843009, 'dial': 16843010, 'hand_hour': 16843011, 'hand_minute': 16843012, 'format': 16843013, 'checked': 16843014, 'button': 16843015, 'checkMark': 16843016, 'foreground': 16843017, 'measureAllChildren': 16843018, 'groupIndicator': 16843019, 'childIndicator': 16843020, 'indicatorLeft': 16843021, 'indicatorRight': 16843022, 'childIndicatorLeft': 16843023, 'childIndicatorRight': 16843024, 'childDivider': 16843025, 'animationDuration': 16843026, 'spacing': 16843027, 'horizontalSpacing': 16843028, 'verticalSpacing': 16843029, 'stretchMode': 16843030, 'columnWidth': 16843031, 'numColumns': 16843032, 'src': 16843033, 'antialias': 16843034, 'filter': 16843035, 'dither': 16843036, 'scaleType': 16843037, 'adjustViewBounds': 16843038, 'maxWidth': 16843039, 'maxHeight': 16843040, 'tint': 16843041, 'baselineAlignBottom': 16843042, 'cropToPadding': 16843043, 'textOn': 16843044, 'textOff': 16843045, 'baselineAligned': 16843046, 'baselineAlignedChildIndex': 16843047, 'weightSum': 16843048, 'divider': 16843049, 'dividerHeight': 16843050, 'choiceMode': 16843051, 'itemTextAppearance': 16843052, 'horizontalDivider': 16843053, 'verticalDivider': 16843054, 'headerBackground': 16843055, 'itemBackground': 16843056, 'itemIconDisabledAlpha': 16843057, 'rowHeight': 16843058, 'maxRows': 16843059, 'maxItemsPerRow': 16843060, 'moreIcon': 16843061, 'max': 16843062, 'progress': 16843063, 'secondaryProgress': 16843064, 'indeterminate': 16843065, 'indeterminateOnly': 16843066, 'indeterminateDrawable': 16843067, 'progressDrawable': 16843068, 'indeterminateDuration': 16843069, 'indeterminateBehavior': 16843070, 'minWidth': 16843071, 'minHeight': 16843072, 'interpolator': 16843073, 'thumb': 16843074, 'thumbOffset': 16843075, 'numStars': 16843076, 'rating': 16843077, 'stepSize': 16843078, 'isIndicator': 16843079, 'checkedButton': 16843080, 'stretchColumns': 16843081, 'shrinkColumns': 16843082, 'collapseColumns': 16843083, 'layout_column': 16843084, 'layout_span': 16843085, 'bufferType': 16843086, 'text': 16843087, 'hint': 16843088, 'textScaleX': 16843089, 'cursorVisible': 16843090, 'maxLines': 16843091, 'lines': 16843092, 'height': 16843093, 'minLines': 16843094, 'maxEms': 16843095, 'ems': 16843096, 'width': 16843097, 'minEms': 16843098, 'scrollHorizontally': 16843099, 'password': 16843100, 'singleLine': 16843101, 'selectAllOnFocus': 16843102, 'includeFontPadding': 16843103, 'maxLength': 16843104, 'shadowColor': 16843105, 'shadowDx': 16843106, 'shadowDy': 16843107, 'shadowRadius': 16843108, 'numeric': 16843109, 'digits': 16843110, 'phoneNumber': 16843111, 'inputMethod': 16843112, 'capitalize': 16843113, 'autoText': 16843114, 'editable': 16843115, 'freezesText': 16843116, 'drawableTop': 16843117, 'drawableBottom': 16843118, 'drawableLeft': 16843119, 'drawableRight': 16843120, 'drawablePadding': 16843121, 'completionHint': 16843122, 'completionHintView': 16843123, 'completionThreshold': 16843124, 'dropDownSelector': 16843125, 'popupBackground': 16843126, 'inAnimation': 16843127, 'outAnimation': 16843128, 'flipInterval': 16843129, 'fillViewport': 16843130, 'prompt': 16843131, 'startYear': 16843132, 'endYear': 16843133, 'mode': 16843134, 'layout_x': 16843135, 'layout_y': 16843136, 'layout_weight': 16843137, 'layout_toLeftOf': 16843138, 'layout_toRightOf': 16843139, 'layout_above': 16843140, 'layout_below': 16843141, 'layout_alignBaseline': 16843142, 'layout_alignLeft': 16843143, 'layout_alignTop': 16843144, 'layout_alignRight': 16843145, 'layout_alignBottom': 16843146, 'layout_alignParentLeft': 16843147, 'layout_alignParentTop': 16843148, 'layout_alignParentRight': 16843149, 'layout_alignParentBottom': 16843150, 'layout_centerInParent': 16843151, 'layout_centerHorizontal': 16843152, 'layout_centerVertical': 16843153, 'layout_alignWithParentIfMissing': 16843154, 'layout_scale': 16843155, 'visible': 16843156, 'variablePadding': 16843157, 'constantSize': 16843158, 'oneshot': 16843159, 'duration': 16843160, 'drawable': 16843161, 'shape': 16843162, 'innerRadiusRatio': 16843163, 'thicknessRatio': 16843164, 'startColor': 16843165, 'endColor': 16843166, 'useLevel': 16843167, 'angle': 16843168, 'type': 16843169, 'centerX': 16843170, 'centerY': 16843171, 'gradientRadius': 16843172, 'color': 16843173, 'dashWidth': 16843174, 'dashGap': 16843175, 'radius': 16843176, 'topLeftRadius': 16843177, 'topRightRadius': 16843178, 'bottomLeftRadius': 16843179, 'bottomRightRadius': 16843180, 'left': 16843181, 'top': 16843182, 'right': 16843183, 'bottom': 16843184, 'minLevel': 16843185, 'maxLevel': 16843186, 'fromDegrees': 16843187, 'toDegrees': 16843188, 'pivotX': 16843189, 'pivotY': 16843190, 'insetLeft': 16843191, 'insetRight': 16843192, 'insetTop': 16843193, 'insetBottom': 16843194, 'shareInterpolator': 16843195, 'fillBefore': 16843196, 'fillAfter': 16843197, 'startOffset': 16843198, 'repeatCount': 16843199, 'repeatMode': 16843200, 'zAdjustment': 16843201, 'fromXScale': 16843202, 'toXScale': 16843203, 'fromYScale': 16843204, 'toYScale': 16843205, 'fromXDelta': 16843206, 'toXDelta': 16843207, 'fromYDelta': 16843208, 'toYDelta': 16843209, 'fromAlpha': 16843210, 'toAlpha': 16843211, 'delay': 16843212, 'animation': 16843213, 'animationOrder': 16843214, 'columnDelay': 16843215, 'rowDelay': 16843216, 'direction': 16843217, 'directionPriority': 16843218, 'factor': 16843219, 'cycles': 16843220, 'searchMode': 16843221, 'searchSuggestAuthority': 16843222, 'searchSuggestPath': 16843223, 'searchSuggestSelection': 16843224, 'searchSuggestIntentAction': 16843225, 'searchSuggestIntentData': 16843226, 'queryActionMsg': 16843227, 'suggestActionMsg': 16843228, 'suggestActionMsgColumn': 16843229, 'menuCategory': 16843230, 'orderInCategory': 16843231, 'checkableBehavior': 16843232, 'title': 16843233, 'titleCondensed': 16843234, 'alphabeticShortcut': 16843235, 'numericShortcut': 16843236, 'checkable': 16843237, 'selectable': 16843238, 'orderingFromXml': 16843239, 'key': 16843240, 'summary': 16843241, 'order': 16843242, 'widgetLayout': 16843243, 'dependency': 16843244, 'defaultValue': 16843245, 'shouldDisableView': 16843246, 'summaryOn': 16843247, 'summaryOff': 16843248, 'disableDependentsState': 16843249, 'dialogTitle': 16843250, 'dialogMessage': 16843251, 'dialogIcon': 16843252, 'positiveButtonText': 16843253, 'negativeButtonText': 16843254, 'dialogLayout': 16843255, 'entryValues': 16843256, 'ringtoneType': 16843257, 'showDefault': 16843258, 'showSilent': 16843259, 'scaleWidth': 16843260, 'scaleHeight': 16843261, 'scaleGravity': 16843262, 'ignoreGravity': 16843263, 'foregroundGravity': 16843264, 'tileMode': 16843265, 'targetActivity': 16843266, 'alwaysRetainTaskState': 16843267, 'allowTaskReparenting': 16843268, 'searchButtonText': 16843269, 'colorForegroundInverse': 16843270, 'textAppearanceButton': 16843271, 'listSeparatorTextViewStyle': 16843272, 'streamType': 16843273, 'clipOrientation': 16843274, 'centerColor': 16843275, 'minSdkVersion': 16843276, 'windowFullscreen': 16843277, 'unselectedAlpha': 16843278, 'progressBarStyleSmallTitle': 16843279, 'ratingBarStyleIndicator': 16843280, 'apiKey': 16843281, 'textColorTertiary': 16843282, 'textColorTertiaryInverse': 16843283, 'listDivider': 16843284, 'soundEffectsEnabled': 16843285, 'keepScreenOn': 16843286, 'lineSpacingExtra': 16843287, 'lineSpacingMultiplier': 16843288, 'listChoiceIndicatorSingle': 16843289, 'listChoiceIndicatorMultiple': 16843290, 'versionCode': 16843291, 'versionName': 16843292, 'marqueeRepeatLimit': 16843293, 'windowNoDisplay': 16843294, 'backgroundDimEnabled': 16843295, 'inputType': 16843296, 'isDefault': 16843297, 'windowDisablePreview': 16843298, 'privateImeOptions': 16843299, 'editorExtras': 16843300, 'settingsActivity': 16843301, 'fastScrollEnabled': 16843302, 'reqTouchScreen': 16843303, 'reqKeyboardType': 16843304, 'reqHardKeyboard': 16843305, 'reqNavigation': 16843306, 'windowSoftInputMode': 16843307, 'imeFullscreenBackground': 16843308, 'noHistory': 16843309, 'headerDividersEnabled': 16843310, 'footerDividersEnabled': 16843311, 'candidatesTextStyleSpans': 16843312, 'smoothScrollbar': 16843313, 'reqFiveWayNav': 16843314, 'keyBackground': 16843315, 'keyTextSize': 16843316, 'labelTextSize': 16843317, 'keyTextColor': 16843318, 'keyPreviewLayout': 16843319, 'keyPreviewOffset': 16843320, 'keyPreviewHeight': 16843321, 'verticalCorrection': 16843322, 'popupLayout': 16843323, 'state_long_pressable': 16843324, 'keyWidth': 16843325, 'keyHeight': 16843326, 'horizontalGap': 16843327, 'verticalGap': 16843328, 'rowEdgeFlags': 16843329, 'codes': 16843330, 'popupKeyboard': 16843331, 'popupCharacters': 16843332, 'keyEdgeFlags': 16843333, 'isModifier': 16843334, 'isSticky': 16843335, 'isRepeatable': 16843336, 'iconPreview': 16843337, 'keyOutputText': 16843338, 'keyLabel': 16843339, 'keyIcon': 16843340, 'keyboardMode': 16843341, 'isScrollContainer': 16843342, 'fillEnabled': 16843343, 'updatePeriodMillis': 16843344, 'initialLayout': 16843345, 'voiceSearchMode': 16843346, 'voiceLanguageModel': 16843347, 'voicePromptText': 16843348, 'voiceLanguage': 16843349, 'voiceMaxResults': 16843350, 'bottomOffset': 16843351, 'topOffset': 16843352, 'allowSingleTap': 16843353, 'handle': 16843354, 'content': 16843355, 'animateOnClick': 16843356, 'configure': 16843357, 'hapticFeedbackEnabled': 16843358, 'innerRadius': 16843359, 'thickness': 16843360, 'sharedUserLabel': 16843361, 'dropDownWidth': 16843362, 'dropDownAnchor': 16843363, 'imeOptions': 16843364, 'imeActionLabel': 16843365, 'imeActionId': 16843366, 'imeExtractEnterAnimation': 16843368, 'imeExtractExitAnimation': 16843369, 'tension': 16843370, 'extraTension': 16843371, 'anyDensity': 16843372, 'searchSuggestThreshold': 16843373, 'includeInGlobalSearch': 16843374, 'onClick': 16843375, 'targetSdkVersion': 16843376, 'maxSdkVersion': 16843377, 'testOnly': 16843378, 'contentDescription': 16843379, 'gestureStrokeWidth': 16843380, 'gestureColor': 16843381, 'uncertainGestureColor': 16843382, 'fadeOffset': 16843383, 'fadeDuration': 16843384, 'gestureStrokeType': 16843385, 'gestureStrokeLengthThreshold': 16843386, 'gestureStrokeSquarenessThreshold': 16843387, 'gestureStrokeAngleThreshold': 16843388, 'eventsInterceptionEnabled': 16843389, 'fadeEnabled': 16843390, 'backupAgent': 16843391, 'allowBackup': 16843392, 'glEsVersion': 16843393, 'queryAfterZeroResults': 16843394, 'dropDownHeight': 16843395, 'smallScreens': 16843396, 'normalScreens': 16843397, 'largeScreens': 16843398, 'progressBarStyleInverse': 16843399, 'progressBarStyleSmallInverse': 16843400, 'progressBarStyleLargeInverse': 16843401, 'searchSettingsDescription': 16843402, 'textColorPrimaryInverseDisableOnly': 16843403, 'autoUrlDetect': 16843404, 'resizeable': 16843405, 'required': 16843406, 'accountType': 16843407, 'contentAuthority': 16843408, 'userVisible': 16843409, 'windowShowWallpaper': 16843410, 'wallpaperOpenEnterAnimation': 16843411, 'wallpaperOpenExitAnimation': 16843412, 'wallpaperCloseEnterAnimation': 16843413, 'wallpaperCloseExitAnimation': 16843414, 'wallpaperIntraOpenEnterAnimation': 16843415, 'wallpaperIntraOpenExitAnimation': 16843416, 'wallpaperIntraCloseEnterAnimation': 16843417, 'wallpaperIntraCloseExitAnimation': 16843418, 'supportsUploading': 16843419, 'killAfterRestore': 16843420, 'restoreNeedsApplication': 16843421, 'smallIcon': 16843422, 'accountPreferences': 16843423, 'textAppearanceSearchResultSubtitle': 16843424, 'textAppearanceSearchResultTitle': 16843425, 'summaryColumn': 16843426, 'detailColumn': 16843427, 'detailSocialSummary': 16843428, 'thumbnail': 16843429, 'detachWallpaper': 16843430, 'finishOnCloseSystemDialogs': 16843431, 'scrollbarFadeDuration': 16843432, 'scrollbarDefaultDelayBeforeFade': 16843433, 'fadeScrollbars': 16843434, 'colorBackgroundCacheHint': 16843435, 'dropDownHorizontalOffset': 16843436, 'dropDownVerticalOffset': 16843437, 'quickContactBadgeStyleWindowSmall': 16843438, 'quickContactBadgeStyleWindowMedium': 16843439, 'quickContactBadgeStyleWindowLarge': 16843440, 'quickContactBadgeStyleSmallWindowSmall': 16843441, 'quickContactBadgeStyleSmallWindowMedium': 16843442, 'quickContactBadgeStyleSmallWindowLarge': 16843443, 'author': 16843444, 'autoStart': 16843445, 'expandableListViewWhiteStyle': 16843446, 'installLocation': 16843447, 'vmSafeMode': 16843448, 'webTextViewStyle': 16843449, 'restoreAnyVersion': 16843450, 'tabStripLeft': 16843451, 'tabStripRight': 16843452, 'tabStripEnabled': 16843453, 'logo': 16843454, 'xlargeScreens': 16843455, 'immersive': 16843456, 'overScrollMode': 16843457, 'overScrollHeader': 16843458, 'overScrollFooter': 16843459, 'filterTouchesWhenObscured': 16843460, 'textSelectHandleLeft': 16843461, 'textSelectHandleRight': 16843462, 'textSelectHandle': 16843463, 'textSelectHandleWindowStyle': 16843464, 'popupAnimationStyle': 16843465, 'screenSize': 16843466, 'screenDensity': 16843467, 'allContactsName': 16843468, 'windowActionBar': 16843469, 'actionBarStyle': 16843470, 'navigationMode': 16843471, 'displayOptions': 16843472, 'subtitle': 16843473, 'customNavigationLayout': 16843474, 'hardwareAccelerated': 16843475, 'measureWithLargestChild': 16843476, 'animateFirstView': 16843477, 'dropDownSpinnerStyle': 16843478, 'actionDropDownStyle': 16843479, 'actionButtonStyle': 16843480, 'showAsAction': 16843481, 'previewImage': 16843482, 'actionModeBackground': 16843483, 'actionModeCloseDrawable': 16843484, 'windowActionModeOverlay': 16843485, 'valueFrom': 16843486, 'valueTo': 16843487, 'valueType': 16843488, 'propertyName': 16843489, 'ordering': 16843490, 'fragment': 16843491, 'windowActionBarOverlay': 16843492, 'fragmentOpenEnterAnimation': 16843493, 'fragmentOpenExitAnimation': 16843494, 'fragmentCloseEnterAnimation': 16843495, 'fragmentCloseExitAnimation': 16843496, 'fragmentFadeEnterAnimation': 16843497, 'fragmentFadeExitAnimation': 16843498, 'actionBarSize': 16843499, 'imeSubtypeLocale': 16843500, 'imeSubtypeMode': 16843501, 'imeSubtypeExtraValue': 16843502, 'splitMotionEvents': 16843503, 'listChoiceBackgroundIndicator': 16843504, 'spinnerMode': 16843505, 'animateLayoutChanges': 16843506, 'actionBarTabStyle': 16843507, 'actionBarTabBarStyle': 16843508, 'actionBarTabTextStyle': 16843509, 'actionOverflowButtonStyle': 16843510, 'actionModeCloseButtonStyle': 16843511, 'titleTextStyle': 16843512, 'subtitleTextStyle': 16843513, 'iconifiedByDefault': 16843514, 'actionLayout': 16843515, 'actionViewClass': 16843516, 'activatedBackgroundIndicator': 16843517, 'state_activated': 16843518, 'listPopupWindowStyle': 16843519, 'popupMenuStyle': 16843520, 'textAppearanceLargePopupMenu': 16843521, 'textAppearanceSmallPopupMenu': 16843522, 'breadCrumbTitle': 16843523, 'breadCrumbShortTitle': 16843524, 'listDividerAlertDialog': 16843525, 'textColorAlertDialogListItem': 16843526, 'loopViews': 16843527, 'dialogTheme': 16843528, 'alertDialogTheme': 16843529, 'dividerVertical': 16843530, 'homeAsUpIndicator': 16843531, 'enterFadeDuration': 16843532, 'exitFadeDuration': 16843533, 'selectableItemBackground': 16843534, 'autoAdvanceViewId': 16843535, 'useIntrinsicSizeAsMinimum': 16843536, 'actionModeCutDrawable': 16843537, 'actionModeCopyDrawable': 16843538, 'actionModePasteDrawable': 16843539, 'textEditPasteWindowLayout': 16843540, 'textEditNoPasteWindowLayout': 16843541, 'textIsSelectable': 16843542, 'windowEnableSplitTouch': 16843543, 'indeterminateProgressStyle': 16843544, 'progressBarPadding': 16843545, 'animationResolution': 16843546, 'state_accelerated': 16843547, 'baseline': 16843548, 'homeLayout': 16843549, 'opacity': 16843550, 'alpha': 16843551, 'transformPivotX': 16843552, 'transformPivotY': 16843553, 'translationX': 16843554, 'translationY': 16843555, 'scaleX': 16843556, 'scaleY': 16843557, 'rotation': 16843558, 'rotationX': 16843559, 'rotationY': 16843560, 'showDividers': 16843561, 'dividerPadding': 16843562, 'borderlessButtonStyle': 16843563, 'dividerHorizontal': 16843564, 'itemPadding': 16843565, 'buttonBarStyle': 16843566, 'buttonBarButtonStyle': 16843567, 'segmentedButtonStyle': 16843568, 'staticWallpaperPreview': 16843569, 'allowParallelSyncs': 16843570, 'isAlwaysSyncable': 16843571, 'verticalScrollbarPosition': 16843572, 'fastScrollAlwaysVisible': 16843573, 'fastScrollThumbDrawable': 16843574, 'fastScrollPreviewBackgroundLeft': 16843575, 'fastScrollPreviewBackgroundRight': 16843576, 'fastScrollTrackDrawable': 16843577, 'fastScrollOverlayPosition': 16843578, 'customTokens': 16843579, 'nextFocusForward': 16843580, 'firstDayOfWeek': 16843581, 'showWeekNumber': 16843582, 'minDate': 16843583, 'maxDate': 16843584, 'shownWeekCount': 16843585, 'selectedWeekBackgroundColor': 16843586, 'focusedMonthDateColor': 16843587, 'unfocusedMonthDateColor': 16843588, 'weekNumberColor': 16843589, 'weekSeparatorLineColor': 16843590, 'selectedDateVerticalBar': 16843591, 'weekDayTextAppearance': 16843592, 'dateTextAppearance': 16843593, 'solidColor': 16843594, 'spinnersShown': 16843595, 'calendarViewShown': 16843596, 'state_multiline': 16843597, 'detailsElementBackground': 16843598, 'textColorHighlightInverse': 16843599, 'textColorLinkInverse': 16843600, 'editTextColor': 16843601, 'editTextBackground': 16843602, 'horizontalScrollViewStyle': 16843603, 'layerType': 16843604, 'alertDialogIcon': 16843605, 'windowMinWidthMajor': 16843606, 'windowMinWidthMinor': 16843607, 'queryHint': 16843608, 'fastScrollTextColor': 16843609, 'largeHeap': 16843610, 'windowCloseOnTouchOutside': 16843611, 'datePickerStyle': 16843612, 'calendarViewStyle': 16843613, 'textEditSidePasteWindowLayout': 16843614, 'textEditSideNoPasteWindowLayout': 16843615, 'actionMenuTextAppearance': 16843616, 'actionMenuTextColor': 16843617, 'textCursorDrawable': 16843618, 'resizeMode': 16843619, 'requiresSmallestWidthDp': 16843620, 'compatibleWidthLimitDp': 16843621, 'largestWidthLimitDp': 16843622, 'state_hovered': 16843623, 'state_drag_can_accept': 16843624, 'state_drag_hovered': 16843625, 'stopWithTask': 16843626, 'switchTextOn': 16843627, 'switchTextOff': 16843628, 'switchPreferenceStyle': 16843629, 'switchTextAppearance': 16843630, 'track': 16843631, 'switchMinWidth': 16843632, 'switchPadding': 16843633, 'thumbTextPadding': 16843634, 'textSuggestionsWindowStyle': 16843635, 'textEditSuggestionItemLayout': 16843636, 'rowCount': 16843637, 'rowOrderPreserved': 16843638, 'columnCount': 16843639, 'columnOrderPreserved': 16843640, 'useDefaultMargins': 16843641, 'alignmentMode': 16843642, 'layout_row': 16843643, 'layout_rowSpan': 16843644, 'layout_columnSpan': 16843645, 'actionModeSelectAllDrawable': 16843646, 'isAuxiliary': 16843647, 'accessibilityEventTypes': 16843648, 'packageNames': 16843649, 'accessibilityFeedbackType': 16843650, 'notificationTimeout': 16843651, 'accessibilityFlags': 16843652, 'canRetrieveWindowContent': 16843653, 'listPreferredItemHeightLarge': 16843654, 'listPreferredItemHeightSmall': 16843655, 'actionBarSplitStyle': 16843656, 'actionProviderClass': 16843657, 'backgroundStacked': 16843658, 'backgroundSplit': 16843659, 'textAllCaps': 16843660, 'colorPressedHighlight': 16843661, 'colorLongPressedHighlight': 16843662, 'colorFocusedHighlight': 16843663, 'colorActivatedHighlight': 16843664, 'colorMultiSelectHighlight': 16843665, 'drawableStart': 16843666, 'drawableEnd': 16843667, 'actionModeStyle': 16843668, 'minResizeWidth': 16843669, 'minResizeHeight': 16843670, 'actionBarWidgetTheme': 16843671, 'uiOptions': 16843672, 'subtypeLocale': 16843673, 'subtypeExtraValue': 16843674, 'actionBarDivider': 16843675, 'actionBarItemBackground': 16843676, 'actionModeSplitBackground': 16843677, 'textAppearanceListItem': 16843678, 'textAppearanceListItemSmall': 16843679, 'targetDescriptions': 16843680, 'directionDescriptions': 16843681, 'overridesImplicitlyEnabledSubtype': 16843682, 'listPreferredItemPaddingLeft': 16843683, 'listPreferredItemPaddingRight': 16843684, 'requiresFadingEdge': 16843685, 'publicKey': 16843686, 'parentActivityName': 16843687, 'isolatedProcess': 16843689, 'importantForAccessibility': 16843690, 'keyboardLayout': 16843691, 'fontFamily': 16843692, 'mediaRouteButtonStyle': 16843693, 'mediaRouteTypes': 16843694, 'supportsRtl': 16843695, 'textDirection': 16843696, 'textAlignment': 16843697, 'layoutDirection': 16843698, 'paddingStart': 16843699, 'paddingEnd': 16843700, 'layout_marginStart': 16843701, 'layout_marginEnd': 16843702, 'layout_toStartOf': 16843703, 'layout_toEndOf': 16843704, 'layout_alignStart': 16843705, 'layout_alignEnd': 16843706, 'layout_alignParentStart': 16843707, 'layout_alignParentEnd': 16843708, 'listPreferredItemPaddingStart': 16843709, 'listPreferredItemPaddingEnd': 16843710, 'singleUser': 16843711, 'presentationTheme': 16843712, 'subtypeId': 16843713, 'initialKeyguardLayout': 16843714, 'widgetCategory': 16843716, 'permissionGroupFlags': 16843717, 'labelFor': 16843718, 'permissionFlags': 16843719, 'checkedTextViewStyle': 16843720, 'showOnLockScreen': 16843721, 'format12Hour': 16843722, 'format24Hour': 16843723, 'timeZone': 16843724, 'mipMap': 16843725, 'mirrorForRtl': 16843726, 'windowOverscan': 16843727, 'requiredForAllUsers': 16843728, 'indicatorStart': 16843729, 'indicatorEnd': 16843730, 'childIndicatorStart': 16843731, 'childIndicatorEnd': 16843732, 'restrictedAccountType': 16843733, 'requiredAccountType': 16843734, 'canRequestTouchExplorationMode': 16843735, 'canRequestEnhancedWebAccessibility': 16843736, 'canRequestFilterKeyEvents': 16843737, 'layoutMode': 16843738, 'keySet': 16843739, 'targetId': 16843740, 'fromScene': 16843741, 'toScene': 16843742, 'transition': 16843743, 'transitionOrdering': 16843744, 'fadingMode': 16843745, 'startDelay': 16843746, 'ssp': 16843747, 'sspPrefix': 16843748, 'sspPattern': 16843749, 'addPrintersActivity': 16843750, 'vendor': 16843751, 'category': 16843752, 'isAsciiCapable': 16843753, 'autoMirrored': 16843754, 'supportsSwitchingToNextInputMethod': 16843755, 'requireDeviceUnlock': 16843756, 'apduServiceBanner': 16843757, 'accessibilityLiveRegion': 16843758, 'windowTranslucentStatus': 16843759, 'windowTranslucentNavigation': 16843760, 'advancedPrintOptionsActivity': 16843761, 'banner': 16843762, 'windowSwipeToDismiss': 16843763, 'isGame': 16843764, 'allowEmbedded': 16843765, 'setupActivity': 16843766, 'fastScrollStyle': 16843767, 'windowContentTransitions': 16843768, 'windowContentTransitionManager': 16843769, 'translationZ': 16843770, 'tintMode': 16843771, 'controlX1': 16843772, 'controlY1': 16843773, 'controlX2': 16843774, 'controlY2': 16843775, 'transitionName': 16843776, 'transitionGroup': 16843777, 'viewportWidth': 16843778, 'viewportHeight': 16843779, 'fillColor': 16843780, 'pathData': 16843781, 'strokeColor': 16843782, 'strokeWidth': 16843783, 'trimPathStart': 16843784, 'trimPathEnd': 16843785, 'trimPathOffset': 16843786, 'strokeLineCap': 16843787, 'strokeLineJoin': 16843788, 'strokeMiterLimit': 16843789, 'colorControlNormal': 16843817, 'colorControlActivated': 16843818, 'colorButtonNormal': 16843819, 'colorControlHighlight': 16843820, 'persistableMode': 16843821, 'titleTextAppearance': 16843822, 'subtitleTextAppearance': 16843823, 'slideEdge': 16843824, 'actionBarTheme': 16843825, 'textAppearanceListItemSecondary': 16843826, 'colorPrimary': 16843827, 'colorPrimaryDark': 16843828, 'colorAccent': 16843829, 'nestedScrollingEnabled': 16843830, 'windowEnterTransition': 16843831, 'windowExitTransition': 16843832, 'windowSharedElementEnterTransition': 16843833, 'windowSharedElementExitTransition': 16843834, 'windowAllowReturnTransitionOverlap': 16843835, 'windowAllowEnterTransitionOverlap': 16843836, 'sessionService': 16843837, 'stackViewStyle': 16843838, 'switchStyle': 16843839, 'elevation': 16843840, 'excludeId': 16843841, 'excludeClass': 16843842, 'hideOnContentScroll': 16843843, 'actionOverflowMenuStyle': 16843844, 'documentLaunchMode': 16843845, 'maxRecents': 16843846, 'autoRemoveFromRecents': 16843847, 'stateListAnimator': 16843848, 'toId': 16843849, 'fromId': 16843850, 'reversible': 16843851, 'splitTrack': 16843852, 'targetName': 16843853, 'excludeName': 16843854, 'matchOrder': 16843855, 'windowDrawsSystemBarBackgrounds': 16843856, 'statusBarColor': 16843857, 'navigationBarColor': 16843858, 'contentInsetStart': 16843859, 'contentInsetEnd': 16843860, 'contentInsetLeft': 16843861, 'contentInsetRight': 16843862, 'paddingMode': 16843863, 'layout_rowWeight': 16843864, 'layout_columnWeight': 16843865, 'translateX': 16843866, 'translateY': 16843867, 'selectableItemBackgroundBorderless': 16843868, 'elegantTextHeight': 16843869, 'searchKeyphraseId': 16843870, 'searchKeyphrase': 16843871, 'searchKeyphraseSupportedLocales': 16843872, 'windowTransitionBackgroundFadeDuration': 16843873, 'overlapAnchor': 16843874, 'progressTint': 16843875, 'progressTintMode': 16843876, 'progressBackgroundTint': 16843877, 'progressBackgroundTintMode': 16843878, 'secondaryProgressTint': 16843879, 'secondaryProgressTintMode': 16843880, 'indeterminateTint': 16843881, 'indeterminateTintMode': 16843882, 'backgroundTint': 16843883, 'backgroundTintMode': 16843884, 'foregroundTint': 16843885, 'foregroundTintMode': 16843886, 'buttonTint': 16843887, 'buttonTintMode': 16843888, 'thumbTint': 16843889, 'thumbTintMode': 16843890, 'fullBackupOnly': 16843891, 'propertyXName': 16843892, 'propertyYName': 16843893, 'relinquishTaskIdentity': 16843894, 'tileModeX': 16843895, 'tileModeY': 16843896, 'actionModeShareDrawable': 16843897, 'actionModeFindDrawable': 16843898, 'actionModeWebSearchDrawable': 16843899, 'transitionVisibilityMode': 16843900, 'minimumHorizontalAngle': 16843901, 'minimumVerticalAngle': 16843902, 'maximumAngle': 16843903, 'searchViewStyle': 16843904, 'closeIcon': 16843905, 'goIcon': 16843906, 'searchIcon': 16843907, 'voiceIcon': 16843908, 'commitIcon': 16843909, 'suggestionRowLayout': 16843910, 'queryBackground': 16843911, 'submitBackground': 16843912, 'buttonBarPositiveButtonStyle': 16843913, 'buttonBarNeutralButtonStyle': 16843914, 'buttonBarNegativeButtonStyle': 16843915, 'popupElevation': 16843916, 'actionBarPopupTheme': 16843917, 'multiArch': 16843918, 'touchscreenBlocksFocus': 16843919, 'windowElevation': 16843920, 'launchTaskBehindTargetAnimation': 16843921, 'launchTaskBehindSourceAnimation': 16843922, 'restrictionType': 16843923, 'dayOfWeekBackground': 16843924, 'dayOfWeekTextAppearance': 16843925, 'headerMonthTextAppearance': 16843926, 'headerDayOfMonthTextAppearance': 16843927, 'headerYearTextAppearance': 16843928, 'yearListItemTextAppearance': 16843929, 'yearListSelectorColor': 16843930, 'calendarTextColor': 16843931, 'recognitionService': 16843932, 'timePickerStyle': 16843933, 'timePickerDialogTheme': 16843934, 'headerTimeTextAppearance': 16843935, 'headerAmPmTextAppearance': 16843936, 'numbersTextColor': 16843937, 'numbersBackgroundColor': 16843938, 'numbersSelectorColor': 16843939, 'amPmTextColor': 16843940, 'amPmBackgroundColor': 16843941, 'searchKeyphraseRecognitionFlags': 16843942, 'checkMarkTint': 16843943, 'checkMarkTintMode': 16843944, 'popupTheme': 16843945, 'toolbarStyle': 16843946, 'windowClipToOutline': 16843947, 'datePickerDialogTheme': 16843948, 'showText': 16843949, 'windowReturnTransition': 16843950, 'windowReenterTransition': 16843951, 'windowSharedElementReturnTransition': 16843952, 'windowSharedElementReenterTransition': 16843953, 'resumeWhilePausing': 16843954, 'datePickerMode': 16843955, 'timePickerMode': 16843956, 'inset': 16843957, 'letterSpacing': 16843958, 'fontFeatureSettings': 16843959, 'outlineProvider': 16843960, 'contentAgeHint': 16843961, 'country': 16843962, 'windowSharedElementsUseOverlay': 16843963, 'reparent': 16843964, 'reparentWithOverlay': 16843965, 'ambientShadowAlpha': 16843966, 'spotShadowAlpha': 16843967, 'navigationIcon': 16843968, 'navigationContentDescription': 16843969, 'fragmentExitTransition': 16843970, 'fragmentEnterTransition': 16843971, 'fragmentSharedElementEnterTransition': 16843972, 'fragmentReturnTransition': 16843973, 'fragmentSharedElementReturnTransition': 16843974, 'fragmentReenterTransition': 16843975, 'fragmentAllowEnterTransitionOverlap': 16843976, 'fragmentAllowReturnTransitionOverlap': 16843977, 'patternPathData': 16843978, 'strokeAlpha': 16843979, 'fillAlpha': 16843980, 'windowActivityTransitions': 16843981, 'colorEdgeEffect': 16843982 } } SYSTEM_RESOURCES = { "attributes": { "forward": {k: v for k, v in resources['attr'].items()}, "inverse": {v: k for k, v in resources['attr'].items()} }, "styles": { "forward": {k: v for k, v in resources['style'].items()}, "inverse": {v: k for k, v in resources['style'].items()} } } androguard-3.1.0-rc2/androguard/decompiler/000077500000000000000000000000001324327352200206015ustar00rootroot00000000000000androguard-3.1.0-rc2/androguard/decompiler/__init__.py000066400000000000000000000000011324327352200227010ustar00rootroot00000000000000 androguard-3.1.0-rc2/androguard/decompiler/dad/000077500000000000000000000000001324327352200213315ustar00rootroot00000000000000androguard-3.1.0-rc2/androguard/decompiler/dad/__init__.py000066400000000000000000000000011324327352200234310ustar00rootroot00000000000000 androguard-3.1.0-rc2/androguard/decompiler/dad/ast.py000066400000000000000000000567741324327352200225150ustar00rootroot00000000000000# This file is part of Androguard. # # Copyright (C) 2014 Google Inc. All rights reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS-IS" BASIS, # WITHOUT 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 file is a simplified version of writer.py that outputs an AST instead of source code.""" from builtins import zip from builtins import hex from builtins import str from builtins import map from builtins import range from builtins import object import struct from androguard.decompiler.dad import basic_blocks, instruction, opcode_ins def array_access(arr, ind): return ['ArrayAccess', [arr, ind]] def array_creation(tn, params, dim): return ['ArrayCreation', [tn] + params, dim] def array_initializer(params, tn=None): return ['ArrayInitializer', params, tn] def assignment(lhs, rhs, op=''): return ['Assignment', [lhs, rhs], op] def binary_infix(op, left, right): return ['BinaryInfix', [left, right], op] def cast(tn, arg): return ['Cast', [tn, arg]] def field_access(triple, left): return ['FieldAccess', [left], triple] def literal(result, tt): return ['Literal', result, tt] def local(name): return ['Local', name] def method_invocation(triple, name, base, params): if base is None: return ['MethodInvocation', params, triple, name, False] return ['MethodInvocation', [base] + params, triple, name, True] def parenthesis(expr): return ['Parenthesis', [expr]] def typen(baset, dim): return ['TypeName', (baset, dim)] def unary_prefix(op, left): return ['Unary', [left], op, False] def unary_postfix(left, op): return ['Unary', [left], op, True] def var_decl(typen, var): return [typen, var] def dummy(*args): return ['Dummy', args] ################################################################################ def expression_stmt(expr): return ['ExpressionStatement', expr] def local_decl_stmt(expr, decl): return ['LocalDeclarationStatement', expr, decl] def return_stmt(expr): return ['ReturnStatement', expr] def throw_stmt(expr): return ['ThrowStatement', expr] def jump_stmt(keyword): return ['JumpStatement', keyword, None] def loop_stmt(isdo, cond_expr, body): type_ = 'DoStatement' if isdo else 'WhileStatement' return [type_, None, cond_expr, body] def try_stmt(tryb, pairs): return ['TryStatement', None, tryb, pairs] def if_stmt(cond_expr, scopes): return ['IfStatement', None, cond_expr, scopes] def switch_stmt(cond_expr, ksv_pairs): return ['SwitchStatement', None, cond_expr, ksv_pairs] # Create empty statement block (statements to be appended later) # Note, the code below assumes this can be modified in place def statement_block(): return ['BlockStatement', None, []] # Add a statement to the end of a statement block def _append(sb, stmt): assert (sb[0] == 'BlockStatement') if stmt is not None: sb[2].append(stmt) ################################################################################ TYPE_DESCRIPTOR = { 'V': 'void', 'Z': 'boolean', 'B': 'byte', 'S': 'short', 'C': 'char', 'I': 'int', 'J': 'long', 'F': 'float', 'D': 'double', } def parse_descriptor(desc): dim = 0 while desc and desc[0] == '[': desc = desc[1:] dim += 1 if desc in TYPE_DESCRIPTOR: return typen('.' + TYPE_DESCRIPTOR[desc], dim) if desc and desc[0] == 'L' and desc[-1] == ';': return typen(desc[1:-1], dim) # invalid descriptor (probably None) return dummy(str(desc)) # Note: the literal_foo functions (and dummy) are also imported by decompile.py def literal_string(s): # We return a escaped string in ASCII encoding return literal(s.encode('unicode_escape').decode("ascii"), ('java/lang/String', 0)) def literal_class(desc): return literal(parse_descriptor(desc), ('java/lang/Class', 0)) def literal_bool(b): return literal(str(b).lower(), ('.boolean', 0)) def literal_int(b): return literal(str(b), ('.int', 0)) def literal_hex_int(b): return literal(hex(b), ('.int', 0)) def literal_long(b): return literal(str(b) + 'L', ('.long', 0)) def literal_float(f): return literal(str(f) + 'f', ('.float', 0)) def literal_double(f): return literal(str(f), ('.double', 0)) def literal_null(): return literal('null', ('.null', 0)) def visit_decl(var, init_expr=None): t = parse_descriptor(var.get_type()) v = local('v{}'.format(var.name)) return local_decl_stmt(init_expr, var_decl(t, v)) def visit_arr_data(value): data = value.get_data() tab = [] elem_size = value.element_width if elem_size == 4: for i in range(0, value.size * 4, 4): tab.append(struct.unpack('': if isinstance(base, instruction.ThisParam): keyword = 'this' if base.type[1:-1] == op.triple[0] else 'super' return method_invocation(op.triple, keyword, None, params) elif isinstance(base, instruction.NewInstance): return ['ClassInstanceCreation', params, parse_descriptor(base.type)] else: assert (isinstance(base, instruction.Variable)) # fallthrough to create dummy call return method_invocation(op.triple, op.name, visit_expr(base), params) # for unmatched monitor instructions, just create dummy expressions if isinstance(op, instruction.MonitorEnterExpression): return dummy("monitor enter(", visit_expr(op.var_map[op.ref]), ")") if isinstance(op, instruction.MonitorExitExpression): return dummy("monitor exit(", visit_expr(op.var_map[op.ref]), ")") if isinstance(op, instruction.MoveExpression): lhs = op.var_map.get(op.lhs) rhs = op.var_map.get(op.rhs) return write_inplace_if_possible(lhs, rhs) if isinstance(op, instruction.MoveResultExpression): lhs = op.var_map.get(op.lhs) rhs = op.var_map.get(op.rhs) return assignment(visit_expr(lhs), visit_expr(rhs)) if isinstance(op, instruction.NewArrayExpression): tn = parse_descriptor(op.type[1:]) expr = visit_expr(op.var_map[op.size]) return array_creation(tn, [expr], 1) # create dummy expression for unmatched newinstance if isinstance(op, instruction.NewInstance): return dummy("new ", parse_descriptor(op.type)) if isinstance(op, instruction.Param): if isinstance(op, instruction.ThisParam): return local('this') return local('p{}'.format(op.v)) if isinstance(op, instruction.StaticExpression): triple = op.clsdesc[1:-1], op.name, op.ftype return field_access(triple, parse_descriptor(op.clsdesc)) if isinstance(op, instruction.StaticInstruction): triple = op.clsdesc[1:-1], op.name, op.ftype lhs = field_access(triple, parse_descriptor(op.clsdesc)) rhs = visit_expr(op.var_map[op.rhs]) return assignment(lhs, rhs) if isinstance(op, instruction.SwitchExpression): return visit_expr(op.var_map[op.src]) if isinstance(op, instruction.UnaryExpression): lhs = op.var_map.get(op.arg) if isinstance(op, instruction.CastExpression): expr = cast(parse_descriptor(op.clsdesc), visit_expr(lhs)) else: expr = unary_prefix(op.op, visit_expr(lhs)) return parenthesis(expr) if isinstance(op, instruction.Variable): # assert(op.declared) return local('v{}'.format(op.name)) return dummy('??? Unexpected op: ' + type(op).__name__) def visit_ins(op, isCtor=False): if isinstance(op, instruction.ReturnInstruction): expr = None if op.arg is None else visit_expr(op.var_map[op.arg]) return return_stmt(expr) elif isinstance(op, instruction.ThrowExpression): return throw_stmt(visit_expr(op.var_map[op.ref])) elif isinstance(op, instruction.NopExpression): return None # Local var decl statements if isinstance(op, (instruction.AssignExpression, instruction.MoveExpression, instruction.MoveResultExpression)): lhs = op.var_map.get(op.lhs) rhs = op.rhs if isinstance( op, instruction.AssignExpression) else op.var_map.get(op.rhs) if isinstance(lhs, instruction.Variable) and not lhs.declared: lhs.declared = True expr = visit_expr(rhs) return visit_decl(lhs, expr) # skip this() at top of constructors if isCtor and isinstance(op, instruction.AssignExpression): op2 = op.rhs if op.lhs is None and isinstance(op2, instruction.InvokeInstruction): if op2.name == '' and len(op2.args) == 0: if isinstance(op2.var_map[op2.base], instruction.ThisParam): return None # MoveExpression is skipped when lhs = rhs if isinstance(op, instruction.MoveExpression): if op.var_map.get(op.lhs) is op.var_map.get(op.rhs): return None return expression_stmt(visit_expr(op)) class JSONWriter(object): def __init__(self, graph, method): self.graph = graph self.method = method self.visited_nodes = set() self.loop_follow = [None] self.if_follow = [None] self.switch_follow = [None] self.latch_node = [None] self.try_follow = [None] self.next_case = None self.need_break = True self.constructor = False self.context = [] # This class is created as a context manager so that it can be used like # with self as foo: # ... # which pushes a statement block on to the context stack and assigns it to foo # within the with block, all added instructions will be added to foo def __enter__(self): self.context.append(statement_block()) return self.context[-1] def __exit__(self, *args): self.context.pop() return False # Add a statement to the current context def add(self, val): _append(self.context[-1], val) def visit_ins(self, op): self.add(visit_ins(op, isCtor=self.constructor)) # Note: this is a mutating operation def get_ast(self): m = self.method flags = m.access if 'constructor' in flags: flags.remove('constructor') self.constructor = True params = m.lparams[:] if 'static' not in m.access: params = params[1:] # DAD doesn't create any params for abstract methods if len(params) != len(m.params_type): assert ('abstract' in flags or 'native' in flags) assert (not params) params = list(range(len(m.params_type))) paramdecls = [] for ptype, name in zip(m.params_type, params): t = parse_descriptor(ptype) v = local('p{}'.format(name)) paramdecls.append(var_decl(t, v)) if self.graph is None: body = None else: with self as body: self.visit_node(self.graph.entry) return { 'triple': m.triple, 'flags': flags, 'ret': parse_descriptor(m.type), 'params': paramdecls, 'comments': [], 'body': body, } def _visit_condition(self, cond): if cond.isnot: cond.cond1.neg() left = parenthesis(self.get_cond(cond.cond1)) right = parenthesis(self.get_cond(cond.cond2)) op = '&&' if cond.isand else '||' res = binary_infix(op, left, right) return res def get_cond(self, node): if isinstance(node, basic_blocks.ShortCircuitBlock): return self._visit_condition(node.cond) elif isinstance(node, basic_blocks.LoopBlock): return self.get_cond(node.cond) else: assert (type(node) == basic_blocks.CondBlock) assert (len(node.ins) == 1) return visit_expr(node.ins[-1]) def visit_node(self, node): if node in (self.if_follow[-1], self.switch_follow[-1], self.loop_follow[-1], self.latch_node[-1], self.try_follow[-1]): return if not node.type.is_return and node in self.visited_nodes: return self.visited_nodes.add(node) for var in node.var_to_declare: if not var.declared: self.add(visit_decl(var)) var.declared = True node.visit(self) def visit_loop_node(self, loop): isDo = cond_expr = body = None follow = loop.follow['loop'] if loop.looptype.is_pretest: if loop.true is follow: loop.neg() loop.true, loop.false = loop.false, loop.true isDo = False cond_expr = self.get_cond(loop) elif loop.looptype.is_posttest: isDo = True self.latch_node.append(loop.latch) elif loop.looptype.is_endless: isDo = False cond_expr = literal_bool(True) with self as body: self.loop_follow.append(follow) if loop.looptype.is_pretest: self.visit_node(loop.true) else: self.visit_node(loop.cond) self.loop_follow.pop() if loop.looptype.is_pretest: pass elif loop.looptype.is_posttest: self.latch_node.pop() cond_expr = self.get_cond(loop.latch) else: self.visit_node(loop.latch) assert (cond_expr is not None and isDo is not None) self.add(loop_stmt(isDo, cond_expr, body)) if follow is not None: self.visit_node(follow) def visit_cond_node(self, cond): cond_expr = None scopes = [] follow = cond.follow['if'] if cond.false is cond.true: self.add(expression_stmt(self.get_cond(cond))) self.visit_node(cond.true) return if cond.false is self.loop_follow[-1]: cond.neg() cond.true, cond.false = cond.false, cond.true if self.loop_follow[-1] in (cond.true, cond.false): cond_expr = self.get_cond(cond) with self as scope: self.add(jump_stmt('break')) scopes.append(scope) with self as scope: self.visit_node(cond.false) scopes.append(scope) self.add(if_stmt(cond_expr, scopes)) elif follow is not None: if cond.true in (follow, self.next_case) or \ cond.num > cond.true.num: # or cond.true.num > cond.false.num: cond.neg() cond.true, cond.false = cond.false, cond.true self.if_follow.append(follow) if cond.true: # in self.visited_nodes: cond_expr = self.get_cond(cond) with self as scope: self.visit_node(cond.true) scopes.append(scope) is_else = not (follow in (cond.true, cond.false)) if is_else and cond.false not in self.visited_nodes: with self as scope: self.visit_node(cond.false) scopes.append(scope) self.if_follow.pop() self.add(if_stmt(cond_expr, scopes)) self.visit_node(follow) else: cond_expr = self.get_cond(cond) with self as scope: self.visit_node(cond.true) scopes.append(scope) with self as scope: self.visit_node(cond.false) scopes.append(scope) self.add(if_stmt(cond_expr, scopes)) def visit_switch_node(self, switch): lins = switch.get_ins() for ins in lins[:-1]: self.visit_ins(ins) switch_ins = switch.get_ins()[-1] cond_expr = visit_expr(switch_ins) ksv_pairs = [] follow = switch.follow['switch'] cases = switch.cases self.switch_follow.append(follow) default = switch.default for i, node in enumerate(cases): if node in self.visited_nodes: continue cur_ks = switch.node_to_case[node][:] if i + 1 < len(cases): self.next_case = cases[i + 1] else: self.next_case = None if node is default: cur_ks.append(None) default = None with self as body: self.visit_node(node) if self.need_break: self.add(jump_stmt('break')) else: self.need_break = True ksv_pairs.append((cur_ks, body)) if default not in (None, follow): with self as body: self.visit_node(default) ksv_pairs.append(([None], body)) self.add(switch_stmt(cond_expr, ksv_pairs)) self.switch_follow.pop() self.visit_node(follow) def visit_statement_node(self, stmt): sucs = self.graph.sucs(stmt) for ins in stmt.get_ins(): self.visit_ins(ins) if len(sucs) == 1: if sucs[0] is self.loop_follow[-1]: self.add(jump_stmt('break')) elif sucs[0] is self.next_case: self.need_break = False else: self.visit_node(sucs[0]) def visit_try_node(self, try_node): with self as tryb: self.try_follow.append(try_node.follow) self.visit_node(try_node.try_start) pairs = [] for catch_node in try_node.catch: if catch_node.exception_ins: ins = catch_node.exception_ins assert (isinstance(ins, instruction.MoveExceptionExpression)) var = ins.var_map[ins.ref] var.declared = True ctype = var.get_type() name = 'v{}'.format(var.name) else: ctype = catch_node.catch_type name = '_' catch_decl = var_decl(parse_descriptor(ctype), local(name)) with self as body: self.visit_node(catch_node.catch_start) pairs.append((catch_decl, body)) self.add(try_stmt(tryb, pairs)) self.visit_node(self.try_follow.pop()) def visit_return_node(self, ret): self.need_break = False for ins in ret.get_ins(): self.visit_ins(ins) def visit_throw_node(self, throw): for ins in throw.get_ins(): self.visit_ins(ins) androguard-3.1.0-rc2/androguard/decompiler/dad/basic_blocks.py000066400000000000000000000260071324327352200243260ustar00rootroot00000000000000# This file is part of Androguard. # # Copyright (c) 2012 Geoffroy Gueguen # All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS-IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. from builtins import zip from builtins import range from builtins import object import logging from collections import defaultdict from androguard.decompiler.dad.opcode_ins import INSTRUCTION_SET from androguard.decompiler.dad.instruction import MoveExceptionExpression from androguard.decompiler.dad.node import Node from androguard.decompiler.dad.util import get_type logger = logging.getLogger('dad.basic_blocks') class BasicBlock(Node): def __init__(self, name, block_ins): super(BasicBlock, self).__init__(name) self.ins = block_ins self.ins_range = None self.loc_ins = None self.var_to_declare = set() self.catch_type = None def get_ins(self): return self.ins def get_loc_with_ins(self): if self.loc_ins is None: self.loc_ins = list(zip(range(*self.ins_range), self.ins)) return self.loc_ins def remove_ins(self, loc, ins): self.ins.remove(ins) self.loc_ins.remove((loc, ins)) def add_ins(self, new_ins_list): for new_ins in new_ins_list: self.ins.append(new_ins) def add_variable_declaration(self, variable): self.var_to_declare.add(variable) def number_ins(self, num): last_ins_num = num + len(self.ins) self.ins_range = [num, last_ins_num] self.loc_ins = None return last_ins_num def set_catch_type(self, _type): self.catch_type = _type class StatementBlock(BasicBlock): def __init__(self, name, block_ins): super(StatementBlock, self).__init__(name, block_ins) self.type.is_stmt = True def visit(self, visitor): return visitor.visit_statement_node(self) def __str__(self): return '%d-Statement(%s)' % (self.num, self.name) class ReturnBlock(BasicBlock): def __init__(self, name, block_ins): super(ReturnBlock, self).__init__(name, block_ins) self.type.is_return = True def visit(self, visitor): return visitor.visit_return_node(self) def __str__(self): return '%d-Return(%s)' % (self.num, self.name) class ThrowBlock(BasicBlock): def __init__(self, name, block_ins): super(ThrowBlock, self).__init__(name, block_ins) self.type.is_throw = True def visit(self, visitor): return visitor.visit_throw_node(self) def __str__(self): return '%d-Throw(%s)' % (self.num, self.name) class SwitchBlock(BasicBlock): def __init__(self, name, switch, block_ins): super(SwitchBlock, self).__init__(name, block_ins) self.switch = switch self.cases = [] self.default = None self.node_to_case = defaultdict(list) self.type.is_switch = True def add_case(self, case): self.cases.append(case) def visit(self, visitor): return visitor.visit_switch_node(self) def copy_from(self, node): super(SwitchBlock, self).copy_from(node) self.cases = node.cases[:] self.switch = node.switch[:] def update_attribute_with(self, n_map): super(SwitchBlock, self).update_attribute_with(n_map) self.cases = [n_map.get(n, n) for n in self.cases] for node1, node2 in n_map.items(): if node1 in self.node_to_case: self.node_to_case[node2] = self.node_to_case.pop(node1) def order_cases(self): values = self.switch.get_values() if len(values) < len(self.cases): self.default = self.cases.pop(0) for case, node in zip(values, self.cases): self.node_to_case[node].append(case) def __str__(self): return '%d-Switch(%s)' % (self.num, self.name) class CondBlock(BasicBlock): def __init__(self, name, block_ins): super(CondBlock, self).__init__(name, block_ins) self.true = None self.false = None self.type.is_cond = True def update_attribute_with(self, n_map): super(CondBlock, self).update_attribute_with(n_map) self.true = n_map.get(self.true, self.true) self.false = n_map.get(self.false, self.false) def neg(self): if len(self.ins) != 1: raise RuntimeWarning('Condition should have only 1 instruction !') self.ins[-1].neg() def visit(self, visitor): return visitor.visit_cond_node(self) def visit_cond(self, visitor): if len(self.ins) != 1: raise RuntimeWarning('Condition should have only 1 instruction !') return visitor.visit_ins(self.ins[-1]) def __str__(self): return '%d-If(%s)' % (self.num, self.name) class Condition(object): def __init__(self, cond1, cond2, isand, isnot): self.cond1 = cond1 self.cond2 = cond2 self.isand = isand self.isnot = isnot def neg(self): self.isand = not self.isand self.cond1.neg() self.cond2.neg() def get_ins(self): lins = [] lins.extend(self.cond1.get_ins()) lins.extend(self.cond2.get_ins()) return lins def get_loc_with_ins(self): loc_ins = [] loc_ins.extend(self.cond1.get_loc_with_ins()) loc_ins.extend(self.cond2.get_loc_with_ins()) return loc_ins def visit(self, visitor): return visitor.visit_short_circuit_condition(self.isnot, self.isand, self.cond1, self.cond2) def __str__(self): if self.isnot: ret = '!%s %s %s' else: ret = '%s %s %s' return ret % (self.cond1, ['||', '&&'][self.isand], self.cond2) class ShortCircuitBlock(CondBlock): def __init__(self, name, cond): super(ShortCircuitBlock, self).__init__(name, None) self.cond = cond def get_ins(self): return self.cond.get_ins() def get_loc_with_ins(self): return self.cond.get_loc_with_ins() def neg(self): self.cond.neg() def visit_cond(self, visitor): return self.cond.visit(visitor) def __str__(self): return '%d-SC(%s)' % (self.num, self.cond) class LoopBlock(CondBlock): def __init__(self, name, cond): super(LoopBlock, self).__init__(name, None) self.cond = cond def get_ins(self): return self.cond.get_ins() def neg(self): self.cond.neg() def get_loc_with_ins(self): return self.cond.get_loc_with_ins() def visit(self, visitor): return visitor.visit_loop_node(self) def visit_cond(self, visitor): return self.cond.visit_cond(visitor) def update_attribute_with(self, n_map): super(LoopBlock, self).update_attribute_with(n_map) self.cond.update_attribute_with(n_map) def __str__(self): if self.looptype.is_pretest: if self.false in self.loop_nodes: return '%d-While(!%s)[%s]' % (self.num, self.name, self.cond) return '%d-While(%s)[%s]' % (self.num, self.name, self.cond) elif self.looptype.is_posttest: return '%d-DoWhile(%s)[%s]' % (self.num, self.name, self.cond) elif self.looptype.is_endless: return '%d-WhileTrue(%s)[%s]' % (self.num, self.name, self.cond) return '%d-WhileNoType(%s)' % (self.num, self.name) class TryBlock(BasicBlock): def __init__(self, node): super(TryBlock, self).__init__('Try-%s' % node.name, None) self.try_start = node self.catch = [] # FIXME: @property def num(self): return self.try_start.num @num.setter def num(self, value): pass def add_catch_node(self, node): self.catch.append(node) def visit(self, visitor): visitor.visit_try_node(self) def __str__(self): return 'Try(%s)[%s]' % (self.name, self.catch) class CatchBlock(BasicBlock): def __init__(self, node): first_ins = node.ins[0] self.exception_ins = None if isinstance(first_ins, MoveExceptionExpression): self.exception_ins = first_ins node.ins.pop(0) super(CatchBlock, self).__init__('Catch-%s' % node.name, node.ins) self.catch_start = node self.catch_type = node.catch_type def visit(self, visitor): visitor.visit_catch_node(self) def visit_exception(self, visitor): if self.exception_ins: visitor.visit_ins(self.exception_ins) else: visitor.write(get_type(self.catch_type)) def __str__(self): return 'Catch(%s)' % self.name def build_node_from_block(block, vmap, gen_ret, exception_type=None): ins, lins = None, [] idx = block.get_start() for ins in block.get_instructions(): opcode = ins.get_op_value() if opcode == -1: # FIXME? or opcode in (0x0300, 0x0200, 0x0100): idx += ins.get_length() continue try: _ins = INSTRUCTION_SET[opcode] except IndexError: logger.error('Unknown instruction : %s.', ins.get_name().lower()) _ins = INSTRUCTION_SET[0] # fill-array-data if opcode == 0x26: fillarray = block.get_special_ins(idx) lins.append(_ins(ins, vmap, fillarray)) # invoke-kind[/range] elif 0x6e <= opcode <= 0x72 or 0x74 <= opcode <= 0x78: lins.append(_ins(ins, vmap, gen_ret)) # filled-new-array[/range] elif 0x24 <= opcode <= 0x25: lins.append(_ins(ins, vmap, gen_ret.new())) # move-result* elif 0xa <= opcode <= 0xc: lins.append(_ins(ins, vmap, gen_ret.last())) # move-exception elif opcode == 0xd: lins.append(_ins(ins, vmap, exception_type)) # monitor-{enter,exit} elif 0x1d <= opcode <= 0x1e: idx += ins.get_length() continue else: lins.append(_ins(ins, vmap)) idx += ins.get_length() name = block.get_name() # return* if 0xe <= opcode <= 0x11: node = ReturnBlock(name, lins) # {packed,sparse}-switch elif 0x2b <= opcode <= 0x2c: idx -= ins.get_length() values = block.get_special_ins(idx) node = SwitchBlock(name, values, lins) # if-test[z] elif 0x32 <= opcode <= 0x3d: node = CondBlock(name, lins) node.off_last_ins = ins.get_ref_off() # throw elif opcode == 0x27: node = ThrowBlock(name, lins) else: # goto* if 0x28 <= opcode <= 0x2a: lins.pop() node = StatementBlock(name, lins) return node androguard-3.1.0-rc2/androguard/decompiler/dad/control_flow.py000066400000000000000000000354761324327352200244310ustar00rootroot00000000000000# This file is part of Androguard. # # Copyright (c) 2012 Geoffroy Gueguen # All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS-IS" BASIS, # WITHOUT 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 logging from collections import defaultdict from androguard.decompiler.dad.basic_blocks import ( CatchBlock, Condition, LoopBlock, ShortCircuitBlock, TryBlock) from androguard.decompiler.dad.graph import Graph from androguard.decompiler.dad.node import Interval from androguard.decompiler.dad.util import common_dom logger = logging.getLogger('dad.control_flow') def intervals(graph): """ Compute the intervals of the graph Returns interval_graph: a graph of the intervals of G interv_heads: a dict of (header node, interval) """ interval_graph = Graph() # graph of intervals heads = [graph.entry] # list of header nodes interv_heads = {} # interv_heads[i] = interval of header i processed = dict([(i, False) for i in graph]) edges = defaultdict(list) while heads: head = heads.pop(0) if not processed[head]: processed[head] = True interv_heads[head] = Interval(head) # Check if there is a node which has all its predecessor in the # current interval. If there is, add that node to the interval and # repeat until all the possible nodes have been added. change = True while change: change = False for node in graph.rpo[1:]: if all( p in interv_heads[head] for p in graph.all_preds(node)): change |= interv_heads[head].add_node(node) # At this stage, a node which is not in the interval, but has one # of its predecessor in it, is the header of another interval. So # we add all such nodes to the header list. for node in graph: if node not in interv_heads[head] and node not in heads: if any( p in interv_heads[head] for p in graph.all_preds(node)): edges[interv_heads[head]].append(node) assert (node not in heads) heads.append(node) interval_graph.add_node(interv_heads[head]) interv_heads[head].compute_end(graph) # Edges is a mapping of 'Interval -> [header nodes of interval successors]' for interval, heads in edges.items(): for head in heads: interval_graph.add_edge(interval, interv_heads[head]) interval_graph.entry = graph.entry.interval if graph.exit: interval_graph.exit = graph.exit.interval return interval_graph, interv_heads def derived_sequence(graph): """ Compute the derived sequence of the graph G The intervals of G are collapsed into nodes, intervals of these nodes are built, and the process is repeated iteratively until we obtain a single node (if the graph is not irreducible) """ deriv_seq = [graph] deriv_interv = [] single_node = False while not single_node: interv_graph, interv_heads = intervals(graph) deriv_interv.append(interv_heads) single_node = len(interv_graph) == 1 if not single_node: deriv_seq.append(interv_graph) graph = interv_graph graph.compute_rpo() return deriv_seq, deriv_interv def mark_loop_rec(graph, node, s_num, e_num, interval, nodes_in_loop): if node in nodes_in_loop: return nodes_in_loop.append(node) for pred in graph.all_preds(node): if s_num < pred.num <= e_num and pred in interval: mark_loop_rec(graph, pred, s_num, e_num, interval, nodes_in_loop) def mark_loop(graph, start, end, interval): logger.debug('MARKLOOP : %s END : %s', start, end) head = start.get_head() latch = end.get_end() nodes_in_loop = [head] mark_loop_rec(graph, latch, head.num, latch.num, interval, nodes_in_loop) head.startloop = True head.latch = latch return nodes_in_loop def loop_type(start, end, nodes_in_loop): if end.type.is_cond: if start.type.is_cond: if start.true in nodes_in_loop and start.false in nodes_in_loop: start.looptype.is_posttest = True else: start.looptype.is_pretest = True else: start.looptype.is_posttest = True else: if start.type.is_cond: if start.true in nodes_in_loop and start.false in nodes_in_loop: start.looptype.is_endless = True else: start.looptype.is_pretest = True else: start.looptype.is_endless = True def loop_follow(start, end, nodes_in_loop): follow = None if start.looptype.is_pretest: if start.true in nodes_in_loop: follow = start.false else: follow = start.true elif start.looptype.is_posttest: if end.true in nodes_in_loop: follow = end.false else: follow = end.true else: num_next = float('inf') for node in nodes_in_loop: if node.type.is_cond: if (node.true.num < num_next and node.true not in nodes_in_loop): follow = node.true num_next = follow.num elif (node.false.num < num_next and node.false not in nodes_in_loop): follow = node.false num_next = follow.num start.follow['loop'] = follow for node in nodes_in_loop: node.follow['loop'] = follow logger.debug('Start of loop %s', start) logger.debug('Follow of loop: %s', start.follow['loop']) def loop_struct(graphs_list, intervals_list): first_graph = graphs_list[0] for i, graph in enumerate(graphs_list): interval = intervals_list[i] for head in sorted(list(interval.keys()), key=lambda x: x.num): loop_nodes = [] for node in graph.all_preds(head): if node.interval is head.interval: lnodes = mark_loop(first_graph, head, node, head.interval) for lnode in lnodes: if lnode not in loop_nodes: loop_nodes.append(lnode) head.get_head().loop_nodes = loop_nodes def if_struct(graph, idoms): unresolved = set() for node in graph.post_order(): if node.type.is_cond: ldominates = [] for n, idom in idoms.items(): if node is idom and len(graph.reverse_edges.get(n, [])) > 1: ldominates.append(n) if len(ldominates) > 0: n = max(ldominates, key=lambda x: x.num) node.follow['if'] = n for x in unresolved.copy(): if node.num < x.num < n.num: x.follow['if'] = n unresolved.remove(x) else: unresolved.add(node) return unresolved def switch_struct(graph, idoms): unresolved = set() for node in graph.post_order(): if node.type.is_switch: m = node for suc in graph.sucs(node): if idoms[suc] is not node: m = common_dom(idoms, node, suc) ldominates = [] for n, dom in idoms.items(): if m is dom and len(graph.all_preds(n)) > 1: ldominates.append(n) if len(ldominates) > 0: n = max(ldominates, key=lambda x: x.num) node.follow['switch'] = n for x in unresolved: x.follow['switch'] = n unresolved = set() else: unresolved.add(node) node.order_cases() # TODO: deal with preds which are in catch def short_circuit_struct(graph, idom, node_map): def MergeNodes(node1, node2, is_and, is_not): lpreds = set() ldests = set() for node in (node1, node2): lpreds.update(graph.preds(node)) ldests.update(graph.sucs(node)) graph.remove_node(node) done.add(node) lpreds.difference_update((node1, node2)) ldests.difference_update((node1, node2)) entry = graph.entry in (node1, node2) new_name = '%s+%s' % (node1.name, node2.name) condition = Condition(node1, node2, is_and, is_not) new_node = ShortCircuitBlock(new_name, condition) for old_n, new_n in node_map.items(): if new_n in (node1, node2): node_map[old_n] = new_node node_map[node1] = new_node node_map[node2] = new_node idom[new_node] = idom[node1] idom.pop(node1) idom.pop(node2) new_node.copy_from(node1) graph.add_node(new_node) for pred in lpreds: pred.update_attribute_with(node_map) graph.add_edge(node_map.get(pred, pred), new_node) for dest in ldests: graph.add_edge(new_node, node_map.get(dest, dest)) if entry: graph.entry = new_node return new_node change = True while change: change = False done = set() for node in graph.post_order(): if node.type.is_cond and node not in done: then = node.true els = node.false if node in (then, els): continue if then.type.is_cond and len(graph.preds(then)) == 1: if node in (then.true, then.false): continue if then.false is els: # node && t change = True merged_node = MergeNodes(node, then, True, False) merged_node.true = then.true merged_node.false = els elif then.true is els: # !node || t change = True merged_node = MergeNodes(node, then, False, True) merged_node.true = els merged_node.false = then.false elif els.type.is_cond and len(graph.preds(els)) == 1: if node in (els.false, els.true): continue if els.false is then: # !node && e change = True merged_node = MergeNodes(node, els, True, True) merged_node.true = els.true merged_node.false = then elif els.true is then: # node || e change = True merged_node = MergeNodes(node, els, False, False) merged_node.true = then merged_node.false = els.false done.add(node) if change: graph.compute_rpo() def while_block_struct(graph, node_map): change = False for node in graph.rpo[:]: if node.startloop: change = True new_node = LoopBlock(node.name, node) node_map[node] = new_node new_node.copy_from(node) entry = node is graph.entry lpreds = graph.preds(node) lsuccs = graph.sucs(node) for pred in lpreds: graph.add_edge(node_map.get(pred, pred), new_node) for suc in lsuccs: graph.add_edge(new_node, node_map.get(suc, suc)) if entry: graph.entry = new_node if node.type.is_cond: new_node.true = node.true new_node.false = node.false graph.add_node(new_node) graph.remove_node(node) if change: graph.compute_rpo() def catch_struct(graph, idoms): block_try_nodes = {} node_map = {} for catch_block in graph.reverse_catch_edges: if catch_block in graph.catch_edges: continue catch_node = CatchBlock(catch_block) try_block = idoms[catch_block] try_node = block_try_nodes.get(try_block) if try_node is None: block_try_nodes[try_block] = TryBlock(try_block) try_node = block_try_nodes[try_block] node_map[try_block] = try_node for pred in graph.all_preds(try_block): pred.update_attribute_with(node_map) if try_block in graph.sucs(pred): graph.edges[pred].remove(try_block) graph.add_edge(pred, try_node) if try_block.type.is_stmt: follow = graph.sucs(try_block) if follow: try_node.follow = graph.sucs(try_block)[0] else: try_node.follow = None elif try_block.type.is_cond: loop_follow = try_block.follow['loop'] if loop_follow: try_node.follow = loop_follow else: try_node.follow = try_block.follow['if'] elif try_block.type.is_switch: try_node.follow = try_block.follow['switch'] else: # return or throw try_node.follow = None try_node.add_catch_node(catch_node) for node in graph.nodes: node.update_attribute_with(node_map) if graph.entry in node_map: graph.entry = node_map[graph.entry] def update_dom(idoms, node_map): for n, dom in idoms.items(): idoms[n] = node_map.get(dom, dom) def identify_structures(graph, idoms): Gi, Li = derived_sequence(graph) switch_struct(graph, idoms) loop_struct(Gi, Li) node_map = {} short_circuit_struct(graph, idoms, node_map) update_dom(idoms, node_map) if_unresolved = if_struct(graph, idoms) while_block_struct(graph, node_map) update_dom(idoms, node_map) loop_starts = [] for node in graph.rpo: node.update_attribute_with(node_map) if node.startloop: loop_starts.append(node) for node in loop_starts: loop_type(node, node.latch, node.loop_nodes) loop_follow(node, node.latch, node.loop_nodes) for node in if_unresolved: follows = [n for n in (node.follow['loop'], node.follow['switch']) if n] if len(follows) >= 1: follow = min(follows, key=lambda x: x.num) node.follow['if'] = follow catch_struct(graph, idoms) androguard-3.1.0-rc2/androguard/decompiler/dad/dataflow.py000066400000000000000000000472461324327352200235210ustar00rootroot00000000000000# This file is part of Androguard. # # Copyright (c) 2012 Geoffroy Gueguen # All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS-IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. from builtins import range from builtins import object import logging from collections import defaultdict from androguard.decompiler.dad.instruction import (Variable, ThisParam, Param) from androguard.decompiler.dad.util import build_path, common_dom from androguard.decompiler.dad.node import Node logger = logging.getLogger('dad.control_flow') class BasicReachDef(object): def __init__(self, graph, params): self.g = graph self.A = defaultdict(set) self.R = defaultdict(set) self.DB = defaultdict(set) self.defs = defaultdict(lambda: defaultdict(set)) self.def_to_loc = defaultdict(set) # Deal with special entry node entry = graph.entry self.A[entry] = set(range(-1, -len(params) - 1, -1)) for loc, param in enumerate(params, 1): self.defs[entry][param].add(-loc) self.def_to_loc[param].add(-loc) # Deal with the other nodes for node in graph.rpo: for i, ins in node.get_loc_with_ins(): kill = ins.get_lhs() if kill is not None: self.defs[node][kill].add(i) self.def_to_loc[kill].add(i) for defs, values in self.defs[node].items(): self.DB[node].add(max(values)) def run(self): nodes = list(self.g.rpo) while nodes: node = nodes.pop(0) newR = set() for pred in self.g.all_preds(node): newR.update(self.A[pred]) if newR and newR != self.R[node]: self.R[node] = newR for suc in self.g.all_sucs(node): if suc not in nodes: nodes.append(suc) killed_locs = set() for reg in self.defs[node]: killed_locs.update(self.def_to_loc[reg]) A = set() for loc in self.R[node]: if loc not in killed_locs: A.add(loc) newA = A.union(self.DB[node]) if newA != self.A[node]: self.A[node] = newA for suc in self.g.all_sucs(node): if suc not in nodes: nodes.append(suc) def update_chain(graph, loc, du, ud): """ Updates the DU chain of the instruction located at loc such that there is no more reference to it so that we can remove it. When an instruction is found to be dead (i.e it has no side effect, and the register defined is not used) we have to update the DU chain of all the variables that may me used by the dead instruction. """ ins = graph.get_ins_from_loc(loc) for var in ins.get_used_vars(): # We get the definition points of the current variable for def_loc in set(ud[var, loc]): # We remove the use of the variable at loc from the DU chain of # the variable definition located at def_loc du[var, def_loc].remove(loc) ud[var, loc].remove(def_loc) if not ud.get((var, loc)): ud.pop((var, loc)) # If the DU chain of the defined variable is now empty, this means # that we may have created a new dead instruction, so we check that # the instruction has no side effect and we update the DU chain of # the new dead instruction, and we delete it. # We also make sure that def_loc is not < 0. This is the case when # the current variable is a method parameter. if def_loc >= 0 and not du[var, def_loc]: du.pop((var, def_loc)) def_ins = graph.get_ins_from_loc(def_loc) if def_ins.is_call(): def_ins.remove_defined_var() elif def_ins.has_side_effect(): continue else: update_chain(graph, def_loc, du, ud) graph.remove_ins(def_loc) def dead_code_elimination(graph, du, ud): """ Run a dead code elimination pass. Instructions are checked to be dead. If it is the case, we remove them and we update the DU & UD chains of its variables to check for further dead instructions. """ for node in graph.rpo: for i, ins in node.get_loc_with_ins(): reg = ins.get_lhs() if reg is not None: # If the definition is not used, we check that the instruction # has no side effect. If there is one and this is a call, we # remove only the unused defined variable. else, this is # something like an array access, so we do nothing. # Otherwise (no side effect) we can remove the instruction from # the node. if (reg, i) not in du: if ins.is_call(): ins.remove_defined_var() elif ins.has_side_effect(): continue else: # We can delete the instruction. First update the DU # chain of the variables used by the instruction to # `let them know` that they are not used anymore by the # deleted instruction. # Then remove the instruction. update_chain(graph, i, du, ud) graph.remove_ins(i) def clear_path_node(graph, reg, loc1, loc2): for loc in range(loc1, loc2): ins = graph.get_ins_from_loc(loc) logger.debug(' treat loc: %d, ins: %s', loc, ins) if ins is None: continue logger.debug(' LHS: %s, side_effect: %s', ins.get_lhs(), ins.has_side_effect()) if ins.get_lhs() == reg or ins.has_side_effect(): return False return True def clear_path(graph, reg, loc1, loc2): """ Check that the path from loc1 to loc2 is clear. We have to check that there is no side effect between the two location points. We also have to check that the variable `reg` is not redefined along one of the possible pathes from loc1 to loc2. """ logger.debug('clear_path: reg(%s), loc1(%s), loc2(%s)', reg, loc1, loc2) node1 = graph.get_node_from_loc(loc1) node2 = graph.get_node_from_loc(loc2) # If both instructions are in the same node, we only have to check that the # path is clear inside the node if node1 is node2: return clear_path_node(graph, reg, loc1 + 1, loc2) # If instructions are in different nodes, we also have to check the nodes # in the path between the two locations. if not clear_path_node(graph, reg, loc1 + 1, node1.ins_range[1]): return False path = build_path(graph, node1, node2) for node in path: locs = node.ins_range end_loc = loc2 if (locs[0] <= loc2 <= locs[1]) else locs[1] if not clear_path_node(graph, reg, locs[0], end_loc): return False return True def register_propagation(graph, du, ud): """ Propagate the temporary registers between instructions and remove them if necessary. We process the nodes of the graph in reverse post order. For each instruction in the node, we look at the variables that it uses. For each of these variables we look where it is defined and if we can replace it with its definition. We have to be careful to the side effects some instructions may have. To do the propagation, we use the computed DU and UD chains. """ change = True while change: change = False for node in graph.rpo: for i, ins in node.get_loc_with_ins(): logger.debug('Treating instruction %d: %s', i, ins) logger.debug(' Used vars: %s', ins.get_used_vars()) for var in ins.get_used_vars(): # Get the list of locations this variable is defined at. locs = ud[var, i] logger.debug(' var %s defined in lines %s', var, locs) # If the variable is uniquely defined for this instruction # it may be eligible for propagation. if len(locs) != 1: continue loc = locs[0] # Methods parameters are defined with a location < 0. if loc < 0: continue orig_ins = graph.get_ins_from_loc(loc) logger.debug(' -> %s', orig_ins) logger.debug(' -> DU(%s, %s) = %s', var, loc, du[var, loc]) # We defined some instructions as not propagable. # Actually this is the case only for array creation # (new foo[x]) if not orig_ins.is_propagable(): logger.debug(' %s not propagable...', orig_ins) continue if not orig_ins.get_rhs().is_const(): # We only try to propagate constants and definition # points which are used at only one location. if len(du[var, loc]) > 1: logger.debug(' => variable has multiple uses' ' and is not const => skip') continue # We check that the propagation is safe for all the # variables that are used in the instruction. # The propagation is not safe if there is a side effect # along the path from the definition of the variable # to its use in the instruction, or if the variable may # be redifined along this path. safe = True orig_ins_used_vars = orig_ins.get_used_vars() logger.debug(' variables used by the original ' 'instruction: %s', orig_ins_used_vars) for var2 in orig_ins_used_vars: # loc is the location of the defined variable # i is the location of the current instruction if not clear_path(graph, var2, loc, i): safe = False break if not safe: logger.debug('Propagation NOT SAFE') continue # We also check that the instruction itself is # propagable. If the instruction has a side effect it # cannot be propagated if there is another side effect # along the path if orig_ins.has_side_effect(): if not clear_path(graph, None, loc, i): logger.debug(' %s has side effect and the ' 'path is not clear !', orig_ins) continue logger.debug(' => Modification of the instruction!') logger.debug(' - BEFORE: %s', ins) ins.replace(var, orig_ins.get_rhs()) logger.debug(' -> AFTER: %s', ins) logger.debug('\t UD(%s, %s) : %s', var, i, ud[var, i]) ud[var, i].remove(loc) logger.debug('\t -> %s', ud[var, i]) if len(ud[var, i]) == 0: ud.pop((var, i)) for var2 in orig_ins.get_used_vars(): # We update the UD chain of the variables we # propagate. We also have to take the # definition points of all the variables used # by the instruction and update the DU chain # with this information. old_ud = ud.get((var2, loc)) logger.debug('\t ud(%s, %s) = %s', var2, loc, old_ud) # If the instruction use the same variable # multiple times, the second+ time the ud chain # will be None because already treated. if old_ud is None: continue ud[var2, i].extend(old_ud) logger.debug('\t - ud(%s, %s) = %s', var2, i, ud[var2, i]) ud.pop((var2, loc)) for def_loc in old_ud: du[var2, def_loc].remove(loc) du[var2, def_loc].append(i) new_du = du[var, loc] logger.debug('\t new_du(%s, %s): %s', var, loc, new_du) new_du.remove(i) logger.debug('\t -> %s', new_du) if not new_du: logger.debug('\t REMOVING INS %d', loc) du.pop((var, loc)) graph.remove_ins(loc) change = True class DummyNode(Node): def __init__(self, name): super(DummyNode, self).__init__(name) def get_loc_with_ins(self): return [] def __repr__(self): return '%s-dumnode' % self.name def __str__(self): return '%s-dummynode' % self.name def group_variables(lvars, DU, UD): treated = defaultdict(list) variables = defaultdict(list) # FIXME for var, loc in sorted(DU, key=lambda x: (str(x[0]), str(x[1]))): if var not in lvars: continue if loc in treated[var]: continue defs = [loc] uses = set(DU[var, loc]) change = True while change: change = False for use in uses: ldefs = UD[var, use] for ldef in ldefs: if ldef not in defs: defs.append(ldef) change = True for ldef in defs[1:]: luses = set(DU[var, ldef]) for use in luses: if use not in uses: uses.add(use) change = True treated[var].extend(defs) variables[var].append((defs, list(uses))) return variables def split_variables(graph, lvars, DU, UD): variables = group_variables(lvars, DU, UD) if lvars: nb_vars = max(lvars) + 1 else: nb_vars = 0 for var, versions in variables.items(): nversions = len(versions) if nversions == 1: continue orig_var = lvars.pop(var) for i, (defs, uses) in enumerate(versions): if min(defs) < 0: # Param if orig_var.this: new_version = ThisParam(var, orig_var.type) else: new_version = Param(var, orig_var.type) lvars[var] = new_version else: new_version = Variable(nb_vars) new_version.type = orig_var.type lvars[nb_vars] = new_version # add new version to variables nb_vars += 1 new_version.name = '%d_%d' % (var, i) for loc in defs: if loc < 0: continue ins = graph.get_ins_from_loc(loc) ins.replace_lhs(new_version) DU[(new_version.value(), loc)] = DU.pop((var, loc)) for loc in uses: ins = graph.get_ins_from_loc(loc) ins.replace_var(var, new_version) UD[(new_version.value(), loc)] = UD.pop((var, loc)) def reach_def_analysis(graph, lparams): # We insert two special nodes : entry & exit, to the graph. # This is done to simplify the reaching definition analysis. old_entry = graph.entry old_exit = graph.exit new_entry = DummyNode('entry') graph.add_node(new_entry) graph.add_edge(new_entry, old_entry) graph.entry = new_entry if old_exit: new_exit = DummyNode('exit') graph.add_node(new_exit) graph.add_edge(old_exit, new_exit) graph.rpo.append(new_exit) analysis = BasicReachDef(graph, lparams) analysis.run() # The analysis is done, We can now remove the two special nodes. graph.remove_node(new_entry) if old_exit: graph.remove_node(new_exit) graph.entry = old_entry return analysis def build_def_use(graph, lparams): """ Builds the Def-Use and Use-Def (DU/UD) chains of the variables of the method. """ analysis = reach_def_analysis(graph, lparams) UD = defaultdict(list) for node in graph.rpo: for i, ins in node.get_loc_with_ins(): for var in ins.get_used_vars(): # var not in analysis.def_to_loc: test that the register # exists. It is possible that it is not the case, when a # variable is of a type which is stored on multiple registers # e.g: a 'double' stored in v3 is also present in v4, so a call # to foo(v3), will in fact call foo(v3, v4). if var not in analysis.def_to_loc: continue ldefs = analysis.defs[node] prior_def = -1 for v in ldefs.get(var, set()): if prior_def < v < i: prior_def = v if prior_def >= 0: UD[var, i].append(prior_def) else: intersect = analysis.def_to_loc[var].intersection( analysis.R[node]) UD[var, i].extend(intersect) DU = defaultdict(list) for var_loc, defs_loc in UD.items(): var, loc = var_loc for def_loc in defs_loc: DU[var, def_loc].append(loc) return UD, DU def place_declarations(graph, dvars, du, ud): idom = graph.immediate_dominators() for node in graph.post_order(): for loc, ins in node.get_loc_with_ins(): for var in ins.get_used_vars(): if (not isinstance(dvars[var], Variable) or isinstance(dvars[var], Param)): continue var_defs_locs = ud[var, loc] def_nodes = set() for def_loc in var_defs_locs: def_node = graph.get_node_from_loc(def_loc) # TODO: place declarations in catch if needed if def_node.in_catch: continue def_nodes.add(def_node) if not def_nodes: continue common_dominator = def_nodes.pop() for def_node in def_nodes: common_dominator = common_dom( idom, common_dominator, def_node) if any(var in range(*common_dominator.ins_range) for var in ud[var, loc]): continue common_dominator.add_variable_declaration(dvars[var]) androguard-3.1.0-rc2/androguard/decompiler/dad/decompile.py000066400000000000000000000437011324327352200236510ustar00rootroot00000000000000from __future__ import print_function import sys from builtins import input from builtins import map # This file is part of Androguard. # # Copyright (c) 2012 Geoffroy Gueguen # All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS-IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. from builtins import next from builtins import object from builtins import range from builtins import str sys.path.append('./') import logging import struct from collections import defaultdict import androguard.core.androconf as androconf import androguard.decompiler.dad.util as util from androguard.core.analysis import analysis from androguard.core.bytecodes import apk, dvm from androguard.decompiler.dad.ast import ( JSONWriter, parse_descriptor, literal_string, literal_hex_int, dummy) from androguard.decompiler.dad.control_flow import identify_structures from androguard.decompiler.dad.dataflow import ( build_def_use, place_declarations, dead_code_elimination, register_propagation, split_variables) from androguard.decompiler.dad.graph import construct, simplify, split_if_nodes from androguard.decompiler.dad.instruction import Param, ThisParam from androguard.decompiler.dad.writer import Writer from androguard.util import read def auto_vm(filename): ret = androconf.is_android(filename) if ret == 'APK': return dvm.DalvikVMFormat(apk.APK(filename).get_dex()) elif ret == 'DEX': return dvm.DalvikVMFormat(read(filename)) elif ret == 'DEY': return dvm.DalvikOdexVMFormat(read(filename)) return None # No seperate DvField class currently def get_field_ast(field): triple = field.get_class_name()[1:-1], field.get_name( ), field.get_descriptor() expr = None if field.init_value: val = field.init_value.value expr = dummy(str(val)) if val is not None: if field.get_descriptor() == 'Ljava/lang/String;': expr = literal_string(val) elif field.proto == 'B': expr = literal_hex_int(struct.unpack(' 0: pckg, name = name.rsplit('/', 1) else: pckg, name = '', name self.package = pckg[1:].replace('/', '.') self.name = name[:-1] self.vma = vma self.methods = dvclass.get_methods() self.fields = dvclass.get_fields() self.code = [] self.inner = False access = dvclass.get_access_flags() # If interface we remove the class and abstract keywords if 0x200 & access: prototype = '%s %s' if access & 0x400: access -= 0x400 else: prototype = '%s class %s' self.access = util.get_access_class(access) self.prototype = prototype % (' '.join(self.access), self.name) self.interfaces = dvclass.get_interfaces() self.superclass = dvclass.get_superclassname() self.thisclass = dvclass.get_name() logger.info('Class : %s', self.name) logger.info('Methods added :') for meth in self.methods: logger.info('%s (%s, %s)', meth.get_method_idx(), self.name, meth.name) logger.info('') def get_methods(self): return self.methods def process_method(self, num, doAST=False): method = self.methods[num] if not isinstance(method, DvMethod): self.methods[num] = DvMethod(self.vma.get_method(method)) self.methods[num].process(doAST=doAST) else: method.process(doAST=doAST) def process(self, doAST=False): for i in range(len(self.methods)): try: self.process_method(i, doAST=doAST) except Exception as e: logger.warning('Error decompiling method %s: %s', self.methods[i], e) def get_ast(self): fields = [get_field_ast(f) for f in self.fields] methods = [] for m in self.methods: if isinstance(m, DvMethod) and m.ast: methods.append(m.get_ast()) isInterface = 'interface' in self.access return { 'rawname': self.thisclass[1:-1], 'name': parse_descriptor(self.thisclass), 'super': parse_descriptor(self.superclass), 'flags': self.access, 'isInterface': isInterface, 'interfaces': list(map(parse_descriptor, self.interfaces)), 'fields': fields, 'methods': methods, } def get_source(self): source = [] if not self.inner and self.package: source.append('package %s;\n' % self.package) superclass, prototype = self.superclass, self.prototype if superclass is not None and superclass != 'Ljava/lang/Object;': superclass = superclass[1:-1].replace('/', '.') prototype += ' extends %s' % superclass if len(self.interfaces) > 0: prototype += ' implements %s' % ', '.join( [n[1:-1].replace('/', '.') for n in self.interfaces]) source.append('%s {\n' % prototype) for field in self.fields: name = field.get_name() access = util.get_access_field(field.get_access_flags()) f_type = util.get_type(field.get_descriptor()) source.append(' ') if access: source.append(' '.join(access)) source.append(' ') init_value = field.get_init_value() if init_value: value = init_value.value if f_type == 'String': if value: value = '"%s"' % value.encode("unicode-escape").decode("ascii") else: # FIXME we can not check if this value here is null or "" # In both cases we end up here... value = '""' elif field.proto == 'B': # byte value: convert from unsiged int to signed and print as hex # as bytes are signed in Java value = hex(struct.unpack("b", struct.pack("B", value))[0]) source.append('%s %s = %s;\n' % (f_type, name, value)) else: source.append('%s %s;\n' % (f_type, name)) for method in self.methods: if isinstance(method, DvMethod): source.append(method.get_source()) source.append('}\n') return ''.join(source) def get_source_ext(self): source = [] if not self.inner and self.package: source.append( ('PACKAGE', [('PACKAGE_START', 'package '), ( 'NAME_PACKAGE', '%s' % self.package), ('PACKAGE_END', ';\n') ])) list_proto = [('PROTOTYPE_ACCESS', '%s class ' % ' '.join(self.access)), ('NAME_PROTOTYPE', '%s' % self.name, self.package)] superclass = self.superclass if superclass is not None and superclass != 'Ljava/lang/Object;': superclass = superclass[1:-1].replace('/', '.') list_proto.append(('EXTEND', ' extends ')) list_proto.append(('NAME_SUPERCLASS', '%s' % superclass)) if len(self.interfaces) > 0: list_proto.append(('IMPLEMENTS', ' implements ')) for i, interface in enumerate(self.interfaces): if i != 0: list_proto.append(('COMMA', ', ')) list_proto.append( ('NAME_INTERFACE', interface[1:-1].replace('/', '.'))) list_proto.append(('PROTOTYPE_END', ' {\n')) source.append(("PROTOTYPE", list_proto)) for field in self.fields: field_access_flags = field.get_access_flags() access = [util.ACCESS_FLAGS_FIELDS[flag] for flag in util.ACCESS_FLAGS_FIELDS if flag & field_access_flags] f_type = util.get_type(field.get_descriptor()) name = field.get_name() if access: access_str = ' %s ' % ' '.join(access) else: access_str = ' ' value = None init_value = field.get_init_value() if init_value: value = init_value.value if f_type == 'String': if value: value = ' = "%s"' % value.encode("unicode-escape").decode("ascii") else: # FIXME we can not check if this value here is null or "" # In both cases we end up here... value = ' = ""' elif field.proto == 'B': # a byte value = ' = %s' % hex(struct.unpack("b", struct.pack("B", value))[0]) else: value = ' = %s' % str(value) if value: source.append( ('FIELD', [('FIELD_ACCESS', access_str), ( 'FIELD_TYPE', '%s' % f_type), ('SPACE', ' '), ( 'NAME_FIELD', '%s' % name, f_type, field), ('FIELD_VALUE', value), ('FIELD_END', ';\n')])) else: source.append( ('FIELD', [('FIELD_ACCESS', access_str), ( 'FIELD_TYPE', '%s' % f_type), ('SPACE', ' '), ( 'NAME_FIELD', '%s' % name, f_type, field), ('FIELD_END', ';\n')])) for method in self.methods: if isinstance(method, DvMethod): source.append(("METHOD", method.get_source_ext())) source.append(("CLASS_END", [('CLASS_END', '}\n')])) return source def show_source(self): print(self.get_source()) def __repr__(self): return 'Class(%s)' % self.name class DvMachine(object): def __init__(self, name): vm = auto_vm(name) if vm is None: raise ValueError('Format not recognised: %s' % name) self.vma = analysis.Analysis(vm) self.classes = dict((dvclass.get_name(), dvclass) for dvclass in vm.get_classes()) # util.merge_inner(self.classes) def get_classes(self): return list(self.classes.keys()) def get_class(self, class_name): for name, klass in self.classes.items(): if class_name in name: if isinstance(klass, DvClass): return klass dvclass = self.classes[name] = DvClass(klass, self.vma) return dvclass def process(self): for name, klass in self.classes.items(): logger.info('Processing class: %s', name) if isinstance(klass, DvClass): klass.process() else: dvclass = self.classes[name] = DvClass(klass, self.vma) dvclass.process() def show_source(self): for klass in self.classes.values(): klass.show_source() def process_and_show(self): for name, klass in sorted(self.classes.items()): logger.info('Processing class: %s', name) if not isinstance(klass, DvClass): klass = DvClass(klass, self.vma) klass.process() klass.show_source() logger = logging.getLogger('dad') sys.setrecursionlimit(5000) def main(): # logger.setLevel(logging.DEBUG) for debugging output # comment the line to disable the logging. logger.setLevel(logging.INFO) console_hdlr = logging.StreamHandler(sys.stdout) console_hdlr.setFormatter(logging.Formatter('%(levelname)s: %(message)s')) logger.addHandler(console_hdlr) default_file = 'examples/android/TestsAndroguard/bin/TestActivity.apk' if len(sys.argv) > 1: machine = DvMachine(sys.argv[1]) else: machine = DvMachine(default_file) logger.info('========================') logger.info('Classes:') for class_name in sorted(machine.get_classes()): logger.info(' %s', class_name) logger.info('========================') cls_name = input('Choose a class: ') if cls_name == '*': machine.process_and_show() else: cls = machine.get_class(cls_name) if cls is None: logger.error('%s not found.', cls_name) else: logger.info('======================') for i, method in enumerate(cls.get_methods()): logger.info('%d: %s', i, method.name) logger.info('======================') meth = input('Method: ') if meth == '*': logger.info('CLASS = %s', cls) cls.process() else: cls.process_method(int(meth)) logger.info('Source:') logger.info('===========================') cls.show_source() if __name__ == '__main__': main() androguard-3.1.0-rc2/androguard/decompiler/dad/graph.py000066400000000000000000000410561324327352200230120ustar00rootroot00000000000000from __future__ import division import logging from collections import defaultdict from builtins import object from builtins import range # This file is part of Androguard. # # Copyright (c) 2012 Geoffroy Gueguen # All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS-IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. from builtins import str from androguard.decompiler.dad.basic_blocks import (build_node_from_block, StatementBlock, CondBlock) from androguard.decompiler.dad.instruction import Variable logger = logging.getLogger('dad.graph') class Graph(object): def __init__(self): self.entry = None self.exit = None self.nodes = list() self.rpo = [] self.edges = defaultdict(list) self.catch_edges = defaultdict(list) self.reverse_edges = defaultdict(list) self.reverse_catch_edges = defaultdict(list) self.loc_to_ins = None self.loc_to_node = None def sucs(self, node): return self.edges.get(node, []) def all_sucs(self, node): return self.edges.get(node, []) + self.catch_edges.get(node, []) def preds(self, node): return [n for n in self.reverse_edges.get(node, []) if not n.in_catch] def all_preds(self, node): return (self.reverse_edges.get(node, []) + self.reverse_catch_edges.get( node, [])) def add_node(self, node): self.nodes.append(node) def add_edge(self, e1, e2): lsucs = self.edges[e1] if e2 not in lsucs: lsucs.append(e2) lpreds = self.reverse_edges[e2] if e1 not in lpreds: lpreds.append(e1) def add_catch_edge(self, e1, e2): lsucs = self.catch_edges[e1] if e2 not in lsucs: lsucs.append(e2) lpreds = self.reverse_catch_edges[e2] if e1 not in lpreds: lpreds.append(e1) def remove_node(self, node): preds = self.reverse_edges.get(node, []) for pred in preds: self.edges[pred].remove(node) succs = self.edges.get(node, []) for suc in succs: self.reverse_edges[suc].remove(node) exc_preds = self.reverse_catch_edges.pop(node, []) for pred in exc_preds: self.catch_edges[pred].remove(node) exc_succs = self.catch_edges.pop(node, []) for suc in exc_succs: self.reverse_catch_edges[suc].remove(node) self.nodes.remove(node) if node in self.rpo: self.rpo.remove(node) del node def number_ins(self): self.loc_to_ins = {} self.loc_to_node = {} num = 0 for node in self.rpo: start_node = num num = node.number_ins(num) end_node = num - 1 self.loc_to_ins.update(node.get_loc_with_ins()) self.loc_to_node[start_node, end_node] = node def get_ins_from_loc(self, loc): return self.loc_to_ins.get(loc) def get_node_from_loc(self, loc): for (start, end), node in self.loc_to_node.items(): if start <= loc <= end: return node def remove_ins(self, loc): ins = self.get_ins_from_loc(loc) self.get_node_from_loc(loc).remove_ins(loc, ins) self.loc_to_ins.pop(loc) def compute_rpo(self): """ Number the nodes in reverse post order. An RPO traversal visit as many predecessors of a node as possible before visiting the node itself. """ nb = len(self.nodes) + 1 for node in self.post_order(): node.num = nb - node.po self.rpo = sorted(self.nodes, key=lambda n: n.num) def post_order(self): """ Return the nodes of the graph in post-order i.e we visit all the children of a node before visiting the node itself. """ def _visit(n, cnt): visited.add(n) for suc in self.all_sucs(n): if suc not in visited: for cnt, s in _visit(suc, cnt): yield cnt, s n.po = cnt yield cnt + 1, n visited = set() for _, node in _visit(self.entry, 1): yield node def draw(self, name, dname, draw_branches=True): from pydot import Dot, Edge g = Dot() g.set_node_defaults(color='lightgray', style='filled', shape='box', fontname='Courier', fontsize='10') for node in sorted(self.nodes, key=lambda x: x.num): if draw_branches and node.type.is_cond: g.add_edge(Edge(str(node), str(node.true), color='green')) g.add_edge(Edge(str(node), str(node.false), color='red')) else: for suc in self.sucs(node): g.add_edge(Edge(str(node), str(suc), color='blue')) for except_node in self.catch_edges.get(node, []): g.add_edge(Edge(str(node), str(except_node), color='black', style='dashed')) g.write_png('%s/%s.png' % (dname, name)) def immediate_dominators(self): return dom_lt(self) def __len__(self): return len(self.nodes) def __repr__(self): return str(self.nodes) def __iter__(self): for node in self.nodes: yield node def split_if_nodes(graph): """ Split IfNodes in two nodes, the first node is the header node, the second one is only composed of the jump condition. """ node_map = {n: n for n in graph} to_update = set() for node in graph.nodes[:]: if node.type.is_cond: if len(node.get_ins()) > 1: pre_ins = node.get_ins()[:-1] last_ins = node.get_ins()[-1] pre_node = StatementBlock('%s-pre' % node.name, pre_ins) cond_node = CondBlock('%s-cond' % node.name, [last_ins]) node_map[node] = pre_node node_map[pre_node] = pre_node node_map[cond_node] = cond_node pre_node.copy_from(node) cond_node.copy_from(node) for var in node.var_to_declare: pre_node.add_variable_declaration(var) pre_node.type.is_stmt = True cond_node.true = node.true cond_node.false = node.false for pred in graph.all_preds(node): pred_node = node_map[pred] # Verify that the link is not an exception link if node not in graph.sucs(pred): graph.add_catch_edge(pred_node, pre_node) continue if pred is node: pred_node = cond_node if pred.type.is_cond: # and not (pred is node): if pred.true is node: pred_node.true = pre_node if pred.false is node: pred_node.false = pre_node graph.add_edge(pred_node, pre_node) for suc in graph.sucs(node): graph.add_edge(cond_node, node_map[suc]) # We link all the exceptions to the pre node instead of the # condition node, which should not trigger any of them. for suc in graph.catch_edges.get(node, []): graph.add_catch_edge(pre_node, node_map[suc]) if node is graph.entry: graph.entry = pre_node graph.add_node(pre_node) graph.add_node(cond_node) graph.add_edge(pre_node, cond_node) pre_node.update_attribute_with(node_map) cond_node.update_attribute_with(node_map) graph.remove_node(node) else: to_update.add(node) for node in to_update: node.update_attribute_with(node_map) def simplify(graph): """ Simplify the CFG by merging/deleting statement nodes when possible: If statement B follows statement A and if B has no other predecessor besides A, then we can merge A and B into a new statement node. We also remove nodes which do nothing except redirecting the control flow (nodes which only contains a goto). """ redo = True while redo: redo = False node_map = {} to_update = set() for node in graph.nodes[:]: if node.type.is_stmt and node in graph: sucs = graph.all_sucs(node) if len(sucs) != 1: continue suc = sucs[0] if len(node.get_ins()) == 0: if any(pred.type.is_switch for pred in graph.all_preds(node)): continue if node is suc: continue node_map[node] = suc for pred in graph.all_preds(node): pred.update_attribute_with(node_map) if node not in graph.sucs(pred): graph.add_catch_edge(pred, suc) continue graph.add_edge(pred, suc) redo = True if node is graph.entry: graph.entry = suc graph.remove_node(node) elif (suc.type.is_stmt and len(graph.all_preds(suc)) == 1 and not (suc in graph.catch_edges) and not ( (node is suc) or (suc is graph.entry))): ins_to_merge = suc.get_ins() node.add_ins(ins_to_merge) for var in suc.var_to_declare: node.add_variable_declaration(var) new_suc = graph.sucs(suc)[0] if new_suc: graph.add_edge(node, new_suc) for exception_suc in graph.catch_edges.get(suc, []): graph.add_catch_edge(node, exception_suc) redo = True graph.remove_node(suc) else: to_update.add(node) for node in to_update: node.update_attribute_with(node_map) def dom_lt(graph): """Dominator algorithm from Lengaeur-Tarjan""" def _dfs(v, n): semi[v] = n = n + 1 vertex[n] = label[v] = v ancestor[v] = 0 for w in graph.all_sucs(v): if not semi[w]: parent[w] = v n = _dfs(w, n) pred[w].add(v) return n def _compress(v): u = ancestor[v] if ancestor[u]: _compress(u) if semi[label[u]] < semi[label[v]]: label[v] = label[u] ancestor[v] = ancestor[u] def _eval(v): if ancestor[v]: _compress(v) return label[v] return v def _link(v, w): ancestor[w] = v parent, ancestor, vertex = {}, {}, {} label, dom = {}, {} pred, bucket = defaultdict(set), defaultdict(set) # Step 1: semi = {v: 0 for v in graph.nodes} n = _dfs(graph.entry, 0) for i in range(n, 1, -1): w = vertex[i] # Step 2: for v in pred[w]: u = _eval(v) y = semi[w] = min(semi[w], semi[u]) bucket[vertex[y]].add(w) pw = parent[w] _link(pw, w) # Step 3: bpw = bucket[pw] while bpw: v = bpw.pop() u = _eval(v) dom[v] = u if semi[u] < semi[v] else pw # Step 4: for i in range(2, n + 1): w = vertex[i] dw = dom[w] if dw != vertex[semi[w]]: dom[w] = dom[dw] dom[graph.entry] = None return dom def bfs(start): to_visit = [start] visited = set([start]) while to_visit: node = to_visit.pop(0) yield node if node.exception_analysis: for _, _, exception in node.exception_analysis.exceptions: if exception not in visited: to_visit.append(exception) visited.add(exception) for _, _, child in node.childs: if child not in visited: to_visit.append(child) visited.add(child) class GenInvokeRetName(object): def __init__(self): self.num = 0 self.ret = None def new(self): self.num += 1 self.ret = Variable('tmp%d' % self.num) return self.ret def set_to(self, ret): self.ret = ret def last(self): return self.ret def make_node(graph, block, block_to_node, vmap, gen_ret): node = block_to_node.get(block) if node is None: node = build_node_from_block(block, vmap, gen_ret) block_to_node[block] = node if block.exception_analysis: for _type, _, exception_target in block.exception_analysis.exceptions: exception_node = block_to_node.get(exception_target) if exception_node is None: exception_node = build_node_from_block(exception_target, vmap, gen_ret, _type) exception_node.set_catch_type(_type) exception_node.in_catch = True block_to_node[exception_target] = exception_node graph.add_catch_edge(node, exception_node) for _, _, child_block in block.childs: child_node = block_to_node.get(child_block) if child_node is None: child_node = build_node_from_block(child_block, vmap, gen_ret) block_to_node[child_block] = child_node graph.add_edge(node, child_node) if node.type.is_switch: node.add_case(child_node) if node.type.is_cond: if_target = ((block.end // 2) - (block.last_length // 2) + node.off_last_ins) child_addr = child_block.start // 2 if if_target == child_addr: node.true = child_node else: node.false = child_node # Check that both branch of the if point to something # It may happen that both branch point to the same node, in this case # the false branch will be None. So we set it to the right node. # TODO: In this situation, we should transform the condition node into # a statement node if node.type.is_cond and node.false is None: node.false = node.true return node def construct(start_block, vmap, exceptions): bfs_blocks = bfs(start_block) graph = Graph() gen_ret = GenInvokeRetName() # Construction of a mapping of basic blocks into Nodes block_to_node = {} exceptions_start_block = [] for exception in exceptions: for _, _, block in exception.exceptions: exceptions_start_block.append(block) for block in bfs_blocks: node = make_node(graph, block, block_to_node, vmap, gen_ret) graph.add_node(node) graph.entry = block_to_node[start_block] del block_to_node, bfs_blocks graph.compute_rpo() graph.number_ins() for node in graph.rpo: preds = [pred for pred in graph.all_preds(node) if pred.num < node.num] if preds and all(pred.in_catch for pred in preds): node.in_catch = True # Create a list of Node which are 'return' node # There should be one and only one node of this type # If this is not the case, try to continue anyway by setting the exit node # to the one which has the greatest RPO number (not necessarily the case) lexit_nodes = [node for node in graph if node.type.is_return] if len(lexit_nodes) > 1: # Not sure that this case is possible... logger.error('Multiple exit nodes found !') graph.exit = graph.rpo[-1] elif len(lexit_nodes) < 1: # A method can have no return if it has throw statement(s) or if its # body is a while(1) whitout break/return. logger.debug('No exit node found !') else: graph.exit = lexit_nodes[0] return graph androguard-3.1.0-rc2/androguard/decompiler/dad/instruction.py000066400000000000000000001133301324327352200242650ustar00rootroot00000000000000# This file is part of Androguard. # # Copyright (C) 2012, Geoffroy Gueguen # All rights reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS-IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. from builtins import object import androguard.decompiler.dad.util as util class IRForm(object): def __init__(self): self.var_map = {} self.type = None def is_call(self): return False def is_cond(self): return False def is_const(self): return False def is_ident(self): return False def is_propagable(self): return True def get_type(self): return self.type def set_type(self, _type): self.type = _type def has_side_effect(self): return False def get_used_vars(self): return [] def replace(self, old, new): raise NotImplementedError('replace not implemented in %r' % self) def replace_lhs(self, new): raise NotImplementedError('replace_lhs not implemented in %r' % self) def replace_var(self, old, new): raise NotImplementedError('replace_var not implemented in %r' % self) def remove_defined_var(self): pass def get_rhs(self): return [] def get_lhs(self): return None def visit(self, visitor): pass class Constant(IRForm): def __init__(self, value, atype, int_value=None, descriptor=None): self.v = 'c%s' % value self.cst = value if int_value is None: self.cst2 = value else: self.cst2 = int_value self.type = atype self.clsdesc = descriptor def get_used_vars(self): return [] def is_const(self): return True def get_int_value(self): return self.cst2 def get_type(self): return self.type def visit(self, visitor): if self.type == 'Z': if self.cst == 0: return visitor.visit_constant('false') else: return visitor.visit_constant('true') elif self.type == 'Ljava/lang/Class;': return visitor.visit_base_class(self.cst, data=self.cst) elif self.type in 'IJB': return visitor.visit_constant(self.cst2) else: return visitor.visit_constant(self.cst) def __str__(self): return 'CST_%s' % repr(self.cst) class BaseClass(IRForm): def __init__(self, name, descriptor=None): self.v = 'c%s' % name self.cls = name self.clsdesc = descriptor def is_const(self): return True def visit(self, visitor): return visitor.visit_base_class(self.cls, data=self.cls) def __str__(self): return 'BASECLASS_%s' % self.cls class Variable(IRForm): def __init__(self, value): self.v = value self.declared = False self.type = None self.name = value def get_used_vars(self): return [self.v] def is_ident(self): return True def value(self): return self.v def visit(self, visitor): return visitor.visit_variable(self) def visit_decl(self, visitor): return visitor.visit_decl(self) def __str__(self): return 'VAR_%s' % self.name class Param(Variable): def __init__(self, value, atype): super(Param, self).__init__(value) self.declared = True self.type = atype self.this = False def is_const(self): return True def visit(self, visitor): return visitor.visit_param(self.v, data=self.type) def __str__(self): return 'PARAM_%s' % self.name class ThisParam(Param): def __init__(self, value, atype): super(ThisParam, self).__init__(value, atype) self.this = True self.super = False def visit(self, visitor): if self.super: return visitor.visit_super() return visitor.visit_this() def __str__(self): return 'THIS' class AssignExpression(IRForm): def __init__(self, lhs, rhs): super(AssignExpression, self).__init__() if lhs: self.lhs = lhs.v self.var_map[lhs.v] = lhs lhs.set_type(rhs.get_type()) else: self.lhs = None self.rhs = rhs def is_propagable(self): return self.rhs.is_propagable() def is_call(self): return self.rhs.is_call() def has_side_effect(self): return self.rhs.has_side_effect() def get_rhs(self): return self.rhs def get_lhs(self): return self.lhs def get_used_vars(self): return self.rhs.get_used_vars() def remove_defined_var(self): self.lhs = None def replace(self, old, new): self.rhs.replace(old, new) def replace_lhs(self, new): self.lhs = new.v self.var_map[new.v] = new def replace_var(self, old, new): self.rhs.replace_var(old, new) def visit(self, visitor): return visitor.visit_assign(self.var_map.get(self.lhs), self.rhs) def __str__(self): return 'ASSIGN(%s, %s)' % (self.var_map.get(self.lhs), self.rhs) class MoveExpression(IRForm): def __init__(self, lhs, rhs): super(MoveExpression, self).__init__() self.lhs = lhs.v self.rhs = rhs.v self.var_map.update([(lhs.v, lhs), (rhs.v, rhs)]) lhs.set_type(rhs.get_type()) def has_side_effect(self): return False def is_call(self): return self.var_map[self.rhs].is_call() def get_used_vars(self): return self.var_map[self.rhs].get_used_vars() def get_rhs(self): return self.var_map[self.rhs] def get_lhs(self): return self.lhs def visit(self, visitor): v_m = self.var_map return visitor.visit_move(v_m[self.lhs], v_m[self.rhs]) def replace(self, old, new): v_m = self.var_map rhs = v_m[self.rhs] if not (rhs.is_const() or rhs.is_ident()): rhs.replace(old, new) else: if new.is_ident(): v_m[new.value()] = new self.rhs = new.value() else: v_m[old] = new def replace_lhs(self, new): if self.lhs != self.rhs: self.var_map.pop(self.lhs) self.lhs = new.v self.var_map[new.v] = new def replace_var(self, old, new): if self.lhs != old: self.var_map.pop(old) self.rhs = new.v self.var_map[new.v] = new def __str__(self): v_m = self.var_map return '%s = %s' % (v_m.get(self.lhs), v_m.get(self.rhs)) class MoveResultExpression(MoveExpression): def __init__(self, lhs, rhs): super(MoveResultExpression, self).__init__(lhs, rhs) def is_propagable(self): return self.var_map[self.rhs].is_propagable() def has_side_effect(self): return self.var_map[self.rhs].has_side_effect() def visit(self, visitor): v_m = self.var_map return visitor.visit_move_result(v_m[self.lhs], v_m[self.rhs]) def __str__(self): v_m = self.var_map return '%s = %s' % (v_m.get(self.lhs), v_m.get(self.rhs)) class ArrayStoreInstruction(IRForm): def __init__(self, rhs, array, index, _type): super(ArrayStoreInstruction, self).__init__() self.rhs = rhs.v self.array = array.v self.index = index.v self.var_map.update([(rhs.v, rhs), (array.v, array), (index.v, index)]) self.type = _type def has_side_effect(self): return True def get_used_vars(self): v_m = self.var_map lused_vars = v_m[self.array].get_used_vars() lused_vars.extend(v_m[self.index].get_used_vars()) lused_vars.extend(v_m[self.rhs].get_used_vars()) return list(set(lused_vars)) def visit(self, visitor): v_m = self.var_map return visitor.visit_astore(v_m[self.array], v_m[self.index], v_m[self.rhs], data=self) def replace_var(self, old, new): if self.rhs == old: self.rhs = new.v if self.array == old: self.array = new.v if self.index == old: self.index = new.v self.var_map.pop(old) self.var_map[new.v] = new def replace(self, old, new): v_m = self.var_map if old in v_m: arg = v_m[old] if not (arg.is_const() or arg.is_ident()): arg.replace(old, new) else: if new.is_ident(): v_m[new.value()] = new if self.rhs == old: self.rhs = new.value() if self.array == old: self.array = new.value() if self.index == old: self.array = new.value() else: v_m[old] = new else: for arg in (v_m[self.array], v_m[self.index], v_m[self.rhs]): if not (arg.is_const() or arg.is_ident()): arg.replace(old, new) def __str__(self): v_m = self.var_map return '%s[%s] = %s' % (v_m[self.array], v_m[self.index], v_m[self.rhs]) class StaticInstruction(IRForm): def __init__(self, rhs, klass, ftype, name): super(StaticInstruction, self).__init__() self.rhs = rhs.v self.cls = util.get_type(klass) self.ftype = ftype self.name = name self.var_map[rhs.v] = rhs self.clsdesc = klass def has_side_effect(self): return True def get_used_vars(self): return self.var_map[self.rhs].get_used_vars() def get_lhs(self): return None def visit(self, visitor): return visitor.visit_put_static( self.cls, self.name, self.var_map[self.rhs]) def replace_var(self, old, new): self.rhs = new.v self.var_map.pop(old) self.var_map[new.v] = new def replace(self, old, new): v_m = self.var_map rhs = v_m[self.rhs] if not (rhs.is_const() or rhs.is_ident()): rhs.replace(old, new) else: if new.is_ident(): v_m[new.value()] = new self.rhs = new.value() else: v_m[old] = new def __str__(self): return '%s.%s = %s' % (self.cls, self.name, self.var_map[self.rhs]) class InstanceInstruction(IRForm): def __init__(self, rhs, lhs, klass, atype, name): super(InstanceInstruction, self).__init__() self.lhs = lhs.v self.rhs = rhs.v self.atype = atype self.cls = util.get_type(klass) self.name = name self.var_map.update([(lhs.v, lhs), (rhs.v, rhs)]) self.clsdesc = klass def has_side_effect(self): return True def get_used_vars(self): v_m = self.var_map lused_vars = v_m[self.lhs].get_used_vars() lused_vars.extend(v_m[self.rhs].get_used_vars()) return list(set(lused_vars)) def get_lhs(self): return None def visit(self, visitor): v_m = self.var_map return visitor.visit_put_instance( v_m[self.lhs], self.name, v_m[self.rhs], data=self.atype) def replace_var(self, old, new): if self.lhs == old: self.lhs = new.v if self.rhs == old: self.rhs = new.v self.var_map.pop(old) self.var_map[new.v] = new def replace(self, old, new): v_m = self.var_map if old in v_m: arg = v_m[old] if not (arg.is_const() or arg.is_ident()): arg.replace(old, new) else: if new.is_ident(): v_m[new.value()] = new if self.lhs == old: self.lhs = new.value() if self.rhs == old: self.rhs = new.value() else: v_m[old] = new else: for arg in (v_m[self.lhs], v_m[self.rhs]): if not (arg.is_const() or arg.is_ident()): arg.replace(old, new) def __str__(self): v_m = self.var_map return '%s.%s = %s' % (v_m[self.lhs], self.name, v_m[self.rhs]) class NewInstance(IRForm): def __init__(self, ins_type): super(NewInstance, self).__init__() self.type = ins_type def get_type(self): return self.type def get_used_vars(self): return [] def visit(self, visitor): return visitor.visit_new(self.type, data=self) def replace(self, old, new): pass def __str__(self): return 'NEW(%s)' % self.type class InvokeInstruction(IRForm): def __init__(self, clsname, name, base, rtype, ptype, args, triple): super(InvokeInstruction, self).__init__() self.cls = clsname self.name = name self.base = base.v self.rtype = rtype self.ptype = ptype self.args = [arg.v for arg in args] self.var_map[base.v] = base for arg in args: self.var_map[arg.v] = arg self.triple = triple assert (triple[1] == name) def get_type(self): if self.name == '': return self.var_map[self.base].get_type() return self.rtype def is_call(self): return True def has_side_effect(self): return True def replace_var(self, old, new): if self.base == old: self.base = new.v new_args = [] for arg in self.args: if arg != old: new_args.append(arg) else: new_args.append(new.v) self.args = new_args self.var_map.pop(old) self.var_map[new.v] = new def replace(self, old, new): v_m = self.var_map if old in v_m: arg = v_m[old] if not (arg.is_ident() or arg.is_const()): arg.replace(old, new) else: if new.is_ident(): v_m[new.value()] = new if self.base == old: self.base = new.value() new_args = [] for arg in self.args: if arg != old: new_args.append(arg) else: new_args.append(new.v) self.args = new_args else: v_m[old] = new else: base = v_m[self.base] if not (base.is_ident() or base.is_const()): base.replace(old, new) for arg in self.args: cnt = v_m[arg] if not (cnt.is_ident() or cnt.is_const()): cnt.replace(old, new) def get_used_vars(self): v_m = self.var_map lused_vars = [] for arg in self.args: lused_vars.extend(v_m[arg].get_used_vars()) lused_vars.extend(v_m[self.base].get_used_vars()) return list(set(lused_vars)) def visit(self, visitor): v_m = self.var_map largs = [v_m[arg] for arg in self.args] return visitor.visit_invoke(self.name, v_m[self.base], self.ptype, self.rtype, largs, self) def __str__(self): v_m = self.var_map return '%s.%s(%s)' % (v_m[self.base], self.name, ', '.join('%s' % v_m[i] for i in self.args)) class InvokeRangeInstruction(InvokeInstruction): def __init__(self, clsname, name, rtype, ptype, args, triple): base = args.pop(0) super(InvokeRangeInstruction, self).__init__(clsname, name, base, rtype, ptype, args, triple) class InvokeDirectInstruction(InvokeInstruction): def __init__(self, clsname, name, base, rtype, ptype, args, triple): super(InvokeDirectInstruction, self).__init__( clsname, name, base, rtype, ptype, args, triple) class InvokeStaticInstruction(InvokeInstruction): def __init__(self, clsname, name, base, rtype, ptype, args, triple): super(InvokeStaticInstruction, self).__init__( clsname, name, base, rtype, ptype, args, triple) def get_used_vars(self): v_m = self.var_map lused_vars = [] for arg in self.args: lused_vars.extend(v_m[arg].get_used_vars()) return list(set(lused_vars)) class ReturnInstruction(IRForm): def __init__(self, arg): super(ReturnInstruction, self).__init__() self.arg = arg if arg is not None: self.var_map[arg.v] = arg self.arg = arg.v def get_used_vars(self): if self.arg is None: return [] return self.var_map[self.arg].get_used_vars() def get_lhs(self): return None def visit(self, visitor): if self.arg is None: return visitor.visit_return_void() else: return visitor.visit_return(self.var_map[self.arg]) def replace_var(self, old, new): self.arg = new.v self.var_map.pop(old) self.var_map[new.v] = new def replace(self, old, new): v_m = self.var_map arg = v_m[self.arg] if not (arg.is_const() or arg.is_ident()): arg.replace(old, new) else: if new.is_ident(): v_m[new.value()] = new self.arg = new.value() else: v_m[old] = new def __str__(self): if self.arg is not None: return 'RETURN(%s)' % self.var_map.get(self.arg) return 'RETURN' class NopExpression(IRForm): def __init__(self): pass def get_used_vars(self): return [] def get_lhs(self): return None def visit(self, visitor): return visitor.visit_nop() class SwitchExpression(IRForm): def __init__(self, src, branch): super(SwitchExpression, self).__init__() self.src = src.v self.branch = branch self.var_map[src.v] = src def get_used_vars(self): return self.var_map[self.src].get_used_vars() def visit(self, visitor): return visitor.visit_switch(self.var_map[self.src]) def replace_var(self, old, new): self.src = new.v self.var_map.pop(old) self.var_map[new.v] = new def replace(self, old, new): v_m = self.var_map src = v_m[self.src] if not (src.is_const() or src.is_ident()): src.replace(old, new) else: if new.is_ident(): v_m[new.value()] = new self.src = new.value() else: v_m[old] = new def __str__(self): return 'SWITCH(%s)' % (self.var_map[self.src]) class CheckCastExpression(IRForm): def __init__(self, arg, _type, descriptor=None): super(CheckCastExpression, self).__init__() self.arg = arg.v self.var_map[arg.v] = arg self.type = descriptor self.clsdesc = descriptor def is_const(self): return self.var_map[self.arg].is_const() def get_used_vars(self): return self.var_map[self.arg].get_used_vars() def visit(self, visitor): return visitor.visit_check_cast(self.var_map[self.arg], util.get_type(self.type)) def replace_var(self, old, new): self.arg = new.v self.var_map.pop(old) self.var_map[new.v] = new def replace(self, old, new): v_m = self.var_map arg = v_m[self.arg] if not (arg.is_const() or arg.is_ident()): arg.replace(old, new) else: if new.is_ident(): v_m[new.value()] = new self.arg = new.value() else: v_m[old] = new def __str__(self): return 'CAST(%s) %s' % (self.type, self.var_map[self.arg]) class ArrayExpression(IRForm): def __init__(self): super(ArrayExpression, self).__init__() class ArrayLoadExpression(ArrayExpression): def __init__(self, arg, index, _type): super(ArrayLoadExpression, self).__init__() self.array = arg.v self.idx = index.v self.var_map.update([(arg.v, arg), (index.v, index)]) self.type = _type def get_used_vars(self): v_m = self.var_map lused_vars = v_m[self.array].get_used_vars() lused_vars.extend(v_m[self.idx].get_used_vars()) return list(set(lused_vars)) def visit(self, visitor): v_m = self.var_map return visitor.visit_aload(v_m[self.array], v_m[self.idx]) def get_type(self): return self.var_map[self.array].get_type().replace('[', '', 1) def replace_var(self, old, new): if self.array == old: self.array = new.v if self.idx == old: self.idx = new.v self.var_map.pop(old) self.var_map[new.v] = new def replace(self, old, new): v_m = self.var_map if old in v_m: arg = v_m[old] if not (arg.is_ident() or arg.is_const()): arg.replace(old, new) else: if new.is_ident(): v_m[new.value()] = new if self.array == old: self.array = new.value() if self.idx == old: self.idx = new.value() else: v_m[old] = new else: for arg in (self.array, self.idx): cnt = v_m[arg] if not (cnt.is_ident() or cnt.is_const()): cnt.replace(old, new) def __str__(self): v_m = self.var_map return 'ARRAYLOAD(%s, %s)' % (v_m[self.array], v_m[self.idx]) class ArrayLengthExpression(ArrayExpression): def __init__(self, array): super(ArrayLengthExpression, self).__init__() self.array = array.v self.var_map[array.v] = array def get_type(self): return 'I' def get_used_vars(self): return self.var_map[self.array].get_used_vars() def visit(self, visitor): return visitor.visit_alength(self.var_map[self.array]) def replace_var(self, old, new): self.array = new.v self.var_map.pop(old) self.var_map[new.v] = new def replace(self, old, new): v_m = self.var_map array = v_m[self.array] if not (array.is_const() or array.is_ident()): array.replace(old, new) else: if new.is_ident(): v_m[new.value()] = new self.array = new.value() else: v_m[old] = new def __str__(self): return 'ARRAYLEN(%s)' % (self.var_map[self.array]) class NewArrayExpression(ArrayExpression): def __init__(self, asize, atype): super(NewArrayExpression, self).__init__() self.size = asize.v self.type = atype self.var_map[asize.v] = asize def is_propagable(self): return False def get_used_vars(self): return self.var_map[self.size].get_used_vars() def visit(self, visitor): return visitor.visit_new_array(self.type, self.var_map[self.size]) def replace_var(self, old, new): self.size = new.v self.var_map.pop(old) self.var_map[new.v] = new def replace(self, old, new): v_m = self.var_map size = v_m[self.size] if not (size.is_const() or size.is_ident()): size.replace(old, new) else: if new.is_ident(): v_m[new.value()] = new self.size = new.value() else: v_m[old] = new def __str__(self): return 'NEWARRAY_%s[%s]' % (self.type, self.var_map[self.size]) class FilledArrayExpression(ArrayExpression): def __init__(self, asize, atype, args): super(FilledArrayExpression, self).__init__() self.size = asize self.type = atype self.args = [] for arg in args: self.var_map[arg.v] = arg self.args.append(arg.v) def get_used_vars(self): lused_vars = [] for arg in self.args: lused_vars.extend(self.var_map[arg].get_used_vars()) return list(set(lused_vars)) def replace_var(self, old, new): new_args = [] for arg in self.args: if arg == old: new_args.append(new.v) else: new_args.append(arg) self.args = new_args self.var_map.pop(old) self.var_map[new.v] = new def replace(self, old, new): v_m = self.var_map if old in v_m: arg = v_m[old] if not (arg.is_ident() or arg.is_const()): arg.replace(old, new) else: if new.is_ident(): v_m[new.value()] = new new_args = [] for arg in self.args: if arg == old: new_args.append(new.v) else: new_args.append(arg) self.args = new_args else: v_m[old] = new else: for arg in self.args: cnt = v_m[arg] if not (cnt.is_ident() or cnt.is_const()): cnt.replace(old, new) def visit(self, visitor): v_m = self.var_map largs = [v_m[arg] for arg in self.args] return visitor.visit_filled_new_array(self.type, self.size, largs) class FillArrayExpression(ArrayExpression): def __init__(self, reg, value): super(FillArrayExpression, self).__init__() self.reg = reg.v self.var_map[reg.v] = reg self.value = value def is_propagable(self): return False def get_rhs(self): return self.reg def replace_var(self, old, new): self.reg = new.v self.var_map.pop(old) self.var_map[new.v] = new def replace(self, old, new): v_m = self.var_map reg = v_m[self.reg] if not (reg.is_const() or reg.is_ident()): reg.replace(old, new) else: if new.is_ident(): v_m[new.value()] = new self.reg = new.value() else: v_m[old] = new def get_used_vars(self): return self.var_map[self.reg].get_used_vars() def visit(self, visitor): return visitor.visit_fill_array(self.var_map[self.reg], self.value) class RefExpression(IRForm): def __init__(self, ref): super(RefExpression, self).__init__() self.ref = ref.v self.var_map[ref.v] = ref def is_propagable(self): return False def get_used_vars(self): return self.var_map[self.ref].get_used_vars() def replace_var(self, old, new): self.ref = new.v self.var_map.pop(old) self.var_map[new.v] = new def replace(self, old, new): v_m = self.var_map ref = v_m[self.ref] if not (ref.is_const() or ref.is_ident()): ref.replace(old, new) else: if new.is_ident(): v_m[new.value()] = new self.ref = new.value() else: v_m[old] = new class MoveExceptionExpression(RefExpression): def __init__(self, ref, _type): super(MoveExceptionExpression, self).__init__(ref) self.type = _type ref.set_type(_type) def get_lhs(self): return self.ref def has_side_effect(self): return True def get_used_vars(self): return [] def replace_lhs(self, new): self.var_map.pop(self.ref) self.ref = new.v self.var_map[new.v] = new def visit(self, visitor): return visitor.visit_move_exception(self.var_map[self.ref], data=self) def __str__(self): return 'MOVE_EXCEPT %s' % self.var_map[self.ref] class MonitorEnterExpression(RefExpression): def __init__(self, ref): super(MonitorEnterExpression, self).__init__(ref) def visit(self, visitor): return visitor.visit_monitor_enter(self.var_map[self.ref]) class MonitorExitExpression(RefExpression): def __init__(self, ref): super(MonitorExitExpression, self).__init__(ref) def visit(self, visitor): return visitor.visit_monitor_exit(self.var_map[self.ref]) class ThrowExpression(RefExpression): def __init__(self, ref): super(ThrowExpression, self).__init__(ref) def visit(self, visitor): return visitor.visit_throw(self.var_map[self.ref]) def __str__(self): return 'Throw %s' % self.var_map[self.ref] class BinaryExpression(IRForm): def __init__(self, op, arg1, arg2, _type): super(BinaryExpression, self).__init__() self.op = op self.arg1 = arg1.v self.arg2 = arg2.v self.var_map.update([(arg1.v, arg1), (arg2.v, arg2)]) self.type = _type def has_side_effect(self): v_m = self.var_map return (v_m[self.arg1].has_side_effect() or v_m[self.arg2].has_side_effect()) def get_used_vars(self): v_m = self.var_map lused_vars = v_m[self.arg1].get_used_vars() lused_vars.extend(v_m[self.arg2].get_used_vars()) return list(set(lused_vars)) def visit(self, visitor): v_m = self.var_map return visitor.visit_binary_expression(self.op, v_m[self.arg1], v_m[self.arg2]) def replace_var(self, old, new): if self.arg1 == old: self.arg1 = new.v if self.arg2 == old: self.arg2 = new.v self.var_map.pop(old) self.var_map[new.v] = new def replace(self, old, new): v_m = self.var_map if old in v_m: arg = v_m[old] if not (arg.is_const() or arg.is_ident()): arg.replace(old, new) else: if new.is_ident(): v_m[new.value()] = new if self.arg1 == old: self.arg1 = new.value() if self.arg2 == old: self.arg2 = new.value() else: v_m[old] = new else: for arg in (v_m[self.arg1], v_m[self.arg2]): if not (arg.is_ident() or arg.is_const()): arg.replace(old, new) def __str__(self): v_m = self.var_map return '(%s %s %s)' % (self.op, v_m[self.arg1], v_m[self.arg2]) class BinaryCompExpression(BinaryExpression): def __init__(self, op, arg1, arg2, _type): super(BinaryCompExpression, self).__init__(op, arg1, arg2, _type) def visit(self, visitor): v_m = self.var_map return visitor.visit_cond_expression(self.op, v_m[self.arg1], v_m[self.arg2]) class BinaryExpression2Addr(BinaryExpression): def __init__(self, op, dest, arg, _type): super(BinaryExpression2Addr, self).__init__(op, dest, arg, _type) class BinaryExpressionLit(BinaryExpression): def __init__(self, op, arg1, arg2): super(BinaryExpressionLit, self).__init__(op, arg1, arg2, 'I') class UnaryExpression(IRForm): def __init__(self, op, arg, _type): super(UnaryExpression, self).__init__() self.op = op self.arg = arg.v self.var_map[arg.v] = arg self.type = _type def get_type(self): return self.var_map[self.arg].get_type() def get_used_vars(self): return self.var_map[self.arg].get_used_vars() def visit(self, visitor): return visitor.visit_unary_expression(self.op, self.var_map[self.arg]) def replace_var(self, old, new): self.arg = new.v self.var_map.pop(old) self.var_map[new.v] = new def replace(self, old, new): v_m = self.var_map arg = v_m[self.arg] if not (arg.is_const() or arg.is_ident()): arg.replace(old, new) elif old in v_m: if new.is_ident(): v_m[new.value()] = new self.arg = new.value() else: v_m[old] = new def __str__(self): return '(%s, %s)' % (self.op, self.var_map[self.arg]) class CastExpression(UnaryExpression): def __init__(self, op, atype, arg): super(CastExpression, self).__init__(op, arg, atype) self.clsdesc = atype def is_const(self): return self.var_map[self.arg].is_const() def get_type(self): return self.type def get_used_vars(self): return self.var_map[self.arg].get_used_vars() def visit(self, visitor): return visitor.visit_cast(self.op, self.var_map[self.arg]) def __str__(self): return 'CAST_%s(%s)' % (self.op, self.var_map[self.arg]) CONDS = {'==': '!=', '!=': '==', '<': '>=', '<=': '>', '>=': '<', '>': '<=', } class ConditionalExpression(IRForm): def __init__(self, op, arg1, arg2): super(ConditionalExpression, self).__init__() self.op = op self.arg1 = arg1.v self.arg2 = arg2.v self.var_map.update([(arg1.v, arg1), (arg2.v, arg2)]) def get_lhs(self): return None def is_cond(self): return True def get_used_vars(self): v_m = self.var_map lused_vars = v_m[self.arg1].get_used_vars() lused_vars.extend(v_m[self.arg2].get_used_vars()) return list(set(lused_vars)) def neg(self): self.op = CONDS[self.op] def visit(self, visitor): v_m = self.var_map return visitor.visit_cond_expression(self.op, v_m[self.arg1], v_m[self.arg2]) def replace_var(self, old, new): if self.arg1 == old: self.arg1 = new.v if self.arg2 == old: self.arg2 = new.v self.var_map.pop(old) self.var_map[new.v] = new def replace(self, old, new): v_m = self.var_map if old in v_m: arg = v_m[old] if not (arg.is_const() or arg.is_ident()): arg.replace(old, new) else: if new.is_ident(): v_m[new.value()] = new if self.arg1 == old: self.arg1 = new.value() if self.arg2 == old: self.arg2 = new.value() else: v_m[old] = new else: for arg in (v_m[self.arg1], v_m[self.arg2]): if not (arg.is_ident() or arg.is_const()): arg.replace(old, new) def __str__(self): v_m = self.var_map return 'COND(%s, %s, %s)' % (self.op, v_m[self.arg1], v_m[self.arg2]) class ConditionalZExpression(IRForm): def __init__(self, op, arg): super(ConditionalZExpression, self).__init__() self.op = op self.arg = arg.v self.var_map[arg.v] = arg def get_lhs(self): return None def is_cond(self): return True def get_used_vars(self): return self.var_map[self.arg].get_used_vars() def neg(self): self.op = CONDS[self.op] def visit(self, visitor): return visitor.visit_condz_expression(self.op, self.var_map[self.arg]) def replace_var(self, old, new): self.arg = new.v self.var_map.pop(old) self.var_map[new.v] = new def replace(self, old, new): v_m = self.var_map arg = v_m[self.arg] if not (arg.is_const() or arg.is_ident()): arg.replace(old, new) elif old in v_m: if new.is_ident(): v_m[new.value()] = new self.arg = new.value() else: v_m[old] = new def __str__(self): return '(IS%s0, %s)' % (self.op, self.var_map[self.arg]) class InstanceExpression(IRForm): def __init__(self, arg, klass, ftype, name): super(InstanceExpression, self).__init__() self.arg = arg.v self.cls = util.get_type(klass) self.ftype = ftype self.name = name self.var_map[arg.v] = arg self.clsdesc = klass def get_type(self): return self.ftype def get_used_vars(self): return self.var_map[self.arg].get_used_vars() def visit(self, visitor): return visitor.visit_get_instance( self.var_map[self.arg], self.name, data=self.ftype) def replace_var(self, old, new): self.arg = new.v self.var_map.pop(old) self.var_map[new.v] = new def replace(self, old, new): v_m = self.var_map arg = v_m[self.arg] if not (arg.is_const() or arg.is_ident()): arg.replace(old, new) elif old in v_m: if new.is_ident(): v_m[new.value()] = new self.arg = new.value() else: v_m[old] = new def __str__(self): return '%s.%s' % (self.var_map[self.arg], self.name) class StaticExpression(IRForm): def __init__(self, cls_name, field_type, field_name): super(StaticExpression, self).__init__() self.cls = util.get_type(cls_name) self.ftype = field_type self.name = field_name self.clsdesc = cls_name def get_type(self): return self.ftype def visit(self, visitor): return visitor.visit_get_static(self.cls, self.name) def replace(self, old, new): pass def __str__(self): return '%s.%s' % (self.cls, self.name) androguard-3.1.0-rc2/androguard/decompiler/dad/node.py000066400000000000000000000115201324327352200226270ustar00rootroot00000000000000# This file is part of Androguard. # # Copyright (c) 2012 Geoffroy Gueguen # All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS-IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. from builtins import object from future.utils import with_metaclass class MakeProperties(type): def __init__(cls, name, bases, dct): def _wrap_set(names, name): def fun(self, value): for field in names: self.__dict__[field] = (name == field) and value return fun def _wrap_get(name): def fun(self): return self.__dict__[name] return fun super(MakeProperties, cls).__init__(name, bases, dct) attrs = [] prefixes = ('_get_', '_set_') for key in list(dct.keys()): for prefix in prefixes: if key.startswith(prefix): attrs.append(key[4:]) delattr(cls, key) for attr in attrs: setattr(cls, attr[1:], property(_wrap_get(attr), _wrap_set(attrs, attr))) cls._attrs = attrs def __call__(cls, *args, **kwds): obj = super(MakeProperties, cls).__call__(*args, **kwds) for attr in cls._attrs: obj.__dict__[attr] = False return obj class LoopType(with_metaclass(MakeProperties, object)): _set_is_pretest = _set_is_posttest = _set_is_endless = None _get_is_pretest = _get_is_posttest = _get_is_endless = None def copy(self): res = LoopType() for key, value in self.__dict__.items(): setattr(res, key, value) return res class NodeType(with_metaclass(MakeProperties, object)): _set_is_cond = _set_is_switch = _set_is_stmt = None _get_is_cond = _get_is_switch = _get_is_stmt = None _set_is_return = _set_is_throw = None _get_is_return = _get_is_throw = None def copy(self): res = NodeType() for key, value in self.__dict__.items(): setattr(res, key, value) return res class Node(object): def __init__(self, name): self.name = name self.num = 0 self.follow = {'if': None, 'loop': None, 'switch': None} self.looptype = LoopType() self.type = NodeType() self.in_catch = False self.interval = None self.startloop = False self.latch = None self.loop_nodes = [] def copy_from(self, node): self.num = node.num self.looptype = node.looptype.copy() self.interval = node.interval self.startloop = node.startloop self.type = node.type.copy() self.follow = node.follow.copy() self.latch = node.latch self.loop_nodes = node.loop_nodes self.in_catch = node.in_catch def update_attribute_with(self, n_map): self.latch = n_map.get(self.latch, self.latch) for follow_type, value in self.follow.items(): self.follow[follow_type] = n_map.get(value, value) self.loop_nodes = list(set(n_map.get(n, n) for n in self.loop_nodes)) def get_head(self): return self def get_end(self): return self def __repr__(self): return '%s' % self class Interval(object): def __init__(self, head): self.name = 'Interval-%s' % head.name self.content = set([head]) self.end = None self.head = head self.in_catch = head.in_catch head.interval = self def __contains__(self, item): # If the interval contains nodes, check if the item is one of them if item in self.content: return True # If the interval contains intervals, we need to check them return any(item in node for node in self.content if isinstance(node, Interval)) def add_node(self, node): if node in self.content: return False self.content.add(node) node.interval = self return True def compute_end(self, graph): for node in self.content: for suc in graph.sucs(node): if suc not in self.content: self.end = node def get_end(self): return self.end.get_end() def get_head(self): return self.head.get_head() def __len__(self): return len(self.content) def __repr__(self): return '%s(%s)' % (self.name, self.content) androguard-3.1.0-rc2/androguard/decompiler/dad/opcode_ins.py000066400000000000000000001704521324327352200240360ustar00rootroot00000000000000# This file is part of Androguard. # # Copyright (C) 2012, Geoffroy Gueguen # All rights reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS-IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. from builtins import range from builtins import object import logging from struct import pack, unpack import androguard.decompiler.dad.util as util from androguard.decompiler.dad.instruction import ( ArrayLengthExpression, ArrayLoadExpression, ArrayStoreInstruction, AssignExpression, BaseClass, BinaryCompExpression, BinaryExpression, BinaryExpression2Addr, BinaryExpressionLit, CastExpression, CheckCastExpression, ConditionalExpression, ConditionalZExpression, Constant, FillArrayExpression, FilledArrayExpression, InstanceExpression, InstanceInstruction, InvokeInstruction, InvokeDirectInstruction, InvokeRangeInstruction, InvokeStaticInstruction, MonitorEnterExpression, MonitorExitExpression, MoveExceptionExpression, MoveExpression, MoveResultExpression, NewArrayExpression, NewInstance, NopExpression, ThrowExpression, Variable, ReturnInstruction, StaticExpression, StaticInstruction, SwitchExpression, ThisParam, UnaryExpression) logger = logging.getLogger('dad.opcode_ins') class Op(object): CMP = 'cmp' ADD = '+' SUB = '-' MUL = '*' DIV = '/' MOD = '%' AND = '&' OR = '|' XOR = '^' EQUAL = '==' NEQUAL = '!=' GREATER = '>' LOWER = '<' GEQUAL = '>=' LEQUAL = '<=' NEG = '-' NOT = '~' INTSHL = '<<' # '(%s << ( %s & 0x1f ))' INTSHR = '>>' # '(%s >> ( %s & 0x1f ))' LONGSHL = '<<' # '(%s << ( %s & 0x3f ))' LONGSHR = '>>' # '(%s >> ( %s & 0x3f ))' def get_variables(vmap, *variables): res = [] for variable in variables: res.append(vmap.setdefault(variable, Variable(variable))) if len(res) == 1: return res[0] return res def assign_const(dest_reg, cst, vmap): return AssignExpression(get_variables(vmap, dest_reg), cst) def assign_cmp(val_a, val_b, val_c, cmp_type, vmap): reg_a, reg_b, reg_c = get_variables(vmap, val_a, val_b, val_c) exp = BinaryCompExpression(Op.CMP, reg_b, reg_c, cmp_type) return AssignExpression(reg_a, exp) def load_array_exp(val_a, val_b, val_c, ar_type, vmap): reg_a, reg_b, reg_c = get_variables(vmap, val_a, val_b, val_c) return AssignExpression(reg_a, ArrayLoadExpression(reg_b, reg_c, ar_type)) def store_array_inst(val_a, val_b, val_c, ar_type, vmap): reg_a, reg_b, reg_c = get_variables(vmap, val_a, val_b, val_c) return ArrayStoreInstruction(reg_a, reg_b, reg_c, ar_type) def assign_cast_exp(val_a, val_b, val_op, op_type, vmap): reg_a, reg_b = get_variables(vmap, val_a, val_b) return AssignExpression(reg_a, CastExpression(val_op, op_type, reg_b)) def assign_binary_exp(ins, val_op, op_type, vmap): reg_a, reg_b, reg_c = get_variables(vmap, ins.AA, ins.BB, ins.CC) return AssignExpression(reg_a, BinaryExpression(val_op, reg_b, reg_c, op_type)) def assign_binary_2addr_exp(ins, val_op, op_type, vmap): reg_a, reg_b = get_variables(vmap, ins.A, ins.B) return AssignExpression(reg_a, BinaryExpression2Addr(val_op, reg_a, reg_b, op_type)) def assign_lit(op_type, val_cst, val_a, val_b, vmap): cst = Constant(val_cst, 'I') var_a, var_b = get_variables(vmap, val_a, val_b) return AssignExpression(var_a, BinaryExpressionLit(op_type, var_b, cst)) # nop def nop(ins, vmap): return NopExpression() # move vA, vB ( 4b, 4b ) def move(ins, vmap): logger.debug('Move %s', ins.get_output()) reg_a, reg_b = get_variables(vmap, ins.A, ins.B) return MoveExpression(reg_a, reg_b) # move/from16 vAA, vBBBB ( 8b, 16b ) def movefrom16(ins, vmap): logger.debug('MoveFrom16 %s', ins.get_output()) reg_a, reg_b = get_variables(vmap, ins.AA, ins.BBBB) return MoveExpression(reg_a, reg_b) # move/16 vAAAA, vBBBB ( 16b, 16b ) def move16(ins, vmap): logger.debug('Move16 %s', ins.get_output()) reg_a, reg_b = get_variables(vmap, ins.AAAA, ins.BBBB) return MoveExpression(reg_a, reg_b) # move-wide vA, vB ( 4b, 4b ) def movewide(ins, vmap): logger.debug('MoveWide %s', ins.get_output()) reg_a, reg_b = get_variables(vmap, ins.A, ins.B) return MoveExpression(reg_a, reg_b) # move-wide/from16 vAA, vBBBB ( 8b, 16b ) def movewidefrom16(ins, vmap): logger.debug('MoveWideFrom16 : %s', ins.get_output()) reg_a, reg_b = get_variables(vmap, ins.AA, ins.BBBB) return MoveExpression(reg_a, reg_b) # move-wide/16 vAAAA, vBBBB ( 16b, 16b ) def movewide16(ins, vmap): logger.debug('MoveWide16 %s', ins.get_output()) reg_a, reg_b = get_variables(vmap, ins.AAAA, ins.BBBB) return MoveExpression(reg_a, reg_b) # move-object vA, vB ( 4b, 4b ) def moveobject(ins, vmap): logger.debug('MoveObject %s', ins.get_output()) reg_a, reg_b = get_variables(vmap, ins.A, ins.B) return MoveExpression(reg_a, reg_b) # move-object/from16 vAA, vBBBB ( 8b, 16b ) def moveobjectfrom16(ins, vmap): logger.debug('MoveObjectFrom16 : %s', ins.get_output()) reg_a, reg_b = get_variables(vmap, ins.AA, ins.BBBB) return MoveExpression(reg_a, reg_b) # move-object/16 vAAAA, vBBBB ( 16b, 16b ) def moveobject16(ins, vmap): logger.debug('MoveObject16 : %s', ins.get_output()) reg_a, reg_b = get_variables(vmap, ins.AAAA, ins.BBBB) return MoveExpression(reg_a, reg_b) # move-result vAA ( 8b ) def moveresult(ins, vmap, ret): logger.debug('MoveResult : %s', ins.get_output()) return MoveResultExpression(get_variables(vmap, ins.AA), ret) # move-result-wide vAA ( 8b ) def moveresultwide(ins, vmap, ret): logger.debug('MoveResultWide : %s', ins.get_output()) return MoveResultExpression(get_variables(vmap, ins.AA), ret) # move-result-object vAA ( 8b ) def moveresultobject(ins, vmap, ret): logger.debug('MoveResultObject : %s', ins.get_output()) return MoveResultExpression(get_variables(vmap, ins.AA), ret) # move-exception vAA ( 8b ) def moveexception(ins, vmap, _type): logger.debug('MoveException : %s', ins.get_output()) return MoveExceptionExpression(get_variables(vmap, ins.AA), _type) # return-void def returnvoid(ins, vmap): logger.debug('ReturnVoid') return ReturnInstruction(None) # return vAA ( 8b ) def return_reg(ins, vmap): logger.debug('Return : %s', ins.get_output()) return ReturnInstruction(get_variables(vmap, ins.AA)) # return-wide vAA ( 8b ) def returnwide(ins, vmap): logger.debug('ReturnWide : %s', ins.get_output()) return ReturnInstruction(get_variables(vmap, ins.AA)) # return-object vAA ( 8b ) def returnobject(ins, vmap): logger.debug('ReturnObject : %s', ins.get_output()) return ReturnInstruction(get_variables(vmap, ins.AA)) # const/4 vA, #+B ( 4b, 4b ) def const4(ins, vmap): logger.debug('Const4 : %s', ins.get_output()) cst = Constant(ins.B, 'I') return assign_const(ins.A, cst, vmap) # const/16 vAA, #+BBBB ( 8b, 16b ) def const16(ins, vmap): logger.debug('Const16 : %s', ins.get_output()) cst = Constant(ins.BBBB, 'I') return assign_const(ins.AA, cst, vmap) # const vAA, #+BBBBBBBB ( 8b, 32b ) def const(ins, vmap): logger.debug('Const : %s', ins.get_output()) value = unpack("=f", pack("=i", ins.BBBBBBBB))[0] cst = Constant(value, 'I', ins.BBBBBBBB) return assign_const(ins.AA, cst, vmap) # const/high16 vAA, #+BBBB0000 ( 8b, 16b ) def consthigh16(ins, vmap): logger.debug('ConstHigh16 : %s', ins.get_output()) value = unpack('=f', pack('=i', ins.BBBB << 16))[0] cst = Constant(value, 'I', ins.BBBB << 16) return assign_const(ins.AA, cst, vmap) # const-wide/16 vAA, #+BBBB ( 8b, 16b ) def constwide16(ins, vmap): logger.debug('ConstWide16 : %s', ins.get_output()) value = unpack('=d', pack('=d', ins.BBBB))[0] cst = Constant(value, 'J', ins.BBBB) return assign_const(ins.AA, cst, vmap) # const-wide/32 vAA, #+BBBBBBBB ( 8b, 32b ) def constwide32(ins, vmap): logger.debug('ConstWide32 : %s', ins.get_output()) value = unpack('=d', pack('=d', ins.BBBBBBBB))[0] cst = Constant(value, 'J', ins.BBBBBBBB) return assign_const(ins.AA, cst, vmap) # const-wide vAA, #+BBBBBBBBBBBBBBBB ( 8b, 64b ) def constwide(ins, vmap): logger.debug('ConstWide : %s', ins.get_output()) value = unpack('=d', pack('=q', ins.BBBBBBBBBBBBBBBB))[0] cst = Constant(value, 'D', ins.BBBBBBBBBBBBBBBB) return assign_const(ins.AA, cst, vmap) # const-wide/high16 vAA, #+BBBB000000000000 ( 8b, 16b ) def constwidehigh16(ins, vmap): logger.debug('ConstWideHigh16 : %s', ins.get_output()) value = unpack('=d', b'\x00\x00\x00\x00\x00\x00' + pack('=h', ins.BBBB))[0] cst = Constant(value, 'D', ins.BBBB) return assign_const(ins.AA, cst, vmap) # const-string vAA ( 8b ) def conststring(ins, vmap): logger.debug('ConstString : %s', ins.get_output()) cst = Constant(ins.get_raw_string(), 'Ljava/lang/String;') return assign_const(ins.AA, cst, vmap) # const-string/jumbo vAA ( 8b ) def conststringjumbo(ins, vmap): logger.debug('ConstStringJumbo %s', ins.get_output()) cst = Constant(ins.get_raw_string(), 'Ljava/lang/String;') return assign_const(ins.AA, cst, vmap) # const-class vAA, type@BBBB ( 8b ) def constclass(ins, vmap): logger.debug('ConstClass : %s', ins.get_output()) cst = Constant(util.get_type(ins.get_string()), 'Ljava/lang/Class;', descriptor=ins.get_string()) return assign_const(ins.AA, cst, vmap) # monitor-enter vAA ( 8b ) def monitorenter(ins, vmap): logger.debug('MonitorEnter : %s', ins.get_output()) return MonitorEnterExpression(get_variables(vmap, ins.AA)) # monitor-exit vAA ( 8b ) def monitorexit(ins, vmap): logger.debug('MonitorExit : %s', ins.get_output()) a = get_variables(vmap, ins.AA) return MonitorExitExpression(a) # check-cast vAA ( 8b ) def checkcast(ins, vmap): logger.debug('CheckCast: %s', ins.get_output()) cast_type = util.get_type(ins.get_translated_kind()) cast_var = get_variables(vmap, ins.AA) cast_expr = CheckCastExpression(cast_var, cast_type, descriptor=ins.get_translated_kind()) return AssignExpression(cast_var, cast_expr) # instance-of vA, vB ( 4b, 4b ) def instanceof(ins, vmap): logger.debug('InstanceOf : %s', ins.get_output()) reg_a, reg_b = get_variables(vmap, ins.A, ins.B) reg_c = BaseClass(util.get_type(ins.get_translated_kind()), descriptor=ins.get_translated_kind()) exp = BinaryExpression('instanceof', reg_b, reg_c, 'Z') return AssignExpression(reg_a, exp) # array-length vA, vB ( 4b, 4b ) def arraylength(ins, vmap): logger.debug('ArrayLength: %s', ins.get_output()) reg_a, reg_b = get_variables(vmap, ins.A, ins.B) return AssignExpression(reg_a, ArrayLengthExpression(reg_b)) # new-instance vAA ( 8b ) def newinstance(ins, vmap): logger.debug('NewInstance : %s', ins.get_output()) reg_a = get_variables(vmap, ins.AA) ins_type = ins.cm.get_type(ins.BBBB) return AssignExpression(reg_a, NewInstance(ins_type)) # new-array vA, vB ( 8b, size ) def newarray(ins, vmap): logger.debug('NewArray : %s', ins.get_output()) a, b = get_variables(vmap, ins.A, ins.B) exp = NewArrayExpression(b, ins.cm.get_type(ins.CCCC)) return AssignExpression(a, exp) # filled-new-array {vD, vE, vF, vG, vA} ( 4b each ) def fillednewarray(ins, vmap, ret): logger.debug('FilledNewArray : %s', ins.get_output()) c, d, e, f, g = get_variables(vmap, ins.C, ins.D, ins.E, ins.F, ins.G) array_type = ins.cm.get_type(ins.BBBB) exp = FilledArrayExpression(ins.A, array_type, [c, d, e, f, g][:ins.A]) return AssignExpression(ret, exp) # filled-new-array/range {vCCCC..vNNNN} ( 16b ) def fillednewarrayrange(ins, vmap, ret): logger.debug('FilledNewArrayRange : %s', ins.get_output()) a, c, n = get_variables(vmap, ins.AA, ins.CCCC, ins.NNNN) array_type = ins.cm.get_type(ins.BBBB) exp = FilledArrayExpression(a, array_type, [c, n]) return AssignExpression(ret, exp) # fill-array-data vAA, +BBBBBBBB ( 8b, 32b ) def fillarraydata(ins, vmap, value): logger.debug('FillArrayData : %s', ins.get_output()) return FillArrayExpression(get_variables(vmap, ins.AA), value) # fill-array-data-payload vAA, +BBBBBBBB ( 8b, 32b ) def fillarraydatapayload(ins, vmap): logger.debug('FillArrayDataPayload : %s', ins.get_output()) return FillArrayExpression(None) # throw vAA ( 8b ) def throw(ins, vmap): logger.debug('Throw : %s', ins.get_output()) return ThrowExpression(get_variables(vmap, ins.AA)) # goto +AA ( 8b ) def goto(ins, vmap): return NopExpression() # goto/16 +AAAA ( 16b ) def goto16(ins, vmap): return NopExpression() # goto/32 +AAAAAAAA ( 32b ) def goto32(ins, vmap): return NopExpression() # packed-switch vAA, +BBBBBBBB ( reg to test, 32b ) def packedswitch(ins, vmap): logger.debug('PackedSwitch : %s', ins.get_output()) reg_a = get_variables(vmap, ins.AA) return SwitchExpression(reg_a, ins.BBBBBBBB) # sparse-switch vAA, +BBBBBBBB ( reg to test, 32b ) def sparseswitch(ins, vmap): logger.debug('SparseSwitch : %s', ins.get_output()) reg_a = get_variables(vmap, ins.AA) return SwitchExpression(reg_a, ins.BBBBBBBB) # cmpl-float vAA, vBB, vCC ( 8b, 8b, 8b ) def cmplfloat(ins, vmap): logger.debug('CmpglFloat : %s', ins.get_output()) return assign_cmp(ins.AA, ins.BB, ins.CC, 'F', vmap) # cmpg-float vAA, vBB, vCC ( 8b, 8b, 8b ) def cmpgfloat(ins, vmap): logger.debug('CmpgFloat : %s', ins.get_output()) return assign_cmp(ins.AA, ins.BB, ins.CC, 'F', vmap) # cmpl-double vAA, vBB, vCC ( 8b, 8b, 8b ) def cmpldouble(ins, vmap): logger.debug('CmplDouble : %s', ins.get_output()) return assign_cmp(ins.AA, ins.BB, ins.CC, 'D', vmap) # cmpg-double vAA, vBB, vCC ( 8b, 8b, 8b ) def cmpgdouble(ins, vmap): logger.debug('CmpgDouble : %s', ins.get_output()) return assign_cmp(ins.AA, ins.BB, ins.CC, 'D', vmap) # cmp-long vAA, vBB, vCC ( 8b, 8b, 8b ) def cmplong(ins, vmap): logger.debug('CmpLong : %s', ins.get_output()) return assign_cmp(ins.AA, ins.BB, ins.CC, 'J', vmap) # if-eq vA, vB, +CCCC ( 4b, 4b, 16b ) def ifeq(ins, vmap): logger.debug('IfEq : %s', ins.get_output()) a, b = get_variables(vmap, ins.A, ins.B) return ConditionalExpression(Op.EQUAL, a, b) # if-ne vA, vB, +CCCC ( 4b, 4b, 16b ) def ifne(ins, vmap): logger.debug('IfNe : %s', ins.get_output()) a, b = get_variables(vmap, ins.A, ins.B) return ConditionalExpression(Op.NEQUAL, a, b) # if-lt vA, vB, +CCCC ( 4b, 4b, 16b ) def iflt(ins, vmap): logger.debug('IfLt : %s', ins.get_output()) a, b = get_variables(vmap, ins.A, ins.B) return ConditionalExpression(Op.LOWER, a, b) # if-ge vA, vB, +CCCC ( 4b, 4b, 16b ) def ifge(ins, vmap): logger.debug('IfGe : %s', ins.get_output()) a, b = get_variables(vmap, ins.A, ins.B) return ConditionalExpression(Op.GEQUAL, a, b) # if-gt vA, vB, +CCCC ( 4b, 4b, 16b ) def ifgt(ins, vmap): logger.debug('IfGt : %s', ins.get_output()) a, b = get_variables(vmap, ins.A, ins.B) return ConditionalExpression(Op.GREATER, a, b) # if-le vA, vB, +CCCC ( 4b, 4b, 16b ) def ifle(ins, vmap): logger.debug('IfLe : %s', ins.get_output()) a, b = get_variables(vmap, ins.A, ins.B) return ConditionalExpression(Op.LEQUAL, a, b) # if-eqz vAA, +BBBB ( 8b, 16b ) def ifeqz(ins, vmap): logger.debug('IfEqz : %s', ins.get_output()) return ConditionalZExpression(Op.EQUAL, get_variables(vmap, ins.AA)) # if-nez vAA, +BBBB ( 8b, 16b ) def ifnez(ins, vmap): logger.debug('IfNez : %s', ins.get_output()) return ConditionalZExpression(Op.NEQUAL, get_variables(vmap, ins.AA)) # if-ltz vAA, +BBBB ( 8b, 16b ) def ifltz(ins, vmap): logger.debug('IfLtz : %s', ins.get_output()) return ConditionalZExpression(Op.LOWER, get_variables(vmap, ins.AA)) # if-gez vAA, +BBBB ( 8b, 16b ) def ifgez(ins, vmap): logger.debug('IfGez : %s', ins.get_output()) return ConditionalZExpression(Op.GEQUAL, get_variables(vmap, ins.AA)) # if-gtz vAA, +BBBB ( 8b, 16b ) def ifgtz(ins, vmap): logger.debug('IfGtz : %s', ins.get_output()) return ConditionalZExpression(Op.GREATER, get_variables(vmap, ins.AA)) # if-lez vAA, +BBBB (8b, 16b ) def iflez(ins, vmap): logger.debug('IfLez : %s', ins.get_output()) return ConditionalZExpression(Op.LEQUAL, get_variables(vmap, ins.AA)) # TODO: check type for all aget # aget vAA, vBB, vCC ( 8b, 8b, 8b ) def aget(ins, vmap): logger.debug('AGet : %s', ins.get_output()) return load_array_exp(ins.AA, ins.BB, ins.CC, None, vmap) # aget-wide vAA, vBB, vCC ( 8b, 8b, 8b ) def agetwide(ins, vmap): logger.debug('AGetWide : %s', ins.get_output()) return load_array_exp(ins.AA, ins.BB, ins.CC, 'W', vmap) # aget-object vAA, vBB, vCC ( 8b, 8b, 8b ) def agetobject(ins, vmap): logger.debug('AGetObject : %s', ins.get_output()) return load_array_exp(ins.AA, ins.BB, ins.CC, 'O', vmap) # aget-boolean vAA, vBB, vCC ( 8b, 8b, 8b ) def agetboolean(ins, vmap): logger.debug('AGetBoolean : %s', ins.get_output()) return load_array_exp(ins.AA, ins.BB, ins.CC, 'Z', vmap) # aget-byte vAA, vBB, vCC ( 8b, 8b, 8b ) def agetbyte(ins, vmap): logger.debug('AGetByte : %s', ins.get_output()) return load_array_exp(ins.AA, ins.BB, ins.CC, 'B', vmap) # aget-char vAA, vBB, vCC ( 8b, 8b, 8b ) def agetchar(ins, vmap): logger.debug('AGetChar : %s', ins.get_output()) return load_array_exp(ins.AA, ins.BB, ins.CC, 'C', vmap) # aget-short vAA, vBB, vCC ( 8b, 8b, 8b ) def agetshort(ins, vmap): logger.debug('AGetShort : %s', ins.get_output()) return load_array_exp(ins.AA, ins.BB, ins.CC, 'S', vmap) # aput vAA, vBB, vCC def aput(ins, vmap): logger.debug('APut : %s', ins.get_output()) return store_array_inst(ins.AA, ins.BB, ins.CC, None, vmap) # aput-wide vAA, vBB, vCC ( 8b, 8b, 8b ) def aputwide(ins, vmap): logger.debug('APutWide : %s', ins.get_output()) return store_array_inst(ins.AA, ins.BB, ins.CC, 'W', vmap) # aput-object vAA, vBB, vCC ( 8b, 8b, 8b ) def aputobject(ins, vmap): logger.debug('APutObject : %s', ins.get_output()) return store_array_inst(ins.AA, ins.BB, ins.CC, 'O', vmap) # aput-boolean vAA, vBB, vCC ( 8b, 8b, 8b ) def aputboolean(ins, vmap): logger.debug('APutBoolean : %s', ins.get_output()) return store_array_inst(ins.AA, ins.BB, ins.CC, 'Z', vmap) # aput-byte vAA, vBB, vCC ( 8b, 8b, 8b ) def aputbyte(ins, vmap): logger.debug('APutByte : %s', ins.get_output()) return store_array_inst(ins.AA, ins.BB, ins.CC, 'B', vmap) # aput-char vAA, vBB, vCC ( 8b, 8b, 8b ) def aputchar(ins, vmap): logger.debug('APutChar : %s', ins.get_output()) return store_array_inst(ins.AA, ins.BB, ins.CC, 'C', vmap) # aput-short vAA, vBB, vCC ( 8b, 8b, 8b ) def aputshort(ins, vmap): logger.debug('APutShort : %s', ins.get_output()) return store_array_inst(ins.AA, ins.BB, ins.CC, 'S', vmap) # iget vA, vB ( 4b, 4b ) def iget(ins, vmap): logger.debug('IGet : %s', ins.get_output()) klass, ftype, name = ins.cm.get_field(ins.CCCC) a, b = get_variables(vmap, ins.A, ins.B) exp = InstanceExpression(b, klass, ftype, name) return AssignExpression(a, exp) # iget-wide vA, vB ( 4b, 4b ) def igetwide(ins, vmap): logger.debug('IGetWide : %s', ins.get_output()) klass, ftype, name = ins.cm.get_field(ins.CCCC) a, b = get_variables(vmap, ins.A, ins.B) exp = InstanceExpression(b, klass, ftype, name) return AssignExpression(a, exp) # iget-object vA, vB ( 4b, 4b ) def igetobject(ins, vmap): logger.debug('IGetObject : %s', ins.get_output()) klass, ftype, name = ins.cm.get_field(ins.CCCC) a, b = get_variables(vmap, ins.A, ins.B) exp = InstanceExpression(b, klass, ftype, name) return AssignExpression(a, exp) # iget-boolean vA, vB ( 4b, 4b ) def igetboolean(ins, vmap): logger.debug('IGetBoolean : %s', ins.get_output()) klass, ftype, name = ins.cm.get_field(ins.CCCC) a, b = get_variables(vmap, ins.A, ins.B) exp = InstanceExpression(b, klass, ftype, name) return AssignExpression(a, exp) # iget-byte vA, vB ( 4b, 4b ) def igetbyte(ins, vmap): logger.debug('IGetByte : %s', ins.get_output()) klass, ftype, name = ins.cm.get_field(ins.CCCC) a, b = get_variables(vmap, ins.A, ins.B) exp = InstanceExpression(b, klass, ftype, name) return AssignExpression(a, exp) # iget-char vA, vB ( 4b, 4b ) def igetchar(ins, vmap): logger.debug('IGetChar : %s', ins.get_output()) klass, ftype, name = ins.cm.get_field(ins.CCCC) a, b = get_variables(vmap, ins.A, ins.B) exp = InstanceExpression(b, klass, ftype, name) return AssignExpression(a, exp) # iget-short vA, vB ( 4b, 4b ) def igetshort(ins, vmap): logger.debug('IGetShort : %s', ins.get_output()) klass, ftype, name = ins.cm.get_field(ins.CCCC) a, b = get_variables(vmap, ins.A, ins.B) exp = InstanceExpression(b, klass, ftype, name) return AssignExpression(a, exp) # iput vA, vB ( 4b, 4b ) def iput(ins, vmap): logger.debug('IPut %s', ins.get_output()) klass, atype, name = ins.cm.get_field(ins.CCCC) a, b = get_variables(vmap, ins.A, ins.B) return InstanceInstruction(a, b, klass, atype, name) # iput-wide vA, vB ( 4b, 4b ) def iputwide(ins, vmap): logger.debug('IPutWide %s', ins.get_output()) klass, atype, name = ins.cm.get_field(ins.CCCC) a, b = get_variables(vmap, ins.A, ins.B) return InstanceInstruction(a, b, klass, atype, name) # iput-object vA, vB ( 4b, 4b ) def iputobject(ins, vmap): logger.debug('IPutObject %s', ins.get_output()) klass, atype, name = ins.cm.get_field(ins.CCCC) a, b = get_variables(vmap, ins.A, ins.B) return InstanceInstruction(a, b, klass, atype, name) # iput-boolean vA, vB ( 4b, 4b ) def iputboolean(ins, vmap): logger.debug('IPutBoolean %s', ins.get_output()) klass, atype, name = ins.cm.get_field(ins.CCCC) a, b = get_variables(vmap, ins.A, ins.B) return InstanceInstruction(a, b, klass, atype, name) # iput-byte vA, vB ( 4b, 4b ) def iputbyte(ins, vmap): logger.debug('IPutByte %s', ins.get_output()) klass, atype, name = ins.cm.get_field(ins.CCCC) a, b = get_variables(vmap, ins.A, ins.B) return InstanceInstruction(a, b, klass, atype, name) # iput-char vA, vB ( 4b, 4b ) def iputchar(ins, vmap): logger.debug('IPutChar %s', ins.get_output()) klass, atype, name = ins.cm.get_field(ins.CCCC) a, b = get_variables(vmap, ins.A, ins.B) return InstanceInstruction(a, b, klass, atype, name) # iput-short vA, vB ( 4b, 4b ) def iputshort(ins, vmap): logger.debug('IPutShort %s', ins.get_output()) klass, atype, name = ins.cm.get_field(ins.CCCC) a, b = get_variables(vmap, ins.A, ins.B) return InstanceInstruction(a, b, klass, atype, name) # sget vAA ( 8b ) def sget(ins, vmap): logger.debug('SGet : %s', ins.get_output()) klass, atype, name = ins.cm.get_field(ins.BBBB) exp = StaticExpression(klass, atype, name) a = get_variables(vmap, ins.AA) return AssignExpression(a, exp) # sget-wide vAA ( 8b ) def sgetwide(ins, vmap): logger.debug('SGetWide : %s', ins.get_output()) klass, atype, name = ins.cm.get_field(ins.BBBB) exp = StaticExpression(klass, atype, name) a = get_variables(vmap, ins.AA) return AssignExpression(a, exp) # sget-object vAA ( 8b ) def sgetobject(ins, vmap): logger.debug('SGetObject : %s', ins.get_output()) klass, atype, name = ins.cm.get_field(ins.BBBB) exp = StaticExpression(klass, atype, name) a = get_variables(vmap, ins.AA) return AssignExpression(a, exp) # sget-boolean vAA ( 8b ) def sgetboolean(ins, vmap): logger.debug('SGetBoolean : %s', ins.get_output()) klass, atype, name = ins.cm.get_field(ins.BBBB) exp = StaticExpression(klass, atype, name) a = get_variables(vmap, ins.AA) return AssignExpression(a, exp) # sget-byte vAA ( 8b ) def sgetbyte(ins, vmap): logger.debug('SGetByte : %s', ins.get_output()) klass, atype, name = ins.cm.get_field(ins.BBBB) exp = StaticExpression(klass, atype, name) a = get_variables(vmap, ins.AA) return AssignExpression(a, exp) # sget-char vAA ( 8b ) def sgetchar(ins, vmap): logger.debug('SGetChar : %s', ins.get_output()) klass, atype, name = ins.cm.get_field(ins.BBBB) exp = StaticExpression(klass, atype, name) a = get_variables(vmap, ins.AA) return AssignExpression(a, exp) # sget-short vAA ( 8b ) def sgetshort(ins, vmap): logger.debug('SGetShort : %s', ins.get_output()) klass, atype, name = ins.cm.get_field(ins.BBBB) exp = StaticExpression(klass, atype, name) a = get_variables(vmap, ins.AA) return AssignExpression(a, exp) # sput vAA ( 8b ) def sput(ins, vmap): logger.debug('SPut : %s', ins.get_output()) klass, ftype, name = ins.cm.get_field(ins.BBBB) a = get_variables(vmap, ins.AA) return StaticInstruction(a, klass, ftype, name) # sput-wide vAA ( 8b ) def sputwide(ins, vmap): logger.debug('SPutWide : %s', ins.get_output()) klass, ftype, name = ins.cm.get_field(ins.BBBB) a = get_variables(vmap, ins.AA) return StaticInstruction(a, klass, ftype, name) # sput-object vAA ( 8b ) def sputobject(ins, vmap): logger.debug('SPutObject : %s', ins.get_output()) klass, ftype, name = ins.cm.get_field(ins.BBBB) a = get_variables(vmap, ins.AA) return StaticInstruction(a, klass, ftype, name) # sput-boolean vAA ( 8b ) def sputboolean(ins, vmap): logger.debug('SPutBoolean : %s', ins.get_output()) klass, ftype, name = ins.cm.get_field(ins.BBBB) a = get_variables(vmap, ins.AA) return StaticInstruction(a, klass, ftype, name) # sput-wide vAA ( 8b ) def sputbyte(ins, vmap): logger.debug('SPutByte : %s', ins.get_output()) klass, ftype, name = ins.cm.get_field(ins.BBBB) a = get_variables(vmap, ins.AA) return StaticInstruction(a, klass, ftype, name) # sput-char vAA ( 8b ) def sputchar(ins, vmap): logger.debug('SPutChar : %s', ins.get_output()) klass, ftype, name = ins.cm.get_field(ins.BBBB) a = get_variables(vmap, ins.AA) return StaticInstruction(a, klass, ftype, name) # sput-short vAA ( 8b ) def sputshort(ins, vmap): logger.debug('SPutShort : %s', ins.get_output()) klass, ftype, name = ins.cm.get_field(ins.BBBB) a = get_variables(vmap, ins.AA) return StaticInstruction(a, klass, ftype, name) def get_args(vmap, param_type, largs): num_param = 0 args = [] if len(param_type) > len(largs): logger.warning('len(param_type) > len(largs) !') return args for type_ in param_type: param = largs[num_param] args.append(param) num_param += util.get_type_size(type_) if len(param_type) == 1: return [get_variables(vmap, *args)] return get_variables(vmap, *args) # invoke-virtual {vD, vE, vF, vG, vA} ( 4b each ) def invokevirtual(ins, vmap, ret): logger.debug('InvokeVirtual : %s', ins.get_output()) method = ins.cm.get_method_ref(ins.BBBB) cls_name = util.get_type(method.get_class_name()) name = method.get_name() param_type, ret_type = method.get_proto() param_type = util.get_params_type(param_type) largs = [ins.D, ins.E, ins.F, ins.G] args = get_args(vmap, param_type, largs) c = get_variables(vmap, ins.C) returned = None if ret_type == 'V' else ret.new() exp = InvokeInstruction(cls_name, name, c, ret_type, param_type, args, method.get_triple()) return AssignExpression(returned, exp) # invoke-super {vD, vE, vF, vG, vA} ( 4b each ) def invokesuper(ins, vmap, ret): logger.debug('InvokeSuper : %s', ins.get_output()) method = ins.cm.get_method_ref(ins.BBBB) cls_name = util.get_type(method.get_class_name()) name = method.get_name() param_type, ret_type = method.get_proto() param_type = util.get_params_type(param_type) largs = [ins.D, ins.E, ins.F, ins.G] args = get_args(vmap, param_type, largs) superclass = BaseClass('super') returned = None if ret_type == 'V' else ret.new() exp = InvokeInstruction(cls_name, name, superclass, ret_type, param_type, args, method.get_triple()) return AssignExpression(returned, exp) # invoke-direct {vD, vE, vF, vG, vA} ( 4b each ) def invokedirect(ins, vmap, ret): logger.debug('InvokeDirect : %s', ins.get_output()) method = ins.cm.get_method_ref(ins.BBBB) cls_name = util.get_type(method.get_class_name()) name = method.get_name() param_type, ret_type = method.get_proto() param_type = util.get_params_type(param_type) largs = [ins.D, ins.E, ins.F, ins.G] args = get_args(vmap, param_type, largs) base = get_variables(vmap, ins.C) if ret_type == 'V': if isinstance(base, ThisParam): returned = None else: returned = base ret.set_to(base) else: returned = ret.new() exp = InvokeDirectInstruction(cls_name, name, base, ret_type, param_type, args, method.get_triple()) return AssignExpression(returned, exp) # invoke-static {vD, vE, vF, vG, vA} ( 4b each ) def invokestatic(ins, vmap, ret): logger.debug('InvokeStatic : %s', ins.get_output()) method = ins.cm.get_method_ref(ins.BBBB) cls_name = util.get_type(method.get_class_name()) name = method.get_name() param_type, ret_type = method.get_proto() param_type = util.get_params_type(param_type) largs = [ins.C, ins.D, ins.E, ins.F, ins.G] args = get_args(vmap, param_type, largs) base = BaseClass(cls_name, descriptor=method.get_class_name()) returned = None if ret_type == 'V' else ret.new() exp = InvokeStaticInstruction(cls_name, name, base, ret_type, param_type, args, method.get_triple()) return AssignExpression(returned, exp) # invoke-interface {vD, vE, vF, vG, vA} ( 4b each ) def invokeinterface(ins, vmap, ret): logger.debug('InvokeInterface : %s', ins.get_output()) method = ins.cm.get_method_ref(ins.BBBB) cls_name = util.get_type(method.get_class_name()) name = method.get_name() param_type, ret_type = method.get_proto() param_type = util.get_params_type(param_type) largs = [ins.D, ins.E, ins.F, ins.G] args = get_args(vmap, param_type, largs) c = get_variables(vmap, ins.C) returned = None if ret_type == 'V' else ret.new() exp = InvokeInstruction(cls_name, name, c, ret_type, param_type, args, method.get_triple()) return AssignExpression(returned, exp) # invoke-virtual/range {vCCCC..vNNNN} ( 16b each ) def invokevirtualrange(ins, vmap, ret): logger.debug('InvokeVirtualRange : %s', ins.get_output()) method = ins.cm.get_method_ref(ins.BBBB) cls_name = util.get_type(method.get_class_name()) name = method.get_name() param_type, ret_type = method.get_proto() param_type = util.get_params_type(param_type) largs = list(range(ins.CCCC, ins.NNNN + 1)) this_arg = get_variables(vmap, largs[0]) args = get_args(vmap, param_type, largs[1:]) returned = None if ret_type == 'V' else ret.new() exp = InvokeRangeInstruction(cls_name, name, ret_type, param_type, [this_arg] + args, method.get_triple()) return AssignExpression(returned, exp) # invoke-super/range {vCCCC..vNNNN} ( 16b each ) def invokesuperrange(ins, vmap, ret): logger.debug('InvokeSuperRange : %s', ins.get_output()) method = ins.cm.get_method_ref(ins.BBBB) cls_name = util.get_type(method.get_class_name()) name = method.get_name() param_type, ret_type = method.get_proto() param_type = util.get_params_type(param_type) largs = list(range(ins.CCCC, ins.NNNN + 1)) args = get_args(vmap, param_type, largs[1:]) base = get_variables(vmap, ins.CCCC) if ret_type != 'V': returned = ret.new() else: returned = base ret.set_to(base) superclass = BaseClass('super') exp = InvokeRangeInstruction(cls_name, name, ret_type, param_type, [superclass] + args, method.get_triple()) return AssignExpression(returned, exp) # invoke-direct/range {vCCCC..vNNNN} ( 16b each ) def invokedirectrange(ins, vmap, ret): logger.debug('InvokeDirectRange : %s', ins.get_output()) method = ins.cm.get_method_ref(ins.BBBB) cls_name = util.get_type(method.get_class_name()) name = method.get_name() param_type, ret_type = method.get_proto() param_type = util.get_params_type(param_type) largs = list(range(ins.CCCC, ins.NNNN + 1)) this_arg = get_variables(vmap, largs[0]) args = get_args(vmap, param_type, largs[1:]) base = get_variables(vmap, ins.CCCC) if ret_type != 'V': returned = ret.new() else: returned = base ret.set_to(base) exp = InvokeRangeInstruction(cls_name, name, ret_type, param_type, [this_arg] + args, method.get_triple()) return AssignExpression(returned, exp) # invoke-static/range {vCCCC..vNNNN} ( 16b each ) def invokestaticrange(ins, vmap, ret): logger.debug('InvokeStaticRange : %s', ins.get_output()) method = ins.cm.get_method_ref(ins.BBBB) cls_name = util.get_type(method.get_class_name()) name = method.get_name() param_type, ret_type = method.get_proto() param_type = util.get_params_type(param_type) largs = list(range(ins.CCCC, ins.NNNN + 1)) args = get_args(vmap, param_type, largs) base = BaseClass(cls_name, descriptor=method.get_class_name()) returned = None if ret_type == 'V' else ret.new() exp = InvokeStaticInstruction(cls_name, name, base, ret_type, param_type, args, method.get_triple()) return AssignExpression(returned, exp) # invoke-interface/range {vCCCC..vNNNN} ( 16b each ) def invokeinterfacerange(ins, vmap, ret): logger.debug('InvokeInterfaceRange : %s', ins.get_output()) method = ins.cm.get_method_ref(ins.BBBB) cls_name = util.get_type(method.get_class_name()) name = method.get_name() param_type, ret_type = method.get_proto() param_type = util.get_params_type(param_type) largs = list(range(ins.CCCC, ins.NNNN + 1)) base_arg = get_variables(vmap, largs[0]) args = get_args(vmap, param_type, largs[1:]) returned = None if ret_type == 'V' else ret.new() exp = InvokeRangeInstruction(cls_name, name, ret_type, param_type, [base_arg] + args, method.get_triple()) return AssignExpression(returned, exp) # neg-int vA, vB ( 4b, 4b ) def negint(ins, vmap): logger.debug('NegInt : %s', ins.get_output()) a, b = get_variables(vmap, ins.A, ins.B) exp = UnaryExpression(Op.NEG, b, 'I') return AssignExpression(a, exp) # not-int vA, vB ( 4b, 4b ) def notint(ins, vmap): logger.debug('NotInt : %s', ins.get_output()) a, b = get_variables(vmap, ins.A, ins.B) exp = UnaryExpression(Op.NOT, b, 'I') return AssignExpression(a, exp) # neg-long vA, vB ( 4b, 4b ) def neglong(ins, vmap): logger.debug('NegLong : %s', ins.get_output()) a, b = get_variables(vmap, ins.A, ins.B) exp = UnaryExpression(Op.NEG, b, 'J') return AssignExpression(a, exp) # not-long vA, vB ( 4b, 4b ) def notlong(ins, vmap): logger.debug('NotLong : %s', ins.get_output()) a, b = get_variables(vmap, ins.A, ins.B) exp = UnaryExpression(Op.NOT, b, 'J') return AssignExpression(a, exp) # neg-float vA, vB ( 4b, 4b ) def negfloat(ins, vmap): logger.debug('NegFloat : %s', ins.get_output()) a, b = get_variables(vmap, ins.A, ins.B) exp = UnaryExpression(Op.NEG, b, 'F') return AssignExpression(a, exp) # neg-double vA, vB ( 4b, 4b ) def negdouble(ins, vmap): logger.debug('NegDouble : %s', ins.get_output()) a, b = get_variables(vmap, ins.A, ins.B) exp = UnaryExpression(Op.NEG, b, 'D') return AssignExpression(a, exp) # int-to-long vA, vB ( 4b, 4b ) def inttolong(ins, vmap): logger.debug('IntToLong : %s', ins.get_output()) return assign_cast_exp(ins.A, ins.B, '(long)', 'J', vmap) # int-to-float vA, vB ( 4b, 4b ) def inttofloat(ins, vmap): logger.debug('IntToFloat : %s', ins.get_output()) return assign_cast_exp(ins.A, ins.B, '(float)', 'F', vmap) # int-to-double vA, vB ( 4b, 4b ) def inttodouble(ins, vmap): logger.debug('IntToDouble : %s', ins.get_output()) return assign_cast_exp(ins.A, ins.B, '(double)', 'D', vmap) # long-to-int vA, vB ( 4b, 4b ) def longtoint(ins, vmap): logger.debug('LongToInt : %s', ins.get_output()) return assign_cast_exp(ins.A, ins.B, '(int)', 'I', vmap) # long-to-float vA, vB ( 4b, 4b ) def longtofloat(ins, vmap): logger.debug('LongToFloat : %s', ins.get_output()) return assign_cast_exp(ins.A, ins.B, '(float)', 'F', vmap) # long-to-double vA, vB ( 4b, 4b ) def longtodouble(ins, vmap): logger.debug('LongToDouble : %s', ins.get_output()) return assign_cast_exp(ins.A, ins.B, '(double)', 'D', vmap) # float-to-int vA, vB ( 4b, 4b ) def floattoint(ins, vmap): logger.debug('FloatToInt : %s', ins.get_output()) return assign_cast_exp(ins.A, ins.B, '(int)', 'I', vmap) # float-to-long vA, vB ( 4b, 4b ) def floattolong(ins, vmap): logger.debug('FloatToLong : %s', ins.get_output()) return assign_cast_exp(ins.A, ins.B, '(long)', 'J', vmap) # float-to-double vA, vB ( 4b, 4b ) def floattodouble(ins, vmap): logger.debug('FloatToDouble : %s', ins.get_output()) return assign_cast_exp(ins.A, ins.B, '(double)', 'D', vmap) # double-to-int vA, vB ( 4b, 4b ) def doubletoint(ins, vmap): logger.debug('DoubleToInt : %s', ins.get_output()) return assign_cast_exp(ins.A, ins.B, '(int)', 'I', vmap) # double-to-long vA, vB ( 4b, 4b ) def doubletolong(ins, vmap): logger.debug('DoubleToLong : %s', ins.get_output()) return assign_cast_exp(ins.A, ins.B, '(long)', 'J', vmap) # double-to-float vA, vB ( 4b, 4b ) def doubletofloat(ins, vmap): logger.debug('DoubleToFloat : %s', ins.get_output()) return assign_cast_exp(ins.A, ins.B, '(float)', 'F', vmap) # int-to-byte vA, vB ( 4b, 4b ) def inttobyte(ins, vmap): logger.debug('IntToByte : %s', ins.get_output()) return assign_cast_exp(ins.A, ins.B, '(byte)', 'B', vmap) # int-to-char vA, vB ( 4b, 4b ) def inttochar(ins, vmap): logger.debug('IntToChar : %s', ins.get_output()) return assign_cast_exp(ins.A, ins.B, '(char)', 'C', vmap) # int-to-short vA, vB ( 4b, 4b ) def inttoshort(ins, vmap): logger.debug('IntToShort : %s', ins.get_output()) return assign_cast_exp(ins.A, ins.B, '(short)', 'S', vmap) # add-int vAA, vBB, vCC ( 8b, 8b, 8b ) def addint(ins, vmap): logger.debug('AddInt : %s', ins.get_output()) return assign_binary_exp(ins, Op.ADD, 'I', vmap) # sub-int vAA, vBB, vCC ( 8b, 8b, 8b ) def subint(ins, vmap): logger.debug('SubInt : %s', ins.get_output()) return assign_binary_exp(ins, Op.SUB, 'I', vmap) # mul-int vAA, vBB, vCC ( 8b, 8b, 8b ) def mulint(ins, vmap): logger.debug('MulInt : %s', ins.get_output()) return assign_binary_exp(ins, Op.MUL, 'I', vmap) # div-int vAA, vBB, vCC ( 8b, 8b, 8b ) def divint(ins, vmap): logger.debug('DivInt : %s', ins.get_output()) return assign_binary_exp(ins, Op.DIV, 'I', vmap) # rem-int vAA, vBB, vCC ( 8b, 8b, 8b ) def remint(ins, vmap): logger.debug('RemInt : %s', ins.get_output()) return assign_binary_exp(ins, Op.MOD, 'I', vmap) # and-int vAA, vBB, vCC ( 8b, 8b, 8b ) def andint(ins, vmap): logger.debug('AndInt : %s', ins.get_output()) return assign_binary_exp(ins, Op.AND, 'I', vmap) # or-int vAA, vBB, vCC ( 8b, 8b, 8b ) def orint(ins, vmap): logger.debug('OrInt : %s', ins.get_output()) return assign_binary_exp(ins, Op.OR, 'I', vmap) # xor-int vAA, vBB, vCC ( 8b, 8b, 8b ) def xorint(ins, vmap): logger.debug('XorInt : %s', ins.get_output()) return assign_binary_exp(ins, Op.XOR, 'I', vmap) # shl-int vAA, vBB, vCC ( 8b, 8b, 8b ) def shlint(ins, vmap): logger.debug('ShlInt : %s', ins.get_output()) return assign_binary_exp(ins, Op.INTSHL, 'I', vmap) # shr-int vAA, vBB, vCC ( 8b, 8b, 8b ) def shrint(ins, vmap): logger.debug('ShrInt : %s', ins.get_output()) return assign_binary_exp(ins, Op.INTSHR, 'I', vmap) # ushr-int vAA, vBB, vCC ( 8b, 8b, 8b ) def ushrint(ins, vmap): logger.debug('UShrInt : %s', ins.get_output()) return assign_binary_exp(ins, Op.INTSHR, 'I', vmap) # add-long vAA, vBB, vCC ( 8b, 8b, 8b ) def addlong(ins, vmap): logger.debug('AddLong : %s', ins.get_output()) return assign_binary_exp(ins, Op.ADD, 'J', vmap) # sub-long vAA, vBB, vCC ( 8b, 8b, 8b ) def sublong(ins, vmap): logger.debug('SubLong : %s', ins.get_output()) return assign_binary_exp(ins, Op.SUB, 'J', vmap) # mul-long vAA, vBB, vCC ( 8b, 8b, 8b ) def mullong(ins, vmap): logger.debug('MulLong : %s', ins.get_output()) return assign_binary_exp(ins, Op.MUL, 'J', vmap) # div-long vAA, vBB, vCC ( 8b, 8b, 8b ) def divlong(ins, vmap): logger.debug('DivLong : %s', ins.get_output()) return assign_binary_exp(ins, Op.DIV, 'J', vmap) # rem-long vAA, vBB, vCC ( 8b, 8b, 8b ) def remlong(ins, vmap): logger.debug('RemLong : %s', ins.get_output()) return assign_binary_exp(ins, Op.MOD, 'J', vmap) # and-long vAA, vBB, vCC ( 8b, 8b, 8b ) def andlong(ins, vmap): logger.debug('AndLong : %s', ins.get_output()) return assign_binary_exp(ins, Op.AND, 'J', vmap) # or-long vAA, vBB, vCC ( 8b, 8b, 8b ) def orlong(ins, vmap): logger.debug('OrLong : %s', ins.get_output()) return assign_binary_exp(ins, Op.OR, 'J', vmap) # xor-long vAA, vBB, vCC ( 8b, 8b, 8b ) def xorlong(ins, vmap): logger.debug('XorLong : %s', ins.get_output()) return assign_binary_exp(ins, Op.XOR, 'J', vmap) # shl-long vAA, vBB, vCC ( 8b, 8b, 8b ) def shllong(ins, vmap): logger.debug('ShlLong : %s', ins.get_output()) return assign_binary_exp(ins, Op.LONGSHL, 'J', vmap) # shr-long vAA, vBB, vCC ( 8b, 8b, 8b ) def shrlong(ins, vmap): logger.debug('ShrLong : %s', ins.get_output()) return assign_binary_exp(ins, Op.LONGSHR, 'J', vmap) # ushr-long vAA, vBB, vCC ( 8b, 8b, 8b ) def ushrlong(ins, vmap): logger.debug('UShrLong : %s', ins.get_output()) return assign_binary_exp(ins, Op.LONGSHR, 'J', vmap) # add-float vAA, vBB, vCC ( 8b, 8b, 8b ) def addfloat(ins, vmap): logger.debug('AddFloat : %s', ins.get_output()) return assign_binary_exp(ins, Op.ADD, 'F', vmap) # sub-float vAA, vBB, vCC ( 8b, 8b, 8b ) def subfloat(ins, vmap): logger.debug('SubFloat : %s', ins.get_output()) return assign_binary_exp(ins, Op.SUB, 'F', vmap) # mul-float vAA, vBB, vCC ( 8b, 8b, 8b ) def mulfloat(ins, vmap): logger.debug('MulFloat : %s', ins.get_output()) return assign_binary_exp(ins, Op.MUL, 'F', vmap) # div-float vAA, vBB, vCC ( 8b, 8b, 8b ) def divfloat(ins, vmap): logger.debug('DivFloat : %s', ins.get_output()) return assign_binary_exp(ins, Op.DIV, 'F', vmap) # rem-float vAA, vBB, vCC ( 8b, 8b, 8b ) def remfloat(ins, vmap): logger.debug('RemFloat : %s', ins.get_output()) return assign_binary_exp(ins, Op.MOD, 'F', vmap) # add-double vAA, vBB, vCC ( 8b, 8b, 8b ) def adddouble(ins, vmap): logger.debug('AddDouble : %s', ins.get_output()) return assign_binary_exp(ins, Op.ADD, 'D', vmap) # sub-double vAA, vBB, vCC ( 8b, 8b, 8b ) def subdouble(ins, vmap): logger.debug('SubDouble : %s', ins.get_output()) return assign_binary_exp(ins, Op.SUB, 'D', vmap) # mul-double vAA, vBB, vCC ( 8b, 8b, 8b ) def muldouble(ins, vmap): logger.debug('MulDouble : %s', ins.get_output()) return assign_binary_exp(ins, Op.MUL, 'D', vmap) # div-double vAA, vBB, vCC ( 8b, 8b, 8b ) def divdouble(ins, vmap): logger.debug('DivDouble : %s', ins.get_output()) return assign_binary_exp(ins, Op.DIV, 'D', vmap) # rem-double vAA, vBB, vCC ( 8b, 8b, 8b ) def remdouble(ins, vmap): logger.debug('RemDouble : %s', ins.get_output()) return assign_binary_exp(ins, Op.MOD, 'D', vmap) # add-int/2addr vA, vB ( 4b, 4b ) def addint2addr(ins, vmap): logger.debug('AddInt2Addr : %s', ins.get_output()) return assign_binary_2addr_exp(ins, Op.ADD, 'I', vmap) # sub-int/2addr vA, vB ( 4b, 4b ) def subint2addr(ins, vmap): logger.debug('SubInt2Addr : %s', ins.get_output()) return assign_binary_2addr_exp(ins, Op.SUB, 'I', vmap) # mul-int/2addr vA, vB ( 4b, 4b ) def mulint2addr(ins, vmap): logger.debug('MulInt2Addr : %s', ins.get_output()) return assign_binary_2addr_exp(ins, Op.MUL, 'I', vmap) # div-int/2addr vA, vB ( 4b, 4b ) def divint2addr(ins, vmap): logger.debug('DivInt2Addr : %s', ins.get_output()) return assign_binary_2addr_exp(ins, Op.DIV, 'I', vmap) # rem-int/2addr vA, vB ( 4b, 4b ) def remint2addr(ins, vmap): logger.debug('RemInt2Addr : %s', ins.get_output()) return assign_binary_2addr_exp(ins, Op.MOD, 'I', vmap) # and-int/2addr vA, vB ( 4b, 4b ) def andint2addr(ins, vmap): logger.debug('AndInt2Addr : %s', ins.get_output()) return assign_binary_2addr_exp(ins, Op.AND, 'I', vmap) # or-int/2addr vA, vB ( 4b, 4b ) def orint2addr(ins, vmap): logger.debug('OrInt2Addr : %s', ins.get_output()) return assign_binary_2addr_exp(ins, Op.OR, 'I', vmap) # xor-int/2addr vA, vB ( 4b, 4b ) def xorint2addr(ins, vmap): logger.debug('XorInt2Addr : %s', ins.get_output()) return assign_binary_2addr_exp(ins, Op.XOR, 'I', vmap) # shl-int/2addr vA, vB ( 4b, 4b ) def shlint2addr(ins, vmap): logger.debug('ShlInt2Addr : %s', ins.get_output()) return assign_binary_2addr_exp(ins, Op.INTSHL, 'I', vmap) # shr-int/2addr vA, vB ( 4b, 4b ) def shrint2addr(ins, vmap): logger.debug('ShrInt2Addr : %s', ins.get_output()) return assign_binary_2addr_exp(ins, Op.INTSHR, 'I', vmap) # ushr-int/2addr vA, vB ( 4b, 4b ) def ushrint2addr(ins, vmap): logger.debug('UShrInt2Addr : %s', ins.get_output()) return assign_binary_2addr_exp(ins, Op.INTSHR, 'I', vmap) # add-long/2addr vA, vB ( 4b, 4b ) def addlong2addr(ins, vmap): logger.debug('AddLong2Addr : %s', ins.get_output()) return assign_binary_2addr_exp(ins, Op.ADD, 'J', vmap) # sub-long/2addr vA, vB ( 4b, 4b ) def sublong2addr(ins, vmap): logger.debug('SubLong2Addr : %s', ins.get_output()) return assign_binary_2addr_exp(ins, Op.SUB, 'J', vmap) # mul-long/2addr vA, vB ( 4b, 4b ) def mullong2addr(ins, vmap): logger.debug('MulLong2Addr : %s', ins.get_output()) return assign_binary_2addr_exp(ins, Op.MUL, 'J', vmap) # div-long/2addr vA, vB ( 4b, 4b ) def divlong2addr(ins, vmap): logger.debug('DivLong2Addr : %s', ins.get_output()) return assign_binary_2addr_exp(ins, Op.DIV, 'J', vmap) # rem-long/2addr vA, vB ( 4b, 4b ) def remlong2addr(ins, vmap): logger.debug('RemLong2Addr : %s', ins.get_output()) return assign_binary_2addr_exp(ins, Op.MOD, 'J', vmap) # and-long/2addr vA, vB ( 4b, 4b ) def andlong2addr(ins, vmap): logger.debug('AndLong2Addr : %s', ins.get_output()) return assign_binary_2addr_exp(ins, Op.AND, 'J', vmap) # or-long/2addr vA, vB ( 4b, 4b ) def orlong2addr(ins, vmap): logger.debug('OrLong2Addr : %s', ins.get_output()) return assign_binary_2addr_exp(ins, Op.OR, 'J', vmap) # xor-long/2addr vA, vB ( 4b, 4b ) def xorlong2addr(ins, vmap): logger.debug('XorLong2Addr : %s', ins.get_output()) return assign_binary_2addr_exp(ins, Op.XOR, 'J', vmap) # shl-long/2addr vA, vB ( 4b, 4b ) def shllong2addr(ins, vmap): logger.debug('ShlLong2Addr : %s', ins.get_output()) return assign_binary_2addr_exp(ins, Op.LONGSHL, 'J', vmap) # shr-long/2addr vA, vB ( 4b, 4b ) def shrlong2addr(ins, vmap): logger.debug('ShrLong2Addr : %s', ins.get_output()) return assign_binary_2addr_exp(ins, Op.LONGSHR, 'J', vmap) # ushr-long/2addr vA, vB ( 4b, 4b ) def ushrlong2addr(ins, vmap): logger.debug('UShrLong2Addr : %s', ins.get_output()) return assign_binary_2addr_exp(ins, Op.LONGSHR, 'J', vmap) # add-float/2addr vA, vB ( 4b, 4b ) def addfloat2addr(ins, vmap): logger.debug('AddFloat2Addr : %s', ins.get_output()) return assign_binary_2addr_exp(ins, Op.ADD, 'F', vmap) # sub-float/2addr vA, vB ( 4b, 4b ) def subfloat2addr(ins, vmap): logger.debug('SubFloat2Addr : %s', ins.get_output()) return assign_binary_2addr_exp(ins, Op.SUB, 'F', vmap) # mul-float/2addr vA, vB ( 4b, 4b ) def mulfloat2addr(ins, vmap): logger.debug('MulFloat2Addr : %s', ins.get_output()) return assign_binary_2addr_exp(ins, Op.MUL, 'F', vmap) # div-float/2addr vA, vB ( 4b, 4b ) def divfloat2addr(ins, vmap): logger.debug('DivFloat2Addr : %s', ins.get_output()) return assign_binary_2addr_exp(ins, Op.DIV, 'F', vmap) # rem-float/2addr vA, vB ( 4b, 4b ) def remfloat2addr(ins, vmap): logger.debug('RemFloat2Addr : %s', ins.get_output()) return assign_binary_2addr_exp(ins, Op.MOD, 'F', vmap) # add-double/2addr vA, vB ( 4b, 4b ) def adddouble2addr(ins, vmap): logger.debug('AddDouble2Addr : %s', ins.get_output()) return assign_binary_2addr_exp(ins, Op.ADD, 'D', vmap) # sub-double/2addr vA, vB ( 4b, 4b ) def subdouble2addr(ins, vmap): logger.debug('subDouble2Addr : %s', ins.get_output()) return assign_binary_2addr_exp(ins, Op.SUB, 'D', vmap) # mul-double/2addr vA, vB ( 4b, 4b ) def muldouble2addr(ins, vmap): logger.debug('MulDouble2Addr : %s', ins.get_output()) return assign_binary_2addr_exp(ins, Op.MUL, 'D', vmap) # div-double/2addr vA, vB ( 4b, 4b ) def divdouble2addr(ins, vmap): logger.debug('DivDouble2Addr : %s', ins.get_output()) return assign_binary_2addr_exp(ins, Op.DIV, 'D', vmap) # rem-double/2addr vA, vB ( 4b, 4b ) def remdouble2addr(ins, vmap): logger.debug('RemDouble2Addr : %s', ins.get_output()) return assign_binary_2addr_exp(ins, Op.MOD, 'D', vmap) # add-int/lit16 vA, vB, #+CCCC ( 4b, 4b, 16b ) def addintlit16(ins, vmap): logger.debug('AddIntLit16 : %s', ins.get_output()) return assign_lit(Op.ADD, ins.CCCC, ins.A, ins.B, vmap) # rsub-int vA, vB, #+CCCC ( 4b, 4b, 16b ) def rsubint(ins, vmap): logger.debug('RSubInt : %s', ins.get_output()) var_a, var_b = get_variables(vmap, ins.A, ins.B) cst = Constant(ins.CCCC, 'I') return AssignExpression(var_a, BinaryExpressionLit(Op.SUB, cst, var_b)) # mul-int/lit16 vA, vB, #+CCCC ( 4b, 4b, 16b ) def mulintlit16(ins, vmap): logger.debug('MulIntLit16 : %s', ins.get_output()) return assign_lit(Op.MUL, ins.CCCC, ins.A, ins.B, vmap) # div-int/lit16 vA, vB, #+CCCC ( 4b, 4b, 16b ) def divintlit16(ins, vmap): logger.debug('DivIntLit16 : %s', ins.get_output()) return assign_lit(Op.DIV, ins.CCCC, ins.A, ins.B, vmap) # rem-int/lit16 vA, vB, #+CCCC ( 4b, 4b, 16b ) def remintlit16(ins, vmap): logger.debug('RemIntLit16 : %s', ins.get_output()) return assign_lit(Op.MOD, ins.CCCC, ins.A, ins.B, vmap) # and-int/lit16 vA, vB, #+CCCC ( 4b, 4b, 16b ) def andintlit16(ins, vmap): logger.debug('AndIntLit16 : %s', ins.get_output()) return assign_lit(Op.AND, ins.CCCC, ins.A, ins.B, vmap) # or-int/lit16 vA, vB, #+CCCC ( 4b, 4b, 16b ) def orintlit16(ins, vmap): logger.debug('OrIntLit16 : %s', ins.get_output()) return assign_lit(Op.OR, ins.CCCC, ins.A, ins.B, vmap) # xor-int/lit16 vA, vB, #+CCCC ( 4b, 4b, 16b ) def xorintlit16(ins, vmap): logger.debug('XorIntLit16 : %s', ins.get_output()) return assign_lit(Op.XOR, ins.CCCC, ins.A, ins.B, vmap) # add-int/lit8 vAA, vBB, #+CC ( 8b, 8b, 8b ) def addintlit8(ins, vmap): logger.debug('AddIntLit8 : %s', ins.get_output()) literal, op = [(ins.CC, Op.ADD), (-ins.CC, Op.SUB)][ins.CC < 0] return assign_lit(op, literal, ins.AA, ins.BB, vmap) # rsub-int/lit8 vAA, vBB, #+CC ( 8b, 8b, 8b ) def rsubintlit8(ins, vmap): logger.debug('RSubIntLit8 : %s', ins.get_output()) var_a, var_b = get_variables(vmap, ins.AA, ins.BB) cst = Constant(ins.CC, 'I') return AssignExpression(var_a, BinaryExpressionLit(Op.SUB, cst, var_b)) # mul-int/lit8 vAA, vBB, #+CC ( 8b, 8b, 8b ) def mulintlit8(ins, vmap): logger.debug('MulIntLit8 : %s', ins.get_output()) return assign_lit(Op.MUL, ins.CC, ins.AA, ins.BB, vmap) # div-int/lit8 vAA, vBB, #+CC ( 8b, 8b, 8b ) def divintlit8(ins, vmap): logger.debug('DivIntLit8 : %s', ins.get_output()) return assign_lit(Op.DIV, ins.CC, ins.AA, ins.BB, vmap) # rem-int/lit8 vAA, vBB, #+CC ( 8b, 8b, 8b ) def remintlit8(ins, vmap): logger.debug('RemIntLit8 : %s', ins.get_output()) return assign_lit(Op.MOD, ins.CC, ins.AA, ins.BB, vmap) # and-int/lit8 vAA, vBB, #+CC ( 8b, 8b, 8b ) def andintlit8(ins, vmap): logger.debug('AndIntLit8 : %s', ins.get_output()) return assign_lit(Op.AND, ins.CC, ins.AA, ins.BB, vmap) # or-int/lit8 vAA, vBB, #+CC ( 8b, 8b, 8b ) def orintlit8(ins, vmap): logger.debug('OrIntLit8 : %s', ins.get_output()) return assign_lit(Op.OR, ins.CC, ins.AA, ins.BB, vmap) # xor-int/lit8 vAA, vBB, #+CC ( 8b, 8b, 8b ) def xorintlit8(ins, vmap): logger.debug('XorIntLit8 : %s', ins.get_output()) return assign_lit(Op.XOR, ins.CC, ins.AA, ins.BB, vmap) # shl-int/lit8 vAA, vBB, #+CC ( 8b, 8b, 8b ) def shlintlit8(ins, vmap): logger.debug('ShlIntLit8 : %s', ins.get_output()) return assign_lit(Op.INTSHL, ins.CC, ins.AA, ins.BB, vmap) # shr-int/lit8 vAA, vBB, #+CC ( 8b, 8b, 8b ) def shrintlit8(ins, vmap): logger.debug('ShrIntLit8 : %s', ins.get_output()) return assign_lit(Op.INTSHR, ins.CC, ins.AA, ins.BB, vmap) # ushr-int/lit8 vAA, vBB, #+CC ( 8b, 8b, 8b ) def ushrintlit8(ins, vmap): logger.debug('UShrIntLit8 : %s', ins.get_output()) return assign_lit(Op.INTSHR, ins.CC, ins.AA, ins.BB, vmap) INSTRUCTION_SET = [ # 0x00 nop, # nop move, # move movefrom16, # move/from16 move16, # move/16 movewide, # move-wide movewidefrom16, # move-wide/from16 movewide16, # move-wide/16 moveobject, # move-object moveobjectfrom16, # move-object/from16 moveobject16, # move-object/16 moveresult, # move-result moveresultwide, # move-result-wide moveresultobject, # move-result-object moveexception, # move-exception returnvoid, # return-void return_reg, # return # 0x10 returnwide, # return-wide returnobject, # return-object const4, # const/4 const16, # const/16 const, # const consthigh16, # const/high16 constwide16, # const-wide/16 constwide32, # const-wide/32 constwide, # const-wide constwidehigh16, # const-wide/high16 conststring, # const-string conststringjumbo, # const-string/jumbo constclass, # const-class monitorenter, # monitor-enter monitorexit, # monitor-exit checkcast, # check-cast # 0x20 instanceof, # instance-of arraylength, # array-length newinstance, # new-instance newarray, # new-array fillednewarray, # filled-new-array fillednewarrayrange, # filled-new-array/range fillarraydata, # fill-array-data throw, # throw goto, # goto goto16, # goto/16 goto32, # goto/32 packedswitch, # packed-switch sparseswitch, # sparse-switch cmplfloat, # cmpl-float cmpgfloat, # cmpg-float cmpldouble, # cmpl-double # 0x30 cmpgdouble, # cmpg-double cmplong, # cmp-long ifeq, # if-eq ifne, # if-ne iflt, # if-lt ifge, # if-ge ifgt, # if-gt ifle, # if-le ifeqz, # if-eqz ifnez, # if-nez ifltz, # if-ltz ifgez, # if-gez ifgtz, # if-gtz iflez, # if-l nop, # unused nop, # unused # 0x40 nop, # unused nop, # unused nop, # unused nop, # unused aget, # aget agetwide, # aget-wide agetobject, # aget-object agetboolean, # aget-boolean agetbyte, # aget-byte agetchar, # aget-char agetshort, # aget-short aput, # aput aputwide, # aput-wide aputobject, # aput-object aputboolean, # aput-boolean aputbyte, # aput-byte # 0x50 aputchar, # aput-char aputshort, # aput-short iget, # iget igetwide, # iget-wide igetobject, # iget-object igetboolean, # iget-boolean igetbyte, # iget-byte igetchar, # iget-char igetshort, # iget-short iput, # iput iputwide, # iput-wide iputobject, # iput-object iputboolean, # iput-boolean iputbyte, # iput-byte iputchar, # iput-char iputshort, # iput-short # 0x60 sget, # sget sgetwide, # sget-wide sgetobject, # sget-object sgetboolean, # sget-boolean sgetbyte, # sget-byte sgetchar, # sget-char sgetshort, # sget-short sput, # sput sputwide, # sput-wide sputobject, # sput-object sputboolean, # sput-boolean sputbyte, # sput-byte sputchar, # sput-char sputshort, # sput-short invokevirtual, # invoke-virtual invokesuper, # invoke-super # 0x70 invokedirect, # invoke-direct invokestatic, # invoke-static invokeinterface, # invoke-interface nop, # unused invokevirtualrange, # invoke-virtual/range invokesuperrange, # invoke-super/range invokedirectrange, # invoke-direct/range invokestaticrange, # invoke-static/range invokeinterfacerange, # invoke-interface/range nop, # unused nop, # unused negint, # neg-int notint, # not-int neglong, # neg-long notlong, # not-long negfloat, # neg-float # 0x80 negdouble, # neg-double inttolong, # int-to-long inttofloat, # int-to-float inttodouble, # int-to-double longtoint, # long-to-int longtofloat, # long-to-float longtodouble, # long-to-double floattoint, # float-to-int floattolong, # float-to-long floattodouble, # float-to-double doubletoint, # double-to-int doubletolong, # double-to-long doubletofloat, # double-to-float inttobyte, # int-to-byte inttochar, # int-to-char inttoshort, # int-to-short # 0x90 addint, # add-int subint, # sub-int mulint, # mul-int divint, # div-int remint, # rem-int andint, # and-int orint, # or-int xorint, # xor-int shlint, # shl-int shrint, # shr-int ushrint, # ushr-int addlong, # add-long sublong, # sub-long mullong, # mul-long divlong, # div-long remlong, # rem-long # 0xa0 andlong, # and-long orlong, # or-long xorlong, # xor-long shllong, # shl-long shrlong, # shr-long ushrlong, # ushr-long addfloat, # add-float subfloat, # sub-float mulfloat, # mul-float divfloat, # div-float remfloat, # rem-float adddouble, # add-double subdouble, # sub-double muldouble, # mul-double divdouble, # div-double remdouble, # rem-double # 0xb0 addint2addr, # add-int/2addr subint2addr, # sub-int/2addr mulint2addr, # mul-int/2addr divint2addr, # div-int/2addr remint2addr, # rem-int/2addr andint2addr, # and-int/2addr orint2addr, # or-int/2addr xorint2addr, # xor-int/2addr shlint2addr, # shl-int/2addr shrint2addr, # shr-int/2addr ushrint2addr, # ushr-int/2addr addlong2addr, # add-long/2addr sublong2addr, # sub-long/2addr mullong2addr, # mul-long/2addr divlong2addr, # div-long/2addr remlong2addr, # rem-long/2addr # 0xc0 andlong2addr, # and-long/2addr orlong2addr, # or-long/2addr xorlong2addr, # xor-long/2addr shllong2addr, # shl-long/2addr shrlong2addr, # shr-long/2addr ushrlong2addr, # ushr-long/2addr addfloat2addr, # add-float/2addr subfloat2addr, # sub-float/2addr mulfloat2addr, # mul-float/2addr divfloat2addr, # div-float/2addr remfloat2addr, # rem-float/2addr adddouble2addr, # add-double/2addr subdouble2addr, # sub-double/2addr muldouble2addr, # mul-double/2addr divdouble2addr, # div-double/2addr remdouble2addr, # rem-double/2addr # 0xd0 addintlit16, # add-int/lit16 rsubint, # rsub-int mulintlit16, # mul-int/lit16 divintlit16, # div-int/lit16 remintlit16, # rem-int/lit16 andintlit16, # and-int/lit16 orintlit16, # or-int/lit16 xorintlit16, # xor-int/lit16 addintlit8, # add-int/lit8 rsubintlit8, # rsub-int/lit8 mulintlit8, # mul-int/lit8 divintlit8, # div-int/lit8 remintlit8, # rem-int/lit8 andintlit8, # and-int/lit8 orintlit8, # or-int/lit8 xorintlit8, # xor-int/lit8 # 0xe0 shlintlit8, # shl-int/lit8 shrintlit8, # shr-int/lit8 ushrintlit8, # ushr-int/lit8 ] androguard-3.1.0-rc2/androguard/decompiler/dad/tests/000077500000000000000000000000001324327352200224735ustar00rootroot00000000000000androguard-3.1.0-rc2/androguard/decompiler/dad/tests/dataflow_test.py000066400000000000000000000343331324327352200257130ustar00rootroot00000000000000"""Tests for def_use.""" import sys sys.path.append('.') import collections import mock import unittest from androguard.decompiler.dad import dataflow from androguard.decompiler.dad import graph from androguard.decompiler.dad import instruction from androguard.decompiler.dad import basic_blocks class DataflowTest(unittest.TestCase): def assertItemsEqual(self, a, b): """ This method was renamed in python3. To provide compability with python2, we added this wrapper. """ try: return super(DataflowTest, self).assertItemsEqual(a, b) except AttributeError as e: return self.assertCountEqual(a, b) def _CreateMockIns(self, uses, lhs=None): mock_ins = mock.create_autospec(instruction.IRForm) mock_ins.get_used_vars.return_value = uses mock_ins.get_lhs.return_value = lhs return mock_ins def _CreateMockNode(self, node_name, start_ins_idx, lins): mock_node = mock.create_autospec( basic_blocks.BasicBlock, _name=node_name) mock_node.__repr__ = mock.Mock(return_value=node_name) loc_ins = [] ins_idx = start_ins_idx for ins in lins: uses, lhs = ins mock_ins = self._CreateMockIns(uses) mock_ins.get_lhs.return_value = lhs loc_ins.append((ins_idx, mock_ins)) ins_idx += 1 mock_node.get_loc_with_ins.return_value = loc_ins return mock_node def _CreateMockGraph(self, lparams, lidx_ins): entry = mock.create_autospec(basic_blocks.BasicBlock) rpo = [entry] node_num = 1 for idx, lins in lidx_ins: rpo.append(self._CreateMockNode('n%d' % node_num, idx, lins)) node_num += 1 G = mock.create_autospec(graph.Graph) G.rpo = rpo return G """ This tests the reach def analysis with: int GCD(int a, int b){ node1: 0. int c = a; 1. int d = b; node2: 2. if(c == 0) node3: 3. ret = d; (goto 9.) node4: 4. while(d != 0){ node5 5. if(c > d) node6: 6. c = c - d; node7: else 7. d = d - c; node8: } 8. ret = c; node9: 9. return ret; } """ def testReachDefGCD(self): n1 = self._CreateMockNode('n1', 0, [(['a'], 'c'), (['b'], 'd')]) n2 = self._CreateMockNode('n2', 2, [(['c'], None)]) n3 = self._CreateMockNode('n3', 3, [(['d'], 'ret')]) n4 = self._CreateMockNode('n4', 4, [(['d'], None)]) n5 = self._CreateMockNode('n5', 5, [(['c', 'd'], None)]) n6 = self._CreateMockNode('n6', 6, [(['c', 'd'], 'c')]) n7 = self._CreateMockNode('n7', 7, [(['c', 'd'], 'd')]) n8 = self._CreateMockNode('n8', 8, [(['c'], 'ret')]) n9 = self._CreateMockNode('n9', 9, [(['ret'], None)]) sucs = { n1: [n2], n2: [n3, n4], n3: [n9], n4: [n5, n8], n5: [n6, n7], n6: [n8], n7: [n8], n8: [n9] } preds = collections.defaultdict(list) for pred, lsucs in sucs.items(): for suc in lsucs: preds[suc].append(pred) def add_edge(x, y): sucs.setdefault(x, []).append(y) preds.setdefault(y, []).append(x) graph_mock = mock.create_autospec(graph.Graph) graph_mock.entry = n1 graph_mock.exit = n9 graph_mock.rpo = [n1, n2, n3, n4, n5, n6, n7, n8, n9] graph_mock.all_preds.side_effect = lambda x: preds[x] graph_mock.all_sucs.side_effect = lambda x: sucs.get(x, []) graph_mock.add_edge.side_effect = add_edge with mock.patch.object(dataflow, 'DummyNode') as dummynode_mock: dummy_entry_mock = mock.Mock(name='entry') dummy_exit_mock = mock.Mock(name='exit') for dummy_mock in dummy_entry_mock, dummy_exit_mock: dummy_mock.get_loc_with_ins.return_value = [] dummynode_mock.side_effect = [dummy_entry_mock, dummy_exit_mock] analysis = dataflow.reach_def_analysis(graph_mock, ['a', 'b']) expected_A = { dummy_entry_mock: set([-2, -1]), n1: set([-2, -1, 0, 1]), n2: set([-2, -1, 0, 1]), n3: set([-2, -1, 0, 1, 3]), n4: set([-2, -1, 0, 1]), n5: set([-2, -1, 0, 1]), n6: set([-2, -1, 1, 6]), n7: set([-2, -1, 0, 7]), n8: set([-2, -1, 0, 1, 6, 7, 8]), n9: set([-2, -1, 0, 1, 3, 6, 7, 8]), dummy_exit_mock: set([-2, -1, 0, 1, 3, 6, 7, 8]) } expected_R = { n1: set([-2, -1]), n2: set([-2, -1, 0, 1]), n3: set([-2, -1, 0, 1]), n4: set([-2, -1, 0, 1]), n5: set([-2, -1, 0, 1]), n6: set([-2, -1, 0, 1]), n7: set([-2, -1, 0, 1]), n8: set([-2, -1, 0, 1, 6, 7]), n9: set([-2, -1, 0, 1, 3, 6, 7, 8]), dummy_exit_mock: set([-2, -1, 0, 1, 3, 6, 7, 8]) } expected_def_to_loc = { 'a': set([-1]), 'b': set([-2]), 'c': set([0, 6]), 'd': set([1, 7]), 'ret': set([3, 8]) } self.assertDictEqual(analysis.A, expected_A) self.assertDictEqual(analysis.R, expected_R) self.assertItemsEqual(analysis.def_to_loc, expected_def_to_loc) @mock.patch.object(dataflow, 'reach_def_analysis') def testDefUseGCD(self, mock_reach_def): """Test def use with the GCD function above.""" n1 = self._CreateMockNode('n1', 0, [(['a'], 'c'), (['b'], 'd')]) n2 = self._CreateMockNode('n2', 2, [(['c'], None)]) n3 = self._CreateMockNode('n3', 3, [(['d'], 'ret')]) n4 = self._CreateMockNode('n4', 4, [(['d'], None)]) n5 = self._CreateMockNode('n5', 5, [(['c', 'd'], None)]) n6 = self._CreateMockNode('n6', 6, [(['c', 'd'], 'c')]) n7 = self._CreateMockNode('n7', 7, [(['c', 'd'], 'd')]) n8 = self._CreateMockNode('n8', 8, [(['c'], 'ret')]) n9 = self._CreateMockNode('n9', 9, [(['ret'], None)]) graph_mock = mock.create_autospec(graph.Graph) graph_mock.rpo = [n1, n2, n3, n4, n5, n6, n7, n8, n9] mock_analysis = mock_reach_def.return_value mock_analysis.def_to_loc = { 'a': set([-1]), 'b': set([-2]), 'c': set([0, 6]), 'd': set([1, 7]), 'ret': set([3, 8]) } mock_analysis.defs = { n1: {'c': set([0]), 'd': set([1])}, n2: {}, n3: {'ret': set([3])}, n4: {}, n5: {}, n6: {'c': set([6])}, n7: {'d': set([7])}, n8: {'ret': set([8])}, n9: {} } mock_analysis.R = { n1: set([-2, -1]), n2: set([-2, -1, 0, 1]), n3: set([-2, -1, 0, 1]), n4: set([-2, -1, 0, 1]), n5: set([-2, -1, 0, 1]), n6: set([-2, -1, 0, 1]), n7: set([-2, -1, 0, 1]), n8: set([-2, -1, 0, 1, 6, 7]), n9: set([-2, -1, 0, 1, 3, 6, 7, 8]) } expected_du = { ('a', -1): [0], ('b', -2): [1], ('c', 0): [2, 5, 6, 7, 8], ('c', 6): [8], ('d', 1): [3, 4, 5, 6, 7], ('ret', 3): [9], ('ret', 8): [9] } expected_ud = { ('a', 0): [-1], ('b', 1): [-2], ('c', 2): [0], ('c', 5): [0], ('c', 6): [0], ('c', 7): [0], ('c', 8): [0, 6], ('d', 3): [1], ('d', 4): [1], ('d', 5): [1], ('d', 6): [1], ('d', 7): [1], ('ret', 9): [3, 8] } ud, du = dataflow.build_def_use(graph_mock, mock.sentinel) self.assertItemsEqual(du, expected_du) for entry in du: self.assertItemsEqual(du[entry], expected_du[entry]) self.assertItemsEqual(ud, expected_ud) for entry in ud: self.assertItemsEqual(ud[entry], expected_ud[entry]) @mock.patch.object(dataflow, 'reach_def_analysis') def testDefUseIfBool(self, mock_reach_def): n1 = self._CreateMockNode('n1', 0, [([], 0), ([2], None)]) n2 = self._CreateMockNode('n1', 2, [([3], None)]) n3 = self._CreateMockNode('n3', 3, [([3], None)]) n4 = self._CreateMockNode('n4', 4, [([], 0)]) n5 = self._CreateMockNode('n5', 5, [([0], 0)]) n6 = self._CreateMockNode('n6', 6, [([2], 1), ([0, 1], 0)]) n7 = self._CreateMockNode('n7', 8, [([0], None)]) graph_mock = mock.create_autospec(graph.Graph) graph_mock.rpo = [n1, n2, n3, n4, n5, n6, n7] mock_analysis = mock_reach_def.return_value mock_analysis.def_to_loc = { 0: set([0, 4, 5, 7]), 1: set([6]), 2: set([-1]), 3: set([-2]) } mock_analysis.defs = { n1: {0: set([0])}, n2: {}, n3: {}, n4: {0: set([4])}, n5: {0: set([5])}, n6: {0: set([7]), 1: set([6])}, n7: {} } mock_analysis.R = { n1: set([-1, -2]), n2: set([0, -2, -1]), n3: set([0, -1, -2]), n4: set([0, -2, -1]), n5: set([0, -2, -1]), n6: set([0, -1, -2]), n7: set([4, -1, 6, 7, -2, 5]) } expected_du = { (0, 0): [7, 5], (0, 4): [8], (0, 5): [8], (0, 7): [8], (1, 6): [7], (2, -1): [6, 1], (3, -2): [2, 3] } expected_ud = { (0, 5): [0], (0, 7): [0], (0, 8): [4, 5, 7], (1, 7): [6], (2, 1): [-1], (2, 6): [-1], (3, 2): [-2], (3, 3): [-2] } ud, du = dataflow.build_def_use(graph_mock, mock.sentinel) self.assertEqual(ud, expected_ud) self.assertItemsEqual(du, expected_du) def testGroupVariablesGCD(self): du = { ('a', -1): [0], ('b', -2): [1], ('c', 0): [2, 5, 6, 7, 8], ('c', 6): [8], ('d', 1): [3, 4, 5, 6, 7], ('ret', 3): [9], ('ret', 8): [9] } ud = { ('a', 0): [-1], ('b', 1): [-2], ('c', 2): [0], ('c', 5): [0], ('c', 6): [0], ('c', 7): [0], ('c', 8): [0, 6], ('d', 3): [1], ('d', 4): [1], ('d', 5): [1], ('d', 6): [1], ('d', 7): [1], ('ret', 9): [3, 8] } expected_groups = { 'a': [([-1], [0])], 'b': [([-2], [1])], 'c': [([0, 6], [8, 2, 5, 6, 7])], 'd': [([1], [3, 4, 5, 6, 7])], 'ret': [([3, 8], [9])] } groups = dataflow.group_variables(['a', 'b', 'c', 'd', 'ret'], du, ud) self.assertItemsEqual(groups, expected_groups) def testGroupVariablesIfBool(self): du = { (0, 0): [7, 5], (0, 4): [8], (0, 5): [8], (0, 7): [8], (1, 6): [7], (2, -1): [6, 1], (3, -2): [2, 3] } ud = { (0, 5): [0], (0, 7): [0], (0, 8): [4, 5, 7], (1, 7): [6], (2, 1): [-1], (2, 6): [-1], (3, 2): [-2], (3, 3): [-2] } groups = dataflow.group_variables([0, 1, 2, 3], du, ud) expected_groups = { 0: [([0], [5, 7]), ([4, 5, 7], [8])], 1: [([6], [7])], 2: [([-1], [1, 6])], 3: [([-2], [2, 3])] } self.assertItemsEqual(groups, expected_groups) for entry in groups: self.assertItemsEqual(groups[entry], expected_groups[entry]) @mock.patch.object(dataflow, 'group_variables') def testSplitVariablesGCD(self, group_variables_mock): group = { 'a': [([-1], [0])], 'b': [([-2], [1])], 'c': [([0, 6], [2, 5, 6, 7, 8])], 'd': [([1], [3, 4, 5, 6, 7])], 'ret': [([3, 8], [9])] } group_variables_mock.return_value = group dataflow.split_variables( mock.sentinel, [0, 1, 2, 3, 4], mock.sentinel, mock.sentinel) @mock.patch.object(dataflow, 'group_variables') def testSplitVariablesIfBool(self, group_variables_mock): group = { 0: [([0], [5, 7]), ([4, 5, 7], [8])], 1: [([6], [7])], 2: [([-1], [1, 6])], 3: [([-2], [2, 3])] } group_variables_mock.return_value = group param1_mock = mock.Mock() param2_mock = mock.Mock() var0_mock = mock.Mock() var1_mock = mock.Mock() lvars = {0: var0_mock, 1: var1_mock, 2: param1_mock, 3: param2_mock} du = { (0, 0): [7, 5], (0, 4): [8], (0, 5): [8], (0, 7): [8], (1, 6): [7], (2, -1): [6, 1], (3, -2): [2, 3] } ud = { (0, 5): [0], (0, 7): [0], (0, 8): [4, 5, 7], (1, 7): [6], (2, 1): [-1], (2, 6): [-1], (3, 2): [-2], (3, 3): [-2] } graph_mock = mock.Mock() dataflow.split_variables(graph_mock, lvars, du, ud) expected_du = { (1, 6): [7], (2, -1): [6, 1], (3, -2): [2, 3], (4, 0): [7, 5], (5, 4): [8], (5, 5): [8], (5, 7): [8] } expected_ud = { (1, 7): [6], (2, 1): [-1], (2, 6): [-1], (3, 2): [-2], (3, 3): [-2], (4, 5): [0], (4, 7): [0], (5, 8): [4, 5, 7] } self.assertEqual(du, expected_du) self.assertEqual(ud, expected_ud) if __name__ == '__main__': unittest.main() androguard-3.1.0-rc2/androguard/decompiler/dad/tests/dominator_test.py000066400000000000000000000171211324327352200261020ustar00rootroot00000000000000"""Tests for graph.""" import sys sys.path.append('.') import unittest from androguard.decompiler.dad import graph class DominatorTest(unittest.TestCase): def setUp(self): self.graph = graph.Graph() def tearDown(self): self.graph = None def testTarjanGraph(self): edges = { 'r': ['a', 'b', 'c'], 'a': ['d'], 'b': ['a', 'd', 'e'], 'c': ['f', 'g'], 'd': ['l'], 'e': ['h'], 'f': ['i'], 'g': ['i', 'j'], 'h': ['e', 'k'], 'i': ['k'], 'j': ['i'], 'k': ['i', 'r'], 'l': ['h'] } expected_dominators = { 'r': None, 'a': 'r', 'b': 'r', 'c': 'r', 'd': 'r', 'e': 'r', 'f': 'c', 'g': 'c', 'h': 'r', 'i': 'r', 'j': 'g', 'k': 'r', 'l': 'd' } self.graph.entry = 'r' self.graph.edges = edges self.graph.nodes = list(expected_dominators.keys()) self.assertEqual(expected_dominators, self.graph.immediate_dominators()) def testFirstGraph(self): edges = { 'r': ['w1', 'x1', 'z5'], 'w1': ['w2'], 'w2': ['w3'], 'w3': ['w4'], 'w4': ['w5'], 'x1': ['x2'], 'x2': ['x3'], 'x3': ['x4'], 'x4': ['x5'], 'x5': ['y1'], 'y1': ['w1', 'w2', 'w3', 'w4', 'w5', 'y2'], 'y2': ['w1', 'w2', 'w3', 'w4', 'w5', 'y3'], 'y3': ['w1', 'w2', 'w3', 'w4', 'w5', 'y4'], 'y4': ['w1', 'w2', 'w3', 'w4', 'w5', 'y5'], 'y5': ['w1', 'w2', 'w3', 'w4', 'w5', 'z1'], 'z1': ['z2'], 'z2': ['z1', 'z3'], 'z3': ['z2', 'z4'], 'z4': ['z3', 'z5'], 'z5': ['z4'] } expected_dominators = { 'r': None, 'w1': 'r', 'w2': 'r', 'w3': 'r', 'w4': 'r', 'w5': 'r', 'x1': 'r', 'x2': 'x1', 'x3': 'x2', 'x4': 'x3', 'x5': 'x4', 'y1': 'x5', 'y2': 'y1', 'y3': 'y2', 'y4': 'y3', 'y5': 'y4', 'z1': 'r', 'z2': 'r', 'z3': 'r', 'z4': 'r', 'z5': 'r' } self.graph.entry = 'r' self.graph.edges = edges self.graph.nodes = list(expected_dominators.keys()) self.assertEqual(expected_dominators, self.graph.immediate_dominators()) def testSecondGraph(self): edges = { 'r': ['y1', 'x12'], 'y1': ['y2', 'x11'], 'y2': ['x21'], 'x11': ['x12', 'x22'], 'x12': ['x11'], 'x21': ['x22'], 'x22': ['x21'] } expected_dominators = { 'r': None, 'y1': 'r', 'y2': 'y1', 'x11': 'r', 'x12': 'r', 'x21': 'r', 'x22': 'r' } self.graph.entry = 'r' self.graph.edges = edges self.graph.nodes = list(expected_dominators.keys()) self.assertEqual(expected_dominators, self.graph.immediate_dominators()) def testThirdGraph(self): edges = { 'r': ['w', 'y1'], 'w': ['x1', 'x2'], 'y1': ['y2'], 'y2': ['x2'], 'x2': ['x1'] } expected_dominators = { 'r': None, 'w': 'r', 'x1': 'r', 'y1': 'r', 'y2': 'y1', 'x1': 'r', 'x2': 'r' } self.graph.entry = 'r' self.graph.edges = edges self.graph.nodes = list(expected_dominators.keys()) self.assertEqual(expected_dominators, self.graph.immediate_dominators()) def testFourthGraph(self): edges = {'r': ['x1', 'y1', 'y2'], 'x1': ['x2'], 'x2': ['y1', 'y2']} expected_dominators = { 'r': None, 'x1': 'r', 'x2': 'x1', 'y1': 'r', 'y2': 'r' } self.graph.entry = 'r' self.graph.edges = edges self.graph.nodes = list(expected_dominators.keys()) self.assertEqual(expected_dominators, self.graph.immediate_dominators()) def testFifthGraph(self): edges = { 'r': ['a', 'i'], 'a': ['b', 'c'], 'b': ['c', 'e', 'g'], 'c': ['d'], 'd': ['i'], 'e': ['c', 'f'], 'f': ['i'], 'g': ['h'], 'h': ['d', 'f', 'i'] } expected_dominators = { 'r': None, 'a': 'r', 'b': 'a', 'c': 'a', 'd': 'a', 'e': 'b', 'f': 'b', 'g': 'b', 'h': 'g', 'i': 'r' } self.graph.entry = 'r' self.graph.edges = edges self.graph.nodes = list(expected_dominators.keys()) self.assertEqual(expected_dominators, self.graph.immediate_dominators()) def testLinearVitGraph(self): edges = { 'r': ['w', 'y'], 'w': ['x1'], 'y': ['x7'], 'x1': ['x2'], 'x2': ['x1', 'x3'], 'x3': ['x2', 'x4'], 'x4': ['x3', 'x5'], 'x5': ['x4', 'x6'], 'x6': ['x5', 'x7'], 'x7': ['x6'] } expected_dominators = { 'r': None, 'w': 'r', 'y': 'r', 'x1': 'r', 'x2': 'r', 'x3': 'r', 'x4': 'r', 'x5': 'r', 'x6': 'r', 'x7': 'r' } self.graph.entry = 'r' self.graph.edges = edges self.graph.nodes = list(expected_dominators.keys()) self.assertEqual(expected_dominators, self.graph.immediate_dominators()) def testCrossGraph(self): edges = { 'r': ['a', 'd'], 'a': ['b'], 'b': ['c'], 'c': ['a', 'd', 'g'], 'd': ['e'], 'e': ['f'], 'f': ['a', 'd', 'g'] } expected_dominators = { 'r': None, 'a': 'r', 'b': 'a', 'c': 'b', 'd': 'r', 'e': 'd', 'f': 'e', 'g': 'r' } self.graph.entry = 'r' self.graph.edges = edges self.graph.nodes = list(expected_dominators.keys()) self.assertEqual(expected_dominators, self.graph.immediate_dominators()) def testTVerifyGraph(self): edges = { 'n1': ['n2', 'n8'], 'n2': ['n3'], 'n3': ['n4', 'n8', 'n9'], 'n4': ['n3', 'n5', 'n6', 'n7'], 'n5': ['n4'], 'n6': ['n5'], 'n7': ['n6'], 'n8': ['n9', 'n12'], 'n9': ['n10', 'n11', 'n12'], 'n10': ['n11'], 'n11': ['n7'], 'n12': ['n10'] } expected_dominators = { 'n1': None, 'n2': 'n1', 'n3': 'n1', 'n4': 'n1', 'n5': 'n1', 'n6': 'n1', 'n7': 'n1', 'n8': 'n1', 'n9': 'n1', 'n10': 'n1', 'n11': 'n1', 'n12': 'n1' } self.graph.entry = 'n1' self.graph.edges = edges self.graph.nodes = list(expected_dominators.keys()) self.assertEqual(expected_dominators, self.graph.immediate_dominators()) if __name__ == '__main__': unittest.main() androguard-3.1.0-rc2/androguard/decompiler/dad/tests/rpo_test.py000066400000000000000000000202261324327352200247060ustar00rootroot00000000000000"""Tests for rpo.""" import sys sys.path.append('.') import unittest from androguard.decompiler.dad import graph from androguard.decompiler.dad import node class NodeTest(node.Node): def __init__(self, name): super(NodeTest, self).__init__(name) def __str__(self): return '%s (%d)' % (self.name, self.num) class RpoTest(unittest.TestCase): def _getNode(self, node_map, n): ret_node = node_map.get(n) if not ret_node: ret_node = node_map[n] = NodeTest(n) self.graph.add_node(ret_node) return ret_node def _createGraphFrom(self, edges): node_map = {} for n, childs in edges.items(): if n is None: continue parent_node = self._getNode(node_map, n) for child in childs: child_node = self._getNode(node_map, child) self.graph.add_edge(parent_node, child_node) self.graph.entry = node_map[edges[None]] return node_map def _verifyRpo(self, node_map, expected_rpo): for n1, n2 in expected_rpo.items(): self.assertEqual(node_map[n1].num, n2) def setUp(self): self.graph = graph.Graph() def tearDown(self): self.graph = None def testTarjanGraph(self): edges = { None: 'r', 'r': ['a', 'b', 'c'], 'a': ['d'], 'b': ['a', 'd', 'e'], 'c': ['f', 'g'], 'd': ['l'], 'e': ['h'], 'f': ['i'], 'g': ['i', 'j'], 'h': ['e', 'k'], 'i': ['k'], 'j': ['i'], 'k': ['i', 'r'], 'l': ['h'] } n_map = self._createGraphFrom(edges) self.graph.compute_rpo() # self.graph.draw('_testTarjan_graph', '/tmp') expected_rpo = { 'r': 1, 'a': 7, 'b': 6, 'c': 2, 'd': 8, 'e': 13, 'f': 5, 'g': 3, 'h': 10, 'i': 12, 'j': 4, 'k': 11, 'l': 9 } self._verifyRpo(n_map, expected_rpo) def testFirstGraph(self): edges = { None: 'r', 'r': ['w1', 'x1', 'z5'], 'w1': ['w2'], 'w2': ['w3'], 'w3': ['w4'], 'w4': ['w5'], 'x1': ['x2'], 'x2': ['x3'], 'x3': ['x4'], 'x4': ['x5'], 'x5': ['y1'], 'y1': ['w1', 'w2', 'w3', 'w4', 'w5', 'y2'], 'y2': ['w1', 'w2', 'w3', 'w4', 'w5', 'y3'], 'y3': ['w1', 'w2', 'w3', 'w4', 'w5', 'y4'], 'y4': ['w1', 'w2', 'w3', 'w4', 'w5', 'y5'], 'y5': ['w1', 'w2', 'w3', 'w4', 'w5', 'z1'], 'z1': ['z2'], 'z2': ['z1', 'z3'], 'z3': ['z2', 'z4'], 'z4': ['z3', 'z5'], 'z5': ['z4'] } n_map = self._createGraphFrom(edges) self.graph.compute_rpo() # self.graph.draw('_testFirst_graph', '/tmp') expected_rpo = { 'r': 1, 'x1': 2, 'x2': 3, 'x3': 4, 'x4': 5, 'x5': 6, 'w1': 17, 'w2': 18, 'w3': 19, 'w4': 20, 'w5': 21, 'y1': 7, 'y2': 8, 'y3': 9, 'y4': 10, 'y5': 11, 'z1': 12, 'z2': 13, 'z3': 14, 'z4': 15, 'z5': 16 } self._verifyRpo(n_map, expected_rpo) def testSecondGraph(self): edges = { None: 'r', 'r': ['y1', 'x12'], 'x11': ['x12', 'x22'], 'x12': ['x11'], 'x21': ['x22'], 'x22': ['x21'], 'y1': ['y2', 'x11'], 'y2': ['x21'] } n_map = self._createGraphFrom(edges) self.graph.compute_rpo() # self.graph.draw('_testSecond_graph', '/tmp') expected_rpo = { 'r': 1, 'x11': 3, 'x12': 4, 'x21': 6, 'x22': 7, 'y1': 2, 'y2': 5 } self._verifyRpo(n_map, expected_rpo) def testThirdGraph(self): edges = { None: 'r', 'r': ['w', 'y1'], 'w': ['x1', 'x2'], 'x2': ['x1'], 'y1': ['y2'], 'y2': ['x2'] } n_map = self._createGraphFrom(edges) self.graph.compute_rpo() ##self.graph.draw('_testThird_graph', '/tmp') expected_rpo = {'r': 1, 'w': 4, 'x1': 6, 'x2': 5, 'y1': 2, 'y2': 3} self._verifyRpo(n_map, expected_rpo) def testFourthGraph(self): edges = { None: 'r', 'r': ['x1', 'y1', 'y2'], 'x1': ['x2'], 'x2': ['y1', 'y2'] } n_map = self._createGraphFrom(edges) self.graph.compute_rpo() # self.graph.draw('_testFourth_graph', '/tmp') expected_rpo = {'r': 1, 'x1': 2, 'x2': 3, 'y1': 5, 'y2': 4} self._verifyRpo(n_map, expected_rpo) def testFifthGraph(self): edges = { None: 'r', 'r': ['a', 'i'], 'a': ['b', 'c'], 'b': ['c', 'e', 'g'], 'c': ['d'], 'd': ['i'], 'e': ['c', 'f'], 'f': ['i'], 'g': ['h'], 'h': ['d', 'f', 'i'] } n_map = self._createGraphFrom(edges) self.graph.compute_rpo() # self.graph.draw('_testFifth_graph', '/tmp') expected_rpo = { 'r': 1, 'a': 2, 'b': 3, 'c': 8, 'd': 9, 'e': 6, 'f': 7, 'g': 4, 'h': 5, 'i': 10 } self._verifyRpo(n_map, expected_rpo) def testLinearVitGraph(self): edges = { None: 'r', 'r': ['w', 'y'], 'w': ['x1'], 'y': ['x7'], 'x1': ['x2'], 'x2': ['x1', 'x3'], 'x3': ['x2', 'x4'], 'x4': ['x3', 'x5'], 'x5': ['x4', 'x6'], 'x6': ['x5', 'x7'], 'x7': ['x6'] } n_map = self._createGraphFrom(edges) self.graph.compute_rpo() # self.graph.draw('_testLinearVit_graph', '/tmp') expected_rpo = { 'r': 1, 'w': 3, 'x1': 4, 'x2': 5, 'x3': 6, 'x4': 7, 'x5': 8, 'x6': 9, 'x7': 10, 'y': 2 } self._verifyRpo(n_map, expected_rpo) def testCrossGraph(self): edges = { None: 'r', 'r': ['a', 'd'], 'a': ['b'], 'b': ['c'], 'c': ['a', 'd', 'g'], 'd': ['e'], 'e': ['f'], 'f': ['a', 'd', 'g'] } n_map = self._createGraphFrom(edges) self.graph.compute_rpo() # self.graph.draw('_testCross_graph', '/tmp') expected_rpo = { 'r': 1, 'a': 2, 'b': 3, 'c': 4, 'd': 5, 'e': 6, 'f': 7, 'g': 8 } self._verifyRpo(n_map, expected_rpo) def testTVerifyGraph(self): edges = { None: 'n1', 'n1': ['n2', 'n8'], 'n2': ['n3'], 'n3': ['n4', 'n8', 'n9'], 'n4': ['n3', 'n5', 'n6', 'n7'], 'n5': ['n4'], 'n6': ['n5'], 'n7': ['n6'], 'n8': ['n9', 'n12'], 'n9': ['n10', 'n11', 'n12'], 'n10': ['n11'], 'n11': ['n7'], 'n12': ['n10'] } n_map = self._createGraphFrom(edges) self.graph.compute_rpo() # self.graph.draw('_testTVerify_graph', '/tmp') expected_rpo = { 'n1': 1, 'n2': 2, 'n3': 3, 'n4': 9, 'n5': 12, 'n6': 11, 'n7': 10, 'n8': 4, 'n9': 5, 'n10': 7, 'n11': 8, 'n12': 6 } self._verifyRpo(n_map, expected_rpo) if __name__ == '__main__': unittest.main() androguard-3.1.0-rc2/androguard/decompiler/dad/util.py000066400000000000000000000133351324327352200226650ustar00rootroot00000000000000# This file is part of Androguard. # # Copyright (c) 2012 Geoffroy Gueguen # All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS-IS" BASIS, # WITHOUT 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 logging logger = logging.getLogger('dad.util') TYPE_DESCRIPTOR = { 'V': 'void', 'Z': 'boolean', 'B': 'byte', 'S': 'short', 'C': 'char', 'I': 'int', 'J': 'long', 'F': 'float', 'D': 'double', } ACCESS_FLAGS_CLASSES = { 0x1: 'public', 0x2: 'private', 0x4: 'protected', 0x8: 'static', 0x10: 'final', 0x200: 'interface', 0x400: 'abstract', 0x1000: 'synthetic', 0x2000: 'annotation', 0x4000: 'enum', } ACCESS_FLAGS_FIELDS = { 0x1: 'public', 0x2: 'private', 0x4: 'protected', 0x8: 'static', 0x10: 'final', 0x40: 'volatile', 0x80: 'transient', 0x1000: 'synthetic', 0x4000: 'enum', } ACCESS_FLAGS_METHODS = { 0x1: 'public', 0x2: 'private', 0x4: 'protected', 0x8: 'static', 0x10: 'final', 0x20: 'synchronized', 0x40: 'bridge', 0x80: 'varargs', 0x100: 'native', 0x400: 'abstract', 0x800: 'strictfp', 0x1000: 'synthetic', 0x10000: 'constructor', 0x20000: 'declared_synchronized', } ACCESS_ORDER = [0x1, 0x4, 0x2, 0x400, 0x8, 0x10, 0x80, 0x40, 0x20, 0x100, 0x800, 0x200, 0x1000, 0x2000, 0x4000, 0x10000, 0x20000] TYPE_LEN = {'J': 2, 'D': 2, } def get_access_class(access): sorted_access = [i for i in ACCESS_ORDER if i & access] return [ACCESS_FLAGS_CLASSES.get(flag, 'unkn_%d' % flag) for flag in sorted_access] def get_access_method(access): sorted_access = [i for i in ACCESS_ORDER if i & access] return [ACCESS_FLAGS_METHODS.get(flag, 'unkn_%d' % flag) for flag in sorted_access] def get_access_field(access): sorted_access = [i for i in ACCESS_ORDER if i & access] return [ACCESS_FLAGS_FIELDS.get(flag, 'unkn_%d' % flag) for flag in sorted_access] def build_path(graph, node1, node2, path=None): """ Build the path from node1 to node2. The path is composed of all the nodes between node1 and node2, node1 excluded. Although if there is a loop starting from node1, it will be included in the path. """ if path is None: path = [] if node1 is node2: return path path.append(node2) for pred in graph.all_preds(node2): if pred in path: continue build_path(graph, node1, pred, path) return path def common_dom(idom, cur, pred): if not (cur and pred): return cur or pred while cur is not pred: while cur.num < pred.num: pred = idom[pred] while cur.num > pred.num: cur = idom[cur] return cur def merge_inner(clsdict): """ Merge the inner class(es) of a class: e.g class A { ... } class A$foo{ ... } class A$bar{ ... } ==> class A { class foo{...} class bar{...} ... } """ samelist = False done = {} while not samelist: samelist = True classlist = list(clsdict.keys()) for classname in classlist: parts_name = classname.rsplit('$', 1) if len(parts_name) > 1: mainclass, innerclass = parts_name innerclass = innerclass[:-1] # remove ';' of the name mainclass += ';' if mainclass in clsdict: clsdict[mainclass].add_subclass(innerclass, clsdict[classname]) clsdict[classname].name = innerclass done[classname] = clsdict[classname] del clsdict[classname] samelist = False elif mainclass in done: cls = done[mainclass] cls.add_subclass(innerclass, clsdict[classname]) clsdict[classname].name = innerclass done[classname] = done[mainclass] del clsdict[classname] samelist = False def get_type_size(param): """ Return the number of register needed by the type @param """ return TYPE_LEN.get(param, 1) def get_type(atype, size=None): """ Retrieve the java type of a descriptor (e.g : I) """ res = TYPE_DESCRIPTOR.get(atype) if res is None: if atype[0] == 'L': if atype.startswith('Ljava/lang'): res = atype[1:-1].lstrip('java/lang/').replace('/', '.') else: res = atype[1:-1].replace('/', '.') elif atype[0] == '[': if size is None: res = '%s[]' % get_type(atype[1:]) else: res = '%s[%s]' % (get_type(atype[1:]), size) else: res = atype logger.debug('Unknown descriptor: "%s".', atype) return res def get_params_type(descriptor): """ Return the parameters type of a descriptor (e.g (IC)V) """ params = descriptor.split(')')[0][1:].split() if params: return [param for param in params] return [] def create_png(cls_name, meth_name, graph, dir_name='graphs2'): m_name = ''.join(x for x in meth_name if x.isalnum()) name = ''.join((cls_name.split('/')[-1][:-1], '#', m_name)) graph.draw(name, dir_name) androguard-3.1.0-rc2/androguard/decompiler/dad/writer.py000066400000000000000000000633701324327352200232300ustar00rootroot00000000000000# This file is part of Androguard. # # Copyright (c) 2012 Geoffroy Gueguen # All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS-IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. from builtins import str from builtins import zip from builtins import range from past.builtins import basestring from builtins import object import logging from struct import unpack from androguard.decompiler.dad.util import get_type from androguard.decompiler.dad.opcode_ins import Op from androguard.decompiler.dad.instruction import ( Constant, ThisParam, BinaryExpression, BaseClass, InstanceExpression, NewInstance, Variable, BinaryCompExpression) logger = logging.getLogger('dad.writer') class Writer(object): def __init__(self, graph, method): self.graph = graph self.method = method self.visited_nodes = set() self.ind = 4 self.buffer = [] self.buffer2 = [] self.loop_follow = [None] self.if_follow = [None] self.switch_follow = [None] self.latch_node = [None] self.try_follow = [None] self.next_case = None self.skip = False self.need_break = True def __str__(self): return ''.join(self.buffer) def str_ext(self): return self.buffer2 def inc_ind(self, i=1): self.ind += (4 * i) def dec_ind(self, i=1): self.ind -= (4 * i) def space(self): if self.skip: self.skip = False return '' return ' ' * self.ind def write_ind(self): if self.skip: self.skip = False else: self.write(self.space()) self.write_ext(('INDENTATION', self.space())) def write(self, s, data=None): self.buffer.append(s) # old method, still used # TODO: clean? if data: self.buffer2.append((data, s)) # at minimum, we have t as a tuple of the form: # (TYPE_STR, MY_STR) such as ('THIS', 'this') # where the 2nd field is the actual generated source code # We can have more fields, for example: # ('METHOD', 'sendToServer', 'this -> sendToServer', ) def write_ext(self, t): if not isinstance(t, tuple): raise "Error in write_ext: %s not a tuple" % str(t) self.buffer2.append(t) def end_ins(self): self.write(';\n') self.write_ext(('END_INSTRUCTION', ';\n')) def write_ind_visit_end(self, lhs, s, rhs=None, data=None): self.write_ind() lhs.visit(self) self.write(s) self.write_ext(('TODO_4343', s, data)) if rhs is not None: rhs.visit(self) self.end_ins() # TODO: prefer this class as write_ind_visit_end that should be deprecated # at the end def write_ind_visit_end_ext(self, lhs, before, s, after, rhs=None, data=None, subsection='UNKNOWN_SUBSECTION'): self.write_ind() lhs.visit(self) self.write(before + s + after) self.write_ext(('BEFORE', before)) self.write_ext((subsection, s, data)) self.write_ext(('AFTER', after)) if rhs is not None: rhs.visit(self) self.end_ins() def write_inplace_if_possible(self, lhs, rhs): if isinstance(rhs, BinaryExpression) and lhs == rhs.var_map[rhs.arg1]: exp_rhs = rhs.var_map[rhs.arg2] if rhs.op in '+-' and isinstance(exp_rhs, Constant) and \ exp_rhs.get_int_value() == 1: return self.write_ind_visit_end(lhs, rhs.op * 2, data=rhs) return self.write_ind_visit_end( lhs, ' %s= ' % rhs.op, exp_rhs, data=rhs) return self.write_ind_visit_end(lhs, ' = ', rhs, data=rhs) def visit_ins(self, ins): ins.visit(self) def write_method(self): acc = [] access = self.method.access self.constructor = False for modifier in access: if modifier == 'constructor': self.constructor = True continue acc.append(modifier) self.write('\n%s' % self.space()) self.write_ext(('NEWLINE', '\n%s' % (self.space()))) if acc: self.write('%s ' % ' '.join(acc)) self.write_ext(('PROTOTYPE_ACCESS', '%s ' % ' '.join(acc))) if self.constructor: name = get_type(self.method.cls_name).split('.')[-1] self.write(name) self.write_ext(('NAME_METHOD_PROTOTYPE', '%s' % name, self.method)) else: self.write('%s %s' % (get_type(self.method.type), self.method.name)) self.write_ext( ('PROTOTYPE_TYPE', '%s' % get_type(self.method.type))) self.write_ext(('SPACE', ' ')) self.write_ext( ('NAME_METHOD_PROTOTYPE', '%s' % self.method.name, self.method)) params = self.method.lparams if 'static' not in access: params = params[1:] proto = '' self.write_ext(('PARENTHESIS_START', '(')) if self.method.params_type: proto = ', '.join(['%s p%s' % (get_type(p_type), param) for p_type, param in zip(self.method.params_type, params)]) first = True for p_type, param in zip(self.method.params_type, params): if not first: self.write_ext(('COMMA', ', ')) else: first = False self.write_ext(('ARG_TYPE', '%s' % get_type(p_type))) self.write_ext(('SPACE', ' ')) self.write_ext(('NAME_ARG', 'p%s' % param, p_type, self.method)) self.write_ext(('PARENTHESIS_END', ')')) self.write('(%s)' % proto) if self.graph is None: self.write(';\n') self.write_ext(('METHOD_END_NO_CONTENT', ';\n')) return self.write('\n%s{\n' % self.space()) self.write_ext(('METHOD_START', '\n%s{\n' % self.space())) self.inc_ind() self.visit_node(self.graph.entry) self.dec_ind() self.write('%s}\n' % self.space()) self.write_ext(('METHOD_END', '%s}\n' % self.space())) def visit_node(self, node): if node in (self.if_follow[-1], self.switch_follow[-1], self.loop_follow[-1], self.latch_node[-1], self.try_follow[-1]): return if not node.type.is_return and node in self.visited_nodes: return self.visited_nodes.add(node) for var in node.var_to_declare: var.visit_decl(self) var.declared = True node.visit(self) def visit_loop_node(self, loop): follow = loop.follow['loop'] if follow is None and not loop.looptype.is_endless: logger.error('Loop has no follow !') if loop.looptype.is_pretest: if loop.true is follow: loop.neg() loop.true, loop.false = loop.false, loop.true self.write('%swhile (' % self.space()) self.write_ext(('WHILE', '%swhile (' % self.space())) loop.visit_cond(self) self.write(') {\n') self.write_ext(('WHILE_START', ') {\n')) elif loop.looptype.is_posttest: self.write('%sdo {\n' % self.space()) self.write_ext(('DO', '%sdo {\n' % self.space())) self.latch_node.append(loop.latch) elif loop.looptype.is_endless: self.write('%swhile(true) {\n' % self.space()) self.write_ext(('WHILE_TRUE', '%swhile(true) {\n' % self.space())) self.inc_ind() self.loop_follow.append(follow) if loop.looptype.is_pretest: self.visit_node(loop.true) else: self.visit_node(loop.cond) self.loop_follow.pop() self.dec_ind() if loop.looptype.is_pretest: self.write('%s}\n' % self.space()) self.write_ext(('END_PRETEST', '%s}\n' % self.space())) elif loop.looptype.is_posttest: self.latch_node.pop() self.write('%s} while(' % self.space()) self.write_ext(('WHILE_POSTTEST', '%s} while(' % self.space())) loop.latch.visit_cond(self) self.write(');\n') self.write_ext(('POSTTEST_END', ');\n')) else: self.inc_ind() self.visit_node(loop.latch) self.dec_ind() self.write('%s}\n' % self.space()) self.write_ext(('END_LOOP', '%s}\n' % self.space())) if follow is not None: self.visit_node(follow) def visit_cond_node(self, cond): follow = cond.follow['if'] if cond.false is cond.true: self.write('%s// Both branches of the condition point to the same' ' code.\n' % self.space()) self.write_ext( ('COMMENT_ERROR_MSG', '%s// Both branches of the condition point to the same' ' code.\n' % self.space())) self.write('%s// if (' % self.space()) self.write_ext(('COMMENT_IF', '%s// if (' % self.space())) cond.visit_cond(self) self.write(') {\n') self.write_ext(('COMMENT_COND_END', ') {\n')) self.inc_ind() self.visit_node(cond.true) self.dec_ind() self.write('%s// }\n' % self.space(), data="COMMENT_IF_COND_END") return if cond.false is self.loop_follow[-1]: cond.neg() cond.true, cond.false = cond.false, cond.true if self.loop_follow[-1] in (cond.true, cond.false): self.write('%sif (' % self.space(), data="IF_2") cond.visit_cond(self) self.write(') {\n', data="IF_TRUE_2") self.inc_ind() self.write('%sbreak;\n' % self.space(), data="BREAK") self.dec_ind() self.write('%s}\n' % self.space(), data="IF_END_2") self.visit_node(cond.false) elif follow is not None: if cond.true in (follow, self.next_case) or \ cond.num > cond.true.num: # or cond.true.num > cond.false.num: cond.neg() cond.true, cond.false = cond.false, cond.true self.if_follow.append(follow) if cond.true: # in self.visited_nodes: self.write('%sif (' % self.space(), data="IF") cond.visit_cond(self) self.write(') {\n', data="IF_TRUE") self.inc_ind() self.visit_node(cond.true) self.dec_ind() is_else = not (follow in (cond.true, cond.false)) if is_else and not cond.false in self.visited_nodes: self.write('%s} else {\n' % self.space(), data="IF_FALSE") self.inc_ind() self.visit_node(cond.false) self.dec_ind() self.if_follow.pop() self.write('%s}\n' % self.space(), data="IF_END") self.visit_node(follow) else: self.write('%sif (' % self.space(), data="IF_3") cond.visit_cond(self) self.write(') {\n', data="IF_COND_3") self.inc_ind() self.visit_node(cond.true) self.dec_ind() self.write('%s} else {\n' % self.space(), data="ELSE_3") self.inc_ind() self.visit_node(cond.false) self.dec_ind() self.write('%s}\n' % self.space(), data="IF_END_3") def visit_short_circuit_condition(self, nnot, aand, cond1, cond2): if nnot: cond1.neg() self.write('(', data="TODO24") cond1.visit_cond(self) self.write(') %s (' % ['||', '&&'][aand], data="TODO25") cond2.visit_cond(self) self.write(')', data="TODO26") def visit_switch_node(self, switch): lins = switch.get_ins() for ins in lins[:-1]: self.visit_ins(ins) switch_ins = switch.get_ins()[-1] self.write('%sswitch (' % self.space(), data="SWITCH") self.visit_ins(switch_ins) self.write(') {\n', data="SWITCH_END") follow = switch.follow['switch'] cases = switch.cases self.switch_follow.append(follow) default = switch.default for i, node in enumerate(cases): if node in self.visited_nodes: continue self.inc_ind() for case in switch.node_to_case[node]: self.write( '%scase %d:\n' % (self.space(), case), data="CASE_XX") if i + 1 < len(cases): self.next_case = cases[i + 1] else: self.next_case = None if node is default: self.write('%sdefault:\n' % self.space(), data="CASE_DEFAULT") default = None self.inc_ind() self.visit_node(node) if self.need_break: self.write('%sbreak;\n' % self.space(), data="CASE_BREAK") else: self.need_break = True self.dec_ind(2) if default not in (None, follow): self.inc_ind() self.write('%sdefault:\n' % self.space(), data="CASE_DEFAULT_2") self.inc_ind() self.visit_node(default) self.dec_ind(2) self.write('%s}\n' % self.space(), data="CASE_END") self.switch_follow.pop() self.visit_node(follow) def visit_statement_node(self, stmt): sucs = self.graph.sucs(stmt) for ins in stmt.get_ins(): self.visit_ins(ins) if len(sucs) == 1: if sucs[0] is self.loop_follow[-1]: self.write('%sbreak;\n' % self.space(), data="BREAK_2") elif sucs[0] is self.next_case: self.need_break = False else: self.visit_node(sucs[0]) def visit_try_node(self, try_node): self.write('%stry {\n' % self.space(), data="TRY_START") self.inc_ind() self.try_follow.append(try_node.follow) self.visit_node(try_node.try_start) self.dec_ind() self.write('%s}' % self.space(), data="TRY_START_END") for catch in try_node.catch: self.visit_node(catch) self.write('\n', data="NEWLINE_END_TRY") self.visit_node(self.try_follow.pop()) def visit_catch_node(self, catch_node): self.write(' catch (', data="CATCH") catch_node.visit_exception(self) self.write(') {\n', data="CATCH_START") self.inc_ind() self.visit_node(catch_node.catch_start) self.dec_ind() self.write('%s}' % self.space(), data="CATCH_END") def visit_return_node(self, ret): self.need_break = False for ins in ret.get_ins(): self.visit_ins(ins) def visit_throw_node(self, throw): for ins in throw.get_ins(): self.visit_ins(ins) def visit_decl(self, var): if not var.declared: var_type = var.get_type() or 'unknownType' self.write('%s%s v%s' % ( self.space(), get_type(var_type), var.name), data="DECLARATION") self.end_ins() def visit_constant(self, cst): if isinstance(cst, basestring): return self.write(string(cst), data="CONSTANT_STRING") self.write('%r' % cst, data="CONSTANT_INTEGER") # INTEGER or also others? def visit_base_class(self, cls, data=None): self.write(cls) self.write_ext(('NAME_BASE_CLASS', cls, data)) def visit_variable(self, var): var_type = var.get_type() or 'unknownType' if not var.declared: self.write('%s ' % get_type(var_type)) self.write_ext( ('VARIABLE_TYPE', '%s' % get_type(var_type), var_type)) self.write_ext(('SPACE', ' ')) var.declared = True self.write('v%s' % var.name) self.write_ext(('NAME_VARIABLE', 'v%s' % var.name, var, var_type)) def visit_param(self, param, data=None): self.write('p%s' % param) self.write_ext(('NAME_PARAM', 'p%s' % param, data)) def visit_this(self): self.write('this', data="THIS") def visit_super(self): self.write('super') def visit_assign(self, lhs, rhs): if lhs is not None: return self.write_inplace_if_possible(lhs, rhs) self.write_ind() rhs.visit(self) if not self.skip: self.end_ins() def visit_move_result(self, lhs, rhs): self.write_ind_visit_end(lhs, ' = ', rhs) def visit_move(self, lhs, rhs): if lhs is not rhs: self.write_inplace_if_possible(lhs, rhs) def visit_astore(self, array, index, rhs, data=None): self.write_ind() array.visit(self) self.write('[', data=("ASTORE_START", data)) index.visit(self) self.write('] = ', data="ASTORE_END") rhs.visit(self) self.end_ins() def visit_put_static(self, cls, name, rhs): self.write_ind() self.write('%s.%s = ' % (cls, name), data="STATIC_PUT") rhs.visit(self) self.end_ins() def visit_put_instance(self, lhs, name, rhs, data=None): self.write_ind_visit_end_ext( lhs, '.', '%s' % name, ' = ', rhs, data=data, subsection='NAME_CLASS_ASSIGNMENT') def visit_new(self, atype, data=None): self.write('new %s' % get_type(atype)) self.write_ext(('NEW', 'new ')) self.write_ext( ('NAME_CLASS_NEW', '%s' % get_type(atype), data.type, data)) def visit_invoke(self, name, base, ptype, rtype, args, invokeInstr): if isinstance(base, ThisParam): if name == '': if self.constructor and len(args) == 0: self.skip = True return if invokeInstr and base.type[1:-1].replace('/', '.') != invokeInstr.cls: base.super = True base.visit(self) if name != '': if isinstance(base, BaseClass): call_name = "%s -> %s" % (base.cls, name) elif isinstance(base, InstanceExpression): call_name = "%s -> %s" % (base.ftype, name) elif hasattr(base, "base") and hasattr(base, "var_map"): base2base = base while True: base2base = base2base.var_map[base2base.base] if isinstance(base2base, NewInstance): call_name = "%s -> %s" % (base2base.type, name) break elif (hasattr(base2base, "base") and hasattr(base2base, "var_map")): continue else: call_name = "UNKNOWN_TODO" break elif isinstance(base, ThisParam): call_name = "this -> %s" % name elif isinstance(base, Variable): call_name = "%s -> %s" % (base.type, name) else: call_name = "UNKNOWN_TODO2" self.write('.%s' % name) self.write_ext(('INVOKE', '.')) self.write_ext( ('NAME_METHOD_INVOKE', '%s' % name, call_name, ptype, rtype, base, invokeInstr)) self.write('(', data="PARAM_START") comma = False for arg in args: if comma: self.write(', ', data="PARAM_SEPARATOR") comma = True arg.visit(self) self.write(')', data="PARAM_END") def visit_return_void(self): self.write_ind() self.write('return', data="RETURN") self.end_ins() def visit_return(self, arg): self.write_ind() self.write('return ', data="RETURN") arg.visit(self) self.end_ins() def visit_nop(self): pass def visit_switch(self, arg): arg.visit(self) def visit_check_cast(self, arg, atype): self.write('((%s) ' % atype, data="CHECKCAST") arg.visit(self) self.write(')') def visit_aload(self, array, index): array.visit(self) self.write('[', data="ALOAD_START") index.visit(self) self.write(']', data="ALOAD_END") def visit_alength(self, array): array.visit(self) self.write('.length', data="ARRAY_LENGTH") def visit_new_array(self, atype, size): self.write('new %s[' % get_type(atype[1:]), data="NEW_ARRAY") size.visit(self) self.write(']', data="NEW_ARRAY_END") def visit_filled_new_array(self, atype, size, args): self.write('new %s {' % get_type(atype), data="NEW_ARRAY_FILLED") for idx, arg in enumerate(args): arg.visit(self) if idx + 1 < len(args): self.write(', ', data="COMMA") self.write('})', data="NEW_ARRAY_FILLED_END") def visit_fill_array(self, array, value): self.write_ind() array.visit(self) self.write(' = {', data="ARRAY_FILLED") data = value.get_data() tab = [] elem_size = value.element_width # Set type depending on size of elements data_types = {1: 'b', 2: 'h', 4: 'i', 8: 'd'} if elem_size in data_types: elem_id = data_types[elem_size] else: # FIXME for other types we just assume bytes... logger.warning("Unknown element size {} for array. Assume bytes.".format(elem_size)) elem_id = 'b' elem_size = 1 for i in range(0, value.size*elem_size, elem_size): tab.append('%s' % unpack(elem_id, data[i:i+elem_size])[0]) self.write(', '.join(tab), data="COMMA") self.write('}', data="ARRAY_FILLED_END") self.end_ins() def visit_move_exception(self, var, data=None): var.declared = True var_type = var.get_type() or 'unknownType' self.write('%s v%s' % (get_type(var_type), var.name)) self.write_ext(('EXCEPTION_TYPE', '%s' % get_type(var_type), data.type)) self.write_ext(('SPACE', ' ')) self.write_ext( ('NAME_CLASS_EXCEPTION', 'v%s' % var.value(), data.type, data)) def visit_monitor_enter(self, ref): self.write_ind() self.write('synchronized(', data="SYNCHRONIZED") ref.visit(self) self.write(') {\n', data="SYNCHRONIZED_END") self.inc_ind() def visit_monitor_exit(self, ref): self.dec_ind() self.write_ind() self.write('}\n', data="MONITOR_EXIT") def visit_throw(self, ref): self.write_ind() self.write('throw ', data="THROW") ref.visit(self) self.end_ins() def visit_binary_expression(self, op, arg1, arg2): self.write('(', data="BINARY_EXPRESSION_START") arg1.visit(self) self.write(' %s ' % op, data="TODO58") arg2.visit(self) self.write(')', data="BINARY_EXPRESSION_END") def visit_unary_expression(self, op, arg): self.write('(%s ' % op, data="UNARY_EXPRESSION_START") arg.visit(self) self.write(')', data="UNARY_EXPRESSION_END") def visit_cast(self, op, arg): self.write('(%s ' % op, data="CAST_START") arg.visit(self) self.write(')', data="CAST_END") def visit_cond_expression(self, op, arg1, arg2): arg1.visit(self) self.write(' %s ' % op, data="COND_EXPRESSION") arg2.visit(self) def visit_condz_expression(self, op, arg): if isinstance(arg, BinaryCompExpression): arg.op = op return arg.visit(self) atype = arg.get_type() if atype == 'Z': if op == Op.EQUAL: self.write('!', data="NEGATE") arg.visit(self) else: arg.visit(self) if atype in 'VBSCIJFD': self.write(' %s 0' % op, data="TODO64") else: self.write(' %s null' % op, data="TODO65") def visit_get_instance(self, arg, name, data=None): arg.visit(self) self.write('.%s' % name) self.write_ext(('GET_INSTANCE', '.')) self.write_ext(('NAME_CLASS_INSTANCE', '%s' % name, data)) def visit_get_static(self, cls, name): self.write('%s.%s' % (cls, name), data="GET_STATIC") def string(s): """ Convert a string to a escaped ASCII representation including quotation marks :param s: a string :return: ASCII escaped string """ ret = ['"'] for c in s: if ' ' <= c < '\x7f': if c == "'" or c == '"' or c == '\\': ret.append('\\') ret.append(c) continue elif c <= '\x7f': if c in ('\r', '\n', '\t'): # unicode-escape produces bytes ret.append(c.encode('unicode-escape').decode("ascii")) continue i = ord(c) ret.append('\\u') ret.append('%x' % (i >> 12)) ret.append('%x' % ((i >> 8) & 0x0f)) ret.append('%x' % ((i >> 4) & 0x0f)) ret.append('%x' % (i & 0x0f)) ret.append('"') return ''.join(ret) androguard-3.1.0-rc2/androguard/decompiler/decompiler.py000066400000000000000000000616021324327352200233030ustar00rootroot00000000000000from __future__ import print_function # This file is part of Androguard. # # Copyright (C) 2013, Anthony Desnos # All rights reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS-IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. from builtins import range from builtins import object from subprocess import Popen, PIPE, STDOUT import tempfile import os import sys from androguard.core.androconf import rrmdir from androguard.decompiler.dad import decompile from androguard.util import read from pygments.filter import Filter from pygments import highlight from pygments.lexers import get_lexer_by_name from pygments.formatters import TerminalFormatter from pygments.token import Token import logging log = logging.getLogger("androguard.decompiler") class JADXDecompilerError(Exception): """ Exception for JADX related problems """ pass class MethodFilter(Filter): def __init__(self, **options): """ Filter Method Code from a whole class :param options: """ Filter.__init__(self, **options) self.method_name = options["method_name"] # self.descriptor = options["descriptor"] self.present = False self.get_desc = True # False def filter(self, lexer, stream): a = [] l = [] rep = [] for ttype, value in stream: if self.method_name == value and (ttype is Token.Name.Function or ttype is Token.Name): # print ttype, value item_decl = -1 for i in range(len(a) - 1, 0, -1): if a[i][0] is Token.Keyword.Declaration: if a[i][1] != "class": item_decl = i break if item_decl != -1: self.present = True l.extend(a[item_decl:]) if self.present and ttype is Token.Keyword.Declaration: item_end = -1 for i in range(len(l) - 1, 0, -1): if l[i][0] is Token.Operator and l[i][1] == "}": item_end = i break if item_end != -1: rep.extend(l[:item_end + 1]) l = [] self.present = False if self.present: l.append((ttype, value)) a.append((ttype, value)) if self.present: nb = 0 item_end = -1 for i in range(len(l) - 1, 0, -1): if l[i][0] is Token.Operator and l[i][1] == "}": nb += 1 if nb == 2: item_end = i break rep.extend(l[:item_end + 1]) return rep # TODO move it somewhere else class Dex2Jar(object): def __init__(self, vm, bin_dex2jar="dex2jar.sh", tmp_dir="/tmp/"): """ DEX2JAR is a tool to convert a Dalvik file into Java Classes :param vm: :param bin_dex2jar: :param tmp_dir: """ pathtmp = tmp_dir if not os.path.exists(pathtmp): os.makedirs(pathtmp) fd, fdname = tempfile.mkstemp(dir=pathtmp) with os.fdopen(fd, "w+b") as fd: fd.write(vm.get_buff()) fd.flush() cmd = Popen([bin_dex2jar, fdname], stdout=PIPE, stderr=STDOUT) stdout, stderr = cmd.communicate() os.unlink(fdname) self.jarfile = fdname + "_dex2jar.jar" def get_jar(self): return self.jarfile class DecompilerDex2Jad(object): def __init__(self, vm, bin_dex2jar="dex2jar.sh", bin_jad="jad", tmp_dir="/tmp/"): """ Decompiler interface for JAD JAD is not a native Dalvik decompiler, therefore dex2jar is required. :param vm: :param bin_dex2jar: :param bin_jad: :param tmp_dir: """ self.classes = {} self.classes_failed = [] pathtmp = tmp_dir if not os.path.exists(pathtmp): os.makedirs(pathtmp) fd, fdname = tempfile.mkstemp(dir=pathtmp) with os.fdopen(fd, "w+b") as fd: fd.write(vm.get_buff()) fd.flush() cmd = Popen([bin_dex2jar, fdname], stdout=PIPE, stderr=STDOUT) stdout, stderr = cmd.communicate() os.unlink(fdname) pathclasses = fdname + "dex2jar/" cmd = Popen(["unzip", fdname + "_dex2jar.jar", "-d", pathclasses], stdout=PIPE, stderr=STDOUT) stdout, stderr = cmd.communicate() os.unlink(fdname + "_dex2jar.jar") for root, dirs, files in os.walk(pathclasses, followlinks=True): if files: for f in files: real_filename = root if real_filename[-1] != "/": real_filename += "/" real_filename += f cmd = Popen([bin_jad, "-o", "-d", root, real_filename], stdout=PIPE, stderr=STDOUT) stdout, stderr = cmd.communicate() for i in vm.get_classes(): fname = pathclasses + "/" + i.get_name()[1:-1] + ".jad" if os.path.isfile(fname): self.classes[i.get_name()] = read(fname, binary=False) else: self.classes_failed.append(i.get_name()) rrmdir(pathclasses) def get_source_method(self, method): class_name = method.get_class_name() method_name = method.get_name() if class_name not in self.classes: return "" lexer = get_lexer_by_name("java", stripall=True) lexer.add_filter(MethodFilter(method_name=method_name)) formatter = TerminalFormatter() result = highlight(self.classes[class_name], lexer, formatter) return result def display_source(self, method): print(self.get_source_method(method)) def get_source_class(self, _class): return self.classes[_class.get_name()] def get_all(self, class_name): if class_name not in self.classes: return "" lexer = get_lexer_by_name("java", stripall=True) formatter = TerminalFormatter() result = highlight(self.classes[class_name], lexer, formatter) return result def display_all(self, _class): print(self.get_all(_class.get_name())) class DecompilerDex2WineJad(object): def __init__(self, vm, bin_dex2jar="dex2jar.sh", bin_jad="jad", tmp_dir="/tmp/"): """ Use JAD on wine :param vm: :param bin_dex2jar: :param bin_jad: :param tmp_dir: """ self.classes = {} self.classes_failed = [] pathtmp = tmp_dir if not os.path.exists(pathtmp): os.makedirs(pathtmp) fd, fdname = tempfile.mkstemp(dir=pathtmp) with os.fdopen(fd, "w+b") as fd: fd.write(vm.get_buff()) fd.flush() cmd = Popen([bin_dex2jar, fdname], stdout=PIPE, stderr=STDOUT) stdout, stderr = cmd.communicate() os.unlink(fdname) pathclasses = fdname + "dex2jar/" cmd = Popen(["unzip", fdname + "_dex2jar.jar", "-d", pathclasses], stdout=PIPE, stderr=STDOUT) stdout, stderr = cmd.communicate() os.unlink(fdname + "_dex2jar.jar") for root, dirs, files in os.walk(pathclasses, followlinks=True): if files: for f in files: real_filename = root if real_filename[-1] != "/": real_filename += "/" real_filename += f cmd = Popen(["wine", bin_jad, "-o", "-d", root, real_filename], stdout=PIPE, stderr=STDOUT) stdout, stderr = cmd.communicate() for i in vm.get_classes(): fname = pathclasses + "/" + i.get_name()[1:-1] + ".jad" if os.path.isfile(fname): self.classes[i.get_name()] = read(fname, binary=False) else: self.classes_failed.append(i.get_name()) rrmdir(pathclasses) def get_source_method(self, method): class_name = method.get_class_name() method_name = method.get_name() if class_name not in self.classes: return "" lexer = get_lexer_by_name("java", stripall=True) lexer.add_filter(MethodFilter(method_name=method_name)) formatter = TerminalFormatter() result = highlight(self.classes[class_name], lexer, formatter) return result def display_source(self, method): print(self.get_source_method(method)) def get_source_class(self, _class): return self.classes[_class.get_name()] def get_all(self, class_name): if class_name not in self.classes: return "" lexer = get_lexer_by_name("java", stripall=True) formatter = TerminalFormatter() result = highlight(self.classes[class_name], lexer, formatter) return result def display_all(self, _class): print(self.get_all(_class.get_name())) class DecompilerDed(object): def __init__(self, vm, bin_ded="ded.sh", tmp_dir="/tmp/"): """ DED is an old, probably deprecated, decompiler http://siis.cse.psu.edu/ded/ It is now replaced by DARE. :param vm: `DalvikVMFormat` object :param bin_ded: :param tmp_dir: """ self.classes = {} self.classes_failed = [] pathtmp = tmp_dir if not os.path.exists(pathtmp): os.makedirs(pathtmp) fd, fdname = tempfile.mkstemp(dir=pathtmp) with os.fdopen(fd, "w+b") as fd: fd.write(vm.get_buff()) fd.flush() dirname = tempfile.mkdtemp(prefix=fdname + "-src") cmd = Popen([bin_ded, "-c", "-o", "-d", dirname, fdname], stdout=PIPE, stderr=STDOUT) stdout, stderr = cmd.communicate() os.unlink(fdname) findsrc = None for root, dirs, files in os.walk(dirname + "/optimized-decompiled/"): if dirs: for f in dirs: if f == "src": findsrc = root if findsrc[-1] != "/": findsrc += "/" findsrc += f break if findsrc is not None: break for i in vm.get_classes(): fname = findsrc + "/" + i.get_name()[1:-1] + ".java" # print fname if os.path.isfile(fname): self.classes[i.get_name()] = read(fname, binary=False) else: self.classes_failed.append(i.get_name()) rrmdir(dirname) def get_source_method(self, method): class_name = method.get_class_name() method_name = method.get_name() if class_name not in self.classes: return "" lexer = get_lexer_by_name("java", stripall=True) lexer.add_filter(MethodFilter(method_name=method_name)) formatter = TerminalFormatter() result = highlight(self.classes[class_name], lexer, formatter) return result def display_source(self, method): print(self.get_source_method(method)) def get_all(self, class_name): if class_name not in self.classes: return "" lexer = get_lexer_by_name("java", stripall=True) formatter = TerminalFormatter() result = highlight(self.classes[class_name], lexer, formatter) return result def get_source_class(self, _class): return self.classes[_class.get_name()] def display_all(self, _class): print(self.get_all(_class.get_name())) class DecompilerDex2Fernflower(object): def __init__(self, vm, bin_dex2jar="dex2jar.sh", bin_fernflower="fernflower.jar", options_fernflower={"dgs": '1', "asc": '1'}, tmp_dir="/tmp/"): """ Decompiler interface for Fernflower Fernflower is a java decompiler by IntelliJ: https://github.com/JetBrains/intellij-community/tree/master/plugins/java-decompiler/engine As it can not decompile Dalvik code directly, the DEX is first decompiled as a JAR file. :param vm: `DalvikVMFormtat` object :param bin_dex2jar: :param bin_fernflower: :param options_fernflower: :param tmp_dir: """ self.classes = {} self.classes_failed = [] pathtmp = tmp_dir if not os.path.exists(pathtmp): os.makedirs(pathtmp) fd, fdname = tempfile.mkstemp(dir=pathtmp) with os.fdopen(fd, "w+b") as fd: fd.write(vm.get_buff()) fd.flush() cmd = Popen([bin_dex2jar, fdname], stdout=PIPE, stderr=STDOUT) stdout, stderr = cmd.communicate() os.unlink(fdname) pathclasses = fdname + "dex2jar/" cmd = Popen(["unzip", fdname + "_dex2jar.jar", "-d", pathclasses], stdout=PIPE, stderr=STDOUT) stdout, stderr = cmd.communicate() os.unlink(fdname + "_dex2jar.jar") for root, dirs, files in os.walk(pathclasses, followlinks=True): if files: for f in files: real_filename = root if real_filename[-1] != "/": real_filename += "/" real_filename += f l = ["java", "-jar", bin_fernflower] for option in options_fernflower: l.append("-%s:%s" % (option, options_fernflower[option])) l.append(real_filename) l.append(root) cmd = Popen(l, stdout=PIPE, stderr=STDOUT) stdout, stderr = cmd.communicate() for i in vm.get_classes(): fname = pathclasses + "/" + i.get_name()[1:-1] + ".java" if os.path.isfile(fname): self.classes[i.get_name()] = read(fname, binary=False) else: self.classes_failed.append(i.get_name()) rrmdir(pathclasses) def get_source_method(self, method): class_name = method.get_class_name() method_name = method.get_name() if class_name not in self.classes: return "" lexer = get_lexer_by_name("java", stripall=True) lexer.add_filter(MethodFilter(method_name=method_name)) formatter = TerminalFormatter() result = highlight(self.classes[class_name], lexer, formatter) return result def display_source(self, method): print(self.get_source_method(method)) def get_source_class(self, _class): return self.classes[_class.get_name()] def get_all(self, class_name): if class_name not in self.classes: return "" lexer = get_lexer_by_name("java", stripall=True) formatter = TerminalFormatter() result = highlight(self.classes[class_name], lexer, formatter) return result def display_all(self, _class): print(self.get_all(_class.get_name())) class DecompilerDAD: def __init__(self, vm, vmx): """ Decompiler wrapper for DAD DAD is the androguard internal decompiler. :param vm: `DalvikVMFormat` object :param vmx: `Analysis` object """ self.vm = vm self.vmx = vmx def get_source_method(self, m): mx = self.vmx.get_method(m) z = decompile.DvMethod(mx) z.process() return z.get_source() def get_ast_method(self, m): mx = self.vmx.get_method(m) z = decompile.DvMethod(mx) z.process(doAST=True) return z.get_ast() def display_source(self, m): result = self.get_source_method(m) lexer = get_lexer_by_name("java", stripall=True) formatter = TerminalFormatter() result = highlight(result, lexer, formatter) print(result) def get_source_class(self, _class): c = decompile.DvClass(_class, self.vmx) c.process() return c.get_source() def get_ast_class(self, _class): c = decompile.DvClass(_class, self.vmx) c.process(doAST=True) return c.get_ast() def get_source_class_ext(self, _class): c = decompile.DvClass(_class, self.vmx) c.process() result = c.get_source_ext() return result def display_all(self, _class): result = self.get_source_class(_class) lexer = get_lexer_by_name("java", stripall=True) formatter = TerminalFormatter() result = highlight(result, lexer, formatter) print(result) def get_all(self, class_name): pass class DecompilerJADX: def __init__(self, vm, vmx, jadx="jadx", keepfiles=False): """ DecompilerJADX is a wrapper for the jadx decompiler: https://github.com/skylot/jadx Note, that jadx need to write files to your local disk. :param vm: `DalvikVMFormat` object :param vmx: `Analysis` object :param jadx: path to the jadx executable :param keepfiles: set to True, if you like to keep temporary files """ self.vm = vm self.vmx = vmx # Dictionary to store classnames: sourcecode self.classes = {} # Result directory: # TODO need to remove the folder correctly! tmpfolder = tempfile.mkdtemp() # We need to decompile the whole dex file, as we do not have an API... # dump the dex file into a temp file # THIS WILL NOT WORK ON WINDOWS!!! # See https://stackoverflow.com/q/15169101/446140 # Files can not be read, only if they specify temp file. But jadx does not do that... # # We need to trick jadx by setting the suffix, otherwise the file will not be loaded with tempfile.NamedTemporaryFile(suffix=".dex") as tf: tf.write(vm.get_buff()) cmd = [jadx, "-d", tmpfolder, "--escape-unicode", "--no-res", tf.name] log.debug("Call JADX with the following cmdline: {}".format(" ".join(cmd))) x = Popen(cmd, stdout=PIPE, stderr=PIPE) stdout, _ = x.communicate() # Looks like jadx does not use stderr log.info("Output of JADX during decompilation") for line in stdout.decode("UTF-8").splitlines(): log.info(line) if x.returncode != 0: rrmdir(tmpfolder) raise JADXDecompilerError("Could not decompile file. Args: {}".format(" ".join(cmd))) # Next we parse the folder structure for later lookup # We read the content of each file here, so we can later delete the folder # We check here two ways, first we iterate all files and see if the class exists # in androguard # then, we iterate all classes in androguard and check if the file exists. andr_class_names = {x.get_name()[1:-1]: x for x in vm.get_classes()} # First, try to find classes for the files we have for root, dirs, files in os.walk(tmpfolder): for f in files: if not f.endswith(".java"): log.warning("found a file in jadx folder which is not a java file: {}".format(f)) continue # as the path begins always with `self.res` (hopefully), we remove that length # also, all files should end with .java path = os.path.join(root, f)[len(tmpfolder) + 1:-5] path = path.replace(os.sep, "/") # Special care for files without package # All files that have no package set, will get the # package `defpackage` automatically if path.startswith("defpackage"): path = path[len("defpackage/"):] if path in andr_class_names: with open(os.path.join(root, f), "rb") as fp: # Need to convert back to the "full" classname self.classes["L{};".format(path)] = fp.read().decode("UTF-8") else: log.warning("Found a class called {}, which is not found by androguard!".format(path)) # Next, try to find files for the classes we have for cl in andr_class_names: fname = self._find_class(cl, tmpfolder) if fname: if "L{};".format(cl) not in self.classes: with open(fname, "rb") as fp: # TODO need to snip inner class from file self.classes["L{};".format(cl)] = fp.read().decode("UTF-8") else: # Class was already found... pass else: log.warning("Found a class called {} which is not decompiled by jadx".format(cl)) # check if we have good matching if len(self.classes) == len(andr_class_names): log.debug("JADX looks good, we have the same number of classes: {}".format(len(self.classes))) else: log.info("Looks like JADX is missing some classes or " "we decompiled too much: decompiled: {} vs androguard: {}".format(len(self.classes), len(andr_class_names))) if not keepfiles: rrmdir(tmpfolder) def _find_class(self, clname, basefolder): # check if defpackage if "/" not in clname: # this is a defpackage class probably... # Search first for defpackage, then search for requested string res = self._find_class("defpackage/{}".format(clname), basefolder) if res: return res # We try to map inner classes here if "$" in clname: # sometimes the inner class get's an extra file, sometimes not... # So we try all possibilities for x in range(clname.count("$")): tokens = clname.split("$", x + 1) base = "$".join(tokens[:-1]) res = self._find_class(base, basefolder) if res: return res # Check the whole supplied name fname = os.path.join(basefolder, clname.replace("/", os.sep) + ".java") if not os.path.isfile(fname): return None return fname def get_source_method(self, m): """ Return the Java source of a single method :param m: `EncodedMethod` Object :return: """ class_name = m.get_class_name() method_name = m.get_name() if class_name not in self.classes: return "" lexer = get_lexer_by_name("java", stripall=True) lexer.add_filter(MethodFilter(method_name=method_name)) formatter = TerminalFormatter() result = highlight(self.classes[class_name], lexer, formatter) return result def get_source_class(self, _class): """ Return the Java source code of a whole class :param _class: `ClassDefItem` object, to get the source from :return: """ if not _class.get_name() in self.classes: return "" return self.classes[_class.get_name()] def display_source(self, m): """ This method does the same as `get_source_method` but prints the result directly to stdout :param m: `EncodedMethod` to print :return: """ print(self.get_source_method(m)) def display_all(self, _class): """ ??? :param _class: :return: """ pass def get_all(self, class_name): """ ??? :param class_name: :return: """ pass androguard-3.1.0-rc2/androguard/gui/000077500000000000000000000000001324327352200172425ustar00rootroot00000000000000androguard-3.1.0-rc2/androguard/gui/Banners.py000066400000000000000000000265471324327352200212220ustar00rootroot00000000000000from __future__ import absolute_import from __future__ import division from .TextDecorators import * from .cemu import * class Banner(object): def getOrientation(self): NotImplementedError('method not implemented.') def getDesiredGeometry(self): NotImplementedError('method not implemented.') def changeDisplay(self): return def setViewMode(self, viewMode): self.viewMode = viewMode def getPixmap(self): return self.qpix def _getNewPixmap(self, width, height): return QtGui.QPixmap(width, height) Orientation = enum(Left=0, Bottom=1, Top=2) class Observer(object): def changeViewMode(self, viewMode): self.setViewMode(viewMode) class Banners(Observer): BOTTOM_SEPARATOR = 5 def __init__(self): self._Banners = [] self.separatorBottom = 5 self.separatorLeft = 5 self.separatorTop = 5 def add(self, banner): self._Banners.append(banner) def banners(self): return self._Banners def getLeftOffset(self): offset = 0 for banner in self._Banners: if banner.getOrientation() == Orientation.Left: offset += banner.getDesiredGeometry() offset += self.separatorLeft return offset def getBottomOffset(self): offset = 0 for banner in self._Banners: if banner.getOrientation() == Orientation.Bottom: offset += banner.getDesiredGeometry() offset += self.separatorBottom return offset def getTopOffset(self): offset = 0 for banner in self._Banners: if banner.getOrientation() == Orientation.Top: offset += banner.getDesiredGeometry() offset += self.separatorTop return offset def resize(self, width, height): limit = self.getBottomOffset() + self.getTopOffset() for banner in self._Banners: # banners are not resizeable actually if banner.getOrientation() == Orientation.Left: banner.resize(banner.getDesiredGeometry(), height - limit + 4) # +4 , make to look nice if banner.getOrientation() == Orientation.Bottom: banner.resize(width, banner.getDesiredGeometry()) if banner.getOrientation() == Orientation.Top: banner.resize(width, banner.getDesiredGeometry()) def setViewMode(self, viewMode): for banner in self._Banners: banner.setViewMode(viewMode) def draw(self, qp, offsetLeft, offsetBottom, maxY): for banner in self._Banners: if banner.getOrientation() == Orientation.Top: banner.draw() qp.drawPixmap(offsetLeft - 4, offsetBottom, banner.getPixmap()) offsetBottom += banner.getDesiredGeometry() + self.separatorLeft for banner in self._Banners: if banner.getOrientation() == Orientation.Left: banner.draw() qp.drawPixmap(offsetLeft, offsetBottom, banner.getPixmap()) offsetLeft += banner.getDesiredGeometry() + self.separatorLeft # initial offset + all offsets from all banners. We are doing this because Y growns down offsetBottom = maxY - self.getBottomOffset() + self.BOTTOM_SEPARATOR for banner in self._Banners: if banner.getOrientation() == Orientation.Bottom: banner.draw() qp.drawPixmap(offsetLeft, offsetBottom, banner.getPixmap()) offsetBottom += banner.getDesiredGeometry() + self.separatorBottom class FileAddrBanner(Banner): def __init__(self, themes, dataModel, viewMode): self.width = 0 self.height = 0 self.dataModel = dataModel self.viewMode = viewMode self.qpix = self._getNewPixmap(self.width, self.height) self.backgroundBrush = QtGui.QBrush(themes['background']) # text font self.font = themes['font'] # font metrics. assume font is monospaced self.font.setKerning(False) self.font.setFixedPitch(True) fm = QtGui.QFontMetrics(self.font) self.fontWidth = fm.width('a') self.fontHeight = fm.height() self.textPen = QtGui.QPen(QtGui.QColor(192, 192, 192), 0, QtCore.Qt.SolidLine) def getOrientation(self): return Orientation.Left def getDesiredGeometry(self): return 10 * self.fontWidth def setViewMode(self, viewMode): self.viewMode = viewMode def getPixmap(self): return self.qpix def _getNewPixmap(self, width, height): return QtGui.QPixmap(width, height) def draw(self): qp = QtGui.QPainter() offset = self.viewMode.getPageOffset() columns, rows = self.viewMode.getGeometry() qp.begin(self.qpix) qp.fillRect(0, 0, self.width, self.height, self.backgroundBrush) qp.setPen(self.textPen) qp.setFont(self.font) for i in range(rows): s = '{0:08x}'.format(offset) qp.drawText(0 + 5, (i + 1) * self.fontHeight, s) columns = self.viewMode.getColumnsbyRow(i) offset += columns qp.end() def resize(self, width, height): self.width = width self.height = height self.qpix = self._getNewPixmap(self.width, self.height) class BottomBanner(Banner): def __init__(self, themes, dataModel, viewMode): self.width = 0 self.height = 0 self.dataModel = dataModel self.viewMode = viewMode self.backgroundBrush = QtGui.QBrush(themes['background']) self.qpix = self._getNewPixmap(self.width, self.height) # text font self.font = themes['font'] # font metrics. assume font is monospaced self.font.setKerning(False) self.font.setFixedPitch(True) fm = QtGui.QFontMetrics(self.font) self.fontWidth = fm.width('a') self.fontHeight = fm.height() self.textPen = QtGui.QPen(themes['pen'], 0, QtCore.Qt.SolidLine) def getOrientation(self): return Orientation.Bottom def getDesiredGeometry(self): return 60 def setViewMode(self, viewMode): self.viewMode = viewMode def draw(self): qp = QtGui.QPainter() qp.begin(self.qpix) qp.fillRect(0, 0, self.width, self.height, self.backgroundBrush) qp.setPen(self.textPen) qp.setFont(self.font) cemu = ConsoleEmulator(qp, self.height // self.fontHeight, self.width // self.fontWidth) dword = self.dataModel.getDWORD(self.viewMode.getCursorAbsolutePosition(), asString=True) if dword is None: dword = '----' sd = 'DWORD: {0}'.format(dword) pos = 'POS: {0:08x}'.format(self.viewMode.getCursorAbsolutePosition()) qword = self.dataModel.getQWORD(self.viewMode.getCursorAbsolutePosition(), asString=True) if qword is None: qword = '----' sq = 'QWORD: {0}'.format(qword) byte = self.dataModel.getBYTE(self.viewMode.getCursorAbsolutePosition(), asString=True) if byte is None: byte = '-' sb = 'BYTE: {0}'.format(byte) cemu.writeAt(1, 0, pos) cemu.writeAt(17, 0, sd) cemu.writeAt(35, 0, sq) cemu.writeAt(62, 0, sb) qp.drawLine(15 * self.fontWidth + 5, 0, 15 * self.fontWidth + 5, 50) qp.drawLine(33 * self.fontWidth + 5, 0, 33 * self.fontWidth + 5, 50) qp.drawLine(59 * self.fontWidth + 5, 0, 59 * self.fontWidth + 5, 50) qp.drawLine(71 * self.fontWidth + 5, 0, 71 * self.fontWidth + 5, 50) if self.viewMode.selector.getCurrentSelection(): u, v = self.viewMode.selector.getCurrentSelection() if u != v: pen = QtGui.QPen(QtGui.QColor(51, 153, 255), 0, QtCore.Qt.SolidLine) qp.setPen(pen) cemu.writeAt(73, 0, 'Selection: ') cemu.write('{0:x}:{1}'.format(u, v - u)) else: pen = QtGui.QPen(QtGui.QColor(128, 128, 128), 0, QtCore.Qt.SolidLine) qp.setPen(pen) cemu.writeAt(73, 0, '') """ qp.drawLine(self.fontWidth*(len(pos) + 1) + 15, 0, self.fontWidth*(len(pos) + 1) + 15, 50) qp.drawLine(self.fontWidth*(len(pos + sd) + 1) + 3*15, 0, self.fontWidth*(len(pos + sd) + 1) + 3*15, 50) qp.drawLine(self.fontWidth*(len(pos + sd + sq) + 1) + 5*15, 0, self.fontWidth*(len(pos + sd + sq) + 1) + 5*15, 50) qp.drawLine(self.fontWidth*(len(pos + sd + sq + sb) + 1) + 8*15, 0, self.fontWidth*(len(pos + sd + sq + sb) + 1) + 8*15, 50) """ # qp.drawLine(270, 0, 270, 50) # qp.drawLine(480, 0, 480, 50) # qp.drawLine(570, 0, 570, 50) """ # position qp.drawText(0 + 5, self.fontHeight, pos) # separator qp.drawLine(120, 0, 120, 50) # dword qp.drawText(130 + 5, self.fontHeight, sd) # separator qp.drawLine(270, 0, 270, 50) # qword qp.drawText(280 + 5, self.fontHeight, sq) # separator qp.drawLine(480, 0, 480, 50) # byte qp.drawText(490 + 5, self.fontHeight, sb) # separator qp.drawLine(570, 0, 570, 50) """ qp.end() pass def getPixmap(self): return self.qpix def _getNewPixmap(self, width, height): return QtGui.QPixmap(width, height) def resize(self, width, height): self.width = width self.height = height self.qpix = self._getNewPixmap(self.width, self.height) class TopBanner(Banner): def __init__(self, themes, dataModel, viewMode): self.width = 0 self.height = 0 self.dataModel = dataModel self.viewMode = viewMode self.qpix = self._getNewPixmap(self.width, self.height) self.backgroundBrush = QtGui.QBrush(themes['background']) # text font self.font = themes['font'] # font metrics. assume font is monospaced self.font.setKerning(False) self.font.setFixedPitch(True) fm = QtGui.QFontMetrics(self.font) self.fontWidth = fm.width('a') self.fontHeight = fm.height() self.textPen = QtGui.QPen(themes['pen'], 0, QtCore.Qt.SolidLine) def getOrientation(self): return Orientation.Top def getDesiredGeometry(self): return 26 # 22 def setViewMode(self, viewMode): self.viewMode = viewMode def draw(self): # i don't really like this in terms of arhitecture. We have # artificially introduced getHeaderInfo() in Views. Then we had one top # banner implemented per plugin. I will think to a better solution qp = QtGui.QPainter() qp.begin(self.qpix) qp.fillRect(0, 0, self.width, self.height, self.backgroundBrush) qp.setPen(self.textPen) qp.setFont(self.font) cemu = ConsoleEmulator(qp, self.height // self.fontHeight, self.width // self.fontWidth) cemu.writeAt(1, 0, 'FileAddr') offset = 11 text = self.viewMode.getHeaderInfo() cemu.writeAt(offset, 0, text) qp.end() def getPixmap(self): return self.qpix def _getNewPixmap(self, width, height): return QtGui.QPixmap(width, height) def resize(self, width, height): self.width = width self.height = height self.qpix = self._getNewPixmap(self.width, self.height) androguard-3.1.0-rc2/androguard/gui/BinViewMode.py000066400000000000000000000476451324327352200220040ustar00rootroot00000000000000from __future__ import absolute_import from __future__ import division import string from time import time from PyQt5 import QtGui, QtCore from builtins import str from .TextDecorators import * from .ViewMode import * from .cemu import * class BinViewMode(ViewMode): def __init__(self, themes, width, height, data, cursor, widget=None): super(BinViewMode, self).__init__() self.dataModel = data self.addHandler(self.dataModel) self.themes = themes self.width = width self.height = height self.cursor = cursor self.widget = widget self.refresh = True self.selector = TextSelection.DefaultSelection(themes, self) # background brush self.backgroundBrush = QtGui.QBrush(self.themes['background']) self.font = self.themes['font'] # font metrics. assume font is monospaced self.font.setKerning(False) self.font.setFixedPitch(True) fm = QtGui.QFontMetrics(self.font) self._fontWidth = fm.width('a') self._fontHeight = fm.height() self.textPen = QtGui.QPen(self.themes['pen'], 0, QtCore.Qt.SolidLine) self.resize(width, height) self.Paints = {} self.newPix = None self.Ops = [] @property def fontWidth(self): return self._fontWidth @property def fontHeight(self): return self._fontHeight def startCaching(self): # cache self.cache() # t = threading.Thread(target=self.cache) # t.start() def isInCache(self, page): if page in self.Paints: return True def cache(self): for i in [1, 2]: # pix = self._getNewPixmap(self.width, self.height) if not self.isInCache(self.dataModel.getPageOffset(i)): pix = QtGui.QImage(self.width, self.height, QtGui.QImage.Format_ARGB32) self.scrollPages(1, cachePix=pix, pageOffset=i) self.Paints[self.dataModel.getPageOffset(i)] = pix # print 'cache' def _getNewPixmap(self, width, height): return QtGui.QPixmap(width, height) def setTransformationEngine(self, engine): self.transformationEngine = engine self.original_textdecorator = engine def computeTextArea(self): self.COLUMNS = self.width // self.fontWidth self.ROWS = self.height // self.fontHeight self.notify(self.ROWS, self.COLUMNS) def drawAdditionals(self): self.newPix = self._getNewPixmap(self.width, self.height + self.SPACER) qp = QtGui.QPainter() qp.begin(self.newPix) qp.drawPixmap(0, 0, self.qpix) # self.transformationEngine.decorateText() # highlight selected text self.selector.highlightText() # draw other selections self.selector.drawSelections(qp) # draw our cursor self.drawCursor(qp) qp.end() def getPageOffset(self): return self.dataModel.getOffset() def getGeometry(self): return self.COLUMNS, self.ROWS def getColumnsbyRow(self, row): return self.COLUMNS def getDataModel(self): return self.dataModel def startSelection(self): self.selector.startSelection() def stopSelection(self): self.selector.stopSelection() def draw(self, refresh=False, row=0, howMany=0): if self.dataModel.getOffset() in self.Paints: self.refresh = False self.qpix = QtGui.QPixmap(self.Paints[self.dataModel.getOffset()]) # print 'hit' self.drawAdditionals() return if self.refresh or refresh: qp = QtGui.QPainter() qp.begin(self.qpix) # start = time() if not howMany: howMany = self.ROWS self.drawTextMode(qp, row=row, howMany=howMany) # end = time() - start # print 'Time ' + str(end) self.refresh = False qp.end() # self.Paints[self.dataModel.getOffset()] = QtGui.QPixmap(self.qpix) self.drawAdditionals() def draw2(self, qp, refresh=False): if self.refresh or refresh: start = time() self.drawTextMode(qp, howMany=self.ROWS) end = time() - start # print 'Time ' + str(end) qp = QtGui.QPainter() qp.begin(self.qpix) self.drawAdditionals() def drawCursor(self, qp): cursorX, cursorY = self.cursor.getPosition() qp.setBrush(self.themes['background_cursor']) if self.isInEditMode(): qp.setBrush(QtGui.QColor(255, 102, 179)) qp.setOpacity(0.8) qp.drawRect(cursorX * self.fontWidth, cursorY * self.fontHeight, self.fontWidth, self.fontHeight + 2) qp.setOpacity(1) def scroll_h(self, dx): self.qpix.scroll(dx * self.fontWidth, 0, self.qpix.rect()) qp = QtGui.QPainter() qp.begin(self.qpix) qp.setFont(self.font) qp.setPen(self.textPen) factor = abs(dx) if dx < 0: qp.fillRect((self.COLUMNS - 1 * factor) * self.fontWidth, 0, factor * self.fontWidth, self.ROWS * self.fontHeight + self.SPACER, self.backgroundBrush) if dx > 0: qp.fillRect(0, 0, factor * self.fontWidth, self.ROWS * self.fontHeight + self.SPACER, self.backgroundBrush) cemu = ConsoleEmulator(qp, self.ROWS, self.COLUMNS) page = self.transformationEngine.decorate() # scriem pe fiecare coloana in parte for column in range(factor): # fiecare caracter de pe coloana for i in range(self.ROWS): if dx < 0: # cu (column) selectam coloana idx = (i + 1) * self.COLUMNS - (column + 1) if dx > 0: idx = i * self.COLUMNS + column # c = self.dataModel.getDisplayablePage()[idx] c = self.transformationEngine.getChar(idx) qp.setPen(self.transformationEngine.choosePen(idx)) if self.transformationEngine.chooseBrush(idx) is not None: qp.setBackgroundMode(1) qp.setBackground(self.transformationEngine.chooseBrush(idx)) # self.decorate(qp, (idx, c), self.dataModel.getDisplayablePage()) if dx < 0: cemu.writeAt(self.COLUMNS - (column + 1), i, self.cp437(c)) if dx > 0: cemu.writeAt(column, i, self.cp437(c)) qp.setBackgroundMode(0) qp.end() def scroll_v(self, dy, cachePix=None, pageOffset=None): start = time() if not cachePix: self.qpix.scroll(0, dy * self.fontHeight, self.qpix.rect()) qp = QtGui.QPainter() if cachePix: qp.begin(cachePix) else: qp.begin(self.qpix) # self.font.setStyleHint(QtGui.QFont.AnyStyle, QtGui.QFont.PreferAntialias) qp.setFont(self.font) qp.setPen(self.textPen) # TODO: while the characters are not all the same hight, when scrolling up on y axis, trails remains. We should also erase a Rect with SPACER in hight # same problem when scrolling up. factor = abs(dy) if dy < 0: qp.fillRect(0, (self.ROWS - factor) * self.fontHeight, self.fontWidth * self.COLUMNS, factor * self.fontHeight + self.SPACER, self.backgroundBrush) if dy > 0: qp.fillRect(0, 0, self.fontWidth * self.COLUMNS, factor * self.fontHeight, self.backgroundBrush) cemu = ConsoleEmulator(qp, self.ROWS, self.COLUMNS) # page = self.dataModel.getDisplayablePage() page = self.transformationEngine.decorate(pageOffset=pageOffset) lastPen = None lastBrush = None # cate linii desenam k = time() for row in range(factor): # desenam caracterele # cemu.writeAt(0, row, str(page[row*self.COLUMNS:row*self.COLUMNS+self.COLUMNS])) for i in range(self.COLUMNS): if dy < 0: idx = (self.ROWS - (row + 1)) * self.COLUMNS + i if dy > 0: idx = i + (self.COLUMNS * row) c = self.transformationEngine.getChar(idx) nextPen = self.transformationEngine.choosePen(idx) if nextPen != lastPen: qp.setPen(nextPen) lastPen = nextPen qp.setBackgroundMode(0) nextBrush = self.transformationEngine.chooseBrush(idx) if nextBrush is not None: qp.setBackgroundMode(1) if nextBrush != lastBrush: qp.setBackground(nextBrush) lastBrush = nextBrush if dy < 0: cemu.writeAt_c(i, self.ROWS - 1 - row, self.cp437(c)) if dy > 0: cemu.writeAt_c(i, row, self.cp437(c)) # TODO: text decorator is taking too much! print time() - k qp.end() end = time() - start # print end # sys.exit() def scroll(self, dx, dy, cachePix=None, pageOffset=None): if not cachePix: if self.dataModel.getOffset() in self.Paints: self.draw() return if dx != 0: if self.dataModel.inLimits((self.dataModel.getOffset() - dx)): self.dataModel.slide(-dx) self.scroll_h(dx) if dy != 0: if self.dataModel.inLimits((self.dataModel.getOffset() - dy * self.COLUMNS)): self.dataModel.slide(-dy * self.COLUMNS) # import time # k = time.time() self.scroll_v(dy, cachePix, pageOffset) # print time.time() - k else: if dy <= 0: pass # self.dataModel.slideToLastPage() else: self.dataModel.slideToFirstPage() if not cachePix: self.draw(refresh=True) if not cachePix: self.draw() def scrollPages(self, number, cachePix=None, pageOffset=None): self.scroll(0, -number * self.ROWS, cachePix=cachePix, pageOffset=pageOffset) def getPixmap(self): for t in self.Ops: if len(t) == 1: t[0]() else: t[0](*t[1:]) self.Ops = [] if not self.newPix: self.draw() return self.newPix def resize(self, width, height): self.width = width - width % self.fontWidth self.height = height - height % self.fontHeight self.computeTextArea() self.qpix = self._getNewPixmap(self.width, self.height + self.SPACER) self.refresh = True def drawTextMode(self, qp, row=0, howMany=1): # draw background qp.fillRect(0, row * self.fontHeight, self.COLUMNS * self.fontWidth, howMany * self.fontHeight + self.SPACER, self.backgroundBrush) # set text pen&font qp.setFont(self.font) qp.setPen(self.textPen) cemu = ConsoleEmulator(qp, self.ROWS, self.COLUMNS) self.page = self.transformationEngine.decorate() cemu.gotoXY(0, row) for i, c in enumerate(self.getDisplayablePage()[row * self.COLUMNS:(row + howMany) * self.COLUMNS]): x = i + row * self.COLUMNS c = self.transformationEngine.getChar(x) qp.setPen(self.transformationEngine.choosePen(x)) if self.transformationEngine.chooseBrush(x) is not None: qp.setBackgroundMode(1) qp.setBackground(self.transformationEngine.chooseBrush(x)) cemu.write(self.cp437(c)) qp.setBackgroundMode(0) def getCursorAbsolutePosition(self): x, y = self.cursor.getPosition() return self.dataModel.getOffset() + y * self.COLUMNS + x def moveCursor(self, direction): cursorX, cursorY = self.cursor.getPosition() if direction == Directions.Left: if cursorX == 0: if cursorY == 0: self.scroll(1, 0) else: self.cursor.moveAbsolute(self.COLUMNS - 1, cursorY - 1) else: self.cursor.move(-1, 0) if direction == Directions.Right: if self.getCursorAbsolutePosition() + 1 >= self.dataModel.getDataSize(): return if cursorX == self.COLUMNS - 1: if cursorY == self.ROWS - 1: self.scroll(-1, 0) else: self.cursor.moveAbsolute(0, cursorY + 1) else: self.cursor.move(1, 0) if direction == Directions.Down: if self.getCursorAbsolutePosition() + self.COLUMNS >= self.dataModel.getDataSize(): y, x = self.dataModel.getXYInPage(self.dataModel.getDataSize() - 1) self.cursor.moveAbsolute(x, y) return if cursorY == self.ROWS - 1: self.scroll(0, -1) else: self.cursor.move(0, 1) if direction == Directions.Up: if cursorY == 0: self.scroll(0, 1) else: self.cursor.move(0, -1) if direction == Directions.End: if self.dataModel.getDataSize() < self.getCursorAbsolutePosition() + self.ROWS * self.COLUMNS: y, x = self.dataModel.getXYInPage(self.dataModel.getDataSize() - 1) self.cursor.moveAbsolute(x, y) else: self.cursor.moveAbsolute(self.COLUMNS - 1, self.ROWS - 1) if direction == Directions.Home: self.cursor.moveAbsolute(0, 0) if direction == Directions.CtrlHome: self.dataModel.slideToFirstPage() self.draw(refresh=True) self.cursor.moveAbsolute(0, 0) if direction == Directions.CtrlEnd: self.dataModel.slideToLastPage() self.draw(refresh=True) self.moveCursor(Directions.End) def keyFilter(self): return [ (QtCore.Qt.ControlModifier, QtCore.Qt.Key_Right), (QtCore.Qt.ControlModifier, QtCore.Qt.Key_Left), (QtCore.Qt.ControlModifier, QtCore.Qt.Key_Up), (QtCore.Qt.ControlModifier, QtCore.Qt.Key_Down), (QtCore.Qt.ControlModifier, QtCore.Qt.Key_End), (QtCore.Qt.ControlModifier, QtCore.Qt.Key_Home), (QtCore.Qt.NoModifier, QtCore.Qt.Key_Right), (QtCore.Qt.NoModifier, QtCore.Qt.Key_Left), (QtCore.Qt.NoModifier, QtCore.Qt.Key_Up), (QtCore.Qt.NoModifier, QtCore.Qt.Key_Down), (QtCore.Qt.NoModifier, QtCore.Qt.Key_End), (QtCore.Qt.NoModifier, QtCore.Qt.Key_Home), (QtCore.Qt.NoModifier, QtCore.Qt.Key_PageDown), (QtCore.Qt.NoModifier, QtCore.Qt.Key_PageUp) ] def anon(self, dx, dy): self.scroll(dx, dy) # scroll modifies datamodel offset, so we must do scroll and cursor # operations toghether y, x = self.dataModel.getXYInPage(self.dataModel.getDataSize() - 1) if self.getCursorAbsolutePosition() >= self.dataModel.getDataSize(): y, x = self.dataModel.getXYInPage(self.dataModel.getDataSize() - 1) self.cursor.moveAbsolute(x, y) # we call draw() again because it was called before by scroll() # and the cursor is already painted but it's not in correct position # kinda hack, don't really like it self.draw() def handleEditMode(self, modifiers, key, event): if key in range(0, 256): offs = self.getCursorOffsetInPage() self.dataModel.setData_b(self.dataModel.getOffset() + offs, str(event.text())) z = self.dataModel.getOffset() + offs # TODO: sa nu se repete, tre original_transformengine self.transformationEngine = RangePen(self.original_textdecorator, z, z + 0, QtGui.QPen(QtGui.QColor(218, 94, 242), 0, QtCore.Qt.SolidLine), ignoreHighlights=True) self.moveCursor(Directions.Right) x, y = self.cursor.getPosition() self.draw(refresh=True, row=y, howMany=1) def handleKeyEvent(self, modifiers, key, event=None): if event.type() == QtCore.QEvent.KeyRelease: if key == QtCore.Qt.Key_Shift: self.stopSelection() return True if event.type() == QtCore.QEvent.KeyPress: if modifiers & QtCore.Qt.ShiftModifier: keys = [QtCore.Qt.Key_Right, QtCore.Qt.Key_Left, QtCore.Qt.Key_Down, QtCore.Qt.Key_Up, QtCore.Qt.Key_End, QtCore.Qt.Key_Home] if key in keys: self.startSelection() if modifiers & QtCore.Qt.ControlModifier: if key == QtCore.Qt.Key_Right: self.addop((self.anon, -1, 0)) if key == QtCore.Qt.Key_Left: self.addop((self.scroll, 1, 0)) if key == QtCore.Qt.Key_Down: self.addop((self.anon, 0, -1)) if key == QtCore.Qt.Key_Up: self.addop((self.scroll, 0, 1)) if key == QtCore.Qt.Key_End: self.moveCursor(Directions.CtrlEnd) self.addop((self.draw,)) if key == QtCore.Qt.Key_Home: self.moveCursor(Directions.CtrlHome) self.addop((self.draw,)) return True else: # elif modifiers == QtCore.Qt.NoModifier or modifiers == QtCore.Qt.ShiftModifier:: if key == QtCore.Qt.Key_Escape: self.selector.resetSelections() self.addop((self.draw,)) if key == QtCore.Qt.Key_Left: self.moveCursor(Directions.Left) self.addop((self.draw,)) if key == QtCore.Qt.Key_Right: self.moveCursor(Directions.Right) self.addop((self.draw,)) if key == QtCore.Qt.Key_Down: self.moveCursor(Directions.Down) self.addop((self.draw,)) if key == QtCore.Qt.Key_End: self.moveCursor(Directions.End) self.addop((self.draw,)) if key == QtCore.Qt.Key_Home: self.moveCursor(Directions.Home) self.addop((self.draw,)) if key == QtCore.Qt.Key_Up: self.moveCursor(Directions.Up) self.addop((self.draw,)) if key == QtCore.Qt.Key_PageDown: self.addop((self.scrollPages, 1)) if key == QtCore.Qt.Key_PageUp: self.addop((self.scrollPages, -1)) if self.isInEditMode(): self.handleEditMode(modifiers, key, event) return True return False def isEditable(self): return True def setEditMode(self, mode): super(BinViewMode, self).setEditMode(mode) letters = string.ascii_letters + string.digits + ' .;\':;=\"?-!()/\\_' # disable/enable shortcuts if not mode: self.transformationEngine = self.original_textdecorator self.transformationEngine.reset() self.draw(refresh=True) """ def handleKeyPressEvent(self, modifier, key): if modifier == QtCore.Qt.ShiftModifier: #self.startSelection() return True def handleKeyReleaseEvent(self, modifier, key): if modifier == QtCore.Qt.ShiftModifier: self.stopSelection() return True """ def addop(self, t): self.Ops.append(t) def getHeaderInfo(self): return 'Binary' androguard-3.1.0-rc2/androguard/gui/DataModel.py000066400000000000000000000200331324327352200214440ustar00rootroot00000000000000from __future__ import absolute_import from __future__ import division from __future__ import print_function from future import standard_library standard_library.install_aliases() import os import mmap from .BinViewMode import * from .HexViewMode import * from .DisasmViewMode import * from .SourceViewMode import * class Observer(object): def update_geometry(self): NotImplementedError('method not implemented.') class DataModel(Observer): def __init__(self, data): self._dataOffset = 0 self.rows = self.cols = 0 self.data = data self._lastOffset = 0 self._dirty = False @property def dataOffset(self): return self._dataOffset @dataOffset.setter def dataOffset(self, value): print("DATA OFFSET", value) self._lastOffset = self._dataOffset self._dataOffset = value def getLastOffset(self): return self._lastOffset def inLimits(self, x): if 0 <= x < len(self.data): return True return False def slide(self, off): if self.inLimits(self.dataOffset + off): self.dataOffset += off def goTo(self, off): if self.inLimits(off): self.dataOffset = off def offsetInPage(self, off): if self.dataOffset <= off <= self.dataOffset + self.rows * self.cols: return True return False def update_geometry(self, rows, cols): self.rows = rows self.cols = cols def slideLine(self, factor): self.slide(factor * self.cols) def slidePage(self, factor): self.slide(factor * self.cols * self.rows) def slideToLastPage(self): if self.rows * self.cols > len(self.data): return self.dataOffset = len(self.data) - self.cols * self.rows def slideToFirstPage(self): self.dataOffset = 0 def getXYInPage(self, off): off -= self.dataOffset x, y = off // self.cols, off % self.cols return x, y def getPageOffset(self, page): return self.getOffset() + page * self.rows * self.cols def getQWORD(self, offset, asString=False): if offset + 8 > len(self.data): return None b = bytearray(self.data[offset:offset + 8]) d = ((b[7] << 56) | (b[6] << 48) | (b[5] << 40) | (b[4] << 32) | (b[3] << 24) | (b[2] << 16) | (b[1] << 8) | ( b[0])) & 0xFFFFFFFFFFFFFFFF if not asString: return d s = '{0:016X}'.format(d) return s def getDWORD(self, offset, asString=False): if offset + 4 >= len(self.data): return None b = bytearray(self.data[offset:offset + 4]) d = ((b[3] << 24) | (b[2] << 16) | (b[1] << 8) | (b[0])) & 0xFFFFFFFF if not asString: return d s = '{0:08X}'.format(d) return s def getWORD(self, offset, asString=False): if offset + 2 > len(self.data): return None b = bytearray(self.data[offset:offset + 2]) d = ((b[1] << 8) | (b[0])) & 0xFFFF if not asString: return d s = '{0:04X}'.format(d) return s def getBYTE(self, offset, asString=False): if offset + 1 > len(self.data): return None b = bytearray(self.data[offset:offset + 1]) d = (b[0]) & 0xFF if not asString: return d s = '{0:02X}'.format(d) return s def getChar(self, offset): if offset < 0: return None if offset >= len(self.data): return None return self.data[offset] def getStream(self, start, end): return bytearray(self.data[start:end]) def getOffset(self): return self.dataOffset def getData(self): return self.data def isDirty(self): return self._dirty def setData_b(self, offset, b): if self.inLimits(offset): self.data[offset] = b self._dirty = True return True return False def setData_s(self, u, v, s): self.data[u:v] = s self._dirty = True return True def getDataSize(self): return len(self.data) @property def source(self): return '' def flush(self): raise NotImplementedError('method not implemented.') def write(self): raise NotImplementedError('method not implemented.') def close(self): pass def size(self): pass class FileDataModel(DataModel): def __init__(self, filename): self._filename = filename self._f = open(filename, "rb") # memory-map the file, size 0 means whole file self._mapped = mmap.mmap(self._f.fileno(), 0, access=mmap.ACCESS_COPY) super(FileDataModel, self).__init__(self._mapped) @property def source(self): return self._filename def flush(self): self._f.close() # open for writing try: self._f = open(self._filename, "r+b") except OSError as e: # could not open for writing return False self._f.write(self._mapped) return True def close(self): self._mapped.close() self._f.close() def write(self, offset, stream): self._mapped.seek(offset) self._mapped.write(stream) def size(self): return os.path.getsize(self._filename) import io class MyStringIO(io.StringIO, object): def __init__(self, data): self.raw = data super(MyStringIO, self).__init__(data) def __len__(self): return len(self.raw) class MyByte(bytearray): def __init__(self, data): self.raw = data self._pointer = 0 super(MyByte, self).__init__(data) def __len__(self): return len(self.raw) def seek(self, a, b=0): if b == 0: self._pointer = a elif b == 1: self._pointer += a elif b == 2: self._pointer = len(self.raw) - b else: return return def read(self, size): if self._pointer + size > len(self.raw): return '' data = str(self.raw[self._pointer:self._pointer + size]) self._pointer += size return data class BufferDataModel(DataModel): def __init__(self, data, name): self._filename = name self.raw = data super(BufferDataModel, self).__init__(data) @property def source(self): return self._filename def flush(self): return False def close(self): return # def write(self, offset, stream): # self._mapped.seek(offset) # self._mapped.write(stream) def size(self): return len(self.data) class ApkModel(DataModel): def __init__(self, apkobj): print(apkobj) self._filename = str(apkobj) self.raw = apkobj.get_raw() self.data = MyByte(self.raw) super(ApkModel, self).__init__(self.data) def GetViews(self): return [BinViewMode, HexViewMode] @property def source(self): return self._filename def flush(self): return False def close(self): return def size(self): return len(self.data) class DexClassModel(DataModel): def __init__(self, current_class): self.current_class = current_class self._filename = current_class.get_name() raw = self.GetRawData(current_class) super(DexClassModel, self).__init__(raw) def GetRawData(self, current_class): buff = bytearray() self.ins_size = 0 for method in current_class.get_methods(): for ins in method.get_instructions(): buff += ins.get_raw() self.ins_size += ins.get_length() * 2 return buff def GetViews(self): return [DisasmViewMode, SourceViewMode, HexViewMode] @property def source(self): return self._filename def flush(self): return False def close(self): return def getDataSize(self): return self.ins_size androguard-3.1.0-rc2/androguard/gui/DisasmViewMode.py000066400000000000000000001010531324327352200224740ustar00rootroot00000000000000from __future__ import absolute_import from __future__ import division from __future__ import print_function from PyQt5 import QtGui, QtCore from builtins import hex from builtins import range from androguard.core.bytecodes import dvm from . import TextSelection from .ViewMode import * from .cemu import * import logging log = logging.getLogger("androguard.gui") MNEMONIC_COLUMN = 30 MNEMONIC_WIDTH = 30 class InstructionView(object): def __init__(self, ins): self.ins = ins self._indexTable = [] self._Operands = [] self._Comments = [] self.loaded = False def AddComment(self, cmt): self._Comments.append(cmt) def Load(self): if self.loaded: return H = self.get_hex().split(' ') for i, h in enumerate(H): self._indexTable += [(i * 3, len(h), h)] self._indexTable += [(MNEMONIC_COLUMN, len(self.get_name()), self.get_name())] i = 0 offset = 0 for operand in self.ins.get_operands(0): value = None if operand[0] == dvm.OPERAND_REGISTER: value = [operand[0], "v%d" % operand[1]] elif operand[0] == dvm.OPERAND_LITERAL: value = [operand[0], "%d" % operand[1]] elif operand[0] == dvm.OPERAND_RAW: value = [operand[0], "%s" % operand[1]] elif operand[0] == dvm.OPERAND_OFFSET: value = [operand[0], "%d" % operand[1]] elif operand[0] & dvm.OPERAND_KIND: if operand[0] == (dvm.OPERAND_KIND + dvm.KIND_STRING): value = [operand[0], "%s" % operand[2]] elif operand[0] == (dvm.OPERAND_KIND + dvm.KIND_METH): value = [operand[0], "%s" % operand[2]] elif operand[0] == (dvm.OPERAND_KIND + dvm.KIND_FIELD): value = [operand[0], "%s" % operand[2]] elif operand[0] == (dvm.OPERAND_KIND + dvm.KIND_TYPE): value = [operand[0], "%s" % operand[2]] if value: if offset > 0: offset += 1 t = (offset + MNEMONIC_COLUMN + MNEMONIC_WIDTH, len(value[1]), value[1]) self._indexTable += [t] self._Operands.append(value) offset += len(value[1]) self.loaded = True def get_hex(self): return self.ins.get_hex() def get_length(self): return self.ins.get_length() * 2 def get_name(self): return self.ins.get_name() def get_operands(self, idx=-1): return self._Operands def get_symbol(self): return None def get_output(self): return self.ins.get_output() def tokens(self): return self._indexTable def get_comments(self): return self._Comments @property def indexTable(self): return self._indexTable def getSelectionWidth(self, cx): for i, t in enumerate(self.indexTable): idx, length, value = t if cx == idx: return length return 0 def getEndCursor(self): idx, length, value = self.indexTable[-1] return idx def getNearestCursor(self, cx): if cx > self.getEndCursor(): return self.getEndCursor() i = len(self.indexTable) - 1 while i > 0: idx, length, value = self.indexTable[i] if cx >= idx: return idx i -= 1 return 0 def getNextCursor(self, cx, direction=''): for i, t in enumerate(self.indexTable): idx, length, value = t if cx == idx: break if direction == Directions.Right: if i < len(self.indexTable) - 1: idx, length, value = self.indexTable[i + 1] else: return 0, 1 if direction == Directions.Left: if i > 0: idx, length, value = self.indexTable[i - 1] else: return 0, -1 return idx, 0 def getSelectedToken(self, cx): for i, t in enumerate(self._indexTable): idx, length, value = t if cx == idx: return t return None, None, None class DisasmViewMode(ViewMode): def __init__(self, themes, width, height, data, cursor, widget=None): super(DisasmViewMode, self).__init__() self.themes = themes self.dataModel = data self.addHandler(self.dataModel) self.width = width self.height = height self.cursor = cursor self.widget = widget self.refresh = True # background brush self.backgroundBrush = QtGui.QBrush(self.themes['background']) # text font self.font = themes['font'] # font metrics. assume font is monospaced self.font.setKerning(False) self.font.setFixedPitch(True) fm = QtGui.QFontMetrics(self.font) self._fontWidth = fm.width('a') self._fontHeight = fm.height() self.FlowHistory = [] self.CACHE_OPCODES = [] self.CACHE_IDX_OPCODES = {} self.CACHE_IDX_OPCODES_OFF = {} self.OPCODES = [] vm_analysis = self.dataModel.current_class.CM.get_vmanalysis() methods = [i for i in self.dataModel.current_class.get_methods()] print(methods) methods = sorted(methods, key=lambda x: x.get_address(), reverse=True) offset = 0 cnt = 0 for method in methods: mx = vm_analysis.get_method(method) for DVMBasicMethodBlockInstruction in method.get_instructions(): # for DVMBasicMethodBlock in mx.basic_blocks.gets(): # for DVMBasicMethodBlockInstruction in DVMBasicMethodBlock.get_instructions(): ins = InstructionView(DVMBasicMethodBlockInstruction) self.CACHE_OPCODES.append(ins) self.CACHE_IDX_OPCODES[offset] = ins self.CACHE_IDX_OPCODES_OFF[offset] = cnt offset += ins.get_length() cnt += 1 self.max_offset = offset print(sorted(self.CACHE_IDX_OPCODES_OFF.keys())) self.textPen = QtGui.QPen(self.themes['pen'], 0, QtCore.Qt.SolidLine) self.resize(width, height) self.Paints = {} self.Ops = [] self.newPix = None self.selector = TextSelection.DisasmSelection(themes, self) def GetLengthOpcodes(self): length = 0 for i in self.CACHE_OPCODES: length += i.get_length() return length def FeedOpcodes(self, cnt): print('FEED ', cnt) self.OPCODES = [] for i in range(0, min(cnt, len(self.CACHE_OPCODES))): ins = self.CACHE_OPCODES[i] ins.Load() self.OPCODES.append(ins) @property def fontWidth(self): return self._fontWidth @property def fontHeight(self): return self._fontHeight def setTransformationEngine(self, engine): self.transformationEngine = engine def resize(self, width, height): self.width = width - width % self.fontWidth self.height = height - height % self.fontHeight self.computeTextArea() self.qpix = self._getNewPixmap(self.width, self.height + self.SPACER) self.refresh = True self.FeedOpcodes(self.ROWS) def computeTextArea(self): self.COLUMNS = self.width // self.fontWidth self.ROWS = self.height // self.fontHeight self.notify(self.ROWS, self.COLUMNS) def getPixmap(self): for t in self.Ops: if len(t) == 1: t[0]() else: t[0](*t[1:]) self.Ops = [] if not self.newPix: self.draw() return self.newPix def getPageOffset(self): return self.dataModel.getOffset() def getGeometry(self): return self.COLUMNS, self.ROWS def getDataModel(self): return self.dataModel def startSelection(self): self.selector.startSelection() def stopSelection(self): self.selector.stopSelection() def getCursorOffsetInPage(self): x, y = self.cursor.getPosition() preY = sum([asm.get_length() for asm in self.OPCODES[:y]]) if len(self.OPCODES) - 1 < y: return 0 asm = self.OPCODES[y] if x < len(asm.get_hex()): postY = x // 3 else: postY = asm.get_length() return preY + postY def getCursorAbsolutePosition(self): offset = self.getCursorOffsetInPage() return self.dataModel.getOffset() + offset def drawCursor(self, qp): cursorX, cursorY = self.cursor.getPosition() print(cursorX, cursorY) xstart = cursorX if cursorY not in self.OPCODES: log.warning("Impossible to find instruction at cursor %d, %d" % (cursorY, len(self.OPCODES))) return asm = self.OPCODES[cursorY] width = asm.getSelectionWidth(xstart) qp.setBrush(QtGui.QColor(255, 255, 0)) qp.setOpacity(0.5) qp.drawRect(xstart * self.fontWidth, cursorY * self.fontHeight, width * self.fontWidth, self.fontHeight + 2) qp.setOpacity(1) def drawSelected(self, qp): qp.setFont(self.font) cursorX, cursorY = self.cursor.getPosition() if len(self.OPCODES) - 1 < cursorY: return asm = self.OPCODES[cursorY] _, width, text = asm.getSelectedToken(cursorX) for i, asm in enumerate(self.OPCODES): for idx, length, value in asm.tokens(): # skip current cursor position if cursorY == i and cursorX == idx: continue # check every line, if match, select it if value == text: qp.setOpacity(0.4) brush = QtGui.QBrush(QtGui.QColor(0, 255, 0)) qp.fillRect(idx * self.fontWidth, i * self.fontHeight + 2, width * self.fontWidth, self.fontHeight, brush) qp.setOpacity(1) def drawBranch(self, qp): qp.fillRect(-50, 0, 50, self.ROWS * self.fontHeight, self.backgroundBrush) def drawBranch2(self, qp): cursorX, cursorY = self.cursor.getPosition() if len(self.OPCODES) - 1 < cursorY: return asm = self.OPCODES[cursorY] if asm.isBranch(): tsize = sum([o.size for o in self.OPCODES]) msize = sum([o.size for o in self.OPCODES[:cursorY]]) half = self.fontHeight // 2 # branch address target = asm.branchAddress() if target is None: return screenVA = self._getVA(self.dataModel.getOffset()) if screenVA < target < self._getVA(self.dataModel.getOffset()) + tsize - self.OPCODES[-1].size: # branch target is in screen sz = 0 for i, t in enumerate(self.OPCODES): sz += t.size if sz + self._getVA(self.dataModel.getOffset()) >= target: break qp.setPen(QtGui.QPen(QtGui.QColor(0, 192, 0), 1, QtCore.Qt.SolidLine)) # draw the three lines qp.drawLine(-5, cursorY * self.fontHeight + self.fontHeight // 2, -30, cursorY * self.fontHeight + half) qp.drawLine(-30, cursorY * self.fontHeight + self.fontHeight // 2, -30, (i + 1) * self.fontHeight + half) qp.drawLine(-30, (i + 1) * self.fontHeight + half, -15, (i + 1) * self.fontHeight + half) # draw arrow points = [QtCore.QPoint(-15, (i + 1) * self.fontHeight + half - 5), QtCore.QPoint(-15, (i + 1) * self.fontHeight + half + 5), QtCore.QPoint(-5, (i + 1) * self.fontHeight + half), ] needle = QtGui.QPolygon(points) qp.setBrush(QtGui.QBrush(QtGui.QColor(0, 128, 0))) qp.drawPolygon(needle) elif target > screenVA: # branch is at greater address, out of screen qp.setPen(QtGui.QPen(QtGui.QColor(0, 192, 0), 1, QtCore.Qt.DotLine)) # draw the two lines qp.drawLine(-5, cursorY * self.fontHeight + self.fontHeight // 2, -30, cursorY * self.fontHeight + half) qp.drawLine(-30, cursorY * self.fontHeight + self.fontHeight // 2, -30, (self.ROWS - 2) * self.fontHeight + half) # draw arrow points = [QtCore.QPoint(-25, (self.ROWS - 2) * self.fontHeight + half), QtCore.QPoint(-35, (self.ROWS - 2) * self.fontHeight + half), QtCore.QPoint(-30, (self.ROWS - 2) * self.fontHeight + 2 * half), ] needle = QtGui.QPolygon(points) qp.setBrush(QtGui.QBrush(QtGui.QColor(0, 128, 0))) qp.drawPolygon(needle) else: # upper arrow # branch is at lower address, out of screen qp.setPen(QtGui.QPen(QtGui.QColor(0, 192, 0), 1, QtCore.Qt.DotLine)) # draw the two lines qp.drawLine(-5, cursorY * self.fontHeight + self.fontHeight // 2, -30, cursorY * self.fontHeight + half) qp.drawLine(-30, cursorY * self.fontHeight + self.fontHeight // 2, -30, 1 * self.fontHeight + half) # draw arrow points = [QtCore.QPoint(-25, 1 * self.fontHeight + half), QtCore.QPoint(-35, 1 * self.fontHeight + half), QtCore.QPoint(-30, 1 * self.fontHeight), ] needle = QtGui.QPolygon(points) qp.setBrush(QtGui.QBrush(QtGui.QColor(0, 128, 0))) qp.drawPolygon(needle) def draw(self, refresh=False): if self.dataModel.getOffset() in self.Paints: self.refresh = False self.qpix = QtGui.QPixmap(self.Paints[self.dataModel.getOffset()]) # print 'hit' self.drawAdditionals() return if self.refresh or refresh: qp = QtGui.QPainter() qp.begin(self.qpix) # viewport # qp.fillRect(0, 0, self.COLUMNS * self.fontWidth, self.ROWS * self.fontHeight, self.backgroundBrush) # start = time() self.drawTextMode(qp) # end = time() - start # print 'Time ' + str(end) self.refresh = False qp.end() # self.Paints[self.dataModel.getOffset()] = QtGui.QPixmap(self.qpix) self.drawAdditionals() def drawAdditionals(self): self.newPix = self._getNewPixmap(self.width, self.height + self.SPACER) qp = QtGui.QPainter() qp.begin(self.newPix) qp.setWindow(-50, 0, self.COLUMNS * self.fontWidth, self.ROWS * self.fontHeight) qp.drawPixmap(0, 0, self.qpix) # self.transformationEngine.decorateText() # highlight selected text self.selector.highlightText() # draw other selections self.selector.drawSelections(qp) # draw our cursor self.drawCursor(qp) self.drawBranch(qp) self.drawSelected(qp) qp.end() def _getNewPixmap(self, width, height): return QtGui.QPixmap(width, height) def getColumnsbyRow(self, row): if row < len(self.OPCODES): obj = self.OPCODES[row] return obj.get_length() else: return 0 def _getVA(self, offset): if self.plugin: return self.plugin.hintDisasmVA(offset) return 0 def _drawRow(self, qp, cemu, row, asm, offset=-1): print('DRAW AN INSTRUCTION', asm, row, asm.get_name(), len(asm.get_operands(offset)), hex(self.getPageOffset())) qp.setPen(QtGui.QPen(QtGui.QColor(192, 192, 192), 1, QtCore.Qt.SolidLine)) hex_data = asm.get_hex() # write hexdump cemu.writeAt(0, row, hex_data) # fill with spaces cemu.write((MNEMONIC_COLUMN - len(hex_data)) * ' ') # let's color some branch instr # if asm.isBranch(): # qp.setPen(QtGui.QPen(QtGui.QColor(255, 80, 0))) # else: qp.setPen(QtGui.QPen(QtGui.QColor(192, 192, 192), 1, QtCore.Qt.SolidLine)) mnemonic = asm.get_name() cemu.write(mnemonic) # leave some spaces cemu.write((MNEMONIC_WIDTH - len(mnemonic)) * ' ') if asm.get_symbol(): qp.setPen(QtGui.QPen(QtGui.QColor(192, 192, 192), 1, QtCore.Qt.SolidLine)) cemu.write_c('[') qp.setPen(QtGui.QPen(QtGui.QColor('yellow'), 1, QtCore.Qt.SolidLine)) cemu.write(asm.get_symbol()) qp.setPen(QtGui.QPen(QtGui.QColor(192, 192, 192), 1, QtCore.Qt.SolidLine)) cemu.write_c(']') self._write_operands(asm, qp, cemu, offset) self._write_comments(asm, qp, cemu, offset) def _write_comments(self, asm, qp, cemu, offset): comments = asm.get_comments() if comments: cemu.write(30 * ' ') qp.setPen(QtGui.QPen(QtGui.QColor(82, 192, 192), 1, QtCore.Qt.SolidLine)) cemu.write('; "{0}"'.format(' '.join(comments))) def _write_operands(self, asm, qp, cemu, offset): qp.setPen(QtGui.QPen(QtGui.QColor(192, 192, 192), 1, QtCore.Qt.SolidLine)) operands = asm.get_operands(offset) for operand in operands: qp.save() if operand[0] == dvm.OPERAND_REGISTER: qp.setPen(QtGui.QPen(QtGui.QColor('white'))) cemu.write("%s" % operand[1]) elif operand[0] == dvm.OPERAND_LITERAL: qp.setPen(QtGui.QPen(QtGui.QColor('yellow'))) cemu.write("%s" % operand[1]) elif operand[0] == dvm.OPERAND_RAW: qp.setPen(QtGui.QPen(QtGui.QColor('red'))) cemu.write("%s" % operand[1]) elif operand[0] == dvm.OPERAND_OFFSET: qp.setPen(QtGui.QPen(QtGui.QColor('purple'))) cemu.write("%s" % operand[1]) elif operand[0] & dvm.OPERAND_KIND: if operand[0] == (dvm.OPERAND_KIND + dvm.KIND_STRING): qp.setPen(QtGui.QPen(QtGui.QColor('red'))) cemu.write("%s" % operand[1]) elif operand[0] == (dvm.OPERAND_KIND + dvm.KIND_METH): qp.setPen(QtGui.QPen(QtGui.QColor('cyan'))) cemu.write("%s" % operand[1]) elif operand[0] == (dvm.OPERAND_KIND + dvm.KIND_FIELD): qp.setPen(QtGui.QPen(QtGui.QColor('green'))) cemu.write("%s" % operand[1]) elif operand[0] == (dvm.OPERAND_KIND + dvm.KIND_TYPE): qp.setPen(QtGui.QPen(QtGui.QColor('blue'))) cemu.write("%s" % operand[1]) cemu.write(" ") qp.restore() def _write_instruction2(self, asm, qp, cemu): s = asm.operands idx = 0 qp.setPen(QtGui.QPen(QtGui.QColor(192, 192, 192), 1, QtCore.Qt.SolidLine)) for tok in asm.lexer: if tok.lexpos > idx: cemu.write(s[idx:tok.lexpos]) idx = tok.lexpos qp.save() if tok.type == 'REGISTER': qp.setPen(QtGui.QPen(QtGui.QColor('white'))) if tok.type == 'NUMBER': qp.setPen(QtGui.QPen(QtGui.QColor('green'))) cemu.write(tok.value) qp.restore() idx = tok.lexpos + len(tok.value) if idx < len(s): cemu.write(s[idx:]) def drawTextMode(self, qp): print('OFFSET', self.dataModel.getOffset()) # draw background qp.fillRect(0, 0, self.COLUMNS * self.fontWidth, self.ROWS * self.fontHeight, self.backgroundBrush) # set text pen&font qp.setFont(self.font) qp.setPen(self.textPen) cemu = ConsoleEmulator(qp, self.ROWS, self.COLUMNS) offset = 0 for i in range(self.ROWS): if i < len(self.OPCODES): asm = self.OPCODES[i] self._drawRow(qp, cemu, i, asm, offset) offset += asm.get_length() def _getRowInPage(self, offset): offset -= self.dataModel.getOffset() size = 0 for i, asm in enumerate(self.OPCODES): if size + asm.get_length() > offset: return i size += asm.get_length() return None def _getOffsetOfRow(self, row): # of course, it could be done nicely, not like this size = 0 for i, asm in enumerate(self.OPCODES): if i == row: return size size += asm.get_length() return None def goTo(self, offset): print("GOTO ", offset) tsize = sum([opcode.get_length() for opcode in self.OPCODES]) if self.dataModel.getOffset() + tsize > offset > self.dataModel.getOffset(): # if in current page, move cursor row = self._getRowInPage(offset) off_row = self._getOffsetOfRow(row) diff = offset - self.dataModel.getOffset() - off_row # self.OPCODES[row].size if row is not None: self.cursor.moveAbsolute(diff * 3, row) self.draw(refresh=False) else: # else, move page self.dataModel.goTo(offset) self.FeedOpcodes(self.ROWS) self.cursor.moveAbsolute(0, 0) self.draw(refresh=True) # TODO: getDisplayablePage() won't contain what we want to disasm. we will use dataModel # in this view, getDisplayablePage will contain disasm text, because that is what is displayed if self.widget: self.widget.update() def scrollPages(self, number, cachePix=None, pageOffset=None): self.scroll(0, -number * self.ROWS, cachePix=cachePix, pageOffset=pageOffset) def scroll_v(self, dy, cachePix=None, pageOffset=None): print('scroll_v', dy, cachePix, pageOffset, hex(self.getCursorAbsolutePosition())) RowsToDraw = [] factor = abs(dy) # repeat as many rows we have scrolled for row in range(factor): current_idx = None if dy < 0: tsize = sum([asm.get_length() for asm in self.OPCODES]) current_offset = self.dataModel.getOffset() + tsize if current_offset not in self.CACHE_IDX_OPCODES_OFF: print('INVALID OFFSET', hex(current_offset)) return current_idx = self.CACHE_IDX_OPCODES_OFF[current_offset] - 1 print("IDX", current_idx, hex(current_offset)) if current_idx + 1 >= len(self.CACHE_OPCODES): print('END OF DATA') return current_idx += 1 if dy >= 0: current_offset = self.dataModel.getOffset() current_idx = self.CACHE_IDX_OPCODES_OFF[current_offset] print("IDX", current_idx, hex(current_offset)) # start = self.CACHE_OPCODES[self.CACHE_IDX_OPCODES_OFF[self.getCursorAbsolutePosition()]-1] current_idx -= 1 newins = self.CACHE_OPCODES[current_idx] if dy < 0: self.dataModel.slide(self.OPCODES[0].get_length()) del self.OPCODES[0] if dy >= 0: self.dataModel.slide(-newins.get_length()) del self.OPCODES[len(self.OPCODES) - 1] if dy < 0: self.OPCODES.append(newins) if dy > 0: self.OPCODES.insert(0, newins) if dy < 0: RowsToDraw.append((self.ROWS + row, newins)) if dy > 0: RowsToDraw.append((-row - 1, newins)) print('ROW TO DRAW', RowsToDraw) if len(RowsToDraw) < abs(dy): # maybe we couldn't draw dy rows (possible we reached the beginning of the data to early), recalculate dy dy = len(RowsToDraw) * dy / abs(dy) factor = abs(dy) if not cachePix: self.qpix.scroll(0, dy * self.fontHeight, self.qpix.rect()) qp = QtGui.QPainter() if cachePix: qp.begin(cachePix) else: qp.begin(self.qpix) qp.setFont(self.font) qp.setPen(self.textPen) # erase rows that will disappear if dy < 0: qp.fillRect(0, (self.ROWS - factor) * self.fontHeight, self.fontWidth * self.COLUMNS, factor * self.fontHeight, self.backgroundBrush) if dy > 0: qp.fillRect(0, 0, self.fontWidth * self.COLUMNS, factor * self.fontHeight, self.backgroundBrush) cemu = ConsoleEmulator(qp, self.ROWS, self.COLUMNS) for row, asm in RowsToDraw: asm.Load() self._drawRow(qp, cemu, dy + row, asm) qp.end() print('') def scroll(self, dx, dy, cachePix=None, pageOffset=None): print('scroll ', dx, dy, self.dataModel.inLimits((self.dataModel.getOffset() - dx)), 'offset', self.dataModel.getOffset()) if dx != 0: if self.dataModel.inLimits((self.dataModel.getOffset() - dx)): self.dataModel.slide(dx) self.draw(refresh=True) # self.scroll_h(dx) if dy != 0: if dy > 0: if self.dataModel.getOffset() == 0: print('OFFSET == 0') return if dy < 0: tsize = sum([asm.get_length() for asm in self.OPCODES]) if self.dataModel.getOffset() + tsize == self.dataModel.getDataSize(): print('END') return self.scroll_v(dy, cachePix, pageOffset) def moveCursor(self, direction): cursorX, cursorY = self.cursor.getPosition() if direction == Directions.Left: asm = self.OPCODES[cursorY] if cursorX == 0: if cursorY == 0: # if first line, scroll self.scroll(0, 1) self.cursor.moveAbsolute(0, 0) else: # move to last token from previous line asm_prev = self.OPCODES[cursorY - 1] idx = asm_prev.getEndCursor() self.cursor.moveAbsolute(idx, cursorY - 1) else: x, dy = asm.getNextCursor(cursorX, direction=Directions.Left) self.cursor.move(-(cursorX - x), dy) if direction == Directions.Right: asm = self.OPCODES[cursorY] x, dy = asm.getNextCursor(cursorX, direction=Directions.Right) if cursorY == self.ROWS - 1 and dy > 0: self.scroll(0, -1) self.cursor.moveAbsolute(0, cursorY) else: if cursorY + dy >= len(self.OPCODES): dy = 0 self.cursor.move(x - cursorX, dy) if direction == Directions.Down: if cursorY == self.ROWS - 1: # move cursor to first token self.scroll(0, -1) self.cursor.moveAbsolute(0, cursorY) else: # move next line, to nearest token on columns if cursorY + 1 < len(self.OPCODES): asm = self.OPCODES[cursorY + 1] x = asm.getNearestCursor(cursorX) self.cursor.moveAbsolute(x, cursorY + 1) if direction == Directions.Up: if cursorY == 0: # move cursor to first token self.scroll(0, 1) self.cursor.moveAbsolute(0, cursorY) else: # move next line, to nearest token on columns asm = self.OPCODES[cursorY - 1] x = asm.getNearestCursor(cursorX) self.cursor.moveAbsolute(x, cursorY - 1) if direction == Directions.End: pass if direction == Directions.Home: self.cursor.moveAbsolute(0, 0) if direction == Directions.CtrlHome: self.goTo(0) if direction == Directions.CtrlEnd: self.dataModel.slideToLastPage() self.draw(refresh=True) self.cursor.moveAbsolute(self.COLUMNS - 1, self.ROWS - 1) def _followBranch(self): cursorX, cursorY = self.cursor.getPosition() asm = self.OPCODES[cursorY] if asm.isBranch(): value = asm.branchAddress() if value: fofs = self.plugin.disasmVAtoFA(value) if fofs is not None: rowOfs = self._getOffsetOfRow(cursorY) if rowOfs is not None: self.FlowHistory.append(rowOfs + self.dataModel.getOffset()) self.goTo(fofs) def _followBranchHistory(self): if len(self.FlowHistory) > 0: offset = self.FlowHistory[-1] del self.FlowHistory[-1] self.goTo(offset) def handleKeyEvent(self, modifiers, key, event=None): if event.type() == QtCore.QEvent.KeyRelease: if key == QtCore.Qt.Key_Shift: self.stopSelection() return True if event.type() == QtCore.QEvent.KeyPress: if modifiers == QtCore.Qt.ShiftModifier: keys = [QtCore.Qt.Key_Right, QtCore.Qt.Key_Left, QtCore.Qt.Key_Down, QtCore.Qt.Key_Up, QtCore.Qt.Key_End, QtCore.Qt.Key_Home] if key in keys: self.startSelection() if modifiers == QtCore.Qt.ControlModifier: if key == QtCore.Qt.Key_Right: self.dataModel.slide(1) self.addop((self.scroll, -1, 0)) if key == QtCore.Qt.Key_Left: self.dataModel.slide(-1) self.addop((self.scroll, 1, 0)) if key == QtCore.Qt.Key_Down: self.addop((self.scroll, 0, -1)) self.addop((self.draw,)) if key == QtCore.Qt.Key_Up: self.addop((self.scroll, 0, 1)) self.addop((self.draw,)) if key == QtCore.Qt.Key_End: # not supported pass if key == QtCore.Qt.Key_Home: self.moveCursor(Directions.CtrlHome) self.addop((self.draw,)) # self.draw() return True else: # elif modifiers == QtCore.Qt.NoModifier: if key == QtCore.Qt.Key_Escape: self.selector.resetSelections() self.addop((self.draw,)) if key == QtCore.Qt.Key_Left: self.moveCursor(Directions.Left) self.addop((self.draw,)) # self.draw() if key == QtCore.Qt.Key_Right: self.moveCursor(Directions.Right) self.addop((self.draw,)) # self.draw() if key == QtCore.Qt.Key_Down: self.moveCursor(Directions.Down) self.addop((self.draw,)) # self.draw() if key == QtCore.Qt.Key_End: self.moveCursor(Directions.End) self.addop((self.draw,)) # self.draw() if key == QtCore.Qt.Key_Home: self.moveCursor(Directions.Home) self.addop((self.draw,)) # self.draw() if key == QtCore.Qt.Key_Up: self.moveCursor(Directions.Up) self.addop((self.draw,)) # self.draw() if key == QtCore.Qt.Key_PageDown: self.addop((self.scrollPages, 1)) self.addop((self.draw,)) if key == QtCore.Qt.Key_PageUp: self.addop((self.scrollPages, -1)) self.addop((self.draw,)) if key == QtCore.Qt.Key_Return: self.addop((self._followBranch,)) self.addop((self.draw,)) if key == QtCore.Qt.Key_Escape: self.addop((self._followBranchHistory,)) self.addop((self.draw,)) return True return False def addop(self, t): self.Ops.append(t) def getHeaderInfo(self): return 'Disasm listing' androguard-3.1.0-rc2/androguard/gui/HexViewMode.py000066400000000000000000001037471324327352200220140ustar00rootroot00000000000000from __future__ import absolute_import from __future__ import division import sys import string from PyQt5 import QtGui, QtCore, QtWidgets from PyQt5.uic import loadUi from builtins import hex from builtins import str from androguard.core.androconf import CONF from .TextDecorators import * from .ViewMode import * from .cemu import * from . import TextSelection import os class HexViewMode(ViewMode): def __init__(self, themes, width, height, data, cursor, widget=None): super(HexViewMode, self).__init__() self.dataModel = data self.width = width self.height = height self.refresh = True self.selector = TextSelection.HexSelection(themes, self) self.widget = widget self.addHandler(self.dataModel) # background brush self.backgroundBrush = QtGui.QBrush(themes['background']) # text font self.font = themes['font'] # font metrics. assume font is monospaced self.font.setKerning(False) self.font.setFixedPitch(True) fm = QtGui.QFontMetrics(self.font) self._fontWidth = fm.width('a') self._fontHeight = fm.height() self.Special = string.ascii_letters + string.digits + ' .;\':;=\"?-!()/\\_' self.textPen = QtGui.QPen(themes['pen'], 1, QtCore.Qt.SolidLine) self.cursor = cursor self.HexColumns = [1, 4, 8, 16, 32, 36, 40] self.idxHexColumns = 3 # 32 columns self.newPix = None self.Ops = [] self.gap = 5 self.highpart = True self.resize(width, height) self.ann_w = Annotation(self.widget, self) @property def fontWidth(self): return self._fontWidth @property def fontHeight(self): return self._fontHeight def setTransformationEngine(self, engine): self.transformationEngine = engine self.original_textdecorator = engine def _getNewPixmap(self, width, height): return QtGui.QPixmap(width, height) def getPixmap(self): # return self.qpix for t in self.Ops: if len(t) == 1: t[0]() else: t[0](*t[1:]) self.Ops = [] if not self.newPix: self.draw() return self.newPix def getGeometry(self): return self.COLUMNS, self.ROWS def getColumnsbyRow(self, row): return self.COLUMNS def getDataModel(self): return self.dataModel def startSelection(self): self.selector.startSelection() def stopSelection(self): self.selector.stopSelection() def getPageOffset(self): return self.dataModel.getOffset() def getCursorAbsolutePosition(self): x, y = self.cursor.getPosition() return self.dataModel.getOffset() + y * self.COLUMNS + x def computeTextArea(self): self.COLUMNS = self.HexColumns[self.idxHexColumns] self.CON_COLUMNS = self.width // self.fontWidth self.ROWS = self.height // self.fontHeight self.notify(self.ROWS, self.COLUMNS) def resize(self, width, height): self.width = width - width % self.fontWidth self.height = height - height % self.fontHeight self.computeTextArea() self.qpix = self._getNewPixmap(self.width, self.height + self.SPACER) self.refresh = True def changeHexColumns(self): if self.idxHexColumns == len(self.HexColumns) - 1: self.idxHexColumns = 0 else: self.idxHexColumns += 1 # if screen is ont big enough, retry if self.HexColumns[self.idxHexColumns] * (3 + 1) + self.gap >= self.CON_COLUMNS: self.changeHexColumns() return self.resize(self.width, self.height) def scroll(self, dx, dy): if dx != 0: if self.dataModel.inLimits((self.dataModel.getOffset() - dx)): self.dataModel.slide(-dx) self.scroll_h(dx) if dy != 0: if self.dataModel.inLimits((self.dataModel.getOffset() - dy * self.COLUMNS)): self.dataModel.slide(-dy * self.COLUMNS) self.scroll_v(dy) else: if dy <= 0: pass # self.dataModel.slideToLastPage() else: self.dataModel.slideToFirstPage() self.draw(refresh=True) self.draw() def scrollPages(self, number): self.scroll(0, -number * self.ROWS) def drawAdditionals(self): self.newPix = self._getNewPixmap(self.width, self.height + self.SPACER) qp = QtGui.QPainter() qp.begin(self.newPix) qp.drawPixmap(0, 0, self.qpix) # self.transformationEngine.decorateText() # highlight selected text self.selector.highlightText() # draw other selections self.selector.drawSelections(qp) # draw our cursor self.drawCursor(qp) # draw dword lines for i in range(self.COLUMNS // 4)[1:]: xw = i * 4 * 3 * self.fontWidth - 4 qp.setPen(QtGui.QColor(0, 255, 0)) qp.drawLine(xw, 0, xw, self.ROWS * self.fontHeight) qp.end() def scroll_h(self, dx): gap = self.gap # hex part self.qpix.scroll(dx * 3 * self.fontWidth, 0, QtCore.QRect(0, 0, self.COLUMNS * 3 * self.fontWidth, self.ROWS * self.fontHeight + self.SPACER)) # text part self.qpix.scroll(dx * self.fontWidth, 0, QtCore.QRect((self.COLUMNS * 3 + gap) * self.fontWidth, 0, self.COLUMNS * self.fontWidth, self.ROWS * self.fontHeight + self.SPACER)) qp = QtGui.QPainter() qp.begin(self.qpix) qp.setFont(self.font) qp.setPen(self.textPen) factor = abs(dx) # There are some trails from the characters, when scrolling. trail == number of pixel to erase near the character trail = 5 textBegining = self.COLUMNS * 3 + gap if dx < 0: # hex qp.fillRect((self.COLUMNS - 1 * factor) * 3 * self.fontWidth, 0, factor * self.fontWidth * 3, self.ROWS * self.fontHeight + self.SPACER, self.backgroundBrush) # text qp.fillRect((textBegining + self.COLUMNS - 1 * factor) * self.fontWidth, 0, factor * self.fontWidth + trail, self.ROWS * self.fontHeight + self.SPACER, self.backgroundBrush) if dx > 0: # hex qp.fillRect(0, 0, factor * 3 * self.fontWidth, self.ROWS * self.fontHeight + self.SPACER, self.backgroundBrush) # text qp.fillRect(textBegining * self.fontWidth - trail, 0, factor * self.fontWidth + trail, self.ROWS * self.fontHeight + self.SPACER, self.backgroundBrush) cemu = ConsoleEmulator(qp, self.ROWS, self.CON_COLUMNS) page = self.transformationEngine.decorate() # scriem pe fiecare coloana in parte for column in range(factor): # fiecare caracter de pe coloana for i in range(self.ROWS): if dx < 0: # cu (column) selectam coloana idx = (i + 1) * self.COLUMNS - (column + 1) if dx > 0: idx = i * self.COLUMNS + column if len(self.getDisplayablePage()) > idx: qp.setPen(self.transformationEngine.choosePen(idx)) else: break if self.transformationEngine.chooseBrush(idx) is not None: qp.setBackgroundMode(1) qp.setBackground(self.transformationEngine.chooseBrush(idx)) c = self.getDisplayablePage()[idx] hex_s = str(hex(c)[2:]).zfill(2) + ' ' if dx < 0: cemu.writeAt((self.COLUMNS - (column + 1)) * 3, i, hex_s, noBackgroudOnSpaces=True) cemu.writeAt(textBegining + self.COLUMNS - (column + 1), i, self.cp437(c)) if dx > 0: cemu.writeAt(column * 3, i, hex_s, noBackgroudOnSpaces=True) cemu.writeAt(textBegining + column, i, self.cp437(c)) qp.setBackgroundMode(0) qp.end() def scroll_v(self, dy): self.qpix.scroll(0, dy * self.fontHeight, self.qpix.rect()) qp = QtGui.QPainter() qp.begin(self.qpix) qp.setFont(self.font) qp.setPen(self.textPen) factor = abs(dy) cemu = ConsoleEmulator(qp, self.ROWS, self.CON_COLUMNS) if dy < 0: cemu.gotoXY(0, self.ROWS - factor) qp.fillRect(0, (self.ROWS - factor) * self.fontHeight, self.fontWidth * self.CON_COLUMNS, factor * self.fontHeight + self.SPACER, self.backgroundBrush) if dy > 0: cemu.gotoXY(0, 0) qp.fillRect(0, 0, self.fontWidth * self.CON_COLUMNS, factor * self.fontHeight, self.backgroundBrush) page = self.transformationEngine.decorate() # how many rows for row in range(factor): # for every column for i in range(self.COLUMNS): if dy < 0: # we write from top-down, so get index of the first row that will be displayed # this is why we have factor - row idx = i + (self.ROWS - (factor - row)) * self.COLUMNS if dy > 0: idx = i + (self.COLUMNS * row) qp.setPen(self.transformationEngine.choosePen(idx)) if self.transformationEngine.chooseBrush(idx) is not None: qp.setBackgroundMode(1) qp.setBackground(self.transformationEngine.chooseBrush(idx)) if len(self.getDisplayablePage()) > idx: c = self.getDisplayablePage()[idx] else: break if i == self.COLUMNS - 1: hex_s = str(hex(c)[2:]).zfill(2) else: hex_s = str(hex(c)[2:]).zfill(2) + ' ' # write hex representation cemu.write(hex_s, noBackgroudOnSpaces=True) # save hex position x, y = cemu.getXY() # write text cemu.writeAt(self.COLUMNS * 3 + self.gap + (i % self.COLUMNS), y, self.cp437(c)) # go back to hex chars cemu.gotoXY(x, y) qp.setBackgroundMode(0) cemu.writeLn() qp.end() def draw(self, refresh=False, row=0, howMany=0): if self.refresh or refresh: qp = QtGui.QPainter() qp.begin(self.qpix) if not howMany: howMany = self.ROWS self.drawTextMode(qp, row=row, howMany=howMany) self.refresh = False qp.end() self.drawAdditionals() def drawTextMode(self, qp, row=0, howMany=1): # draw background qp.fillRect(0, row * self.fontHeight, self.CON_COLUMNS * self.fontWidth, howMany * self.fontHeight + self.SPACER, self.backgroundBrush) # set text pen&font qp.setFont(self.font) qp.setPen(self.textPen) cemu = ConsoleEmulator(qp, self.ROWS, self.CON_COLUMNS) page = self.transformationEngine.decorate() cemu.gotoXY(0, row) for i, c in enumerate(self.getDisplayablePage()[row * self.COLUMNS:( row + howMany) * self.COLUMNS]): # TODO: does not apply all decorators w = i + row * self.COLUMNS if (w + 1) % self.COLUMNS == 0: hex_s = str(hex(c)[2:]).zfill(2) else: hex_s = str(hex(c)[2:]).zfill(2) + ' ' qp.setPen(self.transformationEngine.choosePen(w)) if self.transformationEngine.chooseBrush(w) is not None: qp.setBackgroundMode(1) qp.setBackground(self.transformationEngine.chooseBrush(w)) # write hex representation cemu.write(hex_s, noBackgroudOnSpaces=True) # save hex position x, y = cemu.getXY() # write text cemu.writeAt(self.COLUMNS * 3 + self.gap + (w % self.COLUMNS), y, self.cp437(c)) # go back to hex chars cemu.gotoXY(x, y) if (w + 1) % self.COLUMNS == 0: cemu.writeLn() qp.setBackgroundMode(0) def moveCursor(self, direction): # TODO: have to move this, don't like it if self.isInEditMode(): if not self.highpart: self.highpart = True cursorX, cursorY = self.cursor.getPosition() if direction == Directions.Left: if cursorX == 0: if cursorY == 0: self.scroll(1, 0) else: self.cursor.moveAbsolute(self.COLUMNS - 1, cursorY - 1) else: self.cursor.move(-1, 0) if direction == Directions.Right: if self.getCursorAbsolutePosition() + 1 >= self.dataModel.getDataSize(): return if cursorX == self.COLUMNS - 1: if cursorY == self.ROWS - 1: self.scroll(-1, 0) else: self.cursor.moveAbsolute(0, cursorY + 1) else: self.cursor.move(1, 0) if direction == Directions.Down: if self.getCursorAbsolutePosition() + self.COLUMNS >= self.dataModel.getDataSize(): y, x = self.dataModel.getXYInPage(self.dataModel.getDataSize() - 1) self.cursor.moveAbsolute(x, y) return if cursorY == self.ROWS - 1: self.scroll(0, -1) else: self.cursor.move(0, 1) if direction == Directions.Up: if cursorY == 0: self.scroll(0, 1) else: self.cursor.move(0, -1) if direction == Directions.End: if self.dataModel.getDataSize() < self.getCursorAbsolutePosition() + self.ROWS * self.COLUMNS: y, x = self.dataModel.getXYInPage(self.dataModel.getDataSize() - 1) self.cursor.moveAbsolute(x, y) else: self.cursor.moveAbsolute(self.COLUMNS - 1, self.ROWS - 1) if direction == Directions.Home: self.cursor.moveAbsolute(0, 0) if direction == Directions.CtrlHome: self.dataModel.slideToFirstPage() self.draw(refresh=True) self.cursor.moveAbsolute(0, 0) if direction == Directions.CtrlEnd: self.dataModel.slideToLastPage() self.draw(refresh=True) self.moveCursor(Directions.End) def drawCursor(self, qp): qp.setBrush(QtGui.QColor(255, 255, 0)) if self.isInEditMode(): qp.setBrush(QtGui.QColor(255, 102, 179)) cursorX, cursorY = self.cursor.getPosition() columns = self.HexColumns[self.idxHexColumns] if cursorX > columns: self.cursor.moveAbsolute(columns - 1, cursorY) # get cursor position again, maybe it was moved cursorX, cursorY = self.cursor.getPosition() qp.setOpacity(0.8) if self.isInEditMode(): qp.setOpacity(0.5) # cursor on text qp.drawRect((self.COLUMNS * 3 + self.gap + cursorX) * self.fontWidth, cursorY * self.fontHeight + 2, self.fontWidth, self.fontHeight) # cursor on hex if not self.isInEditMode(): qp.drawRect(cursorX * 3 * self.fontWidth, cursorY * self.fontHeight + 2, 2 * self.fontWidth, self.fontHeight) else: if self.highpart: qp.drawRect(cursorX * 3 * self.fontWidth, cursorY * self.fontHeight + 2, 1 * self.fontWidth, self.fontHeight) else: qp.drawRect(cursorX * 3 * self.fontWidth + self.fontWidth, cursorY * self.fontHeight + 2, 1 * self.fontWidth, self.fontHeight) qp.setOpacity(1) def keyFilter(self): return [ (QtCore.Qt.ControlModifier, QtCore.Qt.Key_Right), (QtCore.Qt.ControlModifier, QtCore.Qt.Key_Left), (QtCore.Qt.ControlModifier, QtCore.Qt.Key_Up), (QtCore.Qt.ControlModifier, QtCore.Qt.Key_Down), (QtCore.Qt.ControlModifier, QtCore.Qt.Key_End), (QtCore.Qt.ControlModifier, QtCore.Qt.Key_Home), (QtCore.Qt.NoModifier, QtCore.Qt.Key_Right), (QtCore.Qt.NoModifier, QtCore.Qt.Key_Left), (QtCore.Qt.NoModifier, QtCore.Qt.Key_Up), (QtCore.Qt.NoModifier, QtCore.Qt.Key_Down), (QtCore.Qt.NoModifier, QtCore.Qt.Key_End), (QtCore.Qt.NoModifier, QtCore.Qt.Key_Home), (QtCore.Qt.NoModifier, QtCore.Qt.Key_PageDown), (QtCore.Qt.NoModifier, QtCore.Qt.Key_PageUp) ] def anon(self, dx, dy): self.scroll(dx, dy) # scroll modifies datamodel offset, so we must do scroll and cursor # operations toghether y, x = self.dataModel.getXYInPage(self.dataModel.getDataSize() - 1) if self.getCursorAbsolutePosition() >= self.dataModel.getDataSize(): y, x = self.dataModel.getXYInPage(self.dataModel.getDataSize() - 1) self.cursor.moveAbsolute(x, y) # we call draw() again because it was called before by scroll() # and the cursor is already painted but it's not in correct position # kinda hack, don't really like it self.draw() def handleEditMode(self, modifiers, key, event): if str(event.text()).lower() in ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f']: offs = self.getCursorOffsetInPage() b = self.dataModel.getBYTE(self.dataModel.getOffset() + offs) if b is None: return z = int(str(event.text()), 16) # compute nibble if self.highpart: b = ((z << 4) | (b & 0x0F)) & 0xFF else: b = ((b & 0xF0) | (z & 0x0F)) & 0xFF block = modifiers == QtCore.Qt.AltModifier and self.selector.getCurrentSelection() # change block or single byte if block: # multiple, with ALT key if self.selector.getCurrentSelection(): u, v = self.selector.getCurrentSelection() for x in range(u, v): b = self.dataModel.getBYTE(x) if self.highpart: b = ((z << 4) | (b & 0x0F)) & 0xFF else: b = ((b & 0xF0) | (z & 0x0F)) & 0xFF self.dataModel.setData_b(x, chr(b)) else: self.dataModel.setData_b(self.dataModel.getOffset() + offs, chr(b)) if block: self.transformationEngine = RangePen(self.original_textdecorator, u, v, QtGui.QPen(QtGui.QColor(218, 94, 242), 0, QtCore.Qt.SolidLine), ignoreHighlights=True) else: z = self.dataModel.getOffset() + offs # TODO: sa nu se repete, tre original_transformengine self.transformationEngine = RangePen(self.original_textdecorator, z, z + 0, QtGui.QPen(QtGui.QColor(218, 94, 242), 0, QtCore.Qt.SolidLine), ignoreHighlights=True) # se if we are at end of row, we must also redraw previous line highpart = self.highpart # for block mode, move cursor if not block: x, old_y = self.cursor.getPosition() if not self.highpart: self.moveCursor(Directions.Right) x, y = self.cursor.getPosition() if highpart: self.highpart = False else: self.highpart = True if block: self.draw(refresh=True) else: self.draw(refresh=True, row=y, howMany=1) if y > old_y: self.draw(refresh=True, row=y - 1, howMany=1) def handleKeyEvent(self, modifiers, key, event=None): if event.type() == QtCore.QEvent.KeyRelease: if key == QtCore.Qt.Key_Shift: self.stopSelection() return True if event.type() == QtCore.QEvent.KeyPress: if modifiers == QtCore.Qt.ShiftModifier: keys = [QtCore.Qt.Key_Right, QtCore.Qt.Key_Left, QtCore.Qt.Key_Down, QtCore.Qt.Key_Up, QtCore.Qt.Key_End, QtCore.Qt.Key_Home] if key in keys: self.startSelection() if key == QtCore.Qt.Key_Question: self.annotationWindow() if modifiers == QtCore.Qt.AltModifier: if key == QtCore.Qt.Key_A: self.add_annotation(1) return True if modifiers == QtCore.Qt.ControlModifier: if key == QtCore.Qt.Key_A: self.add_annotation(2) if key == QtCore.Qt.Key_Right: self.addop((self.anon, -1, 0)) if key == QtCore.Qt.Key_Left: self.addop((self.scroll, 1, 0)) if key == QtCore.Qt.Key_Down: self.addop((self.anon, 0, -1)) if key == QtCore.Qt.Key_Up: self.addop((self.scroll, 0, 1)) if key == QtCore.Qt.Key_End: self.moveCursor(Directions.CtrlEnd) self.addop((self.draw,)) if key == QtCore.Qt.Key_Home: self.moveCursor(Directions.CtrlHome) self.addop((self.draw,)) return True else: # selif modifiers == QtCore.Qt.NoModifier: if key == QtCore.Qt.Key_Escape: self.selector.resetSelections() self.addop((self.draw,)) if key == QtCore.Qt.Key_Left: self.moveCursor(Directions.Left) self.addop((self.draw,)) if key == QtCore.Qt.Key_Right: self.moveCursor(Directions.Right) self.addop((self.draw,)) if key == QtCore.Qt.Key_Down: self.moveCursor(Directions.Down) self.addop((self.draw,)) if key == QtCore.Qt.Key_End: self.moveCursor(Directions.End) self.addop((self.draw,)) if key == QtCore.Qt.Key_Home: self.moveCursor(Directions.Home) self.addop((self.draw,)) if key == QtCore.Qt.Key_Up: self.moveCursor(Directions.Up) self.addop((self.draw,)) if key == QtCore.Qt.Key_PageDown: self.addop((self.scrollPages, 1)) if key == QtCore.Qt.Key_PageUp: self.addop((self.scrollPages, -1)) if key == QtCore.Qt.Key_F6: self.changeHexColumns() x, y = self.cursor.getPosition() columns = self.HexColumns[self.idxHexColumns] if x > columns: self.cursor.moveAbsolute(columns - 1, y) self.addop((self.draw,)) if self.isInEditMode(): self.handleEditMode(modifiers, key, event) return True return False def isEditable(self): return True def setEditMode(self, mode): super(HexViewMode, self).setEditMode(mode) if not mode: self.highpart = True self.transformationEngine = self.original_textdecorator self.transformationEngine.reset() self.draw(refresh=True) def addop(self, t): self.Ops.append(t) def getHeaderInfo(self): s = '' for i in range(self.HexColumns[self.idxHexColumns]): s += '{0} '.format('{0:x}'.format(i).zfill(2)) s += self.gap * ' ' + 'Text' return s def annotationWindow(self): w = self.ann_w.treeWidget w.setDragEnabled(True) w.viewport().setAcceptDrops(True) w.setDropIndicatorShown(True) self.ann_w.show() @QtCore.pyqtSlot("QItemSelection, QItemSelection") def selectionChanged(self, selected, deselected): item = self.ann_w.treeWidget.currentItem() if item: offset = item.getOffset() size = item.getSize() u = offset v = offset + size self.selector.addSelection((u, v, QtGui.QBrush(QtGui.QColor(125, 255, 0)), 0.2), type=TextSelection.SelectionType.NORMAL) self.goTo(u) @QtCore.pyqtSlot("QTreeWidgetItem*, int") def itemChanged(self, item, column): ID_NAME = 0 ID_DESCRIPTION = 4 s = str(item.text(column)) if column == ID_NAME: item.setName(s) if column == ID_DESCRIPTION: item.setDescription(s) def add_annotation(self, mode): QtCore.QObject.connect(self.ann_w.treeWidget.selectionModel(), QtCore.SIGNAL('selectionChanged(QItemSelection, QItemSelection)'), self.selectionChanged) QtCore.QObject.connect(self.ann_w.treeWidget, QtCore.SIGNAL('itemChanged(QTreeWidgetItem*, int)'), self.itemChanged) ID_NAME = 0 ID_OFFSET = 1 ID_SIZE = 2 ID_VALUE = 3 ID_DESCRIPTION = 4 ID_COLOR = 5 if self.selector.getCurrentSelection(): u, v = self.selector.getCurrentSelection() else: return import random r = random.randint(0, 255) g = random.randint(0, 255) b = random.randint(0, 255) opacity = 0.4 if mode == 2: opacity = 0.25 qcolor = QtGui.QColor(r, g, b) added = self.selector.addSelection((u, v, QtGui.QBrush(qcolor), opacity), type=TextSelection.SelectionType.PERMANENT) # if not added: # return t = self.ann_w.treeWidget row = AnnonItem(None, self.ann_w.treeWidget, qcolor.name()) row.setFlags(QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled | QtCore.Qt.ItemIsEditable | QtCore.Qt.ItemIsDropEnabled | QtCore.Qt.ItemIsDragEnabled) t.setAcceptDrops(True) t.setDragEnabled(True) t.setDragDropMode(QtGui.QAbstractItemView.InternalMove) delegate = NoEditDelegate() t.setItemDelegateForColumn(1, delegate) t.setItemDelegateForColumn(2, delegate) t.setItemDelegateForColumn(3, delegate) t.setItemDelegateForColumn(5, delegate) row.setName(self.ann_w.newFieldName()) row.setOffset(u) # row.setText(ID_NAME, 'field_0') # row.setText(ID_OFFSET, hex(u)) size = v - u # row.setText(ID_SIZE, hex(size)) row.setSize(size) value = '' if size == 1: value = self.dataModel.getBYTE(u, asString=True) elif size == 2: value = self.dataModel.getWORD(u, asString=True) elif size == 4: value = self.dataModel.getDWORD(u, asString=True) else: value = repr(str(self.dataModel.getStream(u, v))) # row.setText(ID_VALUE, value) row.setValue(value) # cmb.setCurrentIndex(cmb.findData(w)) if mode == 2: self.ann_w.treeWidget.addTopLevelItem(row) if mode == 1: selected = t.selectedItems() if len(selected) == 1: selected = selected[0] else: selected = t.topLevelItem(0) if selected: selected.addChild(row) t.expandItem(row) # cmb = QColorButton() # cmb.setColor(qcolor.name()) # self.ann_w.treeWidget.setItemWidget(row, ID_COLOR, cmb) self.ann_w.treeWidget.setItemWidget(row, ID_COLOR, row.cmb) # self.ann_w.treeWidget.openPersistentEditor(row, 0) # self.ann_w.treeWidget.editItem(row, 0) # self.ann_w.treeWidget.editItem(row, 3) class NoEditDelegate(QtWidgets.QStyledItemDelegate): def __init__(self, parent=None): super(NoEditDelegate, self).__init__(parent) def createEditor(self, parent, option, index): return None class AnnonItem(QtWidgets.QTreeWidgetItem): ID_NAME = 0 ID_OFFSET = 1 ID_SIZE = 2 ID_VALUE = 3 ID_DESCRIPTION = 4 ID_COLOR = 5 def __init__(self, x, parent, color): super(AnnonItem, self).__init__(x) self._color = color self._t_parent = parent self.cmb = QColorButton() self.cmb.setColor(self._color) # self._t_parent.setItemWidget(self, self.ID_COLOR, self.cmb) def setName(self, name): self._name = name self.setText(self.ID_NAME, name) def getName(self): return self._name def setOffset(self, offset): self._offset = offset self.setText(self.ID_OFFSET, hex(offset)) def getOffset(self): return self._offset def setSize(self, size): self._size = size self.setText(self.ID_SIZE, hex(size)) def getSize(self): return self._size def setValue(self, value): self._value = value self.setText(self.ID_VALUE, value) def getValue(self): return self._value def setDescription(self, description): self._description = description self.setText(self.ID_DESCRIPTION, description) def getDescription(self): return self._description class QColorButton(QtWidgets.QPushButton): """ Custom Qt Widget to show a chosen color. Left-clicking the button shows the color-chooser, while right-clicking resets the color to None (no-color). """ ''' based on http://martinfitzpatrick.name/article/qcolorbutton-a-color-selector-tool-for-pyqt/ ''' colorChanged = QtCore.pyqtSignal() def __init__(self, *args, **kwargs): super(QColorButton, self).__init__(*args, **kwargs) self._color = None self.setMaximumWidth(32) self.pressed.connect(self.onColorPicker) def setColor(self, color): if color != self._color: self._color = color self.colorChanged.emit() if self._color: self.setStyleSheet("background-color: %s;" % self._color) else: self.setStyleSheet("") def color(self): return self._color def onColorPicker(self): """ Show color-picker dialog to select color. Qt will use the native dialog by default. """ dlg = QtGui.QColorDialog(QtGui.QColor(self._color), None) # if self._color: # dlg.setCurrentColor(QtGui.QColor(self._color)) if dlg.exec_(): self.setColor(dlg.currentColor().name()) def mousePressEvent(self, e): if e.button() == QtCore.Qt.RightButton: self.setColor(None) return super(QColorButton, self).mousePressEvent(e) class ComboBoxItem(QtWidgets.QComboBox): def __init__(self, item, column): super(ComboBoxItem, self).__init__() self.item = item self.column = column class Annotation(QtWidgets.QDialog): _fieldIdx = 0 def __init__(self, parent, view): super(Annotation, self).__init__(parent) self.parent = parent self.view = view self.oshow = super(Annotation, self).show root = os.path.dirname(os.path.realpath(__file__)) self.ui = loadUi(os.path.join(root, 'annotation.ui'), baseinstance=self) # self.ei = ImportsEventFilter(plugin, self.ui.treeWidgetImports) self.ei = treeEventFilter(view, self.ui.treeWidget) self.ui.treeWidget.installEventFilter(self.ei) self.initUI() def newFieldName(self): name = 'field_{}'.format(self._fieldIdx) self._fieldIdx += 1 return name def show(self): # TODO: remember position? resize plugin windows when parent resize? pwidth = self.parent.parent.size().width() pheight = self.parent.parent.size().height() width = self.ui.treeWidget.size().width() + 15 height = self.ui.treeWidget.size().height() + 15 self.setGeometry(pwidth - width - 15, pheight - height, width, height) self.setFixedSize(width, height) self.oshow() def initUI(self): self.setWindowTitle('Annotations') self.setSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) shortcut = QtWidgets.QShortcut(QtGui.QKeySequence("Shift+/"), self, self.close, self.close) class treeEventFilter(QtCore.QObject): def __init__(self, view, widget): super(QtCore.QObject, self).__init__() self.widget = widget self.view = view def eventFilter(self, watched, event): if event.type() == QtCore.QEvent.KeyPress: if event.key() == QtCore.Qt.Key_Delete: # get RVA column from treeView item = self.widget.currentItem() offset = item.getOffset() # int(str(item.text(1)),0) size = item.getSize() # int(str(item.text(2)),0) u = offset v = offset + size self.view.selector.removeSelection(u, v, TextSelection.SelectionType.PERMANENT) # TODO: remove tree! item.parent().removeChild(item) # self.widget.takeTopLevelItem(self.widget.indexOfTopLevelItem(item)) # print item # rva = self.widget.indexFromItem(item, 1).data().toString() return False androguard-3.1.0-rc2/androguard/gui/SourceViewMode.py000066400000000000000000000116251324327352200225210ustar00rootroot00000000000000from __future__ import division from __future__ import absolute_import from builtins import range from .ViewMode import * from .cemu import * from . import TextSelection from PyQt5 import QtGui, QtCore class SourceViewMode(ViewMode): def __init__(self, themes, width, height, data, cursor, widget=None): super(SourceViewMode, self).__init__() self.themes = themes self.dataModel = data self.addHandler(self.dataModel) self.width = width self.height = height self.cursor = cursor self.widget = widget self.refresh = True # background brush self.backgroundBrush = QtGui.QBrush(self.themes['background']) # text font self.font = self.themes['font'] # font metrics. assume font is monospaced self.font.setKerning(False) self.font.setFixedPitch(True) fm = QtGui.QFontMetrics(self.font) self._fontWidth = fm.width('a') self._fontHeight = fm.height() self.textPen = QtGui.QPen(self.themes['pen'], 0, QtCore.Qt.SolidLine) self.resize(width, height) self.Paints = {} self.Ops = [] self.newPix = None self.selector = TextSelection.DefaultSelection(themes, self) self.LINES = self.dataModel.current_class.get_source().split('\n') @property def fontWidth(self): return self._fontWidth @property def fontHeight(self): return self._fontHeight def setTransformationEngine(self, engine): self.transformationEngine = engine def _getNewPixmap(self, width, height): return QtGui.QPixmap(width, height) def resize(self, width, height): self.width = width - width % self.fontWidth self.height = height - height % self.fontHeight self.computeTextArea() self.qpix = self._getNewPixmap(self.width, self.height + self.SPACER) self.refresh = True def computeTextArea(self): self.COLUMNS = self.width // self.fontWidth self.ROWS = self.height // self.fontHeight self.notify(self.ROWS, self.COLUMNS) def getPixmap(self): for t in self.Ops: if len(t) == 1: t[0]() else: t[0](*t[1:]) self.Ops = [] if not self.newPix: self.draw() return self.newPix def getDataModel(self): return self.dataModel def getPageOffset(self): return self.dataModel.getOffset() def getGeometry(self): return self.COLUMNS, self.ROWS def draw(self, refresh=False): if self.dataModel.getOffset() in self.Paints: self.refresh = False self.qpix = QtGui.QPixmap(self.Paints[self.dataModel.getOffset()]) # print 'hit' self.drawAdditionals() return if self.refresh or refresh: qp = QtGui.QPainter() qp.begin(self.qpix) self.drawTextMode(qp) self.refresh = False qp.end() self.drawAdditionals() def drawAdditionals(self): self.newPix = self._getNewPixmap(self.width, self.height + self.SPACER) qp = QtGui.QPainter() qp.begin(self.newPix) qp.setWindow(-50, 0, self.COLUMNS * self.fontWidth, self.ROWS * self.fontHeight) qp.drawPixmap(0, 0, self.qpix) # self.transformationEngine.decorateText() # highlight selected text self.selector.highlightText() # draw other selections self.selector.drawSelections(qp) # draw our cursor self.drawCursor(qp) self.drawLine(qp) qp.end() def drawLine(self, qp): qp.fillRect(-50, 0, 50, self.ROWS * self.fontHeight, self.backgroundBrush) def drawTextMode(self, qp): # draw background qp.fillRect(0, 0, self.COLUMNS * self.fontWidth, self.ROWS * self.fontHeight, self.backgroundBrush) # set text pen&font qp.setFont(self.font) qp.setPen(self.textPen) cemu = ConsoleEmulator(qp, self.ROWS, self.COLUMNS) # ast = self.dataModel.current_class.get_ast() # print ast for i in range(self.ROWS): if i < len(self.LINES): line = self.LINES[i] cemu.writeAt(0, i, line) def getCursorOffsetInPage(self): return 0 def getCursorAbsolutePosition(self): offset = self.getCursorOffsetInPage() return self.dataModel.getOffset() + offset def drawCursor(self, qp): cursorX, cursorY = self.cursor.getPosition() xstart = cursorX width = 1 qp.setBrush(QtGui.QColor(255, 255, 0)) qp.setOpacity(0.5) qp.drawRect(xstart * self.fontWidth, cursorY * self.fontHeight, width * self.fontWidth, self.fontHeight + 2) qp.setOpacity(1) def handleKeyEvent(self, modifiers, key, event=None): pass def getColumnsbyRow(self, row): return 0 androguard-3.1.0-rc2/androguard/gui/TextDecorators.py000066400000000000000000000332561324327352200225770ustar00rootroot00000000000000from __future__ import absolute_import import re import string from PyQt5 import QtGui, QtCore from builtins import object from builtins import range class CTextDecorator(object): redPen = QtGui.QPen(QtGui.QColor(255, 0, 0)) greenPen = QtGui.QPen(QtGui.QColor(255, 255, 0)) whitePen = QtGui.QPen(QtGui.QColor(255, 255, 255)) normalPen = QtGui.QPen(QtGui.QColor(192, 192, 192), 1, QtCore.Qt.SolidLine) MZbrush = QtGui.QBrush(QtGui.QColor(128, 0, 0)) grayBrush = QtGui.QBrush(QtGui.QColor(128, 128, 128)) def __init__(self): pass class TextDecorator(CTextDecorator): def __init__(self, viewmode): self.operations = [] self.dataModel = viewmode.getDataModel() self.viewmode = viewmode self.penMap = {} self.brushMap = {} self.PenInterval = [] self.normalPen = QtGui.QPen(QtGui.QColor(192, 192, 192), 1, QtCore.Qt.SolidLine) # if we want to generate T/F table self.Special = string.ascii_letters + string.digits + ' .;\':;=\"?-!()/\\_' self.Special = [False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, True, True, True, False, False, False, False, True, True, True, False, False, False, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, False, True, False, True, False, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, False, True, False, False, True, False, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False] def reset(self): self.penMap = {} self.brushMap = {} self.PenInterval = [] def getDataModel(self): return self.dataModel def isText(self, c): """ D = [] for i in range(256): b = False if self.isText(chr(i)): b = True D.append(b) print D sys.exit() """ return self.Special[ord(c)] def getChar(self, idx): # self.page = self.getDataModel().getDisplayablePage() if idx < len(self.page): return self.page[idx] return 0 def decorate(self, pageOffset=None): if pageOffset: self.page = self.viewmode.getDisplayablePage(pageOffset=pageOffset) else: self.page = self.viewmode.getDisplayablePage() return self.page def addPenInterval(self, a, b, pen, ignoreHighlights=True): self.PenInterval.append((a, b, pen, ignoreHighlights)) def choosePen(self, idx): key = self.dataModel.getOffset() + idx # if we do have a pen with that index, return it if it's different than default pen # otherwise, return the pen that was set in that interval # the priority here is de pen from other transformations, than interval pen for a, b, ignoreHighlights, pen in self.PenInterval: # in interval if a <= key <= b: if ignoreHighlights: return pen if key in self.penMap: if self.penMap[key] == self.normalPen: return pen else: return self.penMap[key] else: return pen if key in self.penMap: return self.penMap[key] return self.normalPen def chooseBrush(self, idx): off = self.dataModel.getOffset() + idx if off in self.brushMap: return self.brushMap[off] return None class PageDecorator(TextDecorator): def __init__(self, decorated): pass def reset(self): self.decorated.reset() self.penMap = {} self.brushMap = {} self.PenInterval = [] def getBrushMap(self): return self.brushMap def getPenMap(self): return self.penMap def doit(self): pass def getDataModel(self): return self.dataModel class HighlightASCII(PageDecorator): def __init__(self, decorated): self.dataModel = decorated.getDataModel() self.penMap = decorated.penMap self.decorated = decorated super(HighlightASCII, self).__init__(decorated) self.dataModel = super(HighlightASCII, self).getDataModel() def decorate(self, pageOffset=None): page = self.decorated.decorate(pageOffset) self.PenInterval = self.decorated.PenInterval self.brushMap = self.decorated.brushMap self.penMap = self.decorated.penMap off = self.dataModel.getOffset() Match = [(m.start(), m.end()) for m in re.finditer(b'([a-zA-Z0-9\\-\\\\.%*:/? _<>]){4,}', page)] for s, e in Match: for i in range(e - s): idx = off + s + i if idx not in self.penMap: self.penMap[off + s + i] = self.redPen self.page = page return self.page class HighlightPrefix(PageDecorator): def __init__(self, decorated, text, additionalLength=0, brush=None, pen=None): super(HighlightPrefix, self).__init__(decorated) self.dataModel = decorated.getDataModel() self.decorated = decorated self.additionalLength = additionalLength self.brush = brush self.text = text self.pen = pen def decorate(self, pageOffset=None): page = self.decorated.decorate(pageOffset) self.PenInterval = self.decorated.PenInterval self.brushMap = self.decorated.brushMap self.penMap = self.decorated.penMap self.page = self.highliteWithPrefix(page, self.text, self.additionalLength, self.brush, self.pen) return self.page def highliteWithPrefix(self, page, text, additionalLength=0, brush=None, pen=None): # todo: nu am gasit o metoda mai eleganta pentru a selecta toate aparitiile ale lui text # regexp nu merg, "bad re expression" lenText = len(text) M = [] idx = 0 if lenText > 0: while idx < len(page): idx = page.find(text, idx, len(page)) if idx == -1: break M.append((idx, lenText + additionalLength)) idx += lenText + additionalLength off = self.dataModel.getOffset() for start, length in M: for i in range(length): self.penMap[off + start + i] = pen self.brushMap[off + start + i] = brush return page class HighlightWideChar(PageDecorator): def __init__(self, decorated): super(HighlightWideChar, self).__init__(decorated) self.dataModel = decorated.getDataModel() self.decorated = decorated def decorate(self, pageOffset=None): self.page = self.decorated.decorate(pageOffset) self.PenInterval = self.decorated.PenInterval self.brushMap = self.decorated.brushMap self.penMap = self.decorated.penMap self.page = self.highliteWidechar2(self.page) return self.page def highliteWidechar2(self, page): pageStart = self.dataModel.getOffset() pageEnd = pageStart + len(page) touched = False # for s, e in self.Intervals: # touched = True if not touched: # expand Match = [(m.start(), m.end()) for m in re.finditer(r'([a-zA-Z0-9\-\\.%*:/? ]\x00){4,}', page)] for s, e in Match: for i in range(e - s): # print i self.penMap[pageStart + s + i] = QtGui.QPen(QtGui.QColor(255, 255, 0)) # get rid of '\x00' string = page[s:e:2] l = len(string) # copy string that has no zeros page[s:s + l] = string # fill with zeros the remaining space page[s + l: s + 2 * l] = '\x00' * l return page ### todo: other way to highlight widechar, should test and see which one is faster """ def _changeText(self, page, page_start, I): page_end = page_start + len(page) for obj in I: if obj['s'] >= page_start and obj['e'] <= page_end: page[obj['s']-page_start:obj['e']-page_start] = obj['text'] def _expand(self, page, off, start, end): I = [] start = start - off end = end - off i = start while i < end: if i+1 < end: if page[i+1] == 0 and self.isText(chr(page[i])): k = 0 for j in xrange(i, end, 2): if j + 1 < end: if self.isText(chr(page[j])) and page[j+1] == 0: k += 1 else: break if k > 4: if i+k*2 <= end: obj = {} obj['s'] = off + i + 1 obj['e'] = off + i + k * 2 for idx, j in enumerate(range(i+1, i + k*2)): if j > i + k: page[j] = 0 #self.penMap[j] = self.greenPen elif j+idx+1 < end: page[j] = page[j + idx + 1] self.penMap[off + j] = self.greenPen obj['text'] = page[i+1:i+k*2] I.append(obj) self.penMap[off + i] = self.greenPen i += k*2 i = i + 1 return I pass def highliteWidechar(self, page): off = self.dataModel.getOffset() page_end = off + len(page) touched = False #print '-------' for idx, iv in enumerate(self.Intervals): #print 'acum aici' # in interval s, e, I = iv #print s ,e #print page_end page_start = off if off >= s: touched = True if page_end <= e: self._changeText(page, off, I) else: if off <= e: I2 = self._expand(page, off, e, page_end) for obj in I2: I.append(obj) e = page_end self.Intervals[idx] = (s, e, I) else: # suntem cu mai multe pagini mai jos touched = False else: if page_end <= e and page_end >= s: # scrolled up I2 = self._expand(page, off, page_start, s) for obj in I2: I.append(obj) s = page_start self.Intervals[idx] = (s, e, I) touched = True else: # out of this interval touched = False if not touched or touched: #print 'aici' self.Intervals.append((off, page_end, self._expand(page, off, off, page_end))) """ class RangePen(PageDecorator): def __init__(self, decorated, a, b, pen, ignoreHighlights=True): super(RangePen, self).__init__(decorated) self.dataModel = decorated.getDataModel() self.decorated = decorated self.a = a self.b = b self.pen = pen self.already = False self.ignoreHighlights = ignoreHighlights def decorate(self, pageOffset=None): self.page = self.decorated.decorate(pageOffset) self.PenInterval = self.decorated.PenInterval self.brushMap = self.decorated.brushMap self.penMap = self.decorated.penMap if not self.already: self.addPenInterval(self.a, self.b, self.ignoreHighlights, self.pen) self.already = True return self.page androguard-3.1.0-rc2/androguard/gui/TextSelection.py000066400000000000000000000267161324327352200224220ustar00rootroot00000000000000from __future__ import division # # Format Viewer, Marius TIVADAR, 2014 # # from builtins import object from PyQt5 import QtGui class SelectionType(object): NORMAL = 0 PERMANENT = 1 TEXTHIGHLIGHT = 2 class Selection(object): def __init__(self, themes, viewMode): self.themes = themes self.viewMode = viewMode self.selecting = False self.Selections = [] self.PermanentSelections = [] self.MAX_SELECTIONS = 1 self.defaultBrush = QtGui.QBrush(self.themes['selection']) self.last = 0 self.HighlightSelections = [] def drawSelection(self, qp, start, end, brush=None, opacity=0.4): raise Exception("Not Implemented") def addSelection(self, t, seltype=None): if len(t) == 4: u, v, b, o = t else: u, v = t b, o = None, None if not o: o = 0.4 if not b: b = self.defaultBrush if u - v == 0: return t = u, v, b, o if seltype == SelectionType.NORMAL: if len(self.Selections) >= self.MAX_SELECTIONS: self.Selections = [] self.Selections.append(t) if seltype == SelectionType.PERMANENT: for w in self.PermanentSelections: if t[0] == w[0] and t[1] == w[1]: return False # u, v not found self.PermanentSelections.append(t) if seltype == SelectionType.TEXTHIGHLIGHT: self.HighlightSelections.append(t) return True def removeSelection(self, u, v, seltype): if seltype == SelectionType.NORMAL: L = self.selectionStartOffset elif seltype == SelectionType.PERMANENT: L = self.PermanentSelections elif seltype == SelectionType.TEXTHIGHLIGHT: L = self.HighlightSelections else: raise Exception("Selection type unknown") L[:] = [t for t in L if t[0] != u and t[1] != v] return def drawSelections(self, qp): # draw permanent for t in self.PermanentSelections: start, end, b, o = t self.drawSelection(qp, start, end, brush=b, opacity=o) # draw already selected for t in self.Selections: start, end, b, o = t self.drawSelection(qp, start, end) # for t in self.HighlightSelections: start, end, b, o = t self.drawSelection(qp, start, end) self.HighlightSelections = [] # draw current if self.selecting: self.drawSelection(qp, *self.getCurrentSelection()) def resetSelections(self): self.Selections = [] def startSelection(self): if not self.selecting: self.selecting = True self.selectionStartOffset = self.viewMode.getCursorAbsolutePosition() if len(self.Selections) >= self.MAX_SELECTIONS: self.Selections = [] def getCurrentSelection(self): if self.selecting: a = self.selectionStartOffset b = self.viewMode.getCursorAbsolutePosition() + 1 if a < b: return a, b else: return b, a else: for s in self.Selections: u, v, b, o = s # pass auf! , in theory we could have more then one normal selection # so here the first one is returned. # but currently, by design we could only have one NORMAL selection return u, v # if self.last: # return self.last return None def stopSelection(self): if self.selecting: u, v = self.getCurrentSelection() self.addSelection((u, v, QtGui.QBrush(self.themes['selection']), 0.4), type=SelectionType.NORMAL) self.last = u, v self.selecting = False self.selectionStartOffset = None def highlightText(self): dataModel = self.viewMode.getDataModel() page = self.viewMode.getDisplayablePage() # for a search-in-page t = self.getCurrentSelection() if not t: # no selection return start, end = t if start == end: return text = dataModel.getStream(start, end) Exclude = [start] cols, rows = self.viewMode.getGeometry() # find all occurrence lenText = len(text) M = [] idx = 0 if lenText > 0: while idx < len(page): idx = page.find(text, idx, len(page)) if idx == -1: break M.append((idx, lenText)) idx += lenText # Match = [(m.start(), m.end()) for m in re.finditer(bytes(text), bytes(page))] for start, end in M: # print start, end # self._makeSelection(qp, start, end, cols, rows) off = dataModel.getOffset() if off + start not in Exclude: # self._makeSelection(off + start, off + start + end, brush=QtGui.QBrush(QtGui.QColor(125, 255, 0))) # self.viewMode.selector.addSelection((off+start, off + start + end, QtGui.QBrush(QtGui.QColor(125, 255, 0)), 0.4)) self.addSelection((off + start, off + start + end, QtGui.QBrush(self.themes['selection']), 0.4), type=SelectionType.TEXTHIGHLIGHT) class DefaultSelection(Selection): def __init__(self, themes, viewMode): super(DefaultSelection, self).__init__(themes, viewMode) self.MAX_SELECTIONS = 1 def _makeSelection(self, qp, start, end, brush): if not brush: brush = QtGui.QBrush(self.themes['selection']) dataModel = self.viewMode.getDataModel() off = dataModel.getOffset() length = len(self.viewMode.getDisplayablePage()) cols, rows = self.viewMode.getGeometry() # return if out of view if end < off: return if start > off + length: return if start < off: d0 = 0 else: d0 = start - off if end > off + length: d1 = length else: d1 = end - off mark = True height = 14 qp.setOpacity(0.4) while mark: if d0 // cols == d1 // cols: qp.fillRect((d0 % cols) * 8, (d0 // cols) * height, (d1 - d0) * 8, 1 * height, brush) d0 += (d1 - d0) else: qp.fillRect((d0 % cols) * 8, (d0 // cols) * height, (cols - d0 % cols) * 8, 1 * height, brush) d0 += (cols - d0 % cols) if d1 - d0 <= 0: mark = False qp.setOpacity(1) def drawSelection(self, qp, start, end, brush=None, opacity=0.4): if not brush: brush = QtGui.QBrush(self.themes['selection']) dataModel = self.viewMode.getDataModel() off = dataModel.getOffset() length = len(self.viewMode.getDisplayablePage()) cols, rows = self.viewMode.getGeometry() # return if out of view if end < off: return if start > off + length: return if start < off: d0 = 0 else: d0 = start - off if end > off + length: d1 = length else: d1 = end - off mark = True height = self.viewMode.fontHeight width = self.viewMode.fontWidth qp.setOpacity(opacity) offset = 2 while mark: if d0 // cols == d1 // cols: qp.fillRect((d0 % cols) * width, (d0 // cols) * height + offset, (d1 - d0) * width, 1 * height, brush) d0 += (d1 - d0) else: qp.fillRect((d0 % cols) * width, (d0 // cols) * height + offset, (cols - d0 % cols) * width, 1 * height, brush) d0 += (cols - d0 % cols) if d1 - d0 <= 0: mark = False qp.setOpacity(1) class HexSelection(Selection): def __init__(self, themes, viewMode): super(HexSelection, self).__init__(themes, viewMode) self.MAX_SELECTIONS = 1 def drawSelection(self, qp, start, end, brush=None, opacity=0.4): if not brush: brush = QtGui.QBrush(self.themes['selection']) dataModel = self.viewMode.getDataModel() off = dataModel.getOffset() length = len(self.viewMode.getDisplayablePage()) cols, rows = self.viewMode.getGeometry() # return if out of view if end < off: return if start > off + length: return if start < off: d0 = 0 else: d0 = start - off if end > off + length: d1 = length else: d1 = end - off mark = True height = self.viewMode.fontHeight width = self.viewMode.fontWidth qp.setOpacity(opacity) while mark: if d0 // cols == d1 // cols: # +2 is an offset for letters qp.fillRect(3 * (d0 % cols) * width, (d0 // cols) * height + 2, 3 * (d1 - d0) * width - width, 1 * height, brush) qp.fillRect(3 * cols * width + self.viewMode.gap * width + (d0 % cols) * width, (d0 // cols) * height + 2, (d1 - d0) * width, 1 * height, brush) d0 += (d1 - d0) else: qp.fillRect(3 * (d0 % cols) * width, (d0 // cols) * height + 2, 3 * (cols - d0 % cols) * width - width, 1 * height, brush) qp.fillRect(3 * cols * width + self.viewMode.gap * width + (d0 % cols) * width, (d0 // cols) * height + 2, (cols - d0 % cols) * width, 1 * height, brush) d0 += (cols - d0 % cols) if d1 - d0 <= 0: mark = False qp.setOpacity(1) class DisasmSelection(Selection): def __init__(self, themes, viewMode): super(DisasmSelection, self).__init__(themes, viewMode) self.MAX_SELECTIONS = 1 def drawSelection(self, qp, start, end, brush=None, opacity=0.4): if not brush: brush = QtGui.QBrush(self.themes['selection']) dataModel = self.viewMode.getDataModel() off = dataModel.getOffset() length = sum([o.size for o in self.viewMode.OPCODES]) # TODO: not nice! cols, rows = self.viewMode.getGeometry() # return if out of view if end < off: return if start > off + length: return if start < off: d0 = 0 else: d0 = start - off if end > off + length: d1 = length else: d1 = end - off mark = True height = self.viewMode.fontHeight width = self.viewMode.fontWidth qp.setOpacity(opacity) offset = 2 size = 0 for i, asm in enumerate(self.viewMode.OPCODES): if size + asm.size > d0 and size <= d1: # compute x offset x = d0 - size if size > d0: x = 0 # compute width w = asm.size if size + asm.size > d1: w = d1 - size qp.fillRect(x * 3 * width, i * height + offset, (w - x) * 3 * width - width, 1 * height, brush) size += asm.size qp.setOpacity(1) androguard-3.1.0-rc2/androguard/gui/ViewMode.py000066400000000000000000000130271324327352200213360ustar00rootroot00000000000000from builtins import chr from builtins import object class Observable(object): def __init__(self): self.Callbacks = [] def addHandler(self, h): if h not in self.Callbacks: self.Callbacks.append(h) def notify(self, rows, cols): for cbk in self.Callbacks: cbk.update_geometry(rows, cols) class ViewMode(Observable, object): SPACER = 4 def __init__(self): super(ViewMode, self).__init__() self.selector = None self._edit = False """ Convert IBM437 character codes 0x00 - 0xFF into Unicode. http://svn.openmoko.org/trunk/src/host/qemu-neo1973/phonesim/lib/serial/qatutils.cpp """ cp437ToUnicode = [0x0020, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, 0x0018, 0x0019, 0x001c, 0x001b, 0x007f, 0x001d, 0x001e, 0x001f, 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x001a, 0x00c7, 0x00fc, 0x00e9, 0x00e2, 0x00e4, 0x00e0, 0x00e5, 0x00e7, 0x00ea, 0x00eb, 0x00e8, 0x00ef, 0x00ee, 0x00ec, 0x00c4, 0x00c5, 0x00c9, 0x00e6, 0x00c6, 0x00f4, 0x00f6, 0x00f2, 0x00fb, 0x00f9, 0x00ff, 0x00d6, 0x00dc, 0x00a2, 0x00a3, 0x00a5, 0x20a7, 0x0192, 0x00e1, 0x00ed, 0x00f3, 0x00fa, 0x00f1, 0x00d1, 0x00aa, 0x00ba, 0x00bf, 0x2310, 0x00ac, 0x00bd, 0x00bc, 0x00a1, 0x00ab, 0x00bb, 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556, 0x2555, 0x2563, 0x2551, 0x2557, 0x255d, 0x255c, 0x255b, 0x2510, 0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x255e, 0x255f, 0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x2567, 0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256b, 0x256a, 0x2518, 0x250c, 0x2588, 0x2584, 0x258c, 0x2590, 0x2580, 0x03b1, 0x00df, 0x0393, 0x03c0, 0x03a3, 0x03c3, 0x03bc, 0x03c4, 0x03a6, 0x0398, 0x03a9, 0x03b4, 0x221e, 0x03c6, 0x03b5, 0x2229, 0x2261, 0x00b1, 0x2265, 0x2264, 0x2320, 0x2321, 0x00f7, 0x2248, 0x00b0, 0x2219, 0x00b7, 0x221a, 0x207f, 0x00b2, 0x25a0, 0x00a0] def cp437(self, c): return chr(self.cp437ToUnicode[c]) def getPageOffset(self): NotImplementedError('method not implemented.') # return cols, rows of the view def getGeometry(self): NotImplementedError('method not implemented.') def startSelection(self): NotImplementedError('method not implemented.') def stopSelection(self): NotImplementedError('method not implemented.') def draw(self, refresh=False): NotImplementedError('method not implemented.') # returns x,y cursor position in page def getCursorOffsetInPage(self): x, y = self.cursor.getPosition() return y * self.COLUMNS + x def handleKeyPressEvent(self, modifier, key): raise Exception("not implemented") def handleKeyReleaseEvent(self, modifier, key): raise Exception("not implemented") # get what's on the screen # pageOffset - which page. None - current page # # return bytearray containing what it is displayed currently on the screen def getDisplayablePage(self, pageOffset=None): data = self.dataModel.getData() dataOffset = self.dataModel.getOffset() cols, rows = self.getGeometry() if pageOffset: return bytearray(data[dataOffset:dataOffset + rows * cols * pageOffset]) return bytearray(data[dataOffset:dataOffset + rows * cols]) # moves cursor to offset in page, or moves to page def goTo(self, offset): # typical goTo if self.dataModel.offsetInPage(offset): # if in current page, move cursore x, y = self.dataModel.getXYInPage(offset) self.cursor.moveAbsolute(y, x) self.draw(refresh=False) else: # else, move page self.dataModel.goTo(offset) self.cursor.moveAbsolute(0, 0) self.draw(refresh=True) # self.draw(refresh=False) if self.widget: self.widget.update() def isEditable(self): return False def setEditMode(self, value): self._edit = value def isInEditMode(self): return self._edit def getHeaderInfo(self): return '' androguard-3.1.0-rc2/androguard/gui/__init__.py000066400000000000000000000000011324327352200213420ustar00rootroot00000000000000 androguard-3.1.0-rc2/androguard/gui/androguard.ico000066400000000000000000003615001324327352200220710ustar00rootroot00000000000000 *ã‰PNG  IHDR“g;f IDATxœìwxTE÷Ç¿s÷Þ»›„Ð{ ` ´P¥w¢é% ŠEÅúЍïO|Äò*ú (5€€T”"½Jï„jBo 5dw³ç÷ÇÝM6›¶Iîì&a>ÏsžMvgï|ïÝÝ™9wÎÌaD@ äc…”PÒnŽ¿‹0Psó·ÀÀl·Ä,þvçõ{bÄÚcÄÑ}¯’@ x„!Þ#‡ÀõoÇÿ%  ðym0~¹è;ÿmæH¸:ÙqD\Ÿ+f??—s0Cs,R9N ÇC ò‰N0Æ€2ª°?:ÿ] i‚ÇHá šˆøž‰þ0ÆLÈØQ*™Ás¾.‡1¸ @´ýÑùï›$:9@ à‚p" 0ÆJ }¡*€*|ìE\DÊ 7Úþÿm89Dï)íù ƘR;¥TFÊ5€vÍMö·Ä#åš§q4ˆ(Öcâ €!œ@ È»£PÏnÕ‘ÚYð·3¸„!Êåïº+nBÚP¢ÌÂŒ² A’á^H”»ÏŰò:yûìOYhŸOR>+Çß•‘2ûó©‹óŽ8& @ ÈáDƘ  4g!Øé±¼½Èeg‘¾£pˆl:K*ŒÔá<î<uÖÀƒ‡HžåΣ.![Œ1 Ú瀴NF ´3¸ šSáxh¸]ŽѵTᇴ³ÁÐrdI||<.^¼ˆ¨¨¨d‹ŽŽNþûÎ;9$pE’$T¬X¨Zµj²9þ¯P¡$É­É‚æL¤ cpÚ¬•[0ÆÊh %´ïdShÛÓÞ€ötØa"²¸}¢@‡N„@ È7ØãÕ[ ÅaÐkp&A MquªA›ÅH‹Å‚K—.¥r œ…›7o>3yUUQ¹råTŽ…³£Q¦L™¬àÒ:n…F¹éìî°[§u7@ÀáD‚< c¬*RÂ’ZA RÂDvB 9ŸÃ–@Zg¡Ò&2K&..ÇŽCDDŽ;†ãÇ#** W®\ÉÕzAÞÀ×ר^½:êÕ«‡àà`£F02L»ŽÔ!rÇœ‚¶m¦0ƪ#µSQÛþÒ ¤|·wQTNÏK x"œ@g`Œ•Ð@Wí -BN@껵»ˆè®›‡,mæ¢5€FЇò¶Ùl8þ<"""RYTT”˜Qx1™L¨]»v²Sá°R¥Jeö6+€ÓÐ Ç÷ö0€LgÆcÅþä˜e3AsT¶X`-ÝÊåi .'B x Ƙ@s¤8 -|Ý àh°CÙØ›¿RÏ\8U§áÎ;iœ…'Nàñ㜬³ÄÇÇëw2Ž”+W­[·Nv*4hY–Ó+úÀ¤8ÿ@Û%* öYŠVH™¥¨-\j#4‡b ‰©7@ +‰¹†1&A µx)ƒ˜H=Ûp%‹Ã¤7JCTTvîÜ™ì4œ8q¢@,z–e²,ƒˆ`³ÙÀK66› f³»ËCù???4mÚ­ZµBë֭Ѽys)R$½¢ ¶#Å?Ñ1c‘z–¢0RœøÕÐBŶb W'B ä¦n[ÐÚNJGa¿ó m¶!«pŠÊH™±è-$#«ÕŠ#Gޤr®_Ï¿aߊ¢€1³Ù I’P´hQ”+W•+WF¥J•P¾|y”/_… ‚Õj…ÅbÕjMþ;** ıcÇpÿþ}0Æ (Šp, ’$¡nݺ©B Ò+”Ð¥ÍÐ6$Hƒ=œÐáœwPÚŽO¿‡ö;@m„!ÜÆî840Àh!G‡  FÂÝØÓÞm§Ç€¦¶kèèh¬Y³k×®ÅæÍ›—îØ(_`4‘˜˜£Ñˆ:uê yóæhذ!6lˆºuëÂh4æøØ7oÞÄÑ£G±xñbüòË/´õ £Ñ"‚ÕjÍ0/‡$Ie9ÙI+H}[ÕªUÑ¥KtíÚ;v„ŸŸŸk3´õŽYŠËž{%Ôn\° ÀR{…C!ÜE8 KcO#eàQÚŒƒÃq8—ÅÛ«!Åiè Õ(!!Û·oOv"##u×ï)Y³ÙŒºuë"44={öD½zõ Ii–sèÆ;w0oÞ<üïÿÕ+WòýÚh4Âl6C–e4oÞ!!!¨T©Š/žlÅŠƒ,ˈ‰‰Alllòã­[·päÈìÝ»—/_Áh4Âb±ˆÄ€ªª¢mÛ¶èÚµ+ºté‚ÚµÓøápö› …>H¯cì)¤ü®ë¸„”ßõ~úAÁA8 ]c ¡Í8„¨ mÖpK‰èL&o5hÇ¡†kóçÏcÍš5X³f ¶nÝšïs3(Ћł6mÚ`àÀèÙ³'*UªäqD„Å‹cÔ¨QÉaPùI’`³ÙаaCôìÙ:t@óæÍs5[óðáC9r‡Â°{÷nDEEA’$$%%å{g ªT©’>>0`FV­Z¹¾¼Zô+€TmP:;¶—]HD·¹ º#œ ŸaOõ.€¡…ü íÎÞñ Þ¢è­óîmíààÁƒ˜={6~ùå>¡¡¡X»v­GC› Còßya}F­Zµ0räH¼ôÒK®[Æ>„}6ÚÂìT0ÆêBk†ð6“ñm -A^ƒˆ„ – @{«Ø íéþ2S&ï "¢oˆè69qïÞ=š>}:5lØ Å6 KÇTU¥Ñ£GSAãÞ½{äãããÑk¹iÓ&oŸ¶î$%%Ño¼A’$yì:FZ²d uéÒ…$I"UU½þ;qüVBCCiÆ d³Ù\/ÕA"z•ˆ SÚ6Í­;­][ ½k9a„åMóºa„elÐÖ.<à€½ÃÞ 쳈é˜ !¢íäÂ?ÿüCC‡õøÒy a4ÓŒ°°0,\¸>cÌëáNƒÏ=÷Fމnݺ¥ Åp öÝš -ÌN†1ÖÀ{ÐÖO\ð=´p͇žQ.ÜÆÛ^Œ0aÂR @E_CëXïÛÿ®”Ay‰ˆúÑNrÂf³Ñ† (44Ôãw'õU¨Pþõ¯ÑîÝ»³uúöíÛôÍ7ßPµjÕ’ï¾zR¿ÃŒF#Mš4ÉmÝù7nxä:2Æèï¿ÿööér娱c¹–¥K—¦¤¤¤Lµ˜ÍfZ¾|9uïÞ ƒ×~?®V¡Bú÷¿ÿMQQQ®’H›¨MiÛÂJÐÚ¿ûÐÚïTt-'L˜0ï™×&Œ ´»rf¡-œNCl7"CDgɉ«W¯Ò¤I“¨jÕª 8‡€€úè£èàÁƒ¤Û·o§:uêxm ´aÃ]Î#3Ž;Fï¿ÿ>5nܘêׯO}ûö¥µk×r¯—ˆ¨B… ܯ¡Éd¢„„œ·X±b÷uF£‘ÆŸ-]·oߦï¿ÿžêÔ©“êwêMcŒÑ3Ï>žfÍšEAAAëäE!Y–©wïÞ´jÕ*²X,ä –-[æ±í4‹-Êõ\ÆŒ“å¾téÒ\w5:tè×k(I­^½š›~"ÍÁ>|xšÁ°ÃáýñǹÖODÔ½{wî¿¿iÓ¦é®;66–¦M›Fõë×'ÀûáNŒ1êÙ³'mßžfc¹»Dô•§´mj-híh"´võy’k9a„ñ1¯ &¬ ´°¥~Ðî˜YÌP%ƒò" %¢}äDLL }öÙgTºtitèŽEýúõiúôétçÎÊ Lž<Ù#¡uëÖåv6›ÍíÛ–-[¸é°Z­ÜÃp¢££¹é'"úè£2Ñ1 t÷î]®jÖ¬ÉõʲL±±±\ÏáĉôþûïS‰%ˆ1æõp§¦M›Rxx8Y­Vg™‰D4ŸˆêRÚ6¶ ´vÕ­íæ$Lwóºa ²èà€$h ŸÊ l!"z“ˆ¢È‰³gÏÒk¯½F¾¾¾Ü;nY–I’$*Uª}ðÁtòäIÊk$%%Q›6m¸/¶îÙ³'·sxðà[E¡±cÇrÓAD\g´|||¸Î¤ÄÅÅ‘ÉdÊTƒÁ` Å‹sÓ@D\›²,S¯^½¸êwÆjµÒßÿMýû÷'EQ¼²ÉÙªV­Jßÿ=ÅÅŹJ]CD(m{û´v6 Z»ÛݵŒ0aÂô3¯ &¬ €gì³»‡-•!¢Ï‰(Õ­þ;wRŸ>}¸‡ï0ÆHQ”䌳k×®ÍrIosõêU*R¤×XîÎ;sÓåÊ·u4oÞœ›"¢¾}ûr»Žõë×çª}áÂ…YreY¦þýûsÓËõ÷)Iýõ×_ÜôgFDD×sËŽ+VŒ>üðCºvíš«ÌÃDôi3¸Îío-hí® Z;ü,qnó… {M‚@ Ð ÆX;ÆØvëÜ€¶á@":åR´€/œð!€b6› üñZ¶l‰V­Zaùòå°Ùl\tªª hÒ¤ ¦OŸŽ[·naéÒ¥èܹ3$)o7 åË—ÇâÅ‹¹ÖËíØ… v»ìÙ³g¹é€š5k&ôD’$4hÐ@÷ã:³dÉQ¦e¬V+¶oßÎMïd„… F×®]¹Ö‘+W®LóÝ$ Œ1(ŠâQ-wïÞÅ”)S€#Fàøñ㎗Xà€ ­;"¢ö×oXÇÛÎkçQáA'o‚|c¬cl#€­xšˆzQ„KÑ¢&ˆð¿Çcúôé¨Q£úõë‡Ý»wsѨ( c([¶,Ƈ3gÎ`ß¾}5jŠ)Â¥N^<÷ÜsèÑ£dYærü;wîp9.øûûÃßßß­²±±±xôè7-O=õT–ñœ ª*ªU«¦ûq9pà€[N6¯ï 9.™˜uÃh4⥗^òø€ÝÁìÙ³a6›S=çïï7bðàÁðññ,˽é`6›†zõê¡k׮شi“ã¥@hÎÄq¡ÐÖ¡ˆ"ˆ¨7€§¡µË[cc-<&Z (Èx{*D˜°ülX mÚ}€–”-LDŸÑ=²OS§N¥2eÊp ‡e™ŒF# <˜6mÚÄ5NÝ“ìÙ³‡Ûu+Q¢WíÁÁÁnk9rä7Û·oçrýTU¥… rÓ}çηµT¯^›Ž¯¾ú*Ëu¹±={öpÓž»víJ÷3u^£óèÑ#úù矩mÛ¶ÄóH®Œô¬E‹´qãF×Sˆ ¢>”¶½n ­&hívc×2„ sßÄL„@cõc8 €Ž¤-ôÛåRÔZ¸R€ÿ(b6›1cÆ T¯^ï¼ónÞ¼©»>£ÑÆš5k†Ù³g#&&‹/FÇŽÁÓ½>oЬY34kÖŒËÐè~LgêÔ©ãÖç IÎ;ÇMG`` —ãšÍfT­Z•˱àÔ)×èÀŒ1™LÜtDGGÃjµr9¶Á`Àáǹ;+ÂÂÂÒ„2™Íf ><ù___¼øâ‹Ø¶m.^¼ˆO>ùUªT.!r±{÷n„„„ C‡رc‡ãézþ€–˜®»ãI"ÚEDt„Ön`ŒýÁ«ç1ÁAAÂÛ^Œ0aùÉTð+´{ûtΠ¬½GDÉéX- Íž=›*W®Ìíî/ªP¡}úé§táÂ*è¬X±‚Ûâó„„nº'L˜àÖl£ÑHS¦Lᦃˆ¸ÝI¿rå 7Í‹-r{ÒöíÛsÓÂí;cŒ¹iψøøxòóóK£§fÍšn½×®]4jÔ(òóó#ƒÁàñžž}öÙôfpöQšÅÕ:CkÇmÐÚõj®e„ –±‰™À c…cSœP@o"jJDë\м à€ÿ(•””„  fÍš5j.]º¤›.I’ Ë2|||0xð`lÛ¶ —/_Æ„ ¸Þ Î+tïÞÛyÞ½{—Ëqm-‚;ñüV«•ëLè~LEQP¾|yÝëÀݵªª"((ˆ›žŸ q_¸þù'R=§ª*^yå·ÞߢE Ìš5+yö³C‡$Éc³ëׯGóæÍÑ£G癜¦Ð6»Ø ƒãI"ZGDMô†Ö®ŸdŒMaŒòˆX Ÿ#œ ˜Æ0gŒð€†D´Â¥¨ ` ´Ý–¾PÖf³á—_~A:u0lØ0\¸pAw}ƒaaaˆ‰‰AXXÚ¶m[`•Ü1†×^{ËåêÕ«ºÓA```šE«é‘””ä¼ jÕª¥û1Ë–-Ëõ{‹Å’e9I’ðÔSOqÑ@D\¿#€öù{š¹sç¦yÎjµâ…^ÈÖqL&ˆ 6àÊ•+˜4iRògá ‡bÕªUhܸ1úõëçüj`³ÝZ;ž´·ç ¡µï£œeŒ cORc*äáDÀkmª{6€pDô#9÷ì2€—œ0@"Âï¿ÿŽàà` <§OŸæ¦Ñb± FðõõåVG^§[·nn ȳƒÁ`ຽjv¶¼g"‚‚‚`4u=fõêÕu=ž+‘‘‘nÍä˜ÍfnZnܸá–#“<½kÚµk×°yóæT΋Á`À³Ï>‹Ò¥Kçø¸åÊ•Ãû￳gÏbÿþý5j . ƒÁÀmw+@sôþøã>>Û:¢¢¢¸æp°Z­èÛ·/·ã§Gz¹!üüüн{÷ Þ‘sTUEß¾}±zõj\¿~_~ùerh/‡Ây}ÚèÑ£×§u-µ–°®‹ýµÆN3Æ>eŒ=¹Ó¾+Þ^Ù-LX^0ϸà€w(é”+CDsI›ö&"¢½{÷R«V­<ºûˆ«  §'™¿þú‹cº^×FqÕüüóÏ»¥Y’$Z¶l7ׯ_×õº)ŠBK—.å¦÷Â… ¹Ö¨ª*ÆT׿X±bÔ A8p ?ž~úé'Z·n>}:ݺ&NœÈ5G„¯¯/%&&r»Ž®ìÝ»7Ýëôúë¯{LÑÑ£G©OŸ>ºÿž3úŒ;–bbbœ%ÄÑkDd ”þAÖ/܃ÖO>ž&Nœ˜î>êÞ4I’èúõëäInÞ¼IS§N¥   œµÖ`0$ç¬hß¾==zôÈ#zÚ´i£ûu½wï^Öç… &_§ÌÌ`0Ј#¸é ¢äÏP/»uëVÖ•æ¹sç’¢(^û­ 2™L\5H’Dþù'·kèÊ;wÈßß?oä©xðàײ_Ñš5k\%-'¢ê”ºÿh­ß°AëGÊç>K˜°¼hbM„à‰‚1¦2Æ>„¶›R;¡DÔžˆ\2Ô°ÀŸž€eË–!((ÿ÷ÿÇu¡kNe‹/öh½zõ¿þõ/DFFˆ‰‰‰HJJJ¾›¹sçNtïÞÝ#k6ªW¯®û¶¢¼³E»»Í+ïEúµk×ÖíX&“ ¥J•Òíx®DEEqÉRî.IIIHHHàz—¼páÂèÖ­·ã;xðà>øàT¨P!ͺìä†Ð“ððp·vÞâAdd$ºvíŠçž{Îy'§ÞÐò}ûL4!¢öB¡õ#gc2Æ<7u$ä„!xb`ŒµpÀGÐ:„ZDô›K±¦8 :„¶mÛ"44/^ô¤d·1›Í˜9s¦Gë2dH–ƒv‹Å‚;v`È!Üõ*T(ÝerŠ,ËOÌ6¯5kÖÔm›×Š+êrœŒ¸pá‚î[úæ%TUÅСC¹.Ú´…Û½{÷ÆÔ©SŸ&4Ël6£wïÞ\5¤Ç¬Y³¸…‰¹ËßÿzõêáÝwߎ{÷-¤õh7Ÿ†``ï?jAëO>pÈÞÏO‰xìÙ¦€¶eëi5ˆh29ËÆBK*÷:ÃÍ›71räH<ýôÓøçŸ€O˜àرcxûí·±yófOJÕGaõêÕèÓ§GêëÒ¥ Š-êÖ@CUUüüóÏøâ‹/¸h)T¨îaîfFÎ)ÙÙæ•§¡×6¯V«úˆJ‡èèèt?cI’’×uÔ¬Y3ÃŒÙqqqˆŽŽFTTTòã¹sçpöìY\¾|99dL’$¨ªŠ¤¤$îÛŒ:c³Ùð /p­#11Ó§Owûfƒ§õ[¶lÁ7„8{Ã}ùòeôèу ÂÍ›7=+ØØl6Ìš5 U«VŪU«¸×W¯^=·ó ȲŒ 6è®!)) {öìÑý¸b›×ìáïïÂ… ë¤(-QQQ ¢4Ï[,®aTJ—.fÍšqY/åç燞={ê~\gŽ?Žˆˆ·Ö1©ªê±°ÈeË–yt·ÞlÛ¶ õë×ÇçŸî+ `€åÊ€½_j­Ÿú À^{ÿ%ä[„!È—0ÆLŒ±)жڻ i3 Î=QqaÐ’ÆU³Ùl˜6mêÔ©ã‘Áµ71›Í°Z­èß¿?öíÛǽ¾W^yÅ­}íeYv^”¨Ë—/w;D#;ð^Ð\ªT©lmóÊãæz'²Ê•+ë¤&}Ο?Ÿa,?Ï0*g2[ÜSTUÅ!C¸/ô^°`Ûu˜ÍftïÞ«³gÏÎ7»àeDBB>þøc4iÒû÷ïw<íHT÷ FDIDô_õ õ[ûcSc&ï¨r‡p"ùÆX{ÐæÑDBD®+`C¡5ÞÃàĉhݺ5ÆŽ›ïv]Ê V«#FŒà^ÏàÁƒÝL&ýûË/¿ü2Ý;Ô¹Åb±pu"€ì ~ygÐÎí"bÞÛ»f´å®¢((W®׺d´¸;7x"7DRRÂÂÂÜ^P]±bEqÕh›ìÙ³'ß;"""мys¼óÎ;Ž…úEü`+´\ ¢ Dm!ö+"ìýš@¯N„ ßÀóaŒý` €ÃÐ2N‡¹«`€¥Ê$&&â“O>AÆ ±{÷n+ö>III8qâvìØÁµž’%K¢k×®YæŒ "Ý÷_¶l8Àe’×¶yå+"7¨ªŠêÕ«ë¤&}2Ê_®\9åƒÈ(OEn¨^½:š6mªûqY¿~=bccÝ*«ª*^|ñE®z°`Áôèу{vnOc³ÙðÝwß¡nݺX·nãé¶Ðò}ûΘöþ«´þl cìGƘ74 9A8‚|=vô ´†þD4ˆœ40cœÐvìØ `âĉݦ1¯!Ë2¾ùæîõ¸“3Âl6£V­ZºÕyéÒ%Œ1‚ëÒSÛ¼f…§¶yÍ)’$q )zðàA†³ˆÙIÚ—[¢¢¢t ;RUÕ#¹!æÍ›çö`÷ÌÈåË—ˆ‘#G"22Ò£¹m}úàÚµkÜõ©ª Æ *„Aƒá믿ÆO?ý„Å‹cåʕزe Ö­[‡ & G(R¤ Cºƒ O`6›1gÎîwý† –jp IchÓ¦ >¬Ë`ïÔ©ShÒ¤ N:åB–å<³÷LDPPPŽCuc\·YÍ(Œˆw–lW2Z܈/¿ü²nÇˈìî~4hÐ .:bcc1þü|á@ .k5Ö®]‹:uêà»ï¾s|&Õ Ý,› ÀHD6"ú @shý_„½?òÞNT!L˜³A›Ú -‰ÏL¾é”{…ˆ‘Y³fQ‘"E¸'bŒ‘Á` %JИ1chÆ d±XÈÌf3ýúë¯Ô¢E bŒy%!cŒÖ¯_ï–ÞÜP£F 2 €ªW¯N+V¬ÐõøS§NÍðUUÕýº™L&úì³Ït=W|}}ÝÖóðáCn:æÍ›GŠ¢äè:/^œ›."¢7ß|3ÃÏwïÞ½\ëv¦páº}·üüü(>>ž«ÞÈÈH·õȲL}ûöå¦eòäÉ\~£z›¢(4`ÀêÔ©“Û‰ùrbM›6¥ˆˆçKADu){ý¡0a^3¯ &Ìaˆ W:eJÑŸdçÖ­[Ô£Gt*²,Sùòåiþüùdµ&'½Î¿þú+ùûû{¼3•e™žþù\iw‡ü‘^ýuÚ³g—ã'%%Q||<ÅÅÅѽ{÷(66–nݺEǧ?üJ–,I’$‘,˺\7I’hÈ!\ÎÅA:uÜÖsøðan:þùçŸ_§† rÓEDÔ­[· ëæ•Ý•èö{TU•FŽÉ]óG}äv[#I­^½š‹³ÙL%K–ôh›—S…zôè‘ÜÎÏ™3‡|}}sì\»ó=øïÿK6›Íq©â‰h,¥î{Aë#4"ôÇ„¹c^ L´•Æ0C›Ö-—N¹gˆèÙY³f •-[Ö#JÉ’%iúôéd6›I/®\¹B:tH¾cï)SU•îß¿¯ÛyäE¬V+­ZµŠ*V¬¨[ÇߨQ#®š àÖ •Á` ððpn:®_¿ž£ëãAƒqÓED˜nÝF£‘k½ÎDDDèú{ܹs'W½IIIÙj'‹/žë›$ñ믿z¼½Ë®)ŠB:t ÄÄÄTÚ/]ºD;vä:+BW¯^u®v •¡”~²´þÑ ­¿dä¡>Z˜°ŒÌë„=Ù €M¼›NÃh$¢oI‹¥øøxzóÍ7¹‡)ŠBŠ¢ÐgŸ}F?&Øl6úþûïIQu®²,Óœ9s¸œO^#**ŠÊ”)£ËŒD‘"E¸jýøãÉd2e©Ãd2ÑçŸÎU‹;:\Íh4ÒÇì]~~~ôÉ'ŸPXXmÛ¶._¾ÌMÃ_ý¥[ÛS¥Jn:lذÁm=ªªÒ{ï½ÇMKHH×AxnMUUzúé§éÑ£GžÃìÙ³¹ÎJ”(Q‚þøãç*oQwJé/´~2Z¿Y<Ø_ æj^ ìÉ5}ÄBËíP?2µ‰èÙ‰ˆˆ ºuërïL$I¢–-[Rdd$y‚½{÷’ÉdòÈZ Æ5mÚÔ#ç•8sæ •(QB'íÞ½{Üt†……¹50‘e™†ÎMQ­Zµ²}mL&ýðÃÜ4ݾ};Óß«ÑhL¾~Š¢PRRß}÷.aˆªªÒĉ¹htæ…^È–ÞcÇŽqÑqíÚµ<í@(ŠBuêÔqë7~éÒ%î³È£F¢¸¸8çjg‘¥ôõ¡õ›±ú’‡úlaÂ\Íë„=yÀÀ{ƒ9€O:å^'¢ÇDÚûï¾ûŽŒF#÷ŽÄÏÏfΜéŸê6lØ [ ¿;vîÜ9žŸ79zô¨.˜ýû÷sÓ¸cÇ·uðv;uê”íkc0è÷ßç¦iß¾}nk©\¹27o¿ý¶.w¡ctñâEn:‰´õÙi3ëÖ­ËMËW_}•gT+ŠBÕªU£[·neëœfÍšE>>>Üf%jÔ¨Ap®ò$5¤”~ÔZÿIÐúS?òP.L˜Ãį«-q\O=Hs⊔° À4>7nÜ@×®]ñöÛo#11‘§.tëÖ çÎÃèÑ£=žÛ!$$‹/öH½ªªbÁ‚ÜëÉ+cðàÁ¹Ê2¬(JžÙæ•§(UªT¶ß“””„ *pP£Y–Ý*›k™]Î;—ëíI%IB›6mP¹reT¥Ï²eËÜJbhßïÑ£GsÓ2kÖ¬<™•Z–e”*U Û¶mËö÷~Ô¨QˆŒŒD«V­`0t×væÌ´hÑ_~ù¥c+ØZж5ÿ´°ßx"z@hýé^{ÿ*x áD<c¬€ýÐv™¨GD«\Št…–â9X¹r%‚ƒƒ±nÝ:nšEAÑ¢E±téRüùçŸ([¶,·º²"44Ó§OçîH8rF×zòüq®ƒkކ2eÊÀÇÇÇ­²wîÜA\\7-Å‹w{ÀîLÅŠ9¨ÑˆŠŠrkÏ~ÞÙ«õÈÁÃÈ‘#uP“9sçÎu;7„ÍfÃóÏ?ÏEÇÁƒ¹;¾9Á`0 H‘"ؾ}{Ž¿»•+WÆ–-[0cÆ øøøèžWÂb±`üøñèÔ©®\¹*€¯l„¶žö~´´~u¿½Ÿ<‚p"ÜaŒIŒ±É–C›v !¢›NELþàoe?~Œ1cÆ gÏž¸}û6/M€Þ½{ãìÙ³0`—z²Ë˜1c0vìX.IŽœ¹~ý:¶nÝÊµŽ¼DPPzõê•ãëj6›uM2–ÙIÄÇÓ¡)Z´h¶ï¬J’ÄÕŠŠ‚ÕjͲœ,Ë\³WÛr¹BQôíÛW5sáÂìÞ½Û-'Â`0 k×®(Y²$-aaa¹šäÁ`€¯¯/¶nÝŠêÕ«çúx£GÆ©S§Ð²eK.³[·nEpp0~ûí7ÇS¡Ýpëöþ4Zÿºœ16™1&Æwîˆ/™€+Œ±Öx ÀóDô9êA› ‡FãÆñÓO?qÓ¤( Š/ŽåË—#<<œ[ç™S¾úê+T¯^=GwƒÝEQÌ›7Ûñó"ÿ÷ÿ—ãٛ͆“'Oê¬(5µk×v+£¹Á`àzg·X±bÙž +V¬—Á“ƒ³gϺõÙY­VT©R…‹†;wîàñãǹ:†ªª …ŸŸŸNªÒgáÂ…n;ÌDÄmfÄl6ãçŸÎS¡L’$AUUlÚ´ uëÖÕí¸UªTÁÖ­[1}út˜L&Ýoݽ{ Àˆ#3‘Åü`.´$tV"zÀóÐúÛµöþW à†p"Ü`Œ5p@€fD´Ô¥Èhë#ê¾þúk4oÞ‘‘‘¼ô €3gΠwïÞ\êÉ-F£¿ýö×°&‹Å‚ß~ûkXL^£Q£Fxæ™grìœ?^gE©©Q£†[wlUUÅÅ‹¹é(Z´h¶CÝÊ•+ÇI†»NSRR·µQQQ¹>†Ùlƈ#tP“1D„¹sçº=p÷÷÷G·nݸhYµjUžjccekÖ¬ÁÓO?Í¥ŽW^y‘‘‘Üf%ÂÂÂаaCìÛ·ÏñÔ»T{?Û Z¿{ÐÞ \N„€ Œ±v8 ài":áô²máôB>7oÞDHHÆÇ펕¢((Y²$V®\‰Å‹£xñâ\êÑ‹:uêàÛo¿åzw×jµ:O?Œ;Öí8qWîß¿{÷îé¬(…Zµj¹½6·‹{3£X±bn…9ãîzŽœ@D¸víšÛåyÍDDEE¹5S”åË—GÛ¶muR”>Û·ow;ìJUU :”[øäܹs=¾IEfH’„åË—£]»v\ë©R¥ ¶lÙ‚iÓ¦q™•8wîZµj…É“';þ``_OhïoŸ†Öÿî°÷Çî'B +Œ1•16Àl“ô&¢ûNEÊØ àuؽ{75j„Í›7sÑãèôŒ3gΠ{÷î\êáÁo¼nñÄ6› sæÌárì¼J—.]P¸p῟gQ“&MÜrˆ(Wç9(ótjnܸá¶SS¤Hn³"ÑÑѹ ªªŠ‘#GrTÏŸ?ßí6Ãl6cذa\tܾ}k×®uÛ1æ$IX²d ·YWcxõÕWqêÔ)´hÑB÷BV«ÿþ÷¿Ñ½{wÇÍ¢Vø€dïw{Cë‡g3Æf2ÆòÖâA¾G8Ý`ŒUð€þºÑdJÑÀ!-àÇDûöí³u—1;(Š‚Ò¥KcÍš5˜?>Š-Ê¥ž,\¸&“‰Ë±m6víÚ…èèh.ÇÏ‹(Š‚—^z F£1Gï=qâDÖsHPP[Û“šÍfnwÛàòåËÙ,óŒyw7†1†–-[rÓ•«±ÅbÁСCuT”–ÇcéÒ¥n5jÔ@Æ ¹hY¼x1×u]Ù1†Y³f!44Ôãu`ëÖ­øßÿþÇeVâï¿ÿF“&Mh­'@Û&½iLÐ Z¿üc¬’®O4‰èc¬#4AИˆ\÷e} Àfe0|øp¼öÚk\’$1†¡C‡âôéÓèÒ¥‹îuxŠÒ¥KãÇÌuEF(Š‚… r9v^套^ÊQÎ"®]»8(JaĈYÞE._¾<ºvíÊMÃÅ‹³òÅ;¼ÊTUE›6m¸é8sæL¶Ã¼H’„fÍš¡Zµj:«JÍï¿ÿîv›ª( ^yånZfÏž'T3ÆðÍ7ßàå—_öª†×^{ 'OžDóæÍuŸ•8þØûãÆÐúçƒöþZ È=ÞÎv',ÿ€÷XÌGÚìÓ¾D´˜ìDGGS£F¸f-_¾>>tåÊnõ_¿~=Ç¿/I’¨mÛ¶Ü´9˜4i’ÛwI’hÙ²e\tX,–}‡ô4Y–iøðáŸáÌ.6›~øá.³åË—§]»v9W·“ˆÊSJÞZÿ}@ yhì ¬`™×Ë 5€h‹¨Ë¸¼ÎˆèS"²=xð Gáî˜Á` ƽùæ›ôèÑ#zxæ™g¸Lûøøp¿†.\ÈòN©,Ë ?˜6mɲœ­ëd4é?ÿùGôyƒÈÈȇöíÛÇUÛÑ£G©}ûöÄ#UUIQRU•dY¦yóæq­{÷îÝ9¾.žA#" p[“¿¿?%$$pѱbÅ n7ŒÜ½ÞýúõóÈͽ8þ<µjÕJ÷Y UUiÆŒÎUÝ ¢¶”Ò——ÖÇhMG+æuÂò— À/Œ.¯%¢ÕdçÔ©SÄ­£ ;vГÄåË—É××W÷ëi0èçŸ殿E‹Y0c´yófîZ=zD%J”ÈvÇݱcGîڼŇ~HF£1ÛߣÑHŸþ¹G4ž>}šÆGo¼ñ}öÙgtéÒ%îu.Y²$Ç<Æ×Y"¢]»vek`9fÌnZzõê•mç\Ï~áÙgŸåòǃ7nps¾† FñññŽª,Dô¥ôéFhýy€AäÁñ„°üo^ ,ÿ€ØLÀ\^&¢ódç÷ß'ÝCGœø{ï½G?¦'‘Ù³gëÞÙ j×®wíaaaY0$I¢fÍšq×BDtðàAòõõÍÖõ4Ü×Exƒ¤¤$*]ºtŽ¿CžÙñ“'OΑsÅ£Fq×7zôèléãë5BUUjÙ²e¾í&NœÈmó Ô¨Q#ŠŽŽv®ò"ò#­og>‡Ö¿Hy`¼!,˜×Ëû@†–<ÎàåtÊ $¢GDZ¬ù|À¥T…žzê)®;°¸ÃþýûiõêÕ´bÅ Å©»Ò®];Ý;Æ÷»º>t{°sèÐ!®Zlݺ•ªT©’<qç{8uêThó$6lp{anF×…WˆŒ·9rdŽf"ŒF#}ùå—\µÅÇÇ“ŸŸŸÛšªU«ÆMË´iÓ¸„32UU)88˜ .´mÛ6Çׄ÷Z‘_ýÕmGUUúâ‹/¸i©_¿~®Ñœ˜¢(èñ6XO~ùå­#‘$‰¦L™â¼èü5¤”>¿3€ÐúýÂ䡱†°üi^ ,ï€J"\PÏåu™ˆf‘ƒRùòå¹t5kÖ¤ýû÷“·8vì5nܘcévÖªªRÑ¢EiçÎÕ5}útÝ;ž*Uªp×½yóf·?ûÛ·os×ã̈#Üš`ŒÑÊ•+=ª'[·nÍõàOQÀÛ²Ùln%S…¾þúk®Z\ùçŸܺFƒÚ·oïQm¼ˆ‰‰¡Ò¥Kë²3 cŒNž<éíSÒ•¤¤¤_ÞÉ ¯]»æöàS’$®›Œ7Σ¹!dY¦R¥JQTT·sòûöíóØ5sµF9÷YV"JÎ÷ €#ÐÆÉ3„9›ÀÆØs¶8  -]wz¹"€Ц<1cÆ ôêÕ =â¢eË–-ÜŽí•*U‚Õj…ÅbÉ´œÍfÃýû÷Ñ«W¯,Ëêc ,€$é÷3VUaaaº/=c9r$TUÍ´œÅbÁÿÏÞy‡GQ®ïÿžšMB %†!@èRTð€ (hTÔ/ ( E@,(¨ÀŽH¤Šr*ŠŠŠRáH‘zP!´@¨!!»÷ïÙË’M2eæ¾®Ï%2ËÌóÎÌûÎó¶ç™9ÓP[|Õ¢E TªT)Ïß9N¬Y³»ví2Á*cÕ£G¤¥¥Áétú\Š¢à7ÞÐÁªÀѱcÇ todYF“&M °èÍŸ?²,ûõ[O½3BN§sæÌAff¦!ç÷•$I(Q¢Ö®]‹ØØXîóïÿ .4ìü0yòd(Šbè5rÓÖ­[Ñ´iSìÞ½$ÓL€8倖Ðf#Öºý[¶®—Õ½›À@_YÐÉçx=’ÇHm4ùå—_6|¤DUUþßÿý­T×®]ýaS…ýû÷7վɓ'ë_<44Ôð'ôÛ³Ãø¾ýöÛ~=oY–Y«V­"½™øý÷ß7dÅ×_muÑtÓš5k t‚‚‚øÞ{ïj[õêÕ¢^ÿðæí…E‘¡¡¡†^xï½÷ÀЬ×)))–E³ò&<<œ+V¬ð6í ’ÁÔ|À,h~A_€Ÿb8Xn€M`-ÄÛNCrøM{jë&™žžÎÄÄDS¹ï¾ûŽVéÌ™3,]º´ßIAøóÏ?›fŸÓéäwÞ©Û²&I’¸`ÁÃínÕªUž+6X=zÔïg­( {÷îmª}zÈårq̘1†t A`xxx‘_§îÑܹs ìè™ïä÷ß÷ÛEQøì³ÏfË£>jŠ3,ƒ‚‚ X˜?>A (оaQuÕˆ#L]–×;2wî\oó~#É|„¡ÐBÀzf*,÷[l¬Çrl¬@0€/\ðp¿yžÚzIž>}šÍš53µqE‘eË–eZZ­Ò—_~é·c)Š"£££yñâEÓìÛ·oŸ®ˆ6mÚnó7ß|ã×=u8¦‡nlÕª•ß¶ \¸p¡©öF.\àƒ>h¨Ó§( [¶lYdcö{käȑʙéÕW_Í—]FíuJKK3-¬«,Ë\¾|¹!åðèÇÌÜèÚµ«a×ÉÈÈ`éÒ¥M¹oùaĈÞf"yÿñ‡–”î Á4ÉG± \,7ÀÆâˆð€“šøHŽ£[ûöícÕªU-iØTUå3ÏÇ$Ó­uëÖ±L™2–7nFBÝL§Nbxx¸ß¶ ‚ÀÕ«W›f_VV4h Ë³Ññä=š4iRžö ‚Àúõën‹·._¾Ìàà`¿ï—¢(,Q¢—.]jªþ*))‰O<ñEQ45˜¢(¼ýöÛyðàA«oA•Sn˜@h¯ü}Žªªòí·ß6ÌŽF¾Bߥ6º+))‰ááá”$‰²,óÞ{ï5ôz ¦‡uÍ­[·öžý¿JòIþã;Tpšÿ`‡€½…±Ü‹‡ øî»ïСC-Ë]YYYˆŒŒDZZÚ Ç$IÂÝwß•+Wšb >|U«VÕå\AAA¸ví\.J”(Úµk£^½z …¢(e9—Ë…””üý÷ß8zô(RRRpöìY8N‚€   dffÂåréb›UR.— $Q·n]<øàƒh×®4h€   •…­[·bÍš5X¹r%Ö­[‡ÌÌÌBÕ•œ¤( RSS¦ëy=Ú»w/±ÿ~Z¹dY†ÓéD·nÝðñÇëšÑÞ[O<ñ¾üòK\»v-ïçCŠ¢àá‡Æ‚ ³ž}öYÌ›7ï:ûeYƤI“0`ÀC®yõêUDEEáüùó†œß :cÇŽõüïmœAð€"i^CmË:YÝ‹±1¤˜‹³P?B2ƒ$?ÎøøxËG<üENš4‰‹/æÞ½{i¶Ž;Æ%JäkdÒÌÍ¥™™™¬Y³f¡–5)ŠÂçž{Î4›IrðàÁ¹.Ó0r“¨·öíÛÇaƱ\¹r†¾ÃŠ¢0((ˆ‡ƒ‡ƒÁÁÁÙ•5ÓzâY_/+V¬ÈöíÛó•W^áœ9s¸fÍîÙ³‡§NÊ÷HñÅ‹¹aþóÎ;lÓ¦ GöõŒ\ö%I?ûì3ƒÞRMœ:u*_|ñEvíÚ•<ò7oÞlè5Ê´¬( ;tèÀk×®jÿðáÃsœ©½í¶Û „1gΜ€ÈP]XúõëG—Ëå)VÉ Ô| šŸ‘ #Àÿ±1Ø¿´Úƒ0ð€LÓqc–Ént'‘KNN¶,Da>ÐAAA”$‰‚ °K—.žn­_¿žááá–7>Fòí·ßÒ,¹\.Þ}÷ÝùZÖ4bÄÓì#ɾ}ûÈq¶¢A’:tȵ#¡ª*Ÿþù<Ï‘••Åï¿ÿž<òeY.–#6ªªìر£ µÆX-_¾\·{"Ë2£¢¢ ”pàÀ–*U*×¶DQ>òÈ#†ÚðꫯûA‹æÍ›óüùóž"_¤6Þã—ôæ—Œ¡I¾I>§ÕØèø0÷dø?ŸcÉìÏ+W®dhh¨îH - ùÄäZ¤Ÿ®]»ÆêÕ«ë2¢.IK—.Íýû÷jsJJ +T¨çàÁï¿ÿn˜ W®\ñ+»xq Q£FLMMÍ.:ÉöüÇ?ù?hþÉû4Ñ/²1Øï´Ú¤ÖÈð°Ï1‰dö—kÙ²eùrtýAΜ9“½{÷Öu­laQ…ݺu£™š6mZ¾–5Õ©SÇðp†ÞºÙÆÂ܈ŒŒ4ÕF222xÛm·ÝôùzG¾IMMå´iÓ˜@À^®dx„††òÏ?ÿ4½.é¡©S§êÒ¾K’ݰ0ÃPΟ?Ïøøø›¶’$±eË–†ÚñᇉA EQtY¦V§Nïåi$³}CóSìŽD1ÁrltxˆÚ¦,ÜØPH~N·>ÿüsÝ—s‚À‰'z.Á!C†ÜÚÏ~øfÉår±Y³f~;°²,sôèѦÙGæ/šÆÇÇ›jŸ· ç;;aÂvîÜÙ^®dð(ŠÂÚµk3%%Ų:U¥¦¦ê2š.Š"ûí7Cí½zõ*›7ožw$7A0üûðßTUeÍš59pà@]:Šqqqü믿<· ‹döêh‰,ØK›Š–`SȨm¢vâÆ%L’ßÑ-½#jx>#Gޤ¯FŒ0¦(Š,W®œ÷ZMÃuàÀ°Ã¿y,7À¦€NK$—SW…^3'NÔ½á‘e™½{÷f^2¢óR~úé§|8 ¾¾H’ä›,.[lݺµ.índd$ÿøãìGBòYþãÇxÂ¿Ú éŠ(–`S€‡<m*Ð7‘œD¯=Ft Eá“O>é÷GïÓO? ˆ=¢(²|ùò¦fŽMJJÊW#¬(J®Ñ†ŒÐƒ>è÷(™(Šüæ›oL³í·ß~cŸ>}JQâ²±1QY¿~}Ã÷ äW{÷îexxx¡–Ázf\6lØ`iY>ÌæÍ›g·wŠ¢pÒ¤I†^sÈ!ÜAE>ÿüó7MÊzéÒ%6lØP—2”.]š;vìðœÚIò þãϼÍŸyŒ&úQ6ú ¸¢­""A:X`ɡއÌÐfÍš…çŸ^×k+Š‚:àË/¿„$I~ÿ»%K–àñLJÓ鄕(èÙ³'>øàÓ®9nÜ8 >YYYyþVQÔ«W7n„(Š†Û¶yóf4nÜØ¯ßʲŒx_ýµaöüý÷ߘ7o>üðC$''CQ\»vͰëÝ* C™2eP²dIAUU¨ªê÷Ÿ%IBfff6~ýùêÕ«HMMEjj*233­¾ -Y–át:ѵkWŒ?111–ÚsôèQ4iÒ©©©~µ]9IQT¨PK–,A½zõt¶0ÿ"‰éÓ§ã•W^¢(8~ü8J”(aȵ._¾Œ¨¨(\ºtÉóF‚ `ذa=ztž¿={ö,š6mŠäääB·ÅåÊ•ÃÚµkh«,uÛô.€¡‡ù®P²eªìND’ m|`Éþ>‡gè óæÍC=tuØUUE«V­°lÙ2¨ªšïÿã?⡇BVV\.—nvåW‚ `åÊ•¸÷Þ{M¹žÓéDãÆ±k×.¿aY–1~üx <Øë€ZµjaÏž=~ýV–eœ}Új“-‘ªª/½ôúõëgIgbÿþýhÛ¶-Ž?žïº¨( \.Hâ¹çžÃ¤I“b¥ÓáÇñ¿ÿý]»v5ì3gÎÄ Aƒ®-'NÄ‹/¾è÷¿9~ü87nŒS§N¸CéQ… °nÝ:ÄÆÆ@€2…% IDATüä¶m:€ž:’\Y¨ Ù2OVO…Øø€»\‚6Û øÏÎDýÅ_è…IUUÞu×]¼rå £Õ«W388ØÒ\¢(2&&†—.]*TYò£]»våks]PPM.—‹UªT±üòƳÿfîܹ*ÓXºti]¾ÝUªTá±cÇ<§¾L²%5dzšâ€»~—MÞØ3E@‚ 4° Zý ’N¯Ã#Œ€ï¿ÿ;wÖuôCUUÔªU kÖ¬AXXX¡Ï·iÓ&üë_ÿÂÅ‹u°®`R}úôÁÔ©SM»æ˜1c0jÔ(¿ž¢(hܸ1~ýõW‚`¨]‹-B·nÝüaJHHÀöíÛ t­£Gf/Wú믿nÙåJ’$!..uêÔAµjÕ‹Ê•+#66•*UÊïÌA&€37!ÕëÏg¡þezýW¯uF"@û¿*€PeDøA)hN„_:þ<Ž9‚äääìÿîÝ»;wîĉ't*’õòÔ‘¸¸8¼ð xøá‡­ûu¾úê+ôïßgΜ)pE7nô{‰dqÕO?ý„ûï¿â[I’QñùçŸã¡‡*ðyþøã´hÑééé…^MP£F ¬]»‘‘‘pÀ}~A°@[­In-Ô…l/«{167@<€Ó¾ øÏޱºråJÝ3Q{М={–zªG–g¶k×®Õµ\7Óµk×X§N¿Gø$IÒmÔÿf:zôh¾ïÝîÝ»ý>ÿ¥K—øÉ'Ÿ°eË–á–‹²T®\9Þwß}2dçÎË-[¶0==ÝßÛ—Ar?Éå$g‘|äã$›¬L2ŒÐFé„D2’dM’m¨EpMò3’ë©ÍøÍáÔ©S\¹r%'MšÄž={²Q£F ¶ü](l{¥ª*A`£F8aÂ9rÄŸÛ‘«œN'7mÚÄû *’¢(|íµ× eOqQ»ví&¬«(Š Ñ-7ÇÚµk³ßÃÂÚV·n]oß"•dj>Íß9 žÖ·M67Áž‰` ‚PÀ:{ ­¼êuøy3`Æ hÛ¶-._¾¬ÛµUUELL 6n܈²eËêv^êׯºuëÞt³ðáDZbÅ üøãX±b.^¼Y– µÖ]’$T©R;wîDPPPÏStàÀÜqÇóN©ªŠçŸï¿ÿ¾nçüî»ïðÐCé²·ñÎ;ïÄŠ+<«Nh`¿ hû?ã´$y¨Ð³eŒ¬îÅØä €ŠÐŠõB}Žw£{TnË–- ×uôBQFGG{§­×UsæÌ±|&ÂSÎÁƒRÆÜ4bĈ|%y{á… ·©E‹ùºoeÊ”É11Þ¡C‡8bÄFGG@ÀŒÆAdd$;wîÌqãÆqýúõ¼zõj^·ùµIö YŸd ­)F”&y/ÉA$ÿKm?ÇM§}NŸ>Í¥K—òÕW_eóæÍó•i>Pe9{_“ ¬X±"ëÖ­{ÞõRÏöWEþþûï7»Í·ŒPa]ƒ‚‚øæ›oê^ÎO?ýT·­ZµòÞoùÉXj>P(4ÿ'@EZß¾Øä€åØäðP€Hûlîsü’Y¤¶a·L™2º"##½ÓÕ뮌Œ –+WÎòî®™ñÙ333Y³fÍ|-k2z“uݺuóí4|ÿý÷$É .pΜ9lÚ´i±]®$ãããÙ«W/Î;—û÷ï¿é#&¹ƒä|’¯lG²< ]¹E‘¨-‘zœäj‰8ÿÌíáeddpÆ ?~<»té²eËZþþ2Š¢pذa¹ÝÎ[J.\`HHˆåÏÄI’øùçŸçm|4yòdÝ:íÚµcFF†çÔ‡HFSó…¡ùAûDÒúöÄÆË °ñy @0€(ãs¼=µuÒÜ¿?£¢¢topJ–,É={öÐhÍ›7/ ²yJ’Ä*Uªø3’¬›¶lÙâw4"UUùôÓOjOåÊ•óuÏdYf«V­øä“O2((ˆ’$ijԋÞsÏ=6l—-[–מ $’s¨­á¯KRe´#6yRŠäÝ$‡’ü†äiæ¢ð“O>aïÞ½Y«V­bõ®I’çíü®íÛ·šeº0š:uj@ ¢‚À*UªÜ4¡\aõæ›oê6«Õ¹sgïg»‡Ú)@ Îpš_LëÛ/,7ÀÆëahN¾„I¥ºÏñ{èžšONNf¥J•tmpDQd‰%¸mÛ6š¥ &DhOY–9tèPÓÊM’Ç÷{Ú»jÕª†ÚQàûfõ³Ó‹øøx2„?ÿüóÍ:”é$בK²É@»a£wìIr6ɽÌe#wJJ çÎË®]»²téÒ–¿»V!Š"7oÞœÓ-2DëÖ­£ªª¬S§Žwöã€Ëåbll¬åÏÄ÷ù|ýõ׆—½OŸ>º} žxâ ïNÏ6’%©ùFÕ¡ùE_i}[aãÆrl¼0ÀUÍ}Ž5¥ÇÇgÕªUuol7lØ@³5bĈ€èH˜½®7##ƒqqq~5¾’$133Ó0[Šzäš‚pÛm·±K—.üðÃyôèÑÜnM É/I¡VíY†[‹Ò$;’|‡ä’7$Êq:üí·ß8bÄ6iÒ$ Ú23P…Ç÷½†i×®] £(ŠT…²,óí·ß˜Y‰ï¿ÿ> f¨AàìÙ³M)»Óéä£>ªÛ,̳Ï>K—+»ÿþÉÔü£æÐü£‰´¾m°qc¹6î €‰åqŸcÕ©%âéÓ§oHƒÓ³gOZ¥—^zÉòÖVLÍoÚ´Éo§ãðáÆØàr¹êãg‚ °^½z|ýõ×¹f͚ܜ $¿"Ù‡d@»`P(Ô:“#In$yÃ:‘3gÎpáÂ…ìÑ£‡îËMI’xÇw˜ÚV¶nÝú†Y–fV¢M›633+?üðCSËŸ™™Éûî»O·ŽÄÀ½Oÿ=µ½Mð84?i­olHXn€  ´pC}ŽE<@jñö6lhXÃ#Š"_ýuZ¥¡C‡Z>Š'Ë2ßxã SËýꫯÞtY“ Œ‹‹3ìúÛ·o·ü£g!!!LLLäܹs™’’’Û-øƒÚò¤{¨9‰–·6E†2$Ÿ ù µ Þ×ÉårqÛ¶m|çwظqcËëƒ^ˆ¢È-[¶ø×0:u*×oƒ,Ë”e™£G¶lV"))) bfΜiÉ}¸|ù25j¤[tª‘#GzŸ~&ÝõÀPhþR'ZW÷m<ÏÃjnu4„–æ}–Ï1µ$Kt:ìÔ©“)‡þýû{O%šªÑ£G[Þ‹¢È­[·šVæôôtV©R%×Q,I’øÑGvýaÆTHÂÂâp8Ø¥K.Z´ˆ—.]ʩȩ$‘|švÔ$ýH6 9ŒÚ¾™<ÚÇsìØ±¬_¿¾åõ¤ X1Ð2cÆŒ0½üÞ:{ö,kÔ¨¡ÛŒÄ'Ÿ|â}úWè®ofAó›Òº:oCÂrne %NJðÙë˜@òÿÑ­˜ÖI’ÄîÝ»ç˜À ½ÿþû–v$dYfÍš5 ݃à«õë×çXfEQx×]wå'Ãq¾U¡BË?~…EUUvêÔ‰óçÏç… r*æï$G‘lF÷´¸Á„S Ç=›ÚÞšëtàÀŽ3† –ס¡¡ÇÚÒ½–vãÆ–‡ÞT…-[¶4åC‘“¾ùæ*ŠbIGÊ3šeæf½5kÖ°víÚ¦Ä^?wî\‘‰qË·ß~›ÿýwNEÙEò-’5uÛÆ&($ï§–¬ð}´~ýz>ýôÓ—Ùûûí½ÜÄ¥¦¦æ«­R…ÿ÷ÿg¨M$¹téRKùÊ–-ë=BòäöÐc0°aÆÞûÜ’¨…`€hþÔ\Z_§o9,7àVÀ×´ó9V‡ZˆI:tˆeË–µü#ái¬4hWÖ^ôbÅ :KBÀʲÌ1cƘZ^#³‹z+111 ²«æôÞ%&&rùòå9ÍÈ쥶Ç!žP§mlt@!ùµHO×­Ï;þ²,³~ýú–E«Ò[‡¶|™œ/‡ƒO=õW¯^“ÉH>C2”PmlL¦2ÉÑ$ÑK—.]âœ9sجY3Ëë¯ϬDß¾}s ¯œ/9s†¥K—¾©óé=°Æß~û­Ð×õG½zõ2}?™¢(l֬ϟ?oJõÖØ±cu?~¼÷©ÿMw}ðh~VkZWgo),7àV@Mç, x“H~Gj‰‰ž|òIÝ6mÚdgýûï¿ùꫯ²D‰rÆEaTT{ì1>úè£|óÍ7s[§nˆöìÙÃÈÈHÓ—áH’ÄqãÆ™VN£”––ƺuëÌ2¦Zµjñý÷ßÏi©Ü’“h/W²±ñ ‘ìDr)ÉëF4vîÜÉAƒ±dÉ’–×iÏw"&&†¿üò £Ç{즎º'öš5kxøðaÓ¢ ¦¦¦2((ÈÔ{*Ë2Û·ooY ½ôôÓOëòýÁ7¤íÓ$@€ægP“Ö×Ûbåw …!Û`€ ŸãÓéÖ°aÃtmtTUe³fÍxåÊúêâÅ‹œë©ýû÷3::ÚÒ„¢(ìÞ½;·oßîkÞq’cèÙgccã7µü IjÓÍÔÚõE‹±qãÆ–Õwïz_¡B…Ü–*æ(–1‰¢È3fø}N½”••Ũ¨(ÓîŸ(Š4háá¾ÍÔÙ³guû~GDDðÀžS§Ñ={  4¿ë Z_O‹5–Pœð € Í|Ž=LÒI’Ë—/×u¿¢(¬Q£FnqôsÕ¯¿þÊ|‚ h”@UUV­Z•‡Êûb:èäÉ“Œ7}Dè½÷Þ3¥|zéÿûK–,iú^%K–äСCyìØ1_Óö|Žö¬ƒT$9žäu æ×¬Y“Ý®[Qÿf%ú÷ïÏË—/3/ù³Œ©U«V–8Ö_|ñ…iA)AàÛo¿mzÍÐÁƒ®Ë‰jÕªñôéìŽÉ$Ë‘€fÐü¯Wh}ý,¶Xn@qÚFê,ý|Ž%¼L’;vìÐ5ʆ¢(Œå‰'XPúè£y.cºçž{h•zôèa謷(Št89°D3gÎÌvðA0¬ó6`ÀÝîë¬Y³¼OÝ$CóÇ6Pi}},VXn@qÀ,©b}ޤ[ƒ Ò­á‘$‰ááá¦$Dû駟ئMȳҋ¢HEQ¸téRÃí"µ¨]ºt1eí¿(ЬQ£F@ÍFœ:uЉ‰‰¦¯}nÚ´iNÅd’/R[Zay´±±!HÞArÉìuW®\á„ ,™™ðÌJ¼ð ~HóèÑëVi™¦3gÎ:0#˲©y.òÒèÑ£s|^[·nÕýZiiiyÎ@ù‹ªªÜ´i“çÔWHÖ# ±Ðü²Y´¾+,7 8 ''€v>Ç:Ò= ´`Á]áÐÐPnÙ²…fjçÎìÑ£Gž™°A (Š\°`)veee±[·n¦­Yýæ›oL)W^Z´hK–,iêÞ† rÙ²e¾¦$‘|‚ZL{Ëë£MŽDR‹ˆ–½aéÒ¥KüÏþÃÒ¥K›Ö†xð8çy%•ûðÃi•¦OŸnØ•¢(ŒŒŒäÎ;-+ŸG.—‹ƒÎqù²,ËŒ7$œûǬÛÞ½ *xgô>Lm9´ƒæŸõ¤õu°Ø`¹Å ¤îs¬És¤¶‘:$$D7'6((È;N²éJIIáðáÃyÛm·Ý´³gÏ6Å&—ËÅ~ýúÞ‘$‰õë×7¥L¹)%%%;òŠY3 üꫯ|M9DmêØî<ØØ"¨EtÊN&tþüyŽ9’ááᦴ'þ ( ï½÷^Z©FÒÆz–uY‘ïÂWþ ÂɲÌÿûߺ_Ûår±qãÆºuÔî¹çï¼ß“IÀph~ZCZ_ÿŠ–PP@2€¥¸>#uɤ6eW­Z5ÝY–¹bÅ ‚._¾ÌéÓ§óöÛoÏÞæk¯ œ66Ö6mÚ¤ëý2dˆ÷éG‘´ŒÖK¡ùkeh}Ý+òXn@Q€à'û„û_@j½ìŽ;êV9$I ˜¥4Þr:üꫯؤI“ìFÒÛnA8zôhÓì=z´á#ôÇ7­<¤yéþûï7-lkõêÕ9þ|ß${ÇI ioR³±)>T¤¶g"{½Ê©S§øòË/388Ø”ö&§oY³Ø¹iÔ¨Qºï‡P…M›6eZZš¥e#É .°E‹~—144Ô0[*W®¬ë}ö €â¢¶¬¡ùk?i}½+ÒXn@QÀ—Ôò96˜nýûßÿÖ­Rrd omÚ´‰‰‰‰EñºÑrQùÚk¯™fÇäÉ“ ëH8¿’'é¥ÿþ÷¿ 5eö!""‚|ðo¨ÖS$_"éuÌÆÆ¦xQ…ä\’Ù•?%%…½zõ2=猢(\¹r%­T£Ft-“,˼ÿþûyåÊ•¼/n°N:Å„„„|S®^½š÷É  áÇëú} õÞkrŽdU’P šß6†Ö×·"åe<ÀàqŸc­H^#É~øA·†Wþ÷¿ÿeQÒ‘#G8xð`_7ÒѿӢ͞=[÷Ž„¢(LLL4Åþ£G²uëÖ¦|ÀEáàÁƒyîÜ9oÎ’F² ÞÙØØ˜Â$Ò+4ì¶mÛØªU+ÃÛ!žNÏ?ÿ¼eKGõ ƒ+IŸxâ ïõú–éèÑ£¬R¥J¾ö*UªöíÞºu«îïPõêÕ½g|¶S[fCóߢõu­Èb¹EqΘès,šä ’<|ø0K•*¥[c:eÊU¥¥¥qܸq,W®\v™zôèá;Òm˜-Z”ýAÒëyDFFú:ÛºÊårqæÌ™7tÀŒ¢C‡LJJò6!äHú.Ó³±±¹uH yݼŋ366Öð6ɃªªŒ‰‰±dVB¯¶WE¾ð |ïÞ½ŒŠŠÊwÙdY6<ÙŸ¹K:uêä}ßçÓýn˜Í‹£uõ«Hc¹E¡vX À{S©B-å:¯\¹ÂzõêéÖøŒ3†ÅA×®]ãüùóY§N0uiÖ7ß|CEQtÑW…Ý»w7ÄÖdzeË–¦Ì>Ô¨Qƒßÿ½¯ ‹IÆ2ê›M@ðÉt+==£Gfhh¨ám”ç;(ûôécꬄ'ÑjaÁ¨FÑï¿ÿÎððð|GBE‘ááá†/ú뮻 y|îÿ $@†æÇíJëëX‘ÃrŠ"f8 ¬Ï±ét«{÷ø’$™º‡ÀLmÛ¶Íôk®X±‚‡C×°?üðƒnö¹\.N™2…‡ÃðÙ‡’%KròäɾSë[H¶dÔ3›€C%ù2µlô$ÉcÇŽ±[·n¦…™VU•ÑÑѦE'3fL¡ÚbA8}úô¼/d‚V­ZÅààà}ÿ$IÒõ[—›ŒZ.'Š¢÷`Y&É$ €SfÓúúUä°Ü€¢€‡¡­£û—ϱtkÚ´iº¼ô²,³oß¾´¥¯Ö¯_ÏÐÐP]:¢(2**ŠçÏŸ/´]û÷ïgÓ¦MMÉqÑ·o_ž>}Úûò)${ÒOÛÆÆÆæ&DR‹ä”¶mãÆÙ‘ùŒF’$ ‚ÀÞ½{óÂ… 4JN§“5*PþO¸ó… f_~túôi†„„¨³'çÍ›gŠ÷Þ{¯aïM©R¥xèÐ!Ï¥Ž“Œ" Ý¿y˜Ö×­"…å%Ä@KþžÏ±úÔÖsÆ º {ÂÀéá Úº^[·n-ДnnÏ©W¯^¶Åétr„óû¾à IDAT TUÕðÙ‡Ö­[sÇŽÞ—¿Jò’a €:fccS¤H ™½QÁårqÞ¼y†¬kÏ UUY¾|yþüóÏ4B&L(Ð7B–e:.[¶Ì» ªyóæ¨1qâDÓllÛ¶­¡ïLݺu½£*®£;Ï€éÐü»Z_¯Š –PT€–¤d%€í‚¼Ž…ÜG’'Nœ`tt´®/¼¢(LHHà™3ghK_íÙ³‡‘‘‘º8î‚ hz}Ïž=lÔ¨‘á³eʔ᧟~ê{ù/HVfÔ/›"Mg’éÖ¹sçØ«W/S–8yf%zõê¥ë¬DRRR¾ Š¢0**Ê’åºþhÒ¤I~=OGhÁ‚¦ÚסCÃß™§žzÊû’£I@0€ÝÐü<ï¤Á67ÁrŠ ^…–.Ý7ć¤6cTZQV¯^ÝôÄf·‚:Ę˜˜Bw$DQd… xéÒ%¿®›••ÅwÞy‡Š¢>ûðä“OòÔ©SÞ—ÿƒäÝ €zeccSlPI¾B2{ê|õêÕŒ‹‹3Ü)þ™•X¾|9 +§ÓɆ æ{BQ6hЀ)))…¶ÁH-^¼ø¦QÿTUeåÊ•¹{÷nÓm«[·®)ï‹W¸|'ÝûÔàUZ_ŸŠ–PÐ@&€|Žu¦[“&M2ô…W…•*Ubrr2mé«¿þú‹•+W.t’EQØ¿ÿ<¯·cÇ&$$>ûP©R%ߨKé$_§{úÖÆÆÆÆ*ü†n¥§§sذa¦„©öÌJ<ûì³…Z<~üø<;Š¢PUUQ–esРALOO/ðuÍÔ¾}ûxÇwÀuIacbb8jÔ(C÷šä¦ãÇ›¶A¿D‰

Ç¢Iž!ÉíÛ·3((Èð—^Q–+WÎ7–¿-tòäIÆÇǺ#!×®]›ã52339jÔ(ʲlèUE8Ð7 âj’v,l³xœäIºµcÇÞyç¦8ˆªª2**Š?þø#ó«½{÷æÙ>+ŠÂŠ+rúôéœ2e ?ùäË’áF×®]ãÞ½{¹dÉŽ;–«V­²4Å|`JgÓÃwÞépI@[ºþ“Ûï ¡õõ( ±Ü€@À,há¿Êyý½@ògRe©U«–i/½,Ë,UªÿøãÚÒWgÏžeƒ ÕˆI’ÄJ•*ÝK{ëÖ­Œ7|ö¡V­Züí·ß¼/F²7µwÖòúdccsKQšä\ºåt:9iÒ$SrKxÚÚž={ú=+‘••ņ Þô ª*kÖ¬ðK–Š¢þõ¯™’É›aÆy›Ð$”pÀ,Z_‡Ë dtv¿h}޽D· `ê wG",,Ì×Y´¥ƒ.^¼ÈæÍ›ª#!Ë2_|ñE’dFF‡NQu‰u³Û¨Q£˜™™é]œ%ÔfÌ,¯K666·4mI¡[ÉÉɼÿþûMù^ªªÊråÊù•ãàÝwß½i;­( ›4iÂsçÎåy.[ùÓ… L…ð Š"׬Yã1ã<ÝÁF<äþMgZ_Ë TDCë‰Îð9VdI.[¶ÌôÞƒ$I æªU«hK_]¹r…mÛ¶-t‚¡>ø€qqq†Ï>4oÞœ{öìñ.B ÉGõÈÆÆÆÆM(ÉIôÊ-1þ|FDD˜ò½Àgžy†iiÙyò®Óž={nÚæ+ŠÂvíÚž±ùVÕÛo¿mè@ÛͨT©’wÇp=I‰$ ­D9ÀŒËË D ­‰ûÀÁ^Ç‚Iî!µ5ôeË–µä…÷ Š"Eá·ß~K[ú*33“]ºt)p£æùh=ûðî»ïÒétz›þÉ’ €zdccc“w’ÜI·RRRØ®];S¾™žY Ÿ€ÌÊʺéRVY–ÙµkWïõó¶tÔ¡C‡,™…ðæñÇ÷6iIàŸ=±?Ãûš#–ˆx Z˜¯z>ÇfÐ-3bûƒ'+æ¼yóxìØ1=z”YYY´Uxeee±[·n†Ï$„5jpË–-Þæ$y/ þØØØØäBòMjÉ.ér¹8yòd:ÃÛNO{Þ£GìÑç±cÇæ:à#Š"û÷ïoé†ãâ®ÂÎüëÅ'Ÿ|â1)‹d3’À?Ñ9_¢õõ&à°Ü€@@=hˆ—}Žu¤[S§Nµüe¿QQQ3f SSSi«pr¹\ìÛ·o@u$úôéãq“$ç,Á¨?6666ù ä.ºµsçNÖ©SÇ”vÔípÚ´i¹:°‚ päÈ‘ D­^½šû÷ï·ÚŒBëË/¿4-¬k^„……ñСCÓ“¼$ å Ëi`ù–Çr h ÷Xë§®¢Hž"É]»v™2Z¢Gã»VÞV5tèPÓ£FøÁ¥K—z›•J2‘Pwllll ˆƒäTºuõêU<Ø´lמï¥ï1A8mÚ4¢¾þúk*ŠÂèèhž8qÂjs ¬´´4–-[6`:Ø´iSïÕŸ’Z&kß%î·<–H˜ @Œ×ß $ µÆ-!!Áò—Ü_ˆœ$‰¿þú«ÇÜ4’•H@¢û7÷ÐúºXn@ À`?€…>ÇêнñëÇ ¨)·‚0vìXÚ*¼fÏžmÊ»P»vmîØ±ÃûÒ{¨…¶¼ÎØØØØÈ’étëÃ?4%A,ËlÞ¼¹o¾€Ð믿žãwGEV¬X‘éééyŸ$ät:ùØclÂCll¬w’µ$E’°š¿è õõÄr,7 ð´XÀe½þ>ˆî0t§OŸfTT”å/uaǧ­ÂköìÙ†>«ø~¦S 1ly}±±±±1Z$·Ó­}ûö™²éZQvíÚ5`¢19N>÷Üs7Ý“'IçÎkµ©~©OŸ>–åƒÈ/O=õ”·éÃIZ±4ïÐú:b9–`5Т1]ÐÝçØhºÕ©S'Ë_f½E‘/¼ð‚i ä„ øàƒråÊ•¦\Ï ¥§§óî»ï6d$%$$„óçÏ÷¾ÜI’0êŠÉ‘|¤‹$/_¾Ì'Ÿ|Òðï¤$Iìß¿?­VFF»té’gtÀ   NŸ>Ýjsoª .𡇠¨H‡þðÙgŸyŠA2ž$ô‚æ7Þò+,7ÀÒ€Í~ò9V‡d&IΙ3Çò—XoDQä3Ï<㛤Ìyï!¨V­§OŸÎ‹/~]£”™™ÉöíÛÒ¨R¥ ÿøãïË­"YŽPWllll,ä_tGH$µïŠÑ£Ù¢(rĈ´JW®\á½÷ÞëW9§L™b™­yiÏž=¬R¥J@n¢Î‹’%Kòøñ㞢l )BKHü 4ÿQ¢õõÃ2,7ÀÒÂkIå.¨ìõ÷"ÉM$yâÄ –*UÊò—Ø$Ibbb¢)k??úè£ìŽ„¢( áÀ¹oß>ï­§œN' ùxµoßžgÏžõ¾Üx’·tãdcccãEE’ÿ£[k×®5|™± –8çW¯^eëÖ­ý¬R…}ô‘évú£Å‹Óáp™%L9ñÈ#xé’P@:nñ$t–`YÁÊÐ:C|ŽeGczì±Ç,yD–e¶oßžW¯^¥ÑZ¸p!EQÌîL¨ªJAغuk~ûí·¦ÌŠF.—‹Ï<óŒîS±‚ ð7Þð.ÿE’2êˆM€D2Û[>vìïºë.C¿“‚ ø.15TùŠ\$£££yåÊÓlôG×®]ã!C,÷sô⫯¾òí"ÿ‰Ö47DßRXn€e~ð;®ŸŠºä%’\ºt©å/­Ȳ̻ロ—.]¢Ñúæ›o¨(ÊuÄ$I¢(ŠŒ‰‰áøñã}GãFÔ=Ù\xx¸oò¸$’5õÃÆÆÆ&€yŽîȉ™™™ìß¿¿¡ßIQùÝwßÑh]»v>ø`¾FíAà×_­«GŽ)ð¿ÍÌÌäܹsY­Zµ"=ûàKtt4ÓÒÒ<Å\Fd[qã’ø[Ë °¤Ð@h›bêúû$ÏŸ?Ϙ˜Ë_Z³P…7ö® †iÅŠt89:䊢PUUöìÙÓwo€¥>|¸îˆZµjù.çZB2ŒP?llllŠIþI·>ùäòªªrݺu4R'NÌ—ã­ª*ï¿ÿ~]mضmA`ãÆ¹|ùr¿ÿÝÅ‹9qâD–-[–’$ùø9ѧOï"?IÈЃÖ× Ó±ÜÓ ”…–uð?>DzcyõíÛ×ò—ÕlEaíÚµyúôi­õë×3444×¥AžÍWMš4á¢E‹,Ù=vìXÝÃG}Ô{syÉ¡ €ºacccSĈ$™úoÛ¶m¬\¹²!ßHQjØ×•+WX¦L™|}³6lÈ .èjGff&K•*•ýÝ«W¯ÇŽËM›61++ëºßž?žkÖ¬á믿ΰ°°€ÏýPXAàÚµk=Å?E² Ixš_é&à–ÀrL/0°À>\Ÿ($‚äi’\·n]±ìAûÛ(U«VÇŽ£ÑÚºu+K–,yÓQQ)I#""8jÔ(¦¤¤n—·¦M›¦ë» ß}÷]ïKœ&Ù†P/llllŠ(Éqt+55•÷ÝwŸ!ßHI’Xºti8p€zë믿öû{£( ëÕ«ç MW :4{0Oe_7<<œŒˆˆÈ¶×süVàŽ;îðÞG:$8€{,7ÀÔÂp¸ÛçØ|Øû£õÁÆÆÆ¦˜A-)Iò³Ï>3$É™ªªlذa¡#º\.2$O‡]Q6oÞÜ´d­Ÿ~úi±éDȲÌèèh.X°€.—‹¤¶t½0çlÒ¤‰whöÉ$ $4?s*­¯¦`¹¦hÀ  ‹Ï±÷H-‰ØwÞiù‹hH’ݰ0ßQtCtêÔ)Ö©S§@½ªªE‘;väŠ+ lÃêÕ«³Ï¥Çý»çž{¼GŒ2Iö`Ô›bŽƒäçtkÍš5,]º´îßHEQئM›ÿÈÊÊb÷îÝó—e™mÛ¶5dæ=7­\¹ÒrDçS¢D Ž?>Ç|X>ø`¡'Ožì9•“d’ð04³­¯†c¹†Pìð¥Ï±ÆîÏI“&Yþ²*’$188˜¿üò Ö¥K—xÿý÷8¶´çßU­Z•Ó¦MËWÔŠM›61$$D·drݺucFF†çôçH¶fÔ›[äxº•””Ä*UªèþT…‰‰‰ùN˜šžžÎŽ;æù½“e™?ü°éQ ;Ro%ªªR–e4ˆ©©©¹–qÿþý…úæ—(QÂ{ÄN’ IXÍïTi}=0Ë 0¼€ÀëÎ(ïõ÷ Éí¤–T%44Ôò—>E‘Š¢pÙ²e4ZYYYìÛ·o¡gEaHH çÞŽíÛ·3,,L·ÄÈ‘#½OŸL2žPllllnAúR ¥ÍS§N±iÓ¦º#eYfïÞ½é¯.\¸À-Zä9 .I»uëvChU3´iÓ&Ë}‚<ìÒ¥ <˜w!Iöïß¿PËÝÚ·oï}º7I@yh~çë´þý7Ë 0´pÚƒ¼à%ŸcÃýôÓY1ü&?ÍD(Š’U /¯ÙOœ8ÁB… Úÿ§Ÿ~êm.Úâ~­ÿ©€r²Ü¿~9`€Ý¸rJ©&ÉK¤VáÒjçÏoR…³gÏf رcŸzê)+VŒ… fxx¸Ïñ‹6›Š¢°|ùòœ8q"O:Å0::Ú”õÅ‹Ïòõ ÉB¹õU©à€"Ð W‡EJ…¨tõœóã(a @H!µÅ̃ 2ýþ(„àäÉ“y-’’’X­Zµ\ ^|ñÅk¶~øá|‘lÆn·³råʆpŽ?ÞЃÄÒ¥KóäÉ“Þæ~#) …Òï0‡Öû¾ßd¹~ûbÀÍÐröÞ“í½oIíi@^ªCJ]–‚ï¾û.Mjj*Û´icøÂ¦ª*K•*eÊE2::š[·nÕ›:…¤B ü^Êoדuçü?VÛ#å÷ó­z:ð‚ÕöH™¦ÊÔb×I’o½õ–é)`…œ3g³³}ûv–-[ö†÷!_yå•«>HŽ=š/^-_¾ÜÐ÷½t飣£ ùƒ>¨oòÿ¨]GîÖ½™Öû¾_d¹~ûbÀ+²m¿Ó{†üqË?¿+[õ倞žÎûî»Ï”ð#3T¹re}õRÉþ´Àߥü~=) à_ÏyÿÃj{¤ü~¾Ÿñœë¶Ú)SU”ä z˜5k–é©LEá¢E‹¼»àºuëuÃû–‚o¿ý6­æ¥—^ÊWƒˆÝ»wþÎf¤´]½zµ·¹ƒôD"X` ­÷{¿Èrüò¥€2Äë¶ÛIn#É7†Lþc+%„È^¹1 dff²W¯^¦-„öU111LJJÊ2‹ž§R¡)ƒuçÿ>«í‘òÛy.-„‰†Xm”_¤’œOŸþ¹éfUU¹jÕ*þøã ¿áý*¡Â×ãÀŒŒŒ´¼‘ÛcܦMS¾·Ûíf½zõ õ+ôkXÆP»žÄCëö õ~oº,7Àô/‚V1ðlï=ë=³-[¶4ä¸Bˆ¬ê‡ÁòDÜ*)ŠÂ|ñ—ÛíæSO=eÙ@">>žGõš“N²sv_” -ˆpÔãÛȵ€Ñžs|¨òl”äzX¼xñ +FçõÞA»Ý~Ç–BΛ7VsòäIV¯^Ý/ÅùÌ–Ãá`TT”>À0fÔÆ˜5k–·¹Tjásð´~iÈ­“´ÜÓ¿0 Ài%uÛK’|˜9áv»¹lÙ²;;a·ÛÙ¾}ûËËû›)S¦ø} qÇw0%%Å»Ë3$ DY{©«®3Oëüâ9«í‘2í¼Öàôœ×aVÛ#p¦‡¿þúËïÙív;kÖ¬É .ÐJ233ùÿ÷AýðÓ>Þ¨Q£<×ð…Ç{ÌPÿ-,,Œ{÷îõ6·¤­ÞÐvŸÑz_7M–`ÚnõœÀ¶ÙÞûÔf Š)bÈ‘m6[®S›9r„ãÆcùòå Ô섪ªlÙ²¥¾³0fΜé·D‡xéÒ%ï®N¼‰Aà÷R–\kÐf!àä뀅žsz@”ÕöHY¢ÿÑÖ-[í—û‰‚‘‘‘¦ÆóûBzz:;uêÔý»ÝÎ *ðóÏ?Øq9zô(ÃÃà ÙÝ©S'}“}¨]cÚzÞ¿•Öûº)²ÜS¾ ¬ð]¶÷²âŽyäÃŽœç¸—ËÅ¥K—òž{î)0³ªª²I“&ú¸À€1oÞ¼¬ê•f}Ÿnݺ1##û‹#Ôf·,÷{)ëà Œ¶Ú)Ãç³¹î|·Ú)Kõ I7IîÞ½›•+W6ý©( —-[F+IIIa«V­‚6•«ªª,R¤'MšÄôôô€ŸÑ£G>6?ýô“·¹c$£¨]k¾ƒÖ_´Þ× ËrLùÀÃ2ÔÖmwÜC’6l0ã¦( 7oÞ|µ§åïìD¹råB~vÂápðÖ[oejjª¡cæ ‹/6-kS·nÝô±—I$c>/e­ #Ûçñ“ ÊXm“”¡ó¹Ús.Ï(jµ=R–ëju¸oß>V¬XÑ´{£Ífó餙œ>}š7Ê„ªª´Ûí8p OŸ>mÙ1ºxñ"K—.mè»Ô«WOߘHÐÂ&3"‰9,7Àð"¡¥]|3Û{YÓ’·Ýv›a§6³½wv¢C‡!=;áp8ئM›€?E˜>}º)3:tÐÏ@$Ò“®MJŠ$<¢ó—©VÛ#åóy¼OwGZmTШ;I'Iîܹ“eÊ”1íÞh·ÛÙ§OZAJJ 5jtý»ÝN!»víÊ}ûöYrl²3sæLÃ$§MËJþ•NÏCHoBë·æûÒ–`ø ã¡Å%Óm/Kò̱cdžìì„Ãáà½÷Þë·L ÙùøãM@ÜqÇú5I”©l‚¶PnÇgÒTµÚ&)ŸÎáÏ9<›í>"%õôÌHlÚ´‰Å‹7íÞh³Ù²gññ;ééélÕªUP ¼áÇMš4áÚµkznH–`Èx :€4Oe{ïC’¼té«T©bØÉ—/_ž³‡™ˆËåâ÷ßÏöíÛ‡Üì„ÃáàóÏ?ï÷c¸`ÁSjF4oÞ\¿0ü(e“Ô5àAï|lµ=Ry>OêΟ\Û"•“§‡?ÿüÓp‚½Eá믿Î@àr¹Ø¹sç  a²Ûí¬Zµ*.\cà K—.5ü=Ÿ{î9}“mHÀSÐú¯Õi½û,Ë 0d<ð9€Ílºíèyr0nÜ8ÃßîÝ»çàVþåðáÃ3f £££CfvBUU}…gÓYºt©)Ç©Q£Fú:'(QK]Gl¸ü$Û ®Õ6IåúÜÆå äç·Ú&© Õ@zøå—_aÚ½QÁ?üþ¦_¿~AÓ—PU•E‹åÛo¿­ZZ¶lihð¥ª*wìØámn+I›çÞ±Àç´Þ¿}–åøl8P€ÀÙÞûÔ:âF+O)R„Ç¿–_ù—ËÅï¾ûŽwß}w¾Ÿ ó[UÎ_~ù…‡ÃpS||¼¾õYjRË}]*¸à-²Ú©\Ÿ·ºó6Öj{¤‚^ÃéaÙ²e¦ÞEñëÓøýû÷›2KoT‡#ké¹sçüö}ÍæŸþ1Ü¿h×®¾ÉgH@GhýØz´Þ¿}’åøl¸–Óû·lÛ³¦ z÷îmøG=sæÌ«œÉ*:ÄÑ£G³lÙ²TÅ´ìC’ÝnçOÉr|2H𜔖ºívjt¸nÝ:C£FUUÙ¬Y3ËKÑç„Ëåâ’%KòåìDçÎM=›7of‘"E ¨*W®Ì¤¤$o³—H¶bø¹Tþ€:ŸúÙj{¤nx¾ÞÓ¯‰VÛ#•¯ô=|ú駦=áW…ááá\·nÍæ–[n±äžï]4Ý¢E nذÁôïH:d¸¿U»vm}øÖh’p—çýZïÛy–åød´V¬ã§lÛ󞙦M›:Ñv»]¿´.•ÿ`ηÚXmÔ5ÏS,€LÏyJPÖj›¤ò•ÉÙô0cÆ Óî‘6›QQQܾ};ÍäŽ;îøýÞf³1&&†K–,1õ»Xɰaà /L×¥|=G²Iø WKβ܀< 4óœŒæºíji8ùí·ß:Áv»#G޼¶!™™™üöÛoÙ®]» ŸBpôèц¾ïmxÅ-[¶dF’>.•?à?:ÿZoµ=¹°·4€@«Ø|'€NÐ2Nõ0ÀH=`€gôÐZ…;Ü òA‡À·ºó4Åj{¤ò¥l$çÓÃĉM»GÚív–-[V?;nˆõë×3***`÷xUUY²dI¾ÿþûKí(Ο?o8Ío… ôéãÇ“€–ž÷ó]µåäÙ`àGK³mš$Ýn7oºé&ŸO®ÍfcµjÕ˜––v]G f¼³eÊ” ÚÙ EQøÂ /øôýŽ9ÂÊ•+~ ª*øáo³.jùÀ-÷o©ü-Ët~Ö%ì)àVxÀ|qy=€?tÀ‹LÐZ¸W€‹GKi*X}ޤò­T’ßÒCß¾}Mû ©ªÊªU«Nì²råJFDD¤àp8Æ#FðÂ… †ìf¦M›føæ”)S¼Í¥,CÐú¶?Òz¿Î“,7 OÆ^~Ò×X·=œäaR«`äÄ !¸jÕªë:P~!33“‹/fÛ¶mƒrvBQöíÛ7OëNNž<Éš5kšò]fÍš¥oz0ƒÀ¿¥ò¿ ­×r{ül®L?íÏý h3 ýÌð´´¥–ÿÖsÐn³< Àcô—ÎŽéVû‹T¾W8ÉÕ¤vÏm×®i¿UUY·n]Ÿ³}ýõ×TUÕïY™TU¥‚<ò>ì“­ù §ÓÉêÕ«:®eË–åÅ‹½MN" \޲ù­÷ë\Ëròd,ð+®N¡8Ô×­[×ç“êp8øðÃ_ß{ò)ÉÉÉ9rdÐÍNØl6öêÕ+WSžçÎcýúõM@ >\ßô4oK…Ž|©ó·Gü´ÀMžð €SVÿž è$´Y‹!ТÂýtÌzêö鄬0.eŽJ’ÜM’.\`Æ Mûm86oÞ\þ’+fÍš•µ¨ÙŸ÷olݺ57oÞœ'ûò;‹-2|l'NœèmîÉò$m½ï¯´Þ§s-Ë Èµ¡ZÜ­@ÝöÂ$“ä¼yó ÐbÅŠñÔ©S7püwvâ®»î¢"(f'ìv;;uêtÝ‚3/^d“&ML±÷ÁÔ7½„Zl«åþ-:‚ötÝ»p7 @˜IíÞ`´÷«»~T:€Pʤcà€n³¬ö©R µâ¤[ Z§ùW\^_!åã€@Eguí|jµH…¬î'é&µªÖf£³Ùlìß¿?sÂårññÇ÷Ûú‡ÃÁˆˆŽ7Ž©©©9Úì8N9rÄÔ6Ûµkg(ÉK±bÅxöìYos3H@]hýÝ´ÞŸo(Ë ¸¡Úb¸¿|’í½áäåE.F~‰‰‰¹ñ—'))‰Ã‡g©R¥,™PU• >ž½{÷6eQ¨P!®_¿ÞûÕ2H¶føµTè ZzÕ/žP"‡¿ià'õ A¥ø@7dK! àÅlû•Õ~!U 4^|ñESý]Áwß}—¤¶^ðŽ;îðyÆCUÕ?ëp8h·ÛÙµk×|Qx÷Z¬[·ŽÍš5£"k¡ùÂ… MÝGÏž= õ‘Š)“'Oz››CjCë÷Zž&üF²Ü€ë§=EÚŠ«Á%ÉôôtV®\Ù§g·ÛY§Në.è•h…ÝFŘ˜˜¬‹ËµŽ©YS©ªªšòTEQ.^¼Xÿuü’)GJêZ0Vç“ÞÅsÕ¼ `—™ )Zý‹O´‡–21#Ûû ­ö ©!ÉïH­~U÷îÝMõs!§OŸÎÆûô°ÍápPUU0€íÚµ»âiz­Zµøæ›oòĉ̯ìß¿ŸÝºu£âŠA’¢(lÔ¨‘©ûÚ¶m›áó9dÈos™$k“€9Ðú¿ ­÷çkÊr®kœV5W¦â+Eòÿüó7,!oéééìÑ£Çë¼iÇŠ-Ê¡C‡†ä>'Î;ǧžzꪴkf¨}ûöúó¹ˆdPNýI…žÜ`Ea)ãJ•÷))©2ɤöD½hÑ¢¦úò´iÓj\ºt‰&L`áÂ… wÒUUeûöíýf«¸‡¾²öl’p—çý [Óe¹W¤ÅmζýyR«Ník]ˆì²ÛíìÞ½;ÓÓÓóâ#>3|øðk:Œ¢(ìÒ¥ W¯^[¬æ?þ`:uLHÔ¨QƒgΜñ6¿‹dƒÀ—¥B[ xZQ «;ÂRÆ59”’2Y­©Õà¢E‹L óµÙlŒ¥Ëåb(àv»9wî\FGG›’íÑáp°Zµjú¾‚é¼ôÒK†×Eà‹/¾èm2Z(?lÆÕë„-—å\aŒ¶=W®D·“L"ÉÏ>ûÌÔ›†Ãáàí·ß°¸Á9sæÐf³å˜ Ìû#©W¯?úè#¦¥¥Ä&«HIIaTT”á h¡B…ô9ŸSHÆ3|Y*´ À¶wr¥ü¯cÈUb¥ò½²ª‹½üò˦ù¯¢(œ5kó;+W®d½zõ|Z4Ó1B°oß¾LIIñ«Ý‹-2¥ènñâÅyáÂo³ãIZÆÒ \™±ÔrYnÀƯ8 @Õmïá=’ ¦ß4ãââôÓG~eåÊ•ŒŒŒ¼æÈZA›ÍÆâÅ‹søðá³+ÐŒ9Ò”™ˆO?ýTßl7K…¶<àb€:µRÖh€h«}M*¤µ€$].Û¶mkšï–)S†/^d~dÛ¶mYÇÂŒñªª²\¹rüñÇbÿÒ¥KM›Yš:uª·Ù3$#¨ÐúǯÓzßÍ’ådpÀlïm ÉŸþÙo7 ‡ÃÁòåËsçÎyõŸØ¾};+V¬xÃø>‡ÃA›ÍÆnݺ…Tuí;v˜2€èׯŸ¾Ù7~,ºPÀÇþºIN!H3¢H…„ŠÜAjIXÌ ÕVU•cÇŽe~âØ±c|ì±ÇL+T«ª*ÃÃÃ9jÔ(¿Ï>èùꫯL«UµjUfffz›~Ž$ ÖO.Bëý$a¹Y†Ï¸ ˜n{KïìСƒ_ov»QQQë¬?~œ5ÊÕÆû7 4àܹs¶ŽÃ¸Ýn6kÖÌð ">>^ŸÝêg’A[ÑQ*ÿ @];üy ’ J¹põƒ-))³T‡äy’üå—_L …Àˆˆ?~œÁÎÅ‹9zôh†‡‡›’ÙHUU*ŠÂ>}úðèÑ£ÿ>}ô‘©(¿øâ oÓHÚƒÖO~žÖû.HÂrH€Z†Œ7³½·„Ôž\û»Æ ÅÎ………qñâÅy÷HMMå}÷Ý—ë‘«¢(´Ùl,Y²$GŽ™/SÄΜ9Óð…2,,L¿âÉr ?– Mx@ª¿¯?RA­Ï²Ú¥BRÒÃСCMñW‡ÃÁ'Ÿ|’ÁŠËåâÌ™3YºtiSf¼}¨;3[·nµì{M›6Í”…Õ^Ý|óÍúæ hÉ<’Øi½ïÂr<¥´J¢UtÛc©Uíãã?°›…·0ÜŒ3òæ=>âv»ù /äi¤( o¿ýö€Øg&Çgdd¤ás”­Îǽ – M¨kTÐk#®¼GII™¥y¤–òæ›o6Å_EáŽ;l,]º”µk×6-ìGQÆÇÇlÝÃõxýõ×MDÐ(þ‹$TÖ_îAëý–à9(˜—mû¤Öñ ø CQŽ92ï^ä#ï½÷^®3¨ªÊÝ»wÌ6³èÖ­›á§mÚ´Ñ׃˜Î ð_©Ð´El³}Ý‘ zÐÒjÿ” 9£' åîÝ»Y¸paþªª*ÛµkÇ`áŸþa«V­˜³hÚn·³lÙ²üè£Ró+7tíÚÕ´4¯:vì¨ßEK’0À_´Þoa½@KÏÁJÐm/K2Ô²øXuðÙlìÓ§~q‹_Yºt)#""®»^Àn·sܸq±ÇL–-[fø|”,Y’‡ö6¹ƒ¤ /2]¢ UµìÚ#ÔrègµŸJ…œn'é"µ°_³üuÕªU´’C‡±wïÞB˜¶hºP¡B|õÕW™ššjéwÓ“‘‘aÊà/»„ú¤?KH@‚çý–´Øo­þÑÀ?gÛ>–ÔÖ ”*UÊÒ†w4(gÝ´iË–-›ãÍf³±fÍšÌÈȈ-fqñâEV¨PÁð}áÂ…Þ&ÓI]åF©ü/•l±òš#•o4Åj• 9½B]ºt1ì£6› 4°äIýùóç9lØ0:SM?ýôÓü÷ßþ}nIJeËü¶v÷‰'žðîÆM-Ô~°„û¬µ;b¸´×m/Dò$©…øÁ‚‡ƒ ̺uë^5BpÍš5±ÁLlø Äc=¦or­¿ØK…˜4€–‡ÛòkŽT¾Ñ»„Õ¾+2²“\Gji_+T¨`ØGEÉ^Oɯ8NN›6Å‹7uÑt‡¸k×®€}¼Ò¢E S¾oN לf’€öÐúϱ´Ðg-ýÁøÀölá§ImÁq­Zµ¬¾AdÉ[2}ÿþý>ºXÞHIIaÛ¶m³~@ÁžmáZüóÏ?†g jÖ¬©Ïõ¼‚¤¼iK™* ¡Õ°üZ#•ïô>ä@BÊ<Õ$™B’?ýô“á§ÛB–/_žiiiô7‹-bõêÕM©åMrsÓM7é%¿þú«ß¯3º5ºi$£hýçh¡¿Z·c 4€Kúè¶+$÷š3ÁÍá ©ªÊ’%KrãÆ>ºZÞÈÌÌä3ÏÝ»ÛS$ p@ëG[âmÙÀN³m_Cj£Ú ¸!\SÞÌgŸ}æ³ãYÓéd:u²:öv»aaa~™*kµ’`&€>™™™HHHÀæÍ›}nHUUtèÐ .4Å0§Ó‰¸¸88p O}6EQ@7ß|3¦NЦM›šbO Ø¸q#Zµj… .Àívtß­[·Æ?üà}Ù ÀZ!Ä*I>Pc€À"„Åð8ÉO<› 8 jüøñ:th@m2ŠÝnG§NðÉ'ŸÀápXmNŽ´jÕ kÖ¬ÓéÌñ}UU‘žžnx tþüyÔ¨Q§NòyQ¯^=lذªªÀ O2J"ñ „( à5­¶Å*г£F\ÔˆÓ 5â"Q¸ˆÝP›Ç¥]XìHÁþ]‘‘Ø›kò4ÉéV!É÷°@ôúõëѬY3¸\.C þþûïhÖ¬™)ÆmÙ² ×ì[dÇn·£B… ˜ýôSôîÝû†#æÄÄDÔ¨QÃоžzê)|øá‡¹¾ dÇf³á?þÀÍ7ß hƒÍ8ç %‘B„øÀmVÛ(T‡‚ªµ £z\dÖ,C™òá~߯ÛMÞ ûv¤`ïvm`qpo*\™Ÿù¶LíHþhµ!’|O_À Aƒ0yòdŸ²Ûíhذ!Ö¯_o–m˜>}:úõëwÍ>†6› QQQ5júöíë}H˜oÈÈÈ@¿~ý0sæLCQf0tèP¼òÊ+p@y!D´þÒ(’oÒ+[ U¨î¯Ûü;€f?ýôZ·nP{ÌÄáp Føé§ŸP®\9«Íœ>}5jÔÀÙ³g¯ûwv»QQQ˜6mºwïîÓ¾Ö®]‹æÍ›ú 8Pì àkŸ“H<mŠíS=¬¶Å_DWŠÈšaˆñ„%ÙìÁfétº‘¼;UXxf,Ž&_C{Ââ,€¦$wYmˆ$ß³@§ÔÔTÔ­[û÷ï÷¹!!æÏŸ®]»šfÜСCñÆoМ„PUN§µjÕ‹/¾ˆž={m´Æõ8xð :v숭[·E¨}ùò呜œ ›ÍOxOñ€V$ëÒ–€"„M¡…4 é ì‹°xà|ñųǨªŠR¥JaåÊ•¨S§ŽÕæà¡‡¼yór=3 „@ëÖ­1cÆ T­Z5×ûq:¨W¯}žâ«V­¶nÝŠB… Ú³‹O I$ÙBŒ0Ìj;Ì$ª˜šŽäý·P¤±°¤@“–ê¾—×VìÛ‘‚“ÇÒ­6Ëlö@Hœ¶ÚI¾¦´°¦¢+V¬À]wÝåsCŠ¢ bÅŠHLL4uFàÈ‘#3f ¶oߎŠ+¢L™2hß¾=Ú´icÚ>Iff&Þyç 6 A1€ð²hÑ"tìØþ „¨`€f$×ÊŽ@">P—dÝæ)œ7d³Ù0iÒ$ 0À,ÛBŠU«VáÉ'ŸÄ¾}û‚jðà¥C‡øöÛo½/Ø „øÀV’}eGÀBˆ(h1[Ï‘œéÙæÙVbòäÉ4hP@l Š¢Àn·ãË/¿ôŽJzz:êÔ©ƒäädŸ³Øl6Ô©S³gÏö®QÈ‘½{÷"..ÎÐðá‡ÆìÙ³½/Ÿ€¶HH"1„¢€å‚"WQÂ"„…Û^Hû7,BAx„-k»þuÑTDå˜BA–d'¥cÿ΋8ƉŒ47ÒÓ\HOs_ñÿô4—öú’ûÊמÿÁzŒ$e’‰€•Zž:u ±±±8qâ„ÏEEE!)) ÅŠ3ÍÀüΑ#G0pà@ÌŸ?Š¢<ûRn±ÙlHJJB… G6Îð IDATà}}…A{0_žäù@ØÈAD_¯(G2ų¹'´8eÄÅÅaÇŽ±%P! „À´iÓð䓽wüþûï¸ýöÛAÒÐÀn·Ãår¡_¿~xõÕWyÕß´lÙ¿ÿþ»Ï‹©Ë–-‹íÛ·£D‰ð €VÐR»J$>#„( mz·lÞ>¨a ÂÃmËEG?,Üvåÿ¯óÕ¡øçËJnˆËE¤_r##Ýuõ@ã’ééWþ?ýR¶AŠç³in¤éÚÉHs#-Ígº¹¸>Jrö ÿJ"¹616ˆ˜7ozöìésCªªâ¹çžÃĉM3.¿’ššŠI“&áÕW_…ÛíÎQ1ºTø”ó¬ý; à’ï†@"6ø›äãºÍ+´Z½z5Z´h;¬@Q 6 cÆŒ è~þùgÜ{ï½HMM½j‚Ífƒ"×Ótªª¢D‰xÿý÷qï½÷fmŸ;w.~øaC•ùóçãþûï€4õ¡ÅK$>#„P¢+…¯ª×¤X‹pO>,—ý°pÌ,ùrêx:öl¹œ¡¨t¹0T‹-Œê±‘¨R³°y;’RÎg"qÛìÛ~ûw¦ <†걑¨§s äHÀ™žó,HFš/dbñLJ/Ü›O2É/FH ÿð´oßßÿ½Ï ©ªŠ={ö J•*fÙ–¯p»Ý˜3g^|ñEœ={Ö燡VPµjUìÛ·Ï›šÿ1 !>ЈdB lÈ BÑÀMH®ólް€0Û—°ÙlxðÁ1sæÌ\­10‹]»vaÈ!X¾|9ÒÓÓáp8‘‘jÕª¡dɒذaC®Þ©½{ï½ï¾û.ÂÃÃQ£F œ;ç{ÖvíÚé/€CŒ÷¹1‰Äƒb(€WêÞR½Ÿ«†òU#nƒ+“XðáA|;÷ð535hV O ‹AÑAm•ïY³ü$æ¼±—.æœÜ!ºr8žU Õêvð¶óŸó˜õÚ>Iºxf[iužHI~ÆàO’’’‹K—.ùÔÃá@çÎ1oÞ}û.œÍ±ïžíIáví_QÀwÐ~ SHô×¾$–1Àã©©©¨]»6:äS#v»Mš4Áêի͵.È8r䆊?þv»=_….] ‡ÃC‡¡téÒð€g…ÏmõEî?«üºpøD·íx;~ðAÁJ“‘‘mÛ¶áæ›o6T,ÆL¢££±`Á,Y²eÊ”ÉuÞh#ˆ’%Kbäȑޗ_C $æ09 àÜ)'Þ—ˆÑOlÅþþ»®~;÷pžàÌpcæø½¹Y˜+ÉÆ¶¿ÎåyŸN=€”sæ?œ?–œ†WûmÇ{c¯5€€ps…~‰cBÜ `5.ÿê !òWInxÀùB… a„ >7’™™‰ßÿ]Ÿ24¤HIIÁˆ#P½zuÌ›7$Cbh}JÝr€^" õ·Ðúß~%ƒˆÇ|EòL¶mX¿~=6mÚ‚‹ŒŒ :t7Æßû=d-×´o߉‰‰xöÙg³RÔú‹1cÆ xñâ`°ßv$)0!…ö€âº$n»€mƇö]¯“çǧañG‡}úìÎÎã—%yï d\™ÄÌ {}úìù³N|>ݼõÍN§ ?<„—Ü„íçjX#ÃM3Àƒâ h3QžM³´“áL!ɿО8£gÏžhÖ¬™Ï !ðüóÏeM_q¹\xÿý÷Q¥JL˜0éééù"ëR^™9Ó[5ÅÜïéoO_ÛŸøu!„ˆÐÀLÝæ*î Þ,„žÌÌLœ;w·Þz+~øá«ÍÉ¢pá˜4iþúë/ÄÅÅùe ¯Oyû&€}¦ïDR B”ë<…t?/>ŽÁÝ7⇯ŽÁí6g `ëºsp:}ÏT¶qÍ™ÿ‘$‹ÃRqâˆï®7®6çxoÿû†>¸ ?<˜×óÿ’g!¤a„ÆkÐrÆÛ¡¥ÉF²,rÒL(„À”)S¼™zòŒÛíFRR¦Nj®u±dÉÔ®]Ï<ó NŸ>239±sçNüöÛoÞ—ÞÃLh ­ãü¹oÏDt°—ä/ºmPRRR d6=.— éééh×®>ùä“ €ÜtÓMظq#Þxã „‡‡Ãáp˜Öö›o¾éÍPuÀ+¦5,)ȼ d^?tñB&>š¼ÃÚŒ×æÙ¿ëÆ ©¯Gò¿†¯†I»ó6–s§8sÂ÷'“Îfâýq‰xµßvMö)9ˆÀ !„¡{±"À|h©?m†·'ÉW´+ÉdÀ3›Ë-·àÁô¹!§Ó‰áÇãÈ‘#fÙpþþûo´hÑ;vÄþýûóõ¢é¼ ›¸ @¬§ß½~iò÷ ¢´ ›~À矎”c7ÜP€$\.z÷ît_EÁ€°{÷n´nÝÚç'zî¹ço:2@Ë"@b!D iãàÞT¼òÌ6¼;bNÿë{§òÀ.cƒ€GÓ‘šR0nzfd k¿çì×ïþÅ =6â·ï}¯ì¡€‡|ý°¢ ´5e]=›N¸ƒäçF “äø &L˜cQØÜâr¹0p`þ[ƒŸœœŒž={¢qãÆX»v­áB»ù/¿ügÏžõ¾|Ôóï|hýp¿á·A„¢>€:¸rñ+FMhƒ‰—^z Ï>ûlÐ9~¥J•ðÁžPU“&Mò¾\à#£¶I 6ž…©Ó˜’oéOâ…±âËc>}þâãñÄ©)¡“ìoÌ8V©>œ³é£1㕽f.ÌçÉd˜'„u¬…6 hµ—š‘\c–a’|Ãs\åÊ•ÃK/½äs#˜?>~þùgó,ó#çÏŸÇK/½„˜˜,X°$Cj]Gn¹téæÎë}y¿çßùêxúã~ÁŸ3Ýì&ùO¶mØ¿?þüóO?î:âv»ñÞ{ï¡k×®HO÷=Î×<ýôÓ†²1À³Ï>‹š5kz_€³+‘a€x3¬ß¤nnY§ÏV­e¬ˆY¡H;JE‡j£ Q9ÆxѸ*>œ³>Cªã¾‡+BUM»…–GL!Zø@5Ϧߠ Í2J’¯Ø -å+žþyT«Ví~m¼ÅqOŸ>m–m¦ãt:ñÎ;ï råʘ4iœNgH.šÎ º°ø*Њ;ÿíÁ‚ßf#ü=ˆÐÏBØt /Œ!ÉFff&–,Y‚ÿþ÷¿†*A›É·ß~‹E‹ú–.]#FŒð¾ü ÚÍO"ñ!D%˜˜Ý¦dÙ0Q ¯Ík€F-вAÇ žâp7Dñ€åв±À§Z“ Þ^Ÿ$Œp6<<¯¿þºÏ¸\.üûï¿èÑ£‡á‡‡þà믿F­Zµ0pà@œ;w.¤Mç…uëÖáÀÞ—Þµ~ iòË Bq€š¸rñ_¥à‹/¾ðÇnC§Ó‰õë×£I“&8|Ø·t‘f‘’’‚'žxŠbÌUÆŽ‹¢E‹@*€!fØ&)ð¼ Àp¯[QîîQ?kˆF·ëÆÔ36ˆˆ‰+bèó*µ š ¨ Eñ=®Lùp<ÿZüor,¢+.Xžt×C1Z=o‰1${‘,Øa%€¶f4téÒ-[¶ô¹!§Ó‰Ÿ~úÉP%l³Y·nš6mŠ.]º 99¹@†-݈/¿üÒûßû¡…ùÎPÓÓ/7ÍDt°ƒäݶn°gÏlܸÑO» œN'öíÛ‡„„lßî·¢¦7døðá8uꔡu5kÖÄc=æ}ùßÊjJ$„U[aÆ/‡qŠ¢A³b7þÈ*®¢}¯ò†m(HŠ´á¾G*úôY¡hOW6Vª|`Œ3ÆPzv·Û´´4ÜsÏ=úìŠ~%%%ãÆC¥J•ðöÛo#33³À/šÎ º¦®Ðúù_¨æéŸ›Š0{ÑŒâumIÖÓmž àá;w"66ÖÔý„PóæÍÃý÷ßãdòäÉ2dˆáQÿüùó½öP€O™$/BˆYð!”©t¹0<4¸63m!ìuIN¼ˆi#qhÿµ ¢Š´á‘ÿUG³Ö>?¹–x8Ö‰^Ù{ݪßBîéU]«›Ý”¬À×…nà§oŽã«ÉH9Ÿ§ké÷$Û !n…VÀ;Â\  #IÃÅ)$!OGh¾ƒ.]º`áÂ…†T½zõ2%å{N¤¥¥aÚ´i;v,RSSåÀÁG6l¨_6ÐÀ/Bˆ-–‘|ÁÌ}™:ˆÚp÷€™$½«qŽ(6fÌŒ)Ã7 ( fÏžÞ½{ûmÉÉɨ]»6ÒÒÒ µS¿~}üóÏ?Þ§ ý¼m†}’‚‹¢€Ð*ýæ ›M ]rèüh%8Âý]_óJœnü°àvmº€};RpæD EÚPµv$jÄF¢u—²(YV¦t5“5ËO`ËŸç°oG Ž&_‚Ý® RL!TD³6¥P»A௧œÏÄW3’ñÓ7ÇÁÜ…rÀó&ð:È—z“4va–$Ö¸yëÖ­¨_¿¾)™–TUE\\F{î¹Çp´œ={Ÿ|ò ÆŒƒ³gÏÊlK&°{÷noJýéžB ð€ª4±ãoö ¢)´ÔµIîöl¾Àbˆ·t‘p¨ „ÀŒ3ô‹•M¥]»vX¹r¥á§_ý5î»ï>@[H ¸Š_HòBˆw<Û¿‰/‚G‡TGå˜àHzñB& EÚaBñwI.HKuÁ®*y -3§ÓôT7ÒÓ\H¿äÆ®Íçñù»É¾%œàE3oþ’A[Kà0-3¦wàP®\9 8}úôA±byK(áv»ñã?âÃ?Ä×_ rð`"cÇŽÅË/¿ ÿ(ïy· Z-™µfíÇìAÄ›Z‘l¨Û<@¯mÛ¶¡nݺ¦í« £( Ö¬Yƒ¦M›ÞøóÀW_}…nݺ~b‘€¿þúËûò)ïµMR°BD8‚˹ñoˆ¢„E(p„+ ³]þ¸ aáŠöÚ³=,üÊÿ‡…Û´¿Èù³Þ6ý±®B8\."ýÒåŽ~Ú%—îµwÛ•¯ÓÓ\HK½Ög.¿v»M»¿ºœ…¶ Ú«Ó7x}Ài’)f!É—¬pëÎ;ozV#UU¡( zö쉆 ¢fÍšˆ‰‰AÕªU¡ª—×)>}»wïÆž={°iÓ&Ì;'Nœ€Íf“‹¥ý@½zõ°yófïËÖ~Büàg’ÍÚiƒO(ÓAÓH¾êÙmTdĈA•o8¿£( Ê–-‹íÛ·çù Àµ8wîbbbpêÔ)Èï¾ûwß}7 …·Õ‚–1B"ñ!D/h%‚ Õ¡\=ðÐ4ôý묿½þ€Åª§èÁHjŠ Ïgjôtà³wôÓ/¹® \rÃé ùT‘™¸ö`cI™r;´i`%ôîÝsçú窪*l6ÒÓÓAŠ¢ ::%J”@RR.\¸õwŠ¢ =]&ø›;v N:ð€'„C¡ÍäW2kVÓÌAÄm~P“d¢gs'  N:صk—)û’h¨ªŠ_|cÆŒ1¥½¾}ûböìنØš6mŠ?þÈ*HÝÀ,£¶I$BˆUþcµ&2ʎ걑—WÅJš¿¨1ØÈtɉ±w[ ·¥`ïö 8v°À-8à[h³o%×É 'ˆ%¹Ó„v$ÁÍOþ›˜˜ˆØØXùä¿€0jÔ(ï:äS¢=õ•öhAÒ”ºf"Þp+ÉÝæyØ´i6lxOJŒP¥J}™sŸY»v-š7onÊ«+V M›6 Ú“0‰Äg„5ì¾áŠ—v Fœn`[…"ów‰ã‡Ò°w{Š6hØ~É»S Â,An¸ä¢ì……põÀ¢xÛrú¯³”'yÔß_@b9ͬ€>}ú`Ö,ù\¯ ‡mÛ¶y_¶°\±À’ýÍØ‡)ƒ!„mñìT’Þ‰… …2:t(Æox?’œ™0aì-è–gœN'êÕ«‡ÄÄD¸\.C¶´hÑ¿þú«÷eoaø‰$ÿ!„˜`ˆÕv+Be+†_1cQµva8‚sÁFÊùLìÛ~y†aïö¤œ“Ï®Á*’­ÌlPQÚ`â™Ë|Q’üÎ÷Ú8pµjÕ’‹˜ [·nE||< •ZxT1ÀÍøí›5ˆ¸À/ª“ÜïÙ|?øíÛ·¿áßÿ÷¿ÿÅêÕ«M™…øüóÏѽ{wHPZZB‰ÄBˆÏt·ÚŽP%¢° ÕêhÅï¼³¹-€—r.3kÀ¸-û¶§äµ2³$w¬#ÙÄj#$ùoÜwß}X´èª¥6’äŸþAƒ -¼¼·'<øn’õ¶mxá™9 %É_<›³ œT©RÉÉɆö!ÉŠ¢Àív£sçÎx÷ÝwsȧŸ~ŠÞ½{›’7ºjÕªHLLô®Ë`ŠáF%O(Ó ä¡6„Ä8EK¨Wf„ŠDxaÉ»S‘è™aØ»-Ç˰¤A•e:V‰ ü à–ß~û ·ß~»Õ¶HÀ°aÃ0nÜ8@Kï\Æ“Mu´u‡ 5NÒ •Ñ>À®Û>•$7mÚDh?) ¤ª*###ùÞ{ïÑívSÏ©S§X¼xqÓö5uêToÓgHFõ+))’€–ÒÕòß’h³ Ëm(àzÖêߣTH¨=ÜrË-Vû´TÔ°aCêh-;Û9õ'3Rw´ð#ÉÌlÛ°téRš—øŠÓéDJJ ž~úi4kÖ Û·oÏzoðàÁ¸xñ¢)û)^¼8úôéã}ù>Y!Ub¬6@¢árÑj :]¬6@,€Vƒ¶ÖI@Ø´iŽÍÊäÜÖÓ_ÿž¾º "<¡­á ]òPZ…b,[¶ÌHó“p»Ýذa4h€#F`ÅŠ˜3gŽ)‹©­Hg!w€·LiT"Ѹñ‰¤`p›¢´ÕFHò=.xÂ;wîŒjÕªYlŽÄßÄòå˽/Ûyþ]  µ§ï3Fg"š( @?Zh.\Àš5k 6/1‹ÌÌLdffbüøñhÛ¶-„IéXú÷ϪY2ÀS–x„Õ +”H$€ À}V! >pÖf³á¹çž³ÚIÐE%( ­ß^Z?ÞgŒ"ÚØÂ+{µ´z²˜Ið‘™™ ’¦,¦€^½zénO2¥Q‰DC†2I$WÒÙj$!A €ð裢xñâ›#ñ7?üðƒ·˜°àNO¿} †4D´Ã•¡LaZ2”© „À Aƒ¼/W@sH‰Ä,d(“Dr%ÿBä.ÿ®Dr}ÞàŒŒŒÄ“O>iµ-?sæÌüùçŸÞ—ú¦v9"wø<ˆB”ÐW"Z( ÈEÕ»ï¾qqqÞ—oXi‹$´B8´´Ú‰$Èp0œÛ]"pÀçп8‹Í‘ø]¿üNhýÿ¥zúó>ad&¢-€ ô ÚÀÎ;‘””d iI~@—Ùa€,4EzÔƒ6³)‘H®¤‘ÕHB†IP®\9ôèÑÃj[$~F!TÚÚˆ5Ðúñ>‡4DüHÒ™m› e*Ô¯_-[¶ô¾”k!$fÓØj$’ E"$f± ÀOô¡É’eÆ ø÷ß½/Ûzúï†R½ú4ˆBØþŸ½;ª<û?þ¹³±#vd•E@QPÁÁºoTT¶ªµþêS«Öj[ëÃÓÖúP7žÖ­Ö¥Öj—j+ ¨({AeT@„€"KBîßgN8™L’™dfÎÌ™ïûõ:¯Ì™Ìœs‘Y¸¯sÝ p6•»2uú€’ˆLpíµ×º7·*‰ŠÄ‘’‘ÈNô; ”©ýúõcÈ!~Ç" TÃT¯g‡Úõ1«k%â %¦v=pàï¿ÿ~+é Q£F\sÍ5îîÓ€¦á’xS!ÙqƘ\¿ƒÀ˜|pÝu×ùŠ$šç"ÿ` N;¾%N»>fuM"F[k·„ÝÇ{ï½Gqqq+éà²Ë.£E‹à,©þ¤ÏáHÀc}ýŽC$E5@Ÿ‰ ü`ìØ±4oÞÜçp$‘Þzë-wŠÿlàìP;þcêØ¥©®IDøÔ®¹À™ ®L™àúë¯wo¾ lô1 ¦þ8ß)"™ÆEH<=”5nܘqãÆù‹$PQQË–-swë=ÕkÌI„1¦-Θ7‰4%A×»wo†îî>ág,XêÊ$R3‹xÚ¼ êÒ” <íôsƒÓžjßǤ.•ˆÑ8«.ðÜ7   € 6Ôá’.<_0;×| E‚K $‘š©!ñöÀÀ8Po¯ ó¬Ñg½·8íú˜»4Õ%‰8x7lj×1aI5hЀñãÇ»»J} G‚ë¿IqŒ1Æï $Pf_€ªA·lÙ2ŠŠŠÜÝ1¡öü»8íû˜Ô%‰Ì÷ìwÂYJ]™î’K.!??ßÝý‹Ÿ±H uõ;‘×híw(‡pf[dܸq4nÜØçp$QÊËË™={¶»ëVæã´ïcSaŒét ò*Õ£JJJ˜;wn¬ç—4âP½Xëc(PƘ £ßqˆ¤~ ó`›7oÎØ±cýŽEȳ^Ä‘¸óI IDAT)@Cœv}‡P;?j±V"†ÅÀGa÷±lÙ2öîÝãá$]}ôÑÞª5 Z¥#ÎÔs"R3%o…8ëF¨KSÀ-XP1¬9„Ó®/&Ô¦V¬IÄ0`©µ¶4ì>-Zã¡$x¾Pö/ùŠ[¿IJ"$þ0dÈúöÕr$Aõù石}ûvwwx¨]¿”P›>ZuI"¼]™òc.\ñ ’þrrr˜8q¢»û<°ß¿h$à4B$:J"$^v€ªAçi·»‰ÃB•DcZ଒é͆º7T‰®ÓO?6mÚ¸»ö3 ¸âŠ+|Eeùòå8pÀÝj߯%†.M±&Þ®LyÀI ñAvÖYgѪU+wWI„$Z›Ú""(‰Äz œõ¡rrrüŽEààÁƒ,]ºÔÝ­Ó¸ˆ¨’cL.0˜ÊIĉ8sË*‰0ÏUˆ•ÀC‘Ì ´D¢Óªö‡ˆÔÙ‹ùùùœyæ™~Ç" RÍàêÁ¡v­¢­Dœ4¦r1  ¨¨ˆõë×GyI'yyy\tÑE’ J"D¢£¯’H«O@]š‚Ì“D´Çiç7Æi÷×*Ú$b°ÍZûyØ},^¼km”‡‘t2jÔ(Z´¨¤¯$BÊ“4ó;‘4¡$BíE€‹/¾˜Üܨ.LKšY´h‘· ?,ÔÎßF”]š¢íè>BÓ»ª+Spy®>,>ó1É MÿÄò„Æç5kÖ¬a‚âIš;w~wèСX®È•$,Ç‹ÀÝ-[¶äì³ÏfÆŒ~Ç#qöÍ7ß°fÍŽ;î8pÚú¯px\ăµ=?–$bªg¿'ДDUƒ ¸ð Ý]U!$ᬵ»€SbyÎ\p3Q|щ¤ºC‡uxóÍ7·ù‡ˆÇ:àcัcÇ*‰¨… ºIÄp÷.àöhž[kw&cL÷“r gd÷²eËb VÒÃèÑ£iÞ¼¹»«$BDD$ó¼pá…’——çw,’žb€wüsûPû¿FÑŒ‰ì§ò"cÃ>úè#Š‹‹c VÒƒ§+Ó‡ÀFC¼pÄGpÎ9çø‹$€'‰ÈÁ™‰u9N»¿ÖqÑ$Ã¥ÖÚƒžû†…X¤Q£F\pÁ"""™i°`ìØ±>‡"‰°qãF¶nÝêîµ÷—r¸{Sµ¢­Dx³…–@oPTçž{.M›6uw§û‹$‡1¦±1¦½1æcLcLgcÌƘX¤‘3Æ4 }OkŒémŒéhŒiâw\’p/\pÁ4jÔÈïX$ªY/¢~•cL3 °Ès÷PÀ€35”ÏùçŸïÞ\øŠ$€1¦“1æ×ƘOŒ1»Œ1eÀ>`+°Xl¾ÊŒ1{Œ1[Œ11Æ ò1tIcL[cÌÍÆ˜¥Æ˜Æ˜Rœ.[qÖX | ì5Æ”cŠŒ1«Bß-=ýŒ]âîu€fÍš1räH¿c‘ð$CprƒE@ŸPP­Ú®2‡“0¬ðÜ7 œòǶmšH"hŒ1Œ=ÚÝég,_Ƙ³Œ1¯›€)À±8•Åšæ›78k7 üXjŒùÈsƒ1¦A¢c‘ä2ÆŒ6Æü'Axä5-³‚v?œï–O1KŒ1Œ1&Ñ1K­ÃùÃÛ>ñ$G}qÚý'¨VmID ÈZû•ç¾SÀYdN‚ç„N ]»vî®’ˆ]Q| ˜\Dý©:xXaŒZßøDÄÆ˜îƘ7p¾÷¿GôSÀWçdàà=cL¯zKü7”DÕòåË)--uwOµû‹pò€jÕö%Ñgés¯þ+W®¬C˜’êÆŒãÞüP¦˜æŒ1WÓp®$Æ[/`¾1æÀ/¬µûës°PßêŸÅòœ=zôìÔ©ÓšúœW$|ðÁ?1ÆÄ²€\™µö·õ=o¨Rð àW@"n¬4Æüø­õ,+ie&pñÇK÷îÝ)(POç )++cݺu 0'«qò€jÕ–Dô§òÔ® 5FV¯Ï-$ljBð?8}¬'XkKk{‚¤œwR oôèÑ<úè£~Ç#q¶jÕªð$bNσjÕÖ©_è ÞýŠ“I°´hÑ‚SN©X0X]™Ò”1&Ûó$‰O ¼óŒ1êq ]¡I’ЀÉ$>ðú>0ËsDÏ)ñ±XêÒTžv½ÛÖ_E-•ˆj“cLg •“ˆþEEE|õÕWŸ'ékÔ¨QdggƒÓ˜›ås8R¡)Y_&ûpú>ÀBcLWÎ-"Q2Æ4Ä#u¦§?˜«©aÓÒL€3Î8C«W'‰h´Áiÿ·åÕT‰è”ãL÷è½OUˆ€òteZhê­ôô?À¥>ž¿+ðr¨›D¬T‰IŽÇp>ûå௚¹)íÌhÚ´)Ç׺™¤™°¶}œö95 ®®)‰è|6X²_„Ic¼KÚÏð3©cÌy8$ývðPž§$B$ÁŒ1?&øÎÅŽ_ù„Äd °Ô¥)ˆ¶mÛÆŽ;ÜÝ~¡öÿçÔÐ¥©¶J„7[È!´Rµ’ˆà0`:tpw5"Ícº#´d ø‘1æJ¿ƒ‘ÃŒ1'÷û‡ÇcÌY~!1™J"‚ÊÓ¾÷®®s%›-ô™aA33§+Ón`‰¡HÝ<€3†)•L«mµË0ªDˆ$ÖÔ˜x2Àÿcê»&…$ÏL€~ýúÑ©S}æÑTTM[%"ÔŸ¹ff*//çã?®w ’ZãÀq VRCãÆ2dˆ»«®LégªßÔàcLû(«J„H„®ô§ò÷ÄcLªUR%²ï€…€w¥„'‰hôÄÉ*†3„«.‰è‡3'°w'ÍÌPƒ&'§¢š<ÏÏX$6¡ÁÔCýŽ£Mˆ~𤒑ĸ8Úï jüØï $jsN=õT¿ã8[»v-‡UtFé“쥚.MÕ%ýÖ§×ÌL噪m+•GI}·û@&cZû„HKæÂ“uõccL¿ƒ¨,hß¾==zôð;‰£ââb6lØàîö åSÍàêš*Þl¡Ð4¨:ˆ† æÞ\ègcÌ` .5nŒâqªDˆÄ™1ætœuR];à*¿ƒ¨,Ê RûA"–ÁÕ5U"ª¬Tvp €¬¬,ïx%éåV¿ˆÁÿ ­’+"ÉMŸ*~äw•ýÀrPD±LóZ%‰0Æä©<¨ºÀÞ½{)((ˆ[ â¿¾}ûrÄG¸»J"Ò‹Ÿ+SǪ-PÛ§ªDˆÄ_¿ˆA:Åšé šÊCò¤.<=ŽºÍpòŽ¡ü ’H•·dQ¥±zõj*“tçQqeAÒF*Í÷Úæ‚×—‹Hü¥Ê”, ¡Ê…H O%ÂÇq8¨Ò¥©º$b‹µöÏ}š™) <¥ÈŠ>Ž""J"$A•.Ñ›6mâÛo¿uwû‡ò-D™D|êÙw3%äI"ø‡ªDˆˆ¤‹/M .MAäéÒä&Ÿâä•DJ"ºÞ¦àÌ+ÁÑ©S'ºuëæîj<„ˆHð¨!‰²4¸:ˆÖ¬YãÞtTâä•DJ"º…ìÝРê€ñ|ðËÅ>†"ªDˆ$‚’I”E'Ÿ|2ÙÙé6DOjâiﻉC!ž|ÀM%¢;@YY_|ñEÜÿy’ˆ5À·5ue –† rüñÇ»»!©@•‘øS%BåðP4amþnÎ ºyžDtŠ­a÷QXXˆGŸ>}¼}µ>„ˆH0)‰Dú`àÀ~Ç!q´sçNöîÝëîv¾J ëÒ)‰Ød+¯(× T‰šþý+V0/6øŠˆK•‘ô²à¨£Ž¢qãÆ~Ç"qä)t³Ö–›©%‰èFåñÙ@gP4ýúU¬²-2'©AI„Hü©!‰´ œEçúöíëw,GÑÌЩQèÙï ä„LÀS‰Ð ‚""Á¥$BiNo»B š$¢ÖîLÞl¡[„ƒIx*J"$U¨!J"$‘Êp¦‰÷¶+$¼Ý™B?«LóZ‘Dc Î4NU¦w-..fûöí S’­mÛ¶´k×ÎÝU!"""uµ T‰Oñ Ð§Ñ5”/•+í€FTîÎT13Så±Ö’ÎÂ>èJ"$UèKF$þT‰DS@ÕLóÚ'_*'n‰¢Jw&ue OÉq;𵡈x)‰‰?%’h+òóóéСƒß±HœDH"Ü;*º4e…=`¯µv§ç¾î$iNƒªED2†’I´Š¶„ªÁ±gÏvíÚåîv¶á ¢ïæÞ^‰Ïºš  ª–¥J„ˆHúÙ‰³™WLØZØD5•ˆðé]󀎠JDdgg{çrV!"lªDH2h\DE˜æµÒ MáÝ™¼ÙBW÷÷J"‚£gÏž4lØÐÝU!©D•‘øS!ɰ T‰šÚœ«©;SŃ”D‡ç*A°ÎÇPDÂ)‰‰?%’ +z÷îMNNŽß±HœxÚÿÝB? ©¦ÑøÒ³ßª ¬4wÜqǹ77ZeRDDD¤>hР;wö;‰ϘˆV@sœ1/p€1¦9Έݞçv ;€@·nÝÜ›…þE!‘*"ñ§J„$Ã&÷†§!inÓ¦MÞÝ®À /”7TT"òC?½Ó»¶øúk-#$Ý»WT¡ÔGMD$ø”DH2löC¥v†¤¹°žH­¢Ðí|8œD´ý¬’DìÜé½KÒç ’I)¡éãDD$=mU"‚¤¨¨È»ÛšÃyBk¨šDxJ"‚$77—N:¹»J"DD‚O•I–P%"HJKKùî»ïÜÝ|ªI"òýÖڞ綆*Yˆ¤±.]º•U1–¾ÐÇPDD$9”DH²€*AãÉZ‡ò„ýDèÎ^rP%"`®¨!©H]šDâKI„$K!¨4ž<À;~ºJw&%ç¹:°g„½ˆˆˆH<tìØ‘¼¼<¿c‘8ñV"Ü»¨%‰hä†=YÒœff’4 J„H|©!ÉR`Œ¡k×®>‡"ñM%"ŸÊƒªÝlC•ˆÑ’”DˆÄ—’I–ÃËk\D`xòïL®5މp³ U"D•‘Œ£$B’e°4."H†"RU"DâKI„$S!@=|Câ%¬G’[tp’cLs •ue ŽÖ­[{w¿ö+‘Z(‰‰/%’L_tèÐÁï8$N n‘gŒižEå®Ö $"HÂ’•˜DDD$Þväçç×ö8Ia¹€w u~•J¸òAÝ™‚ÄóÞ ”øŠHMT‰‰/U"$™v4nܘ† ú‹ÄA„J„{GkoQeL„*ÁáI"”Šˆd%’L‡W&S5"Š‹‹Ù·oŸ»ë­D´v»3í³Ö{ž£JDÀ(‰4¡J„ˆHúR@ÞU«CùÂ><Ý™ÂKªDŒçìUR™’‘øR%B’éð¢•ÇbJó*­‘´v‡=^³3ŒçìJ„ˆHæP!ÉTDèb*Áá­D„~îZd ¨<жaè>vïÏ-$]©;“¤ U"DâKI„$Ó!àP$ž| Eèg Ð gˆRÏc¸7JJ4‰OP¨;“ˆˆˆ$¦y O>àæ¥@ž[‰ð&yž$iN•IªDˆÄ—*’lJ"Æ“¸9B)žJ„7[¨¨D”–zs IgªDHšP!_J"$Ùv‚V‰'ps„B•ˆðîLªDL³fÍÈË«xYU‰ÉJ"$ÙT‰˜j*»3©0ad%’ÊT‰IoJ"&B%¢ÚîLyž$i¬M›6Þ]M¹%"’9T‰dÛ Ð¢E‹Ú'i“¸9‚º3eŠÆ{w‹«{œH P%B$¾”DH²4hР¶ÇIš¨­;“V˜g<TNER’‘ôV UÚ’ƪXqU"&샬UD$s¨!ÉVJ"‚¤¦JDµ‹Í© a%E½¨’ÊT‰‰/%’l¥ îLARÍÀêˆÝ™4°:`ÔID$c)‰dSw¦€‰P‰¨¹;ÓÁƒ±VƒÀóAV!©N_:""éMÝ™&ÂìL5wgÒxˆàP!iDI„H|©!ÉV `Œ!''ÇïX$<9ACmݙԕ)8<ýõ¢ŠˆˆH"î@¯q–¸ëËEìÎÔ Â$y**/IªS%BD$½î@¯.M–4 †îLy îLA¢îL""KÝ™$Ùw Wa9›7¨;S&ð”•JªS%BD$½U´5Ô)bîΤJDp¨!iDI„H|©!ɦJDÀ„啺3å=¿T%"`”DˆˆˆH’(‰˜•ˆƒ@n–{ÃóË€²²²¤'‰å™bM/ª¤:U"DâK•I¶Š¶†¦x †°œ ‡P"‹PIÂóK­40 I„ÃÝÔ«%Âr7o(U‘”DHQ%B$:Ñ~VT‰dˈ$¢[·n~‡45%%„S‡”€FÔ‰çC¬UR’‘ôvx…Û€&Ç<óçϧE‹~‡’a9›7”¨‘<£êõ¢ŠˆdU"$Ù¯pЙ>ô£Ѷm[N;í4¿CIŠÚº3el%¢M›6\sÍ5~‡‘PêÎ$iD•‘ôèîLÆÎ=÷\N:é$Ÿ£IŽj*Ý™2¶ñÛßþ–©S§zugÉXªDH²º;ÓI'DÛ¶m8ñÄ}Ž&9ª©DTß)*999\tÑE´jÕŠ>}úøN¨;“¤U"DDÒ[ »3sÎ9·û÷ïïc$É–ÔÞ)*C‡­ä’”º3‰ˆd,U"$Ùò:Dyy¹ß±ÄÝСC+n·nÝšæÍ›ûMrxr‚2 œÚº3egg“Ì“î¼óΫ¸=pà@#I,O‘dùŠHmT‰‰Ž>+’ª@0»2eeeU¹èܵkWŸ¢IO%Â}Q«íÎt¸ïKÀ«§Ÿ~zÅíÞ½{ûIb…•ƒý¢ŠˆˆˆŸò ˜]™zõêÅGQé¾LX/“¸/jµëD”FxRà4mÚ”¾}ûVìwïÞÝÇh+ìj@p_T ]]‰/ug’d˃`V"N9å”*÷eXᾨ5¯Á\}ÒI'Uê®Õ¡C‡À&Maäྨ"""â·ÀvgE“XêÎ$iD•‘øR%B’-°Ý™T‰ˆ¡;S+™ôFسgw·±_qˆˆˆHà5(..ö;ޏjÑ¢½zõªrPÛŽ^*ÕvgʈJD&•¤vìØáÝÍ÷+‘(¨!h?+ªDH²µ(**ò;ޏ:餓0¦êÇ)fgª©¾NDà+Gu­[·®rP³É°rÕ¸ˆˆˆH|2‰ˆÔƒœ‰z"µ)ƒ¤šJDõëD@p+Õ½‚šD”––²wï^wW•IeªDˆÄ—*’l•D@pÛ®³3Õ¾NDP+‘º2A°ßž³’I”À%Æ TíïƒÞ¥É“hˆL«Dìܹӽìš›¤;U"DâK•I¶À%G}4-Z´¨ö÷AO"jZ'â ¥ç±Üo"Ÿ&MšÐ¯_¿ˆ¿kÓ¦ Mš4IrDÉ¡J„ˆˆˆ$Ak¨tñ2íU׃Åô$“¸9BKà›,`'•¯N—ßä篽9pàÀJ‹Ì… êZJ"$M¨!ÍÎ$©¨¡)^ƒT‰¨©+?‰ðä»B?[;³€" ‰1¦¡çñ;@Ž6¯íÐ¥K—$E’\žsð^TI­Í %á ‡K¥¶cVVVÜéÉv†ò…&@Q¡„ç…ÿ2t»èÄJD¦–¤T‰žÜÜ\¿CˆIVVVNS%B$ŽZ·nemÚ|¬‚9›Kf©hm%‰hÔ¨QµÝà]~µ1œtÒI\xá…\xá…tíÚ•“O>™uëÖÅõ<ž| ˆÃ¯ñNoÑšÃID`+µ%©”MÆ“§o¢’ˆ€8óÌ3Ó*‘ؼyó àß5=fäÈ‘‚:+œH<•••5Šæq'Ÿ|rƒD\™L„âââà5:2Oà’ˆN8œœš¯5mÚ”üüü¤ý›{ôèÁĉ¹êª«8òÈ#+î¿å–[âž@@¥$b'‡Û‘;sp² ¨ÜÍ¥‚—DtèÐN:Õø¿“ˆ&MšpÆgСC^xá¾ûW•IyyyÙJ"Dj—••¥±’ŠZXkÙµkWm­Q³fÍhÖ¬;vìààÁƒq ®.jëïêÒ¥KB“ˆ† rñÅ3iÒ$FŒQiõìòòr~üãóä“OÆý¼Í›7÷^°ôV"⬵{p¦lòf ;!x«k«B€?IÄGÁøñãyå•Wøê«¯xùå—9ûì³ã–@@¥$"h·‹ˆˆˆ8Z|óÍ7:t¨^ºä’K(((à믿fæÌ™Üyç :4!}þkMÛ×¥iÀ€L›6M›6ñÌ3Ï0räÈJ ÄÁƒ¹æšk’@@•‚‚;S©µv[Ÿ)¢òê@V"R-‰8õÔS™4i—\r ®L/X°€ë®».®ç ËŽó ÍÀ%"""'q[#âoûcÆŒáâ‹/æŒ3ÎàŒ3Î`ûöí¼öÚk¼úê«,X° ÞÉJm¢M"âÙ~<âˆ#øþ÷¿Ï¤I“8ᄪ}ÜŽ;¸òÊ+™?~ÜÎ.¬ Pœú‰7‰HX%b„ tëÖÕ«W3þ|vìØ—ãÆ*š7B‡ÈÉÉ¡¬¬,!1´k׎k®¹†I“&ѳgÏ*¿ÿ÷¿ÿÍUW]Eqqq\Ï»}ûvïn' 0®'‘TdÑ4¯’<6oÞ\ï•——sÕUWñðÃ3iÒ¤ŠûÛµkÇ 7ÜÀ 7ÜÀŽ;xýõ×yõÕWyÿý÷ãÞvkÛ¶mÔÉA<,6l?øÁª\\ŽdåÊ•\zé¥lÙ²¥Þç­I„JD>aIDøZEà$Æê;³Ã¡C‡øÅ/~Q±¿nÝ:Þ~ûm^{í5/^Lyyy½Ž¬¬,Xëã²³³éÔ©›6mŠÛ¹³³³9çœs˜4içž{nµtž|òInºé¦„dÕ_}õ¥¥¥îªƒÝ…q?‰ˆˆˆd²nq9Ø¡C‡¸á†(**â¶Ûn«òû6mÚpíµ×ríµ×RTTÄo¼Á«¯¾Êܹsã2ŽbÈ!Q?6Ò…áh´jÕŠ«®ºŠk¯½–^½zEõœéÓ§sýõ׳ÿþ:3ž‚Â!œª[*6¸Ë“ˆà4~kZæ;ZÏ=÷S¦L©ØïÝ»77Ýtï¾û.L›6‘#GÖ¸\}õéÓ‡¦M›FõØxõkëÞ½;S¦Lá³Ï>ãµ×^ã‚ .ˆ˜@”••ñÓŸþ”o¼1ae¹òòrï•n 9‰ˆˆˆd²î¿$ÂõË_þ’‰'ràÀj“ŸŸÏ¤I“ø×¿þÅ_|ÁO<Á9çœS¯Y O?ýô¨Û§OŸ˜Ž=|øpž~úi ¸ï¾û¢J ÊË˹뮻¸úê«“’@@¥JÄ.œÊf•$"☈_—¦{[n¹¥JU£}ûöÜpà ̞=›M›6ñðÃsæ™gÖ:V¬¢íÓõK"rss¹ôÒK™9s&ëÖ­ãŽ;î cÇŽÕ>~×®]|ï{ßã‘G©ó9£UXXèÞìžð“‰ÔMÚLh/""•d] R{#n^xáN?ýô¨ºï´hÑ‚ñãÇóÆo°eËþüç?3jÔ¨˜ŠX’ˆ#<’fÍjž·¦U«Vü×ý+W®>ó<æ IDATäwÞaܸq4lذÆç¸öìÙÃ¥—^ÊÔ©S£Ž)zôè¸Ì…?lذ¨Û»wï˜ÔQGqÏ=÷PPPÀóÏ?ÏgœQiô|$kÖ¬aèС¼÷Þ{1Ÿ¯.úˆGy$ê.A^ùùùLž<™É“'S\\Ì‚ ˜={6Ë—/gçÎÜrË-1süøñôïߟc=–víÚÅüüp÷ß?¿úÕ¯’2QujªDx§xmlŒid­=àyp“D­áf’÷Þ{/7ÝtSÔÏkÙ²%'NdâĉìÚµ«"¡xï½÷ªM(b©BtêÔ‰Î;Wêw×¢E .¾øbÆLj#b:žkß¾}\{íµ¼úê«uz~}y® äà$…Õ=VDDD$Ý6mÚ”´‹¤ÿûßY·nÓ§OçÈ#¬óq6lÈYgÅYgU¯xš7o^ç6¢×þýû¹þúë™>}z½U_ž<`§1¦Иc" ÂàêD®Z]VVÆm·ÝƤI“jq_ð²ÔO<Áå—_N«V­*“••Åõ×_ó±ô£Ñ¿ÆÇôéÓÙ²e =öXß›7oæ´ÓNó-€*}Õ¥ID$ø4Y$KBffªÍG}Ä)§œÂ¼yó’zÞDÙ´i#GŽL‰*åÞ5åªtg"ôË/¼÷%cÕê矾"“ìܹsŽ‘ŸŸ_Ñ婼¼œ?üõëד““ó€[o½•[o½µN±„{ÿý÷7n;wî¬ýÁ ´}ûvŠ‹‹Ý²_w`®¯‰ˆˆHPtƒÄއ¨ÎŽ;=z4÷Üs7ß|sÒÏ/sçÎ媫®ŠËŠßñâ­D–Dx§x…ƒ«“‘D@ÝFÜW'++‹AƒqõÕWóýï?ÑÕÝÿøGÎ=÷\ßpÆcx>ÜÝü‹DDD’¡¶YEâÈ—J„ëСCüüç?窫®bß¾}¾ÄPÓ¦Mã{ßû^J%Íš5s)†ÊËAîÎd­Ý”-=ÏÝ ‰íÎÎ'1mÚ´¤3QŠ‹‹™þøc¿CàÓO?åÔSOeéÒ¥~‡Ï•%’jÒã›U$}|åwxè©[‰p1fÌfÍš•ôs?ÿüó<øàƒI?o}x“ =Ѐº3A„ÁÕ©’D€3êÿôÓOÇ+æŸÅ‹3räÈ”˜… Vž+J"DDÒS´ ·’I´£€&Ú•WII 'N䫯’ûÑèÕ«—wÍ…”gŒ¡k×®în!‡óƒˆ•ˆí8}'»yî+ÇDD²gÏ.¸àþö·¿ùrþ?þ˜óÎ;/¥‰…çJA_*¿$½¤[7…­QN•‘8²ÖîÖûG”¢ýžÔ’òƒª]ƒ bþüùÞn:I7bÄÞÿý”ëåΓD”_63DN"ºyö ²²²èÒ¥ ©è¡‡"777©ç<æ˜cxûí·iß¾}RÏ/ðNs¦$"M…é0-Øà ¿ƒÉ`þMG½…ÖÚÿø„ÔIHýAÕçw³gÏ_…Ù½zõbñâÅŒ5ÊïPªåI"¶‡[hª&…D¨D„,%äääðøãs饗úrþã?žùóçÓ»wo_Î__\â|¸SÙ=6úùìT‰‰¿'ý ð;©“f„Ú©\‰¸å–[˜>}:7ö;” ­Zµâõ×_çÎ;ïÄ™=5µ„ÍÌa ÍAäJDWsø_³Ø©5¸ºY³füóŸÿdâĉ¾ÆÑ¥KÞ{ï=Î>ûl_㨠Mó ÖÚõÀŸýŽ£«f@ ¶¨nkí"àÕÆR_ ­µ¯û„ÔI?œ)^S²ѨQ#ž}öY~ÿûß“••zóÈdeeñßÿýß¼üòËIè]O»¿À“t!ŠîL žû !u*;väwÞI™†{‹-xã7¸ãŽ;R2“¬ŽçŠA7œ+ ’¾~ |ãwÕ¸ÃZËRóªDˆD§,ÆÇßY‡ç$ƒnö;©³þP¥›tJp/ôŽ;ÖïPjuÞyç±hÑ"úôéãw(<íþB #GÝ™ Â4¯©D 6Œ%K–0`À¿C©$++‹)S¦0}útš7oîw8Qñ\10Àq>†"õ1Åï8"x×Z;Ãï D*¦E¬µHͪå³ÖÚüBêlT™°Åw#FŒ`ñâÅüñ~‡µž={²`Á.¿ür¿C!;;›Î;»»ÞñÒ…ÞÇUJ"¬µEÀw¤à4¯?üáyë­·h×®¯qÔäüóÏgÑ¢Ei1NbãÆìÙ³ÇÝ=ÙÏX$.Ré?â"`Rž§J„HtêRU¸›ÔZ_f ð3¿ƒz9à?ÿI1ñ7Þx#3gΤuëÖ~‡³&MšðÜsÏ1uêTrrr|‹£sçÎÞóâ$ß…ò„ ‘:ˆEœæÕ¯1 4à±Çãÿþïÿ’> S]}ôÑ,X°À·ßѲֲxñbww˜Ÿ±HýYk_ú N"pµµv³ßˆXÌs›‡ª–W©pÉøp‘µv‡ßH5ÃÁÂ…þOÖ Ažxâ |ðA_àñð“Ÿü„™3gú6“TX›ßÍ Â)‰($Â4¯íÚµKú¨öŽ;òöÛo3iR].hú§iÓ¦<ÿüóÜ{ï½dggûNµ<z%`­ý ¸Øïs(¿µÖΪãsU‰‰NÆ7Xkß~çXêâÖÚüBêåd üO"Üñ²ãÇ÷-†’’¾ù&~ÃGŒÁ’%K8p`ÜŽ-Oï£`+ff‚*Üj„;þaðàÁI;g¼ýô§?eÆŒ)1'q$ ,pov òk.i*ôŸòxü»ÒøN— I¬:’¶Öþ7ðÇø…³Ÿ[k_ðñüþøâ 6oö¯ðŽöìW<é¨£ŽŠ[€5I‡ñÑ:í´ÓX²d 'žx¢ß¡T±téRÊÊ*þR5" ¬µ¯{“|ê{¬µÿ/†5!"Q%B$:1wgò²Öþp_œb‰ÖA`‚µvj’Ï+‰1 `Ñ¢E¾0yòdfÏž]çöâ_|Á´iÓ6l½zõâºë®ãî»ïfÙ²e1gÿþý<öØc·gÍšÅÍ7ßLïÞ½éß¿?S¦LaÍš5uбaÆ<õÔSÜÿýIë¦åiï»Sn“T)‰X t6Æ´íƒSÊ _¿~ñ2LªŒ˜5k=ô¯½ö»wï®÷ñŽ<òHÞ}÷]®¹æš8D?ûöícÅŠîîp?c‘ø²Öþ ç5Ý’„ÓnµÖþ2 çG½§kµÖþ  |Qÿpjõð=kí³I8—$^¡IYüèÊ”››Ë´iÓxôÑGÉËË‹é¹ä•W^a̘1ôìÙ“Ûo¿>¨aß¼¼<[ZZê¾¼ßF„~—þ>¨î åKàÿyîûƒµÖ®]»6!<ØÖ¹aþþûïÛþð‡UÞÆûé§ŸÆt¬^x¡ÆX=öXûË_þÒ._¾¼Îñ¾óÎ;¶mÛ¶IýÐU·]vÙeî¥ÜZÛ"¾˜´ÅyÃY d°9Žïý8crã«’mÚ¢Ûæ'໢'ðï8Æø%p¹ßßÚ²ýÈZk÷îÝksrr’ö¾?þøãígŸ}u{kïÞ½öù矷§Ÿ~º5ÆD}žcŽ9&¦vÝ 'œP¯Wß¾}íÝwßuBñÍ7ߨ+¯¼2!ãþýû[¾Àÿ¾Œô>¨î‹d&ð¸ç¾k¬µ¶¬¬Ì6hÐ ®Á^sÍ5vÏž=17Ä·oßn|ðAÛ·oßÿ÷¿ÿ=¦ã^wÝuQÇÞ»wo{×]wÙ+VÄÿÆí Aƒ’öÁ«nëСƒ÷Í2&¾˜´%h¿ÂéâT—÷K90gý‡f Šñ?~&´iK“íÝ~Wœ¼”Ö!®àuœnRüþÞÓ–°í9k­}÷Ýw“öž¿âŠ+ì7ß|UkíÚµöÖ[oªêiËÎÎŽºmº}ûv›••·g¯^½ì/~ñ »lÙ²ZÏ}×]wÅýï|õÕWÛbkmð803Òû º/©T.•V”­ê›my_ ûî»/æÆ÷ܹsíÕW_m5jÕyî¼óΘŽß£G:ý{úôécýë_ÛU«VE}®={ö؉'&íXݶqãF÷åý] |1iK ܼ‚3mÛNœê‚û¾(Öã\•|øÐ% q)‰Ð¦-ºmv>Í€‹'€€À.œñgò†5À›83³]´òûûM[R¶k­ýÍo~“ð÷zVV–ýÝï~U›êoû[ÌU‡ê¶?þ8ª¶Ü›o¾™°{=ìm·Ýf.\Xíù|ðÁ¸ü{ÝmêÔ©6d¹u¾S#½"¾9€«qA™Ð}yÖÚƒÖZ;a„zتU+;sæÌ¨Û[·nµ÷ÝwŸíÝ»wÌç:ÿüó£>φ âòwÜqö׿þuÔŠiÓ¦Ùììì„«Ûž}öY÷ ó^ |1ióqÃéúÔÈöéüKüúhÓ–fÛ›~Oøý}¥Í·­¢ Ø1cú>?âˆ#ìo¼QcêÃ?´?þñm«V­âzî7ß|3ª6ÜÝwß”Ï|çÎíM7ÝdçÎk‹‹‹+ÅðÇ?þ1nç™5k–ûòþ5ôYÿgÙ*ï…ˆo`@è`GyîÿØZkï¿ÿþz×·o_ûÉ'ŸDõ¼ýöÛöÊ+¯´ 6¬óùzöìuñÔSOÅýEwËR|ðAç~ùå—ãÞU,Úí‡?ü¡û†Ùo­kwmÚbÙP¡M[´Ûë~^µeìv™µÖ–——Û-Z$ì=Þ¦MûŸÿü'b›içÎö‘GIh·ðGy$ª¶c¢©H[~~¾½øâ‹í´iÓìG}d×­[g»uë—cõÕW6ä6à¨Ðý"½"¾A€<œùœ/òÜÿ¼µÖΙ3§Î]pÁ¶¨¨¨Æã‹/¾°÷Þ{¯=æ˜câòÇÈËË«’±U·Ýpà }Ñ{öìio¿ýv»dÉ’ˆçŸ={¶mÖ¬YÒߌÇwœõœ_PÚ2tÃ)›&ý3 M[n/ûýyÕ–±ÛCÖZ»zõꄽ¿;wî±;Ñ{ï½g'L˜`›4i’ðÏØÏþó¨ÚŽuw‘Š[ëÖ­­Ç(œ5§y‘Þ ‘Ö‰ÀZ[ |ô÷ܽ  ÿþ‘žR«Ÿýìg¼ôÒK4mÚ´ÊïÊËË™3gW^y%Ý»wçŽ;î`Æ u:O¸ÒÒR¶oßÕcc]\$VŸ}öS§Nå”SN¡W¯^ÜyçÌ›7ââbFŽÉ£>šÐ"Y³fw=Œ3“€ˆˆÄªÞëDˆÔÑh€¹sç&äàùùù¼÷Þ{}´³îqaa!<ð à´ÓNã¯ý+ûöíKȹ½¢Y…»  €;v$<–d [nNðI(/¨¢¦¥ïV!‰hÛ¶-íÚµ‹ºapï½÷òÓŸþ´Êý_~ù%Ï<ó Ï<óLB—Lß´iíÛ·¯ñ1%%%¬Zµ*a1„+((àà Aƒ 4ˆAƒQVVFnn.Ök1Ò˜Xk™3gW\qÀà÷I;¹HeÖïDÒDòþ“9¬;ÎÄÌš5+!'¸ì²Ëøä“Oxæ™gxýõדÚ6óÚ´iS­Yºti"IO¡`° '¨ºÈ\HMIÄ*`²g¿â ýúõ‹*‰ÈÊÊâá‡fòäÇ)++cÆŒ<ùä“Ì™3‡C‡ÕzœúÚ¼y3'Ÿ|rY¾|yRî^%%%,X°€ ør~€™3gºIÄà òÒ‹""’ T‰?Œ(..æ½÷ÞKÈ üqüñ„;žD¸mþþÀSÕ=¾¶JÄQƘÆÖÚý8sËïZöïߟ·ß~»Ö`n»í6&OžLYYóçÏçŸÿü'¯¾ú*_ýu4ÿ–¸Ù²eK­ItW¦T7kÖ,¬µcr€³—ýŽI2’*"ÑQ%Bü0`Þ¼yìß¿ßïXjëÖ­šF¹»î êoBù@D5U" êàêÕ}úô!;;»¡&WmIÄŽ;(((HR4©Ëó¥Ð8ÞÇPDD¤fªDH²§wǺuëüŽ%) «ý]Ðz°x ‡€µÔ2¨jO"ÜLÄ»Oƒ 8æ˜cê¥jK">øàƒ$E’Ú/^Ì·ßVŒ§ãg,’±T‰‰Ž*’lc sªPswøÿüç?IŒ$ñmÛ¶å裮C¨þظqcÄûƒöFˆO—¦1D÷‘äR!É2h ™—DXk#NδJÄðáÃÝ›ÀVœvÿÂÚžMq0Øã.Ù÷Ψm† Ví“RMuÝ™”DTõꫯº7ÛS9I4U"D¢³Óï$c\ðùçŸ{{*dŒðöcYY~ø¡?Á$ˆ§=¿0ÔÞŒÓþ¯Q´•ˆÆÀ ¡ýƒÀ²°“¦¼êº3)‰¨jÙ²eÞ¿×~Æ"""©!É \ ðÒK/ùŠ?ÂÛ«W¯fÿþý>E¹¹¹ <ØÝ]ˆÓÞoL<*ÖÚÀ6"tiJ§$bÓ¦MX[ù"çÎ;ùì³Ï|Š(µy¾,.C]š$yû€H(G•IŽÓ€¶¹IDx%"h]™N8áïJÕ pÚûÛBíÿEÛ8 ± W¯^äççÇªŠ‹‹Ù¶m[¥û‚öFˆ§_|ѽÙg©{‘dxÒïDÒÀZk­Ö‰d °aÃV¬Xáw,¾zá)|¬!ÊñP¿$Âc:th5OI=ძ/ÖEÏê,_¾Ü[¥Q—&I kígÀû~Ç!’â‚ÕŠ‘T•\™[…g,ˆ×üùó}Š$1<ƒªãŒKLHÑÞsThð ¤W—¦ g“ñæùÒ¸§_¤H2<áw")n©ßHF8gÁ±ŒN"Ö¬YS1ÍëÇÌ–-[|Ž(¾<Å€…¡v~{âœD,ö“æã"¼ƒcÊÊÊøàƒ|Œ&õyº4µFøŠd–ZûbŠd¨r s– ?X·n«W¯ö;ß¿cñI9p¥µö¿‘Œ1`ÅŠlذÁçP$Q<]™>¶ãx¨[1ØãNÇôPŒ̺uëøè£ÜÝëüŒE2µv0Ð ½’‰î°Ök^IIeíóžzê)ŸC‘D ‘ &ÁIÄ !00´_|ŒПÿüg÷æY@7ÿ"‘Ld­}g†°b¿cI¢­µð;É(€œââbž{î9¿c‘ÉÍÍeРAîîBœv}Cœv~ÔbJ"¬µÀV"Œ‹H§Áջ矞}ûöà>‡#ÈZûp.°×ïXDÌ·[koñ;É(¸àå—_f÷îÝ>‡#‰2pà@5jäîºC¶†ÚùQ‹µ08Õ³ÿ>À±ÇK—.]êp8Iß}÷ÿøÇ?ÜÝIhÍñµv.p&°ÝïXDä 0AñÁH 'ÀO<ás(’H#GŽtoäTœö}Lê’DÌÎ0Æä†öß%ÔÅ`ôèÑu8œ¤ O—¦NÀC‘ f­]Š3—õ3>‡"o+€aÖÚ¿ùˆd¤ë6lØÀ¼y1·'%ŒSÑ„{Û“œÓ¾I]’ˆY@SÀí¿t€Pö¢$"Ø–.]ê]_ãZ?c‘Ìf­Ýe­œ lô;‘zÚÜœd­]æw0’‘ZâLã®*DÀ5kÖÌ;ŽyN{¾ièvLbN"¬µ_QùJôL€3Ï<“ÜÜ܈ϓ`ðT#¾tð1¬µoý€_QÏm-’"v}­µ÷‡VjñÃ5@Ãò׿þÕïX$ÂÚê³pÚó…Ú÷1©K%œ¤¡JѼyó´ZxNb÷ÜsÏqàÀp›äs8"Xk÷[kô~Ö”Ô¶g%öóöÖÚ¬µ›|ŽIäZ€þóŸìرÃïX$<]™VàL–4†P;>Vu]}xð+cLgkí`=Pt=z4ï¿ÿ~+©îÛo¿å¥—^b„ àÌÒô{œ™DD|e­Ý üÂ3 ¸ÈÃùŽ ßrk¸ß»Uw_GœqAédà×be98ƒáÓÉ2œ*Am,Îbp¥8¢ÝÍÝ/¶îf­ý.‹ÔÃ`œŠ®º2eÏЃYƘÎÀqÀ u9–±6ööŸ1&çjÊÏ­µî;îàG+V¬à„N¨K,’&†ÊÂ…둜¼ãc8"IeŒù/`šßqÄhšµöf?NlŒi|ëǹëátkí{~!’$O×Ò£GêÒ.”ôЧOÖ¬YãîŽ4Æ ü/Ц.Ý)ëÔ)t¢9TîÒ4 `À€´oß¾.‡•4±hÑ"ï›P¬%ÓèØØèï%’ºšßxòÉ'•@œ§+Ó`N;~N]ÇcÕuL8IÃYaS½–c4KS𔛬¬úä'’êŠŠŠ¼ÓÀÝ4ñ1‘dR½?6ú{‰¤¦Kn÷ÝwŸ¿‘HÂqÆ4hÐÀÝugY]jÏ×I}[ú§zmÕªƒ®ç¡%Õ=ðÀ”——´BÓ½JæÐ•õØèï%’šngœã’%KüŽEÌÓKècà ê1µ««¾IÄ, Ÿ1æÈÐþœéìÔ¥)|úé§¼ñÆîîOqJ£"A§Fqlô÷I=§ƒ@UˆLáT=+ÔnïG=º2Aý“ˆE8S÷y3†YP)X 0Ï—OàbCIuωþ^"©çV€Ï?ÿœ×_ÝïX$ÁŽ9æºwïîîÎÄi·‹Óޝ³z%ÖÚ2àm"LõzÒI'‘ŸŸ_ŸÃKX¸p¡· z›Ÿ±ˆ$‰®¬ÇF/‘Ôr Ίé<øàƒn·d 0Ï…}w¤1ÀÛ¡v|Åcô³;Õ«»úõÛ@YVV£FŠÃá%Õyª'Ã} E$ô?n ¬&žI5?²víÚÅÓO?íw,’ž$â]cL9õœÚÕ$b&МÃS½î‚ÆEdŠ×^{Ï?ÿÜÝU5B‚NâØéo&’Z}ôQöïßïs8’h5bäÈ‘îîLœözsê9¨âDXk¿V¡KÓ9眃³–…Yyy9>ø »{>N©T$¨T‰ˆþf"©áG@£’’þô§?ù‹$Ái§FÆ ÝÝY8íõÕ¡ö{½Äk1w†wŸvíÚ1lذÈϘäää••EvvjN€ôôÓO³k×.pÞS·øŽH"éªzìô7ñ_àÇÿûßÙ¶m›ÏáH2\pÁîÍO€Bœöz½«¿$âM`€1Æú½ gZÆŽ§Sd7apuìØ‘óÎ;Ë/¿œC‡ùYõöïßÏ#<âîŽÚøŽH"éªzìô7ñß5@[pÖyJYYYZ¼¸²³³¹ôÒKÝÝWBíô8íöz‹×+³Ø \Ú·Àt€Ë.»Lo€äææVêòÕ¥K.¾øb~÷»ßñÖ[o±cǾüòK^{í5ž~úiš7oîc´5ûÓŸþDII @#à'>‡#’(jÇN3e?˜5kkÖ¬ñ9œè”——Ó®];À¹À*±9ãŒ3hÓ¦âšîK8íô­8íöz‹KëÞZ[¼Ìá$àE€öíÛ3bĈxœ&íyc Gu—]vS§NåÝwße÷îÝlÚ´‰—^z‰;Q£FѺuëŠç7jԈ믿>e»4mß¾'žxÂÝý Î.‘ QלØéo&â¯kWüíoës(Ñkß¾=›6mbΜ9Œ5 cLʶR‘§7Ð'8½„®^µÛëÏZ— gjO ôôÜ_`­µ>ú¨ ý.c¶ÜÜ\kŒ±€ÍÊʲÇ{¬?~¼}衇ì¼yóìwß}gëbãÆÇMÅ­C‡vÿþýn¸SãõþÒ¦-U6à2¿?guØòùo¶7þ±l§ùý>Ó¦-Ž[®µv£µÖΚ5ËïÏVÔ[VV–ýýïo½Ö¯_oo¼ñFÛ°aCkŒIéöß[nn®-**rÿtÿ ô ýnx¼Þ[q{“gÄ/<÷OµÖÚíÛ·Ûììlßÿ ‰|¡ÜÛ999¶_¿~vòäÉöOú“]¼x±·Q矾ÍÉÉñýß]Ývÿý÷»¡î³Ö¶‹×{L›¶TØ€KüþŒÕaó;‰Ø“ƒX¶Óü~ŸiÓÇí‡6dðàÁ~¶¢Þòòò¼àJvïÞm§Nj[µúÿìw”EׯŸ;›Ù@\$çU@D‚¢(/"~"IQ ¨1ð@ @É(ˆÒ‹€‚DrΙeÓóýÑÓkï²;Ó3;³5³[Ï9¿s f»çÖ[ÝUÝU·âå@"Ú´icuY5#`ôÓ_Å–OÀ[,eõMëï¾ûnáõÖCHHëÖ­Ë'Ÿ|’Ÿ|ò 7nÜÈÄÄÄ,Þ—Zºt©p?¸¢H‘"¼råŠiî_Å—DxPtóуˆ‹àOh&:Î$Jò0I~÷Ýw¢Û•mt]gŸ>}èJIII,Z´¨p[•©S§š®ÚF¶ðiŸÌ׫Tæ¨(J%’{üàå;wîŒ+Vøøëü'EQ ë:’““aaa¨U«n»í6Ô«Wõë×GµjÕ’ë¶ÝsÏ=¨X±"þù矀ܮþÔ©Søàƒð /@_o8&Ö*))Ÿ)ð]àKúLJJŒžP‚$FŽ)ÚÛJIIÁ³ÏºÎÏòÕW_áäÉ“¹dQpÉáp C‡æç*ŠR FV¦¾>ý"_ŽH`Li:àeKùë$yæÌ™€ž‚c%,,Œ7æ³Ï>Ë/¿ü’Û·ogJJŠËqnëƒ>î'W,X—.]2ÍýâŸÆH$>ƆŠÂÛ˜‡ˆ~q.|à ÍDÇ™Dâ"H'Éùóç‹nS¶Ñ4-[¶¤;Õ­[7Û©òù}ŠSûöí­®ªàeýsŸMe"鳯’Ä¿)¤LÍ€‚ ¢E‹¾ü:¿HUU”.]k׮Żヒ®]»¢zõê— àñÇGdd¤h3²ÕÙ³gñî»ïšÿ}@)æHIùRm@J¾‰’Ê}=  IŒ5J´-¶•ššŠÁƒ]ïYûË/¿`óæÍYî¥( ¢££ àún¹%KV¦-öÀè—ÏsöÓ}&là0@ EQª:ÿ¿Àn 86žKKKÃîÝ»±jÕ*Ѧ¤Û’•¢££Ñ³gÏ€n ãÇÇ… Àà%ÁæHIùJ²C칤Ϥ¤rWQž€yóæaûöí‚ͱ'3ýý½÷ÞëòïÆŸí¾‡ûöíÃ’%KÒ·ÈO{L„……Yw©žëì×€Ñ?÷©|>ˆ ¹À~ÖÃ<xðÁ…¬!ðTº®ãý÷ßÏõïMNNƺuëðßÿþmÛ¶ELL ªU«†dù÷Ï<óL@®‰0uáÂ뮘=”hŽ””¯¸.p%ßÞHIå®(”ššŠÑ£G‹¶Å# <8Ã&¼™uàÀ,\¸)))7}¦ë:zôè‚ ¢mÛ¶X¹r%¶mÛ†nݺÁápôƒW_©M›6éob`ô¿;ØïìŸûVþ˜‡`€–²êæÄ¬¶mÛ Ÿ+fUUyøða·sòr¢k×®qåÊ•=z4›5kÆÐÐÐ 68¾öÚkLNNÎö÷ÜsO@¯5‰ŽŽæ™3gLs§RüQ‰$Gh-º]yè5ÇÀžÐLtœI$9 –äy’üòË/E·%ˆŽŽ¶fwÌRƒv¹⯿þÊò¸S§Nq̘1Œ‹‹^O2gγÊIÀNãük~ `u•©i)ßN’S§Nî`;hšÆ_|Ñe {ª‹/òûï¿ç°aÃØ Aƒôο¦i7-jÞ¼9ÿþûo·ç\¼x±p_¹ã…^0ÍM!YÉnI$€{D·)/=ˆ8>ð„f¢ãL"ÉcI299™*TÝ–l£i‡JWºté###³<^×u¶jÕÊåñ$Y­Z5ªªšå9‚}AvDD„uö€šÎÏêú#ÖüÄ0rŒµ”$É .Ðápw´âããyãÆ ·™ÎŸ?Ï pàÀ¬U«VzÐ꺞e j𯏏8N›6Íöw¤¦¦²T©Rø‘‘‘Û>™®ëìÖ­¯_¿ÎÏ>ûŒU«VM/í»|ýõ×fUבŒÄF¯ú+ÞüÈj9+UÇR¾…$§OŸ.ÜÑvÐ4·Þzk¶ÁxìØ1^¿~=ÛÏëò;TUe™2e¸bÅ WqïR3gÎî+w¨ªÊ-[¶˜&o'©å$¾$Qh&º=yÁ‚}v |à MEÇ™Dâ h<æðáÃE·!Y»v-íêôéÓ|íµ×X¤H‘ôã?þøc—ÇüóÏ?n¸nÞ¼9Ã1+V¬à}÷ÝGEQ~0Åk×®™¦PÇùY-Åœ_À_^·” µ™27n$Iîß¿ŸÓ¦Mc¯^½X¶lYàäÉ“]í°aò\¤ëzúº WWºrå ûôéC 8^»5kÖÌjþÓþŒ=‰Ä_h"º-yÁXÁ>Û>ð„&¢ãL"ñ…ÆÓgîÛ·/¨úXªª²nݺôFIIIœ9s&[·nÍ«W¯ºüÛf» [Ó46iÒ$Ûc÷îÝËô¬.]º˜æ¦‘¼ÀëþòAle‹_ƒÀ{-eåÍ>òÈ#Ân]×Y©R¥ ¯ÍѨ¢(¬V­šË =xð`†¾€ 4àöíÛ]ëJ¿þú+Ë”)“mƒTæÏŸoVá,ÉxÆŸDâ4ÝŽ¼`”`Ÿý>ð„Æ¢ãL"ñÿ£S=ôèöã13fÌ ?åjA¶É7ß|ãòkÖ¬î'W,Z´(ÝT’°Àú1îüÔª9+w—¥| é~qK ᮣþóÏ?» ¼x€š¦Q×uFEEñ£>r;o/;%%%ñÅ_¤ªªA7€ÀråÊ111ѬÎ{þŒ?‰Ä¸Mt;ò‚ûloøÀ‰Ž3‰Ä"H!Éÿýï¢ÛŽÇ.\˜IIIô§&Nœ˜í[EQX²dI¦¦¦º<ÇC=°SšŠ/Δ”ÓÔ§Üåü¬ý{~nëL·”=N’iiiA•z,;ì,Z¾|9°cÇŽ|¸'1m[‡b³fÍ„×Ñ×ôìÙÓZÍöþŽC‰ÄWàßišÁÄÁ>û+|à ·ŠŽ3‰Ä&³Ic®Â… ‹n7^£ª*CBBؽ{wk&GŸkûöíìÓ§CCC©ª*UUå³Ï>ëò˜Ë—/3**J¸²ãž{Û@ýîHú9þr%È|`«¥¬ŽYÛ`\”±±±Ö¹þ>ÑôéÓ•'Þ>dFUUþþûïfUÿ&éÈX”Hr €J¢Ûôì³àO¨':Î$4¦Sƒ Ýf|‚ÙßiÚ´)¿ýö[·ë¼ÕÙ³gùÆo°D‰Ü»w¯Ë¿}ÿý÷…ûÅóæÍ3MÝA¶ø(‹xñ9¹èøwñí–ò$ùÃ?ÿ|Å_|a7~]êÌ™3ìØ±#à߂ݙҩ=—±(‘äåE·/è#ØgÛÀžPG¤¿$(tö£vïÞ'fuX1¥K—æÄ‰yéÒ%úCî)iii,[¶lÀöÅ .Ì7n˜æp»ó³\y¢"Dòèm)ž ­ZµB©R¥rà ¿IU 7îÚµ+Ççúá‡PµjU,\¸@2Çç T­Y³_}õ•ùß—Ü"Ð))»Jm€JüýÁv!Km€””õp+ <ÉÉ¢›¸o•’b\f>Œ"!!ƒÆþýû}ú=fÿ-;-Y²û÷ïؾX·nÝàp8à€/aÄÅÎ~·ÿ•#§óû¸ ÊYMò2IŽ3FøhÎ[TUeñâÅ­ùy½Ò•+WØ·o_îSʺ#PÿdEéÒ¥­Ä|›[ñ(‘x ŒÁ®ð¶ã!]ûlKøÀjˆŽ3‰ÄÅéLP³dÉÑm%×Ð4Š¢°C‡\½z5sCÍ›7è>Õ®]»LSgˆ‚ÑÏîëãxË–\ z\ð„¥| I>|8 ¤¬ÐuªªrРA¼råJŽ‚tݺu,[¶lŽÓ‡™¯ÛÊ–-Ëyóæ±Q£FA±žbРAVwtÊ­˜”H¼@QÑmÆ ºöÙàO©§%Ì7¤±à·T©R¢ÛJ®cökj×®Í/¿üÒ:ǧڶm›ðººâ®»î²šÛ À0úÙr+s5ð|`ƒ¥¬YûvíÚ ÿA<¡nݺօÁ^)))‰/½ô’O6ŽSU•… â¤I“˜œœLÒØÕZ´ŸìÚ¾aÃÓ-'Hšé€%’€@!ÑmÆ „Îü>ð„*¢ãL"ɆÿЩˆn'>ÅÓ©f¿©P¡B|å•WxêÔ)úRO<ñD@?àž>}ºiê’°Àg¹¹ü:+_ËRþ'I.\¸Pøâ ?üðCŽ‚sçάS§NŽëhšÆˆˆ¾òÊ+Y¾¹ÿþûƒâmDÍš5­;Væj#H<@¬èöâ öÙÆð'TgIÄ‘M‡Ã!ÜGÙÇëׯ›æÅ¿û5Ì͘ÌõF#KÇ{–²þ$™œœÌ„„á?Œt]g›6m¼ Ì´´4¾ûî»9Þ8N×uêºÎ¸}ÿõ×_As¡yå•W¬¦·ÈíØ”HìcÞ©ðöâ!÷ öÙoàO¨ :Î$’,øŒ4f1T¯^]tñMÓËQ£Fe›^uõêÕìÑ£ÃÃà ØKaö«š5kÆï¾ûŽiiiYžß^}õÕ€ÍÈ€ýû÷7MM"YÀ{¶åvLæz#0À9aβ8’×IrĈ»(Šâ6·pf>|˜Í›7ÏÑ÷êºNEQØ¥Kë….Õ»wï€~%gÊ;wšf辰»¹è‹¶D’a¢ÛŠÜ+ØgëÀžPNtœI$™¸›Ns2|àlïN}ùòeNž<™111=x5ÿ¶lÙ²|ÿý÷yùòe[ßGƒ´"EŠ÷“+,o[æÁ¸'ƒ€MEs½!àßí¸³”O'É}ûöôÈÏŠ¦i™»ÔÌ™3íõÛó¸–-[ò?þ°ý½$yôèQ††† ÷™7nl}rðßÜŽO‰ÄBD·/h)Øg¿€<¡Œè8“H,Dü‡4¦Bò4wŒ;–ÞèÈ‘#lÚ´©Çß§ª*EaTT‡ ¸ý®3f÷“+4h`5÷ÁèWçúzR! Àt«,eéKÌ[¶l)ü²Ktt´ÛÌLgÏže§NÒƒÙ›€uêÔáòåË]~—+ >’ €U¦‹ˆM! À]NgX¯í"ɹsç ÿ<áã?Î6üñG)RÄ«`4IéÒ¥9gίçõ™ºpácccƒâMOtt4:dšþ;IMDœJ$Ù Ut;ñ;ûkMøÀJŠŽ1‰ÄÉ­4¨ñÃ?Ý.¼BÓ4>öØcô…RRRتU«uòÍ™uëÖåŒ3¬I]¸víZáþrE¦‡×#Tr~v—ˆøÖ0ìð¦¥ì9’¼qãFúÊü@GUUV®\ù¦ ¿zõ*ûõë—Þx¼9o||<ßÿý ÁS 8P¸ÏìÒ¶m[«éCs36%wÀØTx;ñ€‚ýõsøÀnc IäÒXS-º]xŒªª,R¤ÏŸ?O_éâÅ‹ŒÏ±mfÿ¬páÂ|õÕWyúôivìØ1 3Z>ù䓦’I&xÀ.Q1*¬qà$‡³¬0É$9jÔ(á?”'¬\¹2=¸7lØÀråÊy5uHÓ4†‡‡sÔ¨Q-r§;w²}ûör¤iG@OûVÅš|æ[ýè!¢bTXãPÆB^–òÏHòÔ©S þƒÙA×uvèÐÉÉÉ9r$5Mó8°u]§¦i|úé§mg,°£#GŽð‰'ž ªªA5x0)\¸°Õ›IšN‰D(.‰nR[°¿V€<¡¨è“ä{Ò9iöìÙ¢ÛƒWèºÎ.]ºÐÚ¹s§_lä)ßíÚµ³ºà½`ô£ ‹ŠS¡Àd;(βê$ÓH#-©èÌ.ªª²V­Z^50EQøðÃ{œ.Ö•.\¸ÀaÆ1444 yÑhÞ¯‰ ŒtzÂÛ‡Tì¯àOvS–HHFÓ™éàÁƒŒÝ¼ÂápX×7ú\Áò°ÙWüïÿ3«¾F‚& ŒSm(ªHÐÖRþ=il’È#B+ž>é7;öÍ›7ç¦M›¼m?7)11‘o¿ý6cbbú•œ§|øá‡fÓH MU)‘€S¢Û…‡Ò?ï IDATTì¯eàO((:Æ$ùš©¤‘è®»îݼBUUŽ1‚þTTT”ðzæõë×·V½+€¶0úÏB§z‹n(°À KYú†*÷ÝwŸðÎ× k֬ɟ~úÉÓö’­RSS9mÚ4/^öØcÖû}¶êÚµ+ëÕ«Ç[n¹%Û©Mš¦1$$$¨§v—*UŠÉÉÉfµ‡¨ëü¬™è˜UHB´EÙ#EÕc΢Ç`lH‡[o½¿ÿþ»0Ûr*UUQ @Œ3}ûö…ÃáðÉyûí7 2k×®…¦iHMMõèxMÓÀããDjÈ!xûí·Íÿö±¦FJ*×¥(ÊEÛaSWHF‹4@Q”ï´iƒºF2R´RùN*€åš_¹ruëÖÅÞ½{EÛä±4MCùòå±sçÎô~FV7n†žågªª¢S§N˜3gŽGß}íÚ5œ:u §NÂéÓ§ÓÿmrâÄ ;v §OŸÆùóç‘’’âÑùEiüøñ4h\PRQ”T!y«XËÑ£n81]$ãß ~BH&ÉY³f zƒ¦i ãK/½d땞]íÞ½›;vÌ0j÷ƶڵk³T©RA5:W…Ë–-3]q•¤u³B‰$×@pí{°5üµ8ü`—}¢ý%É—ø ÕEãDÇ®$ÿ`¼èvàÂS#ø6ü`áƒ.I¾"œä_$yèС Mç ³¶lÙBWZ¹r%{k8?ùä—çÊ©>ÿüsá>sEHH9bš; @ýäÁ· á¤D¸É9ãIc‹ó ÿA=!§ÁãÆ Nœ8‘±±±>é䫪Ê&MšðÊ•+¾'11‘UªT ªiM8yòd³ ©42z aIþÀ@ÑmÀú€¿¾?Øe˜hIòŸÆSñ¦M›ŠŽ}¯Ñ4Ý»w§-X°€eË–¥¢(.gC,^¼ØÖù¼ÑÕ«WY¤H‘€~ˆÚµkW«Éõ`÷ÜsÂP»(ŠÂÂ… óêÕ«5I¦¥¥qæÌ™,Y²¤ÛfUUÙ¢E ^»v-Ëï´3?1ЈŒŒäîÝ»Í*œ"i®§‘Hü€ò¢Û€Ô5 ?ØEèîÞ’|Ew:õÚk¯‰ŽûÊ£GÒ®’’’øî»ï2&&&ËþGÁ‚}6£#+=: ¬ouV"ëiÿÂn@c€’qÁÈÒxÍÈóÖ2£( _}õU‚ú§Ÿ~bÍš5 ø.]«ªªlݺ5]~÷رcƒn}D½zõxýúu³ ¿‘ Ã’ü€õ¢Û€ 6‹ö“Å_¿€?ÜqP´Ÿ$ù†z$¯“äÚµk":ö½FUUŽ9’Þèܹs}# ( ï¿ÿ~[ù–SRRX¿~ý ¨ÈüúTèöï’ü€GDÇ¿ gî,Ð1üáŽgDûI’/(Hòi$MIHH÷^cμȱt]çþýûݶ/GÆŠ¢ðÑGeJJŠÛïͬÇ\¸Ï<ÅáppݺufIÞ&:†%ù¨ oÙPsgþº;ü’ÏŠö$_>OÇܱ9˜1§! 4ˆçΣ¿õŸÿü‡ªªf» ull,kÕªÅû￟O?ý4ÇÇY³fqÍš5K]¸p±±±^Ï×ëß¿¿ÇˆcÇŽ±nݺA7ZÏŽÁƒ[«÷¦è8–ä<):ö-Ìíþêãéšh_@wÑþäy¢Hî$Éóçϳ|ùò¢c>G˜Ó²›dö'4h`jœcY_ú”$o(Q¢„5“æëJÃèw €Îádk ØŒo#z™Þmذ¡ðÜSV¬Xá¶‘L˜0Á«AÄ!CÜž;³¶nÝÊ„„„<×çÌ™c­æDƱ$ÿàѱ`€ Hu `TøësÑ~ä ¾"iÃíÚµó9BQ†‡‡séÒ¥¼ýöÛ]þ­¹f¡S§NÜ·o}¥µk×òÖ[o%à»tø€%IÌE’q¦Àèì¬ á¸4ÎÈ‹›  ¼³L'ù7I.[¶Løî š¦±nݺnßܸqƒ%K–ô¨aŒ1Âå9³Ò’%Kðiμ!22’Û·o7«z™¤¹¶F"ñÖ ŒýM LmøK0W ¿¾"Ú’<ÏstjôèÑÂï¾àÓO?%i¤†íµ×2ìñæçC† ñÙâë´´4Ξ=›%J”ølKv(S¦ “’’ÒC@ý_ë¾i‡p\g¤Ü`š¥ü1ÓËÁ8?nîܹnÇÌ™3mŸoôèÑnÏ—Yï½÷UUµ5P ÖQ~ÅŠyá³Ê{IÏ’¼€(߈ùÍ‚.™Œ7Ο ð×tðÓ=Ižá>’)¤ñà.Ø;»º®³m۶̬?þøƒUªTq[?sñõ„ ¬æ)11‘o¾ù&£¢¢‚ú¡ègŸ}fVéÉÎkÔvjÄq¶7À­ÆÜÙ•e*s W¯^-ü‡÷UU36³Ôºuëèp8Ü6È7ÞxÃåy2+%%…Ï<óŒ-[5McXX‡ ÆV­ZeãlÛ¶­5Íí¯$eö‰ßñ„}4roÎÿyf!/çâµa2üÆ,ÉÔ£±8–;wîdll¬ð{bNPU•±±±<~ü8³Rbb"LEQÜöEa™2eøõ×_gy.otæÌöïߟš¦Ýí *X“ ‡‘‘)@Gqë pk qCþÀlKùæ·[µj%<<åƒ>ȲìÚµËö¢¡wÞy'Ësd§K—.±uëÖn&f|æ™gÒ/ÇŽcLLLP¾•xê©§¬nøŠFº`áq-ÉûxÀ?Æ÷Uð‚;/üõ(€³~ô×%OŠ®§$_PŠä1’ð×-†Ø{°DûŒPE´ý’|ÇtjÈ!Âï{¾@Q.[¶Œî´`ÁŸ|ŸªªŒ‰‰áĉ½^|œœÌ *|_¥fÍšÖŒýÜêü¬UIJ-„à‘±Àj‹,eéi:vì(< Š¢PUUΜ9Óu«É¤qãÆ¥k=ŸÙ¨4hÀU«VytN’üñÇ…ûÎ[ .̽{÷šU¹Bcá›ð¸–äODh àaýŒuò$€vj#ÈLûÁgЍ àv`,BL¾’f$š4i’ðû/PU•ýû÷§;µ³Ø:óßFÚÓùóç»ýþÌúðÃ…ûÎ ,0M>D2ÀV@,ÛF¸kÜp àvKù¯$¹}ûö \øë®kšæÑöñIIIìÙ³g–çÀ5jpñâŶϗ•žzê© õu¥J•xöìY³*Çh,€Û‰D" ZºÒ©%K–üp;hšÆòåËóÚµkt§öíÛg[gMÓX¶lYV¨PÁã~ƒyÎFqÆ ní É‹/2...àg§Ô«WÏjö“îp~Ö4âÙ6 ðØ`cÜ–²–æ¯ðè£  _¡ª*u]çÂ… ³i*7ëܹs¼ë®»24óßåÊ•ãœ9sÜnvgGW¯^e™2e‚öBÙ¤IëÖòÛh,„Û‰D" :š‘¼A’›7ofTT”ð{œ/Ð4ÍVÇ}êÔ©¶Îsýúu8Ðã·€±^BQvîÜ9ËÄ/V½ð AñÓò0wÉ+,€xöáxl°ñúš[ÊW‘Fj¯`íØZQU•‡ƒßÿ½ËÆbÕÞ½{Y¾|ùôú›ƒ‡„„Nž<ÙšƒØ' ælMØ¥Kë€j)qÂã["‘H$AC ’çIòðáüå–[„ßÛ|¢(92}vV¶:xð ###]>õùå—3³råJÞrË-^uôÍÅ×C‡µn&›®0$$D¸ÿÜÑ A«ÙÝ4w~Ö(bÚ#„à•ÑÆ¢Ä•–²&æ¯Ñ£Gá’ÌMÞì,d2µfÍš Ù(ŠÂ¸¸8N˜0ÁúÄÝ¥Ž?΃ÚúÛ 60>>>hr0gLj#¬ÕšGRî`+‘H$;T$yœ4öaª]»¶ð{š/ÐuuêÔ±õàÑÜÁÓó\¼x‘ݺu#¯æÆwï½÷^†Å×Á’AréÒ¥¦É{HjÖX1í1 ðÊh ¾óÇhn)_J’ûöí Š‘hVhšÆððp=C}£¢¢8vìØ ûP¸ÒñãÇ9pà@†……±eË–nÿþÛo¿µ•’6Xxÿý÷­Õ›F¹D"‘H\SšÆbX&&&òî»ï~/󡡡ܵkíèðáÃlÑ¢E–çq8ܱc‡Ëã¿ýö[FGG{µ~Á<¦lÙ²\°`ׯ_ðë c:µEhíü¬~ĵÇ7ÀkÃÖXÊÒß=ùä“ÂÅS4Mcdd$×®]›U[ËR#GŽÌÐðŸþyë¢a—:qâÌÐÐP`||<7nÜèò˜>ø ËŒOÁŒ¢(üüóÏ­Õœä.ö$‰D’oI ù7i$2iß¾½ðû˜/™8q"=QZZß{ï=†††f˜0~üx·ÇþñÇ9žÑ`öGÂÃÃbvÄêÕ«Íêï ©ø À‚ˆk¯n€×†5aìaͧûi<]ŽŽ,ž ( üñì[›E7nÜà#e)ŸHßråÊ OÐ4 YfȬ””·Cƒ‡¡C‡2<<<ÃàAQ¶hÑ‚—.]ÊöسgÏòŽ;î°5})/¬‘ Í<ˆ{Þß1,‘H$’€'’ä/tê™gž~¿òGÿûöíË+W®ÐŸúùçŸ] Eall,/^ÌJ•*å‰)Ô/¾ø¢Õwx Fÿµœc5Wn@Ž+¼à4€XgYÉ3¤ï¶aÏMTUµ=­É•NŸ>Í^xá¦ÁƒÉ#<Â7nd{ü¾}ûX¾|y·OÌs7lØ0O\X³X—òtnƳD"‘HŠ0’ËéÔ /¼ ü>åO4McéÒ¥ùË/éc&ŸêÒ¥K,Q¢„Û_ý5Iòúõë4hWûK Å‹·Ìfˆ…Ño}C@<ûáä¸@€ã&XÊû™¿VóæÍ…7|óÍ7™Ûž-9s†Ã† cxxx¶£÷Aƒ¹œ¯¸qãF,XÐåÂÜåÃFoÔ«W/—o4Mã£>zÓq«V­²5øD¦M›fVã*É&Àè·Fù9~ýŽp|R  ;€$•eˆ¹uëÖ  :UUÏS§NÝÔ²ÓÙ³g9|øpFDDdÙ@E¡¢(|óÍ7]žç»ï¾»iÝDVç*Y²$§OŸÎÔÔÔ ÇïÛ·áááA±ÈÉ ä¶mÛÌj¥’ì,:Î%‰D’kh$çÒ© &¿/ùW÷zUUY½zuþùçŸô…-ZäÖ–¢E‹òüùóYéÒ%öîÝ;Ý6Ѿ³Ãí·ßn}h;@eýÕîbÚç7À'•‘q³Ž»Í_-XS¾>ðÀ75¢Ì:{ö,_|ñÅlfcÓ4Ó§Owy®I“&QUU—ç‰ç{ï½çòéÄ'Ÿ|"ܾ X±bܳgY­d’ŠŒs‰D"‘ä !´ >ýôSá÷#ðÔSO±X±b.æ.Ño¾ùæM =Õ¢E‹çr¶ÂO?ýäö<Æ î;;(ŠÂ_ýÕ4û Ép›%o'ö¤n€Ï*4vþp÷ZÊ¿!ÅÅ111ÂÊ,¯Á2èܹs|饗éöÕ`xx8üñÇ,ÏC™&žþy—爌Œä+¯¼b{»Ö­[ý´&ÀHkÉ€•Jò ѱ.‘H$¿J2=Uß—_~4O½í¢ª*{ì1’ä±cÇX¯^=[³î¸ãÛ!³ÓñãÇyï½÷Ș–UUU>õÔSn?qâãââ‚b†I¦iYÜëü¬±bU8 ðie€YvÐeåIÞ ÉwÞyGx@yŠ¢(ŒŠŠâ¡C‡Ò£ðüùó|ùå—Ýã ‚»MäÙ¹sç,×4!!!4hOŸ>í9²ÒÑ£GY @ ŸÖ€%J”°îà™Fr€èX—H$‰Ï‰ ™ž¢ïÓO?Ís]×Ù A&&&šÕäµk×l¥r×uáááœ]שª*»wïn+ßsvš9s¦pÿùŠ"EŠpëÖ­Öê ï‰D"ñH®¡Syq „®ë,Q¢D–ë-ÓÒÒ8räH®7n3?kÛ¶­Ë=¦ìèï¿ÿæí·ßNUUmeƒš2eŠpÚeôèѦ٩$ë£ZÒF,  ðy…€ÑÎ(è,‹&yœ4 ‹,oq8¶ŸˆhšÆZµj¹làû÷ïgÅŠ3L92ÿ}ÿý÷sÇŽÙë‰:vìO ìÇ 6X«÷š?cY"‘H$¹B<ÉßèT^̤ª*#""¬ C²Ô¬Y³èp8ÜÞ·u]glllz*Vo•’’ÂÕ«W»ý»ýû÷3"""(f7”,Y’×®]3Mÿ @AýÒÑë>E¸>¯à€,å=Ì_³uëÖÂÌSh0/Mš4áºuë²=ÎS%''ó½÷Þî?_ÍŸþÙZMkja‰D"‘EH¦§Ê«û@(Š’žŽÝÖ¯_ÏÂ… »H˜6{ì1[›äz«`K?kÖ,ÓôK$‹øF¿4‚âãݧ7À/•ºHPÝY¦ÜD’;vìš@ôw›È-^¼˜aaaé¬Q£øá‡lñT—/_æ„ xË-·È»Y[Éb¡ú§$U_ůD"‘Hr…$w‘Ætž¼°ajv¼óÎ;ôD‡b5lOŸNHHàòåËÝŸØ ½ýöÛÂýg—;î¸ÃjúóªÃèv¡øx÷9 ð[Å€_,µ”56Õþýû 40pà@—›È}üñÇ.¥K—æìÙ³]㉎=ÊaÆ1::š€goP‚ ‡Ã‘yCÀ4òŠ }‰D"‘¸¥,É}¤ñ¤»GÂï+þ@UUvîÜ™ÞèòåËlß¾½­ïÑ4Š¢pÀ€Ö©<9ÖöíÛ"ÜvPÅšÈf/I€¥~¡øx÷  ð[Å€Û¤ho)ŸM{+ÄÇÇ 8_­»MäÒÒÒ2äU.T¨'MšÄ¤¤¤lñDÛ·og÷îÝÓd‹öIn¡ë:gΜiuÅ|’Å´D"‘H|BU’GH#éÊÃ?,ü~âÏûTdd$¿ÿþ{z£ÔÔÔôðv ªªÊòåËó·ß~sr7JJJb­Zµ‚föH÷îÝ­æ? =Œ~èmó~A¸~­0ÀfÇ®$Ék$ùÁ¸œ¢iu]ç—_~IWêÚµ+0**Н½ö¯^½êòïíjÅŠ¼÷Þ{©(ŠGS–EÉ3ƒ UUùé§ŸZÝò?’q¾ˆ_‰D"‘øœf$Ï“FŠs»OÚƒsÙ &Ð[}ñÅééXíôM4Mã¨Q£˜œœìõw¾øâ‹A3£!::šÇŽ3M_À£ÿ9ÕFL- ðk倗 ±”&ÑuÆ …ž·èºÎˆˆ—›È™;v,Ÿ{î9ž={ÖíߺSrr2gÍšÅÚµk§Ûá‰Ýš¦1&&†Å‹š§ vÈ4ßô/¯Ê…·‰D"‘¤ Û•’ IDATӕν£.\¸À-Z¿wä6}úôñºc¿zõj·;N[Q…uêÔá_ýåñw­[·.¨6~øá‡¦é)$k£ÿ™àã(„à÷ Ã\´üá4æªÕ\»¬˜:u*sK9],m>ÁxöÙgyîÜ9îÞ½›±±±yjÑõ€˜ššjºì$ÉÞĬD"‘H|ÎH:uàÀV¯^]ø=CŠ¢°Y³fýôÓAÓ/p8Ö}µö‘Œ0F¿3ϯ‘n@®Th €µC÷9ỉ¬Zµªð@ôEQ8tèPúC9],m6ªT©Â¥K—fû= ,š9v©_¿¾und*ÉÁvcU"‘H$>#†dzÞÑE‹122Rø=Ÿ}»«ë: (àuZÖ”””ôL—v¿W×uFEEqÚ´iÙž÷§Ÿ~ ª>egj’¼ÀC0ú› þýŽpr­¢ÀûŽˆu–Å‘¤ Ö+5McBB‚ËiDÖÅÒ9í¨«ªÊB… ñ³Ï>³¦5ͱΟ?ÏÊ•+ç©=$L:wîlͦud_ŵD"‘äc¢H~E§vîÜÉ2eÊ¿æç™6;½Iv߯hšÆÖ­[{=¥ÉTRR{÷î-Ü/þäÛo¿5«{‰d oÀèWÉ帎p„Tè @g™BòÒxz'ýM‰h?ù’N:Y«Ù@ýÉnßrá«8°À&fÆœªtîdùùçŸ Ôœ°páBŸ-–61/;wæ˜ýóÏ??~¼Ë¿Ù²e #""òÜ‹-ÊÕ«W[«»Æ´:áíB"‘H‚ˆ$/’FGyôèÑA3%&'¨ªÊ6mÚx< `úôé Ép_Õ4ñññ9¾¯g¥Å‹3"""Ï<ŒåñãÇÍê­mÚ´©£¹”âÛ‚„ ¬â@YWsÆŒý$Û‰e‰D" rT’#H&“Æ=øwÞaHHˆðksnÞ£«V­Ê“'O2³N:•í¦¬:tÈñZÆmÛ¶1""ÂízDEQxÛm·ñĉnÏÙ£G [ßøÉ'Ÿ˜æ§’l  £ó³fÆsžE¸€œÂ¿Óš"é| räÈÆÇÇ êœb®{èÕ«—­†ïNW®\á Aƒ¨ªj¶ûL©L]jæÌ™n/Z›6mbÍš5ó䙫1cÆXwM!ù IÝ›ø–H$’  ÉŸéÔÑ£GÙ²eKá×ãÜDÓ4V¯^§OŸfv:qâ+T¨pÓ}WUUÖªU+Gë»víê‘­Å‹çŸþ™íù‚1IÍ<`­Âën±+õG6ã8_ Ü€@@8€¾ 8Ëo£óiÈüùó…vN©]»67oÞL_hÙ²e,^¼¸Ë·=zô°}>wë 4Mc«V­H’.\`ƒ òü@7nÌýû÷[]µždy l+‰Dâ!™¾ÂüùóóÄÃ;OÐ4µk×æÙ³géNGÍr¦i,R¤ˆ×k“’’øÄOضY×uFDDpñâÅ7káÂ…A·¶1!!Á:€Ûøý÷߇X£î£XÏ7 Ѐ‘­é€–òtªW¯^Â<'§˜˜îÞ½›¾Ð¦M›–å B×u6lØ7nܰu®ëׯß4Ï3+¾úê«ôc®^½Ê»ï¾;è^‘zC2/œ»LÒšQL"‘H‚•h’ÓèÔåË—Ù³gOá×]÷èzõêÙÞHn×®],Z´h–÷M3Uû¼yól++?žŠ¢ØºÇšûS?>ýøÍ›7gÛGTE±N¿¾B²"€çaô ó}6¦Ì7 ± Ýu5œe*¯W¯\¹ÂŠ+ toÑu¥J•Êrž¥7Z²dÉMot]gBB‚GÓ¥¬iä²#..ŽIIIŽ»qã;tètO:¼¥K—.™]M2žÐn$‰Ä ‘ÜG§6lØÀ *¿Öæ6š¦ñ¶ÛnË|}ÏV;vì`¡B…\>x33)½òÊ+¶Î™•–,YˆˆÞú÷éÓ‡‡bBBBЭ_4hµú½Ô„|¾©\v7  XàOü»¿¯Yûí· kVt]gݺuyåÊúB“'ON?·ªª å¦M›lïn„yÞ!C†dy|JJŠGs8ƒÒ¥KsõêÕV!Ù‚Ðv$‰Ä&:ÉQ4Öz1%%…cÇŽ ê{«·¨ªÊ† ÚÞzË–-Œ‹‹ó¨cߥK¯“¨lÛ¶%J”°ý}Š¢0,,,è~ËZµj111Ѭö|vÁèšSÜ%„¨(à €‰–òÎtêµ×^ð9AÓ4¶iÓÆºh7KYò#»ÔÈ‘#ÓÏ={öl[ÇäîÝ»mï±sçÎlÏ“––ƧŸ~Z¸_s UUùâ‹/ZŸ4’S¦‚•H$Ï­$·Ð©ýû÷³qãÆÂ¯«¢®å7æåË—iG›6mbLLŒÇëUUµI)+:uŠ5²ýÖ?Øf„……qûöífuŒð Œ~`ñ\nAƒp¤¸×R>$SSSÓ·‚VEaŸ>}˜~þùgVªTɺ[£Kõèу#FŒpÿ‡NÙ]¡i4h`ëœÕªU ªù—9åöÛoϼÆåÉíG"‘H2Aòm:ß>äôéÓY @á×R¨ªÊ¦M›ÚNɺ~ýzFEEyPÄ̤´uëV[ß—Y7nÜàã?.Üoþàý÷ß7«™Fòn8?ë‹í#èn@ c$z@agY4ÉHcg昘áÁŸS^}õUZuîÜ9>ñÄé ªE±µfJJŠGÝôéÓÇv‡ÿóÏ?w{¾ŸþY¸/EÆ×_=ó[£¯Hc´!‰D"!y7÷N’<|ø0Û·o/üú) UUy÷ÝwóÚµk´«õë×3222GY 5Mcxx8-Zdû{3kܸq¶\mÛ¶µVïM 0Þ@|⃸ÏÓ7 ÐÁ¿sâ¾³”7¤3íëìÙ³…7_0mš‘cΜ9,X°`†‹”¢(Ôu+V¬ ¯4kÖ,Û¶EDDØZ¿Ñ¨Q£ ›ƒéKêÔ©“y-Ê9’=³‹m‰D"Éâèܸ•4¦žNš4)ß¾}Œ{jëÖ­½Z£ð믿z¼Ð9«ïW…o½õ–ÇßojáÂ… ú4ëEбNñúcÏž=¡–Âè÷Exïù áøwu~?KùH:ì‹zE¡¦ilÒ¤ dùtAÓ4FEEqÛ¶mÌ©vïÞ͈ˆ[s&5Mcï޽ݞó‡~îÇ@@Ó4:4óÓ­”ûJH$’Üç?$Ó©¿þú‹wÞy§ðë¤HEaÛ¶m­ x=Öš5k|ÖïÑ£‡íT왵eË– ÌÀdŲ·ÅU’U †Ñß«ç&¶%$„,ÀÈ| @5g™Fr-I^¼x‘eË–Þr‚«§Mt]g±bÅr´æõë×Y½zu.:6lpyδ´4Ö®];蟈ø’òåËg~stäPgÜ oO‰$OSœä7t*))‰cÇŽehh¨ðk£HEáý÷ßïu§Ýªÿýï Íñ}Ï\Ø}æÌ¯ìسg5M º…ÔøôÓO[«Ò@mûAüðöS¦{¢Ÿ~ú‰!!!9ö³®ëŒŠŠâ?þhû»”o ¸eKz†áã$ øFÿîŠoKAƒp‚ ÁHûz¥|&ithÛ´i#¼øMÓØ´iS.ˆ{öì±½Â$$$„gÏžuyÞiÓ¦¹´;wîÌ#GŽpóæÍ,X°`¾HàC=ÄÇ[Ýwžä ’!¢Û•D" ZJ’œE‹¾ÿþ{–)SFø5/P… à¹sçhGÞ 4–,YB]×s(W®;–åß¹Ò‚ |6P…-Z´È¼¦Ž{÷îelllP®ƒhÔ¨‘µ_°ü™gž …ÑÛ 2ÚUÐ!Ü€`@%‘q}ÄÃtêË/¿Þ`|¢(oP3gί¾§dÉ’.7®»ví‹)’~±´N]:zô¨[»Nž<É5jå…З4jÔ(sö+¹^B"‘dÇm$¡S©©©üøãY¸paáײ`@Ó4Þyç7íP=gΜ ]×Y¡Bëþ¶5oÞ¼ôMb}aoùòåù÷ß“4‹+V ÊpÅŠ³ö ÑXñŒ~\¥h[A‰p‚Û¢§èl)Oß½å™gžÞp|Éo¼AOd®ƒðô-„¢(;v¬Ës¿ýöÛŽ©T©ÒMS—ÜéüùólРA¾H(ŠÂÇ<ó“/¹^B"‘˜$œJc9I#ÅhíÚµ…_¿‚ sM¡™hÆŒYvúu]gåÊ•yêÔ)zªÙ³gûl ¡ë:cbb¸lÙ2ÞýÿìwxÅÇ¿[Ò5ôÐ! H“f£©HèM‘¢È)""(XEAT@A,4EET‘¦ ¢ H‘Þ‰t…Ð!¤Ý÷÷ÇÞ—äîv.$ì%™÷y>dowöÙ™wvfÞ·yóÙ_êºÎµk×:Šç&É»<Ã~kçõ+Çb¹9ã\PÝ~L#ù+i¬Ùoܸ±å(+P…7n¤¨Ü¼yÓç}TUM¿8\¹r…‘‘‘ŒhÖ'N̴׋k×®±yóæÒƒÀððpŽ7.}Õý$ÛÒêšD"¹íD’|äUÚåèÑ£ìØ±£åíUNFUU¶hтӦMsFvwžÃ¥zfb8Ì™3'Ëö,89qN™2ŵhþ : »mœÔ±å ät¨0B¤ß~¼íëEOŸ>ÍbÅŠY^‰²¢‰ŒŒtNkšIf÷AhšÆ–-[zM{Ñ¢EÀG}Thé’7¹|ù2ßxã ËËן(W®,X¾¨6“lI?¨s‰$Û '9’ÆŒ$IòêÕ«|饗ò|À¸¬ÂÑ?š溮³fÍšÂÞ\eöìÙ9ÖðÏ*ºwïîZ$3ä‡a¯­ úA]ËÑX®@n@!qã¿ %wј6ãÚµksäBwYtt´éôjföA¸²páB¯é“†—¥[‘Ó§Osøðá —³hÒ¤‰»há¿“lN?¨w‰$Ë ¥Ùþí’””ÄéÓ§³xñâ–·IyMÓX«V­ ›œEdæÌ™yv Q³fM×ý'›; ÃN‹PÈê[ŽÇrr êHðŠËñÿÑ.“'O¶¼Beº®³nݺ6†9äСC™Úá P¡BYÑ3½ìÛ·O>ù$u]Ï‘k;­ uëÖܶm[ú¢\Cò^úAÝ“H$·LÉÁ4o‘$SRR8{öl–+WÎò6Hb $êÖ­ËË—/ÓWùøã-×ÿvS @9rÄQÿ’, àvZ]?¨s¹ËÈMx@*€‡\ŽÏ ]ºuëfyÅʪÆ,66–)))t•›7o²fÍš™žuQU•ÇgvÈï¿ÿÎ6mÚPQ”\1+t»Q…;vä®]»ÒíJ’ EëˆD"ñ+Hö#éÜ„–ššÊ¹sç²råÊ–·;’´hšÆ ðêUçayÿý÷-×ÿv¡ª*üñGGÖSH6ð ûìI?¨w¹ËÈm˜#tzYû± ’äõë×Y£F Ë+XV (  @W0`@¦g _YÌ‚ñø"6›‹/fÆ @²è¹?òÈ#Ü·o_úâþ¤üº#‘ä 4’Oa¥J•œ®/ú¨ªJMÓär'“2êÙ³§»ö‹IÞcu=”H$n "Ù‡F”z§,^¼˜µjÕ²¼]‘ˆ¡iï½÷^ËŠ½É;ï¼c¹þÙI›6m\cLÍÃû@ ÔÁ\…å äF”†Fý3—ãMiL«qéÒ¥¹f£“¢(7nÃÂÂ25 áØ¬™èœéåòåË|çwX´hQÖÇÕKFµjÕØµkW>òÈ#ìС£££çÉA…ûç÷ä“OòرcéÇ&’i|ñ´¼NJ$yœ‚4¼-¥‰^¶bÅ Þu×]–·#ßQU•M›6Mï’[HÆg¹þÙAÅŠyéÒ%G6÷’ ð {¬”ÔÃ\‡å äV4` Ëña´Ë¨Q£,¯pYk„M_¯ÕuQQQßß“$%%±M›6r !@øÒK/¹ÛD˜ä‹”K$_¨Or&É4Aû¡*o IDATÖ¯_ÏöíÛË6ÉGåU½zuŽ;–üñSSS9bĈ5èÒ¥K†NîdôèÑ–ë{«4iÒÄu׿³gφÁ°³.ˆñƒ:šë±\¼ŒÖIÞt9Þö5««W¯f`` å•2;7EQ8oÞ<ú*¿ýöƒ‚‚n¹ST…<þ¼Ï:x“¤¤$¶k×.Çt4VÈ'žx‚;wîL_”É$¿'KéÕI"qG‘¥ÓTž””Ο?ßG⪪²xñâœ3gN†=rIII¬S§NŽq¨¡( »uë–~iyùå—-×óV‰‰‰áÅ‹Y:F2 À›0ì,¹‘ú6a¹y ½ì ¯Ëñçh—/¾øÂòŠ™Ìœ9“¾ÊŸþɰ°°,Û{0qâDŸu‘¤¤$vèÐA$|¤Q£FüôÓOÝù;?Aòu’eéuW"±…d’sI¦ñçyìØ1Ž9’%J”°¼.çD4McHHÇŽË7nГ>|˜¡¡¡9¦}W…=zôp;xá…,×ïV‰ŠŠru+~‘d €¾öß{ùAÍ3X®@^À«’<är|*íòÚk¯Y^A³ƒ±cÇÒWÙ³g###³l’)¢’œœÌ–-[æ˜/VþD¾|ùØ¿w›ím$"Ù…¤ $ÉK#9‚dšˆŽIIIüöÛoùàƒæ£ÖQ…­ZµâÙ³iBgx”œø‘¯wïÞifVž{î9ËuºUBCC¹yófG–I6ð »êU?¨·y ËÈ‹À~r@Mû1•äÚ¥W¯^–WÔ¬DÓ4ÞyçóÌ3–ër«¨ªÊE‹¹>’^j°§>óƒú›ç°\¼€¿8 ¤ýxÉ?IãKSÓ¦M-¯°Y‰¦i¬R¥ O:E39}ú4Ë”)“¥ˆ€€öë×ÏôÞîDd“š«L™2ÅòòÎ „††²wïÞܰaƒ»bÞOr Éêôƒ:-‘Ü4ö}A2ÍÈ9!!sæÌá}÷Ýgy}Ì-¨ªÊY³f13råÊFGGç8×ÞÕªU³\‡¬`Ê”)®ãU%aØQ¿ðƒºœç°\¼ €üöØÿÜ#G’/^Ì5ß®ë,S¦ŒëZÆ Ï*UªdË’ I“&y¼ozÙµkkÕªE]×É1cÆðÂ… B×þý÷ß9îk•¿S½zuNž<™ÿþû¯»"ßMrÉ*îêšDâ‡è$"ù)É ËöíÛùÌ3ϰ@–׽ܯ­Ä"ÉM›6å¸ADnàÙgŸu} ŸÁpŸ¿†•ßêtžÄrò2¢œ°€n?^ä%ÒØ4eyåÍJt]gTT÷íÛÇôråÊÖ®];[h]×ùüóÏg¸§;IMMeÁ‚Ó dTUehh(_~ùe¯SàIIIlРìd² MÓØ¢E Μ9“ñññîÁ’/‘¬`U½–H< Ñˆ‹2ƒdq»víâ¨Q£X¹reËëYnDQ>óÌ3é‹]HV®\ÉÞ½{óž{îañâÅå^”ÛLûöí]ûÝ_&MšÃn: ÚêvžÅrò:ê¸`ºËñæ$“HróæÍ¹n½®ë,P ·oßN‡$$$ðÞ{ïÍ6ã[UU¶mÛ–"²aÃé(ŠÂ!C†x¼vÈ!²ƒ¹ïQË–-9{ölWW®ò'Éá$Ë[]Ï%y†g¥h0ê*{÷îåk¯½Æ˜˜ËëSnFÓ4Ö®]Û§¥©ÉÉÉüòË/yÇw8Û«ó‘©_¿¾«÷¾=$#L‡a7Õõƒ:ž§±\   €#\Ž?A»,Z´(×-Ñ4ܰa“““ÙªU«lÏcñâÅ3øw'?þø£iZï½÷^†ë,X`y¹æUÙºuk~ñÅî6d“ä’SH¶$bu—äjJ’ìCr>í³Ê®ràÀ¾ñƬQ£†åõ&/±fÍšô£\½z•uêÔ!9«l!åÊ•ã?ÿ8ÇÞgIFÃ^jãu=Ïc¹ûƒ°xÄåøë´ËäÉ“-¯ÐY¦i fóæÍoÛ×û•+WÒLæ5EQøÃ?8¯9xð ÃÂÂrÝ`/'ÄöíÛ󫯾âÕ«WÝ=â’+H!YÕêº/Éñ’lFò¦ çÇóÍ7ßd­Zµ,¯y ÇŒ¥¨$%%±E‹rð`1 p]ö|d=À°“ùA½—°\‰ËÃ&¸ àn—ãsh—Ü$&=ªªÞ¶„®ëìÔ©EdðàÁ^ªª²F$É7n0&&FNwû!!!!lÙ²%'OžÌýû÷{zÜq$§Ñp­épr ‘x£,É$“Ì0RMJJâêÕ«9bÄÞyç–׃¼Î—_~™þy”nݺÉ%©ÊuëÖ9I*ɶî†aMòƒú/±c¹—‡¨¾p@%ûñ@’«i—X^ÁýoƼ¦iI Š‘ìDr2 ÷Â䨱cüøãÙ®];FDDXþ®K EŽQtäÈËõÍë¥_1ð €J0ì¢ï¨~ÐHìX®€$ÝBlp@!ûñ’›IÒf³åº`tYI“&M¼þ®ë:»téB™={¶iZ¥K—¶<Ï’ÌÈfÍšñwÞáÎnW¡Æ bÉI$;’Œ²ºd; /yO‘üœäº‘„„._¾œÏ>û,«T©bùû,qOáÂ…Ý=>·2þ|ŸÒVE~@ÊBt]çâÅ‹]Ék Á°‡6uü ˸y(@lÅþ ’ü‹4‚ŸuîÜÙò ïOhšÆÖ­[3!!‘‘‘^ÏU…›7o¦™Øl6Ö¯__.SÊ#”,Y’}úôáüùóyöìYo¯Æ!’Ÿ‘ìK² £ÓòvC’iBHÞGÃ5ð2º‰Û@íÁîÝ»9eʶlÙ’!!!–¿³yMÓÎwÞyÇã¬q¥J•Ü=N·rêÔ)é(ŠâÜ'¡( £¢¢xÿý÷³mÛ¶¬Q£óçÏO@zqÊ,ªªò›o¾q}`ÄÓÚ Ã*âm…$–+ ñð`€Òâü Ì~<Šö©ô¤¤$¶jÕÊòŠïèºÎèèh§›Ï¡C‡zݧë:ï¿ÿ~ŠÈ¶mÛäúØNï=¥J•r{nÕªUÝ=^òÖ[o1 Mš¦±~ýú|å•W¸jÕ*W—£iä·ß~ãC=äÔÑêrÊ)(ŠÂO?ýÔµ(?Ãþ‰PÚ¢öBb‚å H¼< €ÓV¶/EòiL§7mÚÔòÀêÆ'((ˆ;vì CŽ;Æ   Ók—/_NiÛ¶m†NE’÷(X° [·nÍñãÇsíÚµLHHðöÚ\§±qÉÁ4b´ºMÉC(4⃴'9šä’ilÒt+ÿüó.\ÈaƱaƲÎû!Ž:wÝu·lÙ’æù=øàƒn?øz êNöíÛÇ3fð‹/¾àŠ+<íŸò([¶la¡B…ä@B©S§ºßç¥J• a÷œ ‡ú1–+ 1y@@5ç,`?^žä)ÒðgݨQ#Ë+™={6ÓËÛo¿íõ]×Ù±cÇ ×¹“õë×[žG‰ÿÈFñùçŸç‚ xðàAcå$ÉI¾Eò1_Å‹ZÝÎä`t’åh ÒÒð²µäoáÆܲe gΜÉ'žx‚•*U²ü}’xGUU)R„Ÿþ¹ÛYÁAƒ100ÐíµÛ¶móö:d‹ìÞ½›‘‘‘r aÂ[o½åZl zõê ÃÞ9 ­oc$^°\‰ÀCê¸à[šýx ÉIÓPíÚµ-o n7ªª²oß¾t'ÉÉÉlР×eM¡¡¡LLLt{}z)_¾¼åùÕ4Mú.÷sBCCY¿~}öéÓ‡S¦LáêÕ«yþüy‘WìÉ]$—ÐXf3„d[’5H†ßî6ÇÏ(F²A×+$?!ù+Y¯!ˆm6>Ì… r̘1ìÔ©+W®,7Ãæ TU¥®ë>|8¯\ñ<6|ÿý÷ÝÎDèºÎ=zx{M²MvìØÁüùóËvÛ£Fr-®fÏž Ãι ­o{$&($!ÅÿEQ”ÆVX 7W Àj‘çÏŸÇý÷ß½{÷Z©æm]×Q½zuüñÇ r{ÎåË—Ñ¢E lß¾©©©~ Á¥K—hz¿nݺaÁ‚HII¹eÝoEÊ–-‹¸¸8¨ª ›Íf©.RÄ¥D‰¨Y³&jÔ¨š5k¢fÍš¨ZµªÐ»g—óŽ8à8€ öc®ÄÛg|ÙýO‚vC!û¿å”P†Ç:S¹pávíÚ…;w:ÿݽ{7®_¿žúK¹M¢( êÖ­‹-[¶x=oÅŠxøá‡Ýþ¦i>Œ²eËfƒ†ÞeÑ¢EèСÃm¿¯¿ËСC1iÒ$ÇŸ«Ož<[ºtétð É Öi'ETä "‰¢(Í,ð)ɧí‡ø@øéÓ§qß}÷áÈ‘#–éx»$44{öì1í._¾Œž={béÒ¥ÐuÝ9Ð4 -[¶Ä²eË„î÷öÛoãå—_¶Ìp×uíڵüyóðé§ŸbäÈ‘8wîdý͹¢ë:Ê”)ƒråʹ%***3ÉÀEx`$Hró¯§ÿ'Â”Ú 2ùPJJJpjjjÉ0EE)¬(J!EQ «ªZPUÕ‚Š¢„úš±ääd?~ÇŽsË¿ÿþ›‰â’’DÓ4\¼xÏ9zô(*T¨àñúþýûãƒ>È.= IÄÄÄàðáÃn?fåEéׯ¦M›æøs€EyÀ“Z“üÅ2夸&VO…H|@kûÛ.Ç›¼A’qqqy"v¢(®-MeÛ¶ml×®sºûÎ;ïä±cÇ„¯Ÿ>}º¥ùÕ4têsýúuŽ7Žááárª<—ÊjÕª166–ƒ â¤I“¸páBnݺ•Ç÷è!&'ŠÍfã… xèÐ!®_¿žsæÌá믿ÎÞ½{³I“&ŒŽŽ–ïygéÒ¥^ß¡””Ó@£?þøãmz£ÓÊ_|ayùù ={ötÝÓ²d$€·aØ5­év–D9‘EQ”®¾0†äëöÃX ðàÁƒ¸ï¾ûðÏ?ÿX¦cv‹®ë¨T©vîÜ ]×…¯‹‹‹ƒ¦i(Y²$TU¾nذa˜:u*’““3£î-‰¦ixê©§ðÑGeø->>ãÆÃ|›Í&¿tå1 F¡B…œ.\8Íß®Ç"##”_ê'ILLDRR$$$ >>>çÏŸÏpìÂ… òÝÍÃb¶¡ª*CBBÉ¢E‹²téÒ¬X±"«W¯Î:uê°~ýú¬U«cbbX¾|y–,Y’… fDD„Go8‰Ž6µlÙ²¦çV«VÍ´nÛ¶­×MóŽw}Æ YÕ5ËàÁƒó´ÛàV­Z1)É’å0Ɇ°czÓì*I&lQ«ÜÂÃÙ+`?—ã=HÚHÃWµ#Šfn% €Ë–-cvÊÅ‹aIþTU嫯¾*¬ë_ýå v$—H$EUU,XŸ|ò m6Çïõ|EQøï¿ÿzmÿžþyÓ­¦i äàÁƒyêÔ)¡v5>>ž?ýôÇÇ#FðÅ_äÎ;…Ûe’œ9s¦åenÍ›7w«sœd4€~0ì—Aô{J’I;Ôj$·øal|ìár¼í²uëV.\ØòF$»p¸ÿ[¸p!³K†j‰KHEQX°`AŸ‘䯿þÊ:uê8ËÈêç$‘H$€árUÓ42„—.]JÓnMž<ÙëµóæÍóÚîMŸ>]xÆXÓ4ðÿû§M›ÆU«VñÀܸq#¿ûî;Nš4‰Ýºucttt†kî¶ß{ï=á6yÉ’%–—½´jÕÊuq–de=`Ø-/Òì(É-Ø V+ É‚‡Œ £ËñghŸ‘سg‹/nyc’]¨ªJMÓøõ×_3«åðáÖ-R…|ðÁ-éÿí·ß²lÙ²r !‘H,Å13Ú¬Y3îÙ³Çc›å¤ èºÎ§žzÊk{·zõjŸõ p;ðYÌË—/ µÅ_}õ•åÏàvÓ¹sg×%LgIÞ # {eýÀ~’Ü¢ýiµ’,zÀÞ \}H¦’†1ìúE%·¡( UUågŸ}Ƭ›ÍÆ6mÚX2ˆPU•eË–um€3-7oÞäË/¿LMÓä~ ‰DrÛQ…¥J•âwß}'Ôf}þùçTU5ƒqíõºS§NÝö¼ýõ×_ByúðÃ-·“ž={2%Å ò8ˆŽ0ì”)ô»I’¶§Õ H²ða‰¤]ÚÔd2I?~œ•*U²¼qÉNEaÿþý½F6‘ÄÄD>òÈ#–æÅlêÞWÙ±ckÖ¬)g%$Ém¥Aƒ®KZ„dÞ¼yÔ4-Ã@âï¿ÿöz]ppðmÉ“ªª fbb¢P~}ôÑ<ó§_¿~®n\ÓØÑ†}"¹Ëdñ5–6¥"ífëv$o’ä™3gxÇwXÞÈd'š¦±xñâüᇘ¹rå ›6mj™±­ik×®íÚg™Ü¼y“mÛ¶µÌÓ”D"É›tëÖ×®]ó©½Z¼x1Ò´ÅŸ~ú©×kªW¯žíyQŧ¸ÉÉÉ–9ç¸Ý :Ô5ë{ixaêÃ.‘K˜r–+ Ɇ‡jl¶NïþõA’×Iòüùó¬W¯žåMvâètbccù믿RTöîÝËš5kZîÙÈ}]ò”œœÌîݻ˄D"É2̾²«ªÊ*UªðÀ>µW+V¬`PPsï[=¼žßµk×lo¿Eáœ9s„ó0þ|ËŸÏí`Ô¨Q®ÙÞF²0þsã*7QçB,W@’Mö?÷¯£]ŽßKò2I^¾|™÷ÜsåNvãèØbbb8a®[·.C¤ß'NpîܹlÓ¦ó “•ú>øàƒ•¸¸8FEEñwÞñi¹@jj*5j”g¦×%IöàhCîºë.>úè£^?NèºÎÐÐP.X°@¸­" Ó!!!À"EŠx=÷•W^ɶx š¦1$$„Ó§OÖ=99™åÊ•ËõËHß~ûm×lo¤‰z4¤×\å H²ñáéR¼írü.’ñ$yýúu¶hÑÂòÆçvຶVUU+VŒE‹edd¤ó0¨EÞ¨G’=zôpn@,_¾<ÿøãák9âì˜%‰ÄíåÃ?Ìß~û¤a07lØÐk[ê0¦‡ ÆäädáöjÆ 'îÝ»×ãyŸþy–åÑÕCSPP ÄþùGXg’œ2eŠåÏ*;qãEðW’áÞ†aÈ@r¹ËdóºÂð†ð!Å~¼ wkÎ5òV7D£SîÙ³'EeÇŽi¾úéºî³‡ª^xÁò¥[‰$çàˆ‘Ð£G·׎?Îüùó›~yW…7æéÓ§…Û«?ÿü“ 6ôê"vãÆ·œÇ¢E‹²N:lÓ¦ ‡Ê+VðÆÂz:dݺuÔu=×.UU5ý•Nœ8ÃÞHЕ~`I²ÑÆ´ZÉmxÈ@k > ÙW&y‚4¾=ú裖7Hy€€ÆÅÅQTZ´h‘ዟ¢( ž‘Ø·oŸ©^÷¹V—D"±‡7¢gŸ}ÖÔCÒÒ¥K… g]×Y¸paçLFVÈùóço9Ÿ½{÷¾e=Ž=Ê äÚ4º®ó›o¾qÍò‚Ù³gð3´¦Ø?’l¶/­V@r›4ÐÀ5ß°/Kòi¬‘òÉ'-o˜ò*š¦qذa•U«VyMë±ÇN«Zµj^u æk¯½Æ¨¨(gúV——D"É~ (À1cÆ0>>^¸]6l˜Ð@Â1³1aÂá´Í$_¾|·œ÷t²OrèÐ!–/_Þ/–ÈfAAA\¼x±k–?ïÕ«W0 ûâ€æô»GrlK«ÜƇ 4p ÀRÁöã%h¸a£Ífã3Ï&Ô¨Qƒ_}õ•kÄáLI\\#""„—CjšÆòåËs×®]·tßž={Þ²¯ë:4hàSÌœ9“º®çÚÙÚÂ… sýúõ®Yž †=q@ú#¹6¥Õ H,xè@5§ü ¿ýx$ ·l$ÉY³fåÚ/)þ„¢(ŒŠŠþÒ—””Ä2eÊxí”5Mã˜1c„Ò#É^½z¹íôt]ç}÷ÝçõÚ .p„ ,]º´ó«ËT"‘dMÓØ¤Iá¶CD¾ÿþ{ŸtÐuAAAüòË/3}ϱcÇf‰!¯(JúØneÛ¶mN—é¹õƒJÅŠyèÐ!×l¿ ? ;â4€jôûFr›íI«Xôà âlPÈ~<œ¤3çÊ•+³dm©Ä;Ÿ|ò Eå?þ`PPGc]Ó4-Z”§NNóþûï÷¨Ûwß}'”Fjj*—,YÂæÍ›[kC"‘džÈÈHá¶CTì“s‡!>pà@&&&ú|¿3gÎ0444KÊCQ®Y³Æã}ž|òÉ4®`s#7æùóçÙN!Ù@!öC€ ô»Fb-iµ >PÀû”³×HN£]vîÜéüÊ,ÉZ4McåÊ•}^2pàÀ6hЀÀ_þKŠBBB¸mÛ6á´âããÝv~Š¢°xñâ™Zΰÿ~4ˆ¡¡¡r©“Dâ§xèïÛ·Ï´ž9’ï¾û®P›˜˜ÈZµjùlh«ªÊzõêñøñã>·C&LȲr*V¬Xš=k{öìá˜1cšë?˜tíÚÕ5éU’¨à û¡4ýÀž‘XdGZ­€Äâ(`€4pùm8IIž:uеk×¶¼1Ë,Y²„™•õë×sÀ€lÑ¢›6mÊqãÆùé£>rk䫪Ê7ß|3Óº‘ä•+W8uêTV¬X‘€\ê$‘X£æÏŸŸ… r{Ž¢(œ9s¦iý¾÷Þ{©ëºppÌ#GŽ0<<ÜgwѺ®3222ýf^SIJJb… ²ÄÈ×4Í›7gŸ>}œ^êò‚ÛëáÇÓf³9Šô$ÉZîp†ÝP„~`ÇH¬Ãr$Ö Àwnèèò[’ $yõêUÆÆÆZÞ¨åt]gãÆiµÔ«WÏmgÀsçÎeÉ=l6W®\ÉØØXsB"¹Í8EŠáÀùË/¿099™ÿûßÿÜìu]çã?nZ¯ÇO¼ãŽ;˜””$Ô|ûí·™ÊƒªªT…o¼ñ†«Qk*Ë—/Ï–²ÌíhšÆiÓ¦¹å_$KxÀMöBýÀ~‘X‹å Hü*€I0ÂÔuù­1És$™’’ÂZÞÀå6lØ@+åÀnõ5"2#÷Ýw_®Ÿþ—H¬ÄuORéÒ¥9lØ0þþûïŒïñãÇ{З)SÆ´.oß¾ÝyþÈ‘#…Û€ÜÒ‡„–-[òúõëÂ÷‹Í3ÆVÎüѵWŒ0€ † Òì‰õX®€Ä¿0@ Œ°õŽèÖI¤]&Nœ(׹ߺ®³}ûö´Rl6›Ûˆ×¶lÙ’å÷Ü»w¯åe/‘ävùÊ+¯˜îš?¾×tΜ9ãõz›Íæ\¥i7oÞ,Ôܼy“5jÔÈ´a/ê1É!‡öêÂZò%J”àöíÛ]‹oÆèÑ£ƒL‡a ¢Ø)ÿÁr$þ€60¢N.ñ$ ‘\G»,X°€!!!–7z9MÓ¸ÿ~ŠÊ¼yó2ìÉ›¼ÿþûu«W¯^–®¯² IDATÞË! ž…ƒT‰$s(ŠÂk×®™ÖÇmÛ¶yMgþüù¦iôêÕË¡R¥J®p½ÊÁƒŽ2“ÇÀÀ@ŸÁ½ôÒKr¥ 5jÔpÝÀn#ù"€ËaØmèö‰Ä¿°\‰ .€30\¸·"ù í²qãF)RÄòÆ/'¡iûõëGQY·n0**гfͺåàO$¹víZyÔQÔ?û•+W8bÄ=zÔôÜK—. :UUeþüùLò+¢DbGôëýºuëLëäåË—=^ÀgŸ}Ö4¯¾úÊyªª:t¨PÛ‘þZ_Ñ4íÚµ¾×µk×%xà\#…ß$ù€’vÀ°êÒì‰ÿa¹ÿ@4€=ލa?®O»9r„UªT±¼Ì)ñôéÓ•úõëSÓ4gçwçw _ëN¾úê+xœ(T¨°_ö©S§0¾|ÆÆÆò§Ÿ~ò¸éqòäÉ>}uœ?>¸dÉöîÝ›ùóç' ’¼‡càÀÖ­[söìÙl׮Dž¢(œLNNvÓy’÷¨ àŒþ?š~`HüËø70"Rþà2€\~ëK2™4¢ßwß}–7†þŽªª>m@\¸pa†4J–,)|½«lذ={öô·AÓ4Ÿô«X±¢3-‡AS¾|yN™2Åõ«m6Ë–-+4ˆÐ4 4Èp¯””®^½šƒfñâÅ÷”Ëž$¹Ç`9$$„]»vå7ß|Ã+W®8ëÃÖ­[=^«ë:{ôè!T‡ëÔ©ã1MÓ„–EÕ©SÇY5Mc™2e„®#É7n0&&&Sû#qv\ `SiÔ¨‘ÜdmGQŽ;Öµx‘¬à!W`ôûùévˆÄ±\‰ÿ Àg’ôqùí!’WH#˜P=,oý™ÈÈÈ4Ƶ7IIIaÅŠ3̸3°ÓËòåËÙ£GvìØ‘-[¶ŽÓ iOž<)¤ßÏ?ÿì±cr½0`÷ìÙÃüѧŽmÓ¦M¦÷ß²e _~ùeVªT‰€1@“K$9Çû›/_>>þøã\¼x±×=÷ß¿Ç:]±bE¡zܽ{w¯û”V­ZešÆ¨Q£Ò衪*  t’Ü·oƒƒƒ3ýAà½÷Þ¾×¶mÛ䇀ÁÁÁœ;w®kÑüN²0€¾0úùÏÐì‰c¹’œ€WíÐ8ŠýxM’'h—É“'Ë/=nP…S¦L¡¨Ì˜1#Cš¦±K—.¦×Ž1"›Gt]gçÎ…õkÛ¶­Ð 0[‰¼º®óÑGÖÁ!û÷ïçøñãY·n]ç Fº‘•ä44MãOø€E‹µü¹K$îðTwTUåÃ?ìÓû^­Z5õkÍš5¦×{3ÞUUe³fÍLÓHIIaDDD†k‹/ÎK—. çå‰'žÈÔl¢¦iìÓ§ð}vîÜ™gg#|ðAž?Þµ8ÞŒŽŽ†ÑŸ'èE?°3$9Ëä<4pÀ:Qöã$?¢]NŸ>ÍÆ[Þhú _}õEeܸqn;9UUùÎ;ï˜^ß¡CŸ:cUUY­Z5aý‘j³rÆIUUŽ1BX3q,á’H¬Æ5J{Ù²e½ž[¸paŸÞó/¾øÂã='Mšdz½§Y!!!Bá:uꔡ=Ð4ͧ •ׯ_gåÊ•3Õ®(ŠbÛ&))‰ï¼óCCCóÜL„¢(|ùå—™ššê(Ž+$;ˆ‚Ñ_ÐŒ~`_Hr–+ É™ˆ°À)\~{‚di4Úƒ ²¼õš4iÂ?ÿü“frþüy†……yLGÄýê½÷Þë³~3fÌ0M×!6›?ýôccc³dé¢(,P €ð~IÿeÔÛ½­~7$¹MÓœKëêׯω'òèÑ£LMMett´×÷ÎïmIII,^¼x†ôt]g·nÝL¯?{ö¬i^DÚ­Y³fyÌÓ’%K„ó³{÷nù\/5Mcýúõ=z‡[¾|9Ë—/Ÿ'ë{¾|ù¸hÑ"×âØK²*€F0úï½bèv…$ça¹’œ Œ@4 $èò[’q´Ëœ9sò|`:‡'¡®]»òðáÃô$C† ñ:‹°zõj×:ÄW—»ùòåãõë×MÓu'GŽá°aÜF{f77ôÑGæ7#= ®’ |_MÓXµjU§ÞŠ¢È==’Láxo4McÓ¦MùᇺL™2Å«1»lÙ2Ÿêà¤I“ܦW®\9¡ëñXÜ!ê.öĉ¯ŠŠb||¼p~>ùä“L?ƒÏ?ÿ^ãCˆýx!’N'Þ;vì`ùòå-oT­ÆÝõé§ŸæÙ³gé*ÇŽ35`ÓunÅ—€š¦qذa¦išÉõë×9}útÆÄÄ8Ó¹¿ªª¬T©’ÐfÒ•+W²páÂܽ{·×óŽ=êS'K®&7nÜÈ?üO>ù$«W¯ž&r`!1 ׯ_Ÿ³gÏ65˜¯^½Êððp÷xýõ×Å+ îfÞEÚ“PµjUyòÅá‚ëÇ G}iذ!—.]*4øw3¯QžÊ®H‘"¼rå ¯]»Æ—^z‰y¶îvíÚÕÕÕn ÉáB`ôÓ)^ Ø’œå Hr0öIü `€²öãÉ·h— .°U«V–7®þ€¦i áèÑ£^TºwïnÚá]½z•fâK@6EQxäÈÓ4}‘víÚùdˆ~ymРðÔ©S^Ïûý÷ß…î«ë:{÷îí1›7oróæÍœ6mûöíËš5k:Ÿë:wIîÃ5À#–)SÆkÝÔuMš4®#Ï?ÿ¼Û:¢ªªO‘˜òâ‹/º}ýõWÓkÛ·oïuf¤H‘"B: 6Œ€Q7ZµjÅõë×ûœ‡\½z•*Tðy ª*cccóttj]×Óï‡9G²9€²0úç!÷?H²Ëä”ð€x¹üÖ‘öx©©©|õÕWóäÚTw¨ªÊ‚ ò¥—^2-“°°0šÉµk×|êl|õc&.\ðº<"ýýE /‡;Ëàà`Ós,X \S§Nõ)‰‰‰Üºu+§NÊ-Z8œ¼úµ37 iZƒ>**ŠíÛ·çØ±cùÓO?9gêÕ«gZGùå¡÷èï¿ÿöhä/^ܧw’4Y¤E1<ÿüó¦ï¯·%˜ùå—_سgOîÚµËgýÝÉ_ýÅÀÀÀLõyuQ´hÑô^¹¶,#€\<Œþ¹4ýÀ^ä,W@’»`:€T¯à¿xUIî£]–-[ÆÈÈHË] }ÔgOT¨PfrüøqŸî½bÅ Ó4}Oë³=å{ÇŽBéÖ«WÀ˼Éûï¿/¬Ã† LÓó&W®\ႠأGjš&9jÕªqôèÑ\²d Ïœ9ãñY?óÌ3^gù4Mcݺu…ß.]ºx|_Ò¹á$Iž;wŽýúõãæÍ›Ý¦÷ä“OfX‚×µkWS=¦M›fZFé÷Ü.ÑMbаaÃôÁBg;v,F?œ £_¤Ø ’܃å Hr'ž`1€üöã$Ò.‡fÍš5-o|s M›6¥™lß¾](-EQX®\9áµÊ"çÙl6SÏ34Móº”ÈU~øáçu"ë³_zé%!c^UÕLo(w'{÷îeóæÍù³ú}É‹hšÆÀÀ@á/Ѻ®³W¯^BÏד;Õô,^¼X(½7zLÃ] ¶sçÎÛ¶mëñýK_÷J—.mª‡§èóØ·o_¡]·uëVŸFäjÔ¨‘~ÿɯ$‹xF»@!ú ɽX®€$÷@0€ À$ºý·²$·Ò.û÷ïg:u,oœý•¶mÛšväü±i:º®³ÿþ^Óq•»ï¾Û­»ÓR¥Jñí·ßæùóçyøða¡eLޝÆ"ˈl6kÖ¬™æÞk×®5½N$N†¢(œ2eŠpdFvïÞÍ‚ z]Š¡ëºPT_³ejŽr8p ;wîÌ{*T`þüùÝ>ul ë:›7oÎ7òäÉ“Bђ݉'ïGž‰¿B’Mš41R…ÑÑÑBn‹SRRX²dÉ Ï#::Úc¾c çö×Ù UU9~üxS=¢££MËhéÒ¥¦éx’ëׯsêÔ©iw³f;þäÉ“lܸ±åï§? ( Ÿ}öYÞ¼yÓµˆ& 4(FÿjƒÑߪôƒþ_’»±\IÞ@;—¬e?Hr"IiD`>|¸\¾áMÓÎ7ß|“7nÜ ;7nœñdkÁ!;vìðÚ™9¾~W«VMØhK7ýîQ.\˜áZo_’?~!=Ö­['¤‡‹¯uŸeùòå¦z(PÀtùKbb¢×¯ÅªªrôèÑn¯MNNæ™3gø×_ñçŸfLLŒßÎVòùçŸÏty;dÓ¦MÂ÷TEÈ‹IŽ1B¸ì¦M›&”æÄ‰3 "<ÅxpÝ—ñôÓO»Mï»ï¾KÓftêÔÉT‡|ÐëÀR×uŽ1B(?®Ï×_‘‘‘ÎÞŽü………ñï¿ÿözýÞ½{Ù»woêºî·ïìí¤X±béaüK² €(ýêeíèý½$o`¹’¼€ÊvÃðUÝÚå·$~ýõWŸ–$ä%Q`gÍš•áKíСCM=ÈÜÿý•>}úuÞ"MÓxÇw­·Ùl¾…„„˜^—˜˜(<#"sÃf³1þülذ!ßxã nÛ¶M¨Ü\¥}ûö¦e(âS¿zõê^ósìØ1Ó4¶oßî·³Žw$ûL‰Ífc±bÅ„ïÙ¥K¡tEÝ;êhBB‚iš—.]r»”ÓÝìˆë >000CÀJÒp£]®\9燘%J˜êðôÓO{}GEa£F„ʈ4"X?÷Üs öøAH×u6kÖÌ­Ó† 6°mÛ¶2‚¼ mÚ´á¿ÿþëZLËIÐFº@eúA?/É;X®€$ï À,{ãø!ÒF¹vzoºpá;wîlyãí8:æ*UªpÉ’%Ž"ãã?nÚé~÷Ýw‘óçÏ3(((Kõõ£?þü ׊¸wýûï¿…ôq—K’$6¸ÜOÜ4OÆ5MŽ·Ñºuk¿7ÊæÎ+\¶ÞäÙgŸÎkÉ’%…Ò}¿ïÌĉ3¥«¢(nS‰‰‰Îµ¦i÷I¥wzîÜ9¯÷÷ÝwM—é—и•ääd†‡‡ ÏL~üñÇ$ß²e˜˖üý=½]„„„ð£>r-â’ƒ‹/ £ÿ$Œþ4Œ~пKò–+ É»è#ÎwºüÖ—¤s ɧŸ~ÊððpËsÄÑQ7nܘ7ndëÖ­=Š¢°xñâÂëÌß~ûmçu·ª§®ëŒºojj*«V­šÆýZ,²ŒEÓ4vïÞ]H—o¾ù&Ãõªª²L™2ܺu«yvéÚµ«W£HÄûÍ”)S<> ‘¼›7o¶ü}At i&ëÖ­óé¾f†¶C *$œfdd¤Ð€óÈ‘#iž­®ëßQ×=?aaan—=%$$°`Á‚ÎóÌâÁ,^¼X(?¢Q¨[´h!4ˆP…!!!|ÿý÷ãÌ»Õï ¿P«V-îÝ»×µhw’¼À0úÍxéý¹$o¢BŠ‹„äB5œ°YQ”¡Š¢(f¨`+ôîÝ;vì@ƒ ¬SÖO%55°yóf4jÔ+W®I·ç*Š‚gžyš¦ ¥Ý¿L™2åÊ•躞i=IbâĉBçΟ?û÷ïwæ 0t¯T©’éµ§OŸ6=Çf³¡N:Bºlݺ®?uê:uê„›7o ¥Ó±cG¤¤¤xüýСC8|ø°×4jÕªåöÙ†‡‡£cÇŽ¦:¼òÊ+·ô o—+VÌëïÿüó>úè#\ºtÉëy7F‘"E„ï»eË¡ó6l(\‡®\¹‚wß}×ô¼òåË£]»vÎç“’’‚Í›7»=·N:Îóðá‡f8'88C† qþýçŸz½ÅŠMuTUëׯ7=Zµjå±r’HNNÆàÁƒqðàAðZOòŠ(Š‚aÆá?þ@LL ` *¦ÄÅÅÕWåA›aô›5íý¨)ÖˆÕ£‰€`8€$néŠÛ 9žö˜ÉÉÉ9r¤ <äoe~M­Øl6®X±‚±±±TÅçò×4Íã&Ðô’ššÊÊ•+»½‡È†ì?üPhædÍš5Bú4mÚÔczªª ¯ß¿råŠéšówß}×k—/_Π‹¦iBž¶Ö¯_où»)ŠY\G<’/¾øÂ4ßÞÓ3fÌÓôHr̘1>Õ°°0!÷¨éݳ*ŠâvSÿøñãÓì3(X° [G ñññ &¶k×Îë½Lë¦i³‰{÷îµü=Ê©”(Q"½[Þ3$PFÿ˜£¿Tèý·$oc¹‰³ûœGZMHž ]Ö­[DzeËZÞØç$|‰ÌëMŽ9ÂaÆ1_¾| äE+<<\x©Èܹs=¦#âMiäÈ‘B>ïEcdDDDxLGUUÞ{ï½Bét.×p‡¦i¼ï¾ûLÓ(]ºt†k7oÞlz]“&MrÄ2‘€€Ó¼|ýõ× ´$í×_º¯ªªÂò?þèSž4Mö8U«V­4”ßÿ=Ã9Ë–-Ëð>O:ÕmzÏ<ó 0**ÊôÞE‹5ÍK¾|ù„£Ü—(QÂò÷)§Ñ¾}ûôÎÅ$ ÃðlxFÿX‡~Ð_K$$a¹‰+BL·7ªÓ„Ú+@ò[ÚåÒ¥K2Òµ4mÚTø ¼™\¿~3fÌðj¾¹Ï´ÙlÎôÜ}éuç‰&½ˆx“*[¶¬>"‘|u]Š@Òë~GžÍ¾ÂwìØÑY6Š¢0&&Æô¾«W¯¶üÝ¥xñâ¦ù™1cÃ5®™A›’’ ݻP¡B¦÷&ÉsçÎùœ¯ÀÀ@ž:uÊ4m×A´§ÁÁñãÇ3Ô±%J0)))ùǎsôÿùç¯÷ hÀc´ìôòÔSOÉq‚„††rÆŒ®Åwdxî%¿@î‰âWBòÉ~:è`›¢(u\Ð@o×òçÏ/¿üsçÎE¾|ù,Ô8çȺuëФIT«V 3fÌÀ72Vhh(úöí‹Þ½{CUÝ7#ªª¢dÉ’¯¾ú*ùeË–E—.]˜ï‹¨R¥ŠP9‰î‹(]º4’““…ÎÍËR¯^=l߾ݵ.oPWQ”ÍöÿwÐd?’™o´¥HÉ‘ƒ)~)$ÁØt}À&EQ†+Š¢ø @-Àc=†={ö M›6–éšSÄa\8pýúõC±bÅ0lØ0=z4SéÙl6¼ÿþû éñ÷‰'"((H8Í¢E‹¢oß¾øé§ŸpþüyÌ;:tÞmf’Dݺu…ÒÚ¶m[†MÕî$!!A(½|ùòy,+Àظ¾téR¯iÔ®]Ûù5MC=¼ž¿råJlذ!GlVUUUÈ8¿zõ*TU…ªªX±b…éù;wοèæêÆû40KMMŬY³päȯç`È!PÉÉÉ7W׬Y3Í`RUUŒ;Öíû5|øp惈 *Àf³y=G×u¯ƒˆÔÔT|óÍ7¸óÎ;1jÔ(á èyQBCC1aÂlÚ´ •+WŒHÓï¬Y³ænEQÚØ£ÿ«iï¥Hñ?±z*D"ñŒM×Ã$ø@Iûo:É7H:×’Ì›7QQQ–OMç$4M£¢(|øá‡¹bÅ áõÎ$¹hÑ"éêºÎ»îºK8-3ÕËÕ­¥'V­Z%”Ö< ´çCt¿Gß¾}M—w„‡‡»]–â“'O:ÏíСƒé=ëÖ­›c²_¿~¦y6l¨ª*7nlz~rr²s7t]÷w!½L˜0AèÝHŸþc=fš¶ë†hMÓÜÆfxúé§Ý¾KžbÀ|øá‡Ü¿¿×ûºsgìŽÒ¥Kg¸öÆüðÃY¦L§ÞV¿OþL‹-xäÈ×"}z†´5Mc­Zµ„ôw'[¶l·cÇ… øÆo8ᆲò ägŸ}æZì6’“ÌcÙR<Œ~®ý ß•H̰\‰D!>¶7ÈóDÙÓH£±$¹jÕ*V¨PÁòN#§¡ªª3ÔÀ=n¢ôæÂQ×u¡ÀpY-®_é=QªT)¡´Nœ8!T^wÜq‡°~ 64MO×u>ûì³^ÓiÞ¼9‹)â5h ÍfcÍš5sÔaEQœÑ‹½I·nÝÒ .\hzMzFžšõºzõj¦‚0êºÎ6mÚ˜¦àÀgúÓ¦MËðûÆ=ÞcåÊ•¦é»“ .çãÝwßåsÏ=Ç9p¤[·né7·ï'y/€(ýaôo!ôƒþV"Ár$_ÐÀA_mžpù­ñIòСCÂË‹ÌdñâÅ^ó¡ª*ß|óM¡´F-äžrΜ9Âúy‹9‘žÝ»wg¶œ®rs¢‘'b\ßsÏ=i®)Y²¤P¹tïÞ](VÆ—_~)”žÈ)wèºÎ&Mš˜¦ÿË/¿k×®íöww1C|)Gw"ÛɬCUU<˜W¯^u-âM$ïPÀ*ý×xÁôƒ~U"ñËHn{%þpÀPšý·¢$¿¦]’““ù¤ï‡â IDATöÛo{4~%æ(Š’w¿GFFòÒ¥K‘ÔÔTV©R…š¦±I“&œ:u*?.t­;™6mši~úé'¡´bccM—ièº.œ×›7o /Ñ4Mx°ãNÁØr"qqq¦ù«Q£F†ëöíÛgzÝ÷ßoz‘ådŽî ³½/$Y½zuºÝlß¾}{·E]×Ùºuk¡<¤—G}4G>ý;7nt-Ú«$ŸíÛ·o€çaôWBî}äp,W@"¹Uh0ø Ðµ]ºt15’ƒ‚‚„¢'&&Þ²Á½xñb¯÷HMMõøÛüùó=¦«i»wï.T&Û·oç¨Q£XµjUç»gõ»¹÷Þ{ÓψýKò1¤]z»i—ÞJ$9ËH²ÃØt½À½.¿5"éüºspššÊõë×sèСÎ}®3߈ˆˆàÿÛ;óø¨ªóÿ¿ÏÌdiXMØ·DET°¢•± µ HµvÁŠ?«ÕZ í«ÚŸZ¨_ô÷“”ŠÕV°úú‰Å°´Ôª –( –°ÅÖÉóûãÌÍ,Ù’ÌL’çýz=¯™Ì=÷Þsçfî9Ÿó<ç9/¼ðBhV¯—E$…à$ ß“hÕÔÒ¢^5µÆ0 ðwì* /m}ÛâEä 9#>Þ}÷]¹ì²Ë¢Þ5'sFhÛ·o/?øÁä­·Þ’“'OŠˆíÄôíÛ7ì‘ùp'/W+ï˜Ëå’yóæ…uœ¹sçÖ9Â|.üƒžsœ¹Çã [ô8dffFý¾×Ç™l\^^^ãþáÌw9~ü¸$$$ÔY—E‹…õ×–¥,\ w"w(^¯·Ökq»Ýò£ýHDDÊÊÊdÕªUrï½÷V†êé܇úÛw¾óÙ½{wàmÉ‘€öÀ‹Øöçï@'‰vQM­¡-êPSkL&@!psÀ¶"òøðz½òâ‹/J§N¢Þ057s²%&&ÊäÉ“å§?ýé9ín¦™Ž;Özœ4‹52iÒ¤;X.—Kî»ï¾°Žãðä“Ož—w 111¬ÑuZÓ½{÷&ë…ðx½ÖTÄ¡bF­~Ö­[7Y²dIhèÒ±i[»o`Û™ç€ÖퟚZcZÔ+ ¦)®6_c³cÄû¶%‰È\±ñ6b×/˜8qbÔ­–níÚµ“p¨k2tÇŽÃ:NYY™üð‡?”¡C‡ É+®¸BÞ|óÍsŽ__¾|y½®ÿ¿ÿýoXçIKKkÒ1ín·[þð‡?Ôy‡’yóæÉK/½$k×®•;v„•Ñ)’’’:×q»Ýay¼^¯Œ7Nzè!Yºti‹,VTTÔè0ÆHçÎÃö:2þü&}ß›Š%&&Êc=&ÇüúwˆÈ$ Ûž”`Û—«$Ú;5µHXÔ+ ¦Ió=ðJ±ÞCœz‰ÈR `Íš52pàÀ¨7b-Õ.¿ür ‡Ï>û¬Æc¸\.™0aBXÇ ¥¼¼üœ<œL˜0¡Îû’ç¿ÞŒ;¶Fo™1Fž~úé°UPP ,ÐÅá"`S¦L ]¿ä˜ˆ<,"ñÀÍØv¤Û®8Sjj-Â\(J BDÊDä÷ÀÅÀzà-cÌjcÌ@l ëTàà3€qãÆ‘““ÃÂ… III‰Z½[".—‹¼¼<î¿ÿ~V¯^ÍÙ³gk,»oß¾·c1bÄyÕÁív^ûÎ;—={öàõzÏk€N:ÕY¦¸¸˜òòòó>G¬Ð¥K—ˆëöÛo¯õ¾cÈÎÎnÐs^qŸ\Õ7¹"Âoû[JKKkÜûöí<õÔSŒ1‚ÔÔTxàrss´ŽŠŸáÇóþûï³téRRSSÁN’^ \dŒYaŒù'ð¶¹XD~/"eQ¬²¢Džh«5µhp9°(þHñms‰È © ¤?zô¨üìg?k£¾MÉœï»uëÖ2mÚ4Y¶l™”––J ‹-ªõË—/—HòÉ'ŸÔ;ûÇã ë\[·nú=j;×ÅëÃÑ£Gký{<¹ûî»ôœo¼ñF­×ïr¹dΜ9Aûäääȯýk0`€€õX4ÕÉóMźví*ùË_Bç=¼/"Àl;QŽm7.—hÇÔÔ¢eQ¯€šZ,pÖqøàñmk+"€”°yyy2~üø¨7v-ÑœŽ_\\œdddHff¦Õ™–µ°°P"ŶmÛ$99¹Þb³sçÎaï?ÿùOÔïKCX¸«‰7×_}­Bï /lÐóÔù´jÕJÖ¬Y#?ü°¤¥¥ 葲ÄÄDyôÑGC(v‹ÈTÀƒmŽbÛ‰;$Ú-5µh[Ô+ ¦+$s€“ÀV`|Àö¾"´¼ìŠ+¤_¿~QoüZª¹Ýn1ƈ1FÚ·o_c§=99Y"Eaa¡tïÞ½A¼UC† 뜯½öZÔïE}Íãñ„Žü6:uy¯Œ1RRRÒ ç ]m;Ô/ƒ®áY»í¶Û$???ðV»žÐ7€ñØöà$¶}H’h¯ÔÔbÁtN„¢ø›iÐØdùb_û;€IÀ À€ŒŒ 6mÚÄsÏ=G×®]£Uí‹×ë­|;v¬ÚyƆ‘ú¼÷Þ{\yå•Õ{Ž‚1†îÝ»‡U¶¨¨cL½ÎmRRR"~ ·ÜrKsD„O?ý´ÁÎ'" 2·Û]c™ŠŠ €zÍ£QÂçÚk¯åƒ>àõ×_'--Íùøo@?cÌRcÌ?€,l{ÐODæˆÈÉ(UWQbO´+ (±†ˆì¦cóM¾÷¿‘5Àà>`n\\\òO~òf̘Á /¼À“O>É¡C‡¢Xû–‰ÓùªŽ5kÖÐ¥KFŽɈ#>|8Æ k0áwúôi~ùË_2þ|\.Wƒt=;w«lQQn·»IO®îÖ­[ØeOœ8Aaa!………ìÙ³'èýÎ;9xð ùùù´mÛ¶ÖãtèÐk®¹†÷ß¿Ú{æv»ÉÎÎæºë®;çë((( ;;›ììl>þøc²³³9~üx“|ÍQ£F1oÞ<ÆŽøñ'À,cÌVà×ÀàjY…j*JìmWˆšZ,`€ïûCÀ·o{²ˆ<%Öõ-""Ç—ßÿþ÷’œœu½Z°¹\® I©;v” &ÈO·GˆÈ­"²)ŠÕV”&‹©ëá©(JÝc®ÂÆ×~ X üJD>ñmîÍ/>;Q›}ûöñ»ßýŽÌÌLÊÊÊ¢Pc%Ö9xð ;v¬µÌ±cÇh×®]„jÔx¬[·ŽQ£FÕYnĈa¥]u»Ýôë×1cư{÷nòóó),,¤´´4¨œÇãÁCyyyBB‰]zôèÁã?ÎôéÓ‰‹‹s>.žcúcŸÏãcŸÏU'¼(ŠrN¨ˆP”Ä3ÛX}x xBDr}›¿*g|0wî\–,Y¢0• }ôQºvíJçÎ+­S§N$''W–Ù¾};_|qkÙ0|õÕWôéÓ§Æí§N¢°°ë¯¿žÝ»w‡uL·Û1¦r=¥ùÑ©S'{ì1î½÷^œaSs?kŒIæb×øy+þÚ*JóCE„¢4Ƙ°×Hàu`Žˆäù6à §üîÝ»Y°`™™™UFK•–‡ÇcçU',=)))tîÜ™¤¤$6lØéê58Ÿþ9G ZûaÏž=äçç³wï^Íp¦ѯ_?|ðA¾ûÝžþøƒ1¦3Öû{;vâô"²:*•U”fŒŠEiDŒ17aÅÄìJ¨¿‘¾ÍWbÅÄ8§|II ‹-bÁ‚F¼¾JÓÂY¸¬9=ÇÝn7.—KCŒ”*Œ3†Ù³gsÓM7.Úw ø?À“Ƙ¶Ø…â¦aŠ{BDþÚ*JóGE„¢42ƶv·bC™úK€y"âÄeŒò•qƒ^ºt)Ï<ó Ÿþyj­(Š}<·Ýv³gÏfĈ› …ƘVÀ¯€ï_b…Ä›¢EiTTD(J„0Ƹ€©X7{ð2ðl@˜Sð0híì·víZžyæ²²²tdVQ”A›6m˜9s&³fÍ¢W¯^›¾Ä.ðù²1¦7ð ð]ìâqs€¥"Rw /EQêŠE‰0Æ7pð¿€K€w€§Eä]_‘öÀ½ÀÏ€nÎ~[·nåÙgŸå•W^áÌ™3‘­´¢(JèÑ£³fÍbæÌ™¡™ÇÞžþéK`ñv^ÙVைHÓ]º]Qš *"%JøÂœÆ³±©a?Ã6’¯‹H9ÜáÛ>ØÙ¯¨¨ˆ… òüóÏ7ù5EQ†ÊìÙ³™:ujebÀ üxÚ³;Qú!lrŠcS¸®Ô°%E‰*"%0Æ\† SýÀ SDŽùŠ\ïÛ~£³Ï©S§x饗øãÿÈöíÛ#]eEQ”zaŒ!==Ù³g3vìØÀMÇL`¾1¦»xç, +°xFD6F¼ÂŠ¢¡"BQbcLlc9»0Ý‹ÀŸDd¯È l ð4  ¢¢‚åË—ó§?ý‰wß}WçM(ŠÓ´iÓ†iÓ¦1kÖ, ¸i/ðð1m°!?X,M[§(1‚ŠE‰A| èL¬ è†ôÍIÕÔø)pp³ßŽ;ÈÌÌ䥗^¢¨¨(µVE©™+¯¼’™3g2uêTZµj¸)šôwcÌ¥ø½²û°^ÙE"¢ è(JŒ¡"BQbcŒ<¬Å6¶Y¾8àVÀt¬Ø¸ÐÙ¯¼¼œ·ß~›E‹±jÕ***4Y‰¢(‘'99™»ï¾›{K/½4pS° ø£1æ_@:ö97øûœsæ‡)Šƒ¨ˆP”&‚1æZüIò°iÿ*"eØÐ§ë°Þ‹É@‚³ßž={X¼x1‹/¦   âõV¥eaŒáÚk¯eæÌ™Üzë­$$$n.‹1û»±!š¨š©NQ”FE„¢41Œ1°î]À1ìâu™"²ÍW$Û0ÏĦì܉իW³hÑ"Þ~ûmΞ=áš+ŠÒœéÒ¥ ßÿþ÷™1c}ûö ÜT¬ÀÎkXiŒ¹;Yú{@[à‚×ÌQ¥  "BQš(Æ˜ŽØE–fbWÂþ/6£É?Dä´¯Ø(lc=Hrö-**bÉ’%dffjf'EQΗËÅøñã¹çž{¸ùæ›Ó³ìþ üÅ—eé6ìóh vѸEÀË"r(ÒõV¥þ¨ˆP”f€1欘¸ 8…ÙË‘\_‘¶ØŒN3±9Ö+y÷ÝwÉÌÌä7ÞàôéÓ(Š¢ÔE¯^½˜>}:Ó§O§gÏž›Ê€ÿ‡ÿ6Æ Â ‡»€o`×}X$"ïEºÎŠ¢4,*"¥aŒ¹(Ó¥ÀÇØÆü59î+6Ô·ýN¬¸ ¸¸˜%K–ðꫯòÉ'ŸD¶âТěgý5ìàǾ"IÀ_™Qûîܹ“eË–±lÙ2>ÿüsEi™$&&’‘‘Á”)S¸é¦›BS³ž^ÇŠ‡÷1#±Ï“ï`“=,Å>s6DºÞŠ¢4>*"¥™cŒ eÊÅ6ú¯Œ ^ü›N65pÿ;vT ŠœœœÈU\Q”¨Àøñã™2e 'N¤uëÖ›X‡”xÕc°¡J÷ƒÏ°^‡¿‰È±W]Q”¢"BQZƘaX1á¬x]]|òXïÅí@Àý¿üòËJA±yóæÕZQ”Æ&>>žn¸)S¦0iÒ$Ú¶m¸Y€°ž…×½!ó°Ê€¿aŸ%ŸE¸êŠ¢D ŠÒ1Æ´Â …™À•ÀWÀ2`™ˆltŠaܦb; ]‘——ÇÒ¥KY¶lyyš™QQšqqqŒ7Ž©S§2iÒ$Ú·oZäüÂa·1æ2läìâ–°^‡¥"r"‚UW%P¡(-cÌ%X¡0èlÃ/(6ùй€oúÊ}èxŒÍ›7Wz(¾üòˈÕ]Q”sÃãñð­o}‹)S¦0yòd.¸à‚Ð"±Âa°Ó—]Éc'P/à ‡­¬º¢(1†ŠEQ*1Æ Æßa¸»2¶ÓapÜ nàZ¬ ¸»¸]%999¼þúë¬X±‚œœô£(Ñ¥uëÖŒ;–›o¾™É“'“’’Zd3~á°Í· ¥3°0ØŽ`!7tgEQZ&*"E©cÌPü‰ÞØŽ†#(œÕ±=À·|å&Añû÷ïgÕªUdee±fÍŠ‹5»£¢D‚žžNFFßüæ7‰-ò~á°Õs1þßû¥@>þß»¦hS¥ *"E©cÌåø=½€ü#“;|Åâ뱑 @rà1¼^/}ôYYY¬\¹’O?ýT½ŠÒ@´jÕŠ±cÇ’‘‘Azz:©©©ÕûxûÛÍ5ÆôÅÿ»àÿ]gG¨êŠ¢4QTD(Š6¾tŽÙ›ºcS::|_Q7v‘©ñ@:0;¯¢’ƒ²jÕ*V®\ɪU«8räH„®BQšýû÷¯ ×\sMuÞ†ãÀZ X ì2ÆôÆ/†{±§—‰v E Š¢œ>A1Ûq²7å`;+YÀ:)÷ïÜ€7øþ®¤¢¢‚ììlV®\IVVÙÙÙTTTDèJ¥iàxÒÓÓIOO'--­ºb›ñÿ?0ÆT`§éXQ?ØMï¼ û;ÕŽ€¢(猊EQê1Æ\ cJÇ€á‘B_qÖ3áx)Fb=•9r„Õ«W“••ÅÚµkÙ»wod.DQbˆ¸¸8.»ì2®¾úêJoCBBBh1çwæ‡BcLü¿¯q@[`“oû àQ•®(J½P¡(JƒcŒéŽäsÐ'ÆñRœõOÆÎ¥Hnº„¯  €uëÖUÚ¦M›ðz½¸E‰í۷窫®bôèÑŒ=š‘#G’””T]ÑøEÃú¯`:~_B€¸U⊢4(*"EiTŒ1ì¢uÎÈèe@)Á^Š=NqßvG€Œ"ÄKPZZʆ X·nëׯgÆ ”––6þÅ(JÒ§OŸJÁ0zôhˆÕUøX+ýƘž{Ú`Å…3ÿa}@8¡¢(Jƒ£"BQ”ˆbŒéŠíüŒÇz .ÀÆq;^мm±+jöÙ@ëÐcz½^6mÚä­(((hü‹Q”0‰‹‹cèСA¢¡K—*N7‡`ÏÖc3)9!ƒŽ·áR XƒO\ˆÈþƾEQŠ¢D cŒ+œÕaø3ʼíD}&"e¾]ÜØ‰¡£ð ‹žÕ{ïÞ½A¢"''‡òr˜U"Ã9„&y± ÖX¡1&û{]-~,V@†ßÛ°AD4®OQ”¨ "BQ”˜ÁÓ +(2€k°ŸN02+"«ÖõÄv´a1„jB NŸ>Í–-[ÈÍÍeÓ¦Mäææ’››Ë¡C‡õš”æËå¢oß¾ <˜Aƒ1xð`LïÞ½k M:|ˆÿÿù#à„1æ‚ÅñH ›Ié=ଷá`ã_•¢(JݨˆP%fñå´¿Çj oÓVFnEä«€ÝZcÞœÙUذ¨j9pà@¨ÈÍÍ%//3gÎ4ü)Mš”””J‘à†ÖäapØE°—a3PaŒ¹ÿÿõhà_ù-e?X{EQ%¦P¡(J“ÁÓ+ Gk“€wÔ>˜WáÂÆÂf­ì{mWÓyÊËËÙ¶m[¥¨pD†Î³hÄÅÅ1`À€*Þ…nݺյën ×g±óöc‡‹†.ÀI‚½lŠÈ×rQŠ¢( ŒŠEQš,avÎÖEd_Èî½°‚ƒ‹OMç+))!77—-[¶ŸŸ_i»víâðáà |uJcâv»éÙ³'iiiôîݛ޽{sá…2hÐ ú÷ïO\\\m»æ,Î y=`Œé†Í2æxÃÂ»Š¢(M Š¢4+Œ1}°7' êlêØ#ø;|Žm‘“»'¨*.jL£ãpüøñ Qúþرc w‘JcèÒ¥K¥@pÌ ={öÄã©Q/:xm‹…\¬ÇcL6Än0Áÿ3)€à»ûv·³Á/TQ%J¨ˆP¥YcŒiƒ g ƒ€ö@ðÁÂb°S‚Žöu<i@7¬@©“£GVÎßEEE£Ïãð‰'%%…îÝ»W½{÷&55•ÄÄÄpw+ ò±ça+pÆ·˜[‚ÿbÃ徦ªgb³ˆèâ%Š¢4[TD(ŠÒ"ñ-Ö*,úcÙŽc'À ‹ÜjâÕ°aQ½}–òÚ)Üúx½^Š‹‹9|ø0GŽáðáÃAï«û¬¸¸˜ŠŠŠóþb…„„RRRèСCåkMï×6mÚœË)Î{°"!;Ù9ðõÖsàÌ» ü¿Œ¡­rà­öù=IDAT BCÀb‰Š¢(-Š¢(>|¹ù,,c=`;¢Û±Ï]ø;¢»€}"Ú£O¢ª°|M®O}+**ªââbΜ9Ù3g(++«| |îkYYåååÄÇÇOBBB­¯á”IJJª"Z·®²~à¹âöâ¿'¡B¡ëu·h[7ì÷Ÿ†ÿ^¤á_wdUç<ä¬Y¢(ŠÒ¢Q¡(ŠRƘ¬ „ a Îxv¥á]TùÀ©úÀm ¤|–RÇk©j›^à(vËá€×ÃÕ|v+îÎøBºP½HèõÅûÎSJ°àø +6‰È‘Æ»;…Õ çõk|áEc¾A°àêˆiø¿ûTì"møÎå|çb!Ø¥BAQåüQ¡(ŠÒHøFÅ;SU\8ï{âw8IÕÑ÷ÐQø ¿Eät=«ê¡fá¡vqp^“2Œ1‰  PoLuŸ…®êV†®Ã.ªŠ…¢j¼?Š¢(J "BQ%ŠcÚÜq®é½ów U…Ç ¬¨(¦úÑÿº¼5½?‹õ~ÔæÅ¨ë}ègø®¥UÈ5”aEQu¡KÕý}DD4o®¢(J”P¡(ŠÒĨExTÊTŸ÷qX!®ègûר PEiòüýÜàøî…IEND®B`‚androguard-3.1.0-rc2/androguard/gui/annotation.ui000066400000000000000000000050171324327352200217560ustar00rootroot00000000000000 Form 0 0 708 513 Form 10 10 691 461 Name Offset Size Value Description Color 610 480 93 28 Load 510 480 93 28 Save androguard-3.1.0-rc2/androguard/gui/apiwindow.py000066400000000000000000000075021324327352200216210ustar00rootroot00000000000000from PyQt5 import QtCore, QtGui, QtWidgets from androguard.gui.xrefwindow import XrefDialogMethod class APIWindow(QtWidgets.QWidget): def __init__(self, parent=None, win=None, session=None): super(APIWindow, self).__init__(parent) self.mainwin = win self.session = session self.title = "API" self.filterPatternLineEdit = QtWidgets.QLineEdit() self.filterPatternLabel = QtWidgets.QLabel("&Filter method name pattern:") self.filterPatternLabel.setBuddy(self.filterPatternLineEdit) self.filterPatternLineEdit.textChanged.connect(self.filterRegExpChanged) self.methodswindow = APIValueWindow(self, win, session) sourceLayout = QtWidgets.QVBoxLayout() sourceLayout.addWidget(self.methodswindow) sourceLayout.addWidget(self.filterPatternLabel) sourceLayout.addWidget(self.filterPatternLineEdit) self.setLayout(sourceLayout) def filterRegExpChanged(self, value): regExp = QtCore.QRegExp(value) self.methodswindow.proxyModel.setFilterRegExp(regExp) class APIValueWindow(QtWidgets.QTreeView): def __init__(self, parent=None, win=None, session=None): super(APIValueWindow, self).__init__(parent) self.mainwin = win self.session = session self.title = "API" self.reverse_methods = {} self.proxyModel = QtCore.QSortFilterProxyModel() self.proxyModel.setDynamicSortFilter(True) nb = 0 for digest, d, dx in self.session.get_objects_dex(): for external_class in dx.get_external_classes(): nb += len(external_class.orig_class.methods) self.model = QtGui.QStandardItemModel(nb, 5, self) self.model.setHeaderData(0, QtCore.Qt.Horizontal, "Name") self.model.setHeaderData(1, QtCore.Qt.Horizontal, "Class Name") self.model.setHeaderData(2, QtCore.Qt.Horizontal, "Prototype") self.model.setHeaderData(3, QtCore.Qt.Horizontal, "Digest") row = 0 for digest, d, dx in self.session.get_objects_dex(): for external_class in dx.get_external_classes(): for method in list(external_class.orig_class.methods.values()): self.model.setData(self.model.index( row, 0, QtCore.QModelIndex()), method.get_name()) self.model.setData(self.model.index( row, 1, QtCore.QModelIndex()), method.get_class_name()) self.model.setData(self.model.index( row, 2, QtCore.QModelIndex()), method.get_descriptor()) self.model.setData(self.model.index( row, 3, QtCore.QModelIndex()), digest) self.reverse_methods[method.get_name() + method.get_class_name() + method.get_descriptor() ] = dx.get_method_analysis(method) row += 1 self.proxyModel.setSourceModel(self.model) self.setRootIsDecorated(False) self.setAlternatingRowColors(True) self.setModel(self.proxyModel) self.setSortingEnabled(True) self.setEditTriggers(QtWidgets.QAbstractItemView.NoEditTriggers) self.doubleClicked.connect(self.slotDoubleClicked) def slotDoubleClicked(self, mi): mi = self.proxyModel.mapToSource(mi) row = mi.row() column = mi.column() if column == 0: xwin = XrefDialogMethod( parent=self.mainwin, win=self.mainwin, method_analysis=self.reverse_methods[self.model.item(row).text() + self.model.item(row, 1).text() + self.model.item(row, 2).text()]) xwin.show() androguard-3.1.0-rc2/androguard/gui/binwindow.py000066400000000000000000000311121324327352200216120ustar00rootroot00000000000000from __future__ import absolute_import from __future__ import division from __future__ import print_function from .Banners import * from .DataModel import * import sys import pyperclip class SearchWindow(QtWidgets.QDialog): def __init__(self, parent, plugin, searchable): super(SearchWindow, self).__init__(parent) self.searchable = searchable self.parent = parent self.plugin = plugin self.oshow = super(SearchWindow, self).show root = os.path.dirname(os.path.realpath(__file__)) self.ui = loadUi(os.path.join(root, 'search.ui'), baseinstance=self) self.ui.setWindowTitle('Search') self._lastText = '' self.initUI() def show(self): # TODO: remember position? resize plugin windows when parent resize? width = self.ui.size().width() + 15 height = self.ui.size().height() + 15 self.move((self.parent.width() - width) // 2, (self.parent.height() - height) // 2) self.ui.lineEdit.setText(self._lastText) self.ui.lineEdit.selectAll() self.oshow() def initUI(self): self.setSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) shortcut = QtWidgets.QShortcut(QtGui.QKeySequence("/"), self, self.close, self.close) self.ui.pushButton.clicked.connect(self.onClicked) width = self.ui.size().width() + 15 height = self.ui.size().height() + 15 self.setFixedSize(width, height) def onClicked(self): text = self.ui.lineEdit.text() text = str(text) hexstr = '0123456789abcdefABCDEF' if self.ui.checkHex.isChecked(): T = text.split(' ') oldtext = text text = '' for t in T: if len(t) != 2: reply = QtWidgets.QMessageBox.warning(self, 'Qiew', "Hex string with errors.", QtWidgets.QMessageBox.Ok) self.close() return if t[0] in hexstr and t[1] in hexstr: o = int(t, 16) text += chr(o) else: reply = QtWidgets.QMessageBox.warning(self, 'Qiew', "Hex string with errors.", QtWidgets.QMessageBox.Ok) self.close() return self._lastText = oldtext else: self._lastText = text if not self.ui.checkHex.isChecked(): text = text.encode('utf-8') idx = self.searchable.search(text) if idx == -1: reply = QtWidgets.QMessageBox.warning(self, 'Qiew', "Nothing found.", QtWidgets.QMessageBox.Ok) self.parent.viewMode.draw(refresh=True) self.close() class Observable(object): def __init__(self): self.Callbacks = [] def addHandler(self, h): if h not in self.Callbacks: self.Callbacks.append(h) def notify(self, viewMode): for cbk in self.Callbacks: cbk.changeViewMode(viewMode) class Observer(object): def changeViewMode(self, viewMode): self._viewMode = viewMode class Searchable(Observer): def __init__(self, dataModel, viewMode): self._viewMode = viewMode self._dataModel = dataModel self._lastIdx = -1 self._lastText = '' def next(self, start=None): data = self._dataModel.getData() text = self._lastText if not start: idx = self._lastIdx + 1 else: idx = start if idx > -1: self._search(data, text, idx) @property def lastText(self): return self._lastText def previous(self, start=None): data = self._dataModel.getData() text = self._lastText if not start: idx = self._lastIdx else: idx = start if idx > -1: self._search(data, text, idx, previous=True) def _search(self, data, text, start, previous=False): self._lastText = text if text == '': return -1 if not previous: idx1 = string.find(data, text, start) text1 = '\0'.join(text) idx2 = string.find(data, text1, start) idx = idx1 if idx1 == -1: idx = idx2 else: if idx2 < idx1 and idx2 != -1: idx = idx2 else: idx1 = string.rfind(data, text, 0, start) text1 = '\0'.join(text) idx2 = string.rfind(data, text1, 0, start) idx = idx1 if idx1 == -1: idx = idx2 else: if idx2 > idx1 and idx2 != -1: idx = idx2 if idx > -1: self._lastIdx = idx if idx > -1: self._viewMode.selector.addSelection((idx, idx + len(text), QtGui.QBrush(QtGui.QColor(125, 0, 100)), 0.8), type=TextSelection.SelectionType.NORMAL) self._viewMode.goTo(idx) return idx def search(self, text): data = self._dataModel.getData() return self._search(data, text, 0) class binWidget(QtWidgets.QWidget, Observable): scrolled = QtCore.pyqtSignal(int, name='scroll') def __init__(self, parent, source, title): super(binWidget, self).__init__() Observable.__init__(self) self.parent = parent self.title = title self.active = False # offset for text window # self.data = mapped self.dataOffset = 0 self.dataModel = source self.cursor = Cursor(0, 0) self.themes = { 'font': QtGui.QFont('Monaco', 9, QtGui.QFont.Light), 'background': QtGui.QColor(0x00, 0x2b, 0x36), 'background_cursor': QtGui.QColor(255, 255, 0), 'selection': QtGui.QColor(125, 255, 0), 'pen': QtGui.QColor(0xb5, 0x89, 0x00) } self.multipleViewModes = [] for view_mode in self.dataModel.GetViews(): v = view_mode(self.themes, self.size().width(), self.size().height(), self.dataModel, self.cursor, self) textDecorator = HighlightASCII(TextDecorator(v)) v.setTransformationEngine(textDecorator) self.multipleViewModes.append(v) self.viewMode = self.multipleViewModes[0] self.Banners = Banners() self.Banners.add(FileAddrBanner(self.themes, self.dataModel, self.viewMode)) self.Banners.add(TopBanner(self.themes, self.dataModel, self.viewMode)) self.Banners.add(BottomBanner(self.themes, self.dataModel, self.viewMode)) self.offsetWindow_h = 0 self.offsetWindow_v = 0 self.searchable = Searchable(self.dataModel, self.viewMode) self.initUI() self.searchWindow = SearchWindow(self, None, self.searchable) self.addHandler(self.searchable) self.addHandler(self.Banners) self.notify(self.viewMode) def enable(self): self.active = True def disable(self): self.active = False def scroll_from_outside(self, i): # print 'slot-signal ' + str(i) # self.scroll_pdown = True self.update() def initUI(self): self.setFocusPolicy(QtCore.Qt.StrongFocus) self.setMinimumSize(1, 30) self.activateWindow() self.setFocus() def switchViewMode(self): self.multipleViewModes = self.multipleViewModes[1:] + [self.multipleViewModes[0]] self.viewMode = self.multipleViewModes[0] # notify obervers self.notify(self.viewMode) def _resize(self): self.Banners.resize(self.size().width() - self.offsetWindow_h, self.size().height() - self.offsetWindow_v) # compute space ocupated by banners offsetLeft = self.offsetWindow_h + self.Banners.getLeftOffset() offsetBottom = self.offsetWindow_v + self.Banners.getBottomOffset() + self.Banners.getTopOffset() # resize window, substract space ocupated by banners self.viewMode.resize(self.size().width() - offsetLeft, self.size().height() - offsetBottom) # event handlers def resizeEvent(self, e): self._resize() def paintEvent(self, e): qp = QtGui.QPainter() qp.begin(self) qp.setOpacity(1) offsetLeft = self.offsetWindow_h + self.Banners.getLeftOffset() offsetBottom = self.offsetWindow_v + self.Banners.getTopOffset() # self.viewMode.draw2(qp, refresh=True) # start = time() qp.drawPixmap(offsetLeft, offsetBottom, self.viewMode.getPixmap()) # print 'Draw ' + str(time() - start) self.Banners.draw(qp, self.offsetWindow_h, self.offsetWindow_v, self.size().height()) qp.end() def eventFilter(self, watched, event): if not self.active: return False if event.type() == QtCore.QEvent.KeyRelease: key = event.key() modifiers = event.modifiers() if self.viewMode.handleKeyEvent(modifiers, key, event=event): self.update() if event.type() == QtCore.QEvent.KeyPress: # TODO: should we accept only certain keys ? key = event.key() modifiers = event.modifiers() if key == QtCore.Qt.Key_F2: if self.viewMode.isEditable(): if self.viewMode.isInEditMode(): self.viewMode.setEditMode(False) else: self.viewMode.setEditMode(True) self.viewMode.draw(refresh=False) # switch view mode if key == QtCore.Qt.Key_V: print('SWITCH VIEW') offs = self.viewMode.getCursorOffsetInPage() base = self.viewMode.getDataModel().getOffset() self.switchViewMode() self._resize() self.viewMode.goTo(base + offs) self.update() if key == QtCore.Qt.Key_S: print('OPEN SOURCE') self.parent.openSourceWindow(self.dataModel.current_class) if event.modifiers() & QtCore.Qt.ControlModifier: if key == QtCore.Qt.Key_Insert: if self.viewMode.selector.getCurrentSelection(): a, b = self.viewMode.selector.getCurrentSelection() # print a, b hx = '' for s in self.dataModel.getStream(a, b): hx += '{:02x}'.format(s) pyperclip.copy(hx) del pyperclip # print pyperclip.paste() # print 'coppied' if event.modifiers() & QtCore.Qt.ShiftModifier: if key == QtCore.Qt.Key_Insert: import re hx = pyperclip.paste() # print hx L = re.findall(r'.{1,2}', hx, re.DOTALL) array = '' for s in L: array += chr(int(s, 16)) # print 'write ' # print 'write' # print array self.dataModel.write(0, array) self.viewMode.draw(True) del pyperclip # print array if key == QtCore.Qt.Key_F4: self.unp = WUnpack(self, None) self.unp.show() if key == QtCore.Qt.Key_F10: self.dataModel.flush() self.w = WHeaders(self, None) self.w.show() if not self.viewMode.isInEditMode(): if key == QtCore.Qt.Key_Slash: self.searchWindow.show() if key == QtCore.Qt.Key_N: self.searchable.next(self.viewMode.getCursorAbsolutePosition() + 1) if key == QtCore.Qt.Key_B: self.searchable.previous(self.viewMode.getCursorAbsolutePosition()) # handle keys to view plugin if self.viewMode.handleKeyEvent(modifiers, key, event=event): event.accept() self.update() return True return False def setTextViewport(self, qp): qp.setViewport(self.offsetWindow_h, self.offsetWindow_v, self.size().width(), self.size().height()) qp.setWindow(0, 0, self.size().width(), self.size().height()) def needsSave(self): return self.dataModel.isDirty() def save(self): return self.dataModel.flush() androguard-3.1.0-rc2/androguard/gui/cemu.py000066400000000000000000000055361324327352200205560ustar00rootroot00000000000000from builtins import object from PyQt5 import QtGui import logging log = logging.getLogger("androguard.gui") class Cursor(object): def __init__(self, x, y): self.x = x self.y = y def move(self, dx, dy): self.x += dx self.y += dy def moveAbsolute(self, x, y): self.x = x self.y = y def getPosition(self): return self.x, self.y def enum(**enums): return type('Enum', (), enums) Directions = enum(Left=1, Right=2, Up=3, Down=4, End=5, Home=6, CtrlEnd=7, CtrlHome=8) class ConsoleEmulator(object): def __init__(self, qp, rows, cols): self.qp = qp self._x = 0 self._y = 0 self._rows = rows self._cols = cols fm = QtGui.QFontMetrics(self.qp.font()) self.fontWidth = fm.width('a') self.fontHeight = fm.height() def incrementPosition(self): if self._x < self._cols - 1: self._x += 1 else: self._x = 0 self._y += 1 def newLine(self): self.LF() self.CR() def LF(self): if self._y < self._rows: self._y += 1 def CR(self): self._x = 0 def _validatePosition(self, x, y): if x >= self._cols: log.warning("x > cols") return False if y >= self._rows: log.warning("y > rows") return False return True def write(self, s, noBackgroudOnSpaces=False): background = self.qp.backgroundMode() for c in s: if self._validatePosition(self._x, self._y): if noBackgroudOnSpaces and c == ' ': self.qp.setBackgroundMode(0) self.qp.drawText(self._x * self.fontWidth, self.fontHeight + self._y * self.fontHeight, c) self.incrementPosition() self.qp.setBackgroundMode(background) def write_c(self, c, noBackgroudOnSpaces=False): background = self.qp.backgroundMode() if self._validatePosition(self._x, self._y): if noBackgroudOnSpaces and c == ' ': self.qp.setBackgroundMode(0) self.qp.drawText(self._x * self.fontWidth, self.fontHeight + self._y * self.fontHeight, c) self.incrementPosition() self.qp.setBackgroundMode(background) def getXY(self): return self._x, self._y def writeAt(self, x, y, s, noBackgroudOnSpaces=False): self.gotoXY(x, y) self.write(s, noBackgroudOnSpaces) def writeAt_c(self, x, y, c, noBackgroudOnSpaces=False): self.gotoXY(x, y) self.write_c(c, noBackgroudOnSpaces) def writeLn(self): if True: # self._validatePosition(self._x, self._y): self._y += 1 self._x = 0 def gotoXY(self, x, y): if self._validatePosition(x, y): self._x = x self._y = y androguard-3.1.0-rc2/androguard/gui/fileloading.py000066400000000000000000000031311324327352200220670ustar00rootroot00000000000000import traceback from PyQt5 import QtCore import androguard.session as session from androguard.core import androconf import logging log = logging.getLogger("androguard.gui") class FileLoadingThread(QtCore.QThread): file_loaded = QtCore.pyqtSignal(bool) def __init__(self, parent=None): QtCore.QThread.__init__(self, parent) self.parent = parent self.file_path = None self.incoming_file = () def load(self, file_path): self.file_path = file_path if file_path.endswith(".ag"): self.incoming_file = (file_path, 'SESSION') else: file_type = androconf.is_android(file_path) self.incoming_file = (file_path, file_type) self.start(QtCore.QThread.LowestPriority) def run(self): if self.incoming_file: try: file_path, file_type = self.incoming_file if file_type in ["APK", "DEX", "DEY"]: ret = self.parent.session.add(file_path, open(file_path, 'rb').read()) self.file_loaded.emit(ret) elif file_type == "SESSION": self.parent.session = session.Load(file_path) self.file_loaded.emit(True) else: self.file_loaded.emit(False) except Exception as e: log.debug(e) log.debug(traceback.format_exc()) self.file_loaded.emit(False) self.incoming_file = [] else: self.file_loaded.emit(False) androguard-3.1.0-rc2/androguard/gui/helpers.py000066400000000000000000000057161324327352200212670ustar00rootroot00000000000000from __future__ import print_function from builtins import object class Signature(object): def __init__(self, cls, method=None, descriptor=None): self.cls = cls self.class_components = self.cls.name.strip('L').strip(';').split('/') self.class_path = self.class_components[:-1] self.class_name = self.class_components[-1] self.full_class_name = self.cls.name self.method = method self.descriptor = descriptor def class2func(path): """ Convert a path such as 'Landroid/support/v4/app/ActivityCompat;' into a method string 'CLASS_Landroid_support_v4_app_ActivityCompat' so we can call d.CLASS_Landroid_support_v4_app_ActivityCompat.get_source() """ func = "CLASS_" + path.replace("/", "_").replace("$", "_").replace(";", "") return func def method2func(method): return "METHOD_" + method.replace("/", "_").replace("[", "").replace( "(", "").replace(")", "").replace(";", "") def classmethod2func(class_, method_): """Convert two strings such as "Lcom/mwr/example/sieve/AddEntryActivity;" and "onCreate" into a string "CLASS_Lcom_example_sieve_AddEntryActivity.METHOD_onCreate" so we can access d.CLASS_Lcom_example_sieve_AddEntryActivity.METHOD_onCreate.XREFfrom """ return "%s.%s" % (class2func(class_), method2func(method_)) def classmethod2display(class_, method_, descriptor_): """Convert two strings such as "Lcom/mwr/example/sieve/AddEntryActivity;" and "onCreate" into a beautiful :) string to display Xrefs: "Lcom/mwr/example/sieve/AddEntryActivity; -> onCreate" """ return "%s -> %s ( %s )" % (class_, method_, descriptor_) def display2classmethod(display): """Opposite of classmethod2display. """ L = display.split(" -> ") return L[0], L[1] def classdot2func(path): """ Convert a path such as 'android.support.v4.app.ActivityCompat' into a method string 'CLASS_Landroid_support_v4_app_ActivityCompat' so we can call d.CLASS_Landroid_support_v4_app_ActivityCompat.get_source() """ func = "CLASS_L" + path.replace(".", "_").replace("$", "_") return func def classdot2class(path): """ Convert a path such as 'android.support.v4.app.ActivityCompat' into a string 'Landroid/support/v4/app/ActivityCompat' so we can change name of a class by d.CLASS_Landroid_support_v4_app_ActivityCompat.set_name(new_name) """ if path[0] == 'L' and path[-1] == ';': print("WARNING: %s already a Lclass; name" % path) return path new_name = 'L' + path.replace('.', '/') + ';' return new_name def proto2methodprotofunc(proto): """Convert a prototype such as 'Ljava/lang/String;' into a string 'Ljava_lang_String" so we can append that to the 'METHOD_myMethod' if its export python name contains the prototype """ return proto.replace(' ', '').replace('(', '').replace('[', '').replace( ')', '').replace('/', '_').replace(';', '') androguard-3.1.0-rc2/androguard/gui/mainwindow.py000066400000000000000000000342731324327352200220010ustar00rootroot00000000000000from __future__ import print_function import importlib import androguard.session as session_module from androguard.gui.DataModel import * from androguard.gui.apiwindow import APIWindow from androguard.gui.binwindow import binWidget from androguard.gui.fileloading import FileLoadingThread from androguard.gui.helpers import class2func from androguard.gui.methodswindow import MethodsWindow from androguard.gui.resourceswindow import ResourcesWindow from androguard.gui.sourcewindow import SourceWindow from androguard.gui.stringswindow import StringsWindow from androguard.gui.treewindow import TreeWindow import os import logging log = logging.getLogger("androguard.gui") class TabsWindow(QtWidgets.QTabWidget): def __init__(self, bin_windows, parent=None): super(TabsWindow, self).__init__(parent) self.bin_windows = bin_windows self.setTabsClosable(True) self.tabCloseRequested.connect(self.tabCloseRequestedHandler) self.currentChanged.connect(self.currentTabChanged) self.closeAllTabs = QtWidgets.QAction( "Close all tabs", self, triggered=self.actioncloseAllTabs) self.closeOtherTabs = QtWidgets.QAction( "Close other tabs", self, triggered=self.actioncloseOtherTabs) self.closeLeftTabs = QtWidgets.QAction( "Close left tabs", self, triggered=self.actioncloseLeftTabs) self.closeRightTabs = QtWidgets.QAction( "Close right tabs", self, triggered=self.actioncloseRightTabs) def actioncloseAllTabs(self): self.clear() def actioncloseOtherTabs(self): for i in range(self.currentIndex() - 1, -1, -1): self.removeTab(i) for i in range(self.count(), self.currentIndex(), -1): self.removeTab(i) def actioncloseLeftTabs(self): for i in range(self.currentIndex() - 1, -1, -1): self.removeTab(i) def actioncloseRightTabs(self): for i in range(self.count(), self.currentIndex(), -1): self.removeTab(i) def tabCloseRequestedHandler(self, index): self.removeTab(index) def currentTabChanged(self, index): log.debug("curentTabChanged -> %d (%s)" % (index, self.tabToolTip(index))) if index == -1: return current_title = self.tabToolTip(index) for title in self.bin_windows: if title != current_title: log.debug("Disable %s" % title) self.bin_windows[title].disable() if current_title in self.bin_windows: log.debug("Enable %s" % title) self.bin_windows[current_title].enable() def contextMenuEvent(self, event): menu = QtWidgets.QMenu(self) menu.addAction(self.closeAllTabs) menu.addAction(self.closeOtherTabs) menu.addAction(self.closeLeftTabs) menu.addAction(self.closeRightTabs) menu.exec_(event.globalPos()) class MainWindow(QtWidgets.QMainWindow): """Main window: self.central: QTabWidget in center area self.dock: QDockWidget in left area self.tree: TreeWindow(QTreeWidget) in self.dock """ def __init__(self, parent=None, session=session_module.Session(), input_file=None, input_plugin=None): super(MainWindow, self).__init__(parent) self.session = session self.bin_windows = {} self.setupFileMenu() self.setupViewMenu() self.setupPluginsMenu() self.setupHelpMenu() self.setupCentral() self.setupEmptyTree() self.setupDock() self.setupSession() self.setWindowTitle("Androguard GUI") self.showStatus("Androguard GUI") self.installEventFilter(self) self.input_plugin = input_plugin if input_file: self._openFile(input_file) root = os.path.dirname(os.path.realpath(__file__)) self.setWindowIcon(QtGui.QIcon(os.path.join(root, "androguard.ico"))) def eventFilter(self, watched, event): for bin_window in list(self.bin_windows.values()): bin_window.eventFilter(watched, event) return False def showStatus(self, msg): """Helper function called by any window to display a message in status bar. """ log.debug(msg) self.statusBar().showMessage(msg) def about(self): """User clicked About menu. Display a Message box.""" QtWidgets.QMessageBox.about(self, "About Androguard GUI", "

Androguard GUI is basically a GUI for Androguard :)." \ "
Have fun !

") def setupSession(self): log.debug("Setup Session") self.fileLoadingThread = FileLoadingThread(self) self.fileLoadingThread.file_loaded.connect(self.loadedFile) def loadedFile(self, success): if not success: self.showStatus("Analysis of %s failed :(" % str(self.fileLoadingThread.file_path)) return self.updateDockWithTree() self.cleanCentral() self.showStatus("Analysis of %s done!" % str(self.fileLoadingThread.file_path)) if self.input_plugin: self._runPlugin(self.input_plugin) def openFile(self): self.session.reset() filepath, _ = QtWidgets.QFileDialog.getOpenFileName( self, "Open File", '.', "Android Files (*.apk *.jar *.dex *.odex *.dey);;Androguard Session (*.ag)") self._openFile(filepath) def _openFile(self, filepath=None): if filepath: self.setupTree() self.showStatus("Analyzing %s..." % str(filepath)) self.fileLoadingThread.load(filepath) def addFile(self): if not self.session.isOpen(): return filepath, _ = QtWidgets.QFileDialog.getOpenFileName( self, "Add File", '', "Android Files (*.apk *.jar *.dex *.odex *.dey)") if filepath: self.showStatus("Analyzing %s..." % str(filepath)) self.fileLoadingThread.load(filepath) def saveFile(self): """User clicked Save menu. Display a Dialog to ask whwre to save.""" filepath, _ = QtWidgets.QFileDialog.getSaveFileName( self, "Save File", '', "Androguard Session (*.ag)") if filepath: self.showStatus("Saving %s..." % str(filepath)) self.saveSession(filepath) def saveSession(self, filepath): """Save androguard session.""" try: session_module.Save(self.session, filepath) except RuntimeError as e: log.error(str(e)) os.remove(filepath) log.warning("Session not saved") def _runPlugin(self, filepath): log.debug("RUN plugin from %s" % filepath) module_name = os.path.splitext(os.path.basename(filepath))[0] f, filename, description = importlib.find_module( module_name, [os.path.dirname(filepath)]) print(f, filename, description) mod = importlib.load_module(module_name, f, filename, description) mod.PluginEntry(self.session) def openRunPluginWindow(self): filepath, _ = QtWidgets.QFileDialog.getOpenFileName( self, "Open File", '', "Python Files (*.py);;") if filepath: self._runPlugin(filepath) def closeEvent(self, event): """Clicked [x] to close main window""" event.accept() def setupEmptyTree(self): """Setup empty Tree at startup. """ if hasattr(self, "tree"): del self.tree self.tree = QtWidgets.QTreeWidget(self) self.tree.header().close() def setupDock(self): """Setup empty Dock at startup. """ self.dock = QtWidgets.QDockWidget("Classes", self) self.dock.setWidget(self.tree) self.dock.setFeatures(QtWidgets.QDockWidget.NoDockWidgetFeatures) self.addDockWidget(QtCore.Qt.LeftDockWidgetArea, self.dock) def setupTree(self): log.debug("Setup Tree") self.tree = TreeWindow(win=self, session=self.session) self.tree.setWindowTitle("Tree model") self.dock.setWidget(self.tree) def setupCentral(self): """Setup empty window supporting tabs at startup. """ self.central = TabsWindow(self.bin_windows, self) self.setCentralWidget(self.central) def cleanCentral(self): self.central.actioncloseAllTabs() def setupFileMenu(self): log.debug("Setup File Menu") self.fileMenu = self.menuBar().addMenu("&File") self.fileMenu.addAction("&Open...", self.openFile, "Ctrl+O") self.fileMenu.addAction("&Add...", self.addFile, "Ctrl+A") self.fileMenu.addAction("&Save...", self.saveFile, "Ctrl+S") self.fileMenu.addAction("E&xit", self.close, "Ctrl+Q") def setupViewMenu(self): log.debug("Setup View Menu") self.viewMenu = self.menuBar().addMenu("&View") self.viewMenu.addAction("&Strings...", self.openStringsWindow) self.viewMenu.addAction("&Methods...", self.openMethodsWindow) self.viewMenu.addAction("&API...", self.openAPIWindow) self.viewMenu.addAction("&APK...", self.openApkWindow) self.viewMenu.addAction("&Resources...", self.openResourcesWindow) def setupPluginsMenu(self): log.debug("Setup Plugins Menu") self.pluginsMenu = self.menuBar().addMenu("&Plugins") self.pluginsMenu.addAction("&Run...", self.openRunPluginWindow) def setupHelpMenu(self): log.debug("Setup Help Menu") self.helpMenu = self.menuBar().addMenu("&Help") self.helpMenu.addAction("&About", self.about) self.helpMenu.addAction("About &Qt", QtWidgets.qApp.aboutQt) def updateDockWithTree(self, empty=False): """Update the classes tree. Called when - a new APK has been imported - a classe has been renamed (displayed in the tree) """ self.setupTree() self.tree.fill() def openStringsWindow(self): stringswin = StringsWindow(win=self, session=self.session) self.central.addTab(stringswin, stringswin.title) self.central.setTabToolTip(self.central.indexOf(stringswin), stringswin.title) self.central.setCurrentWidget(stringswin) def openMethodsWindow(self): methodswin = MethodsWindow(win=self, session=self.session) self.central.addTab(methodswin, methodswin.title) self.central.setTabToolTip(self.central.indexOf(methodswin), methodswin.title) self.central.setCurrentWidget(methodswin) def openResourcesWindow(self): resourceswin = ResourcesWindow(win=self, session=self.session) self.central.addTab(resourceswin, resourceswin.title) self.central.setTabToolTip(self.central.indexOf(resourceswin), resourceswin.title) self.central.setCurrentWidget(resourceswin) def openAPIWindow(self): apiwin = APIWindow(win=self, session=self.session) self.central.addTab(apiwin, apiwin.title) self.central.setTabToolTip(self.central.indexOf(apiwin), apiwin.title) self.central.setCurrentWidget(apiwin) def openApkWindow(self): log.debug("openApkWindow for %s" % self.session.analyzed_apk) bin_window = binWidget(self, ApkModel(self.session.get_objects_apk(self.fileLoadingThread.file_path)[0]), "APK") bin_window.activateWindow() self.central.addTab(bin_window, bin_window.title) self.central.setCurrentWidget(bin_window) self.bin_windows[bin_window.title] = bin_window def openBinWindow(self, current_class): log.debug("openBinWindow for %s" % current_class) bin_window = self.getMeOpenedWindowIfExists(current_class.current_title) if not bin_window: bin_window = binWidget(self, DexClassModel(current_class), current_class.get_name()) bin_window.activateWindow() self.central.addTab(bin_window, current_class.current_title) self.central.setTabToolTip(self.central.indexOf(bin_window), current_class.current_title) self.bin_windows[current_class.current_title] = bin_window bin_window.enable() self.central.setCurrentWidget(bin_window) def openSourceWindow(self, current_class, method=None): """Main function to open a decompile source window It checks if it already opened and open that tab, otherwise, initialize a new window. """ log.debug("openSourceWindow for %s" % current_class) sourcewin = self.getMeOpenedWindowIfExists(current_class.current_title + "(S)") if not sourcewin: current_filename = self.session.get_filename_by_class(current_class) current_digest = self.session.get_digest_by_class(current_class) sourcewin = SourceWindow(win=self, current_class=current_class, current_title=current_class.current_title + "(S)", current_filename=current_filename, current_digest=current_digest, session=self.session) sourcewin.reload_java_sources() self.central.addTab(sourcewin, sourcewin.title) self.central.setTabToolTip(self.central.indexOf(sourcewin), sourcewin.title) if method: sourcewin.browse_to_method(method) self.central.setCurrentWidget(sourcewin) def getMeOpenedWindowIfExists(self, name): for idx in range(self.central.count()): if name == self.central.tabToolTip(idx): log.debug("Tab %s already opened at: %d" % (name, idx)) return self.central.widget(idx) return None def doesClassExist(self, path): arg = class2func(path) try: getattr(self.d, arg) except AttributeError: return False return True androguard-3.1.0-rc2/androguard/gui/methodswindow.py000066400000000000000000000077041324327352200225170ustar00rootroot00000000000000from PyQt5 import QtCore, QtGui, QtWidgets from androguard.gui.xrefwindow import XrefDialogMethod class MethodsWindow(QtWidgets.QWidget): def __init__(self, parent=None, win=None, session=None): super(MethodsWindow, self).__init__(parent) self.mainwin = win self.session = session self.title = "Methods" self.filterPatternLineEdit = QtWidgets.QLineEdit() self.filterPatternLabel = QtWidgets.QLabel("&Filter method name pattern:") self.filterPatternLabel.setBuddy(self.filterPatternLineEdit) self.filterPatternLineEdit.textChanged.connect(self.filterRegExpChanged) self.methodswindow = MethodsValueWindow(self, win, session) sourceLayout = QtWidgets.QVBoxLayout() sourceLayout.addWidget(self.methodswindow) sourceLayout.addWidget(self.filterPatternLabel) sourceLayout.addWidget(self.filterPatternLineEdit) self.setLayout(sourceLayout) def filterRegExpChanged(self, value): regExp = QtCore.QRegExp(value) self.methodswindow.proxyModel.setFilterRegExp(regExp) class MethodsValueWindow(QtWidgets.QTreeView): def __init__(self, parent=None, win=None, session=None): super(MethodsValueWindow, self).__init__(parent) self.mainwin = win self.session = session self.title = "Methods" self.reverse_methods = {} self.proxyModel = QtCore.QSortFilterProxyModel() self.proxyModel.setDynamicSortFilter(True) nb = 0 for digest, d, dx in self.session.get_objects_dex(): for method in d.get_methods(): nb += 1 self.model = QtGui.QStandardItemModel(nb, 5, self) self.model.setHeaderData(0, QtCore.Qt.Horizontal, "Name") self.model.setHeaderData(1, QtCore.Qt.Horizontal, "Class Name") self.model.setHeaderData(2, QtCore.Qt.Horizontal, "Prototype") self.model.setHeaderData(3, QtCore.Qt.Horizontal, "Address") self.model.setHeaderData(4, QtCore.Qt.Horizontal, "Digest") row = 0 for digest, d, dx in self.session.get_objects_dex(): for method in d.get_methods(): self.model.setData(self.model.index( row, 0, QtCore.QModelIndex()), method.get_name()) self.model.setData(self.model.index( row, 1, QtCore.QModelIndex()), method.get_class_name()) self.model.setData(self.model.index( row, 2, QtCore.QModelIndex()), method.get_descriptor()) self.model.setData(self.model.index( row, 3, QtCore.QModelIndex()), "0x%x" % method.get_address()) self.model.setData(self.model.index( row, 4, QtCore.QModelIndex()), digest) self.reverse_methods[method.get_name() + method.get_class_name() + method.get_descriptor() + digest ] = dx.get_method_analysis(method) row += 1 self.proxyModel.setSourceModel(self.model) self.setRootIsDecorated(False) self.setAlternatingRowColors(True) self.setModel(self.proxyModel) self.setSortingEnabled(True) self.setEditTriggers(QtWidgets.QAbstractItemView.NoEditTriggers) self.doubleClicked.connect(self.slotDoubleClicked) def slotDoubleClicked(self, mi): mi = self.proxyModel.mapToSource(mi) row = mi.row() column = mi.column() if column == 0: xwin = XrefDialogMethod( parent=self.mainwin, win=self.mainwin, method_analysis=self.reverse_methods[self.model.item(row).text() + self.model.item(row, 1).text() + self.model.item(row, 2).text() + self.model.item(row, 4).text()]) xwin.show() androguard-3.1.0-rc2/androguard/gui/renamewindow.py000066400000000000000000000024211324327352200223120ustar00rootroot00000000000000from PyQt5 import QtWidgets class RenameDialog(QtWidgets.QDialog): """ parent: SourceWindow that started the new XrefDialog """ def __init__(self, parent=None, win=None, element="", info=()): super(RenameDialog, self).__init__(parent) self.sourceWin = parent self.info = info self.element = element title = "Rename: " + element self.setWindowTitle(title) layout = QtWidgets.QGridLayout() question = QtWidgets.QLabel("Please enter new name:") layout.addWidget(question, 0, 0) self.lineEdit = QtWidgets.QLineEdit() layout.addWidget(self.lineEdit, 0, 1) self.buttonOK = QtWidgets.QPushButton("OK", self) layout.addWidget(self.buttonOK, 1, 1) self.buttonCancel = QtWidgets.QPushButton("Cancel", self) layout.addWidget(self.buttonCancel, 1, 0) self.lineEdit.setText(self.element) self.setLayout(layout) self.buttonCancel.clicked.connect(self.cancelClicked) self.buttonOK.clicked.connect(self.okClicked) def cancelClicked(self): self.close() def okClicked(self): self.sourceWin.renameElement(self.element, self.lineEdit.text(), self.info) self.close() androguard-3.1.0-rc2/androguard/gui/resourceswindow.py000066400000000000000000000063571324327352200230710ustar00rootroot00000000000000from builtins import str from PyQt5 import QtCore, QtGui, QtWidgets class ResourcesWindow(QtWidgets.QWidget): def __init__(self, parent=None, win=None, session=None): super(ResourcesWindow, self).__init__(parent) self.mainwin = win self.session = session self.title = "Resources" self.filterPatternLineEdit = QtWidgets.QLineEdit() self.filterPatternLabel = QtWidgets.QLabel("&Filter resource integer pattern:") self.filterPatternLabel.setBuddy(self.filterPatternLineEdit) self.filterPatternLineEdit.textChanged.connect(self.filterRegExpChanged) self.resourceswindow = ResourcesValueWindow(self, win, session) sourceLayout = QtWidgets.QVBoxLayout() sourceLayout.addWidget(self.resourceswindow) sourceLayout.addWidget(self.filterPatternLabel) sourceLayout.addWidget(self.filterPatternLineEdit) self.setLayout(sourceLayout) def filterRegExpChanged(self, value): regExp = QtCore.QRegExp(value) self.resourceswindow.proxyModel.setFilterRegExp(regExp) class ResourcesValueWindow(QtWidgets.QTreeView): def __init__(self, parent=None, win=None, session=None): super(ResourcesValueWindow, self).__init__(parent) self.mainwin = win self.session = session self.title = "Resources" self.proxyModel = QtCore.QSortFilterProxyModel() self.proxyModel.setDynamicSortFilter(True) string_resources = None for digest, apk in self.session.get_all_apks(): a = apk[0] resources = a.get_android_resources() string_resources = resources.get_resolved_strings() nb = 0 for p in string_resources: for l in string_resources[p]: nb += len(string_resources[p][l]) self.model = QtGui.QStandardItemModel(nb, 4, self) self.model.setHeaderData(0, QtCore.Qt.Horizontal, "Package name") self.model.setHeaderData(1, QtCore.Qt.Horizontal, "Locale") self.model.setHeaderData(2, QtCore.Qt.Horizontal, "ID") self.model.setHeaderData(3, QtCore.Qt.Horizontal, "Value") row = 0 for p_name in string_resources: for locale in string_resources[p_name]: for id_value in string_resources[p_name][locale]: self.model.setData(self.model.index( row, 0, QtCore.QModelIndex()), p_name) self.model.setData(self.model.index( row, 1, QtCore.QModelIndex()), str(locale)) self.model.setData(self.model.index( row, 2, QtCore.QModelIndex()), str(id_value)) self.model.setData(self.model.index( row, 3, QtCore.QModelIndex()), string_resources[p_name][locale][id_value]) row += 1 self.proxyModel.setSourceModel(self.model) self.proxyModel.setFilterKeyColumn(2) self.setRootIsDecorated(False) self.setAlternatingRowColors(True) self.setModel(self.proxyModel) self.setSortingEnabled(True) self.setEditTriggers(QtWidgets.QAbstractItemView.NoEditTriggers) androguard-3.1.0-rc2/androguard/gui/search.ui000066400000000000000000000025421324327352200210510ustar00rootroot00000000000000 searchform 0 0 430 116 Search Search hex lineEdit checkHex pushButton androguard-3.1.0-rc2/androguard/gui/sourcewindow.py000066400000000000000000000641761324327352200223620ustar00rootroot00000000000000from __future__ import print_function import pyperclip from PyQt5 import QtCore, QtGui, QtWidgets from builtins import str from pygments.formatters.html import HtmlFormatter from pygments.lexers import JavaLexer from pygments.style import Style from pygments.token import Token, Comment, Name, Keyword, Generic, Number, Operator, String from androguard.gui.helpers import classdot2class, proto2methodprotofunc from androguard.gui.renamewindow import RenameDialog from androguard.gui.xrefwindow import XrefDialogMethod, XrefDialogField import logging log = logging.getLogger("androguard.gui") BINDINGS_NAMES = [ 'NAME_PACKAGE', 'NAME_PROTOTYPE', 'NAME_SUPERCLASS', 'NAME_INTERFACE', 'NAME_FIELD', 'NAME_METHOD_PROTOTYPE', 'NAME_ARG', 'NAME_CLASS_ASSIGNMENT', 'NAME_PARAM', 'NAME_BASE_CLASS', 'NAME_METHOD_INVOKE', 'NAME_CLASS_NEW', 'NAME_CLASS_INSTANCE', 'NAME_VARIABLE', 'NAME_CLASS_EXCEPTION' ] class SourceDocument(QtGui.QTextDocument): """QTextDocument associated with the SourceWindow.""" def __init__(self, parent=None, lines=[]): super(SourceDocument, self).__init__(parent) self.parent = parent self.setDefaultFont(QtGui.QFont('Monaco', 9, QtGui.QFont.Light)) cursor = QtGui.QTextCursor(self) # position=0x0 self.binding = {} # save the cursor position before each interesting element for section, L in lines: for t in L: if t[0] in BINDINGS_NAMES: self.binding[cursor.position()] = t cursor.insertText(t[1]) class PygmentsBlockUserData(QtGui.QTextBlockUserData): """ Storage for the user data associated with each line. """ syntax_stack = ('root',) def __init__(self, **kwds): for key, value in list(kwds.items()): setattr(self, key, value) QtGui.QTextBlockUserData.__init__(self) def __repr__(self): attrs = ['syntax_stack'] kwds = ', '.join(['%s=%r' % (attr, getattr(self, attr)) for attr in attrs]) return 'PygmentsBlockUserData(%s)' % kwds BASE03 = '#002B36' BASE02 = '#073642' BASE01 = '#586E75' BASE00 = '#657B83' BASE0 = '#839496' BASE1 = '#93A1A1' BASE2 = '#EEE8D5' BASE3 = '#FDF6E3' YELLOW = '#B58900' ORANGE = '#CB4B16' RED = '#DC322F' MAGENTA = '#D33682' VIOLET = '#6C71C4' BLUE = '#268BD2' CYAN = '#2AA198' GREEN = '#859900' class SolarizedStyle(Style): background_color = BASE03 styles = { Keyword: GREEN, Keyword.Constant: ORANGE, Keyword.Declaration: BLUE, # Keyword.Namespace # Keyword.Pseudo Keyword.Reserved: BLUE, Keyword.Type: RED, # Name Name.Attribute: BASE1, Name.Builtin: YELLOW, Name.Builtin.Pseudo: BLUE, Name.Class: BLUE, Name.Constant: ORANGE, Name.Decorator: BLUE, Name.Entity: ORANGE, Name.Exception: ORANGE, Name.Function: BLUE, # Name.Label # Name.Namespace # Name.Other Name.Tag: BLUE, Name.Variable: BLUE, # Name.Variable.Class # Name.Variable.Global # Name.Variable.Instance # Literal # Literal.Date String: CYAN, String.Backtick: BASE01, String.Char: CYAN, String.Doc: BASE1, # String.Double String.Escape: ORANGE, String.Heredoc: BASE1, # String.Interpol # String.Other String.Regex: RED, # String.Single # String.Symbol Number: CYAN, # Number.Float # Number.Hex # Number.Integer # Number.Integer.Long # Number.Oct Operator: GREEN, # Operator.Word # Punctuation: ORANGE, Comment: BASE01, # Comment.Multiline Comment.Preproc: GREEN, # Comment.Single Comment.Special: GREEN, # Generic Generic.Deleted: CYAN, Generic.Emph: 'italic', Generic.Error: RED, Generic.Heading: ORANGE, Generic.Inserted: GREEN, # Generic.Output # Generic.Prompt Generic.Strong: 'bold', Generic.Subheading: ORANGE, # Generic.Traceback Token: BASE1, Token.Other: ORANGE, } class MyHighlighter(QtGui.QSyntaxHighlighter): """ Syntax highlighter that uses Pygments for parsing. """ # --------------------------------------------------------------------------- # 'QSyntaxHighlighter' interface # --------------------------------------------------------------------------- def __init__(self, parent, lexer=None): super(MyHighlighter, self).__init__(parent) self._document = self.document() self._formatter = HtmlFormatter(nowrap=True) self._lexer = lexer self.set_style('paraiso-dark') def highlightBlock(self, string): """ Highlight a block of text. """ prev_data = self.currentBlock().previous().userData() if prev_data is not None: self._lexer._saved_state_stack = prev_data.syntax_stack elif hasattr(self._lexer, '_saved_state_stack'): del self._lexer._saved_state_stack # Lex the text using Pygments index = 0 for token, text in self._lexer.get_tokens(string): length = len(text) self.setFormat(index, length, self._get_format(token)) index += length if hasattr(self._lexer, '_saved_state_stack'): data = PygmentsBlockUserData( syntax_stack=self._lexer._saved_state_stack) self.currentBlock().setUserData(data) # Clean up for the next go-round. del self._lexer._saved_state_stack # --------------------------------------------------------------------------- # 'PygmentsHighlighter' interface # --------------------------------------------------------------------------- def set_style(self, style): """ Sets the style to the specified Pygments style. """ style = SolarizedStyle # get_style_by_name(style) self._style = style self._clear_caches() def set_style_sheet(self, stylesheet): """ Sets a CSS stylesheet. The classes in the stylesheet should correspond to those generated by: pygmentize -S