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
|
package dev.jdtech.jellyfin.dialogs
|
||||||
|
|
||||||
import android.app.AlertDialog
|
|
||||||
import android.app.Dialog
|
import android.app.Dialog
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import androidx.fragment.app.DialogFragment
|
import androidx.fragment.app.DialogFragment
|
||||||
|
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||||
import dev.jdtech.jellyfin.R
|
import dev.jdtech.jellyfin.R
|
||||||
import dev.jdtech.jellyfin.database.Server
|
import dev.jdtech.jellyfin.database.Server
|
||||||
import dev.jdtech.jellyfin.viewmodels.ServerSelectViewModel
|
import dev.jdtech.jellyfin.viewmodels.ServerSelectViewModel
|
||||||
|
@ -12,7 +12,7 @@ import java.lang.IllegalStateException
|
||||||
class DeleteServerDialogFragment(private val viewModel: ServerSelectViewModel, val server: Server) : DialogFragment() {
|
class DeleteServerDialogFragment(private val viewModel: ServerSelectViewModel, val server: Server) : DialogFragment() {
|
||||||
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
|
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
|
||||||
return activity?.let {
|
return activity?.let {
|
||||||
val builder = AlertDialog.Builder(it)
|
val builder = MaterialAlertDialogBuilder(it)
|
||||||
builder.setTitle(getString(R.string.remove_server))
|
builder.setTitle(getString(R.string.remove_server))
|
||||||
.setMessage(getString(R.string.remove_server_dialog_text, server.name))
|
.setMessage(getString(R.string.remove_server_dialog_text, server.name))
|
||||||
.setPositiveButton(getString(R.string.remove)) { _, _ ->
|
.setPositiveButton(getString(R.string.remove)) { _, _ ->
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
package dev.jdtech.jellyfin.dialogs
|
package dev.jdtech.jellyfin.dialogs
|
||||||
|
|
||||||
import android.app.AlertDialog
|
|
||||||
import android.app.Dialog
|
import android.app.Dialog
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import androidx.fragment.app.DialogFragment
|
import androidx.fragment.app.DialogFragment
|
||||||
|
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||||
import dev.jdtech.jellyfin.mpv.TrackType
|
import dev.jdtech.jellyfin.mpv.TrackType
|
||||||
import dev.jdtech.jellyfin.viewmodels.PlayerActivityViewModel
|
import dev.jdtech.jellyfin.viewmodels.PlayerActivityViewModel
|
||||||
import java.lang.IllegalStateException
|
import java.lang.IllegalStateException
|
||||||
|
@ -24,15 +24,16 @@ class TrackSelectionDialogFragment(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return activity?.let { activity ->
|
return activity?.let { activity ->
|
||||||
val builder = AlertDialog.Builder(activity)
|
val builder = MaterialAlertDialogBuilder(activity)
|
||||||
builder.setTitle("Select audio track")
|
builder.setTitle("Select audio track")
|
||||||
.setSingleChoiceItems(
|
.setSingleChoiceItems(
|
||||||
trackNames.toTypedArray(),
|
trackNames.toTypedArray(),
|
||||||
viewModel.currentAudioTracks.indexOfFirst { it.selected }) { _, which ->
|
viewModel.currentAudioTracks.indexOfFirst { it.selected }) { dialog, which ->
|
||||||
viewModel.switchToTrack(
|
viewModel.switchToTrack(
|
||||||
TrackType.AUDIO,
|
TrackType.AUDIO,
|
||||||
viewModel.currentAudioTracks[which]
|
viewModel.currentAudioTracks[which]
|
||||||
)
|
)
|
||||||
|
dialog.dismiss()
|
||||||
}
|
}
|
||||||
builder.create()
|
builder.create()
|
||||||
} ?: throw IllegalStateException("Activity cannot be null")
|
} ?: throw IllegalStateException("Activity cannot be null")
|
||||||
|
@ -46,15 +47,16 @@ class TrackSelectionDialogFragment(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return activity?.let { activity ->
|
return activity?.let { activity ->
|
||||||
val builder = AlertDialog.Builder(activity)
|
val builder = MaterialAlertDialogBuilder(activity)
|
||||||
builder.setTitle("Select subtitle track")
|
builder.setTitle("Select subtitle track")
|
||||||
.setSingleChoiceItems(
|
.setSingleChoiceItems(
|
||||||
trackNames.toTypedArray(),
|
trackNames.toTypedArray(),
|
||||||
viewModel.currentSubtitleTracks.indexOfFirst { it.selected }) { _, which ->
|
viewModel.currentSubtitleTracks.indexOfFirst { it.selected }) { dialog, which ->
|
||||||
viewModel.switchToTrack(
|
viewModel.switchToTrack(
|
||||||
TrackType.SUBTITLE,
|
TrackType.SUBTITLE,
|
||||||
viewModel.currentSubtitleTracks[which]
|
viewModel.currentSubtitleTracks[which]
|
||||||
)
|
)
|
||||||
|
dialog.dismiss()
|
||||||
}
|
}
|
||||||
builder.create()
|
builder.create()
|
||||||
} ?: throw IllegalStateException("Activity cannot be null")
|
} ?: throw IllegalStateException("Activity cannot be null")
|
||||||
|
@ -62,7 +64,7 @@ class TrackSelectionDialogFragment(
|
||||||
else -> {
|
else -> {
|
||||||
trackNames = listOf()
|
trackNames = listOf()
|
||||||
return activity?.let {
|
return activity?.let {
|
||||||
val builder = AlertDialog.Builder(it)
|
val builder = MaterialAlertDialogBuilder(it)
|
||||||
builder.setTitle("Select ? track")
|
builder.setTitle("Select ? track")
|
||||||
.setMessage("Unknown track type")
|
.setMessage("Unknown track type")
|
||||||
builder.create()
|
builder.create()
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
package dev.jdtech.jellyfin.dialogs
|
package dev.jdtech.jellyfin.dialogs
|
||||||
|
|
||||||
import android.app.AlertDialog
|
|
||||||
import android.app.Dialog
|
import android.app.Dialog
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import androidx.fragment.app.DialogFragment
|
import androidx.fragment.app.DialogFragment
|
||||||
|
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||||
import dev.jdtech.jellyfin.viewmodels.MediaInfoViewModel
|
import dev.jdtech.jellyfin.viewmodels.MediaInfoViewModel
|
||||||
import java.lang.IllegalStateException
|
import java.lang.IllegalStateException
|
||||||
|
|
||||||
|
@ -13,7 +13,7 @@ class VideoVersionDialogFragment(
|
||||||
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
|
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
|
||||||
val items = viewModel.item.value?.mediaSources?.map { it.name }
|
val items = viewModel.item.value?.mediaSources?.map { it.name }
|
||||||
return activity?.let {
|
return activity?.let {
|
||||||
val builder = AlertDialog.Builder(it)
|
val builder = MaterialAlertDialogBuilder(it)
|
||||||
builder.setTitle("Select a version")
|
builder.setTitle("Select a version")
|
||||||
.setItems(items?.toTypedArray()) { _, which ->
|
.setItems(items?.toTypedArray()) { _, which ->
|
||||||
viewModel.preparePlayerItems(which)
|
viewModel.preparePlayerItems(which)
|
||||||
|
|
|
@ -4,6 +4,14 @@
|
||||||
<item name="cornerSize">10dp</item>
|
<item name="cornerSize">10dp</item>
|
||||||
</style>
|
</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="">
|
<style name="ShapeAppearanceOverlay.Findroid.Image" parent="">
|
||||||
<item name="cornerSize">10dp</item>
|
<item name="cornerSize">10dp</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -30,6 +30,8 @@
|
||||||
|
|
||||||
<!-- Shapes -->
|
<!-- Shapes -->
|
||||||
<item name="shapeAppearanceSmallComponent">@style/ShapeAppearance.Findroid.SmallComponent</item>
|
<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 -->
|
<!-- Toolbar -->
|
||||||
<item name="toolbarStyle">@style/Widget.MaterialComponents.Toolbar.Surface</item>
|
<item name="toolbarStyle">@style/Widget.MaterialComponents.Toolbar.Surface</item>
|
||||||
|
|
Loading…
Reference in a new issue