summaryrefslogtreecommitdiff
path: root/player-android/android/app/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'player-android/android/app/src/main')
-rw-r--r--player-android/android/app/src/main/AndroidManifest.xml6
-rw-r--r--player-android/android/app/src/main/kotlin/zone/foo/player_android/MainActivity.kt9
2 files changed, 13 insertions, 2 deletions
diff --git a/player-android/android/app/src/main/AndroidManifest.xml b/player-android/android/app/src/main/AndroidManifest.xml
index 3276ad7..81db32c 100644
--- a/player-android/android/app/src/main/AndroidManifest.xml
+++ b/player-android/android/app/src/main/AndroidManifest.xml
@@ -63,6 +63,12 @@
<meta-data
android:name="flutterEmbedding"
android:value="2" />
+ <!-- Disable Impeller on the x86_64 emulator: its OpenGL ES driver
+ does not support GL_EXT_shader_framebuffer_fetch, causing Impeller
+ to fail compiling blend-mode shaders. Skia renders correctly. -->
+ <meta-data
+ android:name="io.flutter.embedding.android.EnableImpeller"
+ android:value="false" />
<!-- audio_service background playback service.
android:foregroundServiceType="mediaPlayback" is mandatory on
Android 10+ (API 29+) to grant media-playback foreground service
diff --git a/player-android/android/app/src/main/kotlin/zone/foo/player_android/MainActivity.kt b/player-android/android/app/src/main/kotlin/zone/foo/player_android/MainActivity.kt
index e3087ec..1dd390d 100644
--- a/player-android/android/app/src/main/kotlin/zone/foo/player_android/MainActivity.kt
+++ b/player-android/android/app/src/main/kotlin/zone/foo/player_android/MainActivity.kt
@@ -1,5 +1,10 @@
package zone.foo.player_android
-import io.flutter.embedding.android.FlutterActivity
+import com.ryanheise.audioservice.AudioServiceActivity
-class MainActivity : FlutterActivity()
+// AudioServiceActivity (not FlutterActivity) is required by the audio_service
+// plugin so background audio sessions, lockscreen controls, and media buttons
+// re-attach correctly to this single-Activity Flutter app. Using the default
+// FlutterActivity causes AudioService.init() to throw at startup with
+// "The Activity class declared in your AndroidManifest.xml is wrong".
+class MainActivity : AudioServiceActivity()