mirror of
https://github.com/Aviortheking/Neo-Store.git
synced 2025-04-23 19:32:16 +00:00
Add: RepoManager interface
This commit is contained in:
parent
13f79a9568
commit
15174a8682
@ -55,3 +55,7 @@ const val PREFS_LANGUAGE = "languages"
|
||||
const val PREFS_LANGUAGE_DEFAULT = "system"
|
||||
|
||||
const val EXTRA_REPOSITORY_ID = "repositoryId"
|
||||
|
||||
interface RepoManager {
|
||||
fun onDeleteConfirm()
|
||||
}
|
||||
|
@ -10,8 +10,8 @@ import androidx.fragment.app.DialogFragment
|
||||
import androidx.fragment.app.FragmentManager
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||
import com.looker.droidify.R
|
||||
import com.looker.droidify.RepoManager
|
||||
import com.looker.droidify.database.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
|
||||
@ -146,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 RepositorySheetX).onDeleteConfirm() }
|
||||
dialog.setPositiveButton(R.string.delete) { _, _ -> (parentFragment as RepoManager).onDeleteConfirm() }
|
||||
dialog.setNegativeButton(R.string.cancel, null)
|
||||
}
|
||||
is Message.CantEditSyncing -> {
|
||||
|
@ -18,6 +18,7 @@ import androidx.fragment.app.viewModels
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||
import com.looker.droidify.EXTRA_REPOSITORY_ID
|
||||
import com.looker.droidify.R
|
||||
import com.looker.droidify.RepoManager
|
||||
import com.looker.droidify.databinding.SheetEditRepositoryBinding
|
||||
import com.looker.droidify.network.Downloader
|
||||
import com.looker.droidify.screen.MessageDialog
|
||||
@ -32,6 +33,7 @@ import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
|
||||
import io.reactivex.rxjava3.core.Single
|
||||
import io.reactivex.rxjava3.disposables.Disposable
|
||||
import io.reactivex.rxjava3.schedulers.Schedulers
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.GlobalScope
|
||||
import kotlinx.coroutines.MainScope
|
||||
import kotlinx.coroutines.launch
|
||||
@ -43,7 +45,7 @@ import java.nio.charset.Charset
|
||||
import java.util.*
|
||||
import kotlin.math.min
|
||||
|
||||
class EditRepositorySheetX() : FullscreenBottomSheetDialogFragment() {
|
||||
class EditRepositorySheetX() : FullscreenBottomSheetDialogFragment(), RepoManager {
|
||||
private lateinit var binding: SheetEditRepositoryBinding
|
||||
val viewModel: RepositoryViewModelX by viewModels {
|
||||
RepositoryViewModelX.Factory((requireActivity() as PrefsActivityX).db, repositoryId)
|
||||
@ -427,4 +429,11 @@ class EditRepositorySheetX() : FullscreenBottomSheetDialogFragment() {
|
||||
.create()
|
||||
}
|
||||
}
|
||||
|
||||
override fun onDeleteConfirm() {
|
||||
GlobalScope.launch(Dispatchers.IO) {
|
||||
if (syncConnection.binder?.deleteRepository(repositoryId) == true)
|
||||
dismissAllowingStateLoss()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -11,6 +11,7 @@ import android.view.ViewGroup
|
||||
import androidx.fragment.app.viewModels
|
||||
import com.looker.droidify.EXTRA_REPOSITORY_ID
|
||||
import com.looker.droidify.R
|
||||
import com.looker.droidify.RepoManager
|
||||
import com.looker.droidify.databinding.SheetRepositoryBinding
|
||||
import com.looker.droidify.screen.MessageDialog
|
||||
import com.looker.droidify.service.Connection
|
||||
@ -23,7 +24,7 @@ import kotlinx.coroutines.GlobalScope
|
||||
import kotlinx.coroutines.launch
|
||||
import java.util.*
|
||||
|
||||
class RepositorySheetX() : FullscreenBottomSheetDialogFragment() {
|
||||
class RepositorySheetX() : FullscreenBottomSheetDialogFragment(), RepoManager {
|
||||
private lateinit var binding: SheetRepositoryBinding
|
||||
val viewModel: RepositoryViewModelX by viewModels {
|
||||
RepositoryViewModelX.Factory((requireActivity() as PrefsActivityX).db, repositoryId)
|
||||
@ -138,7 +139,7 @@ class RepositorySheetX() : FullscreenBottomSheetDialogFragment() {
|
||||
}
|
||||
}
|
||||
|
||||
internal fun onDeleteConfirm() {
|
||||
override fun onDeleteConfirm() {
|
||||
GlobalScope.launch(Dispatchers.IO) {
|
||||
if (syncConnection.binder?.deleteRepository(repositoryId) == true)
|
||||
dismissAllowingStateLoss()
|
||||
|
Loading…
x
Reference in New Issue
Block a user