|
| 1 | +<?xml version="1.0" encoding="utf-8" ?> |
| 2 | +<manifest xmlns:android="http://schemas.android.com/apk/res/android"> |
| 3 | + <application |
| 4 | + android:allowBackup="true" |
| 5 | + android:icon="@mipmap/ic_launcher" |
| 6 | + android:label="@string/app_name" |
| 7 | + android:roundIcon="@mipmap/ic_launcher_round" |
| 8 | + android:supportsRtl="true" |
| 9 | + android:theme="@style/AppTheme"> |
| 10 | + <activity |
| 11 | + android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|smallestScreenSize|screenLayout|uiMode|navigation|density" |
| 12 | + android:name=".MainActivity" |
| 13 | + android:label="@string/title_activity_main" |
| 14 | + android:theme="@style/AppTheme.NoActionBarLaunch" |
| 15 | + android:launchMode="singleTask" |
| 16 | + android:exported="true"> |
| 17 | + <intent-filter> |
| 18 | + <action android:name="android.intent.action.MAIN" /> |
| 19 | + <category android:name="android.intent.category.LAUNCHER" /> |
| 20 | + </intent-filter> |
| 21 | + |
| 22 | + <!-- App Links: tada.living/* opens in the app when verified (Phase 3.4) --> |
| 23 | + <intent-filter android:autoVerify="true"> |
| 24 | + <action android:name="android.intent.action.VIEW" /> |
| 25 | + <category android:name="android.intent.category.DEFAULT" /> |
| 26 | + <category android:name="android.intent.category.BROWSABLE" /> |
| 27 | + <data android:scheme="https" /> |
| 28 | + <data android:host="tada.living" /> |
| 29 | + </intent-filter> |
| 30 | + |
| 31 | + <!-- Web Share Target — receive shared text/url from other apps --> |
| 32 | + <intent-filter> |
| 33 | + <action android:name="android.intent.action.SEND" /> |
| 34 | + <category android:name="android.intent.category.DEFAULT" /> |
| 35 | + <data android:mimeType="text/plain" /> |
| 36 | + </intent-filter> |
| 37 | + </activity> |
| 38 | + |
| 39 | + <provider |
| 40 | + android:name="androidx.core.content.FileProvider" |
| 41 | + android:authorities="${applicationId}.fileprovider" |
| 42 | + android:exported="false" |
| 43 | + android:grantUriPermissions="true"> |
| 44 | + <meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/file_paths" /> |
| 45 | + </provider> |
| 46 | + </application> |
| 47 | + |
| 48 | + <!-- Permissions --> |
| 49 | + |
| 50 | + <uses-permission android:name="android.permission.INTERNET" /> |
| 51 | + <!-- Allow checking connectivity for offline detection (Phase 2.5 cache layer) --> |
| 52 | + <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> |
| 53 | + <!-- Notifications for session bells (Phase 4.1) — Android 13+ requires runtime grant --> |
| 54 | + <uses-permission android:name="android.permission.POST_NOTIFICATIONS" /> |
| 55 | + <!-- Wake the screen for session timing (Phase 4.3) --> |
| 56 | + <uses-permission android:name="android.permission.WAKE_LOCK" /> |
| 57 | + <!-- Active-session foreground service (Phase 4.2). FGS_SPECIAL_USE is the |
| 58 | + Android 14+ category for "ongoing user-initiated activity" like a |
| 59 | + meditation timer; we declare the more specific FGS_MEDIA_PLAYBACK |
| 60 | + too because session bells are media playback. --> |
| 61 | + <uses-permission android:name="android.permission.FOREGROUND_SERVICE" /> |
| 62 | + <uses-permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PLAYBACK" /> |
| 63 | + <uses-permission android:name="android.permission.FOREGROUND_SERVICE_SPECIAL_USE" /> |
| 64 | +</manifest> |
0 commit comments