diff --git a/app/src/main/java/dev/jdtech/jellyfin/dialogs/DeleteServerDialogFragment.kt b/app/src/main/java/dev/jdtech/jellyfin/dialogs/DeleteServerDialogFragment.kt
index 53bedbd5..73dfb56e 100644
--- a/app/src/main/java/dev/jdtech/jellyfin/dialogs/DeleteServerDialogFragment.kt
+++ b/app/src/main/java/dev/jdtech/jellyfin/dialogs/DeleteServerDialogFragment.kt
@@ -1,9 +1,9 @@
package dev.jdtech.jellyfin.dialogs
-import android.app.AlertDialog
import android.app.Dialog
import android.os.Bundle
import androidx.fragment.app.DialogFragment
+import com.google.android.material.dialog.MaterialAlertDialogBuilder
import dev.jdtech.jellyfin.R
import dev.jdtech.jellyfin.database.Server
import dev.jdtech.jellyfin.viewmodels.ServerSelectViewModel
@@ -12,7 +12,7 @@ import java.lang.IllegalStateException
class DeleteServerDialogFragment(private val viewModel: ServerSelectViewModel, val server: Server) : DialogFragment() {
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
return activity?.let {
- val builder = AlertDialog.Builder(it)
+ val builder = MaterialAlertDialogBuilder(it)
builder.setTitle(getString(R.string.remove_server))
.setMessage(getString(R.string.remove_server_dialog_text, server.name))
.setPositiveButton(getString(R.string.remove)) { _, _ ->
diff --git a/app/src/main/java/dev/jdtech/jellyfin/dialogs/TrackSelectionDialogFragment.kt b/app/src/main/java/dev/jdtech/jellyfin/dialogs/TrackSelectionDialogFragment.kt
index be2edf9a..b5b871d4 100644
--- a/app/src/main/java/dev/jdtech/jellyfin/dialogs/TrackSelectionDialogFragment.kt
+++ b/app/src/main/java/dev/jdtech/jellyfin/dialogs/TrackSelectionDialogFragment.kt
@@ -1,9 +1,9 @@
package dev.jdtech.jellyfin.dialogs
-import android.app.AlertDialog
import android.app.Dialog
import android.os.Bundle
import androidx.fragment.app.DialogFragment
+import com.google.android.material.dialog.MaterialAlertDialogBuilder
import dev.jdtech.jellyfin.mpv.TrackType
import dev.jdtech.jellyfin.viewmodels.PlayerActivityViewModel
import java.lang.IllegalStateException
@@ -24,15 +24,16 @@ class TrackSelectionDialogFragment(
}
}
return activity?.let { activity ->
- val builder = AlertDialog.Builder(activity)
+ val builder = MaterialAlertDialogBuilder(activity)
builder.setTitle("Select audio track")
.setSingleChoiceItems(
trackNames.toTypedArray(),
- viewModel.currentAudioTracks.indexOfFirst { it.selected }) { _, which ->
+ viewModel.currentAudioTracks.indexOfFirst { it.selected }) { dialog, which ->
viewModel.switchToTrack(
TrackType.AUDIO,
viewModel.currentAudioTracks[which]
)
+ dialog.dismiss()
}
builder.create()
} ?: throw IllegalStateException("Activity cannot be null")
@@ -46,15 +47,16 @@ class TrackSelectionDialogFragment(
}
}
return activity?.let { activity ->
- val builder = AlertDialog.Builder(activity)
+ val builder = MaterialAlertDialogBuilder(activity)
builder.setTitle("Select subtitle track")
.setSingleChoiceItems(
trackNames.toTypedArray(),
- viewModel.currentSubtitleTracks.indexOfFirst { it.selected }) { _, which ->
+ viewModel.currentSubtitleTracks.indexOfFirst { it.selected }) { dialog, which ->
viewModel.switchToTrack(
TrackType.SUBTITLE,
viewModel.currentSubtitleTracks[which]
)
+ dialog.dismiss()
}
builder.create()
} ?: throw IllegalStateException("Activity cannot be null")
@@ -62,7 +64,7 @@ class TrackSelectionDialogFragment(
else -> {
trackNames = listOf()
return activity?.let {
- val builder = AlertDialog.Builder(it)
+ val builder = MaterialAlertDialogBuilder(it)
builder.setTitle("Select ? track")
.setMessage("Unknown track type")
builder.create()
diff --git a/app/src/main/java/dev/jdtech/jellyfin/dialogs/VideoVersionDialogFragment.kt b/app/src/main/java/dev/jdtech/jellyfin/dialogs/VideoVersionDialogFragment.kt
index 84caf7bf..fc38e1b6 100644
--- a/app/src/main/java/dev/jdtech/jellyfin/dialogs/VideoVersionDialogFragment.kt
+++ b/app/src/main/java/dev/jdtech/jellyfin/dialogs/VideoVersionDialogFragment.kt
@@ -1,9 +1,9 @@
package dev.jdtech.jellyfin.dialogs
-import android.app.AlertDialog
import android.app.Dialog
import android.os.Bundle
import androidx.fragment.app.DialogFragment
+import com.google.android.material.dialog.MaterialAlertDialogBuilder
import dev.jdtech.jellyfin.viewmodels.MediaInfoViewModel
import java.lang.IllegalStateException
@@ -13,7 +13,7 @@ class VideoVersionDialogFragment(
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
val items = viewModel.item.value?.mediaSources?.map { it.name }
return activity?.let {
- val builder = AlertDialog.Builder(it)
+ val builder = MaterialAlertDialogBuilder(it)
builder.setTitle("Select a version")
.setItems(items?.toTypedArray()) { _, which ->
viewModel.preparePlayerItems(which)
diff --git a/app/src/main/res/values/shape.xml b/app/src/main/res/values/shape.xml
index 8481dc05..f9a2ce4f 100644
--- a/app/src/main/res/values/shape.xml
+++ b/app/src/main/res/values/shape.xml
@@ -4,6 +4,14 @@
- 10dp
+
+
+
+
diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml
index 87171b08..5b6bf1c5 100644
--- a/app/src/main/res/values/themes.xml
+++ b/app/src/main/res/values/themes.xml
@@ -30,6 +30,8 @@
- @style/ShapeAppearance.Findroid.SmallComponent
+ - @style/ShapeAppearance.Findroid.MediumComponent
+ - @style/ShapeAppearance.Findroid.LargeComponent
- @style/Widget.MaterialComponents.Toolbar.Surface