mirror of
https://github.com/Aviortheking/Neo-Store.git
synced 2025-04-24 03:42:15 +00:00
Add: Update all in installed tab (closes #3)
This commit is contained in:
parent
cb568c84e5
commit
ce647baaf3
@ -102,6 +102,8 @@ class SyncService : ConnectionService<SyncService.Binder>() {
|
||||
}
|
||||
}
|
||||
|
||||
fun updateApps(prodcts: List<ProductItem>) = batchUpdate(prodcts)
|
||||
|
||||
fun sync(request: SyncRequest) {
|
||||
GlobalScope.launch {
|
||||
val ids = db.repositoryDao.all.filter { it.enabled }.map { it.id }.toList()
|
||||
@ -406,7 +408,7 @@ class SyncService : ConnectionService<SyncService.Binder>() {
|
||||
handleNextTask(false)
|
||||
if (result.isNotEmpty()) {
|
||||
if (Preferences[Preferences.Key.InstallAfterSync])
|
||||
runAutoUpdate(result)
|
||||
batchUpdate(result)
|
||||
if (hasUpdates && Preferences[Preferences.Key.UpdateNotify] &&
|
||||
updateNotificationBlockerFragment?.get()?.isAdded == true
|
||||
)
|
||||
@ -436,7 +438,7 @@ class SyncService : ConnectionService<SyncService.Binder>() {
|
||||
* @param productItems a list of apps pending updates
|
||||
* @see SyncService.displayUpdatesNotification
|
||||
*/
|
||||
private fun runAutoUpdate(productItems: List<ProductItem>) {
|
||||
private fun batchUpdate(productItems: List<ProductItem>) {
|
||||
if (Preferences[Preferences.Key.InstallAfterSync]) GlobalScope.launch {
|
||||
// run startUpdate on every item
|
||||
productItems.map { productItem ->
|
||||
|
@ -55,7 +55,7 @@ class MainActivityX : AppCompatActivity() {
|
||||
private val viewModel: MainActivityViewModelX by viewModels()
|
||||
val menuSetup = MutableLiveData<Boolean>()
|
||||
|
||||
private val syncConnection = Connection(SyncService::class.java, onBind = { _, _ ->
|
||||
val syncConnection = Connection(SyncService::class.java, onBind = { _, _ ->
|
||||
navController.currentDestination?.let {
|
||||
val source = Source.values()[when (it.id) {
|
||||
R.id.latestTab -> 1
|
||||
|
@ -10,6 +10,7 @@ import androidx.compose.material.Scaffold
|
||||
import com.google.android.material.composethemeadapter.MdcTheme
|
||||
import com.looker.droidify.R
|
||||
import com.looker.droidify.content.Preferences
|
||||
import com.looker.droidify.database.entity.Product
|
||||
import com.looker.droidify.database.entity.Repository
|
||||
import com.looker.droidify.databinding.FragmentInstalledXBinding
|
||||
import com.looker.droidify.ui.compose.ProductsHorizontalRecycler
|
||||
@ -99,6 +100,11 @@ class InstalledFragment : MainNavFragmentX() {
|
||||
}
|
||||
}
|
||||
}
|
||||
binding.buttonUpdateAll.setOnClickListener {
|
||||
viewModel.secondaryProducts.value?.let {
|
||||
mainActivityX.syncConnection.binder?.updateApps(it.map(Product::item))
|
||||
}
|
||||
}
|
||||
mainActivityX.menuSetup.observe(viewLifecycleOwner) {
|
||||
if (it != null) {
|
||||
val searchView =
|
||||
|
Loading…
x
Reference in New Issue
Block a user