mirror of
https://github.com/Aviortheking/Neo-Store.git
synced 2025-06-08 16:59:55 +00:00
Update: Delete repository button (wired)
This commit is contained in:
parent
55184a7829
commit
6ed4a2eb6f
@ -11,6 +11,7 @@ import androidx.fragment.app.FragmentManager
|
|||||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||||
import com.looker.droidify.R
|
import com.looker.droidify.R
|
||||||
import com.looker.droidify.entity.Release
|
import com.looker.droidify.entity.Release
|
||||||
|
import com.looker.droidify.ui.fragments.RepositorySheetX
|
||||||
import com.looker.droidify.utility.KParcelable
|
import com.looker.droidify.utility.KParcelable
|
||||||
import com.looker.droidify.utility.PackageItemResolver
|
import com.looker.droidify.utility.PackageItemResolver
|
||||||
import com.looker.droidify.utility.extension.android.Android
|
import com.looker.droidify.utility.extension.android.Android
|
||||||
@ -145,7 +146,7 @@ class MessageDialog() : DialogFragment() {
|
|||||||
is Message.DeleteRepositoryConfirm -> {
|
is Message.DeleteRepositoryConfirm -> {
|
||||||
dialog.setTitle(R.string.confirmation)
|
dialog.setTitle(R.string.confirmation)
|
||||||
dialog.setMessage(R.string.delete_repository_DESC)
|
dialog.setMessage(R.string.delete_repository_DESC)
|
||||||
dialog.setPositiveButton(R.string.delete) { _, _ -> (parentFragment as RepositoryFragment).onDeleteConfirm() }
|
dialog.setPositiveButton(R.string.delete) { _, _ -> (parentFragment as RepositorySheetX).onDeleteConfirm() }
|
||||||
dialog.setNegativeButton(R.string.cancel, null)
|
dialog.setNegativeButton(R.string.cancel, null)
|
||||||
}
|
}
|
||||||
is Message.CantEditSyncing -> {
|
is Message.CantEditSyncing -> {
|
||||||
|
@ -15,11 +15,15 @@ import com.google.android.material.bottomsheet.BottomSheetDialog
|
|||||||
import com.google.android.material.bottomsheet.BottomSheetDialogFragment
|
import com.google.android.material.bottomsheet.BottomSheetDialogFragment
|
||||||
import com.looker.droidify.R
|
import com.looker.droidify.R
|
||||||
import com.looker.droidify.databinding.SheetRepositoryBinding
|
import com.looker.droidify.databinding.SheetRepositoryBinding
|
||||||
|
import com.looker.droidify.screen.MessageDialog
|
||||||
import com.looker.droidify.service.Connection
|
import com.looker.droidify.service.Connection
|
||||||
import com.looker.droidify.service.SyncService
|
import com.looker.droidify.service.SyncService
|
||||||
import com.looker.droidify.ui.activities.PrefsActivityX
|
import com.looker.droidify.ui.activities.PrefsActivityX
|
||||||
import com.looker.droidify.ui.viewmodels.RepositoryViewModelX
|
import com.looker.droidify.ui.viewmodels.RepositoryViewModelX
|
||||||
import com.looker.droidify.utility.extension.resources.getColorFromAttr
|
import com.looker.droidify.utility.extension.resources.getColorFromAttr
|
||||||
|
import kotlinx.coroutines.Dispatchers
|
||||||
|
import kotlinx.coroutines.GlobalScope
|
||||||
|
import kotlinx.coroutines.launch
|
||||||
import java.util.*
|
import java.util.*
|
||||||
|
|
||||||
class RepositorySheetX() : BottomSheetDialogFragment() {
|
class RepositorySheetX() : BottomSheetDialogFragment() {
|
||||||
@ -56,10 +60,19 @@ class RepositorySheetX() : BottomSheetDialogFragment() {
|
|||||||
): View {
|
): View {
|
||||||
binding = SheetRepositoryBinding.inflate(layoutInflater)
|
binding = SheetRepositoryBinding.inflate(layoutInflater)
|
||||||
syncConnection.bind(requireContext())
|
syncConnection.bind(requireContext())
|
||||||
viewModel.repo.observe(viewLifecycleOwner) { updateRepositoryView() }
|
|
||||||
return binding.root
|
return binding.root
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
|
super.onViewCreated(view, savedInstanceState)
|
||||||
|
viewModel.repo.observe(viewLifecycleOwner) { updateRepositoryView() }
|
||||||
|
binding.delete.setOnClickListener {
|
||||||
|
MessageDialog(MessageDialog.Message.DeleteRepositoryConfirm).show(
|
||||||
|
childFragmentManager
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
override fun onDestroyView() {
|
override fun onDestroyView() {
|
||||||
super.onDestroyView()
|
super.onDestroyView()
|
||||||
syncConnection.unbind(requireContext())
|
syncConnection.unbind(requireContext())
|
||||||
@ -132,4 +145,11 @@ class RepositorySheetX() : BottomSheetDialogFragment() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
internal fun onDeleteConfirm() {
|
||||||
|
GlobalScope.launch(Dispatchers.IO) {
|
||||||
|
if (syncConnection.binder?.deleteRepository(repositoryId) == true)
|
||||||
|
dismissAllowingStateLoss()
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user