diff --git a/android/app/src/main/java/io/freetubeapp/freetube/MainActivity.kt b/android/app/src/main/java/io/freetubeapp/freetube/MainActivity.kt index 36344ae598d11..cd5d8e1410392 100644 --- a/android/app/src/main/java/io/freetubeapp/freetube/MainActivity.kt +++ b/android/app/src/main/java/io/freetubeapp/freetube/MainActivity.kt @@ -29,7 +29,10 @@ class MainActivity : AppCompatActivity(), OnRequestPermissionsResultCallback { @Suppress("DEPRECATION") override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - MediaControlsReceiver.Static.main = this + MediaControlsReceiver.notifyMediaSessionListeners = { + action -> + webView.loadUrl(String.format("javascript: window.notifyMediaSessionListeners('%s')", action)) + } // this keeps android from shutting off the app to conserve battery keepAliveService = KeepAliveService() keepAliveIntent = Intent(this, keepAliveService.javaClass) diff --git a/android/app/src/main/java/io/freetubeapp/freetube/MediaControlsReceiver.kt b/android/app/src/main/java/io/freetubeapp/freetube/MediaControlsReceiver.kt index a91969568decf..66883deae27a7 100644 --- a/android/app/src/main/java/io/freetubeapp/freetube/MediaControlsReceiver.kt +++ b/android/app/src/main/java/io/freetubeapp/freetube/MediaControlsReceiver.kt @@ -9,12 +9,12 @@ open class MediaControlsReceiver : BroadcastReceiver { constructor() { } companion object Static { - lateinit var main: MainActivity + lateinit var notifyMediaSessionListeners: (String) -> Unit } override fun onReceive(context: Context?, intent: Intent?) { val action = intent!!.action - main.webView.loadUrl(String.format("javascript: window.notifyMediaSessionListeners('%s')", action)) + notifyMediaSessionListeners(action!!) } }