Add DeleteServerDialog

This commit is contained in:
Jarne Demeulemeester 2021-06-08 11:47:29 +02:00
parent 4cffd1d376
commit 4eac70ff69
No known key found for this signature in database
GPG key ID: 60884A0C1EBA43E5
3 changed files with 33 additions and 1 deletions

View file

@ -0,0 +1,27 @@
package dev.jdtech.jellyfin.dialogs
import android.app.AlertDialog
import android.app.Dialog
import android.os.Bundle
import androidx.fragment.app.DialogFragment
import dev.jdtech.jellyfin.R
import dev.jdtech.jellyfin.database.Server
import dev.jdtech.jellyfin.serverselect.ServerSelectViewModel
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)
builder.setTitle(getString(R.string.remove_server))
.setMessage(getString(R.string.remove_server_dialog_text, server.name))
.setPositiveButton(getString(R.string.remove)) { _, _ ->
viewModel.deleteServer(server)
}
.setNegativeButton(getString(R.string.cancel)) { _, _ ->
}
builder.create()
} ?: throw IllegalStateException("Activity cannot be null")
}
}

View file

@ -11,6 +11,7 @@ import androidx.navigation.fragment.findNavController
import dev.jdtech.jellyfin.R
import dev.jdtech.jellyfin.database.ServerDatabase
import dev.jdtech.jellyfin.databinding.FragmentServerSelectBinding
import dev.jdtech.jellyfin.dialogs.DeleteServerDialogFragment
class ServerSelectFragment : Fragment() {
@ -32,7 +33,7 @@ class ServerSelectFragment : Fragment() {
binding.serversRecyclerView.adapter = ServerGridAdapter(ServerGridAdapter.OnClickListener { server ->
Toast.makeText(application, "You selected server ${server.name}", Toast.LENGTH_SHORT).show()
}, ServerGridAdapter.OnLongClickListener { server ->
viewModel.deleteServer(server)
DeleteServerDialogFragment(viewModel, server).show(parentFragmentManager, "deleteServer")
true
})

View file

@ -10,4 +10,8 @@
<string name="button_connect">Connect</string>
<string name="button_login">Login</string>
<string name="server_icon">Server icon</string>
<string name="remove_server">Remove server</string>
<string name="remove_server_dialog_text">Are you sure you want to remove the server %1$s</string>
<string name="remove">Remove</string>
<string name="cancel">Cancel</string>
</resources>