diff --git a/doc/emacs/android.texi b/doc/emacs/android.texi index 0ea96d91492..a45ec84f3f0 100644 --- a/doc/emacs/android.texi +++ b/doc/emacs/android.texi @@ -474,33 +474,200 @@ version of Android being used: @itemize @bullet @item Under more or less recent releases of Android, such as Android 6.0 and -later, Emacs only receives the following permissions upon -installation: +later, Emacs only receives the following permissions upon installation, +subject to the presence or absence of individual permissions in the +version of Android installed: @itemize @minus @item -@code{android.permission.VIBRATE} +@code{android.permission.ACCESS_ADSERVICES_AD_ID} +@item +@code{android.permission.ACCESS_ADSERVICES_ATTRIBUTION} +@item +@code{android.permission.ACCESS_ADSERVICES_CUSTOM_AUDIENCE} +@item +@code{android.permission.ACCESS_ADSERVICES_TOPICS} +@item +@code{android.permission.ACCESS_LOCATION_EXTRA_COMMANDS} @item @code{android.permission.ACCESS_NETWORK_STATE} @item -@code{android.permission.INTERNET} +@code{android.permission.ACCESS_NOTIFICATION_POLICY} @item -@code{android.permission.SET_WALLPAPER} +@code{android.permission.ACCESS_WIFI_STATE} @item -@code{android.permission.NFC} +@code{android.permission.AUTHENTICATE_ACCOUNTS} @item -@code{android.permission.TRANSMIT_IR} +@code{android.permission.BLUETOOTH} @item -@code{android.permission.WAKE_LOCK} +@code{android.permission.BLUETOOTH_ADMIN} +@item +@code{android.permission.BROADCAST_STICKY} +@item +@code{android.permission.CALL_COMPANION_APP} +@item +@code{android.permission.CHANGE_NETWORK_STATE} +@item +@code{android.permission.CHANGE_WIFI_MULTICAST_STATE} +@item +@code{android.permission.CHANGE_WIFI_STATE} +@item +@code{android.permission.CREDENTIAL_MANAGER_QUERY_CANDIDATE_CREDENTIALS} +@item +@code{android.permission.CREDENTIAL_MANAGER_SET_ALLOWED_PROVIDERS} +@item +@code{android.permission.CREDENTIAL_MANAGER_SET_ORIGIN} +@item +@code{android.permission.DELIVER_COMPANION_MESSAGES} +@item +@code{android.permission.DETECT_SCREEN_CAPTURE} +@item +@code{android.permission.DISABLE_KEYGUARD} +@item +@code{android.permission.ENFORCE_UPDATE_OWNERSHIP} +@item +@code{android.permission.EXPAND_STATUS_BAR} +@item +@code{android.permission.FLASHLIGHT} @item @code{android.permission.FOREGROUND_SERVICE} @item +@code{android.permission.FOREGROUND_SERVICE_CAMERA} +@item +@code{android.permission.FOREGROUND_SERVICE_CONNECTED_DEVICE} +@item +@code{android.permission.FOREGROUND_SERVICE_DATA_SYNC} +@item +@code{android.permission.FOREGROUND_SERVICE_FILE_MANAGEMENT} +@item +@code{android.permission.FOREGROUND_SERVICE_HEALTH} +@item +@code{android.permission.FOREGROUND_SERVICE_LOCATION} +@item +@code{android.permission.FOREGROUND_SERVICE_MEDIA_PLAYBACK} +@item +@code{android.permission.FOREGROUND_SERVICE_MEDIA_PROJECTION} +@item +@code{android.permission.FOREGROUND_SERVICE_MICROPHONE} +@item +@code{android.permission.FOREGROUND_SERVICE_PHONE_CALL} +@item +@code{android.permission.FOREGROUND_SERVICE_REMOTE_MESSAGING} +@item @code{android.permission.FOREGROUND_SERVICE_SPECIAL_USE} +@item +@code{android.permission.FOREGROUND_SERVICE_SYSTEM_EXEMPTED} +@item +@code{android.permission.GET_PACKAGE_SIZE} +@item +@code{android.permission.GET_TASKS} +@item +@code{android.permission.HIDE_OVERLAY_WINDOWS} +@item +@code{android.permission.HIGH_SAMPLING_RATE_SENSORS} +@item +@code{android.permission.INTERNET} +@item +@code{android.permission.KILL_BACKGROUND_PROCESSES} +@item +@code{android.permission.MANAGE_ACCOUNTS} +@item +@code{android.permission.MANAGE_OWN_CALLS} +@item +@code{android.permission.MODIFY_AUDIO_SETTINGS} +@item +@code{android.permission.NFC} +@item +@code{android.permission.NFC_PREFERRED_PAYMENT_INFO} +@item +@code{android.permission.NFC_TRANSACTION_EVENT} +@item +@code{android.permission.PERSISTENT_ACTIVITY} +@item +@code{android.permission.QUERY_ALL_PACKAGES} +@item +@code{android.permission.READ_BASIC_PHONE_STATE} +@item +@code{android.permission.READ_INSTALL_SESSIONS} +@item +@code{android.permission.READ_NEARBY_STREAMING_POLICY} +@item +@code{android.permission.READ_PROFILE} +@item +@code{android.permission.READ_SOCIAL_STREAM} +@item +@code{android.permission.READ_SYNC_SETTINGS} +@item +@code{android.permission.READ_SYNC_STATS} +@item +@code{android.permission.READ_USER_DICTIONARY} +@item +@code{android.permission.RECEIVE_BOOT_COMPLETED} +@item +@code{android.permission.REORDER_TASKS} +@item +@code{android.permission.REQUEST_COMPANION_PROFILE_GLASSES} +@item +@code{android.permission.REQUEST_COMPANION_PROFILE_WATCH} +@item +@code{android.permission.REQUEST_COMPANION_RUN_IN_BACKGROUND} +@item +@code{android.permission.REQUEST_COMPANION_START_FOREGROUND_SERVICES_FROM_BACKGROUND} +@item +@code{android.permission.REQUEST_COMPANION_USE_DATA_IN_BACKGROUND} +@item +@code{android.permission.REQUEST_DELETE_PACKAGES} +@item +@code{android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS} +@item +@code{android.permission.REQUEST_OBSERVE_COMPANION_DEVICE_PRESENCE} +@item +@code{android.permission.REQUEST_PASSWORD_COMPLEXITY} +@item +@code{android.permission.RESTART_PACKAGES} +@item +@code{android.permission.RUN_USER_INITIATED_JOBS} +@item +@code{android.permission.SET_WALLPAPER} +@item +@code{android.permission.SET_WALLPAPER_HINTS} +@item +@code{android.permission.SUBSCRIBED_FEEDS_READ} +@item +@code{android.permission.SUBSCRIBED_FEEDS_WRITE} +@item +@code{android.permission.TRANSMIT_IR} +@item +@code{android.permission.UPDATE_PACKAGES_WITHOUT_USER_ACTION} +@item +@code{android.permission.USE_BIOMETRIC} +@item +@code{android.permission.USE_CREDENTIALS} +@item +@code{android.permission.USE_EXACT_ALARM} +@item +@code{android.permission.USE_FINGERPRINT} +@item +@code{android.permission.USE_FULL_SCREEN_INTENT} +@item +@code{android.permission.VIBRATE} +@item +@code{android.permission.WAKE_LOCK} +@item +@code{android.permission.WRITE_PROFILE} +@item +@code{android.permission.WRITE_SMS} +@item +@code{android.permission.WRITE_SOCIAL_STREAM} +@item +@code{android.permission.WRITE_SYNC_SETTINGS} +@item +@code{android.permission.WRITE_USER_DICTIONARY} @end itemize -Other permissions must be granted by the user through the system -settings application. Consult the manufacturer of your device for -more details, as how to do this varies by device. +Other permissions must be granted by the user from the system settings +application. Consult the manufacturer of your device for more details, +as how to do this varies by device. @item On Android 5.1 and earlier, Emacs automatically receives the following @@ -508,59 +675,139 @@ permissions it has requested upon being installed: @itemize @minus @item -@code{android.permission.READ_CONTACTS} -@item -@code{android.permission.WRITE_CONTACTS} -@item -@code{android.permission.VIBRATE} -@item @code{android.permission.ACCESS_COARSE_LOCATION} @item -@code{android.permission.ACCESS_NETWORK_STATE} +@code{android.permission.ACCESS_FINE_LOCATION} @item -@code{android.permission.INTERNET} +@code{android.permission.BODY_SENSORS} @item -@code{android.permission.SET_WALLPAPER} -@item -@code{android.permission.READ_CALENDAR} -@item -@code{android.permission.WRITE_CALENDAR} -@item -@code{android.permission.READ_EXTERNAL_STORAGE} -@item -@code{android.permission.WRITE_EXTERNAL_STORAGE} -@item -@code{android.permission.SEND_SMS} -@item -@code{android.permission.RECEIVE_SMS} -@item -@code{android.permission.RECEIVE_MMS} -@item -@code{android.permission.WRITE_SMS} -@item -@code{android.permission.READ_SMS} -@item -@code{android.permission.NFC} -@item -@code{android.permission.TRANSMIT_IR} -@item -@code{android.permission.READ_PHONE_STATE} -@item -@code{android.permission.WAKE_LOCK} -@item -@code{android.permission.FOREGROUND_SEVICE} -@item -@code{android.permission.REQUEST_INSTALL_PACKAGES} -@item -@code{android.permission.REQUEST_DELETE_PACKAGES} -@item -@code{android.permission.SYSTEM_ALERT_WINDOW} -@item -@code{android.permission.RECORD_AUDIO} +@code{android.permission.CALL_PHONE} @item @code{android.permission.CAMERA} @item +@code{android.permission.CAPTURE_CONSENTLESS_BUGREPORT_ON_USERDEBUG_BUILD} +@item +@code{android.permission.GET_ACCOUNTS} +@item @code{android.permission.POST_NOTIFICATIONS} +@item +@code{android.permission.PROCESS_OUTGOING_CALLS} +@item +@code{android.permission.READ_CALENDAR} +@item +@code{android.permission.READ_CALL_LOG} +@item +@code{android.permission.READ_CELL_BROADCASTS} +@item +@code{android.permission.READ_CONTACTS} +@item +@code{android.permission.READ_EXTERNAL_STORAGE} +@item +@code{android.permission.READ_PHONE_NUMBERS} +@item +@code{android.permission.READ_PHONE_STATE} +@item +@code{android.permission.READ_SMS} +@item +@code{android.permission.RECEIVE_MMS} +@item +@code{android.permission.RECEIVE_SMS} +@item +@code{android.permission.RECEIVE_WAP_PUSH} +@item +@code{android.permission.RECORD_AUDIO} +@item +@code{android.permission.REQUEST_INSTALL_PACKAGES} +@item +@code{android.permission.SEND_SMS} +@item +@code{android.permission.SMS_FINANCIAL_TRANSACTIONS} +@item +@code{android.permission.SYSTEM_ALERT_WINDOW} +@item +@code{android.permission.WRITE_CALENDAR} +@item +@code{android.permission.WRITE_CALL_LOG} +@item +@code{android.permission.WRITE_CONTACTS} +@item +@code{android.permission.WRITE_EXTERNAL_STORAGE} +@item +@code{android.permission.WRITE_SETTINGS} +@item +@code{android.permission.ACCESS_LOCATION_EXTRA_COMMANDS} +@item +@code{android.permission.ACCESS_NETWORK_STATE} +@item +@code{android.permission.ACCESS_WIFI_STATE} +@item +@code{android.permission.BLUETOOTH} +@item +@code{android.permission.BLUETOOTH_ADMIN} +@item +@code{android.permission.BROADCAST_STICKY} +@item +@code{android.permission.CHANGE_NETWORK_STATE} +@item +@code{android.permission.CHANGE_WIFI_MULTICAST_STATE} +@item +@code{android.permission.CHANGE_WIFI_STATE} +@item +@code{android.permission.DISABLE_KEYGUARD} +@item +@code{android.permission.EXPAND_STATUS_BAR} +@item +@code{android.permission.FLASHLIGHT} +@item +@code{android.permission.GET_PACKAGE_SIZE} +@item +@code{android.permission.GET_TASKS} +@item +@code{android.permission.INTERNET} +@item +@code{android.permission.KILL_BACKGROUND_PROCESSES} +@item +@code{android.permission.MODIFY_AUDIO_SETTINGS} +@item +@code{android.permission.NFC} +@item +@code{android.permission.PERSISTENT_ACTIVITY} +@item +@code{android.permission.QUERY_ALL_PACKAGES} +@item +@code{android.permission.READ_BASIC_PHONE_STATE} +@item +@code{android.permission.READ_SYNC_SETTINGS} +@item +@code{android.permission.READ_SYNC_STATS} +@item +@code{android.permission.READ_USER_DICTIONARY} +@item +@code{android.permission.RECEIVE_BOOT_COMPLETED} +@item +@code{android.permission.REORDER_TASKS} +@item +@code{android.permission.REQUEST_DELETE_PACKAGES} +@item +@code{android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS} +@item +@code{android.permission.REQUEST_OBSERVE_COMPANION_DEVICE_PRESENCE} +@item +@code{android.permission.RESTART_PACKAGES} +@item +@code{android.permission.SET_WALLPAPER} +@item +@code{android.permission.SET_WALLPAPER_HINTS} +@item +@code{android.permission.TRANSMIT_IR} +@item +@code{android.permission.VIBRATE} +@item +@code{android.permission.WAKE_LOCK} +@item +@code{android.permission.WRITE_SYNC_SETTINGS} +@item +@code{android.permission.WRITE_USER_DICTIONARY} @end itemize While most of these permissions are left unused by Emacs itself, they diff --git a/java/AndroidManifest.xml.in b/java/AndroidManifest.xml.in index b18446bece0..27af9c912fe 100644 --- a/java/AndroidManifest.xml.in +++ b/java/AndroidManifest.xml.in @@ -64,6 +64,132 @@ along with GNU Emacs. If not, see . --> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +