From 6a2609852895be315fbe784f93bea139bebb0543 Mon Sep 17 00:00:00 2001 From: Derek Schmidt Date: Sun, 31 May 2020 14:16:23 -0700 Subject: [PATCH] Enable android auto support Meet min requirements for Android Auto to connect to our mediasession Still to go: 1. File browsing 2. Additional playback controls --- app/src/main/AndroidManifest.xml | 19 +++++++++++-- .../apognu/otter/playback/PlayerService.kt | 28 +++++++++++++++---- app/src/main/res/xml/automotive_app_desc.xml | 4 +++ 3 files changed, 44 insertions(+), 7 deletions(-) create mode 100644 app/src/main/res/xml/automotive_app_desc.xml diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 350d19b..475f59d 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,6 +1,7 @@ + xmlns:tools="http://schemas.android.com/tools" + package="com.github.apognu.otter"> @@ -16,6 +17,13 @@ android:supportsRtl="true" android:theme="@style/AppTheme"> + + + + @@ -44,7 +52,14 @@ - + + + + + () @@ -84,6 +86,8 @@ class PlayerService : Service() { isActive = true } + sessionToken = mediaSession.sessionToken + mediaControlsManager = MediaControlsManager(this, mediaSession) player = SimpleExoPlayer.Builder(this).build().apply { @@ -224,8 +228,6 @@ class PlayerService : Service() { }) } - override fun onBind(intent: Intent?): IBinder? = null - @SuppressLint("NewApi") override fun onDestroy() { jobs.forEach { it.cancel() } @@ -437,4 +439,20 @@ class PlayerService : Service() { } } } + + override fun onGetRoot( + clientPackageName: String, + clientUid: Int, + rootHints: Bundle? + ): BrowserRoot? { + return BrowserRoot("/", null) + } + + override fun onLoadChildren( + parentId: String, + result: Result> + ) { + val list = mutableListOf() + result.sendResult(list) + } } diff --git a/app/src/main/res/xml/automotive_app_desc.xml b/app/src/main/res/xml/automotive_app_desc.xml new file mode 100644 index 0000000..0a6a3c9 --- /dev/null +++ b/app/src/main/res/xml/automotive_app_desc.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file