diff --git a/android/app/src/main/java/com/audiobookshelf/app/player/PlayerNotificationService.kt b/android/app/src/main/java/com/audiobookshelf/app/player/PlayerNotificationService.kt
index 564edb1a..bc165eef 100644
--- a/android/app/src/main/java/com/audiobookshelf/app/player/PlayerNotificationService.kt
+++ b/android/app/src/main/java/com/audiobookshelf/app/player/PlayerNotificationService.kt
@@ -1,6 +1,8 @@
package com.audiobookshelf.app.player
import android.app.*
+import android.appwidget.AppWidgetManager
+import android.content.ComponentName
import android.content.Context
import android.content.Intent
import android.graphics.Bitmap
@@ -21,12 +23,15 @@ import android.support.v4.media.session.MediaControllerCompat
import android.support.v4.media.session.MediaSessionCompat
import android.support.v4.media.session.PlaybackStateCompat
import android.util.Log
+import android.view.View
+import android.widget.RemoteViews
import androidx.annotation.RequiresApi
import androidx.core.app.NotificationCompat
import androidx.core.content.ContextCompat
import androidx.media.MediaBrowserServiceCompat
import androidx.media.utils.MediaConstants
import com.audiobookshelf.app.BuildConfig
+import com.audiobookshelf.app.MediaPlayerWidget
import com.audiobookshelf.app.R
import com.audiobookshelf.app.data.*
import com.audiobookshelf.app.data.DeviceInfo
@@ -184,6 +189,13 @@ class PlayerNotificationService : MediaBrowserServiceCompat() {
override fun onTaskRemoved(rootIntent: Intent?) {
super.onTaskRemoved(rootIntent)
Log.d(tag, "onTaskRemoved")
+ // Updates widget to hide buttons when app is force closed
+ val appWidgetManager = AppWidgetManager.getInstance(this)
+ val remoteViews = RemoteViews(this.packageName, R.layout.media_player_widget)
+ val thisWidget = ComponentName(this, MediaPlayerWidget::class.java)
+ remoteViews.setViewVisibility(R.id.widgetButtonContainer, View.GONE)
+ appWidgetManager.updateAppWidget(thisWidget, remoteViews)
+
stopSelf()
}
@@ -334,6 +346,13 @@ class PlayerNotificationService : MediaBrowserServiceCompat() {
initializeMPlayer()
currentPlayer = mPlayer
+
+ // Updates widget to show buttons when app is opened
+ val appWidgetManager = AppWidgetManager.getInstance(this)
+ val remoteViews = RemoteViews(this.packageName, R.layout.media_player_widget)
+ val thisWidget = ComponentName(this, MediaPlayerWidget::class.java)
+ remoteViews.setViewVisibility(R.id.widgetButtonContainer, View.VISIBLE)
+ appWidgetManager.updateAppWidget(thisWidget, remoteViews)
}
private fun initializeMPlayer() {
diff --git a/android/app/src/main/res/drawable-nodpi/example_appwidget_preview.png b/android/app/src/main/res/drawable-nodpi/example_appwidget_preview.png
deleted file mode 100644
index 894b069a..00000000
Binary files a/android/app/src/main/res/drawable-nodpi/example_appwidget_preview.png and /dev/null differ
diff --git a/android/app/src/main/res/drawable-nodpi/media_player_widget_preview.png b/android/app/src/main/res/drawable-nodpi/media_player_widget_preview.png
index f286b61f..27a07efe 100644
Binary files a/android/app/src/main/res/drawable-nodpi/media_player_widget_preview.png and b/android/app/src/main/res/drawable-nodpi/media_player_widget_preview.png differ
diff --git a/android/app/src/main/res/layout/media_player_widget.xml b/android/app/src/main/res/layout/media_player_widget.xml
index 8603a29b..a71a7d33 100644
--- a/android/app/src/main/res/layout/media_player_widget.xml
+++ b/android/app/src/main/res/layout/media_player_widget.xml
@@ -3,13 +3,13 @@
android:id="@+id/widgetBackground"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
- android:orientation="vertical"
+ android:orientation="horizontal"
android:theme="@style/AppTheme.AppWidgetContainer"
style="@style/Widget.Android.AppWidget.Container">
@@ -42,12 +45,49 @@
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
diff --git a/android/app/src/main/res/values/styles.xml b/android/app/src/main/res/values/styles.xml
index 862b1660..4234d998 100644
--- a/android/app/src/main/res/values/styles.xml
+++ b/android/app/src/main/res/values/styles.xml
@@ -37,6 +37,6 @@
diff --git a/android/app/src/main/res/values/themes.xml b/android/app/src/main/res/values/themes.xml
index 25c0e184..fc7585c3 100644
--- a/android/app/src/main/res/values/themes.xml
+++ b/android/app/src/main/res/values/themes.xml
@@ -2,21 +2,16 @@
-
-