aboutsummaryrefslogtreecommitdiffstats
path: root/packages/meshbay-android/app/src/main/AndroidManifest.xml
diff options
context:
space:
mode:
authorChristophe Besson <cbesson@gmail.com>2026-10-03 09:03:34 +0200
committerChristophe Besson <cbesson@gmail.com>2026-10-03 14:24:54 +0200
commit57758895bc7b0f7f21497194e81172f43d634852 (patch)
treea4a3c71f9aafbc65199e140b7111ee04163fa295 /packages/meshbay-android/app/src/main/AndroidManifest.xml
parentd8f5005ba2c9a249ce5ce8976d9c3754a3a7458e (diff)
downloadmeshbay-57758895bc7b0f7f21497194e81172f43d634852.tar.gz
feat(android): casting through a LAN relay and the platform cast SDK
A port of cast-relay.js (backlog also bounded in bytes), discovery and control with the default media receiver, relay calls kept in order, and a foreground service plus a WebView kept visible so a cast survives the screen going off. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'packages/meshbay-android/app/src/main/AndroidManifest.xml')
-rw-r--r--packages/meshbay-android/app/src/main/AndroidManifest.xml13
1 files changed, 13 insertions, 0 deletions
diff --git a/packages/meshbay-android/app/src/main/AndroidManifest.xml b/packages/meshbay-android/app/src/main/AndroidManifest.xml
index 82b827e..d6f83ee 100644
--- a/packages/meshbay-android/app/src/main/AndroidManifest.xml
+++ b/packages/meshbay-android/app/src/main/AndroidManifest.xml
@@ -2,6 +2,12 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
+ <!-- Casting: the relay's foreground service, and the locks that keep the
+ CPU and the Wi-Fi up while the screen is off. -->
+ <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
+ <uses-permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PLAYBACK" />
+ <uses-permission android:name="android.permission.WAKE_LOCK" />
+ <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<!-- No backup of any kind: the keys are wrapped by a Keystore key that a
restore cannot bring with it, so a backed-up store is one that silently
@@ -24,5 +30,12 @@
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
+ <service
+ android:name=".cast.CastService"
+ android:exported="false"
+ android:foregroundServiceType="mediaPlayback" />
+ <meta-data
+ android:name="com.google.android.gms.cast.framework.OPTIONS_PROVIDER_CLASS_NAME"
+ android:value="org.meshbay.client.cast.CastOptionsProvider" />
</application>
</manifest>