d223db316d
This change adds a special flag when binding to a service to request instant apps to be considered as well (assuming the caller has the permission to see instant apps). This flag is scoped only for the platform to use and is intended only for development and testing. Specifically, we have a class of CTS tests that has tests plus service in the same APK (accessibility, printing, autofill, any other plugin based sub-system). Instead of doing the tediuous work split all these into one APK with tests and one with the services where the latter exposes a remote interface to the former, we will be adding shell commands to the dedicated sub-system to allow temporary binding to plugins provided by instant apps. The goal is not validating the plugin behavious, rather a working plugin is required to test app side funcionality. This change adds a shell command to allow the a11y manager serivce to bind to plugins provided by instant apps. This is required to be able to run relevant CTS test cases in instant mode. Test: cts-tradefed run cts-dev -m CtsAccessibilityTestCases cts-tradefed run cts-dev -m CtsAccessibilityServiceTestCases Bug: 70978575 Change-Id: Ifced735a9a6e495747372dd8b00fdd64933a09c7
191 lines
11 KiB
XML
191 lines
11 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!--
|
|
/*
|
|
* Copyright (C) 2015 The Android Open Source Project
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
-->
|
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
|
package="com.android.shell"
|
|
coreApp="true"
|
|
android:sharedUserId="android.uid.shell"
|
|
>
|
|
|
|
<!-- Standard permissions granted to the shell. -->
|
|
<uses-permission android:name="android.permission.SEND_SMS" />
|
|
<uses-permission android:name="android.permission.CALL_PHONE" />
|
|
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
|
|
<uses-permission android:name="android.permission.READ_CONTACTS" />
|
|
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
|
|
<uses-permission android:name="android.permission.READ_CALENDAR" />
|
|
<uses-permission android:name="android.permission.WRITE_CALENDAR" />
|
|
<uses-permission android:name="android.permission.READ_USER_DICTIONARY" />
|
|
<uses-permission android:name="android.permission.WRITE_USER_DICTIONARY" />
|
|
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
|
|
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
|
|
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
|
|
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
|
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
|
|
<uses-permission android:name="android.permission.BLUETOOTH" />
|
|
<uses-permission android:name="android.permission.LOCAL_MAC_ADDRESS" />
|
|
<uses-permission android:name="android.permission.EXPAND_STATUS_BAR" />
|
|
<uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
|
|
<uses-permission android:name="android.permission.MANAGE_NETWORK_POLICY" />
|
|
<uses-permission android:name="android.permission.MANAGE_USB" />
|
|
<!-- System tool permissions granted to the shell. -->
|
|
<uses-permission android:name="android.permission.REAL_GET_TASKS" />
|
|
<uses-permission android:name="android.permission.CHANGE_CONFIGURATION" />
|
|
<uses-permission android:name="android.permission.REORDER_TASKS" />
|
|
<uses-permission android:name="android.permission.SET_ANIMATION_SCALE" />
|
|
<uses-permission android:name="android.permission.SET_PREFERRED_APPLICATIONS" />
|
|
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
|
|
<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />
|
|
<uses-permission android:name="android.permission.BROADCAST_STICKY" />
|
|
<!-- Development tool permissions granted to the shell. -->
|
|
<uses-permission android:name="android.permission.SET_DEBUG_APP" />
|
|
<uses-permission android:name="android.permission.SET_PROCESS_LIMIT" />
|
|
<uses-permission android:name="android.permission.SET_ALWAYS_FINISH" />
|
|
<uses-permission android:name="android.permission.DUMP" />
|
|
<uses-permission android:name="android.permission.SIGNAL_PERSISTENT_PROCESSES" />
|
|
<uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES" />
|
|
<!-- Internal permissions granted to the shell. -->
|
|
<uses-permission android:name="android.permission.FORCE_BACK" />
|
|
<uses-permission android:name="android.permission.BATTERY_STATS" />
|
|
<uses-permission android:name="android.permission.PACKAGE_USAGE_STATS" />
|
|
<uses-permission android:name="android.permission.INTERNAL_SYSTEM_WINDOW" />
|
|
<uses-permission android:name="android.permission.INJECT_EVENTS" />
|
|
<uses-permission android:name="android.permission.RETRIEVE_WINDOW_CONTENT" />
|
|
<uses-permission android:name="android.permission.SET_ACTIVITY_WATCHER" />
|
|
<uses-permission android:name="android.permission.READ_INPUT_STATE" />
|
|
<uses-permission android:name="android.permission.SET_ORIENTATION" />
|
|
<uses-permission android:name="android.permission.INSTALL_PACKAGES" />
|
|
<uses-permission android:name="android.permission.MOVE_PACKAGE" />
|
|
<uses-permission android:name="android.permission.CLEAR_APP_USER_DATA" />
|
|
<uses-permission android:name="android.permission.CLEAR_APP_CACHE" />
|
|
<uses-permission android:name="android.permission.DELETE_CACHE_FILES" />
|
|
<uses-permission android:name="android.permission.DELETE_PACKAGES" />
|
|
<uses-permission android:name="android.permission.ACCESS_SURFACE_FLINGER" />
|
|
<uses-permission android:name="android.permission.READ_FRAME_BUFFER" />
|
|
<uses-permission android:name="android.permission.DEVICE_POWER" />
|
|
<uses-permission android:name="android.permission.INSTALL_LOCATION_PROVIDER" />
|
|
<uses-permission android:name="android.permission.BACKUP" />
|
|
<uses-permission android:name="android.permission.FORCE_STOP_PACKAGES" />
|
|
<uses-permission android:name="android.permission.STOP_APP_SWITCHES" />
|
|
<uses-permission android:name="android.permission.ACCESS_CONTENT_PROVIDERS_EXTERNALLY" />
|
|
<uses-permission android:name="android.permission.GRANT_RUNTIME_PERMISSIONS" />
|
|
<uses-permission android:name="android.permission.REVOKE_RUNTIME_PERMISSIONS" />
|
|
<uses-permission android:name="android.permission.INSTALL_GRANT_RUNTIME_PERMISSIONS" />
|
|
<uses-permission android:name="android.permission.SET_KEYBOARD_LAYOUT" />
|
|
<uses-permission android:name="android.permission.GET_DETAILED_TASKS" />
|
|
<uses-permission android:name="android.permission.SET_SCREEN_COMPATIBILITY" />
|
|
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
|
|
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
|
|
<uses-permission android:name="android.permission.WRITE_MEDIA_STORAGE" />
|
|
<uses-permission android:name="android.permission.INTERACT_ACROSS_USERS" />
|
|
<uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" />
|
|
<uses-permission android:name="android.permission.CREATE_USERS" />
|
|
<uses-permission android:name="android.permission.MANAGE_DEVICE_ADMINS" />
|
|
<uses-permission android:name="android.permission.ACCESS_LOWPAN_STATE"/>
|
|
<uses-permission android:name="android.permission.CHANGE_LOWPAN_STATE"/>
|
|
<uses-permission android:name="android.permission.READ_LOWPAN_CREDENTIAL"/>
|
|
<uses-permission android:name="android.permission.BLUETOOTH_STACK" />
|
|
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
|
|
<uses-permission android:name="android.permission.RETRIEVE_WINDOW_TOKEN" />
|
|
<uses-permission android:name="android.permission.FRAME_STATS" />
|
|
<uses-permission android:name="android.permission.BIND_APPWIDGET" />
|
|
<uses-permission android:name="android.permission.UPDATE_APP_OPS_STATS" />
|
|
<uses-permission android:name="android.permission.MODIFY_APPWIDGET_BIND_PERMISSIONS"/>
|
|
<uses-permission android:name="android.permission.INSTALL_GRANT_RUNTIME_PERMISSIONS" />
|
|
<uses-permission android:name="android.permission.CHANGE_APP_IDLE_STATE" />
|
|
<uses-permission android:name="android.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST" />
|
|
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
|
|
<uses-permission android:name="android.permission.MOUNT_FORMAT_FILESYSTEMS" />
|
|
<uses-permission android:name="android.permission.MODIFY_PHONE_STATE" />
|
|
<uses-permission android:name="android.permission.REGISTER_CALL_PROVIDER" />
|
|
<uses-permission android:name="android.permission.REGISTER_CONNECTION_MANAGER" />
|
|
<uses-permission android:name="android.permission.REGISTER_SIM_SUBSCRIPTION" />
|
|
<uses-permission android:name="android.permission.GET_APP_OPS_STATS" />
|
|
<uses-permission android:name="android.permission.VIBRATE" />
|
|
<uses-permission android:name="android.permission.MANAGE_ACTIVITY_STACKS" />
|
|
<uses-permission android:name="android.permission.ACTIVITY_EMBEDDING" />
|
|
<uses-permission android:name="android.permission.CONNECTIVITY_INTERNAL" />
|
|
<uses-permission android:name="android.permission.CHANGE_COMPONENT_ENABLED_STATE" />
|
|
<uses-permission android:name="android.permission.MANAGE_AUTO_FILL" />
|
|
<uses-permission android:name="android.permission.NETWORK_SETTINGS" />
|
|
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
|
|
<!-- Permission needed to rename bugreport notifications (so they're not shown as Shell) -->
|
|
<uses-permission android:name="android.permission.SUBSTITUTE_NOTIFICATION_APP_NAME" />
|
|
<!-- Permission needed to hold a wakelock in dumpstate.cpp (drop_root_user()) -->
|
|
<uses-permission android:name="android.permission.WAKE_LOCK" />
|
|
<!-- Permission needed to enable/disable overlays -->
|
|
<uses-permission android:name="android.permission.CHANGE_OVERLAY_PACKAGES" />
|
|
<!-- Permission needed to access privileged VR APIs -->
|
|
<uses-permission android:name="android.permission.RESTRICTED_VR_ACCESS" />
|
|
<uses-permission android:name="android.permission.MANAGE_BIND_INSTANT_SERVICE" />
|
|
|
|
<application android:label="@string/app_label"
|
|
android:defaultToDeviceProtectedStorage="true"
|
|
android:directBootAware="true">
|
|
<provider
|
|
android:name="android.support.v4.content.FileProvider"
|
|
android:authorities="com.android.shell"
|
|
android:grantUriPermissions="true"
|
|
android:exported="false">
|
|
<meta-data
|
|
android:name="android.support.FILE_PROVIDER_PATHS"
|
|
android:resource="@xml/file_provider_paths" />
|
|
</provider>
|
|
|
|
<provider
|
|
android:name=".BugreportStorageProvider"
|
|
android:authorities="com.android.shell.documents"
|
|
android:grantUriPermissions="true"
|
|
android:exported="true"
|
|
android:permission="android.permission.MANAGE_DOCUMENTS"
|
|
android:enabled="false">
|
|
<intent-filter>
|
|
<action android:name="android.content.action.DOCUMENTS_PROVIDER" />
|
|
</intent-filter>
|
|
</provider>
|
|
|
|
<activity
|
|
android:name=".BugreportWarningActivity"
|
|
android:theme="@android:style/Theme.DeviceDefault.Light.Dialog.Alert"
|
|
android:finishOnCloseSystemDialogs="true"
|
|
android:excludeFromRecents="true"
|
|
android:exported="false" />
|
|
|
|
<receiver
|
|
android:name=".BugreportReceiver"
|
|
android:permission="android.permission.DUMP">
|
|
<intent-filter>
|
|
<action android:name="com.android.internal.intent.action.BUGREPORT_STARTED" />
|
|
<action android:name="com.android.internal.intent.action.BUGREPORT_FINISHED" />
|
|
</intent-filter>
|
|
</receiver>
|
|
|
|
<receiver
|
|
android:name=".RemoteBugreportReceiver"
|
|
android:permission="android.permission.DUMP">
|
|
<intent-filter>
|
|
<action android:name="com.android.internal.intent.action.REMOTE_BUGREPORT_FINISHED" />
|
|
</intent-filter>
|
|
</receiver>
|
|
|
|
<service
|
|
android:name=".BugreportProgressService"
|
|
android:exported="false"/>
|
|
</application>
|
|
</manifest>
|