whiskers.git / android / app / src / main / AndroidManifest.xml
AndroidManifest.xml49 lines · 2.4 KB · raw
1<manifest xmlns:android="http://schemas.android.com/apk/res/android">
2
3    <!-- The services are reached over a private network. -->
4    <uses-permission android:name="android.permission.INTERNET" />
5    <uses-permission android:name="android.permission.RECORD_AUDIO" />
6    <!-- Only so the file picker can hand back a gallery picture on Android 11; nothing is read unprompted. -->
7    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" android:maxSdkVersion="32" />
8    <!-- No CAMERA permission on purpose: pictures come from the system camera app
9         through an intent, which needs none. -->
10    <uses-feature android:name="android.hardware.camera" android:required="false" />
11    <uses-feature android:name="android.hardware.microphone" android:required="false" />
12
13    <!-- Android 11+ hides other apps from this one unless it asks. Without these two,
14         SpeechRecognizer.isRecognitionAvailable and TextToSpeech both report that nothing
15         is there, even on a phone with Google's recogniser and voice installed. -->
16    <queries>
17        <intent><action android:name="android.speech.RecognitionService" /></intent>
18        <intent><action android:name="android.intent.action.TTS_SERVICE" /></intent>
19    </queries>
20
21    <application
22        android:name=".WhiskersApp"
23        android:allowBackup="false"
24        android:usesCleartextTraffic="true"
25        android:icon="@drawable/ic_launcher"
26        android:label="Whiskers"
27        android:theme="@style/Theme.Whiskers">
28        <provider
29            android:name="androidx.core.content.FileProvider"
30            android:authorities="${applicationId}.files"
31            android:exported="false"
32            android:grantUriPermissions="true">
33            <meta-data
34                android:name="android.support.FILE_PROVIDER_PATHS"
35                android:resource="@xml/file_paths" />
36        </provider>
37
38        <activity
39            android:name=".MainActivity"
40            android:exported="true"
41            android:configChanges="orientation|screenSize|smallestScreenSize|screenLayout|density|uiMode|keyboardHidden|keyboard|navigation|layoutDirection|colorMode|fontScale"
42            android:screenOrientation="fullUser">
43            <intent-filter>
44                <action android:name="android.intent.action.MAIN" />
45                <category android:name="android.intent.category.LAUNCHER" />
46            </intent-filter>
47        </activity>
48    </application>
49</manifest>