使用ProgressBar
This commit is contained in:
24 files changed
+54
-463
No files matched your search
+1
-1
@@ -216,7 +216,7 @@ class ChangeChapterSourceDialog() : BaseDialogFragment(R.layout.dialog_chapter_c
|
||||
|
||||
private fun initLiveData() {
|
||||
viewModel.searchStateData.observe(viewLifecycleOwner) {
|
||||
binding.refreshProgressBar.isAutoLoading = it
|
||||
binding.refreshProgressBar.isVisible = it
|
||||
if (it) {
|
||||
startStopMenuItem?.let { item ->
|
||||
item.setIcon(R.drawable.ic_stop_black_24dp)
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package io.legato.kazusa.ui.book.import.local
|
||||
|
||||
//import io.legado.app.lib.theme.backgroundColor
|
||||
import android.annotation.SuppressLint
|
||||
import android.net.Uri
|
||||
import android.os.Bundle
|
||||
@@ -8,6 +9,8 @@ import android.view.MenuItem
|
||||
import androidx.activity.addCallback
|
||||
import androidx.activity.viewModels
|
||||
import androidx.appcompat.widget.PopupMenu
|
||||
import androidx.core.net.toUri
|
||||
import androidx.core.view.isVisible
|
||||
import androidx.documentfile.provider.DocumentFile
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
@@ -19,7 +22,6 @@ import io.legato.kazusa.help.config.AppConfig
|
||||
import io.legato.kazusa.lib.dialogs.alert
|
||||
import io.legato.kazusa.lib.permission.Permissions
|
||||
import io.legato.kazusa.lib.permission.PermissionsCompat
|
||||
//import io.legado.app.lib.theme.backgroundColor
|
||||
import io.legato.kazusa.ui.book.import.BaseImportBookActivity
|
||||
import io.legato.kazusa.ui.file.HandleFileContract
|
||||
import io.legato.kazusa.ui.widget.SelectActionBar
|
||||
@@ -38,7 +40,6 @@ import kotlinx.coroutines.flow.conflate
|
||||
import kotlinx.coroutines.launch
|
||||
import kotlinx.coroutines.withContext
|
||||
import java.io.File
|
||||
import androidx.core.net.toUri
|
||||
|
||||
/**
|
||||
* 导入本地书籍界面
|
||||
@@ -252,12 +253,12 @@ class ImportBookActivity : BaseImportBookActivity<ImportBookViewModel>(),
|
||||
viewModel.rootDoc?.let { doc ->
|
||||
adapter.clearItems()
|
||||
val lastDoc = viewModel.subDocs.lastOrNull() ?: doc
|
||||
binding.refreshProgressBar.isAutoLoading = true
|
||||
binding.refreshProgressBar.isVisible = true
|
||||
scanDocJob?.cancel()
|
||||
scanDocJob = lifecycleScope.launch(IO) {
|
||||
viewModel.scanDoc(lastDoc)
|
||||
withContext(Main) {
|
||||
binding.refreshProgressBar.isAutoLoading = false
|
||||
binding.refreshProgressBar.isVisible = false
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,6 +9,7 @@ import android.view.SubMenu
|
||||
import androidx.activity.addCallback
|
||||
import androidx.activity.viewModels
|
||||
import androidx.core.view.isGone
|
||||
import androidx.core.view.isVisible
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import io.legato.kazusa.R
|
||||
@@ -59,7 +60,7 @@ class RemoteBookActivity : BaseImportBookActivity<RemoteBookViewModel>(),
|
||||
initEvent()
|
||||
launch {
|
||||
viewModel.dataFlow.conflate().collect { sortedRemoteBooks ->
|
||||
binding.refreshProgressBar.isAutoLoading = false
|
||||
binding.refreshProgressBar.isVisible = false
|
||||
binding.tvEmptyMsg.isGone = sortedRemoteBooks.isNotEmpty()
|
||||
adapter.setItems(sortedRemoteBooks)
|
||||
delay(500)
|
||||
@@ -151,11 +152,11 @@ class RemoteBookActivity : BaseImportBookActivity<RemoteBookViewModel>(),
|
||||
|
||||
@SuppressLint("NotifyDataSetChanged")
|
||||
override fun onClickSelectBarMainAction() {
|
||||
binding.refreshProgressBar.isAutoLoading = true
|
||||
binding.refreshProgressBar.isVisible = true
|
||||
viewModel.addToBookshelf(adapter.selected) {
|
||||
adapter.selected.clear()
|
||||
adapter.notifyDataSetChanged()
|
||||
binding.refreshProgressBar.isAutoLoading = false
|
||||
binding.refreshProgressBar.isVisible = false
|
||||
}
|
||||
}
|
||||
|
||||
@@ -184,7 +185,7 @@ class RemoteBookActivity : BaseImportBookActivity<RemoteBookViewModel>(),
|
||||
viewModel.loadRemoteBookList(
|
||||
viewModel.dirList.lastOrNull()?.path
|
||||
) {
|
||||
binding.refreshProgressBar.isAutoLoading = it
|
||||
binding.refreshProgressBar.isVisible = it
|
||||
}
|
||||
}
|
||||
|
||||
@@ -247,9 +248,9 @@ class RemoteBookActivity : BaseImportBookActivity<RemoteBookViewModel>(),
|
||||
override fun addToBookShelfAgain(remoteBook: RemoteBook) {
|
||||
alert(getString(R.string.sure), "是否重新加入书架?") {
|
||||
yesButton {
|
||||
binding.refreshProgressBar.isAutoLoading = true
|
||||
binding.refreshProgressBar.isVisible = true
|
||||
viewModel.addToBookshelf(hashSetOf(remoteBook)) {
|
||||
binding.refreshProgressBar.isAutoLoading = false
|
||||
binding.refreshProgressBar.isVisible = false
|
||||
}
|
||||
}
|
||||
noButton()
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package io.legato.kazusa.ui.book.read
|
||||
|
||||
//import io.legado.app.lib.theme.primaryColor
|
||||
import android.app.Application
|
||||
import android.content.DialogInterface
|
||||
import android.os.Bundle
|
||||
@@ -20,13 +21,13 @@ import io.legato.kazusa.help.book.ContentProcessor
|
||||
import io.legato.kazusa.help.book.isLocal
|
||||
import io.legato.kazusa.help.coroutine.Coroutine
|
||||
import io.legato.kazusa.lib.dialogs.alert
|
||||
//import io.legado.app.lib.theme.primaryColor
|
||||
import io.legato.kazusa.model.ReadBook
|
||||
import io.legato.kazusa.model.webBook.WebBook
|
||||
import io.legato.kazusa.utils.applyTint
|
||||
import io.legato.kazusa.utils.gone
|
||||
import io.legato.kazusa.utils.sendToClip
|
||||
import io.legato.kazusa.utils.setLayout
|
||||
import io.legato.kazusa.utils.viewbindingdelegate.viewBinding
|
||||
import io.legato.kazusa.utils.visible
|
||||
import kotlinx.coroutines.Dispatchers.IO
|
||||
import kotlinx.coroutines.launch
|
||||
import kotlinx.coroutines.withContext
|
||||
|
||||
@@ -10,6 +10,7 @@ import android.widget.EditText
|
||||
import androidx.activity.viewModels
|
||||
import androidx.appcompat.widget.SearchView
|
||||
import androidx.core.view.allViews
|
||||
import androidx.core.view.isVisible
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import io.legato.kazusa.R
|
||||
import io.legato.kazusa.base.VMBaseActivity
|
||||
@@ -210,7 +211,7 @@ class SearchContentActivity :
|
||||
viewModel.searchResultList.clear()
|
||||
viewModel.searchResultCounts = 0
|
||||
viewModel.lastQuery = query
|
||||
binding.refreshProgressBar.isAutoLoading = true
|
||||
binding.refreshProgressBar.isVisible = true
|
||||
binding.fbStop.visible()
|
||||
searchJob = lifecycleScope.launch(IO) {
|
||||
initJob?.join()
|
||||
@@ -246,7 +247,7 @@ class SearchContentActivity :
|
||||
}
|
||||
binding.tvCurrentSearchInfo.post {
|
||||
binding.fbStop.invisible()
|
||||
binding.refreshProgressBar.isAutoLoading = false
|
||||
binding.refreshProgressBar.isVisible = false
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,11 +19,13 @@ import io.legato.kazusa.lib.dialogs.selector
|
||||
import io.legato.kazusa.ui.qrcode.QrCodeResult
|
||||
import io.legato.kazusa.ui.widget.dialog.TextDialog
|
||||
import io.legato.kazusa.utils.applyNavigationBarPadding
|
||||
import io.legato.kazusa.utils.gone
|
||||
import io.legato.kazusa.utils.launch
|
||||
import io.legato.kazusa.utils.showDialogFragment
|
||||
import io.legato.kazusa.utils.showHelp
|
||||
import io.legato.kazusa.utils.toastOnUi
|
||||
import io.legato.kazusa.utils.viewbindingdelegate.viewBinding
|
||||
import io.legato.kazusa.utils.visible
|
||||
import kotlinx.coroutines.launch
|
||||
import splitties.views.onClick
|
||||
import splitties.views.onLongClick
|
||||
|
||||
Reference in new issue
Block a user