Add DeleteServerDialog
This commit is contained in:
parent
4cffd1d376
commit
4eac70ff69
3 changed files with 33 additions and 1 deletions
|
@ -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")
|
||||||
|
}
|
||||||
|
}
|
|
@ -11,6 +11,7 @@ import androidx.navigation.fragment.findNavController
|
||||||
import dev.jdtech.jellyfin.R
|
import dev.jdtech.jellyfin.R
|
||||||
import dev.jdtech.jellyfin.database.ServerDatabase
|
import dev.jdtech.jellyfin.database.ServerDatabase
|
||||||
import dev.jdtech.jellyfin.databinding.FragmentServerSelectBinding
|
import dev.jdtech.jellyfin.databinding.FragmentServerSelectBinding
|
||||||
|
import dev.jdtech.jellyfin.dialogs.DeleteServerDialogFragment
|
||||||
|
|
||||||
|
|
||||||
class ServerSelectFragment : Fragment() {
|
class ServerSelectFragment : Fragment() {
|
||||||
|
@ -32,7 +33,7 @@ class ServerSelectFragment : Fragment() {
|
||||||
binding.serversRecyclerView.adapter = ServerGridAdapter(ServerGridAdapter.OnClickListener { server ->
|
binding.serversRecyclerView.adapter = ServerGridAdapter(ServerGridAdapter.OnClickListener { server ->
|
||||||
Toast.makeText(application, "You selected server ${server.name}", Toast.LENGTH_SHORT).show()
|
Toast.makeText(application, "You selected server ${server.name}", Toast.LENGTH_SHORT).show()
|
||||||
}, ServerGridAdapter.OnLongClickListener { server ->
|
}, ServerGridAdapter.OnLongClickListener { server ->
|
||||||
viewModel.deleteServer(server)
|
DeleteServerDialogFragment(viewModel, server).show(parentFragmentManager, "deleteServer")
|
||||||
true
|
true
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
|
@ -10,4 +10,8 @@
|
||||||
<string name="button_connect">Connect</string>
|
<string name="button_connect">Connect</string>
|
||||||
<string name="button_login">Login</string>
|
<string name="button_login">Login</string>
|
||||||
<string name="server_icon">Server icon</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>
|
</resources>
|
Loading…
Reference in a new issue