From 21db44e13c0fc45fe7047b345461e17d39d8001b Mon Sep 17 00:00:00 2001 From: Tufan Baris Yildirim Date: Thu, 6 Dec 2018 02:41:35 +0300 Subject: [PATCH] code format, phpdocs and dependencies update --- composer.json | 72 +- lib/ApkParser/Application.php | 4 +- lib/ApkParser/Config.php | 6 +- lib/ApkParser/Exceptions/ApkException.php | 9 + .../Exceptions/FileNotFoundException.php | 9 + .../Exceptions/StreamNotFoundException.php | 9 + .../Exceptions/XmlParserException.php | 18 +- lib/ApkParser/IntentFilter.php | 2 +- lib/ApkParser/Manifest.php | 1285 +++--- lib/ApkParser/ManifestXmlElement.php | 10 +- lib/ApkParser/Parser.php | 31 +- lib/ApkParser/ResourcesParser.php | 36 +- lib/ApkParser/SeekableStream.php | 8 +- lib/ApkParser/Stream.php | 2 +- lib/ApkParser/Utils.php | 2 +- lib/ApkParser/Xml.php | 2 +- lib/ApkParser/XmlParser.php | 4086 ++++++++++++----- 17 files changed, 3818 insertions(+), 1773 deletions(-) diff --git a/composer.json b/composer.json index 69523d0..5d5031d 100644 --- a/composer.json +++ b/composer.json @@ -1,34 +1,42 @@ { - "name": "tufanbarisyildirim/php-apk-parser", - "type": "library", - "description": "Read basic info about an application from .apk file.", - "keywords": ["apk", "parser", "android"], - "homepage": "https://github.com/tufanbarisyildirim/php-apk-parser", - "license": "MIT", - "authors": [ - { - "name": "Tufan Baris YILDIRIM", - "email": "tufanbarisyildirim@gmail.com", - "homepage": "http://tufanbarisyildirim.com", - "role": "Developer" - } - ], - "require": { - "php": ">=5.3.0" - }, - "require-dev": { - "phpunit/phpunit": "3.7.*" - }, - "repositories": [ - { - "type": "vcs", - "url": "https://github.com/tufanbarisyildirim/php-apk-parser.git" - } - ], - "autoload": { - "psr-0": { - "ApkParser": "lib" - } - }, - "minimum-stability": "dev" + "name": "tufanbarisyildirim/php-apk-parser", + "type": "library", + "description": "Read basic info about an application from .apk file.", + "keywords": [ + "apk", + "parser", + "android" + ], + "homepage": "https://github.com/tufanbarisyildirim/php-apk-parser", + "license": "MIT", + "authors": [ + { + "name": "Tufan Baris YILDIRIM", + "email": "tufanbarisyildirim@gmail.com", + "homepage": "http://tufanbarisyildirim.com", + "role": "Developer" + } + ], + "require": { + "php": ">=5.3.0", + "ext-simplexml": "*", + "ext-json": "*", + "ext-libxml": "*", + "ext-mbstring": "*" + }, + "require-dev": { + "phpunit/phpunit": "3.7.*" + }, + "repositories": [ + { + "type": "vcs", + "url": "https://github.com/tufanbarisyildirim/php-apk-parser.git" + } + ], + "autoload": { + "psr-0": { + "ApkParser": "lib" + } + }, + "minimum-stability": "dev" } diff --git a/lib/ApkParser/Application.php b/lib/ApkParser/Application.php index a7fb1d9..c56818b 100644 --- a/lib/ApkParser/Application.php +++ b/lib/ApkParser/Application.php @@ -1,4 +1,5 @@ application); - return (string)$attr['@attributes'][$attrName]; + return isset($attr['@attributes']) && isset($attr['@attributes'][$attrName]) ? (string)$attr['@attributes'][$attrName] : null; } /** diff --git a/lib/ApkParser/Config.php b/lib/ApkParser/Config.php index 67f7ca5..d8e73ed 100644 --- a/lib/ApkParser/Config.php +++ b/lib/ApkParser/Config.php @@ -7,7 +7,9 @@ * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ + namespace ApkParser; + /** * Class Config * @package ApkParser @@ -28,8 +30,8 @@ class Config public function __construct(array $config = array()) { $this->config = array_merge(array( - 'tmp_path' => sys_get_temp_dir(), - 'jar_path' => __DIR__ . '/Dex/dedexer.jar', + 'tmp_path' => sys_get_temp_dir(), + 'jar_path' => __DIR__ . '/Dex/dedexer.jar', 'manifest_only' => false ), $config); } diff --git a/lib/ApkParser/Exceptions/ApkException.php b/lib/ApkParser/Exceptions/ApkException.php index 1fe6f77..2f36460 100644 --- a/lib/ApkParser/Exceptions/ApkException.php +++ b/lib/ApkParser/Exceptions/ApkException.php @@ -1,6 +1,15 @@ + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ class ApkException extends \Exception { diff --git a/lib/ApkParser/Exceptions/FileNotFoundException.php b/lib/ApkParser/Exceptions/FileNotFoundException.php index d79fa4b..66310e4 100644 --- a/lib/ApkParser/Exceptions/FileNotFoundException.php +++ b/lib/ApkParser/Exceptions/FileNotFoundException.php @@ -1,6 +1,15 @@ + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ class FileNotFoundException extends ApkException { diff --git a/lib/ApkParser/Exceptions/StreamNotFoundException.php b/lib/ApkParser/Exceptions/StreamNotFoundException.php index a74f734..aa748f0 100644 --- a/lib/ApkParser/Exceptions/StreamNotFoundException.php +++ b/lib/ApkParser/Exceptions/StreamNotFoundException.php @@ -1,6 +1,15 @@ + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ class StreamNotFoundException extends ApkException { diff --git a/lib/ApkParser/Exceptions/XmlParserException.php b/lib/ApkParser/Exceptions/XmlParserException.php index 1fe8972..de2367b 100644 --- a/lib/ApkParser/Exceptions/XmlParserException.php +++ b/lib/ApkParser/Exceptions/XmlParserException.php @@ -1,12 +1,16 @@ + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ class XmlParserException extends ApkException { /** @@ -14,6 +18,10 @@ class XmlParserException extends ApkException */ private $xmlErrors; + /** + * XmlParserException constructor. + * @param $xmlstr + */ public function __construct($xmlstr) { $this->xmlErrors = libxml_get_errors(); @@ -37,7 +45,7 @@ public function __construct($xmlstr) */ private function display_xml_error(\LibXMLError $error, $xml) { - $return = $xml[$error->line - 1] . "\n"; + $return = $xml[$error->line - 1] . "\n"; $return .= str_repeat('-', $error->column) . "^\n"; switch ($error->level) { diff --git a/lib/ApkParser/IntentFilter.php b/lib/ApkParser/IntentFilter.php index 99ab1e7..d916e1f 100644 --- a/lib/ApkParser/IntentFilter.php +++ b/lib/ApkParser/IntentFilter.php @@ -1,4 +1,5 @@ getXmlObject()->getPermissions($lang); } -// public function getPermission($permName) -// { -// -// } /** * Android Package Name * @return string + * @throws \Exception */ public function getPackageName() { @@ -69,6 +69,7 @@ public function getPackageName() /** * Application Version Name * @return string + * @throws \Exception */ public function getVersionName() { @@ -78,6 +79,7 @@ public function getVersionName() /** * Application Version Code * @return mixed + * @throws \Exception */ public function getVersionCode() { @@ -86,6 +88,7 @@ public function getVersionCode() /** * @return bool + * @throws \Exception */ public function isDebuggable() { @@ -95,40 +98,58 @@ public function isDebuggable() /** * The minimum API Level required for the application to run. * @return int + * @throws Exceptions\XmlParserException */ public function getMinSdkLevel() { $xmlObj = $this->getXmlObject(); $usesSdk = get_object_vars($xmlObj->{'uses-sdk'}); - return hexdec($usesSdk['@attributes']['minSdkVersion']); + if (isset($usesSdk['@attributes']) && isset($usesSdk['@attributes']['minSdkVersion'])) { + return hexdec($usesSdk['@attributes']['minSdkVersion']); + } + return null; } /** * The target API Level required for the application to run. * @return float|int + * @throws Exceptions\XmlParserException */ public function getTargetSdkLevel() { $xmlObj = $this->getXmlObject(); $usesSdk = get_object_vars($xmlObj->{'uses-sdk'}); - if (hexdec($usesSdk['@attributes']['targetSdkVersion'])) return hexdec($usesSdk['@attributes']['targetSdkVersion']); + if (isset($usesSdk['@attributes']) && isset($usesSdk['@attributes']['targetSdkVersion'])) { + return hexdec($usesSdk['@attributes']['targetSdkVersion']); + } return null; } + /** + * @param $attributeName + * @return mixed + * @throws \Exception + */ private function getAttribute($attributeName) { - if ($this->attrs === NULL) { + if ($this->attrs === null) { $xmlObj = $this->getXmlObject(); $vars = get_object_vars($xmlObj->attributes()); $this->attrs = $vars['@attributes']; } - if (!isset($this->attrs[$attributeName])) + if (!isset($this->attrs[$attributeName])) { throw new \Exception("Attribute not found : " . $attributeName); + } return $this->attrs[$attributeName]; } + /** + * @param $name + * @return mixed + * @throws Exceptions\XmlParserException + */ public function getMetaData($name) { if ($this->meta === null) { @@ -152,6 +173,7 @@ public function getMetaData($name) /** * More Information About The minimum API Level required for the application to run. * @return AndroidPlatform + * @throws \Exception */ public function getMinSdk() { @@ -161,10 +183,13 @@ public function getMinSdk() /** * More Information About The target API Level required for the application to run. * @return AndroidPlatform + * @throws \Exception */ public function getTargetSdk() { - if ($this->getTargetSdkLevel()) return new AndroidPlatform($this->getTargetSdkLevel()); + if ($this->getTargetSdkLevel()) { + return new AndroidPlatform($this->getTargetSdkLevel()); + } return null; } @@ -172,7 +197,8 @@ public function getTargetSdk() * get SimleXmlElement created from AndroidManifest.xml * * @param mixed $className - * @return \ApkParser\ManifestXmlElement + * @return ManifestXmlElement|\SimpleXMLElement + * @throws Exceptions\XmlParserException */ public function getXmlObject($className = '\ApkParser\ManifestXmlElement') { @@ -181,6 +207,7 @@ public function getXmlObject($className = '\ApkParser\ManifestXmlElement') /** * Basically string casting method. + * @throws \Exception */ public function __toString() { @@ -195,1083 +222,1083 @@ public function __toString() * @var mixed */ public static $permissions = array( - 'ACCESS_CHECKIN_PROPERTIES' => 'Allows read/write access to the "properties" table in the checkin database, to change values that get uploaded.', - 'ACCESS_COARSE_LOCATION' => 'Allows an app to access approximate location derived from network location sources such as cell towers and Wi-Fi.', - 'ACCESS_FINE_LOCATION' => 'Allows an app to access precise location from location sources such as GPS, cell towers, and Wi-Fi.', - 'ACCESS_LOCATION_EXTRA_COMMANDS' => 'Allows an application to access extra location provider commands.', - 'ACCESS_MOCK_LOCATION' => 'Allows an application to create mock location providers for testing.', - 'ACCESS_NETWORK_STATE' => 'Allows applications to access information about networks.', - 'ACCESS_NOTIFICATION_POLICY' => 'Marker permission for applications that wish to access notification policy.', - 'ACCESS_SURFACE_FLINGER' => 'Allows an application to use SurfaceFlinger\'s low level features.', - 'ACCESS_WIFI_STATE' => 'Allows applications to access information about Wi-Fi networks', - 'ACCOUNT_MANAGER' => 'Allows applications to call into AccountAuthenticators.', - 'ADD_VOICEMAIL' => 'Allows an application to add voicemails into the system.', - 'AUTHENTICATE_ACCOUNTS' => 'Allows an application to act as an AccountAuthenticator for the AccountManager.', - 'BATTERY_STATS' => 'Allows an application to collect battery statistics.', - 'BIND_ACCESSIBILITY_SERVICE' => 'Must be required by an AccessibilityService,to ensure that only the system can bind to it.', - 'BIND_APPWIDGET' => 'Allows an application to tell the AppWidget service which application can access AppWidget\'s data.', - 'BIND_CARRIER_MESSAGING_SERVICE' => 'The system process that is allowed to bind to services in carrier apps will have this permission. Carrier apps should use this permission to protect their services that only the system is allowed to bind to.', - 'BIND_CARRIER_SERVICES' => 'The system process that is allowed to bind to services in carrier apps will have this permission. Carrier apps should use this permission to protect their services that only the system is allowed to bind to.', - 'BIND_CHOOSER_TARGET_SERVICE' => 'Must be required by a ChooserTargetService, to ensure that only the system can bind to it.', - 'BIND_DEVICE_ADMIN' => 'Must be required by device administration receiver, to ensure that only the system can interact with it.', - 'BIND_DREAM_SERVICE' => 'Must be required by an DreamService, to ensure that only the system can bind to it.', - 'BIND_INCALL_SERVICE' => 'Must be required by a InCallService, to ensure that only the system can bind to it.', - 'BIND_INPUT_METHOD' => 'Must be required by an InputMethodService, to ensure that only the system can bind to it.', - 'BIND_MIDI_DEVICE_SERVICE' => 'Must be required by an MidiDeviceService, to ensure that only the system can bind to it.', - 'BIND_NFC_SERVICE' => 'Must be required by a HostApduService or OffHostApduService to ensure that only the system can bind to it.', - 'BIND_NOTIFICATION_LISTENER_SERVICE' => 'Must be required by an NotificationListenerService, to ensure that only the system can bind to it.', - 'BIND_PRINT_SERVICE' => 'Must be required by a PrintService, to ensure that only the system can bind to it.', - 'BIND_REMOTEVIEWS' => 'Must be required by a RemoteViewsService, to ensure that only the system can bind to it.', - 'BIND_TELECOM_CONNECTION_SERVICE' => 'Must be required by a ConnectionService, to ensure that only the system can bind to it.', - 'BIND_TEXT_SERVICE' => 'Must be required by a TextService (e.g. SpellCheckerService) to ensure that only the system can bind to it.', - 'BIND_TV_INPUT' => 'Must be required by a TvInputService to ensure that only the system can bind to it.', - 'BIND_VOICE_INTERACTION' => 'Must be required by a VoiceInteractionService, to ensure that only the system can bind to it.', - 'BIND_VPN_SERVICE' => 'Must be required by a VpnService, to ensure that only the system can bind to it.', - 'BIND_WALLPAPER' => 'Must be required by a WallpaperService, to ensure that only the system can bind to it.', - 'BLUETOOTH' => 'Allows applications to connect to paired bluetooth devices.', - 'BLUETOOTH_ADMIN' => 'Allows applications to discover and pair bluetooth devices.', - 'BLUETOOTH_PRIVILEGED' => 'Allows applications to pair bluetooth devices without user interaction.', - 'BODY_SENSORS' => 'Allows an application to access data from sensors that the user uses to measure what is happening inside his/her body, such as heart rate.', - 'BRICK' => 'Required to be able to disable the device (very dangerous!).', - 'BROADCAST_PACKAGE_REMOVED' => 'Allows an application to broadcast a notification that an application package has been removed.', - 'BROADCAST_SMS' => 'Allows an application to broadcast an SMS receipt notification.', - 'BROADCAST_STICKY' => 'Allows an application to broadcast sticky intents.', - 'BROADCAST_WAP_PUSH' => 'Allows an application to broadcast a WAP PUSH receipt notification.', - 'CALL_PHONE' => 'Allows an application to initiate a phone call without going through the Dialer user interface for the user to confirm the call being placed.', - 'CALL_PRIVILEGED' => 'Allows an application to call any phone number, including emergency numbers, without going through the Dialer user interface for the user to confirm the call being placed.', - 'CAMERA' => 'Required to be able to access the camera device.', - 'CAPTURE_AUDIO_OUTPUT' => 'Allows an application to capture audio output.', - 'CAPTURE_SECURE_VIDEO_OUTPUT' => 'Allows an application to capture secure video output.', - 'CAPTURE_VIDEO_OUTPUT' => 'Allows an application to capture video output.', - 'CHANGE_COMPONENT_ENABLED_STATE' => 'Allows an application to change whether an application component (other than its own) is enabled or not.', - 'CHANGE_CONFIGURATION' => 'Allows an application to modify the current configuration, such as locale.', - 'CHANGE_NETWORK_STATE' => 'Allows applications to change network connectivity state.', - 'CHANGE_WIFI_MULTICAST_STATE' => 'Allows applications to enter Wi-Fi Multicast mode.', - 'CHANGE_WIFI_STATE' => 'Allows applications to change Wi-Fi connectivity state.', - 'CLEAR_APP_CACHE' => 'Allows an application to clear the caches of all installed applications on the device.', - 'CLEAR_APP_USER_DATA' => 'Allows an application to clear user data.', - 'CONTROL_LOCATION_UPDATES' => 'Allows enabling/disabling location update notifications from the radio.', - 'DELETE_CACHE_FILES' => 'Allows an application to delete cache files.', - 'DELETE_PACKAGES' => 'Allows an application to delete packages.', - 'DEVICE_POWER' => 'Allows low-level access to power management.', - 'DIAGNOSTIC' => 'Allows applications to RW to diagnostic resources.', - 'DISABLE_KEYGUARD' => 'Allows applications to disable the keyguard.', - 'DUMP' => 'Allows an application to retrieve state dump information from system services.', - 'EXPAND_STATUS_BAR' => 'Allows an application to expand or collapse the status bar.', - 'FACTORY_TEST' => 'Run as a manufacturer test application, running as the root user.', - 'FLASHLIGHT' => 'Allows access to the flashlight.', - 'FORCE_BACK' => 'Allows an application to force a BACK operation on whatever is the top activity.', - 'GET_ACCOUNTS' => 'Allows access to the list of accounts in the Accounts Service.', - 'GET_ACCOUNTS_PRIVILEGED' => 'Allows access to the list of accounts in the Accounts Service.', - 'GET_PACKAGE_SIZE' => 'Allows an application to find out the space used by any package.', - 'GET_TASKS' => 'Allows an application to get information about the currently or recently running tasks.', - 'GET_TOP_ACTIVITY_INFO' => 'Allows an application to retrieve private information about the current top activity, such as any assist context it can provide.', - 'GLOBAL_SEARCH' => 'This permission can be used on content providers to allow the global search system to access their data.', - 'HARDWARE_TEST' => 'Allows access to hardware peripherals.', - 'INJECT_EVENTS' => 'Allows an application to inject user events (keys, touch, trackball) into the event stream and deliver them to ANY window.', - 'INSTALL_LOCATION_PROVIDER' => 'Allows an application to install a location provider into the Location Manager.', - 'INSTALL_PACKAGES' => 'Allows an application to install packages.', - 'INSTALL_SHORTCUT' => 'Allows an application to install a shortcut in Launcher.', - 'INTERNAL_SYSTEM_WINDOW' => 'Allows an application to open windows that are for use by parts of the system user interface.', - 'INTERNET' => 'Allows applications to open network sockets.', - 'KILL_BACKGROUND_PROCESSES' => 'Allows an application to call killBackgroundProcesses(String).', - 'LOCATION_HARDWARE' => 'Allows an application to use location features in hardware, such as the geofencing api.', - 'MANAGE_ACCOUNTS' => 'Allows an application to manage the list of accounts in the AccountManager.', - 'MANAGE_APP_TOKENS' => 'Allows an application to manage (create, destroy, Z-order) application tokens in the window manager.', - 'MANAGE_DOCUMENTS' => 'Allows an application to manage access to documents, usually as part of a document picker.', - 'MASTER_CLEAR' => 'Not for use by third-party applications.', - 'MEDIA_CONTENT_CONTROL' => 'Allows an application to know what content is playing and control its playback.', - 'MODIFY_AUDIO_SETTINGS' => 'Allows an application to modify global audio setting.s.', - 'MODIFY_PHONE_STATE' => 'Allows modification of the telephony state - power on, mmi, etc.', - 'MOUNT_FORMAT_FILESYSTEMS' => 'Allows formatting file systems for removable storage.', - 'MOUNT_UNMOUNT_FILESYSTEMS' => 'Allows mounting and unmounting file systems for removable storage.', - 'NFC' => 'Allows applications to perform I/O operations over NFC.', - 'PACKAGE_USAGE_STATS' => 'Allows an application to collect component usage statistics.', - 'PERSISTENT_ACTIVITY' => 'This constant was deprecated in API level 9. This functionality will be removed in the future; please do not use. Allow an application to make its activities persistent.', - 'PROCESS_OUTGOING_CALLS' => 'Allows an application to monitor, modify, or abort outgoing calls.', - 'READ_CALENDAR' => 'Allows an application to read the user\'s calendar data.', - 'READ_CALL_LOG' => 'Allows an application to read the user\'s call log.', - 'READ_CONTACTS' => 'Allows an application to read the user\'s contacts data.', - 'READ_EXTERNAL_STORAGE' => 'Allows an application to read from external storage.', - 'READ_FRAME_BUFFER' => 'Allows an application to take screen shots and more generally get access to the frame buffer data.', - 'READ_HISTORY_BOOKMARKS' => 'Allows an application to read (but not write) the user\'s browsing history and bookmarks.', - 'READ_INPUT_STATE' => 'This constant was deprecated in API level 16. The API that used this permission has been removed.', - 'READ_LOGS' => 'Allows an application to read the low-level system log files.', - 'READ_PHONE_STATE' => 'Allows read only access to phone state.', - 'READ_PROFILE' => 'Allows an application to read the user\'s personal profile data.', - 'READ_SMS' => 'Allows an application to read SMS messages.', - 'READ_SOCIAL_STREAM' => 'Allows an application to read from the user\'s social stream.', - 'READ_SYNC_SETTINGS' => 'Allows applications to read the sync settings.', - 'READ_SYNC_STATS' => 'Allows applications to read the sync stats.', - 'READ_USER_DICTIONARY' => 'Allows an application to read the user dictionary.', - 'READ_VOICEMAIL' => 'Allows an application to read voicemails in the system.', - 'REBOOT' => 'Required to be able to reboot the device.', - 'RECEIVE_BOOT_COMPLETED' => 'Allows an application to receive the ACTION_BOOT_COMPLETED that is broadcast after the system finishes booting.', - 'RECEIVE_MMS' => 'Allows an application to monitor incoming MMS messages, to record or perform processing on them.', - 'RECEIVE_SMS' => 'Allows an application to monitor incoming SMS messages, to record or perform processing on them.', - 'RECEIVE_WAP_PUSH' => 'Allows an application to monitor incoming WAP push messages.', - 'RECORD_AUDIO' => 'Allows an application to record audio.', - 'REORDER_TASKS' => 'Allows an application to change the Z-order of tasks', + 'ACCESS_CHECKIN_PROPERTIES' => 'Allows read/write access to the "properties" table in the checkin database, to change values that get uploaded.', + 'ACCESS_COARSE_LOCATION' => 'Allows an app to access approximate location derived from network location sources such as cell towers and Wi-Fi.', + 'ACCESS_FINE_LOCATION' => 'Allows an app to access precise location from location sources such as GPS, cell towers, and Wi-Fi.', + 'ACCESS_LOCATION_EXTRA_COMMANDS' => 'Allows an application to access extra location provider commands.', + 'ACCESS_MOCK_LOCATION' => 'Allows an application to create mock location providers for testing.', + 'ACCESS_NETWORK_STATE' => 'Allows applications to access information about networks.', + 'ACCESS_NOTIFICATION_POLICY' => 'Marker permission for applications that wish to access notification policy.', + 'ACCESS_SURFACE_FLINGER' => 'Allows an application to use SurfaceFlinger\'s low level features.', + 'ACCESS_WIFI_STATE' => 'Allows applications to access information about Wi-Fi networks', + 'ACCOUNT_MANAGER' => 'Allows applications to call into AccountAuthenticators.', + 'ADD_VOICEMAIL' => 'Allows an application to add voicemails into the system.', + 'AUTHENTICATE_ACCOUNTS' => 'Allows an application to act as an AccountAuthenticator for the AccountManager.', + 'BATTERY_STATS' => 'Allows an application to collect battery statistics.', + 'BIND_ACCESSIBILITY_SERVICE' => 'Must be required by an AccessibilityService,to ensure that only the system can bind to it.', + 'BIND_APPWIDGET' => 'Allows an application to tell the AppWidget service which application can access AppWidget\'s data.', + 'BIND_CARRIER_MESSAGING_SERVICE' => 'The system process that is allowed to bind to services in carrier apps will have this permission. Carrier apps should use this permission to protect their services that only the system is allowed to bind to.', + 'BIND_CARRIER_SERVICES' => 'The system process that is allowed to bind to services in carrier apps will have this permission. Carrier apps should use this permission to protect their services that only the system is allowed to bind to.', + 'BIND_CHOOSER_TARGET_SERVICE' => 'Must be required by a ChooserTargetService, to ensure that only the system can bind to it.', + 'BIND_DEVICE_ADMIN' => 'Must be required by device administration receiver, to ensure that only the system can interact with it.', + 'BIND_DREAM_SERVICE' => 'Must be required by an DreamService, to ensure that only the system can bind to it.', + 'BIND_INCALL_SERVICE' => 'Must be required by a InCallService, to ensure that only the system can bind to it.', + 'BIND_INPUT_METHOD' => 'Must be required by an InputMethodService, to ensure that only the system can bind to it.', + 'BIND_MIDI_DEVICE_SERVICE' => 'Must be required by an MidiDeviceService, to ensure that only the system can bind to it.', + 'BIND_NFC_SERVICE' => 'Must be required by a HostApduService or OffHostApduService to ensure that only the system can bind to it.', + 'BIND_NOTIFICATION_LISTENER_SERVICE' => 'Must be required by an NotificationListenerService, to ensure that only the system can bind to it.', + 'BIND_PRINT_SERVICE' => 'Must be required by a PrintService, to ensure that only the system can bind to it.', + 'BIND_REMOTEVIEWS' => 'Must be required by a RemoteViewsService, to ensure that only the system can bind to it.', + 'BIND_TELECOM_CONNECTION_SERVICE' => 'Must be required by a ConnectionService, to ensure that only the system can bind to it.', + 'BIND_TEXT_SERVICE' => 'Must be required by a TextService (e.g. SpellCheckerService) to ensure that only the system can bind to it.', + 'BIND_TV_INPUT' => 'Must be required by a TvInputService to ensure that only the system can bind to it.', + 'BIND_VOICE_INTERACTION' => 'Must be required by a VoiceInteractionService, to ensure that only the system can bind to it.', + 'BIND_VPN_SERVICE' => 'Must be required by a VpnService, to ensure that only the system can bind to it.', + 'BIND_WALLPAPER' => 'Must be required by a WallpaperService, to ensure that only the system can bind to it.', + 'BLUETOOTH' => 'Allows applications to connect to paired bluetooth devices.', + 'BLUETOOTH_ADMIN' => 'Allows applications to discover and pair bluetooth devices.', + 'BLUETOOTH_PRIVILEGED' => 'Allows applications to pair bluetooth devices without user interaction.', + 'BODY_SENSORS' => 'Allows an application to access data from sensors that the user uses to measure what is happening inside his/her body, such as heart rate.', + 'BRICK' => 'Required to be able to disable the device (very dangerous!).', + 'BROADCAST_PACKAGE_REMOVED' => 'Allows an application to broadcast a notification that an application package has been removed.', + 'BROADCAST_SMS' => 'Allows an application to broadcast an SMS receipt notification.', + 'BROADCAST_STICKY' => 'Allows an application to broadcast sticky intents.', + 'BROADCAST_WAP_PUSH' => 'Allows an application to broadcast a WAP PUSH receipt notification.', + 'CALL_PHONE' => 'Allows an application to initiate a phone call without going through the Dialer user interface for the user to confirm the call being placed.', + 'CALL_PRIVILEGED' => 'Allows an application to call any phone number, including emergency numbers, without going through the Dialer user interface for the user to confirm the call being placed.', + 'CAMERA' => 'Required to be able to access the camera device.', + 'CAPTURE_AUDIO_OUTPUT' => 'Allows an application to capture audio output.', + 'CAPTURE_SECURE_VIDEO_OUTPUT' => 'Allows an application to capture secure video output.', + 'CAPTURE_VIDEO_OUTPUT' => 'Allows an application to capture video output.', + 'CHANGE_COMPONENT_ENABLED_STATE' => 'Allows an application to change whether an application component (other than its own) is enabled or not.', + 'CHANGE_CONFIGURATION' => 'Allows an application to modify the current configuration, such as locale.', + 'CHANGE_NETWORK_STATE' => 'Allows applications to change network connectivity state.', + 'CHANGE_WIFI_MULTICAST_STATE' => 'Allows applications to enter Wi-Fi Multicast mode.', + 'CHANGE_WIFI_STATE' => 'Allows applications to change Wi-Fi connectivity state.', + 'CLEAR_APP_CACHE' => 'Allows an application to clear the caches of all installed applications on the device.', + 'CLEAR_APP_USER_DATA' => 'Allows an application to clear user data.', + 'CONTROL_LOCATION_UPDATES' => 'Allows enabling/disabling location update notifications from the radio.', + 'DELETE_CACHE_FILES' => 'Allows an application to delete cache files.', + 'DELETE_PACKAGES' => 'Allows an application to delete packages.', + 'DEVICE_POWER' => 'Allows low-level access to power management.', + 'DIAGNOSTIC' => 'Allows applications to RW to diagnostic resources.', + 'DISABLE_KEYGUARD' => 'Allows applications to disable the keyguard.', + 'DUMP' => 'Allows an application to retrieve state dump information from system services.', + 'EXPAND_STATUS_BAR' => 'Allows an application to expand or collapse the status bar.', + 'FACTORY_TEST' => 'Run as a manufacturer test application, running as the root user.', + 'FLASHLIGHT' => 'Allows access to the flashlight.', + 'FORCE_BACK' => 'Allows an application to force a BACK operation on whatever is the top activity.', + 'GET_ACCOUNTS' => 'Allows access to the list of accounts in the Accounts Service.', + 'GET_ACCOUNTS_PRIVILEGED' => 'Allows access to the list of accounts in the Accounts Service.', + 'GET_PACKAGE_SIZE' => 'Allows an application to find out the space used by any package.', + 'GET_TASKS' => 'Allows an application to get information about the currently or recently running tasks.', + 'GET_TOP_ACTIVITY_INFO' => 'Allows an application to retrieve private information about the current top activity, such as any assist context it can provide.', + 'GLOBAL_SEARCH' => 'This permission can be used on content providers to allow the global search system to access their data.', + 'HARDWARE_TEST' => 'Allows access to hardware peripherals.', + 'INJECT_EVENTS' => 'Allows an application to inject user events (keys, touch, trackball) into the event stream and deliver them to ANY window.', + 'INSTALL_LOCATION_PROVIDER' => 'Allows an application to install a location provider into the Location Manager.', + 'INSTALL_PACKAGES' => 'Allows an application to install packages.', + 'INSTALL_SHORTCUT' => 'Allows an application to install a shortcut in Launcher.', + 'INTERNAL_SYSTEM_WINDOW' => 'Allows an application to open windows that are for use by parts of the system user interface.', + 'INTERNET' => 'Allows applications to open network sockets.', + 'KILL_BACKGROUND_PROCESSES' => 'Allows an application to call killBackgroundProcesses(String).', + 'LOCATION_HARDWARE' => 'Allows an application to use location features in hardware, such as the geofencing api.', + 'MANAGE_ACCOUNTS' => 'Allows an application to manage the list of accounts in the AccountManager.', + 'MANAGE_APP_TOKENS' => 'Allows an application to manage (create, destroy, Z-order) application tokens in the window manager.', + 'MANAGE_DOCUMENTS' => 'Allows an application to manage access to documents, usually as part of a document picker.', + 'MASTER_CLEAR' => 'Not for use by third-party applications.', + 'MEDIA_CONTENT_CONTROL' => 'Allows an application to know what content is playing and control its playback.', + 'MODIFY_AUDIO_SETTINGS' => 'Allows an application to modify global audio setting.s.', + 'MODIFY_PHONE_STATE' => 'Allows modification of the telephony state - power on, mmi, etc.', + 'MOUNT_FORMAT_FILESYSTEMS' => 'Allows formatting file systems for removable storage.', + 'MOUNT_UNMOUNT_FILESYSTEMS' => 'Allows mounting and unmounting file systems for removable storage.', + 'NFC' => 'Allows applications to perform I/O operations over NFC.', + 'PACKAGE_USAGE_STATS' => 'Allows an application to collect component usage statistics.', + 'PERSISTENT_ACTIVITY' => 'This constant was deprecated in API level 9. This functionality will be removed in the future; please do not use. Allow an application to make its activities persistent.', + 'PROCESS_OUTGOING_CALLS' => 'Allows an application to monitor, modify, or abort outgoing calls.', + 'READ_CALENDAR' => 'Allows an application to read the user\'s calendar data.', + 'READ_CALL_LOG' => 'Allows an application to read the user\'s call log.', + 'READ_CONTACTS' => 'Allows an application to read the user\'s contacts data.', + 'READ_EXTERNAL_STORAGE' => 'Allows an application to read from external storage.', + 'READ_FRAME_BUFFER' => 'Allows an application to take screen shots and more generally get access to the frame buffer data.', + 'READ_HISTORY_BOOKMARKS' => 'Allows an application to read (but not write) the user\'s browsing history and bookmarks.', + 'READ_INPUT_STATE' => 'This constant was deprecated in API level 16. The API that used this permission has been removed.', + 'READ_LOGS' => 'Allows an application to read the low-level system log files.', + 'READ_PHONE_STATE' => 'Allows read only access to phone state.', + 'READ_PROFILE' => 'Allows an application to read the user\'s personal profile data.', + 'READ_SMS' => 'Allows an application to read SMS messages.', + 'READ_SOCIAL_STREAM' => 'Allows an application to read from the user\'s social stream.', + 'READ_SYNC_SETTINGS' => 'Allows applications to read the sync settings.', + 'READ_SYNC_STATS' => 'Allows applications to read the sync stats.', + 'READ_USER_DICTIONARY' => 'Allows an application to read the user dictionary.', + 'READ_VOICEMAIL' => 'Allows an application to read voicemails in the system.', + 'REBOOT' => 'Required to be able to reboot the device.', + 'RECEIVE_BOOT_COMPLETED' => 'Allows an application to receive the ACTION_BOOT_COMPLETED that is broadcast after the system finishes booting.', + 'RECEIVE_MMS' => 'Allows an application to monitor incoming MMS messages, to record or perform processing on them.', + 'RECEIVE_SMS' => 'Allows an application to monitor incoming SMS messages, to record or perform processing on them.', + 'RECEIVE_WAP_PUSH' => 'Allows an application to monitor incoming WAP push messages.', + 'RECORD_AUDIO' => 'Allows an application to record audio.', + 'REORDER_TASKS' => 'Allows an application to change the Z-order of tasks', 'REQUEST_IGNORE_BATTERY_OPTIMIZATIONS' => 'Permission an application must hold in order to use ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS. This is a normal permission: an app requesting it will always be granted the permission, without the user needing to approve or see it', - 'REQUEST_INSTALL_PACKAGES' => 'Allows an application to request installing packages. Apps targeting APIs greater than 25 must hold this permission in order to use ACTION_INSTALL_PACKAGE', - 'RESTART_PACKAGES' => 'This constant was deprecated in API level 8. The restartPackage(String) API is no longer supported.', - 'SEND_RESPOND_VIA_MESSAGE' => 'Allows an application (Phone) to send a request to other applications to handle the respond-via-message action during incoming calls.', - 'SEND_SMS' => 'Allows an application to send SMS messages.', - 'SET_ACTIVITY_WATCHER' => 'Allows an application to watch and control how activities are started globally in the system.', - 'SET_ALARM' => 'Allows an application to broadcast an Intent to set an alarm for the user.', - 'SET_ALWAYS_FINISH' => 'Allows an application to control whether activities are immediately finished when put in the background.', - 'SET_ANIMATION_SCALE' => 'Modify the global animation scaling factor.', - 'SET_DEBUG_APP' => 'Configure an application for debugging.', - 'SET_ORIENTATION' => 'Allows low-level access to setting the orientation (actually rotation) of the screen.', - 'SET_POINTER_SPEED' => 'Allows low-level access to setting the pointer speed.', - 'SET_PREFERRED_APPLICATIONS' => 'This constant was deprecated in API level 7. No longer useful, see addPackageToPreferred(String) for details.', - 'SET_PROCESS_LIMIT' => 'Allows an application to set the maximum number of (not needed) application processes that can be running.', - 'SET_TIME' => 'Allows applications to set the system time.', - 'SET_TIME_ZONE' => 'Allows applications to set the system time zone.', - 'SET_WALLPAPER' => 'Allows applications to set the wallpaper.', - 'SET_WALLPAPER_HINTS' => 'Allows applications to set the wallpaper hints.', - 'SIGNAL_PERSISTENT_PROCESSES' => 'Allow an application to request that a signal be sent to all persistent processes.', - 'STATUS_BAR' => 'Allows an application to open, close, or disable the status bar and its icons.', - 'SUBSCRIBED_FEEDS_READ' => 'Allows an application to allow access the subscribed feeds ContentProvider.', - 'SUBSCRIBED_FEEDS_WRITE' => '', - 'SYSTEM_ALERT_WINDOW' => 'Allows an application to open windows using the type TYPE_SYSTEM_ALERT, shown on top of all other applications.', - 'TRANSMIT_IR' => 'Allows using the device\'s IR transmitter, if available.', - 'UNINSTALL_SHORTCUT' => 'Allows an application to uninstall a shortcut in Launche.r', - 'UPDATE_DEVICE_STATS' => 'Allows an application to update device statistics.', - 'USE_CREDENTIALS' => 'Allows an application to request authtokens from the AccountManager.', - 'USE_FINGERPRINT' => 'Allows an app to use fingerprint hardware.', - 'USE_SIP' => 'Allows an application to use SIP service.', - 'VIBRATE' => 'Allows access to the vibrator.', - 'WAKE_LOCK' => 'Allows using PowerManager WakeLocks to keep processor from sleeping or screen from dimming.', - 'WRITE_APN_SETTINGS' => 'Allows applications to write the apn settings.', - 'WRITE_CALENDAR' => 'Allows an application to write (but not read) the user\'s calendar data.', - 'WRITE_CALL_LOG' => 'Allows an application to write (but not read) the user\'s contacts data.', - 'WRITE_CONTACTS' => 'Allows an application to write (but not read) the user\'s contacts data.', - 'WRITE_EXTERNAL_STORAGE' => 'Allows an application to write to external storage.', - 'WRITE_GSERVICES' => 'Allows an application to modify the Google service map.', - 'WRITE_HISTORY_BOOKMARKS' => 'Allows an application to write (but not read) the user\'s browsing history and bookmarks.', - 'WRITE_PROFILE' => 'Allows an application to write (but not read) the user\'s personal profile data.', - 'WRITE_SECURE_SETTINGS' => 'Allows an application to read or write the secure system settings.', - 'WRITE_SETTINGS' => 'Allows an application to read or write the system settings.', - 'WRITE_SMS' => 'Allows an application to write SMS messages.', - 'WRITE_SOCIAL_STREAM' => 'Allows an application to write (but not read) the user\'s social stream data.', - 'WRITE_SYNC_SETTINGS' => 'Allows applications to write the sync settings.', - 'WRITE_USER_DICTIONARY' => 'Allows an application to write to the user dictionary.', - 'WRITE_VOICEMAIL' => 'Allows an application to modify and remove existing voicemails in the system.' + 'REQUEST_INSTALL_PACKAGES' => 'Allows an application to request installing packages. Apps targeting APIs greater than 25 must hold this permission in order to use ACTION_INSTALL_PACKAGE', + 'RESTART_PACKAGES' => 'This constant was deprecated in API level 8. The restartPackage(String) API is no longer supported.', + 'SEND_RESPOND_VIA_MESSAGE' => 'Allows an application (Phone) to send a request to other applications to handle the respond-via-message action during incoming calls.', + 'SEND_SMS' => 'Allows an application to send SMS messages.', + 'SET_ACTIVITY_WATCHER' => 'Allows an application to watch and control how activities are started globally in the system.', + 'SET_ALARM' => 'Allows an application to broadcast an Intent to set an alarm for the user.', + 'SET_ALWAYS_FINISH' => 'Allows an application to control whether activities are immediately finished when put in the background.', + 'SET_ANIMATION_SCALE' => 'Modify the global animation scaling factor.', + 'SET_DEBUG_APP' => 'Configure an application for debugging.', + 'SET_ORIENTATION' => 'Allows low-level access to setting the orientation (actually rotation) of the screen.', + 'SET_POINTER_SPEED' => 'Allows low-level access to setting the pointer speed.', + 'SET_PREFERRED_APPLICATIONS' => 'This constant was deprecated in API level 7. No longer useful, see addPackageToPreferred(String) for details.', + 'SET_PROCESS_LIMIT' => 'Allows an application to set the maximum number of (not needed) application processes that can be running.', + 'SET_TIME' => 'Allows applications to set the system time.', + 'SET_TIME_ZONE' => 'Allows applications to set the system time zone.', + 'SET_WALLPAPER' => 'Allows applications to set the wallpaper.', + 'SET_WALLPAPER_HINTS' => 'Allows applications to set the wallpaper hints.', + 'SIGNAL_PERSISTENT_PROCESSES' => 'Allow an application to request that a signal be sent to all persistent processes.', + 'STATUS_BAR' => 'Allows an application to open, close, or disable the status bar and its icons.', + 'SUBSCRIBED_FEEDS_READ' => 'Allows an application to allow access the subscribed feeds ContentProvider.', + 'SUBSCRIBED_FEEDS_WRITE' => '', + 'SYSTEM_ALERT_WINDOW' => 'Allows an application to open windows using the type TYPE_SYSTEM_ALERT, shown on top of all other applications.', + 'TRANSMIT_IR' => 'Allows using the device\'s IR transmitter, if available.', + 'UNINSTALL_SHORTCUT' => 'Allows an application to uninstall a shortcut in Launche.r', + 'UPDATE_DEVICE_STATS' => 'Allows an application to update device statistics.', + 'USE_CREDENTIALS' => 'Allows an application to request authtokens from the AccountManager.', + 'USE_FINGERPRINT' => 'Allows an app to use fingerprint hardware.', + 'USE_SIP' => 'Allows an application to use SIP service.', + 'VIBRATE' => 'Allows access to the vibrator.', + 'WAKE_LOCK' => 'Allows using PowerManager WakeLocks to keep processor from sleeping or screen from dimming.', + 'WRITE_APN_SETTINGS' => 'Allows applications to write the apn settings.', + 'WRITE_CALENDAR' => 'Allows an application to write (but not read) the user\'s calendar data.', + 'WRITE_CALL_LOG' => 'Allows an application to write (but not read) the user\'s contacts data.', + 'WRITE_CONTACTS' => 'Allows an application to write (but not read) the user\'s contacts data.', + 'WRITE_EXTERNAL_STORAGE' => 'Allows an application to write to external storage.', + 'WRITE_GSERVICES' => 'Allows an application to modify the Google service map.', + 'WRITE_HISTORY_BOOKMARKS' => 'Allows an application to write (but not read) the user\'s browsing history and bookmarks.', + 'WRITE_PROFILE' => 'Allows an application to write (but not read) the user\'s personal profile data.', + 'WRITE_SECURE_SETTINGS' => 'Allows an application to read or write the secure system settings.', + 'WRITE_SETTINGS' => 'Allows an application to read or write the system settings.', + 'WRITE_SMS' => 'Allows an application to write SMS messages.', + 'WRITE_SOCIAL_STREAM' => 'Allows an application to write (but not read) the user\'s social stream data.', + 'WRITE_SYNC_SETTINGS' => 'Allows applications to write the sync settings.', + 'WRITE_USER_DICTIONARY' => 'Allows an application to write to the user dictionary.', + 'WRITE_VOICEMAIL' => 'Allows an application to modify and remove existing voicemails in the system.' ); public static $permission_flags = array( - 'ACCESS_CHECKIN_PROPERTIES' => + 'ACCESS_CHECKIN_PROPERTIES' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'ACCESS_COARSE_LOCATION' => + 'ACCESS_COARSE_LOCATION' => array( - 'cost' => false, + 'cost' => false, 'warning' => true, - 'danger' => false, + 'danger' => false, ), - 'ACCESS_FINE_LOCATION' => + 'ACCESS_FINE_LOCATION' => array( - 'cost' => false, + 'cost' => false, 'warning' => true, - 'danger' => false, + 'danger' => false, ), - 'ACCESS_LOCATION_EXTRA_COMMANDS' => + 'ACCESS_LOCATION_EXTRA_COMMANDS' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'ACCESS_MOCK_LOCATION' => + 'ACCESS_MOCK_LOCATION' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'ACCESS_NETWORK_STATE' => + 'ACCESS_NETWORK_STATE' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'ACCESS_SURFACE_FLINGER' => + 'ACCESS_SURFACE_FLINGER' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'ACCESS_WIFI_STATE' => + 'ACCESS_WIFI_STATE' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'ACCOUNT_MANAGER' => + 'ACCOUNT_MANAGER' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'ADD_VOICEMAIL' => + 'ADD_VOICEMAIL' => array( - 'cost' => false, + 'cost' => false, 'warning' => true, - 'danger' => true, + 'danger' => true, ), - 'AUTHENTICATE_ACCOUNTS' => + 'AUTHENTICATE_ACCOUNTS' => array( - 'cost' => false, + 'cost' => false, 'warning' => true, - 'danger' => true, + 'danger' => true, ), - 'BATTERY_STATS' => + 'BATTERY_STATS' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'BIND_ACCESSIBILITY_SERVICE' => + 'BIND_ACCESSIBILITY_SERVICE' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'BIND_APPWIDGET' => + 'BIND_APPWIDGET' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'BIND_DEVICE_ADMIN' => + 'BIND_DEVICE_ADMIN' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'BIND_DREAM_SERVICE' => + 'BIND_DREAM_SERVICE' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'BIND_INPUT_METHOD' => + 'BIND_INPUT_METHOD' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'BIND_NFC_SERVICE' => + 'BIND_NFC_SERVICE' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), 'BIND_NOTIFICATION_LISTENER_SERVICE' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'BIND_PRINT_SERVICE' => + 'BIND_PRINT_SERVICE' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'BIND_REMOTEVIEWS' => + 'BIND_REMOTEVIEWS' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'BIND_TEXT_SERVICE' => + 'BIND_TEXT_SERVICE' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'BIND_TV_INPUT' => + 'BIND_TV_INPUT' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'BIND_VOICE_INTERACTION' => + 'BIND_VOICE_INTERACTION' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'BIND_VPN_SERVICE' => + 'BIND_VPN_SERVICE' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'BIND_WALLPAPER' => + 'BIND_WALLPAPER' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'BLUETOOTH' => + 'BLUETOOTH' => array( - 'cost' => false, + 'cost' => false, 'warning' => true, - 'danger' => false, + 'danger' => false, ), - 'BLUETOOTH_ADMIN' => + 'BLUETOOTH_ADMIN' => array( - 'cost' => false, + 'cost' => false, 'warning' => true, - 'danger' => false, + 'danger' => false, ), - 'BLUETOOTH_PRIVILEGED' => + 'BLUETOOTH_PRIVILEGED' => array( - 'cost' => false, + 'cost' => false, 'warning' => true, - 'danger' => false, + 'danger' => false, ), - 'BODY_SENSORS' => + 'BODY_SENSORS' => array( - 'cost' => false, + 'cost' => false, 'warning' => true, - 'danger' => true, + 'danger' => true, ), - 'BRICK' => + 'BRICK' => array( - 'cost' => false, + 'cost' => false, 'warning' => true, - 'danger' => true, + 'danger' => true, ), - 'BROADCAST_PACKAGE_REMOVED' => + 'BROADCAST_PACKAGE_REMOVED' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'BROADCAST_SMS' => + 'BROADCAST_SMS' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'BROADCAST_STICKY' => + 'BROADCAST_STICKY' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'BROADCAST_WAP_PUSH' => + 'BROADCAST_WAP_PUSH' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'CALL_PHONE' => + 'CALL_PHONE' => array( - 'cost' => true, + 'cost' => true, 'warning' => true, - 'danger' => false, + 'danger' => false, ), - 'CALL_PRIVILEGED' => + 'CALL_PRIVILEGED' => array( - 'cost' => true, + 'cost' => true, 'warning' => true, - 'danger' => true, + 'danger' => true, ), - 'CAMERA' => + 'CAMERA' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'CAPTURE_AUDIO_OUTPUT' => + 'CAPTURE_AUDIO_OUTPUT' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'CAPTURE_SECURE_VIDEO_OUTPUT' => + 'CAPTURE_SECURE_VIDEO_OUTPUT' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'CAPTURE_VIDEO_OUTPUT' => + 'CAPTURE_VIDEO_OUTPUT' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'CHANGE_COMPONENT_ENABLED_STATE' => + 'CHANGE_COMPONENT_ENABLED_STATE' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'CHANGE_CONFIGURATION' => + 'CHANGE_CONFIGURATION' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'CHANGE_NETWORK_STATE' => + 'CHANGE_NETWORK_STATE' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'CHANGE_WIFI_MULTICAST_STATE' => + 'CHANGE_WIFI_MULTICAST_STATE' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'CHANGE_WIFI_STATE' => + 'CHANGE_WIFI_STATE' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'CLEAR_APP_CACHE' => + 'CLEAR_APP_CACHE' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'CLEAR_APP_USER_DATA' => + 'CLEAR_APP_USER_DATA' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'CONTROL_LOCATION_UPDATES' => + 'CONTROL_LOCATION_UPDATES' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'DELETE_CACHE_FILES' => + 'DELETE_CACHE_FILES' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'DELETE_PACKAGES' => + 'DELETE_PACKAGES' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'DEVICE_POWER' => + 'DEVICE_POWER' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'DIAGNOSTIC' => + 'DIAGNOSTIC' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'DISABLE_KEYGUARD' => + 'DISABLE_KEYGUARD' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'DUMP' => + 'DUMP' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'EXPAND_STATUS_BAR' => + 'EXPAND_STATUS_BAR' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'FACTORY_TEST' => + 'FACTORY_TEST' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'FLASHLIGHT' => + 'FLASHLIGHT' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'FORCE_BACK' => + 'FORCE_BACK' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'GET_ACCOUNTS' => + 'GET_ACCOUNTS' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'GET_PACKAGE_SIZE' => + 'GET_PACKAGE_SIZE' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'GET_TASKS' => + 'GET_TASKS' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'GET_TOP_ACTIVITY_INFO' => + 'GET_TOP_ACTIVITY_INFO' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'GLOBAL_SEARCH' => + 'GLOBAL_SEARCH' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'HARDWARE_TEST' => + 'HARDWARE_TEST' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'INJECT_EVENTS' => + 'INJECT_EVENTS' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'INSTALL_LOCATION_PROVIDER' => + 'INSTALL_LOCATION_PROVIDER' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'INSTALL_PACKAGES' => + 'INSTALL_PACKAGES' => array( - 'cost' => false, + 'cost' => false, 'warning' => true, - 'danger' => true, + 'danger' => true, ), - 'INSTALL_SHORTCUT' => + 'INSTALL_SHORTCUT' => array( - 'cost' => false, + 'cost' => false, 'warning' => true, - 'danger' => true, + 'danger' => true, ), - 'INTERNAL_SYSTEM_WINDOW' => + 'INTERNAL_SYSTEM_WINDOW' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'INTERNET' => + 'INTERNET' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'KILL_BACKGROUND_PROCESSES' => + 'KILL_BACKGROUND_PROCESSES' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => true, + 'danger' => true, ), - 'LOCATION_HARDWARE' => + 'LOCATION_HARDWARE' => array( - 'cost' => false, + 'cost' => false, 'warning' => true, - 'danger' => false, + 'danger' => false, ), - 'MANAGE_ACCOUNTS' => + 'MANAGE_ACCOUNTS' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'MANAGE_APP_TOKENS' => + 'MANAGE_APP_TOKENS' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'MANAGE_DOCUMENTS' => + 'MANAGE_DOCUMENTS' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'MASTER_CLEAR' => + 'MASTER_CLEAR' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => true, + 'danger' => true, ), - 'MEDIA_CONTENT_CONTROL' => + 'MEDIA_CONTENT_CONTROL' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'MODIFY_AUDIO_SETTINGS' => + 'MODIFY_AUDIO_SETTINGS' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'MODIFY_PHONE_STATE' => + 'MODIFY_PHONE_STATE' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'MOUNT_FORMAT_FILESYSTEMS' => + 'MOUNT_FORMAT_FILESYSTEMS' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'MOUNT_UNMOUNT_FILESYSTEMS' => + 'MOUNT_UNMOUNT_FILESYSTEMS' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'NFC' => + 'NFC' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'PERSISTENT_ACTIVITY' => + 'PERSISTENT_ACTIVITY' => array( - 'cost' => false, + 'cost' => false, 'warning' => true, - 'danger' => true, + 'danger' => true, ), - 'PROCESS_OUTGOING_CALLS' => + 'PROCESS_OUTGOING_CALLS' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'READ_CALENDAR' => + 'READ_CALENDAR' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'READ_CALL_LOG' => + 'READ_CALL_LOG' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'READ_CONTACTS' => + 'READ_CONTACTS' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'READ_EXTERNAL_STORAGE' => + 'READ_EXTERNAL_STORAGE' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'READ_FRAME_BUFFER' => + 'READ_FRAME_BUFFER' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'READ_HISTORY_BOOKMARKS' => + 'READ_HISTORY_BOOKMARKS' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'READ_INPUT_STATE' => + 'READ_INPUT_STATE' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => true, + 'danger' => true, ), - 'READ_LOGS' => + 'READ_LOGS' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'READ_PHONE_STATE' => + 'READ_PHONE_STATE' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'READ_PROFILE' => + 'READ_PROFILE' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'READ_SMS' => + 'READ_SMS' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'READ_SOCIAL_STREAM' => + 'READ_SOCIAL_STREAM' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'READ_SYNC_SETTINGS' => + 'READ_SYNC_SETTINGS' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'READ_SYNC_STATS' => + 'READ_SYNC_STATS' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'READ_USER_DICTIONARY' => + 'READ_USER_DICTIONARY' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'READ_VOICEMAIL' => + 'READ_VOICEMAIL' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'REBOOT' => + 'REBOOT' => array( - 'cost' => false, + 'cost' => false, 'warning' => true, - 'danger' => true, + 'danger' => true, ), - 'RECEIVE_BOOT_COMPLETED' => + 'RECEIVE_BOOT_COMPLETED' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'RECEIVE_MMS' => + 'RECEIVE_MMS' => array( - 'cost' => false, + 'cost' => false, 'warning' => true, - 'danger' => false, + 'danger' => false, ), - 'RECEIVE_SMS' => + 'RECEIVE_SMS' => array( - 'cost' => false, + 'cost' => false, 'warning' => true, - 'danger' => false, + 'danger' => false, ), - 'RECEIVE_WAP_PUSH' => + 'RECEIVE_WAP_PUSH' => array( - 'cost' => false, + 'cost' => false, 'warning' => true, - 'danger' => false, + 'danger' => false, ), - 'RECORD_AUDIO' => + 'RECORD_AUDIO' => array( - 'cost' => false, + 'cost' => false, 'warning' => true, - 'danger' => false, + 'danger' => false, ), - 'REORDER_TASKS' => + 'REORDER_TASKS' => array( - 'cost' => false, + 'cost' => false, 'warning' => true, - 'danger' => false, + 'danger' => false, ), - 'RESTART_PACKAGES' => + 'RESTART_PACKAGES' => array( - 'cost' => false, + 'cost' => false, 'warning' => true, - 'danger' => true, + 'danger' => true, ), - 'SEND_RESPOND_VIA_MESSAGE' => + 'SEND_RESPOND_VIA_MESSAGE' => array( - 'cost' => false, + 'cost' => false, 'warning' => true, - 'danger' => true, + 'danger' => true, ), - 'SEND_SMS' => + 'SEND_SMS' => array( - 'cost' => true, + 'cost' => true, 'warning' => true, - 'danger' => false, + 'danger' => false, ), - 'SET_ACTIVITY_WATCHER' => + 'SET_ACTIVITY_WATCHER' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => true, + 'danger' => true, ), - 'SET_ALARM' => + 'SET_ALARM' => array( - 'cost' => false, + 'cost' => false, 'warning' => true, - 'danger' => false, + 'danger' => false, ), - 'SET_ALWAYS_FINISH' => + 'SET_ALWAYS_FINISH' => array( - 'cost' => false, + 'cost' => false, 'warning' => true, - 'danger' => true, + 'danger' => true, ), - 'SET_ANIMATION_SCALE' => + 'SET_ANIMATION_SCALE' => array( - 'cost' => false, + 'cost' => false, 'warning' => true, - 'danger' => true, + 'danger' => true, ), - 'SET_DEBUG_APP' => + 'SET_DEBUG_APP' => array( - 'cost' => false, + 'cost' => false, 'warning' => true, - 'danger' => true, + 'danger' => true, ), - 'SET_ORIENTATION' => + 'SET_ORIENTATION' => array( - 'cost' => false, + 'cost' => false, 'warning' => true, - 'danger' => true, + 'danger' => true, ), - 'SET_POINTER_SPEED' => + 'SET_POINTER_SPEED' => array( - 'cost' => false, + 'cost' => false, 'warning' => true, - 'danger' => true, + 'danger' => true, ), - 'SET_PREFERRED_APPLICATIONS' => + 'SET_PREFERRED_APPLICATIONS' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => true, + 'danger' => true, ), - 'SET_PROCESS_LIMIT' => + 'SET_PROCESS_LIMIT' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'SET_TIME' => + 'SET_TIME' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'SET_TIME_ZONE' => + 'SET_TIME_ZONE' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'SET_WALLPAPER' => + 'SET_WALLPAPER' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'SET_WALLPAPER_HINTS' => + 'SET_WALLPAPER_HINTS' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'SIGNAL_PERSISTENT_PROCESSES' => + 'SIGNAL_PERSISTENT_PROCESSES' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'STATUS_BAR' => + 'STATUS_BAR' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'SUBSCRIBED_FEEDS_READ' => + 'SUBSCRIBED_FEEDS_READ' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'SUBSCRIBED_FEEDS_WRITE' => + 'SUBSCRIBED_FEEDS_WRITE' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'SYSTEM_ALERT_WINDOW' => + 'SYSTEM_ALERT_WINDOW' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'TRANSMIT_IR' => + 'TRANSMIT_IR' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'UNINSTALL_SHORTCUT' => + 'UNINSTALL_SHORTCUT' => array( - 'cost' => false, + 'cost' => false, 'warning' => true, - 'danger' => false, + 'danger' => false, ), - 'UPDATE_DEVICE_STATS' => + 'UPDATE_DEVICE_STATS' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'USE_CREDENTIALS' => + 'USE_CREDENTIALS' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'USE_FINGERPRINT' => + 'USE_FINGERPRINT' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'USE_SIP' => + 'USE_SIP' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'VIBRATE' => + 'VIBRATE' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'WAKE_LOCK' => + 'WAKE_LOCK' => array( - 'cost' => false, + 'cost' => false, 'warning' => true, - 'danger' => false, + 'danger' => false, ), - 'WRITE_APN_SETTINGS' => + 'WRITE_APN_SETTINGS' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => true, + 'danger' => true, ), - 'WRITE_CALENDAR' => + 'WRITE_CALENDAR' => array( - 'cost' => false, + 'cost' => false, 'warning' => true, - 'danger' => false, + 'danger' => false, ), - 'WRITE_CALL_LOG' => + 'WRITE_CALL_LOG' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => true, + 'danger' => true, ), - 'WRITE_CONTACTS' => + 'WRITE_CONTACTS' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => true, + 'danger' => true, ), - 'WRITE_EXTERNAL_STORAGE' => + 'WRITE_EXTERNAL_STORAGE' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'WRITE_GSERVICES' => + 'WRITE_GSERVICES' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => true, + 'danger' => true, ), - 'WRITE_HISTORY_BOOKMARKS' => + 'WRITE_HISTORY_BOOKMARKS' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => true, + 'danger' => true, ), - 'WRITE_PROFILE' => + 'WRITE_PROFILE' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => true, + 'danger' => true, ), - 'WRITE_SECURE_SETTINGS' => + 'WRITE_SECURE_SETTINGS' => array( - 'cost' => false, + 'cost' => false, 'warning' => true, - 'danger' => false, + 'danger' => false, ), - 'WRITE_SETTINGS' => + 'WRITE_SETTINGS' => array( - 'cost' => false, + 'cost' => false, 'warning' => true, - 'danger' => false, + 'danger' => false, ), - 'WRITE_SMS' => + 'WRITE_SMS' => array( - 'cost' => false, + 'cost' => false, 'warning' => true, - 'danger' => false, + 'danger' => false, ), - 'WRITE_SOCIAL_STREAM' => + 'WRITE_SOCIAL_STREAM' => array( - 'cost' => false, + 'cost' => false, 'warning' => true, - 'danger' => false, + 'danger' => false, ), - 'WRITE_SYNC_SETTINGS' => + 'WRITE_SYNC_SETTINGS' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'WRITE_USER_DICTIONARY' => + 'WRITE_USER_DICTIONARY' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), - 'WRITE_VOICEMAIL' => + 'WRITE_VOICEMAIL' => array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ), ); } diff --git a/lib/ApkParser/ManifestXmlElement.php b/lib/ApkParser/ManifestXmlElement.php index 64ff5c7..8f4bac2 100644 --- a/lib/ApkParser/ManifestXmlElement.php +++ b/lib/ApkParser/ManifestXmlElement.php @@ -1,5 +1,7 @@ isset($permissions[$permName]) ? $permissions[$permName]['desc'] : null, + $perms[$permName] = array( + 'description' => isset($permissions[$permName]) ? $permissions[$permName]['desc'] : null, 'flags' => isset($permissions[$permName]) ? $permissions[$permName]['flags'] : array( - 'cost' => false, + 'cost' => false, 'warning' => false, - 'danger' => false, + 'danger' => false, ) ); } diff --git a/lib/ApkParser/Parser.php b/lib/ApkParser/Parser.php index 71160d8..08362f4 100644 --- a/lib/ApkParser/Parser.php +++ b/lib/ApkParser/Parser.php @@ -1,4 +1,5 @@ apk = new Archive($apkFile); $this->manifest = new Manifest(new XmlParser($this->apk->getManifestStream())); - if (!$this->config->manifest_only) + if (!$this->config->manifest_only) { $this->resources = new ResourcesParser($this->apk->getResourcesStream()); - else - $this->resources = NULL; + } else { + $this->resources = null; + } } @@ -60,11 +62,19 @@ public function getApkArchive() return $this->apk; } + /** + * @param $key + * @return bool|mixed + */ public function getResources($key) { - return is_null($this->resources) ? FALSE : $this->resources->getResources($key); + return is_null($this->resources) ? false : $this->resources->getResources($key); } + /** + * @param $name + * @return resource + */ public function getStream($name) { return $this->apk->getStream($name); @@ -77,11 +87,15 @@ public function getStream($name) * @param array $entries * @return bool */ - public function extractTo($destination, $entries = NULL) + public function extractTo($destination, $entries = null) { return $this->apk->extractTo($destination, $entries); } + /** + * @return array + * @throws \Exception + */ public function getClasses() { $dexStream = $this->apk->getClassesDexStream(); @@ -90,8 +104,9 @@ public function getClasses() $cache_folder = $this->config->tmp_path . '/' . str_replace('.', '_', $apkName) . '/'; // No folder means no cached data. - if (!is_dir($cache_folder)) + if (!is_dir($cache_folder)) { mkdir($cache_folder, 0755, true); + } $dex_file = $cache_folder . '/classes.dex'; $dexStream->save($dex_file); @@ -102,7 +117,9 @@ public function getClasses() $returns = shell_exec($command); if (!$returns) //TODO : check if it not contains any error. $returns will always contain some output. + { throw new \Exception("Couldn't decompile .dex file"); + } $file_list = Utils::globRecursive($cache_folder . '*.ddx'); diff --git a/lib/ApkParser/ResourcesParser.php b/lib/ApkParser/ResourcesParser.php index dea78df..a6871f4 100644 --- a/lib/ApkParser/ResourcesParser.php +++ b/lib/ApkParser/ResourcesParser.php @@ -1,4 +1,5 @@ valueStringPool = $this->processStringPool($this->stream->copyBytes($chunkSize)); } $realStringsCount++; - } else if ($chunkType == self::RES_TABLE_PACKAGE_TYPE) { - $this->stream->seek($pos); - $this->processPackage($this->stream->copyBytes($chunkSize)); - $realPackagesCount++; } else { - throw new \Exception('Unsupported Type'); + if ($chunkType == self::RES_TABLE_PACKAGE_TYPE) { + $this->stream->seek($pos); + $this->processPackage($this->stream->copyBytes($chunkSize)); + $realPackagesCount++; + } else { + throw new \Exception('Unsupported Type'); + } } $this->stream->seek($pos + $chunkSize); @@ -153,9 +155,11 @@ private function processPackage(SeekableStream $data) if ($chunkType == self::RES_TABLE_TYPE_SPEC_TYPE) { $data->seek($pos); $this->processTypeSpec($data->copyBytes($chunkSize)); - } else if ($chunkType == self::RES_TABLE_TYPE_TYPE) { - $data->seek($pos); - $this->processType($data->copyBytes($chunkSize)); + } else { + if ($chunkType == self::RES_TABLE_TYPE_TYPE) { + $data->seek($pos); + $this->processType($data->copyBytes($chunkSize)); + } } $data->seek($pos + $chunkSize); @@ -301,13 +305,15 @@ private function processType(SeekableStream $data) $value = $this->valueStringPool[$valueData]; $this->putResource($resourceIdString, $value); // echo ', data: ' . $value; - } else if ($valueDataType == self::TYPE_REFERENCE) { - $referenceIdString = '0x' . dechex($valueData); - $this->putReferenceResource($resourceIdString, $referenceIdString); - // echo ', reference: ' . $referenceIdString; } else { - $this->putResource($resourceIdString, $valueData); - // echo ', data: ' . $valueData; + if ($valueDataType == self::TYPE_REFERENCE) { + $referenceIdString = '0x' . dechex($valueData); + $this->putReferenceResource($resourceIdString, $referenceIdString); + // echo ', reference: ' . $referenceIdString; + } else { + $this->putResource($resourceIdString, $valueData); + // echo ', data: ' . $valueData; + } } // echo PHP_EOL; } else { diff --git a/lib/ApkParser/SeekableStream.php b/lib/ApkParser/SeekableStream.php index 49504b7..95a2f66 100644 --- a/lib/ApkParser/SeekableStream.php +++ b/lib/ApkParser/SeekableStream.php @@ -1,4 +1,5 @@ stream, $length); - if (FALSE === $bytes || strlen($bytes) != $length) { + if (false === $bytes || strlen($bytes) != $length) { throw new \RuntimeException('Failed to read ' . $length . ' bytes'); } return $bytes; diff --git a/lib/ApkParser/Stream.php b/lib/ApkParser/Stream.php index e393412..db5d1e8 100644 --- a/lib/ApkParser/Stream.php +++ b/lib/ApkParser/Stream.php @@ -10,7 +10,6 @@ * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ - class Stream { /** @@ -121,6 +120,7 @@ function writeByte($byte) * Write the stream to the given destionation directly without using extra memory like storing in an array etc. * * @param mixed $destination file path. + * @throws \Exception */ public function save($destination) { diff --git a/lib/ApkParser/Utils.php b/lib/ApkParser/Utils.php index 0fb2ecf..431a7e0 100644 --- a/lib/ApkParser/Utils.php +++ b/lib/ApkParser/Utils.php @@ -1,4 +1,5 @@ saveToFile(); - file_put_contents($destination === NULL ? $file : $destination, $parser->getXmlString()); + file_put_contents($destination === null ? $file : $destination, $parser->getXmlString()); } /** @@ -69,40 +70,39 @@ public function decompress() { $headerSize = $this->littleEndianShort($this->bytes, 1 * 2); $dataSize = $this->littleEndianWord($this->bytes, 2 * 2); - + $off = $headerSize; $resIdsOffset = -1; $resIdsCount = 0; - - - while ($off < ($dataSize-8)) - { + + + while ($off < ($dataSize - 8)) { $chunkType = $this->littleEndianShort($this->bytes, $off + 0 * 2); $chunkHeaderSize = $this->littleEndianShort($this->bytes, $off + 1 * 2); $chunkSize = $this->littleEndianWord($this->bytes, $off + 2 * 2); - if ($off + $chunkSize > $dataSize) - break; // not a chunk - if ($chunkType == self::RES_STRING_POOL_TYPE) - { + if ($off + $chunkSize > $dataSize) { + break; + } // not a chunk + if ($chunkType == self::RES_STRING_POOL_TYPE) { $numbStrings = $this->littleEndianWord($this->bytes, $off + 8); $flags = $this->littleEndianWord($this->bytes, $off + 8 * 2); $this->isUTF8 = ($flags & self::UTF8_FLAG) != 0; $sitOff = $off + $chunkHeaderSize; $stOff = $sitOff + $numbStrings * 4; + } else { + if ($chunkType == self::RES_XML_RESOURCE_MAP_TYPE) { + $resIdsOffset = $off + $chunkHeaderSize; + $resIdsCount = ($chunkSize - $chunkHeaderSize) / 4; + } else { + if ($chunkType == self::RES_XML_START_ELEMENT_TYPE) { + break; // Let the next loop take care of it, though we can really move the code to this loop. + } + } } - else if ($chunkType == self::RES_XML_RESOURCE_MAP_TYPE) - { - $resIdsOffset = $off + $chunkHeaderSize; - $resIdsCount = ($chunkSize - $chunkHeaderSize) / 4; - } - else if ($chunkType == self::RES_XML_START_ELEMENT_TYPE) - { - break; // Let the next loop take care of it, though we can really move the code to this loop. - } - + $off += $chunkSize; } - + $indentCount = 0; $startTagLineNo = -2; @@ -113,81 +113,87 @@ public function decompress() $nameSi = $this->littleEndianWord($this->bytes, $off + 5 * 4); switch ($currentTag) { - case self::START_TAG: { - $tagSix = $this->littleEndianWord($this->bytes, $off + 6 * 4); - $numbAttrs = $this->littleEndianWord($this->bytes, $off + 7 * 4); - $off += 9 * 4; - $tagName = $this->compXmlString($this->bytes, $sitOff, $stOff, $nameSi); - $startTagLineNo = $lineNo; - $attr_string = ""; + case self::START_TAG: + { + $tagSix = $this->littleEndianWord($this->bytes, $off + 6 * 4); + $numbAttrs = $this->littleEndianWord($this->bytes, $off + 7 * 4); + $off += 9 * 4; + $tagName = $this->compXmlString($this->bytes, $sitOff, $stOff, $nameSi); + $startTagLineNo = $lineNo; + $attr_string = ""; - for ($ii = 0; $ii < $numbAttrs; $ii++) { - $attrNameNsSi = $this->littleEndianWord($this->bytes, $off); - $attrNameSi = $this->littleEndianWord($this->bytes, $off + 1 * 4); - $attrValueSi = $this->littleEndianWord($this->bytes, $off + 2 * 4); - $attrFlags = $this->littleEndianWord($this->bytes, $off + 3 * 4); - $attrResId = $this->littleEndianWord($this->bytes, $off + 4 * 4); - $off += 5 * 4; + for ($ii = 0; $ii < $numbAttrs; $ii++) { + $attrNameNsSi = $this->littleEndianWord($this->bytes, $off); + $attrNameSi = $this->littleEndianWord($this->bytes, $off + 1 * 4); + $attrValueSi = $this->littleEndianWord($this->bytes, $off + 2 * 4); + $attrFlags = $this->littleEndianWord($this->bytes, $off + 3 * 4); + $attrResId = $this->littleEndianWord($this->bytes, $off + 4 * 4); + $off += 5 * 4; - $attrName = $this->compXmlString($this->bytes, $sitOff, $stOff, $attrNameSi); - $attrNameResID = $this->littleEndianWord($this->bytes, $resIdsOffset + ($attrNameSi * 4)); - if (empty($attrName)) { - $attrName = $this->getResourceNameFromID($attrNameResID); - } - + $attrName = $this->compXmlString($this->bytes, $sitOff, $stOff, $attrNameSi); + $attrNameResID = $this->littleEndianWord($this->bytes, $resIdsOffset + ($attrNameSi * 4)); + if (empty($attrName)) { + $attrName = $this->getResourceNameFromID($attrNameResID); + } - //-1 for 32bit PHP - //maybe will be better "if (dechex($attrValueSi) != 'ffffffff') {" ? - if (($attrValueSi != 0xffffffff) && ($attrValueSi != -1)) { - $attrValue = $this->compXmlString($this->bytes, $sitOff, $stOff, $attrValueSi); - } else { - $attrValue = "0x" . dechex($attrResId); - } - $attr_string .= " " . $attrName . "=\"" . $attrValue . "\""; + //-1 for 32bit PHP + //maybe will be better "if (dechex($attrValueSi) != 'ffffffff') {" ? + if (($attrValueSi != 0xffffffff) && ($attrValueSi != -1)) { + $attrValue = $this->compXmlString($this->bytes, $sitOff, $stOff, $attrValueSi); + } else { + $attrValue = "0x" . dechex($attrResId); + } - } + $attr_string .= " " . $attrName . "=\"" . $attrValue . "\""; - $this->appendXmlIndent($indentCount, "<" . $tagName . $attr_string . ">"); - $indentCount++; - } + } + + $this->appendXmlIndent($indentCount, "<" . $tagName . $attr_string . ">"); + $indentCount++; + } break; - case self::END_TAG: { - $indentCount--; - $off += 6 * 4; - $tagName = $this->compXmlString($this->bytes, $sitOff, $stOff, $nameSi); - $this->appendXmlIndent($indentCount, ""); - } + case self::END_TAG: + { + $indentCount--; + $off += 6 * 4; + $tagName = $this->compXmlString($this->bytes, $sitOff, $stOff, $nameSi); + $this->appendXmlIndent($indentCount, ""); + } break; - case self::END_DOC_TAG: { - $this->ready = true; - break 2; - } + case self::END_DOC_TAG: + { + $this->ready = true; + break 2; + } break; - case self::TEXT_TAG: { - // The text tag appears to be used when Android references an id value that is not - // a string literal - // To skip it, read forward until finding the sentinal 0x00000000 after finding - // the sentinal 0xffffffff - - $sentinal = -1; - while ($off < count($this->bytes)) { - $curr = $this->littleEndianWord($this->bytes, $off); + case self::TEXT_TAG: + { + // The text tag appears to be used when Android references an id value that is not + // a string literal + // To skip it, read forward until finding the sentinal 0x00000000 after finding + // the sentinal 0xffffffff - $off += 4; - if ($off > count($this->bytes)) { - throw new \Exception("Sentinal not found before end of file"); - } - if ($curr == $sentinal && $sentinal == -1) { - $sentinal = 0; - } else if ($curr == $sentinal) { - break; + $sentinal = -1; + while ($off < count($this->bytes)) { + $curr = $this->littleEndianWord($this->bytes, $off); + + $off += 4; + if ($off > count($this->bytes)) { + throw new \Exception("Sentinal not found before end of file"); + } + if ($curr == $sentinal && $sentinal == -1) { + $sentinal = 0; + } else { + if ($curr == $sentinal) { + break; + } + } } } - } break; default: @@ -206,8 +212,9 @@ public function decompress() */ public function compXmlString($xml, $sitOff, $stOff, $str_index) { - if ($str_index < 0) + if ($str_index < 0) { return null; + } $strOff = $stOff + $this->littleEndianWord($xml, $sitOff + $str_index * 4); return $this->isUTF8 ? $this->compXmlUTF8StringAt($xml, $strOff) : $this->compXmlUTF16StringAt($xml, $strOff); @@ -243,16 +250,14 @@ public function compXmlUTF16StringAt($arr, $string_offset) // We are dealing with Unicode strings, so each char is 2 bytes $strEnd = $string_offset + ($strlen * 2); - if (function_exists("mb_convert_encoding")) - { + if (function_exists("mb_convert_encoding")) { for ($i = $string_offset; $i < $strEnd; $i++) { $string .= chr($arr[$i]); } - $string = mb_convert_encoding ($string , "UTF-8", "UTF-16LE"); - } - else // sonvert as ascii, skipping every second char + $string = mb_convert_encoding($string, "UTF-8", "UTF-16LE"); + } else // sonvert as ascii, skipping every second char { - for ($i = $string_offset; $i < $strEnd; $i+=2) { + for ($i = $string_offset; $i < $strEnd; $i += 2) { $string .= chr($arr[$i]); } } @@ -268,7 +273,7 @@ public function compXmlUTF8StringAt($arr, $string_offset) { $val = $arr[$string_offset]; // We skip the utf16 length of the string - $string_offset += ($val & 0x80) != 0 ? 2 : 1; + $string_offset += ($val & 0x80) != 0 ? 2 : 1; // And we read only the utf-8 encoded length of the string $val = $arr[$string_offset]; $string_offset += 1; @@ -299,7 +304,7 @@ public function littleEndianWord($arr, $off) $signShifAmount = (PHP_INT_SIZE - 4) << 3; // the anount of bits to shift back and forth, so that we get the correct signage return (($arr[$off + 3] << 24 & 0xff000000 | $arr[$off + 2] << 16 & 0xff0000 | $arr[$off + 1] << 8 & 0xff00 | $arr[$off] & 0xFF) << $signShifAmount) >> $signShifAmount; } - + /** * @param $arr * @param $off @@ -310,10 +315,11 @@ public function littleEndianShort($arr, $off) $signShifAmount = (PHP_INT_SIZE - 2) << 3; // the anount of bits to shift back and forth, so that we get the correct signage return (($arr[$off + 1] << 8 & 0xff00 | $arr[$off] & 0xFF) << $signShifAmount) >> $signShifAmount; } - + /** * Print XML content + * @throws \Exception */ public function output() { @@ -326,8 +332,9 @@ public function output() */ public function getXmlString() { - if (!$this->ready) + if (!$this->ready) { $this->decompress(); + } $xml = utf8_encode($this->xml); $xml = preg_replace('/[\x00-\x08\x0B\x0C\x0E-\x1F\x80-\x9F]/u', '', $xml); return $xml; @@ -337,10 +344,11 @@ public function getXmlString() * @param string $className * @return \SimpleXMLElement * @throws XmlParserException + * @throws \Exception */ public function getXmlObject($className = '\SimpleXmlElement') { - if ($this->xmlObject === NULL || !$this->xmlObject instanceof $className) { + if ($this->xmlObject === null || !$this->xmlObject instanceof $className) { $prev = libxml_use_internal_errors(true); $xml = $this->getXmlString(); $this->xmlObject = simplexml_load_string($xml, $className); @@ -352,982 +360,2920 @@ public function getXmlObject($className = '\SimpleXmlElement') return $this->xmlObject; } - + public function getResourceNameFromID($id) { - switch ($id) - { + switch ($id) { // These values are taken from the Android Manifest class. - case 0x1010000: $resName="theme"; break; - case 0x1010001: $resName="label"; break; - case 0x1010002: $resName="icon"; break; - case 0x1010003: $resName="name"; break; - case 0x1010004: $resName="manageSpaceActivity"; break; - case 0x1010005: $resName="allowClearUserData"; break; - case 0x1010006: $resName="permission"; break; - case 0x1010007: $resName="readPermission"; break; - case 0x1010008: $resName="writePermission"; break; - case 0x1010009: $resName="protectionLevel"; break; - case 0x101000a: $resName="permissionGroup"; break; - case 0x101000b: $resName="sharedUserId"; break; - case 0x101000c: $resName="hasCode"; break; - case 0x101000d: $resName="persistent"; break; - case 0x101000e: $resName="enabled"; break; - case 0x101000f: $resName="debuggable"; break; - case 0x1010010: $resName="exported"; break; - case 0x1010011: $resName="process"; break; - case 0x1010012: $resName="taskAffinity"; break; - case 0x1010013: $resName="multiprocess"; break; - case 0x1010014: $resName="finishOnTaskLaunch"; break; - case 0x1010015: $resName="clearTaskOnLaunch"; break; - case 0x1010016: $resName="stateNotNeeded"; break; - case 0x1010017: $resName="excludeFromRecents"; break; - case 0x1010018: $resName="authorities"; break; - case 0x1010019: $resName="syncable"; break; - case 0x101001a: $resName="initOrder"; break; - case 0x101001b: $resName="grantUriPermissions"; break; - case 0x101001c: $resName="priority"; break; - case 0x101001d: $resName="launchMode"; break; - case 0x101001e: $resName="screenOrientation"; break; - case 0x101001f: $resName="configChanges"; break; - case 0x1010020: $resName="description"; break; - case 0x1010021: $resName="targetPackage"; break; - case 0x1010022: $resName="handleProfiling"; break; - case 0x1010023: $resName="functionalTest"; break; - case 0x1010024: $resName="value"; break; - case 0x1010025: $resName="resource"; break; - case 0x1010026: $resName="mimeType"; break; - case 0x1010027: $resName="scheme"; break; - case 0x1010028: $resName="host"; break; - case 0x1010029: $resName="port"; break; - case 0x101002a: $resName="path"; break; - case 0x101002b: $resName="pathPrefix"; break; - case 0x101002c: $resName="pathPattern"; break; - case 0x101002d: $resName="action"; break; - case 0x101002e: $resName="data"; break; - case 0x101002f: $resName="targetClass"; break; - case 0x1010030: $resName="colorForeground"; break; - case 0x1010031: $resName="colorBackground"; break; - case 0x1010032: $resName="backgroundDimAmount"; break; - case 0x1010033: $resName="disabledAlpha"; break; - case 0x1010034: $resName="textAppearance"; break; - case 0x1010035: $resName="textAppearanceInverse"; break; - case 0x1010036: $resName="textColorPrimary"; break; - case 0x1010037: $resName="textColorPrimaryDisableOnly"; break; - case 0x1010038: $resName="textColorSecondary"; break; - case 0x1010039: $resName="textColorPrimaryInverse"; break; - case 0x101003a: $resName="textColorSecondaryInverse"; break; - case 0x101003b: $resName="textColorPrimaryNoDisable"; break; - case 0x101003c: $resName="textColorSecondaryNoDisable"; break; - case 0x101003d: $resName="textColorPrimaryInverseNoDisable"; break; - case 0x101003e: $resName="textColorSecondaryInverseNoDisable"; break; - case 0x101003f: $resName="textColorHintInverse"; break; - case 0x1010040: $resName="textAppearanceLarge"; break; - case 0x1010041: $resName="textAppearanceMedium"; break; - case 0x1010042: $resName="textAppearanceSmall"; break; - case 0x1010043: $resName="textAppearanceLargeInverse"; break; - case 0x1010044: $resName="textAppearanceMediumInverse"; break; - case 0x1010045: $resName="textAppearanceSmallInverse"; break; - case 0x1010046: $resName="textCheckMark"; break; - case 0x1010047: $resName="textCheckMarkInverse"; break; - case 0x1010048: $resName="buttonStyle"; break; - case 0x1010049: $resName="buttonStyleSmall"; break; - case 0x101004a: $resName="buttonStyleInset"; break; - case 0x101004b: $resName="buttonStyleToggle"; break; - case 0x101004c: $resName="galleryItemBackground"; break; - case 0x101004d: $resName="listPreferredItemHeight"; break; - case 0x101004e: $resName="expandableListPreferredItemPaddingLeft"; break; - case 0x101004f: $resName="expandableListPreferredChildPaddingLeft"; break; - case 0x1010050: $resName="expandableListPreferredItemIndicatorLeft"; break; - case 0x1010051: $resName="expandableListPreferredItemIndicatorRight"; break; - case 0x1010052: $resName="expandableListPreferredChildIndicatorLeft"; break; - case 0x1010053: $resName="expandableListPreferredChildIndicatorRight"; break; - case 0x1010054: $resName="windowBackground"; break; - case 0x1010055: $resName="windowFrame"; break; - case 0x1010056: $resName="windowNoTitle"; break; - case 0x1010057: $resName="windowIsFloating"; break; - case 0x1010058: $resName="windowIsTranslucent"; break; - case 0x1010059: $resName="windowContentOverlay"; break; - case 0x101005a: $resName="windowTitleSize"; break; - case 0x101005b: $resName="windowTitleStyle"; break; - case 0x101005c: $resName="windowTitleBackgroundStyle"; break; - case 0x101005d: $resName="alertDialogStyle"; break; - case 0x101005e: $resName="panelBackground"; break; - case 0x101005f: $resName="panelFullBackground"; break; - case 0x1010060: $resName="panelColorForeground"; break; - case 0x1010061: $resName="panelColorBackground"; break; - case 0x1010062: $resName="panelTextAppearance"; break; - case 0x1010063: $resName="scrollbarSize"; break; - case 0x1010064: $resName="scrollbarThumbHorizontal"; break; - case 0x1010065: $resName="scrollbarThumbVertical"; break; - case 0x1010066: $resName="scrollbarTrackHorizontal"; break; - case 0x1010067: $resName="scrollbarTrackVertical"; break; - case 0x1010068: $resName="scrollbarAlwaysDrawHorizontalTrack"; break; - case 0x1010069: $resName="scrollbarAlwaysDrawVerticalTrack"; break; - case 0x101006a: $resName="absListViewStyle"; break; - case 0x101006b: $resName="autoCompleteTextViewStyle"; break; - case 0x101006c: $resName="checkboxStyle"; break; - case 0x101006d: $resName="dropDownListViewStyle"; break; - case 0x101006e: $resName="editTextStyle"; break; - case 0x101006f: $resName="expandableListViewStyle"; break; - case 0x1010070: $resName="galleryStyle"; break; - case 0x1010071: $resName="gridViewStyle"; break; - case 0x1010072: $resName="imageButtonStyle"; break; - case 0x1010073: $resName="imageWellStyle"; break; - case 0x1010074: $resName="listViewStyle"; break; - case 0x1010075: $resName="listViewWhiteStyle"; break; - case 0x1010076: $resName="popupWindowStyle"; break; - case 0x1010077: $resName="progressBarStyle"; break; - case 0x1010078: $resName="progressBarStyleHorizontal"; break; - case 0x1010079: $resName="progressBarStyleSmall"; break; - case 0x101007a: $resName="progressBarStyleLarge"; break; - case 0x101007b: $resName="seekBarStyle"; break; - case 0x101007c: $resName="ratingBarStyle"; break; - case 0x101007d: $resName="ratingBarStyleSmall"; break; - case 0x101007e: $resName="radioButtonStyle"; break; - case 0x101007f: $resName="scrollbarStyle"; break; - case 0x1010080: $resName="scrollViewStyle"; break; - case 0x1010081: $resName="spinnerStyle"; break; - case 0x1010082: $resName="starStyle"; break; - case 0x1010083: $resName="tabWidgetStyle"; break; - case 0x1010084: $resName="textViewStyle"; break; - case 0x1010085: $resName="webViewStyle"; break; - case 0x1010086: $resName="dropDownItemStyle"; break; - case 0x1010087: $resName="spinnerDropDownItemStyle"; break; - case 0x1010088: $resName="dropDownHintAppearance"; break; - case 0x1010089: $resName="spinnerItemStyle"; break; - case 0x101008a: $resName="mapViewStyle"; break; - case 0x101008b: $resName="preferenceScreenStyle"; break; - case 0x101008c: $resName="preferenceCategoryStyle"; break; - case 0x101008d: $resName="preferenceInformationStyle"; break; - case 0x101008e: $resName="preferenceStyle"; break; - case 0x101008f: $resName="checkBoxPreferenceStyle"; break; - case 0x1010090: $resName="yesNoPreferenceStyle"; break; - case 0x1010091: $resName="dialogPreferenceStyle"; break; - case 0x1010092: $resName="editTextPreferenceStyle"; break; - case 0x1010093: $resName="ringtonePreferenceStyle"; break; - case 0x1010094: $resName="preferenceLayoutChild"; break; - case 0x1010095: $resName="textSize"; break; - case 0x1010096: $resName="typeface"; break; - case 0x1010097: $resName="textStyle"; break; - case 0x1010098: $resName="textColor"; break; - case 0x1010099: $resName="textColorHighlight"; break; - case 0x101009a: $resName="textColorHint"; break; - case 0x101009b: $resName="textColorLink"; break; - case 0x101009c: $resName="state_focused"; break; - case 0x101009d: $resName="state_window_focused"; break; - case 0x101009e: $resName="state_enabled"; break; - case 0x101009f: $resName="state_checkable"; break; - case 0x10100a0: $resName="state_checked"; break; - case 0x10100a1: $resName="state_selected"; break; - case 0x10100a2: $resName="state_active"; break; - case 0x10100a3: $resName="state_single"; break; - case 0x10100a4: $resName="state_first"; break; - case 0x10100a5: $resName="state_middle"; break; - case 0x10100a6: $resName="state_last"; break; - case 0x10100a7: $resName="state_pressed"; break; - case 0x10100a8: $resName="state_expanded"; break; - case 0x10100a9: $resName="state_empty"; break; - case 0x10100aa: $resName="state_above_anchor"; break; - case 0x10100ab: $resName="ellipsize"; break; - case 0x10100ac: $resName="x"; break; - case 0x10100ad: $resName="y"; break; - case 0x10100ae: $resName="windowAnimationStyle"; break; - case 0x10100af: $resName="gravity"; break; - case 0x10100b0: $resName="autoLink"; break; - case 0x10100b1: $resName="linksClickable"; break; - case 0x10100b2: $resName="entries"; break; - case 0x10100b3: $resName="layout_gravity"; break; - case 0x10100b4: $resName="windowEnterAnimation"; break; - case 0x10100b5: $resName="windowExitAnimation"; break; - case 0x10100b6: $resName="windowShowAnimation"; break; - case 0x10100b7: $resName="windowHideAnimation"; break; - case 0x10100b8: $resName="activityOpenEnterAnimation"; break; - case 0x10100b9: $resName="activityOpenExitAnimation"; break; - case 0x10100ba: $resName="activityCloseEnterAnimation"; break; - case 0x10100bb: $resName="activityCloseExitAnimation"; break; - case 0x10100bc: $resName="taskOpenEnterAnimation"; break; - case 0x10100bd: $resName="taskOpenExitAnimation"; break; - case 0x10100be: $resName="taskCloseEnterAnimation"; break; - case 0x10100bf: $resName="taskCloseExitAnimation"; break; - case 0x10100c0: $resName="taskToFrontEnterAnimation"; break; - case 0x10100c1: $resName="taskToFrontExitAnimation"; break; - case 0x10100c2: $resName="taskToBackEnterAnimation"; break; - case 0x10100c3: $resName="taskToBackExitAnimation"; break; - case 0x10100c4: $resName="orientation"; break; - case 0x10100c5: $resName="keycode"; break; - case 0x10100c6: $resName="fullDark"; break; - case 0x10100c7: $resName="topDark"; break; - case 0x10100c8: $resName="centerDark"; break; - case 0x10100c9: $resName="bottomDark"; break; - case 0x10100ca: $resName="fullBright"; break; - case 0x10100cb: $resName="topBright"; break; - case 0x10100cc: $resName="centerBright"; break; - case 0x10100cd: $resName="bottomBright"; break; - case 0x10100ce: $resName="bottomMedium"; break; - case 0x10100cf: $resName="centerMedium"; break; - case 0x10100d0: $resName="id"; break; - case 0x10100d1: $resName="tag"; break; - case 0x10100d2: $resName="scrollX"; break; - case 0x10100d3: $resName="scrollY"; break; - case 0x10100d4: $resName="background"; break; - case 0x10100d5: $resName="padding"; break; - case 0x10100d6: $resName="paddingLeft"; break; - case 0x10100d7: $resName="paddingTop"; break; - case 0x10100d8: $resName="paddingRight"; break; - case 0x10100d9: $resName="paddingBottom"; break; - case 0x10100da: $resName="focusable"; break; - case 0x10100db: $resName="focusableInTouchMode"; break; - case 0x10100dc: $resName="visibility"; break; - case 0x10100dd: $resName="fitsSystemWindows"; break; - case 0x10100de: $resName="scrollbars"; break; - case 0x10100df: $resName="fadingEdge"; break; - case 0x10100e0: $resName="fadingEdgeLength"; break; - case 0x10100e1: $resName="nextFocusLeft"; break; - case 0x10100e2: $resName="nextFocusRight"; break; - case 0x10100e3: $resName="nextFocusUp"; break; - case 0x10100e4: $resName="nextFocusDown"; break; - case 0x10100e5: $resName="clickable"; break; - case 0x10100e6: $resName="longClickable"; break; - case 0x10100e7: $resName="saveEnabled"; break; - case 0x10100e8: $resName="drawingCacheQuality"; break; - case 0x10100e9: $resName="duplicateParentState"; break; - case 0x10100ea: $resName="clipChildren"; break; - case 0x10100eb: $resName="clipToPadding"; break; - case 0x10100ec: $resName="layoutAnimation"; break; - case 0x10100ed: $resName="animationCache"; break; - case 0x10100ee: $resName="persistentDrawingCache"; break; - case 0x10100ef: $resName="alwaysDrawnWithCache"; break; - case 0x10100f0: $resName="addStatesFromChildren"; break; - case 0x10100f1: $resName="descendantFocusability"; break; - case 0x10100f2: $resName="layout"; break; - case 0x10100f3: $resName="inflatedId"; break; - case 0x10100f4: $resName="layout_width"; break; - case 0x10100f5: $resName="layout_height"; break; - case 0x10100f6: $resName="layout_margin"; break; - case 0x10100f7: $resName="layout_marginLeft"; break; - case 0x10100f8: $resName="layout_marginTop"; break; - case 0x10100f9: $resName="layout_marginRight"; break; - case 0x10100fa: $resName="layout_marginBottom"; break; - case 0x10100fb: $resName="listSelector"; break; - case 0x10100fc: $resName="drawSelectorOnTop"; break; - case 0x10100fd: $resName="stackFromBottom"; break; - case 0x10100fe: $resName="scrollingCache"; break; - case 0x10100ff: $resName="textFilterEnabled"; break; - case 0x1010100: $resName="transcriptMode"; break; - case 0x1010101: $resName="cacheColorHint"; break; - case 0x1010102: $resName="dial"; break; - case 0x1010103: $resName="hand_hour"; break; - case 0x1010104: $resName="hand_minute"; break; - case 0x1010105: $resName="format"; break; - case 0x1010106: $resName="checked"; break; - case 0x1010107: $resName="button"; break; - case 0x1010108: $resName="checkMark"; break; - case 0x1010109: $resName="foreground"; break; - case 0x101010a: $resName="measureAllChildren"; break; - case 0x101010b: $resName="groupIndicator"; break; - case 0x101010c: $resName="childIndicator"; break; - case 0x101010d: $resName="indicatorLeft"; break; - case 0x101010e: $resName="indicatorRight"; break; - case 0x101010f: $resName="childIndicatorLeft"; break; - case 0x1010110: $resName="childIndicatorRight"; break; - case 0x1010111: $resName="childDivider"; break; - case 0x1010112: $resName="animationDuration"; break; - case 0x1010113: $resName="spacing"; break; - case 0x1010114: $resName="horizontalSpacing"; break; - case 0x1010115: $resName="verticalSpacing"; break; - case 0x1010116: $resName="stretchMode"; break; - case 0x1010117: $resName="columnWidth"; break; - case 0x1010118: $resName="numColumns"; break; - case 0x1010119: $resName="src"; break; - case 0x101011a: $resName="antialias"; break; - case 0x101011b: $resName="filter"; break; - case 0x101011c: $resName="dither"; break; - case 0x101011d: $resName="scaleType"; break; - case 0x101011e: $resName="adjustViewBounds"; break; - case 0x101011f: $resName="maxWidth"; break; - case 0x1010120: $resName="maxHeight"; break; - case 0x1010121: $resName="tint"; break; - case 0x1010122: $resName="baselineAlignBottom"; break; - case 0x1010123: $resName="cropToPadding"; break; - case 0x1010124: $resName="textOn"; break; - case 0x1010125: $resName="textOff"; break; - case 0x1010126: $resName="baselineAligned"; break; - case 0x1010127: $resName="baselineAlignedChildIndex"; break; - case 0x1010128: $resName="weightSum"; break; - case 0x1010129: $resName="divider"; break; - case 0x101012a: $resName="dividerHeight"; break; - case 0x101012b: $resName="choiceMode"; break; - case 0x101012c: $resName="itemTextAppearance"; break; - case 0x101012d: $resName="horizontalDivider"; break; - case 0x101012e: $resName="verticalDivider"; break; - case 0x101012f: $resName="headerBackground"; break; - case 0x1010130: $resName="itemBackground"; break; - case 0x1010131: $resName="itemIconDisabledAlpha"; break; - case 0x1010132: $resName="rowHeight"; break; - case 0x1010133: $resName="maxRows"; break; - case 0x1010134: $resName="maxItemsPerRow"; break; - case 0x1010135: $resName="moreIcon"; break; - case 0x1010136: $resName="max"; break; - case 0x1010137: $resName="progress"; break; - case 0x1010138: $resName="secondaryProgress"; break; - case 0x1010139: $resName="indeterminate"; break; - case 0x101013a: $resName="indeterminateOnly"; break; - case 0x101013b: $resName="indeterminateDrawable"; break; - case 0x101013c: $resName="progressDrawable"; break; - case 0x101013d: $resName="indeterminateDuration"; break; - case 0x101013e: $resName="indeterminateBehavior"; break; - case 0x101013f: $resName="minWidth"; break; - case 0x1010140: $resName="minHeight"; break; - case 0x1010141: $resName="interpolator"; break; - case 0x1010142: $resName="thumb"; break; - case 0x1010143: $resName="thumbOffset"; break; - case 0x1010144: $resName="numStars"; break; - case 0x1010145: $resName="rating"; break; - case 0x1010146: $resName="stepSize"; break; - case 0x1010147: $resName="isIndicator"; break; - case 0x1010148: $resName="checkedButton"; break; - case 0x1010149: $resName="stretchColumns"; break; - case 0x101014a: $resName="shrinkColumns"; break; - case 0x101014b: $resName="collapseColumns"; break; - case 0x101014c: $resName="layout_column"; break; - case 0x101014d: $resName="layout_span"; break; - case 0x101014e: $resName="bufferType"; break; - case 0x101014f: $resName="text"; break; - case 0x1010150: $resName="hint"; break; - case 0x1010151: $resName="textScaleX"; break; - case 0x1010152: $resName="cursorVisible"; break; - case 0x1010153: $resName="maxLines"; break; - case 0x1010154: $resName="lines"; break; - case 0x1010155: $resName="height"; break; - case 0x1010156: $resName="minLines"; break; - case 0x1010157: $resName="maxEms"; break; - case 0x1010158: $resName="ems"; break; - case 0x1010159: $resName="width"; break; - case 0x101015a: $resName="minEms"; break; - case 0x101015b: $resName="scrollHorizontally"; break; - case 0x101015c: $resName="field public static final deprecated int password"; break; - case 0x101015d: $resName="field public static final deprecated int singleLine"; break; - case 0x101015e: $resName="selectAllOnFocus"; break; - case 0x101015f: $resName="includeFontPadding"; break; - case 0x1010160: $resName="maxLength"; break; - case 0x1010161: $resName="shadowColor"; break; - case 0x1010162: $resName="shadowDx"; break; - case 0x1010163: $resName="shadowDy"; break; - case 0x1010164: $resName="shadowRadius"; break; - case 0x1010165: $resName="field public static final deprecated int numeric"; break; - case 0x1010166: $resName="digits"; break; - case 0x1010167: $resName="field public static final deprecated int phoneNumber"; break; - case 0x1010168: $resName="field public static final deprecated int inputMethod"; break; - case 0x1010169: $resName="field public static final deprecated int capitalize"; break; - case 0x101016a: $resName="field public static final deprecated int autoText"; break; - case 0x101016b: $resName="field public static final deprecated int editable"; break; - case 0x101016c: $resName="freezesText"; break; - case 0x101016d: $resName="drawableTop"; break; - case 0x101016e: $resName="drawableBottom"; break; - case 0x101016f: $resName="drawableLeft"; break; - case 0x1010170: $resName="drawableRight"; break; - case 0x1010171: $resName="drawablePadding"; break; - case 0x1010172: $resName="completionHint"; break; - case 0x1010173: $resName="completionHintView"; break; - case 0x1010174: $resName="completionThreshold"; break; - case 0x1010175: $resName="dropDownSelector"; break; - case 0x1010176: $resName="popupBackground"; break; - case 0x1010177: $resName="inAnimation"; break; - case 0x1010178: $resName="outAnimation"; break; - case 0x1010179: $resName="flipInterval"; break; - case 0x101017a: $resName="fillViewport"; break; - case 0x101017b: $resName="prompt"; break; - case 0x101017c: $resName="field public static final deprecated int startYear"; break; - case 0x101017d: $resName="field public static final deprecated int endYear"; break; - case 0x101017e: $resName="mode"; break; - case 0x101017f: $resName="layout_x"; break; - case 0x1010180: $resName="layout_y"; break; - case 0x1010181: $resName="layout_weight"; break; - case 0x1010182: $resName="layout_toLeftOf"; break; - case 0x1010183: $resName="layout_toRightOf"; break; - case 0x1010184: $resName="layout_above"; break; - case 0x1010185: $resName="layout_below"; break; - case 0x1010186: $resName="layout_alignBaseline"; break; - case 0x1010187: $resName="layout_alignLeft"; break; - case 0x1010188: $resName="layout_alignTop"; break; - case 0x1010189: $resName="layout_alignRight"; break; - case 0x101018a: $resName="layout_alignBottom"; break; - case 0x101018b: $resName="layout_alignParentLeft"; break; - case 0x101018c: $resName="layout_alignParentTop"; break; - case 0x101018d: $resName="layout_alignParentRight"; break; - case 0x101018e: $resName="layout_alignParentBottom"; break; - case 0x101018f: $resName="layout_centerInParent"; break; - case 0x1010190: $resName="layout_centerHorizontal"; break; - case 0x1010191: $resName="layout_centerVertical"; break; - case 0x1010192: $resName="layout_alignWithParentIfMissing"; break; - case 0x1010193: $resName="layout_scale"; break; - case 0x1010194: $resName="visible"; break; - case 0x1010195: $resName="variablePadding"; break; - case 0x1010196: $resName="constantSize"; break; - case 0x1010197: $resName="oneshot"; break; - case 0x1010198: $resName="duration"; break; - case 0x1010199: $resName="drawable"; break; - case 0x101019a: $resName="shape"; break; - case 0x101019b: $resName="innerRadiusRatio"; break; - case 0x101019c: $resName="thicknessRatio"; break; - case 0x101019d: $resName="startColor"; break; - case 0x101019e: $resName="endColor"; break; - case 0x101019f: $resName="useLevel"; break; - case 0x10101a0: $resName="angle"; break; - case 0x10101a1: $resName="type"; break; - case 0x10101a2: $resName="centerX"; break; - case 0x10101a3: $resName="centerY"; break; - case 0x10101a4: $resName="gradientRadius"; break; - case 0x10101a5: $resName="color"; break; - case 0x10101a6: $resName="dashWidth"; break; - case 0x10101a7: $resName="dashGap"; break; - case 0x10101a8: $resName="radius"; break; - case 0x10101a9: $resName="topLeftRadius"; break; - case 0x10101aa: $resName="topRightRadius"; break; - case 0x10101ab: $resName="bottomLeftRadius"; break; - case 0x10101ac: $resName="bottomRightRadius"; break; - case 0x10101ad: $resName="left"; break; - case 0x10101ae: $resName="top"; break; - case 0x10101af: $resName="right"; break; - case 0x10101b0: $resName="bottom"; break; - case 0x10101b1: $resName="minLevel"; break; - case 0x10101b2: $resName="maxLevel"; break; - case 0x10101b3: $resName="fromDegrees"; break; - case 0x10101b4: $resName="toDegrees"; break; - case 0x10101b5: $resName="pivotX"; break; - case 0x10101b6: $resName="pivotY"; break; - case 0x10101b7: $resName="insetLeft"; break; - case 0x10101b8: $resName="insetRight"; break; - case 0x10101b9: $resName="insetTop"; break; - case 0x10101ba: $resName="insetBottom"; break; - case 0x10101bb: $resName="shareInterpolator"; break; - case 0x10101bc: $resName="fillBefore"; break; - case 0x10101bd: $resName="fillAfter"; break; - case 0x10101be: $resName="startOffset"; break; - case 0x10101bf: $resName="repeatCount"; break; - case 0x10101c0: $resName="repeatMode"; break; - case 0x10101c1: $resName="zAdjustment"; break; - case 0x10101c2: $resName="fromXScale"; break; - case 0x10101c3: $resName="toXScale"; break; - case 0x10101c4: $resName="fromYScale"; break; - case 0x10101c5: $resName="toYScale"; break; - case 0x10101c6: $resName="fromXDelta"; break; - case 0x10101c7: $resName="toXDelta"; break; - case 0x10101c8: $resName="fromYDelta"; break; - case 0x10101c9: $resName="toYDelta"; break; - case 0x10101ca: $resName="fromAlpha"; break; - case 0x10101cb: $resName="toAlpha"; break; - case 0x10101cc: $resName="delay"; break; - case 0x10101cd: $resName="animation"; break; - case 0x10101ce: $resName="animationOrder"; break; - case 0x10101cf: $resName="columnDelay"; break; - case 0x10101d0: $resName="rowDelay"; break; - case 0x10101d1: $resName="direction"; break; - case 0x10101d2: $resName="directionPriority"; break; - case 0x10101d3: $resName="factor"; break; - case 0x10101d4: $resName="cycles"; break; - case 0x10101d5: $resName="searchMode"; break; - case 0x10101d6: $resName="searchSuggestAuthority"; break; - case 0x10101d7: $resName="searchSuggestPath"; break; - case 0x10101d8: $resName="searchSuggestSelection"; break; - case 0x10101d9: $resName="searchSuggestIntentAction"; break; - case 0x10101da: $resName="searchSuggestIntentData"; break; - case 0x10101db: $resName="queryActionMsg"; break; - case 0x10101dc: $resName="suggestActionMsg"; break; - case 0x10101dd: $resName="suggestActionMsgColumn"; break; - case 0x10101de: $resName="menuCategory"; break; - case 0x10101df: $resName="orderInCategory"; break; - case 0x10101e0: $resName="checkableBehavior"; break; - case 0x10101e1: $resName="title"; break; - case 0x10101e2: $resName="titleCondensed"; break; - case 0x10101e3: $resName="alphabeticShortcut"; break; - case 0x10101e4: $resName="numericShortcut"; break; - case 0x10101e5: $resName="checkable"; break; - case 0x10101e6: $resName="selectable"; break; - case 0x10101e7: $resName="orderingFromXml"; break; - case 0x10101e8: $resName="key"; break; - case 0x10101e9: $resName="summary"; break; - case 0x10101ea: $resName="order"; break; - case 0x10101eb: $resName="widgetLayout"; break; - case 0x10101ec: $resName="dependency"; break; - case 0x10101ed: $resName="defaultValue"; break; - case 0x10101ee: $resName="shouldDisableView"; break; - case 0x10101ef: $resName="summaryOn"; break; - case 0x10101f0: $resName="summaryOff"; break; - case 0x10101f1: $resName="disableDependentsState"; break; - case 0x10101f2: $resName="dialogTitle"; break; - case 0x10101f3: $resName="dialogMessage"; break; - case 0x10101f4: $resName="dialogIcon"; break; - case 0x10101f5: $resName="positiveButtonText"; break; - case 0x10101f6: $resName="negativeButtonText"; break; - case 0x10101f7: $resName="dialogLayout"; break; - case 0x10101f8: $resName="entryValues"; break; - case 0x10101f9: $resName="ringtoneType"; break; - case 0x10101fa: $resName="showDefault"; break; - case 0x10101fb: $resName="showSilent"; break; - case 0x10101fc: $resName="scaleWidth"; break; - case 0x10101fd: $resName="scaleHeight"; break; - case 0x10101fe: $resName="scaleGravity"; break; - case 0x10101ff: $resName="ignoreGravity"; break; - case 0x1010200: $resName="foregroundGravity"; break; - case 0x1010201: $resName="tileMode"; break; - case 0x1010202: $resName="targetActivity"; break; - case 0x1010203: $resName="alwaysRetainTaskState"; break; - case 0x1010204: $resName="allowTaskReparenting"; break; - case 0x1010205: $resName="field public static final deprecated int searchButtonText"; break; - case 0x1010206: $resName="colorForegroundInverse"; break; - case 0x1010207: $resName="textAppearanceButton"; break; - case 0x1010208: $resName="listSeparatorTextViewStyle"; break; - case 0x1010209: $resName="streamType"; break; - case 0x101020a: $resName="clipOrientation"; break; - case 0x101020b: $resName="centerColor"; break; - case 0x101020c: $resName="minSdkVersion"; break; - case 0x101020d: $resName="windowFullscreen"; break; - case 0x101020e: $resName="unselectedAlpha"; break; - case 0x101020f: $resName="progressBarStyleSmallTitle"; break; - case 0x1010210: $resName="ratingBarStyleIndicator"; break; - case 0x1010211: $resName="apiKey"; break; - case 0x1010212: $resName="textColorTertiary"; break; - case 0x1010213: $resName="textColorTertiaryInverse"; break; - case 0x1010214: $resName="listDivider"; break; - case 0x1010215: $resName="soundEffectsEnabled"; break; - case 0x1010216: $resName="keepScreenOn"; break; - case 0x1010217: $resName="lineSpacingExtra"; break; - case 0x1010218: $resName="lineSpacingMultiplier"; break; - case 0x1010219: $resName="listChoiceIndicatorSingle"; break; - case 0x101021a: $resName="listChoiceIndicatorMultiple"; break; - case 0x101021b: $resName="versionCode"; break; - case 0x101021c: $resName="versionName"; break; - case 0x101021d: $resName="marqueeRepeatLimit"; break; - case 0x101021e: $resName="windowNoDisplay"; break; - case 0x101021f: $resName="backgroundDimEnabled"; break; - case 0x1010220: $resName="inputType"; break; - case 0x1010221: $resName="isDefault"; break; - case 0x1010222: $resName="windowDisablePreview"; break; - case 0x1010223: $resName="privateImeOptions"; break; - case 0x1010224: $resName="editorExtras"; break; - case 0x1010225: $resName="settingsActivity"; break; - case 0x1010226: $resName="fastScrollEnabled"; break; - case 0x1010227: $resName="reqTouchScreen"; break; - case 0x1010228: $resName="reqKeyboardType"; break; - case 0x1010229: $resName="reqHardKeyboard"; break; - case 0x101022a: $resName="reqNavigation"; break; - case 0x101022b: $resName="windowSoftInputMode"; break; - case 0x101022c: $resName="imeFullscreenBackground"; break; - case 0x101022d: $resName="noHistory"; break; - case 0x101022e: $resName="headerDividersEnabled"; break; - case 0x101022f: $resName="footerDividersEnabled"; break; - case 0x1010230: $resName="candidatesTextStyleSpans"; break; - case 0x1010231: $resName="smoothScrollbar"; break; - case 0x1010232: $resName="reqFiveWayNav"; break; - case 0x1010233: $resName="keyBackground"; break; - case 0x1010234: $resName="keyTextSize"; break; - case 0x1010235: $resName="labelTextSize"; break; - case 0x1010236: $resName="keyTextColor"; break; - case 0x1010237: $resName="keyPreviewLayout"; break; - case 0x1010238: $resName="keyPreviewOffset"; break; - case 0x1010239: $resName="keyPreviewHeight"; break; - case 0x101023a: $resName="verticalCorrection"; break; - case 0x101023b: $resName="popupLayout"; break; - case 0x101023c: $resName="state_long_pressable"; break; - case 0x101023d: $resName="keyWidth"; break; - case 0x101023e: $resName="keyHeight"; break; - case 0x101023f: $resName="horizontalGap"; break; - case 0x1010240: $resName="verticalGap"; break; - case 0x1010241: $resName="rowEdgeFlags"; break; - case 0x1010242: $resName="codes"; break; - case 0x1010243: $resName="popupKeyboard"; break; - case 0x1010244: $resName="popupCharacters"; break; - case 0x1010245: $resName="keyEdgeFlags"; break; - case 0x1010246: $resName="isModifier"; break; - case 0x1010247: $resName="isSticky"; break; - case 0x1010248: $resName="isRepeatable"; break; - case 0x1010249: $resName="iconPreview"; break; - case 0x101024a: $resName="keyOutputText"; break; - case 0x101024b: $resName="keyLabel"; break; - case 0x101024c: $resName="keyIcon"; break; - case 0x101024d: $resName="keyboardMode"; break; - case 0x101024e: $resName="isScrollContainer"; break; - case 0x101024f: $resName="fillEnabled"; break; - case 0x1010250: $resName="updatePeriodMillis"; break; - case 0x1010251: $resName="initialLayout"; break; - case 0x1010252: $resName="voiceSearchMode"; break; - case 0x1010253: $resName="voiceLanguageModel"; break; - case 0x1010254: $resName="voicePromptText"; break; - case 0x1010255: $resName="voiceLanguage"; break; - case 0x1010256: $resName="voiceMaxResults"; break; - case 0x1010257: $resName="bottomOffset"; break; - case 0x1010258: $resName="topOffset"; break; - case 0x1010259: $resName="allowSingleTap"; break; - case 0x101025a: $resName="handle"; break; - case 0x101025b: $resName="content"; break; - case 0x101025c: $resName="animateOnClick"; break; - case 0x101025d: $resName="configure"; break; - case 0x101025e: $resName="hapticFeedbackEnabled"; break; - case 0x101025f: $resName="innerRadius"; break; - case 0x1010260: $resName="thickness"; break; - case 0x1010261: $resName="sharedUserLabel"; break; - case 0x1010262: $resName="dropDownWidth"; break; - case 0x1010263: $resName="dropDownAnchor"; break; - case 0x1010264: $resName="imeOptions"; break; - case 0x1010265: $resName="imeActionLabel"; break; - case 0x1010266: $resName="imeActionId"; break; - case 0x1010268: $resName="imeExtractEnterAnimation"; break; - case 0x1010269: $resName="imeExtractExitAnimation"; break; - case 0x101026a: $resName="tension"; break; - case 0x101026b: $resName="extraTension"; break; - case 0x101026c: $resName="anyDensity"; break; - case 0x101026d: $resName="searchSuggestThreshold"; break; - case 0x101026e: $resName="includeInGlobalSearch"; break; - case 0x101026f: $resName="onClick"; break; - case 0x1010270: $resName="targetSdkVersion"; break; - case 0x1010271: $resName="maxSdkVersion"; break; - case 0x1010272: $resName="testOnly"; break; - case 0x1010273: $resName="contentDescription"; break; - case 0x1010274: $resName="gestureStrokeWidth"; break; - case 0x1010275: $resName="gestureColor"; break; - case 0x1010276: $resName="uncertainGestureColor"; break; - case 0x1010277: $resName="fadeOffset"; break; - case 0x1010278: $resName="fadeDuration"; break; - case 0x1010279: $resName="gestureStrokeType"; break; - case 0x101027a: $resName="gestureStrokeLengthThreshold"; break; - case 0x101027b: $resName="gestureStrokeSquarenessThreshold"; break; - case 0x101027c: $resName="gestureStrokeAngleThreshold"; break; - case 0x101027d: $resName="eventsInterceptionEnabled"; break; - case 0x101027e: $resName="fadeEnabled"; break; - case 0x101027f: $resName="backupAgent"; break; - case 0x1010280: $resName="allowBackup"; break; - case 0x1010281: $resName="glEsVersion"; break; - case 0x1010282: $resName="queryAfterZeroResults"; break; - case 0x1010283: $resName="dropDownHeight"; break; - case 0x1010284: $resName="smallScreens"; break; - case 0x1010285: $resName="normalScreens"; break; - case 0x1010286: $resName="largeScreens"; break; - case 0x1010287: $resName="progressBarStyleInverse"; break; - case 0x1010288: $resName="progressBarStyleSmallInverse"; break; - case 0x1010289: $resName="progressBarStyleLargeInverse"; break; - case 0x101028a: $resName="searchSettingsDescription"; break; - case 0x101028b: $resName="textColorPrimaryInverseDisableOnly"; break; - case 0x101028c: $resName="autoUrlDetect"; break; - case 0x101028d: $resName="resizeable"; break; - case 0x101028e: $resName="required"; break; - case 0x101028f: $resName="accountType"; break; - case 0x1010290: $resName="contentAuthority"; break; - case 0x1010291: $resName="userVisible"; break; - case 0x1010292: $resName="windowShowWallpaper"; break; - case 0x1010293: $resName="wallpaperOpenEnterAnimation"; break; - case 0x1010294: $resName="wallpaperOpenExitAnimation"; break; - case 0x1010295: $resName="wallpaperCloseEnterAnimation"; break; - case 0x1010296: $resName="wallpaperCloseExitAnimation"; break; - case 0x1010297: $resName="wallpaperIntraOpenEnterAnimation"; break; - case 0x1010298: $resName="wallpaperIntraOpenExitAnimation"; break; - case 0x1010299: $resName="wallpaperIntraCloseEnterAnimation"; break; - case 0x101029a: $resName="wallpaperIntraCloseExitAnimation"; break; - case 0x101029b: $resName="supportsUploading"; break; - case 0x101029c: $resName="killAfterRestore"; break; - case 0x101029d: $resName="field public static final deprecated int restoreNeedsApplication"; break; - case 0x101029e: $resName="smallIcon"; break; - case 0x101029f: $resName="accountPreferences"; break; - case 0x10102a0: $resName="textAppearanceSearchResultSubtitle"; break; - case 0x10102a1: $resName="textAppearanceSearchResultTitle"; break; - case 0x10102a2: $resName="summaryColumn"; break; - case 0x10102a3: $resName="detailColumn"; break; - case 0x10102a4: $resName="detailSocialSummary"; break; - case 0x10102a5: $resName="thumbnail"; break; - case 0x10102a6: $resName="detachWallpaper"; break; - case 0x10102a7: $resName="finishOnCloseSystemDialogs"; break; - case 0x10102a8: $resName="scrollbarFadeDuration"; break; - case 0x10102a9: $resName="scrollbarDefaultDelayBeforeFade"; break; - case 0x10102aa: $resName="fadeScrollbars"; break; - case 0x10102ab: $resName="colorBackgroundCacheHint"; break; - case 0x10102ac: $resName="dropDownHorizontalOffset"; break; - case 0x10102ad: $resName="dropDownVerticalOffset"; break; - case 0x10102ae: $resName="quickContactBadgeStyleWindowSmall"; break; - case 0x10102af: $resName="quickContactBadgeStyleWindowMedium"; break; - case 0x10102b0: $resName="quickContactBadgeStyleWindowLarge"; break; - case 0x10102b1: $resName="quickContactBadgeStyleSmallWindowSmall"; break; - case 0x10102b2: $resName="quickContactBadgeStyleSmallWindowMedium"; break; - case 0x10102b3: $resName="quickContactBadgeStyleSmallWindowLarge"; break; - case 0x10102b4: $resName="author"; break; - case 0x10102b5: $resName="autoStart"; break; - case 0x10102b6: $resName="expandableListViewWhiteStyle"; break; - case 0x10102b7: $resName="installLocation"; break; - case 0x10102b8: $resName="vmSafeMode"; break; - case 0x10102b9: $resName="webTextViewStyle"; break; - case 0x10102ba: $resName="restoreAnyVersion"; break; - case 0x10102bb: $resName="tabStripLeft"; break; - case 0x10102bc: $resName="tabStripRight"; break; - case 0x10102bd: $resName="tabStripEnabled"; break; - case 0x10102be: $resName="logo"; break; - case 0x10102bf: $resName="xlargeScreens"; break; - case 0x10102c0: $resName="immersive"; break; - case 0x10102c1: $resName="overScrollMode"; break; - case 0x10102c2: $resName="overScrollHeader"; break; - case 0x10102c3: $resName="overScrollFooter"; break; - case 0x10102c4: $resName="filterTouchesWhenObscured"; break; - case 0x10102c5: $resName="textSelectHandleLeft"; break; - case 0x10102c6: $resName="textSelectHandleRight"; break; - case 0x10102c7: $resName="textSelectHandle"; break; - case 0x10102c8: $resName="textSelectHandleWindowStyle"; break; - case 0x10102c9: $resName="popupAnimationStyle"; break; - case 0x10102ca: $resName="screenSize"; break; - case 0x10102cb: $resName="screenDensity"; break; - case 0x10102cc: $resName="allContactsName"; break; - case 0x10102cd: $resName="windowActionBar"; break; - case 0x10102ce: $resName="actionBarStyle"; break; - case 0x10102cf: $resName="navigationMode"; break; - case 0x10102d0: $resName="displayOptions"; break; - case 0x10102d1: $resName="subtitle"; break; - case 0x10102d2: $resName="customNavigationLayout"; break; - case 0x10102d3: $resName="hardwareAccelerated"; break; - case 0x10102d4: $resName="measureWithLargestChild"; break; - case 0x10102d5: $resName="animateFirstView"; break; - case 0x10102d6: $resName="dropDownSpinnerStyle"; break; - case 0x10102d7: $resName="actionDropDownStyle"; break; - case 0x10102d8: $resName="actionButtonStyle"; break; - case 0x10102d9: $resName="showAsAction"; break; - case 0x10102da: $resName="previewImage"; break; - case 0x10102db: $resName="actionModeBackground"; break; - case 0x10102dc: $resName="actionModeCloseDrawable"; break; - case 0x10102dd: $resName="windowActionModeOverlay"; break; - case 0x10102de: $resName="valueFrom"; break; - case 0x10102df: $resName="valueTo"; break; - case 0x10102e0: $resName="valueType"; break; - case 0x10102e1: $resName="propertyName"; break; - case 0x10102e2: $resName="ordering"; break; - case 0x10102e3: $resName="fragment"; break; - case 0x10102e4: $resName="windowActionBarOverlay"; break; - case 0x10102e5: $resName="fragmentOpenEnterAnimation"; break; - case 0x10102e6: $resName="fragmentOpenExitAnimation"; break; - case 0x10102e7: $resName="fragmentCloseEnterAnimation"; break; - case 0x10102e8: $resName="fragmentCloseExitAnimation"; break; - case 0x10102e9: $resName="fragmentFadeEnterAnimation"; break; - case 0x10102ea: $resName="fragmentFadeExitAnimation"; break; - case 0x10102eb: $resName="actionBarSize"; break; - case 0x10102ec: $resName="imeSubtypeLocale"; break; - case 0x10102ed: $resName="imeSubtypeMode"; break; - case 0x10102ee: $resName="imeSubtypeExtraValue"; break; - case 0x10102ef: $resName="splitMotionEvents"; break; - case 0x10102f0: $resName="listChoiceBackgroundIndicator"; break; - case 0x10102f1: $resName="spinnerMode"; break; - case 0x10102f2: $resName="animateLayoutChanges"; break; - case 0x10102f3: $resName="actionBarTabStyle"; break; - case 0x10102f4: $resName="actionBarTabBarStyle"; break; - case 0x10102f5: $resName="actionBarTabTextStyle"; break; - case 0x10102f6: $resName="actionOverflowButtonStyle"; break; - case 0x10102f7: $resName="actionModeCloseButtonStyle"; break; - case 0x10102f8: $resName="titleTextStyle"; break; - case 0x10102f9: $resName="subtitleTextStyle"; break; - case 0x10102fa: $resName="iconifiedByDefault"; break; - case 0x10102fb: $resName="actionLayout"; break; - case 0x10102fc: $resName="actionViewClass"; break; - case 0x10102fd: $resName="activatedBackgroundIndicator"; break; - case 0x10102fe: $resName="state_activated"; break; - case 0x10102ff: $resName="listPopupWindowStyle"; break; - case 0x1010300: $resName="popupMenuStyle"; break; - case 0x1010301: $resName="textAppearanceLargePopupMenu"; break; - case 0x1010302: $resName="textAppearanceSmallPopupMenu"; break; - case 0x1010303: $resName="breadCrumbTitle"; break; - case 0x1010304: $resName="breadCrumbShortTitle"; break; - case 0x1010305: $resName="listDividerAlertDialog"; break; - case 0x1010306: $resName="textColorAlertDialogListItem"; break; - case 0x1010307: $resName="loopViews"; break; - case 0x1010308: $resName="dialogTheme"; break; - case 0x1010309: $resName="alertDialogTheme"; break; - case 0x101030a: $resName="dividerVertical"; break; - case 0x101030b: $resName="homeAsUpIndicator"; break; - case 0x101030c: $resName="enterFadeDuration"; break; - case 0x101030d: $resName="exitFadeDuration"; break; - case 0x101030e: $resName="selectableItemBackground"; break; - case 0x101030f: $resName="autoAdvanceViewId"; break; - case 0x1010310: $resName="useIntrinsicSizeAsMinimum"; break; - case 0x1010311: $resName="actionModeCutDrawable"; break; - case 0x1010312: $resName="actionModeCopyDrawable"; break; - case 0x1010313: $resName="actionModePasteDrawable"; break; - case 0x1010314: $resName="textEditPasteWindowLayout"; break; - case 0x1010315: $resName="textEditNoPasteWindowLayout"; break; - case 0x1010316: $resName="textIsSelectable"; break; - case 0x1010317: $resName="windowEnableSplitTouch"; break; - case 0x1010318: $resName="indeterminateProgressStyle"; break; - case 0x1010319: $resName="progressBarPadding"; break; - case 0x101031a: $resName="field public static final deprecated int animationResolution"; break; - case 0x101031b: $resName="state_accelerated"; break; - case 0x101031c: $resName="baseline"; break; - case 0x101031d: $resName="homeLayout"; break; - case 0x101031e: $resName="opacity"; break; - case 0x101031f: $resName="alpha"; break; - case 0x1010320: $resName="transformPivotX"; break; - case 0x1010321: $resName="transformPivotY"; break; - case 0x1010322: $resName="translationX"; break; - case 0x1010323: $resName="translationY"; break; - case 0x1010324: $resName="scaleX"; break; - case 0x1010325: $resName="scaleY"; break; - case 0x1010326: $resName="rotation"; break; - case 0x1010327: $resName="rotationX"; break; - case 0x1010328: $resName="rotationY"; break; - case 0x1010329: $resName="showDividers"; break; - case 0x101032a: $resName="dividerPadding"; break; - case 0x101032b: $resName="borderlessButtonStyle"; break; - case 0x101032c: $resName="dividerHorizontal"; break; - case 0x101032d: $resName="itemPadding"; break; - case 0x101032e: $resName="buttonBarStyle"; break; - case 0x101032f: $resName="buttonBarButtonStyle"; break; - case 0x1010330: $resName="segmentedButtonStyle"; break; - case 0x1010331: $resName="staticWallpaperPreview"; break; - case 0x1010332: $resName="allowParallelSyncs"; break; - case 0x1010333: $resName="isAlwaysSyncable"; break; - case 0x1010334: $resName="verticalScrollbarPosition"; break; - case 0x1010335: $resName="fastScrollAlwaysVisible"; break; - case 0x1010336: $resName="fastScrollThumbDrawable"; break; - case 0x1010337: $resName="fastScrollPreviewBackgroundLeft"; break; - case 0x1010338: $resName="fastScrollPreviewBackgroundRight"; break; - case 0x1010339: $resName="fastScrollTrackDrawable"; break; - case 0x101033a: $resName="fastScrollOverlayPosition"; break; - case 0x101033b: $resName="customTokens"; break; - case 0x101033c: $resName="nextFocusForward"; break; - case 0x101033d: $resName="firstDayOfWeek"; break; - case 0x101033e: $resName="showWeekNumber"; break; - case 0x101033f: $resName="minDate"; break; - case 0x1010340: $resName="maxDate"; break; - case 0x1010341: $resName="shownWeekCount"; break; - case 0x1010342: $resName="selectedWeekBackgroundColor"; break; - case 0x1010343: $resName="focusedMonthDateColor"; break; - case 0x1010344: $resName="unfocusedMonthDateColor"; break; - case 0x1010345: $resName="weekNumberColor"; break; - case 0x1010346: $resName="weekSeparatorLineColor"; break; - case 0x1010347: $resName="selectedDateVerticalBar"; break; - case 0x1010348: $resName="weekDayTextAppearance"; break; - case 0x1010349: $resName="dateTextAppearance"; break; - case 0x101034b: $resName="spinnersShown"; break; - case 0x101034c: $resName="calendarViewShown"; break; - case 0x101034d: $resName="state_multiline"; break; - case 0x101034e: $resName="detailsElementBackground"; break; - case 0x101034f: $resName="textColorHighlightInverse"; break; - case 0x1010350: $resName="textColorLinkInverse"; break; - case 0x1010351: $resName="editTextColor"; break; - case 0x1010352: $resName="editTextBackground"; break; - case 0x1010353: $resName="horizontalScrollViewStyle"; break; - case 0x1010354: $resName="layerType"; break; - case 0x1010355: $resName="alertDialogIcon"; break; - case 0x1010356: $resName="windowMinWidthMajor"; break; - case 0x1010357: $resName="windowMinWidthMinor"; break; - case 0x1010358: $resName="queryHint"; break; - case 0x1010359: $resName="fastScrollTextColor"; break; - case 0x101035a: $resName="largeHeap"; break; - case 0x101035b: $resName="windowCloseOnTouchOutside"; break; - case 0x101035c: $resName="datePickerStyle"; break; - case 0x101035d: $resName="calendarViewStyle"; break; - case 0x101035e: $resName="textEditSidePasteWindowLayout"; break; - case 0x101035f: $resName="textEditSideNoPasteWindowLayout"; break; - case 0x1010360: $resName="actionMenuTextAppearance"; break; - case 0x1010361: $resName="actionMenuTextColor"; break; - case 0x1010362: $resName="textCursorDrawable"; break; - case 0x1010363: $resName="resizeMode"; break; - case 0x1010364: $resName="requiresSmallestWidthDp"; break; - case 0x1010365: $resName="compatibleWidthLimitDp"; break; - case 0x1010366: $resName="largestWidthLimitDp"; break; - case 0x1010367: $resName="state_hovered"; break; - case 0x1010368: $resName="state_drag_can_accept"; break; - case 0x1010369: $resName="state_drag_hovered"; break; - case 0x101036a: $resName="stopWithTask"; break; - case 0x101036b: $resName="switchTextOn"; break; - case 0x101036c: $resName="switchTextOff"; break; - case 0x101036d: $resName="switchPreferenceStyle"; break; - case 0x101036e: $resName="switchTextAppearance"; break; - case 0x101036f: $resName="track"; break; - case 0x1010370: $resName="switchMinWidth"; break; - case 0x1010371: $resName="switchPadding"; break; - case 0x1010372: $resName="thumbTextPadding"; break; - case 0x1010373: $resName="textSuggestionsWindowStyle"; break; - case 0x1010374: $resName="textEditSuggestionItemLayout"; break; - case 0x1010375: $resName="rowCount"; break; - case 0x1010376: $resName="rowOrderPreserved"; break; - case 0x1010377: $resName="columnCount"; break; - case 0x1010378: $resName="columnOrderPreserved"; break; - case 0x1010379: $resName="useDefaultMargins"; break; - case 0x101037a: $resName="alignmentMode"; break; - case 0x101037b: $resName="layout_row"; break; - case 0x101037c: $resName="layout_rowSpan"; break; - case 0x101037d: $resName="layout_columnSpan"; break; - case 0x101037e: $resName="actionModeSelectAllDrawable"; break; - case 0x101037f: $resName="isAuxiliary"; break; - case 0x1010380: $resName="accessibilityEventTypes"; break; - case 0x1010381: $resName="packageNames"; break; - case 0x1010382: $resName="accessibilityFeedbackType"; break; - case 0x1010383: $resName="notificationTimeout"; break; - case 0x1010384: $resName="accessibilityFlags"; break; - case 0x1010385: $resName="canRetrieveWindowContent"; break; - case 0x1010386: $resName="listPreferredItemHeightLarge"; break; - case 0x1010387: $resName="listPreferredItemHeightSmall"; break; - case 0x1010388: $resName="actionBarSplitStyle"; break; - case 0x1010389: $resName="actionProviderClass"; break; - case 0x101038a: $resName="backgroundStacked"; break; - case 0x101038b: $resName="backgroundSplit"; break; - case 0x101038c: $resName="textAllCaps"; break; - case 0x101038d: $resName="colorPressedHighlight"; break; - case 0x101038e: $resName="colorLongPressedHighlight"; break; - case 0x101038f: $resName="colorFocusedHighlight"; break; - case 0x1010390: $resName="colorActivatedHighlight"; break; - case 0x1010391: $resName="colorMultiSelectHighlight"; break; - case 0x1010392: $resName="drawableStart"; break; - case 0x1010393: $resName="drawableEnd"; break; - case 0x1010394: $resName="actionModeStyle"; break; - case 0x1010395: $resName="minResizeWidth"; break; - case 0x1010396: $resName="minResizeHeight"; break; - case 0x1010397: $resName="actionBarWidgetTheme"; break; - case 0x1010398: $resName="uiOptions"; break; - case 0x1010399: $resName="subtypeLocale"; break; - case 0x101039a: $resName="subtypeExtraValue"; break; - case 0x101039b: $resName="actionBarDivider"; break; - case 0x101039c: $resName="actionBarItemBackground"; break; - case 0x101039d: $resName="actionModeSplitBackground"; break; - case 0x101039e: $resName="textAppearanceListItem"; break; - case 0x101039f: $resName="textAppearanceListItemSmall"; break; - case 0x10103a0: $resName="targetDescriptions"; break; - case 0x10103a1: $resName="directionDescriptions"; break; - case 0x10103a2: $resName="overridesImplicitlyEnabledSubtype"; break; - case 0x10103a3: $resName="listPreferredItemPaddingLeft"; break; - case 0x10103a4: $resName="listPreferredItemPaddingRight"; break; - case 0x10103a5: $resName="requiresFadingEdge"; break; - case 0x10103a6: $resName="publicKey"; break; - case 0x10103a7: $resName="parentActivityName"; break; - case 0x10103a9: $resName="isolatedProcess"; break; - case 0x10103aa: $resName="importantForAccessibility"; break; - case 0x10103ab: $resName="keyboardLayout"; break; - case 0x10103ac: $resName="fontFamily"; break; - case 0x10103ad: $resName="mediaRouteButtonStyle"; break; - case 0x10103ae: $resName="mediaRouteTypes"; break; - case 0x10103af: $resName="supportsRtl"; break; - case 0x10103b0: $resName="textDirection"; break; - case 0x10103b1: $resName="textAlignment"; break; - case 0x10103b2: $resName="layoutDirection"; break; - case 0x10103b3: $resName="paddingStart"; break; - case 0x10103b4: $resName="paddingEnd"; break; - case 0x10103b5: $resName="layout_marginStart"; break; - case 0x10103b6: $resName="layout_marginEnd"; break; - case 0x10103b7: $resName="layout_toStartOf"; break; - case 0x10103b8: $resName="layout_toEndOf"; break; - case 0x10103b9: $resName="layout_alignStart"; break; - case 0x10103ba: $resName="layout_alignEnd"; break; - case 0x10103bb: $resName="layout_alignParentStart"; break; - case 0x10103bc: $resName="layout_alignParentEnd"; break; - case 0x10103bd: $resName="listPreferredItemPaddingStart"; break; - case 0x10103be: $resName="listPreferredItemPaddingEnd"; break; - case 0x10103bf: $resName="singleUser"; break; - case 0x10103c0: $resName="presentationTheme"; break; - case 0x10103c1: $resName="subtypeId"; break; - case 0x10103c2: $resName="initialKeyguardLayout"; break; - case 0x10103c4: $resName="widgetCategory"; break; - case 0x10103c5: $resName="permissionGroupFlags"; break; - case 0x10103c6: $resName="labelFor"; break; - case 0x10103c7: $resName="permissionFlags"; break; - case 0x10103c8: $resName="checkedTextViewStyle"; break; - case 0x10103c9: $resName="showOnLockScreen"; break; - case 0x10103ca: $resName="format12Hour"; break; - case 0x10103cb: $resName="format24Hour"; break; - case 0x10103cc: $resName="timeZone"; break; - default: $resName = "0x" . dechex($id); + case 0x1010000: + $resName = "theme"; + break; + case 0x1010001: + $resName = "label"; + break; + case 0x1010002: + $resName = "icon"; + break; + case 0x1010003: + $resName = "name"; + break; + case 0x1010004: + $resName = "manageSpaceActivity"; + break; + case 0x1010005: + $resName = "allowClearUserData"; + break; + case 0x1010006: + $resName = "permission"; + break; + case 0x1010007: + $resName = "readPermission"; + break; + case 0x1010008: + $resName = "writePermission"; + break; + case 0x1010009: + $resName = "protectionLevel"; + break; + case 0x101000a: + $resName = "permissionGroup"; + break; + case 0x101000b: + $resName = "sharedUserId"; + break; + case 0x101000c: + $resName = "hasCode"; + break; + case 0x101000d: + $resName = "persistent"; + break; + case 0x101000e: + $resName = "enabled"; + break; + case 0x101000f: + $resName = "debuggable"; + break; + case 0x1010010: + $resName = "exported"; + break; + case 0x1010011: + $resName = "process"; + break; + case 0x1010012: + $resName = "taskAffinity"; + break; + case 0x1010013: + $resName = "multiprocess"; + break; + case 0x1010014: + $resName = "finishOnTaskLaunch"; + break; + case 0x1010015: + $resName = "clearTaskOnLaunch"; + break; + case 0x1010016: + $resName = "stateNotNeeded"; + break; + case 0x1010017: + $resName = "excludeFromRecents"; + break; + case 0x1010018: + $resName = "authorities"; + break; + case 0x1010019: + $resName = "syncable"; + break; + case 0x101001a: + $resName = "initOrder"; + break; + case 0x101001b: + $resName = "grantUriPermissions"; + break; + case 0x101001c: + $resName = "priority"; + break; + case 0x101001d: + $resName = "launchMode"; + break; + case 0x101001e: + $resName = "screenOrientation"; + break; + case 0x101001f: + $resName = "configChanges"; + break; + case 0x1010020: + $resName = "description"; + break; + case 0x1010021: + $resName = "targetPackage"; + break; + case 0x1010022: + $resName = "handleProfiling"; + break; + case 0x1010023: + $resName = "functionalTest"; + break; + case 0x1010024: + $resName = "value"; + break; + case 0x1010025: + $resName = "resource"; + break; + case 0x1010026: + $resName = "mimeType"; + break; + case 0x1010027: + $resName = "scheme"; + break; + case 0x1010028: + $resName = "host"; + break; + case 0x1010029: + $resName = "port"; + break; + case 0x101002a: + $resName = "path"; + break; + case 0x101002b: + $resName = "pathPrefix"; + break; + case 0x101002c: + $resName = "pathPattern"; + break; + case 0x101002d: + $resName = "action"; + break; + case 0x101002e: + $resName = "data"; + break; + case 0x101002f: + $resName = "targetClass"; + break; + case 0x1010030: + $resName = "colorForeground"; + break; + case 0x1010031: + $resName = "colorBackground"; + break; + case 0x1010032: + $resName = "backgroundDimAmount"; + break; + case 0x1010033: + $resName = "disabledAlpha"; + break; + case 0x1010034: + $resName = "textAppearance"; + break; + case 0x1010035: + $resName = "textAppearanceInverse"; + break; + case 0x1010036: + $resName = "textColorPrimary"; + break; + case 0x1010037: + $resName = "textColorPrimaryDisableOnly"; + break; + case 0x1010038: + $resName = "textColorSecondary"; + break; + case 0x1010039: + $resName = "textColorPrimaryInverse"; + break; + case 0x101003a: + $resName = "textColorSecondaryInverse"; + break; + case 0x101003b: + $resName = "textColorPrimaryNoDisable"; + break; + case 0x101003c: + $resName = "textColorSecondaryNoDisable"; + break; + case 0x101003d: + $resName = "textColorPrimaryInverseNoDisable"; + break; + case 0x101003e: + $resName = "textColorSecondaryInverseNoDisable"; + break; + case 0x101003f: + $resName = "textColorHintInverse"; + break; + case 0x1010040: + $resName = "textAppearanceLarge"; + break; + case 0x1010041: + $resName = "textAppearanceMedium"; + break; + case 0x1010042: + $resName = "textAppearanceSmall"; + break; + case 0x1010043: + $resName = "textAppearanceLargeInverse"; + break; + case 0x1010044: + $resName = "textAppearanceMediumInverse"; + break; + case 0x1010045: + $resName = "textAppearanceSmallInverse"; + break; + case 0x1010046: + $resName = "textCheckMark"; + break; + case 0x1010047: + $resName = "textCheckMarkInverse"; + break; + case 0x1010048: + $resName = "buttonStyle"; + break; + case 0x1010049: + $resName = "buttonStyleSmall"; + break; + case 0x101004a: + $resName = "buttonStyleInset"; + break; + case 0x101004b: + $resName = "buttonStyleToggle"; + break; + case 0x101004c: + $resName = "galleryItemBackground"; + break; + case 0x101004d: + $resName = "listPreferredItemHeight"; + break; + case 0x101004e: + $resName = "expandableListPreferredItemPaddingLeft"; + break; + case 0x101004f: + $resName = "expandableListPreferredChildPaddingLeft"; + break; + case 0x1010050: + $resName = "expandableListPreferredItemIndicatorLeft"; + break; + case 0x1010051: + $resName = "expandableListPreferredItemIndicatorRight"; + break; + case 0x1010052: + $resName = "expandableListPreferredChildIndicatorLeft"; + break; + case 0x1010053: + $resName = "expandableListPreferredChildIndicatorRight"; + break; + case 0x1010054: + $resName = "windowBackground"; + break; + case 0x1010055: + $resName = "windowFrame"; + break; + case 0x1010056: + $resName = "windowNoTitle"; + break; + case 0x1010057: + $resName = "windowIsFloating"; + break; + case 0x1010058: + $resName = "windowIsTranslucent"; + break; + case 0x1010059: + $resName = "windowContentOverlay"; + break; + case 0x101005a: + $resName = "windowTitleSize"; + break; + case 0x101005b: + $resName = "windowTitleStyle"; + break; + case 0x101005c: + $resName = "windowTitleBackgroundStyle"; + break; + case 0x101005d: + $resName = "alertDialogStyle"; + break; + case 0x101005e: + $resName = "panelBackground"; + break; + case 0x101005f: + $resName = "panelFullBackground"; + break; + case 0x1010060: + $resName = "panelColorForeground"; + break; + case 0x1010061: + $resName = "panelColorBackground"; + break; + case 0x1010062: + $resName = "panelTextAppearance"; + break; + case 0x1010063: + $resName = "scrollbarSize"; + break; + case 0x1010064: + $resName = "scrollbarThumbHorizontal"; + break; + case 0x1010065: + $resName = "scrollbarThumbVertical"; + break; + case 0x1010066: + $resName = "scrollbarTrackHorizontal"; + break; + case 0x1010067: + $resName = "scrollbarTrackVertical"; + break; + case 0x1010068: + $resName = "scrollbarAlwaysDrawHorizontalTrack"; + break; + case 0x1010069: + $resName = "scrollbarAlwaysDrawVerticalTrack"; + break; + case 0x101006a: + $resName = "absListViewStyle"; + break; + case 0x101006b: + $resName = "autoCompleteTextViewStyle"; + break; + case 0x101006c: + $resName = "checkboxStyle"; + break; + case 0x101006d: + $resName = "dropDownListViewStyle"; + break; + case 0x101006e: + $resName = "editTextStyle"; + break; + case 0x101006f: + $resName = "expandableListViewStyle"; + break; + case 0x1010070: + $resName = "galleryStyle"; + break; + case 0x1010071: + $resName = "gridViewStyle"; + break; + case 0x1010072: + $resName = "imageButtonStyle"; + break; + case 0x1010073: + $resName = "imageWellStyle"; + break; + case 0x1010074: + $resName = "listViewStyle"; + break; + case 0x1010075: + $resName = "listViewWhiteStyle"; + break; + case 0x1010076: + $resName = "popupWindowStyle"; + break; + case 0x1010077: + $resName = "progressBarStyle"; + break; + case 0x1010078: + $resName = "progressBarStyleHorizontal"; + break; + case 0x1010079: + $resName = "progressBarStyleSmall"; + break; + case 0x101007a: + $resName = "progressBarStyleLarge"; + break; + case 0x101007b: + $resName = "seekBarStyle"; + break; + case 0x101007c: + $resName = "ratingBarStyle"; + break; + case 0x101007d: + $resName = "ratingBarStyleSmall"; + break; + case 0x101007e: + $resName = "radioButtonStyle"; + break; + case 0x101007f: + $resName = "scrollbarStyle"; + break; + case 0x1010080: + $resName = "scrollViewStyle"; + break; + case 0x1010081: + $resName = "spinnerStyle"; + break; + case 0x1010082: + $resName = "starStyle"; + break; + case 0x1010083: + $resName = "tabWidgetStyle"; + break; + case 0x1010084: + $resName = "textViewStyle"; + break; + case 0x1010085: + $resName = "webViewStyle"; + break; + case 0x1010086: + $resName = "dropDownItemStyle"; + break; + case 0x1010087: + $resName = "spinnerDropDownItemStyle"; + break; + case 0x1010088: + $resName = "dropDownHintAppearance"; + break; + case 0x1010089: + $resName = "spinnerItemStyle"; + break; + case 0x101008a: + $resName = "mapViewStyle"; + break; + case 0x101008b: + $resName = "preferenceScreenStyle"; + break; + case 0x101008c: + $resName = "preferenceCategoryStyle"; + break; + case 0x101008d: + $resName = "preferenceInformationStyle"; + break; + case 0x101008e: + $resName = "preferenceStyle"; + break; + case 0x101008f: + $resName = "checkBoxPreferenceStyle"; + break; + case 0x1010090: + $resName = "yesNoPreferenceStyle"; + break; + case 0x1010091: + $resName = "dialogPreferenceStyle"; + break; + case 0x1010092: + $resName = "editTextPreferenceStyle"; + break; + case 0x1010093: + $resName = "ringtonePreferenceStyle"; + break; + case 0x1010094: + $resName = "preferenceLayoutChild"; + break; + case 0x1010095: + $resName = "textSize"; + break; + case 0x1010096: + $resName = "typeface"; + break; + case 0x1010097: + $resName = "textStyle"; + break; + case 0x1010098: + $resName = "textColor"; + break; + case 0x1010099: + $resName = "textColorHighlight"; + break; + case 0x101009a: + $resName = "textColorHint"; + break; + case 0x101009b: + $resName = "textColorLink"; + break; + case 0x101009c: + $resName = "state_focused"; + break; + case 0x101009d: + $resName = "state_window_focused"; + break; + case 0x101009e: + $resName = "state_enabled"; + break; + case 0x101009f: + $resName = "state_checkable"; + break; + case 0x10100a0: + $resName = "state_checked"; + break; + case 0x10100a1: + $resName = "state_selected"; + break; + case 0x10100a2: + $resName = "state_active"; + break; + case 0x10100a3: + $resName = "state_single"; + break; + case 0x10100a4: + $resName = "state_first"; + break; + case 0x10100a5: + $resName = "state_middle"; + break; + case 0x10100a6: + $resName = "state_last"; + break; + case 0x10100a7: + $resName = "state_pressed"; + break; + case 0x10100a8: + $resName = "state_expanded"; + break; + case 0x10100a9: + $resName = "state_empty"; + break; + case 0x10100aa: + $resName = "state_above_anchor"; + break; + case 0x10100ab: + $resName = "ellipsize"; + break; + case 0x10100ac: + $resName = "x"; + break; + case 0x10100ad: + $resName = "y"; + break; + case 0x10100ae: + $resName = "windowAnimationStyle"; + break; + case 0x10100af: + $resName = "gravity"; + break; + case 0x10100b0: + $resName = "autoLink"; + break; + case 0x10100b1: + $resName = "linksClickable"; + break; + case 0x10100b2: + $resName = "entries"; + break; + case 0x10100b3: + $resName = "layout_gravity"; + break; + case 0x10100b4: + $resName = "windowEnterAnimation"; + break; + case 0x10100b5: + $resName = "windowExitAnimation"; + break; + case 0x10100b6: + $resName = "windowShowAnimation"; + break; + case 0x10100b7: + $resName = "windowHideAnimation"; + break; + case 0x10100b8: + $resName = "activityOpenEnterAnimation"; + break; + case 0x10100b9: + $resName = "activityOpenExitAnimation"; + break; + case 0x10100ba: + $resName = "activityCloseEnterAnimation"; + break; + case 0x10100bb: + $resName = "activityCloseExitAnimation"; + break; + case 0x10100bc: + $resName = "taskOpenEnterAnimation"; + break; + case 0x10100bd: + $resName = "taskOpenExitAnimation"; + break; + case 0x10100be: + $resName = "taskCloseEnterAnimation"; + break; + case 0x10100bf: + $resName = "taskCloseExitAnimation"; + break; + case 0x10100c0: + $resName = "taskToFrontEnterAnimation"; + break; + case 0x10100c1: + $resName = "taskToFrontExitAnimation"; + break; + case 0x10100c2: + $resName = "taskToBackEnterAnimation"; + break; + case 0x10100c3: + $resName = "taskToBackExitAnimation"; + break; + case 0x10100c4: + $resName = "orientation"; + break; + case 0x10100c5: + $resName = "keycode"; + break; + case 0x10100c6: + $resName = "fullDark"; + break; + case 0x10100c7: + $resName = "topDark"; + break; + case 0x10100c8: + $resName = "centerDark"; + break; + case 0x10100c9: + $resName = "bottomDark"; + break; + case 0x10100ca: + $resName = "fullBright"; + break; + case 0x10100cb: + $resName = "topBright"; + break; + case 0x10100cc: + $resName = "centerBright"; + break; + case 0x10100cd: + $resName = "bottomBright"; + break; + case 0x10100ce: + $resName = "bottomMedium"; + break; + case 0x10100cf: + $resName = "centerMedium"; + break; + case 0x10100d0: + $resName = "id"; + break; + case 0x10100d1: + $resName = "tag"; + break; + case 0x10100d2: + $resName = "scrollX"; + break; + case 0x10100d3: + $resName = "scrollY"; + break; + case 0x10100d4: + $resName = "background"; + break; + case 0x10100d5: + $resName = "padding"; + break; + case 0x10100d6: + $resName = "paddingLeft"; + break; + case 0x10100d7: + $resName = "paddingTop"; + break; + case 0x10100d8: + $resName = "paddingRight"; + break; + case 0x10100d9: + $resName = "paddingBottom"; + break; + case 0x10100da: + $resName = "focusable"; + break; + case 0x10100db: + $resName = "focusableInTouchMode"; + break; + case 0x10100dc: + $resName = "visibility"; + break; + case 0x10100dd: + $resName = "fitsSystemWindows"; + break; + case 0x10100de: + $resName = "scrollbars"; + break; + case 0x10100df: + $resName = "fadingEdge"; + break; + case 0x10100e0: + $resName = "fadingEdgeLength"; + break; + case 0x10100e1: + $resName = "nextFocusLeft"; + break; + case 0x10100e2: + $resName = "nextFocusRight"; + break; + case 0x10100e3: + $resName = "nextFocusUp"; + break; + case 0x10100e4: + $resName = "nextFocusDown"; + break; + case 0x10100e5: + $resName = "clickable"; + break; + case 0x10100e6: + $resName = "longClickable"; + break; + case 0x10100e7: + $resName = "saveEnabled"; + break; + case 0x10100e8: + $resName = "drawingCacheQuality"; + break; + case 0x10100e9: + $resName = "duplicateParentState"; + break; + case 0x10100ea: + $resName = "clipChildren"; + break; + case 0x10100eb: + $resName = "clipToPadding"; + break; + case 0x10100ec: + $resName = "layoutAnimation"; + break; + case 0x10100ed: + $resName = "animationCache"; + break; + case 0x10100ee: + $resName = "persistentDrawingCache"; + break; + case 0x10100ef: + $resName = "alwaysDrawnWithCache"; + break; + case 0x10100f0: + $resName = "addStatesFromChildren"; + break; + case 0x10100f1: + $resName = "descendantFocusability"; + break; + case 0x10100f2: + $resName = "layout"; + break; + case 0x10100f3: + $resName = "inflatedId"; + break; + case 0x10100f4: + $resName = "layout_width"; + break; + case 0x10100f5: + $resName = "layout_height"; + break; + case 0x10100f6: + $resName = "layout_margin"; + break; + case 0x10100f7: + $resName = "layout_marginLeft"; + break; + case 0x10100f8: + $resName = "layout_marginTop"; + break; + case 0x10100f9: + $resName = "layout_marginRight"; + break; + case 0x10100fa: + $resName = "layout_marginBottom"; + break; + case 0x10100fb: + $resName = "listSelector"; + break; + case 0x10100fc: + $resName = "drawSelectorOnTop"; + break; + case 0x10100fd: + $resName = "stackFromBottom"; + break; + case 0x10100fe: + $resName = "scrollingCache"; + break; + case 0x10100ff: + $resName = "textFilterEnabled"; + break; + case 0x1010100: + $resName = "transcriptMode"; + break; + case 0x1010101: + $resName = "cacheColorHint"; + break; + case 0x1010102: + $resName = "dial"; + break; + case 0x1010103: + $resName = "hand_hour"; + break; + case 0x1010104: + $resName = "hand_minute"; + break; + case 0x1010105: + $resName = "format"; + break; + case 0x1010106: + $resName = "checked"; + break; + case 0x1010107: + $resName = "button"; + break; + case 0x1010108: + $resName = "checkMark"; + break; + case 0x1010109: + $resName = "foreground"; + break; + case 0x101010a: + $resName = "measureAllChildren"; + break; + case 0x101010b: + $resName = "groupIndicator"; + break; + case 0x101010c: + $resName = "childIndicator"; + break; + case 0x101010d: + $resName = "indicatorLeft"; + break; + case 0x101010e: + $resName = "indicatorRight"; + break; + case 0x101010f: + $resName = "childIndicatorLeft"; + break; + case 0x1010110: + $resName = "childIndicatorRight"; + break; + case 0x1010111: + $resName = "childDivider"; + break; + case 0x1010112: + $resName = "animationDuration"; + break; + case 0x1010113: + $resName = "spacing"; + break; + case 0x1010114: + $resName = "horizontalSpacing"; + break; + case 0x1010115: + $resName = "verticalSpacing"; + break; + case 0x1010116: + $resName = "stretchMode"; + break; + case 0x1010117: + $resName = "columnWidth"; + break; + case 0x1010118: + $resName = "numColumns"; + break; + case 0x1010119: + $resName = "src"; + break; + case 0x101011a: + $resName = "antialias"; + break; + case 0x101011b: + $resName = "filter"; + break; + case 0x101011c: + $resName = "dither"; + break; + case 0x101011d: + $resName = "scaleType"; + break; + case 0x101011e: + $resName = "adjustViewBounds"; + break; + case 0x101011f: + $resName = "maxWidth"; + break; + case 0x1010120: + $resName = "maxHeight"; + break; + case 0x1010121: + $resName = "tint"; + break; + case 0x1010122: + $resName = "baselineAlignBottom"; + break; + case 0x1010123: + $resName = "cropToPadding"; + break; + case 0x1010124: + $resName = "textOn"; + break; + case 0x1010125: + $resName = "textOff"; + break; + case 0x1010126: + $resName = "baselineAligned"; + break; + case 0x1010127: + $resName = "baselineAlignedChildIndex"; + break; + case 0x1010128: + $resName = "weightSum"; + break; + case 0x1010129: + $resName = "divider"; + break; + case 0x101012a: + $resName = "dividerHeight"; + break; + case 0x101012b: + $resName = "choiceMode"; + break; + case 0x101012c: + $resName = "itemTextAppearance"; + break; + case 0x101012d: + $resName = "horizontalDivider"; + break; + case 0x101012e: + $resName = "verticalDivider"; + break; + case 0x101012f: + $resName = "headerBackground"; + break; + case 0x1010130: + $resName = "itemBackground"; + break; + case 0x1010131: + $resName = "itemIconDisabledAlpha"; + break; + case 0x1010132: + $resName = "rowHeight"; + break; + case 0x1010133: + $resName = "maxRows"; + break; + case 0x1010134: + $resName = "maxItemsPerRow"; + break; + case 0x1010135: + $resName = "moreIcon"; + break; + case 0x1010136: + $resName = "max"; + break; + case 0x1010137: + $resName = "progress"; + break; + case 0x1010138: + $resName = "secondaryProgress"; + break; + case 0x1010139: + $resName = "indeterminate"; + break; + case 0x101013a: + $resName = "indeterminateOnly"; + break; + case 0x101013b: + $resName = "indeterminateDrawable"; + break; + case 0x101013c: + $resName = "progressDrawable"; + break; + case 0x101013d: + $resName = "indeterminateDuration"; + break; + case 0x101013e: + $resName = "indeterminateBehavior"; + break; + case 0x101013f: + $resName = "minWidth"; + break; + case 0x1010140: + $resName = "minHeight"; + break; + case 0x1010141: + $resName = "interpolator"; + break; + case 0x1010142: + $resName = "thumb"; + break; + case 0x1010143: + $resName = "thumbOffset"; + break; + case 0x1010144: + $resName = "numStars"; + break; + case 0x1010145: + $resName = "rating"; + break; + case 0x1010146: + $resName = "stepSize"; + break; + case 0x1010147: + $resName = "isIndicator"; + break; + case 0x1010148: + $resName = "checkedButton"; + break; + case 0x1010149: + $resName = "stretchColumns"; + break; + case 0x101014a: + $resName = "shrinkColumns"; + break; + case 0x101014b: + $resName = "collapseColumns"; + break; + case 0x101014c: + $resName = "layout_column"; + break; + case 0x101014d: + $resName = "layout_span"; + break; + case 0x101014e: + $resName = "bufferType"; + break; + case 0x101014f: + $resName = "text"; + break; + case 0x1010150: + $resName = "hint"; + break; + case 0x1010151: + $resName = "textScaleX"; + break; + case 0x1010152: + $resName = "cursorVisible"; + break; + case 0x1010153: + $resName = "maxLines"; + break; + case 0x1010154: + $resName = "lines"; + break; + case 0x1010155: + $resName = "height"; + break; + case 0x1010156: + $resName = "minLines"; + break; + case 0x1010157: + $resName = "maxEms"; + break; + case 0x1010158: + $resName = "ems"; + break; + case 0x1010159: + $resName = "width"; + break; + case 0x101015a: + $resName = "minEms"; + break; + case 0x101015b: + $resName = "scrollHorizontally"; + break; + case 0x101015c: + $resName = "field public static final deprecated int password"; + break; + case 0x101015d: + $resName = "field public static final deprecated int singleLine"; + break; + case 0x101015e: + $resName = "selectAllOnFocus"; + break; + case 0x101015f: + $resName = "includeFontPadding"; + break; + case 0x1010160: + $resName = "maxLength"; + break; + case 0x1010161: + $resName = "shadowColor"; + break; + case 0x1010162: + $resName = "shadowDx"; + break; + case 0x1010163: + $resName = "shadowDy"; + break; + case 0x1010164: + $resName = "shadowRadius"; + break; + case 0x1010165: + $resName = "field public static final deprecated int numeric"; + break; + case 0x1010166: + $resName = "digits"; + break; + case 0x1010167: + $resName = "field public static final deprecated int phoneNumber"; + break; + case 0x1010168: + $resName = "field public static final deprecated int inputMethod"; + break; + case 0x1010169: + $resName = "field public static final deprecated int capitalize"; + break; + case 0x101016a: + $resName = "field public static final deprecated int autoText"; + break; + case 0x101016b: + $resName = "field public static final deprecated int editable"; + break; + case 0x101016c: + $resName = "freezesText"; + break; + case 0x101016d: + $resName = "drawableTop"; + break; + case 0x101016e: + $resName = "drawableBottom"; + break; + case 0x101016f: + $resName = "drawableLeft"; + break; + case 0x1010170: + $resName = "drawableRight"; + break; + case 0x1010171: + $resName = "drawablePadding"; + break; + case 0x1010172: + $resName = "completionHint"; + break; + case 0x1010173: + $resName = "completionHintView"; + break; + case 0x1010174: + $resName = "completionThreshold"; + break; + case 0x1010175: + $resName = "dropDownSelector"; + break; + case 0x1010176: + $resName = "popupBackground"; + break; + case 0x1010177: + $resName = "inAnimation"; + break; + case 0x1010178: + $resName = "outAnimation"; + break; + case 0x1010179: + $resName = "flipInterval"; + break; + case 0x101017a: + $resName = "fillViewport"; + break; + case 0x101017b: + $resName = "prompt"; + break; + case 0x101017c: + $resName = "field public static final deprecated int startYear"; + break; + case 0x101017d: + $resName = "field public static final deprecated int endYear"; + break; + case 0x101017e: + $resName = "mode"; + break; + case 0x101017f: + $resName = "layout_x"; + break; + case 0x1010180: + $resName = "layout_y"; + break; + case 0x1010181: + $resName = "layout_weight"; + break; + case 0x1010182: + $resName = "layout_toLeftOf"; + break; + case 0x1010183: + $resName = "layout_toRightOf"; + break; + case 0x1010184: + $resName = "layout_above"; + break; + case 0x1010185: + $resName = "layout_below"; + break; + case 0x1010186: + $resName = "layout_alignBaseline"; + break; + case 0x1010187: + $resName = "layout_alignLeft"; + break; + case 0x1010188: + $resName = "layout_alignTop"; + break; + case 0x1010189: + $resName = "layout_alignRight"; + break; + case 0x101018a: + $resName = "layout_alignBottom"; + break; + case 0x101018b: + $resName = "layout_alignParentLeft"; + break; + case 0x101018c: + $resName = "layout_alignParentTop"; + break; + case 0x101018d: + $resName = "layout_alignParentRight"; + break; + case 0x101018e: + $resName = "layout_alignParentBottom"; + break; + case 0x101018f: + $resName = "layout_centerInParent"; + break; + case 0x1010190: + $resName = "layout_centerHorizontal"; + break; + case 0x1010191: + $resName = "layout_centerVertical"; + break; + case 0x1010192: + $resName = "layout_alignWithParentIfMissing"; + break; + case 0x1010193: + $resName = "layout_scale"; + break; + case 0x1010194: + $resName = "visible"; + break; + case 0x1010195: + $resName = "variablePadding"; + break; + case 0x1010196: + $resName = "constantSize"; + break; + case 0x1010197: + $resName = "oneshot"; + break; + case 0x1010198: + $resName = "duration"; + break; + case 0x1010199: + $resName = "drawable"; + break; + case 0x101019a: + $resName = "shape"; + break; + case 0x101019b: + $resName = "innerRadiusRatio"; + break; + case 0x101019c: + $resName = "thicknessRatio"; + break; + case 0x101019d: + $resName = "startColor"; + break; + case 0x101019e: + $resName = "endColor"; + break; + case 0x101019f: + $resName = "useLevel"; + break; + case 0x10101a0: + $resName = "angle"; + break; + case 0x10101a1: + $resName = "type"; + break; + case 0x10101a2: + $resName = "centerX"; + break; + case 0x10101a3: + $resName = "centerY"; + break; + case 0x10101a4: + $resName = "gradientRadius"; + break; + case 0x10101a5: + $resName = "color"; + break; + case 0x10101a6: + $resName = "dashWidth"; + break; + case 0x10101a7: + $resName = "dashGap"; + break; + case 0x10101a8: + $resName = "radius"; + break; + case 0x10101a9: + $resName = "topLeftRadius"; + break; + case 0x10101aa: + $resName = "topRightRadius"; + break; + case 0x10101ab: + $resName = "bottomLeftRadius"; + break; + case 0x10101ac: + $resName = "bottomRightRadius"; + break; + case 0x10101ad: + $resName = "left"; + break; + case 0x10101ae: + $resName = "top"; + break; + case 0x10101af: + $resName = "right"; + break; + case 0x10101b0: + $resName = "bottom"; + break; + case 0x10101b1: + $resName = "minLevel"; + break; + case 0x10101b2: + $resName = "maxLevel"; + break; + case 0x10101b3: + $resName = "fromDegrees"; + break; + case 0x10101b4: + $resName = "toDegrees"; + break; + case 0x10101b5: + $resName = "pivotX"; + break; + case 0x10101b6: + $resName = "pivotY"; + break; + case 0x10101b7: + $resName = "insetLeft"; + break; + case 0x10101b8: + $resName = "insetRight"; + break; + case 0x10101b9: + $resName = "insetTop"; + break; + case 0x10101ba: + $resName = "insetBottom"; + break; + case 0x10101bb: + $resName = "shareInterpolator"; + break; + case 0x10101bc: + $resName = "fillBefore"; + break; + case 0x10101bd: + $resName = "fillAfter"; + break; + case 0x10101be: + $resName = "startOffset"; + break; + case 0x10101bf: + $resName = "repeatCount"; + break; + case 0x10101c0: + $resName = "repeatMode"; + break; + case 0x10101c1: + $resName = "zAdjustment"; + break; + case 0x10101c2: + $resName = "fromXScale"; + break; + case 0x10101c3: + $resName = "toXScale"; + break; + case 0x10101c4: + $resName = "fromYScale"; + break; + case 0x10101c5: + $resName = "toYScale"; + break; + case 0x10101c6: + $resName = "fromXDelta"; + break; + case 0x10101c7: + $resName = "toXDelta"; + break; + case 0x10101c8: + $resName = "fromYDelta"; + break; + case 0x10101c9: + $resName = "toYDelta"; + break; + case 0x10101ca: + $resName = "fromAlpha"; + break; + case 0x10101cb: + $resName = "toAlpha"; + break; + case 0x10101cc: + $resName = "delay"; + break; + case 0x10101cd: + $resName = "animation"; + break; + case 0x10101ce: + $resName = "animationOrder"; + break; + case 0x10101cf: + $resName = "columnDelay"; + break; + case 0x10101d0: + $resName = "rowDelay"; + break; + case 0x10101d1: + $resName = "direction"; + break; + case 0x10101d2: + $resName = "directionPriority"; + break; + case 0x10101d3: + $resName = "factor"; + break; + case 0x10101d4: + $resName = "cycles"; + break; + case 0x10101d5: + $resName = "searchMode"; + break; + case 0x10101d6: + $resName = "searchSuggestAuthority"; + break; + case 0x10101d7: + $resName = "searchSuggestPath"; + break; + case 0x10101d8: + $resName = "searchSuggestSelection"; + break; + case 0x10101d9: + $resName = "searchSuggestIntentAction"; + break; + case 0x10101da: + $resName = "searchSuggestIntentData"; + break; + case 0x10101db: + $resName = "queryActionMsg"; + break; + case 0x10101dc: + $resName = "suggestActionMsg"; + break; + case 0x10101dd: + $resName = "suggestActionMsgColumn"; + break; + case 0x10101de: + $resName = "menuCategory"; + break; + case 0x10101df: + $resName = "orderInCategory"; + break; + case 0x10101e0: + $resName = "checkableBehavior"; + break; + case 0x10101e1: + $resName = "title"; + break; + case 0x10101e2: + $resName = "titleCondensed"; + break; + case 0x10101e3: + $resName = "alphabeticShortcut"; + break; + case 0x10101e4: + $resName = "numericShortcut"; + break; + case 0x10101e5: + $resName = "checkable"; + break; + case 0x10101e6: + $resName = "selectable"; + break; + case 0x10101e7: + $resName = "orderingFromXml"; + break; + case 0x10101e8: + $resName = "key"; + break; + case 0x10101e9: + $resName = "summary"; + break; + case 0x10101ea: + $resName = "order"; + break; + case 0x10101eb: + $resName = "widgetLayout"; + break; + case 0x10101ec: + $resName = "dependency"; + break; + case 0x10101ed: + $resName = "defaultValue"; + break; + case 0x10101ee: + $resName = "shouldDisableView"; + break; + case 0x10101ef: + $resName = "summaryOn"; + break; + case 0x10101f0: + $resName = "summaryOff"; + break; + case 0x10101f1: + $resName = "disableDependentsState"; + break; + case 0x10101f2: + $resName = "dialogTitle"; + break; + case 0x10101f3: + $resName = "dialogMessage"; + break; + case 0x10101f4: + $resName = "dialogIcon"; + break; + case 0x10101f5: + $resName = "positiveButtonText"; + break; + case 0x10101f6: + $resName = "negativeButtonText"; + break; + case 0x10101f7: + $resName = "dialogLayout"; + break; + case 0x10101f8: + $resName = "entryValues"; + break; + case 0x10101f9: + $resName = "ringtoneType"; + break; + case 0x10101fa: + $resName = "showDefault"; + break; + case 0x10101fb: + $resName = "showSilent"; + break; + case 0x10101fc: + $resName = "scaleWidth"; + break; + case 0x10101fd: + $resName = "scaleHeight"; + break; + case 0x10101fe: + $resName = "scaleGravity"; + break; + case 0x10101ff: + $resName = "ignoreGravity"; + break; + case 0x1010200: + $resName = "foregroundGravity"; + break; + case 0x1010201: + $resName = "tileMode"; + break; + case 0x1010202: + $resName = "targetActivity"; + break; + case 0x1010203: + $resName = "alwaysRetainTaskState"; + break; + case 0x1010204: + $resName = "allowTaskReparenting"; + break; + case 0x1010205: + $resName = "field public static final deprecated int searchButtonText"; + break; + case 0x1010206: + $resName = "colorForegroundInverse"; + break; + case 0x1010207: + $resName = "textAppearanceButton"; + break; + case 0x1010208: + $resName = "listSeparatorTextViewStyle"; + break; + case 0x1010209: + $resName = "streamType"; + break; + case 0x101020a: + $resName = "clipOrientation"; + break; + case 0x101020b: + $resName = "centerColor"; + break; + case 0x101020c: + $resName = "minSdkVersion"; + break; + case 0x101020d: + $resName = "windowFullscreen"; + break; + case 0x101020e: + $resName = "unselectedAlpha"; + break; + case 0x101020f: + $resName = "progressBarStyleSmallTitle"; + break; + case 0x1010210: + $resName = "ratingBarStyleIndicator"; + break; + case 0x1010211: + $resName = "apiKey"; + break; + case 0x1010212: + $resName = "textColorTertiary"; + break; + case 0x1010213: + $resName = "textColorTertiaryInverse"; + break; + case 0x1010214: + $resName = "listDivider"; + break; + case 0x1010215: + $resName = "soundEffectsEnabled"; + break; + case 0x1010216: + $resName = "keepScreenOn"; + break; + case 0x1010217: + $resName = "lineSpacingExtra"; + break; + case 0x1010218: + $resName = "lineSpacingMultiplier"; + break; + case 0x1010219: + $resName = "listChoiceIndicatorSingle"; + break; + case 0x101021a: + $resName = "listChoiceIndicatorMultiple"; + break; + case 0x101021b: + $resName = "versionCode"; + break; + case 0x101021c: + $resName = "versionName"; + break; + case 0x101021d: + $resName = "marqueeRepeatLimit"; + break; + case 0x101021e: + $resName = "windowNoDisplay"; + break; + case 0x101021f: + $resName = "backgroundDimEnabled"; + break; + case 0x1010220: + $resName = "inputType"; + break; + case 0x1010221: + $resName = "isDefault"; + break; + case 0x1010222: + $resName = "windowDisablePreview"; + break; + case 0x1010223: + $resName = "privateImeOptions"; + break; + case 0x1010224: + $resName = "editorExtras"; + break; + case 0x1010225: + $resName = "settingsActivity"; + break; + case 0x1010226: + $resName = "fastScrollEnabled"; + break; + case 0x1010227: + $resName = "reqTouchScreen"; + break; + case 0x1010228: + $resName = "reqKeyboardType"; + break; + case 0x1010229: + $resName = "reqHardKeyboard"; + break; + case 0x101022a: + $resName = "reqNavigation"; + break; + case 0x101022b: + $resName = "windowSoftInputMode"; + break; + case 0x101022c: + $resName = "imeFullscreenBackground"; + break; + case 0x101022d: + $resName = "noHistory"; + break; + case 0x101022e: + $resName = "headerDividersEnabled"; + break; + case 0x101022f: + $resName = "footerDividersEnabled"; + break; + case 0x1010230: + $resName = "candidatesTextStyleSpans"; + break; + case 0x1010231: + $resName = "smoothScrollbar"; + break; + case 0x1010232: + $resName = "reqFiveWayNav"; + break; + case 0x1010233: + $resName = "keyBackground"; + break; + case 0x1010234: + $resName = "keyTextSize"; + break; + case 0x1010235: + $resName = "labelTextSize"; + break; + case 0x1010236: + $resName = "keyTextColor"; + break; + case 0x1010237: + $resName = "keyPreviewLayout"; + break; + case 0x1010238: + $resName = "keyPreviewOffset"; + break; + case 0x1010239: + $resName = "keyPreviewHeight"; + break; + case 0x101023a: + $resName = "verticalCorrection"; + break; + case 0x101023b: + $resName = "popupLayout"; + break; + case 0x101023c: + $resName = "state_long_pressable"; + break; + case 0x101023d: + $resName = "keyWidth"; + break; + case 0x101023e: + $resName = "keyHeight"; + break; + case 0x101023f: + $resName = "horizontalGap"; + break; + case 0x1010240: + $resName = "verticalGap"; + break; + case 0x1010241: + $resName = "rowEdgeFlags"; + break; + case 0x1010242: + $resName = "codes"; + break; + case 0x1010243: + $resName = "popupKeyboard"; + break; + case 0x1010244: + $resName = "popupCharacters"; + break; + case 0x1010245: + $resName = "keyEdgeFlags"; + break; + case 0x1010246: + $resName = "isModifier"; + break; + case 0x1010247: + $resName = "isSticky"; + break; + case 0x1010248: + $resName = "isRepeatable"; + break; + case 0x1010249: + $resName = "iconPreview"; + break; + case 0x101024a: + $resName = "keyOutputText"; + break; + case 0x101024b: + $resName = "keyLabel"; + break; + case 0x101024c: + $resName = "keyIcon"; + break; + case 0x101024d: + $resName = "keyboardMode"; + break; + case 0x101024e: + $resName = "isScrollContainer"; + break; + case 0x101024f: + $resName = "fillEnabled"; + break; + case 0x1010250: + $resName = "updatePeriodMillis"; + break; + case 0x1010251: + $resName = "initialLayout"; + break; + case 0x1010252: + $resName = "voiceSearchMode"; + break; + case 0x1010253: + $resName = "voiceLanguageModel"; + break; + case 0x1010254: + $resName = "voicePromptText"; + break; + case 0x1010255: + $resName = "voiceLanguage"; + break; + case 0x1010256: + $resName = "voiceMaxResults"; + break; + case 0x1010257: + $resName = "bottomOffset"; + break; + case 0x1010258: + $resName = "topOffset"; + break; + case 0x1010259: + $resName = "allowSingleTap"; + break; + case 0x101025a: + $resName = "handle"; + break; + case 0x101025b: + $resName = "content"; + break; + case 0x101025c: + $resName = "animateOnClick"; + break; + case 0x101025d: + $resName = "configure"; + break; + case 0x101025e: + $resName = "hapticFeedbackEnabled"; + break; + case 0x101025f: + $resName = "innerRadius"; + break; + case 0x1010260: + $resName = "thickness"; + break; + case 0x1010261: + $resName = "sharedUserLabel"; + break; + case 0x1010262: + $resName = "dropDownWidth"; + break; + case 0x1010263: + $resName = "dropDownAnchor"; + break; + case 0x1010264: + $resName = "imeOptions"; + break; + case 0x1010265: + $resName = "imeActionLabel"; + break; + case 0x1010266: + $resName = "imeActionId"; + break; + case 0x1010268: + $resName = "imeExtractEnterAnimation"; + break; + case 0x1010269: + $resName = "imeExtractExitAnimation"; + break; + case 0x101026a: + $resName = "tension"; + break; + case 0x101026b: + $resName = "extraTension"; + break; + case 0x101026c: + $resName = "anyDensity"; + break; + case 0x101026d: + $resName = "searchSuggestThreshold"; + break; + case 0x101026e: + $resName = "includeInGlobalSearch"; + break; + case 0x101026f: + $resName = "onClick"; + break; + case 0x1010270: + $resName = "targetSdkVersion"; + break; + case 0x1010271: + $resName = "maxSdkVersion"; + break; + case 0x1010272: + $resName = "testOnly"; + break; + case 0x1010273: + $resName = "contentDescription"; + break; + case 0x1010274: + $resName = "gestureStrokeWidth"; + break; + case 0x1010275: + $resName = "gestureColor"; + break; + case 0x1010276: + $resName = "uncertainGestureColor"; + break; + case 0x1010277: + $resName = "fadeOffset"; + break; + case 0x1010278: + $resName = "fadeDuration"; + break; + case 0x1010279: + $resName = "gestureStrokeType"; + break; + case 0x101027a: + $resName = "gestureStrokeLengthThreshold"; + break; + case 0x101027b: + $resName = "gestureStrokeSquarenessThreshold"; + break; + case 0x101027c: + $resName = "gestureStrokeAngleThreshold"; + break; + case 0x101027d: + $resName = "eventsInterceptionEnabled"; + break; + case 0x101027e: + $resName = "fadeEnabled"; + break; + case 0x101027f: + $resName = "backupAgent"; + break; + case 0x1010280: + $resName = "allowBackup"; + break; + case 0x1010281: + $resName = "glEsVersion"; + break; + case 0x1010282: + $resName = "queryAfterZeroResults"; + break; + case 0x1010283: + $resName = "dropDownHeight"; + break; + case 0x1010284: + $resName = "smallScreens"; + break; + case 0x1010285: + $resName = "normalScreens"; + break; + case 0x1010286: + $resName = "largeScreens"; + break; + case 0x1010287: + $resName = "progressBarStyleInverse"; + break; + case 0x1010288: + $resName = "progressBarStyleSmallInverse"; + break; + case 0x1010289: + $resName = "progressBarStyleLargeInverse"; + break; + case 0x101028a: + $resName = "searchSettingsDescription"; + break; + case 0x101028b: + $resName = "textColorPrimaryInverseDisableOnly"; + break; + case 0x101028c: + $resName = "autoUrlDetect"; + break; + case 0x101028d: + $resName = "resizeable"; + break; + case 0x101028e: + $resName = "required"; + break; + case 0x101028f: + $resName = "accountType"; + break; + case 0x1010290: + $resName = "contentAuthority"; + break; + case 0x1010291: + $resName = "userVisible"; + break; + case 0x1010292: + $resName = "windowShowWallpaper"; + break; + case 0x1010293: + $resName = "wallpaperOpenEnterAnimation"; + break; + case 0x1010294: + $resName = "wallpaperOpenExitAnimation"; + break; + case 0x1010295: + $resName = "wallpaperCloseEnterAnimation"; + break; + case 0x1010296: + $resName = "wallpaperCloseExitAnimation"; + break; + case 0x1010297: + $resName = "wallpaperIntraOpenEnterAnimation"; + break; + case 0x1010298: + $resName = "wallpaperIntraOpenExitAnimation"; + break; + case 0x1010299: + $resName = "wallpaperIntraCloseEnterAnimation"; + break; + case 0x101029a: + $resName = "wallpaperIntraCloseExitAnimation"; + break; + case 0x101029b: + $resName = "supportsUploading"; + break; + case 0x101029c: + $resName = "killAfterRestore"; + break; + case 0x101029d: + $resName = "field public static final deprecated int restoreNeedsApplication"; + break; + case 0x101029e: + $resName = "smallIcon"; + break; + case 0x101029f: + $resName = "accountPreferences"; + break; + case 0x10102a0: + $resName = "textAppearanceSearchResultSubtitle"; + break; + case 0x10102a1: + $resName = "textAppearanceSearchResultTitle"; + break; + case 0x10102a2: + $resName = "summaryColumn"; + break; + case 0x10102a3: + $resName = "detailColumn"; + break; + case 0x10102a4: + $resName = "detailSocialSummary"; + break; + case 0x10102a5: + $resName = "thumbnail"; + break; + case 0x10102a6: + $resName = "detachWallpaper"; + break; + case 0x10102a7: + $resName = "finishOnCloseSystemDialogs"; + break; + case 0x10102a8: + $resName = "scrollbarFadeDuration"; + break; + case 0x10102a9: + $resName = "scrollbarDefaultDelayBeforeFade"; + break; + case 0x10102aa: + $resName = "fadeScrollbars"; + break; + case 0x10102ab: + $resName = "colorBackgroundCacheHint"; + break; + case 0x10102ac: + $resName = "dropDownHorizontalOffset"; + break; + case 0x10102ad: + $resName = "dropDownVerticalOffset"; + break; + case 0x10102ae: + $resName = "quickContactBadgeStyleWindowSmall"; + break; + case 0x10102af: + $resName = "quickContactBadgeStyleWindowMedium"; + break; + case 0x10102b0: + $resName = "quickContactBadgeStyleWindowLarge"; + break; + case 0x10102b1: + $resName = "quickContactBadgeStyleSmallWindowSmall"; + break; + case 0x10102b2: + $resName = "quickContactBadgeStyleSmallWindowMedium"; + break; + case 0x10102b3: + $resName = "quickContactBadgeStyleSmallWindowLarge"; + break; + case 0x10102b4: + $resName = "author"; + break; + case 0x10102b5: + $resName = "autoStart"; + break; + case 0x10102b6: + $resName = "expandableListViewWhiteStyle"; + break; + case 0x10102b7: + $resName = "installLocation"; + break; + case 0x10102b8: + $resName = "vmSafeMode"; + break; + case 0x10102b9: + $resName = "webTextViewStyle"; + break; + case 0x10102ba: + $resName = "restoreAnyVersion"; + break; + case 0x10102bb: + $resName = "tabStripLeft"; + break; + case 0x10102bc: + $resName = "tabStripRight"; + break; + case 0x10102bd: + $resName = "tabStripEnabled"; + break; + case 0x10102be: + $resName = "logo"; + break; + case 0x10102bf: + $resName = "xlargeScreens"; + break; + case 0x10102c0: + $resName = "immersive"; + break; + case 0x10102c1: + $resName = "overScrollMode"; + break; + case 0x10102c2: + $resName = "overScrollHeader"; + break; + case 0x10102c3: + $resName = "overScrollFooter"; + break; + case 0x10102c4: + $resName = "filterTouchesWhenObscured"; + break; + case 0x10102c5: + $resName = "textSelectHandleLeft"; + break; + case 0x10102c6: + $resName = "textSelectHandleRight"; + break; + case 0x10102c7: + $resName = "textSelectHandle"; + break; + case 0x10102c8: + $resName = "textSelectHandleWindowStyle"; + break; + case 0x10102c9: + $resName = "popupAnimationStyle"; + break; + case 0x10102ca: + $resName = "screenSize"; + break; + case 0x10102cb: + $resName = "screenDensity"; + break; + case 0x10102cc: + $resName = "allContactsName"; + break; + case 0x10102cd: + $resName = "windowActionBar"; + break; + case 0x10102ce: + $resName = "actionBarStyle"; + break; + case 0x10102cf: + $resName = "navigationMode"; + break; + case 0x10102d0: + $resName = "displayOptions"; + break; + case 0x10102d1: + $resName = "subtitle"; + break; + case 0x10102d2: + $resName = "customNavigationLayout"; + break; + case 0x10102d3: + $resName = "hardwareAccelerated"; + break; + case 0x10102d4: + $resName = "measureWithLargestChild"; + break; + case 0x10102d5: + $resName = "animateFirstView"; + break; + case 0x10102d6: + $resName = "dropDownSpinnerStyle"; + break; + case 0x10102d7: + $resName = "actionDropDownStyle"; + break; + case 0x10102d8: + $resName = "actionButtonStyle"; + break; + case 0x10102d9: + $resName = "showAsAction"; + break; + case 0x10102da: + $resName = "previewImage"; + break; + case 0x10102db: + $resName = "actionModeBackground"; + break; + case 0x10102dc: + $resName = "actionModeCloseDrawable"; + break; + case 0x10102dd: + $resName = "windowActionModeOverlay"; + break; + case 0x10102de: + $resName = "valueFrom"; + break; + case 0x10102df: + $resName = "valueTo"; + break; + case 0x10102e0: + $resName = "valueType"; + break; + case 0x10102e1: + $resName = "propertyName"; + break; + case 0x10102e2: + $resName = "ordering"; + break; + case 0x10102e3: + $resName = "fragment"; + break; + case 0x10102e4: + $resName = "windowActionBarOverlay"; + break; + case 0x10102e5: + $resName = "fragmentOpenEnterAnimation"; + break; + case 0x10102e6: + $resName = "fragmentOpenExitAnimation"; + break; + case 0x10102e7: + $resName = "fragmentCloseEnterAnimation"; + break; + case 0x10102e8: + $resName = "fragmentCloseExitAnimation"; + break; + case 0x10102e9: + $resName = "fragmentFadeEnterAnimation"; + break; + case 0x10102ea: + $resName = "fragmentFadeExitAnimation"; + break; + case 0x10102eb: + $resName = "actionBarSize"; + break; + case 0x10102ec: + $resName = "imeSubtypeLocale"; + break; + case 0x10102ed: + $resName = "imeSubtypeMode"; + break; + case 0x10102ee: + $resName = "imeSubtypeExtraValue"; + break; + case 0x10102ef: + $resName = "splitMotionEvents"; + break; + case 0x10102f0: + $resName = "listChoiceBackgroundIndicator"; + break; + case 0x10102f1: + $resName = "spinnerMode"; + break; + case 0x10102f2: + $resName = "animateLayoutChanges"; + break; + case 0x10102f3: + $resName = "actionBarTabStyle"; + break; + case 0x10102f4: + $resName = "actionBarTabBarStyle"; + break; + case 0x10102f5: + $resName = "actionBarTabTextStyle"; + break; + case 0x10102f6: + $resName = "actionOverflowButtonStyle"; + break; + case 0x10102f7: + $resName = "actionModeCloseButtonStyle"; + break; + case 0x10102f8: + $resName = "titleTextStyle"; + break; + case 0x10102f9: + $resName = "subtitleTextStyle"; + break; + case 0x10102fa: + $resName = "iconifiedByDefault"; + break; + case 0x10102fb: + $resName = "actionLayout"; + break; + case 0x10102fc: + $resName = "actionViewClass"; + break; + case 0x10102fd: + $resName = "activatedBackgroundIndicator"; + break; + case 0x10102fe: + $resName = "state_activated"; + break; + case 0x10102ff: + $resName = "listPopupWindowStyle"; + break; + case 0x1010300: + $resName = "popupMenuStyle"; + break; + case 0x1010301: + $resName = "textAppearanceLargePopupMenu"; + break; + case 0x1010302: + $resName = "textAppearanceSmallPopupMenu"; + break; + case 0x1010303: + $resName = "breadCrumbTitle"; + break; + case 0x1010304: + $resName = "breadCrumbShortTitle"; + break; + case 0x1010305: + $resName = "listDividerAlertDialog"; + break; + case 0x1010306: + $resName = "textColorAlertDialogListItem"; + break; + case 0x1010307: + $resName = "loopViews"; + break; + case 0x1010308: + $resName = "dialogTheme"; + break; + case 0x1010309: + $resName = "alertDialogTheme"; + break; + case 0x101030a: + $resName = "dividerVertical"; + break; + case 0x101030b: + $resName = "homeAsUpIndicator"; + break; + case 0x101030c: + $resName = "enterFadeDuration"; + break; + case 0x101030d: + $resName = "exitFadeDuration"; + break; + case 0x101030e: + $resName = "selectableItemBackground"; + break; + case 0x101030f: + $resName = "autoAdvanceViewId"; + break; + case 0x1010310: + $resName = "useIntrinsicSizeAsMinimum"; + break; + case 0x1010311: + $resName = "actionModeCutDrawable"; + break; + case 0x1010312: + $resName = "actionModeCopyDrawable"; + break; + case 0x1010313: + $resName = "actionModePasteDrawable"; + break; + case 0x1010314: + $resName = "textEditPasteWindowLayout"; + break; + case 0x1010315: + $resName = "textEditNoPasteWindowLayout"; + break; + case 0x1010316: + $resName = "textIsSelectable"; + break; + case 0x1010317: + $resName = "windowEnableSplitTouch"; + break; + case 0x1010318: + $resName = "indeterminateProgressStyle"; + break; + case 0x1010319: + $resName = "progressBarPadding"; + break; + case 0x101031a: + $resName = "field public static final deprecated int animationResolution"; + break; + case 0x101031b: + $resName = "state_accelerated"; + break; + case 0x101031c: + $resName = "baseline"; + break; + case 0x101031d: + $resName = "homeLayout"; + break; + case 0x101031e: + $resName = "opacity"; + break; + case 0x101031f: + $resName = "alpha"; + break; + case 0x1010320: + $resName = "transformPivotX"; + break; + case 0x1010321: + $resName = "transformPivotY"; + break; + case 0x1010322: + $resName = "translationX"; + break; + case 0x1010323: + $resName = "translationY"; + break; + case 0x1010324: + $resName = "scaleX"; + break; + case 0x1010325: + $resName = "scaleY"; + break; + case 0x1010326: + $resName = "rotation"; + break; + case 0x1010327: + $resName = "rotationX"; + break; + case 0x1010328: + $resName = "rotationY"; + break; + case 0x1010329: + $resName = "showDividers"; + break; + case 0x101032a: + $resName = "dividerPadding"; + break; + case 0x101032b: + $resName = "borderlessButtonStyle"; + break; + case 0x101032c: + $resName = "dividerHorizontal"; + break; + case 0x101032d: + $resName = "itemPadding"; + break; + case 0x101032e: + $resName = "buttonBarStyle"; + break; + case 0x101032f: + $resName = "buttonBarButtonStyle"; + break; + case 0x1010330: + $resName = "segmentedButtonStyle"; + break; + case 0x1010331: + $resName = "staticWallpaperPreview"; + break; + case 0x1010332: + $resName = "allowParallelSyncs"; + break; + case 0x1010333: + $resName = "isAlwaysSyncable"; + break; + case 0x1010334: + $resName = "verticalScrollbarPosition"; + break; + case 0x1010335: + $resName = "fastScrollAlwaysVisible"; + break; + case 0x1010336: + $resName = "fastScrollThumbDrawable"; + break; + case 0x1010337: + $resName = "fastScrollPreviewBackgroundLeft"; + break; + case 0x1010338: + $resName = "fastScrollPreviewBackgroundRight"; + break; + case 0x1010339: + $resName = "fastScrollTrackDrawable"; + break; + case 0x101033a: + $resName = "fastScrollOverlayPosition"; + break; + case 0x101033b: + $resName = "customTokens"; + break; + case 0x101033c: + $resName = "nextFocusForward"; + break; + case 0x101033d: + $resName = "firstDayOfWeek"; + break; + case 0x101033e: + $resName = "showWeekNumber"; + break; + case 0x101033f: + $resName = "minDate"; + break; + case 0x1010340: + $resName = "maxDate"; + break; + case 0x1010341: + $resName = "shownWeekCount"; + break; + case 0x1010342: + $resName = "selectedWeekBackgroundColor"; + break; + case 0x1010343: + $resName = "focusedMonthDateColor"; + break; + case 0x1010344: + $resName = "unfocusedMonthDateColor"; + break; + case 0x1010345: + $resName = "weekNumberColor"; + break; + case 0x1010346: + $resName = "weekSeparatorLineColor"; + break; + case 0x1010347: + $resName = "selectedDateVerticalBar"; + break; + case 0x1010348: + $resName = "weekDayTextAppearance"; + break; + case 0x1010349: + $resName = "dateTextAppearance"; + break; + case 0x101034b: + $resName = "spinnersShown"; + break; + case 0x101034c: + $resName = "calendarViewShown"; + break; + case 0x101034d: + $resName = "state_multiline"; + break; + case 0x101034e: + $resName = "detailsElementBackground"; + break; + case 0x101034f: + $resName = "textColorHighlightInverse"; + break; + case 0x1010350: + $resName = "textColorLinkInverse"; + break; + case 0x1010351: + $resName = "editTextColor"; + break; + case 0x1010352: + $resName = "editTextBackground"; + break; + case 0x1010353: + $resName = "horizontalScrollViewStyle"; + break; + case 0x1010354: + $resName = "layerType"; + break; + case 0x1010355: + $resName = "alertDialogIcon"; + break; + case 0x1010356: + $resName = "windowMinWidthMajor"; + break; + case 0x1010357: + $resName = "windowMinWidthMinor"; + break; + case 0x1010358: + $resName = "queryHint"; + break; + case 0x1010359: + $resName = "fastScrollTextColor"; + break; + case 0x101035a: + $resName = "largeHeap"; + break; + case 0x101035b: + $resName = "windowCloseOnTouchOutside"; + break; + case 0x101035c: + $resName = "datePickerStyle"; + break; + case 0x101035d: + $resName = "calendarViewStyle"; + break; + case 0x101035e: + $resName = "textEditSidePasteWindowLayout"; + break; + case 0x101035f: + $resName = "textEditSideNoPasteWindowLayout"; + break; + case 0x1010360: + $resName = "actionMenuTextAppearance"; + break; + case 0x1010361: + $resName = "actionMenuTextColor"; + break; + case 0x1010362: + $resName = "textCursorDrawable"; + break; + case 0x1010363: + $resName = "resizeMode"; + break; + case 0x1010364: + $resName = "requiresSmallestWidthDp"; + break; + case 0x1010365: + $resName = "compatibleWidthLimitDp"; + break; + case 0x1010366: + $resName = "largestWidthLimitDp"; + break; + case 0x1010367: + $resName = "state_hovered"; + break; + case 0x1010368: + $resName = "state_drag_can_accept"; + break; + case 0x1010369: + $resName = "state_drag_hovered"; + break; + case 0x101036a: + $resName = "stopWithTask"; + break; + case 0x101036b: + $resName = "switchTextOn"; + break; + case 0x101036c: + $resName = "switchTextOff"; + break; + case 0x101036d: + $resName = "switchPreferenceStyle"; + break; + case 0x101036e: + $resName = "switchTextAppearance"; + break; + case 0x101036f: + $resName = "track"; + break; + case 0x1010370: + $resName = "switchMinWidth"; + break; + case 0x1010371: + $resName = "switchPadding"; + break; + case 0x1010372: + $resName = "thumbTextPadding"; + break; + case 0x1010373: + $resName = "textSuggestionsWindowStyle"; + break; + case 0x1010374: + $resName = "textEditSuggestionItemLayout"; + break; + case 0x1010375: + $resName = "rowCount"; + break; + case 0x1010376: + $resName = "rowOrderPreserved"; + break; + case 0x1010377: + $resName = "columnCount"; + break; + case 0x1010378: + $resName = "columnOrderPreserved"; + break; + case 0x1010379: + $resName = "useDefaultMargins"; + break; + case 0x101037a: + $resName = "alignmentMode"; + break; + case 0x101037b: + $resName = "layout_row"; + break; + case 0x101037c: + $resName = "layout_rowSpan"; + break; + case 0x101037d: + $resName = "layout_columnSpan"; + break; + case 0x101037e: + $resName = "actionModeSelectAllDrawable"; + break; + case 0x101037f: + $resName = "isAuxiliary"; + break; + case 0x1010380: + $resName = "accessibilityEventTypes"; + break; + case 0x1010381: + $resName = "packageNames"; + break; + case 0x1010382: + $resName = "accessibilityFeedbackType"; + break; + case 0x1010383: + $resName = "notificationTimeout"; + break; + case 0x1010384: + $resName = "accessibilityFlags"; + break; + case 0x1010385: + $resName = "canRetrieveWindowContent"; + break; + case 0x1010386: + $resName = "listPreferredItemHeightLarge"; + break; + case 0x1010387: + $resName = "listPreferredItemHeightSmall"; + break; + case 0x1010388: + $resName = "actionBarSplitStyle"; + break; + case 0x1010389: + $resName = "actionProviderClass"; + break; + case 0x101038a: + $resName = "backgroundStacked"; + break; + case 0x101038b: + $resName = "backgroundSplit"; + break; + case 0x101038c: + $resName = "textAllCaps"; + break; + case 0x101038d: + $resName = "colorPressedHighlight"; + break; + case 0x101038e: + $resName = "colorLongPressedHighlight"; + break; + case 0x101038f: + $resName = "colorFocusedHighlight"; + break; + case 0x1010390: + $resName = "colorActivatedHighlight"; + break; + case 0x1010391: + $resName = "colorMultiSelectHighlight"; + break; + case 0x1010392: + $resName = "drawableStart"; + break; + case 0x1010393: + $resName = "drawableEnd"; + break; + case 0x1010394: + $resName = "actionModeStyle"; + break; + case 0x1010395: + $resName = "minResizeWidth"; + break; + case 0x1010396: + $resName = "minResizeHeight"; + break; + case 0x1010397: + $resName = "actionBarWidgetTheme"; + break; + case 0x1010398: + $resName = "uiOptions"; + break; + case 0x1010399: + $resName = "subtypeLocale"; + break; + case 0x101039a: + $resName = "subtypeExtraValue"; + break; + case 0x101039b: + $resName = "actionBarDivider"; + break; + case 0x101039c: + $resName = "actionBarItemBackground"; + break; + case 0x101039d: + $resName = "actionModeSplitBackground"; + break; + case 0x101039e: + $resName = "textAppearanceListItem"; + break; + case 0x101039f: + $resName = "textAppearanceListItemSmall"; + break; + case 0x10103a0: + $resName = "targetDescriptions"; + break; + case 0x10103a1: + $resName = "directionDescriptions"; + break; + case 0x10103a2: + $resName = "overridesImplicitlyEnabledSubtype"; + break; + case 0x10103a3: + $resName = "listPreferredItemPaddingLeft"; + break; + case 0x10103a4: + $resName = "listPreferredItemPaddingRight"; + break; + case 0x10103a5: + $resName = "requiresFadingEdge"; + break; + case 0x10103a6: + $resName = "publicKey"; + break; + case 0x10103a7: + $resName = "parentActivityName"; + break; + case 0x10103a9: + $resName = "isolatedProcess"; + break; + case 0x10103aa: + $resName = "importantForAccessibility"; + break; + case 0x10103ab: + $resName = "keyboardLayout"; + break; + case 0x10103ac: + $resName = "fontFamily"; + break; + case 0x10103ad: + $resName = "mediaRouteButtonStyle"; + break; + case 0x10103ae: + $resName = "mediaRouteTypes"; + break; + case 0x10103af: + $resName = "supportsRtl"; + break; + case 0x10103b0: + $resName = "textDirection"; + break; + case 0x10103b1: + $resName = "textAlignment"; + break; + case 0x10103b2: + $resName = "layoutDirection"; + break; + case 0x10103b3: + $resName = "paddingStart"; + break; + case 0x10103b4: + $resName = "paddingEnd"; + break; + case 0x10103b5: + $resName = "layout_marginStart"; + break; + case 0x10103b6: + $resName = "layout_marginEnd"; + break; + case 0x10103b7: + $resName = "layout_toStartOf"; + break; + case 0x10103b8: + $resName = "layout_toEndOf"; + break; + case 0x10103b9: + $resName = "layout_alignStart"; + break; + case 0x10103ba: + $resName = "layout_alignEnd"; + break; + case 0x10103bb: + $resName = "layout_alignParentStart"; + break; + case 0x10103bc: + $resName = "layout_alignParentEnd"; + break; + case 0x10103bd: + $resName = "listPreferredItemPaddingStart"; + break; + case 0x10103be: + $resName = "listPreferredItemPaddingEnd"; + break; + case 0x10103bf: + $resName = "singleUser"; + break; + case 0x10103c0: + $resName = "presentationTheme"; + break; + case 0x10103c1: + $resName = "subtypeId"; + break; + case 0x10103c2: + $resName = "initialKeyguardLayout"; + break; + case 0x10103c4: + $resName = "widgetCategory"; + break; + case 0x10103c5: + $resName = "permissionGroupFlags"; + break; + case 0x10103c6: + $resName = "labelFor"; + break; + case 0x10103c7: + $resName = "permissionFlags"; + break; + case 0x10103c8: + $resName = "checkedTextViewStyle"; + break; + case 0x10103c9: + $resName = "showOnLockScreen"; + break; + case 0x10103ca: + $resName = "format12Hour"; + break; + case 0x10103cb: + $resName = "format24Hour"; + break; + case 0x10103cc: + $resName = "timeZone"; + break; + default: + $resName = "0x" . dechex($id); } return $resName; }