ananas/app/src/main/java/dev/jdtech/jellyfin/fragments/ServerSelectFragment.kt
Jarne Demeulemeester 25ee7d05af
Add first dependency
2021-07-05 21:46:32 +02:00

65 lines
No EOL
2.1 KiB
Kotlin

package dev.jdtech.jellyfin.fragments
import android.os.Bundle
import androidx.fragment.app.Fragment
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.fragment.app.viewModels
import androidx.navigation.fragment.findNavController
import dagger.hilt.android.AndroidEntryPoint
import dev.jdtech.jellyfin.R
import dev.jdtech.jellyfin.databinding.FragmentServerSelectBinding
import dev.jdtech.jellyfin.dialogs.DeleteServerDialogFragment
import dev.jdtech.jellyfin.adapters.ServerGridAdapter
import dev.jdtech.jellyfin.viewmodels.ServerSelectViewModel
@AndroidEntryPoint
class ServerSelectFragment : Fragment() {
private lateinit var binding: FragmentServerSelectBinding
private val viewModel: ServerSelectViewModel by viewModels()
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View {
binding = FragmentServerSelectBinding.inflate(inflater)
binding.lifecycleOwner = this
binding.viewModel = viewModel
binding.serversRecyclerView.adapter =
ServerGridAdapter(ServerGridAdapter.OnClickListener { server ->
viewModel.connectToServer(server)
}, ServerGridAdapter.OnLongClickListener { server ->
DeleteServerDialogFragment(viewModel, server).show(
parentFragmentManager,
"deleteServer"
)
true
})
binding.buttonAddServer.setOnClickListener {
navigateToAddServerFragment()
}
viewModel.navigateToMain.observe(viewLifecycleOwner, {
if (it) {
navigateToMainActivity()
}
})
return binding.root
}
private fun navigateToAddServerFragment() {
findNavController().navigate(R.id.action_serverSelectFragment_to_addServerFragment)
}
private fun navigateToMainActivity() {
findNavController().navigate(R.id.action_serverSelectFragment_to_mainActivity)
viewModel.doneNavigatingToMain()
}
}