| A freeq client in jolt, as glimmer components on Vidya 4719d6f nandi 20d ago | 1 | <?xml version="1.0" encoding="utf-8"?> |
| 2 | <manifest xmlns:android="http://schemas.android.com/apk/res/android" |
| 3 | package="uk.nandi.frq"> |
| 4 | <uses-permission android:name="android.permission.INTERNET" /> |
| Sign in and choose a picture on the phone 7b6e915 nandi 19d ago | 5 | <!-- |
| 6 | Reading the pictures the picker offers. Both, because the permission that |
| 7 | covers them was split at API 33: before that a single storage read, after |
| 8 | it one per medium. Neither is granted by being asked for here — they are |
| 9 | runtime permissions, and this activity has no Java to raise the dialog |
| 10 | with, so they are granted from Settings (or `adb shell pm grant`) until |
| 11 | something asks. Without them the picker sees directory names and no |
| 12 | files, which is what it says. |
| 13 | --> |
| 14 | <uses-permission android:name="android.permission.READ_MEDIA_IMAGES" /> |
| 15 | <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" |
| 16 | android:maxSdkVersion="32" /> |
| A freeq client in jolt, as glimmer components on Vidya 4719d6f nandi 20d ago | 17 | <uses-feature android:glEsVersion="0x00030000" android:required="true" /> |
| 18 | |
| 19 | <!-- |
| 20 | Not the Fullscreen theme below: under it the window owns the whole |
| 21 | display, content_rect is the whole display too, and there is nothing for |
| 22 | vidya to inset by — the status bar clock sits on top of the app and the |
| 23 | compose bar sits under the keyboard. |
| 24 | --> |
| Sign in and choose a picture on the phone 7b6e915 nandi 19d ago | 25 | <!-- |
| 26 | debuggable: `adb run-as` reads the app's own data directory under it, |
| 27 | which is how a session file or a cache is looked at on the device. It |
| 28 | costs nothing at runtime and this APK is signed with the debug key |
| 29 | anyway; drop it for anything that ships. |
| 30 | --> |
| A freeq client in jolt, as glimmer components on Vidya 4719d6f nandi 20d ago | 31 | <application |
| 32 | android:allowBackup="false" |
| Sign in and choose a picture on the phone 7b6e915 nandi 19d ago | 33 | android:debuggable="true" |
| A freeq client in jolt, as glimmer components on Vidya 4719d6f nandi 20d ago | 34 | android:label="frq" |
| 35 | android:theme="@android:style/Theme.Material.NoActionBar"> |
| 36 | <!-- |
| 37 | adjustResize: without it the activity's content_rect never shrinks for |
| 38 | the soft keyboard, so vidya has no IME inset to reserve and the compose |
| 39 | bar sits under the keys. |
| 40 | --> |
| Sign in and choose a picture on the phone 7b6e915 nandi 19d ago | 41 | <!-- |
| 42 | singleTask: the sign-in deep link below has to bring the *running* |
| 43 | app forward, with its loopback handoff already in hand, rather than |
| 44 | start a second copy of it beside the first. |
| 45 | --> |
| A freeq client in jolt, as glimmer components on Vidya 4719d6f nandi 20d ago | 46 | <activity |
| Sign in and choose a picture on the phone 7b6e915 nandi 19d ago | 47 | android:name=".FrqActivity" |
| A freeq client in jolt, as glimmer components on Vidya 4719d6f nandi 20d ago | 48 | android:configChanges="orientation|keyboardHidden|screenSize" |
| Sign in and choose a picture on the phone 7b6e915 nandi 19d ago | 49 | android:launchMode="singleTask" |
| A freeq client in jolt, as glimmer components on Vidya 4719d6f nandi 20d ago | 50 | android:windowSoftInputMode="adjustResize" |
| 51 | android:exported="true" |
| 52 | android:screenOrientation="portrait"> |
| 53 | <!-- |
| 54 | The activity's library is libvidya.so, not the Jolt one: whoever |
| 55 | holds android-activity's glue owns the event loop, and winit |
| 56 | cannot build one without the AndroidApp handle that glue receives. |
| 57 | It dlopens libjoltapp.so in turn. See ffi/src/android.rs. |
| 58 | --> |
| 59 | <meta-data |
| 60 | android:name="android.app.lib_name" |
| 61 | android:value="vidya" /> |
| 62 | <intent-filter> |
| 63 | <action android:name="android.intent.action.MAIN" /> |
| 64 | <category android:name="android.intent.category.LAUNCHER" /> |
| 65 | </intent-filter> |
| Sign in and choose a picture on the phone 7b6e915 nandi 19d ago | 66 | <!-- |
| 67 | Coming back from the browser. The handoff itself travels over |
| 68 | loopback and is already captured by the time this arrives; the |
| 69 | link carries nothing, and exists only to put the app back in |
| 70 | front of the browser that covered it. |
| 71 | --> |
| 72 | <intent-filter> |
| 73 | <action android:name="android.intent.action.VIEW" /> |
| 74 | <category android:name="android.intent.category.DEFAULT" /> |
| 75 | <category android:name="android.intent.category.BROWSABLE" /> |
| 76 | <data android:scheme="frq" android:host="auth" /> |
| 77 | </intent-filter> |
| A freeq client in jolt, as glimmer components on Vidya 4719d6f nandi 20d ago | 78 | </activity> |
| 79 | </application> |
| 80 | </manifest> |