mirror of
https://github.com/Aviortheking/Neo-Store.git
synced 2025-06-08 08:49: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.looker.droidify.R
|
||||
import com.looker.droidify.entity.Release
|
||||
import com.looker.droidify.ui.fragments.RepositorySheetX
|
||||
import com.looker.droidify.utility.KParcelable
|
||||
import com.looker.droidify.utility.PackageItemResolver
|
||||
import com.looker.droidify.utility.extension.android.Android
|
||||
@ -145,7 +146,7 @@ class MessageDialog() : DialogFragment() {
|
||||
is Message.DeleteRepositoryConfirm -> {
|
||||
dialog.setTitle(R.string.confirmation)
|
||||
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)
|
||||
}
|
||||
is Message.CantEditSyncing -> {
|
||||
|
@ -15,11 +15,15 @@ import com.google.android.material.bottomsheet.BottomSheetDialog
|
||||
import com.google.android.material.bottomsheet.BottomSheetDialogFragment
|
||||
import com.looker.droidify.R
|
||||
import com.looker.droidify.databinding.SheetRepositoryBinding
|
||||
import com.looker.droidify.screen.MessageDialog
|
||||
import com.looker.droidify.service.Connection
|
||||
import com.looker.droidify.service.SyncService
|
||||
import com.looker.droidify.ui.activities.PrefsActivityX
|
||||
import com.looker.droidify.ui.viewmodels.RepositoryViewModelX
|
||||
import com.looker.droidify.utility.extension.resources.getColorFromAttr
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.GlobalScope
|
||||
import kotlinx.coroutines.launch
|
||||
import java.util.*
|
||||
|
||||
class RepositorySheetX() : BottomSheetDialogFragment() {
|
||||
@ -56,10 +60,19 @@ class RepositorySheetX() : BottomSheetDialogFragment() {
|
||||
): View {
|
||||
binding = SheetRepositoryBinding.inflate(layoutInflater)
|
||||
syncConnection.bind(requireContext())
|
||||
viewModel.repo.observe(viewLifecycleOwner) { updateRepositoryView() }
|
||||
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() {
|
||||
super.onDestroyView()
|
||||
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