diff --git a/app/src/main/java/dev/jdtech/jellyfin/dialogs/DeleteServerDialogFragment.kt b/app/src/main/java/dev/jdtech/jellyfin/dialogs/DeleteServerDialogFragment.kt
new file mode 100644
index 00000000..95f67d9d
--- /dev/null
+++ b/app/src/main/java/dev/jdtech/jellyfin/dialogs/DeleteServerDialogFragment.kt
@@ -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")
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/dev/jdtech/jellyfin/serverselect/ServerSelectFragment.kt b/app/src/main/java/dev/jdtech/jellyfin/serverselect/ServerSelectFragment.kt
index 95cd97b4..da75f361 100644
--- a/app/src/main/java/dev/jdtech/jellyfin/serverselect/ServerSelectFragment.kt
+++ b/app/src/main/java/dev/jdtech/jellyfin/serverselect/ServerSelectFragment.kt
@@ -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
})
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 330d4160..94bd6c40 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -10,4 +10,8 @@
Connect
Login
Server icon
+ Remove server
+ Are you sure you want to remove the server %1$s
+ Remove
+ Cancel
\ No newline at end of file