Add more shape styles + switch to material dialogs
This commit is contained in:
parent
da39db03d0
commit
4c36785461
5 changed files with 22 additions and 10 deletions
|
@ -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)) { _, _ ->
|
||||
|
|
|
@ -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()
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -4,6 +4,14 @@
|
|||
<item name="cornerSize">10dp</item>
|
||||
</style>
|
||||
|
||||
<style name="ShapeAppearance.Findroid.MediumComponent" parent="ShapeAppearance.MaterialComponents.MediumComponent">
|
||||
<item name="cornerSize">10dp</item>
|
||||
</style>
|
||||
|
||||
<style name="ShapeAppearance.Findroid.LargeComponent" parent="ShapeAppearance.MaterialComponents.LargeComponent">
|
||||
<item name="cornerSize">10dp</item>
|
||||
</style>
|
||||
|
||||
<style name="ShapeAppearanceOverlay.Findroid.Image" parent="">
|
||||
<item name="cornerSize">10dp</item>
|
||||
</style>
|
||||
|
|
|
@ -30,6 +30,8 @@
|
|||
|
||||
<!-- Shapes -->
|
||||
<item name="shapeAppearanceSmallComponent">@style/ShapeAppearance.Findroid.SmallComponent</item>
|
||||
<item name="shapeAppearanceMediumComponent">@style/ShapeAppearance.Findroid.MediumComponent</item>
|
||||
<item name="shapeAppearanceLargeComponent">@style/ShapeAppearance.Findroid.LargeComponent</item>
|
||||
|
||||
<!-- Toolbar -->
|
||||
<item name="toolbarStyle">@style/Widget.MaterialComponents.Toolbar.Surface</item>
|
||||
|
|
Loading…
Reference in a new issue