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
@ -54,4 +54,8 @@ const val JOB_ID_SYNC = 1
|
|||||||
const val PREFS_LANGUAGE = "languages"
|
const val PREFS_LANGUAGE = "languages"
|
||||||
const val PREFS_LANGUAGE_DEFAULT = "system"
|
const val PREFS_LANGUAGE_DEFAULT = "system"
|
||||||
|
|
||||||
const val EXTRA_REPOSITORY_ID = "repositoryId"
|
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 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.RepoManager
|
||||||
import com.looker.droidify.database.entity.Release
|
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.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
|
||||||
@ -146,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 RepositorySheetX).onDeleteConfirm() }
|
dialog.setPositiveButton(R.string.delete) { _, _ -> (parentFragment as RepoManager).onDeleteConfirm() }
|
||||||
dialog.setNegativeButton(R.string.cancel, null)
|
dialog.setNegativeButton(R.string.cancel, null)
|
||||||
}
|
}
|
||||||
is Message.CantEditSyncing -> {
|
is Message.CantEditSyncing -> {
|
||||||
|
@ -18,6 +18,7 @@ import androidx.fragment.app.viewModels
|
|||||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||||
import com.looker.droidify.EXTRA_REPOSITORY_ID
|
import com.looker.droidify.EXTRA_REPOSITORY_ID
|
||||||
import com.looker.droidify.R
|
import com.looker.droidify.R
|
||||||
|
import com.looker.droidify.RepoManager
|
||||||
import com.looker.droidify.databinding.SheetEditRepositoryBinding
|
import com.looker.droidify.databinding.SheetEditRepositoryBinding
|
||||||
import com.looker.droidify.network.Downloader
|
import com.looker.droidify.network.Downloader
|
||||||
import com.looker.droidify.screen.MessageDialog
|
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.core.Single
|
||||||
import io.reactivex.rxjava3.disposables.Disposable
|
import io.reactivex.rxjava3.disposables.Disposable
|
||||||
import io.reactivex.rxjava3.schedulers.Schedulers
|
import io.reactivex.rxjava3.schedulers.Schedulers
|
||||||
|
import kotlinx.coroutines.Dispatchers
|
||||||
import kotlinx.coroutines.GlobalScope
|
import kotlinx.coroutines.GlobalScope
|
||||||
import kotlinx.coroutines.MainScope
|
import kotlinx.coroutines.MainScope
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
@ -43,7 +45,7 @@ import java.nio.charset.Charset
|
|||||||
import java.util.*
|
import java.util.*
|
||||||
import kotlin.math.min
|
import kotlin.math.min
|
||||||
|
|
||||||
class EditRepositorySheetX() : FullscreenBottomSheetDialogFragment() {
|
class EditRepositorySheetX() : FullscreenBottomSheetDialogFragment(), RepoManager {
|
||||||
private lateinit var binding: SheetEditRepositoryBinding
|
private lateinit var binding: SheetEditRepositoryBinding
|
||||||
val viewModel: RepositoryViewModelX by viewModels {
|
val viewModel: RepositoryViewModelX by viewModels {
|
||||||
RepositoryViewModelX.Factory((requireActivity() as PrefsActivityX).db, repositoryId)
|
RepositoryViewModelX.Factory((requireActivity() as PrefsActivityX).db, repositoryId)
|
||||||
@ -427,4 +429,11 @@ class EditRepositorySheetX() : FullscreenBottomSheetDialogFragment() {
|
|||||||
.create()
|
.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 androidx.fragment.app.viewModels
|
||||||
import com.looker.droidify.EXTRA_REPOSITORY_ID
|
import com.looker.droidify.EXTRA_REPOSITORY_ID
|
||||||
import com.looker.droidify.R
|
import com.looker.droidify.R
|
||||||
|
import com.looker.droidify.RepoManager
|
||||||
import com.looker.droidify.databinding.SheetRepositoryBinding
|
import com.looker.droidify.databinding.SheetRepositoryBinding
|
||||||
import com.looker.droidify.screen.MessageDialog
|
import com.looker.droidify.screen.MessageDialog
|
||||||
import com.looker.droidify.service.Connection
|
import com.looker.droidify.service.Connection
|
||||||
@ -23,7 +24,7 @@ import kotlinx.coroutines.GlobalScope
|
|||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import java.util.*
|
import java.util.*
|
||||||
|
|
||||||
class RepositorySheetX() : FullscreenBottomSheetDialogFragment() {
|
class RepositorySheetX() : FullscreenBottomSheetDialogFragment(), RepoManager {
|
||||||
private lateinit var binding: SheetRepositoryBinding
|
private lateinit var binding: SheetRepositoryBinding
|
||||||
val viewModel: RepositoryViewModelX by viewModels {
|
val viewModel: RepositoryViewModelX by viewModels {
|
||||||
RepositoryViewModelX.Factory((requireActivity() as PrefsActivityX).db, repositoryId)
|
RepositoryViewModelX.Factory((requireActivity() as PrefsActivityX).db, repositoryId)
|
||||||
@ -138,7 +139,7 @@ class RepositorySheetX() : FullscreenBottomSheetDialogFragment() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
internal fun onDeleteConfirm() {
|
override fun onDeleteConfirm() {
|
||||||
GlobalScope.launch(Dispatchers.IO) {
|
GlobalScope.launch(Dispatchers.IO) {
|
||||||
if (syncConnection.binder?.deleteRepository(repositoryId) == true)
|
if (syncConnection.binder?.deleteRepository(repositoryId) == true)
|
||||||
dismissAllowingStateLoss()
|
dismissAllowingStateLoss()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user