Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/schaal/ocreader.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/email/schaal/ocreader/ListActivity.kt')
-rw-r--r--app/src/main/java/email/schaal/ocreader/ListActivity.kt28
1 files changed, 14 insertions, 14 deletions
diff --git a/app/src/main/java/email/schaal/ocreader/ListActivity.kt b/app/src/main/java/email/schaal/ocreader/ListActivity.kt
index f92386cd..eb27d787 100644
--- a/app/src/main/java/email/schaal/ocreader/ListActivity.kt
+++ b/app/src/main/java/email/schaal/ocreader/ListActivity.kt
@@ -25,6 +25,7 @@ import android.content.Intent
import android.content.SharedPreferences
import android.content.SharedPreferences.OnSharedPreferenceChangeListener
import android.os.Bundle
+import android.util.Log
import android.view.ActionMode
import android.view.Menu
import android.view.MenuItem
@@ -41,6 +42,7 @@ import androidx.preference.PreferenceManager
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout.OnRefreshListener
import androidx.work.WorkInfo
+import androidx.work.WorkManager
import com.google.android.material.snackbar.Snackbar
import com.mikepenz.aboutlibraries.LibsBuilder
import email.schaal.ocreader.R.string
@@ -123,7 +125,7 @@ class ListActivity : AppCompatActivity(), ItemViewHolder.OnClickListener, OnRefr
true
}
R.id.menu_sync -> {
- observeWork(SyncWorker.sync(this, SyncType.FULL_SYNC))
+ SyncWorker.sync(this, SyncType.FULL_SYNC)
true
}
R.id.menu_about -> {
@@ -156,9 +158,6 @@ class ListActivity : AppCompatActivity(), ItemViewHolder.OnClickListener, OnRefr
Preferences.SHOW_ONLY_UNREAD.key -> {
feedViewModel.updateFolders(Preferences.SHOW_ONLY_UNREAD.getBoolean(preferences))
}
- Preferences.SYS_SYNC_RUNNING.key -> {
- updateSyncStatus(Preferences.SYS_SYNC_RUNNING.getBoolean(preferences))
- }
}
}
@@ -183,15 +182,16 @@ class ListActivity : AppCompatActivity(), ItemViewHolder.OnClickListener, OnRefr
layoutManager.onRestoreInstanceState(savedInstanceState.getParcelable(LAYOUT_MANAGER_STATE))
adapter.onRestoreInstanceState(savedInstanceState)
}
- }
- private fun observeWork(workLiveData: LiveData<WorkInfo>) {
- workLiveData.observe(this, { info ->
- if(info != null && info.state.isFinished) {
- info.outputData.getString(SyncWorker.KEY_EXCEPTION)?.let {
- Snackbar.make(binding.listviewSwitcher,
- it, Snackbar.LENGTH_LONG).show()
+ SyncWorker.getLiveData(applicationContext).observe(this, { infos ->
+ infos.firstOrNull()?.apply {
+ if(state.isFinished) {
+ outputData.getString(SyncWorker.KEY_EXCEPTION)?.let {
+ Snackbar.make(binding.listviewSwitcher,
+ it, Snackbar.LENGTH_LONG).show()
+ }
}
+ updateSyncStatus(!state.isFinished)
}
})
}
@@ -239,7 +239,7 @@ class ListActivity : AppCompatActivity(), ItemViewHolder.OnClickListener, OnRefr
}
if(result.first == Activity.RESULT_OK) {
Queries.resetDatabase()
- observeWork(SyncWorker.sync(this, SyncType.FULL_SYNC))
+ SyncWorker.sync(this, SyncType.FULL_SYNC)
}
}
@@ -305,13 +305,13 @@ class ListActivity : AppCompatActivity(), ItemViewHolder.OnClickListener, OnRefr
}
override fun onItemLongClick(item: Item, position: Int) {
- if (actionMode != null || Preferences.SYS_SYNC_RUNNING.getBoolean(PreferenceManager.getDefaultSharedPreferences(this))) return
+ if (actionMode != null || binding.swipeRefreshLayout.isRefreshing) return
adapter.toggleSelection(position)
actionMode = startActionMode(this)
}
override fun onRefresh() {
- observeWork(SyncWorker.sync(this, SyncType.FULL_SYNC))
+ SyncWorker.sync(this, SyncType.FULL_SYNC)
}
override fun onCreateActionMode(mode: ActionMode, menu: Menu): Boolean {