diff options
Diffstat (limited to 'java/AndroidManifest.xml.in')
| -rw-r--r-- | java/AndroidManifest.xml.in | 225 |
1 files changed, 225 insertions, 0 deletions
diff --git a/java/AndroidManifest.xml.in b/java/AndroidManifest.xml.in new file mode 100644 index 00000000000..895e7f88c57 --- /dev/null +++ b/java/AndroidManifest.xml.in | |||
| @@ -0,0 +1,225 @@ | |||
| 1 | <!-- @configure_input@ | ||
| 2 | |||
| 3 | Copyright (C) 2023 Free Software Foundation, Inc. | ||
| 4 | |||
| 5 | This file is part of GNU Emacs. | ||
| 6 | |||
| 7 | GNU Emacs is free software: you can redistribute it and/or modify | ||
| 8 | it under the terms of the GNU General Public License as published by | ||
| 9 | the Free Software Foundation, either version 3 of the License, or | ||
| 10 | (at your option) any later version. | ||
| 11 | |||
| 12 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 15 | GNU General Public License for more details. | ||
| 16 | |||
| 17 | You should have received a copy of the GNU General Public License | ||
| 18 | along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. --> | ||
| 19 | |||
| 20 | <!-- targetSandboxVersion must be 1. Otherwise, fascist security | ||
| 21 | restrictions prevent Emacs from making HTTP connections. --> | ||
| 22 | |||
| 23 | <manifest xmlns:android="http://schemas.android.com/apk/res/android" | ||
| 24 | package="org.gnu.emacs" | ||
| 25 | android:targetSandboxVersion="1" | ||
| 26 | android:installLocation="auto" | ||
| 27 | android:requestLegacyExternalStorage="true" | ||
| 28 | @ANDROID_SHARED_USER_ID@ | ||
| 29 | @ANDROID_SHARED_USER_NAME@ | ||
| 30 | android:versionCode="@emacs_major_version@" | ||
| 31 | android:versionName="@version@"> | ||
| 32 | |||
| 33 | <!-- Paste in every permission in existence so Emacs can do | ||
| 34 | anything. --> | ||
| 35 | |||
| 36 | <uses-permission android:name="android.permission.READ_CONTACTS" /> | ||
| 37 | <uses-permission android:name="android.permission.WRITE_CONTACTS" /> | ||
| 38 | <uses-permission android:name="android.permission.VIBRATE" /> | ||
| 39 | <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> | ||
| 40 | <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> | ||
| 41 | <uses-permission android:name="android.permission.INTERNET" /> | ||
| 42 | <uses-permission android:name="android.permission.SET_WALLPAPER" /> | ||
| 43 | <!-- Despite the claim that WRITE_EXTERNAL_STORAGE also covers | ||
| 44 | reading from external storage, specifying READ_EXTERNAL_STORAGE | ||
| 45 | seems to still be necessary on some versions of Android. | ||
| 46 | (bug#64445) --> | ||
| 47 | <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> | ||
| 48 | <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> | ||
| 49 | <uses-permission android:name="android.permission.SEND_SMS" /> | ||
| 50 | <uses-permission android:name="android.permission.RECEIVE_SMS" /> | ||
| 51 | <uses-permission android:name="android.permission.RECEIVE_MMS"/> | ||
| 52 | <uses-permission android:name="android.permission.WRITE_SMS"/> | ||
| 53 | <uses-permission android:name="android.permission.READ_SMS"/> | ||
| 54 | <uses-permission android:name="android.permission.NFC" /> | ||
| 55 | <uses-permission android:name="android.permission.TRANSMIT_IR" /> | ||
| 56 | <uses-permission android:name="android.permission.READ_PHONE_STATE"/> | ||
| 57 | <uses-permission android:name="android.permission.WAKE_LOCK"/> | ||
| 58 | <uses-permission android:name="android.permission.FOREGROUND_SERVICE"/> | ||
| 59 | <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"/> | ||
| 60 | <uses-permission android:name="android.permission.REQUEST_DELETE_PACKAGES"/> | ||
| 61 | <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/> | ||
| 62 | <uses-permission android:name="android.permission.RECORD_AUDIO" /> | ||
| 63 | <uses-permission android:name="android.permission.CAMERA" /> | ||
| 64 | |||
| 65 | <!-- This is required on Android 11 or later to access /sdcard. --> | ||
| 66 | |||
| 67 | <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"/> | ||
| 68 | |||
| 69 | <uses-sdk android:minSdkVersion="@ANDROID_MIN_SDK@" | ||
| 70 | android:targetSdkVersion="33"/> | ||
| 71 | |||
| 72 | <application android:name="org.gnu.emacs.EmacsApplication" | ||
| 73 | android:label="Emacs" | ||
| 74 | android:icon="@drawable/emacs" | ||
| 75 | android:hardwareAccelerated="true" | ||
| 76 | android:supportsRtl="true" | ||
| 77 | android:theme="@style/EmacsStyle" | ||
| 78 | android:debuggable="@ANDROID_DEBUGGABLE@" | ||
| 79 | android:allowBackup="true" | ||
| 80 | android:extractNativeLibs="true"> | ||
| 81 | |||
| 82 | <activity android:name="org.gnu.emacs.EmacsActivity" | ||
| 83 | android:launchMode="singleInstance" | ||
| 84 | android:windowSoftInputMode="adjustResize" | ||
| 85 | android:exported="true" | ||
| 86 | android:configChanges="orientation|screenSize|screenLayout|keyboardHidden"> | ||
| 87 | <intent-filter> | ||
| 88 | <action android:name="android.intent.action.MAIN" /> | ||
| 89 | <category android:name="android.intent.category.DEFAULT" /> | ||
| 90 | <category android:name="android.intent.category.LAUNCHER" /> | ||
| 91 | </intent-filter> | ||
| 92 | </activity> | ||
| 93 | |||
| 94 | <activity android:name="org.gnu.emacs.EmacsOpenActivity" | ||
| 95 | android:taskAffinity="open.dialog" | ||
| 96 | android:excludeFromRecents="true" | ||
| 97 | android:exported="true"> | ||
| 98 | |||
| 99 | <!-- Allow Emacs to open all kinds of files known to Android. --> | ||
| 100 | |||
| 101 | <intent-filter> | ||
| 102 | <action android:name="android.intent.action.VIEW"/> | ||
| 103 | <action android:name="android.intent.action.EDIT"/> | ||
| 104 | <action android:name="android.intent.action.PICK"/> | ||
| 105 | |||
| 106 | <category android:name="android.intent.category.DEFAULT"/> | ||
| 107 | |||
| 108 | <data android:mimeType="image/aces"/> | ||
| 109 | <data android:mimeType="image/avci"/> | ||
| 110 | <data android:mimeType="image/avcs"/> | ||
| 111 | <data android:mimeType="image/avif"/> | ||
| 112 | <data android:mimeType="image/bmp"/> | ||
| 113 | <data android:mimeType="image/cgm"/> | ||
| 114 | <data android:mimeType="image/dicom-rle"/> | ||
| 115 | <data android:mimeType="image/dpx"/> | ||
| 116 | <data android:mimeType="image/emf"/> | ||
| 117 | <data android:mimeType="image/example"/> | ||
| 118 | <data android:mimeType="image/fits"/> | ||
| 119 | <data android:mimeType="image/g3fax"/> | ||
| 120 | <data android:mimeType="image/heic"/> | ||
| 121 | <data android:mimeType="image/heic-sequence"/> | ||
| 122 | <data android:mimeType="image/heif"/> | ||
| 123 | <data android:mimeType="image/heif-sequence"/> | ||
| 124 | <data android:mimeType="image/hej2k"/> | ||
| 125 | <data android:mimeType="image/hsj2"/> | ||
| 126 | <data android:mimeType="image/jls"/> | ||
| 127 | <data android:mimeType="image/jp2"/> | ||
| 128 | <data android:mimeType="image/jph"/> | ||
| 129 | <data android:mimeType="image/jphc"/> | ||
| 130 | <data android:mimeType="image/jpm"/> | ||
| 131 | <data android:mimeType="image/jpx"/> | ||
| 132 | <data android:mimeType="image/jxr"/> | ||
| 133 | <data android:mimeType="image/jxrA"/> | ||
| 134 | <data android:mimeType="image/jxrS"/> | ||
| 135 | <data android:mimeType="image/jxs"/> | ||
| 136 | <data android:mimeType="image/jxsc"/> | ||
| 137 | <data android:mimeType="image/jxsi"/> | ||
| 138 | <data android:mimeType="image/jxss"/> | ||
| 139 | <data android:mimeType="image/ktx"/> | ||
| 140 | <data android:mimeType="image/ktx2"/> | ||
| 141 | <data android:mimeType="image/naplps"/> | ||
| 142 | <data android:mimeType="image/png"/> | ||
| 143 | <data android:mimeType="image/prs.btif"/> | ||
| 144 | <data android:mimeType="image/prs.pti"/> | ||
| 145 | <data android:mimeType="image/pwg-raster"/> | ||
| 146 | <data android:mimeType="image/svg+xml"/> | ||
| 147 | <data android:mimeType="image/t38"/> | ||
| 148 | <data android:mimeType="image/tiff"/> | ||
| 149 | <data android:mimeType="image/tiff-fx"/> | ||
| 150 | <data android:mimeType="image/xpm"/> | ||
| 151 | <data android:mimeType="text/*"/> | ||
| 152 | <data android:mimeType="application/*xml"/> | ||
| 153 | <data android:mimeType="application/atom+xml"/> | ||
| 154 | <data android:mimeType="application/dxf"/> | ||
| 155 | <data android:mimeType="application/ecmascript"/> | ||
| 156 | <data android:mimeType="application/javascript"/> | ||
| 157 | <data android:mimeType="application/json"/> | ||
| 158 | <data android:mimeType="application/*log*"/> | ||
| 159 | <data android:mimeType="application/octet-stream"/> | ||
| 160 | <data android:mimeType="application/soap+xm"/> | ||
| 161 | <data android:mimeType="application/x-caramel"/> | ||
| 162 | <data android:mimeType="application/x-klaunch"/> | ||
| 163 | <data android:mimeType="application/x-latex"/> | ||
| 164 | <data android:mimeType="application/x-sh"/> | ||
| 165 | <data android:mimeType="application/x-tcl"/> | ||
| 166 | <data android:mimeType="application/x-tex*"/> | ||
| 167 | <data android:mimeType="application/x-troff*"/> | ||
| 168 | <data android:mimeType="application/xhtml+xml"/> | ||
| 169 | <data android:mimeType="application/xml*"/> | ||
| 170 | <data android:mimeType="application/zip"/> | ||
| 171 | <data android:mimeType="application/x-zip-compressed"/> | ||
| 172 | </intent-filter> | ||
| 173 | </activity> | ||
| 174 | |||
| 175 | <activity android:name="org.gnu.emacs.EmacsMultitaskActivity" | ||
| 176 | android:windowSoftInputMode="adjustResize" | ||
| 177 | android:exported="true" | ||
| 178 | android:configChanges="orientation|screenSize|screenLayout|keyboardHidden"/> | ||
| 179 | |||
| 180 | <activity android:autoRemoveFromRecents="true" | ||
| 181 | android:label="Emacs options" | ||
| 182 | android:exported="true" | ||
| 183 | android:name=".EmacsPreferencesActivity"> | ||
| 184 | <intent-filter> | ||
| 185 | <action android:name="android.intent.action.APPLICATION_PREFERENCES" /> | ||
| 186 | <category android:name="android.intent.category.DEFAULT" /> | ||
| 187 | </intent-filter> | ||
| 188 | </activity> | ||
| 189 | |||
| 190 | <!-- Android 6 and earlier don't display ``application | ||
| 191 | preferences'' activities in Settings, so display the | ||
| 192 | preferences activity as a launcher icon instead. --> | ||
| 193 | |||
| 194 | <activity android:autoRemoveFromRecents="true" | ||
| 195 | android:label="Emacs options" | ||
| 196 | android:enabled="@bool/isBeforeNougat" | ||
| 197 | android:exported="@bool/isBeforeNougat" | ||
| 198 | android:icon="@drawable/emacs_wrench" | ||
| 199 | android:name=".EmacsLauncherPreferencesActivity"> | ||
| 200 | <intent-filter> | ||
| 201 | <action android:name="android.intent.action.MAIN" /> | ||
| 202 | <category android:name="android.intent.category.DEFAULT" /> | ||
| 203 | <category android:name="android.intent.category.LAUNCHER" /> | ||
| 204 | </intent-filter> | ||
| 205 | </activity> | ||
| 206 | |||
| 207 | <provider android:name="org.gnu.emacs.EmacsDocumentsProvider" | ||
| 208 | android:authorities="org.gnu.emacs" | ||
| 209 | android:exported="true" | ||
| 210 | android:grantUriPermissions="true" | ||
| 211 | android:permission="android.permission.MANAGE_DOCUMENTS" | ||
| 212 | android:enabled="@bool/isAtLeastKitKat"> | ||
| 213 | <intent-filter> | ||
| 214 | <action | ||
| 215 | android:name="android.content.action.DOCUMENTS_PROVIDER"/> | ||
| 216 | </intent-filter> | ||
| 217 | </provider> | ||
| 218 | |||
| 219 | <service android:name="org.gnu.emacs.EmacsService" | ||
| 220 | android:directBootAware="false" | ||
| 221 | android:enabled="true" | ||
| 222 | android:exported="false" | ||
| 223 | android:label="GNU Emacs service"/> | ||
| 224 | </application> | ||
| 225 | </manifest> | ||