pull/461/head
gedoor 4 years ago
parent 4ad73a9a80
commit 91be3bbb03
  1. 15
      app/src/main/java/io/legado/app/ui/book/local/ImportBookAdapter.kt

@ -15,11 +15,11 @@ class ImportBookAdapter(context: Context, val callBack: CallBack) :
SimpleRecyclerAdapter<DocItem>(context, R.layout.item_import_book) { SimpleRecyclerAdapter<DocItem>(context, R.layout.item_import_book) {
var selectedUris = hashSetOf<String>() var selectedUris = hashSetOf<String>()
var checkableCount = 0 var checkableCount = 0
private var bookshelf = arrayListOf<String>() private var bookPaths = arrayListOf<String>()
fun upBookHas(uriList: List<String>) { fun upBookHas(uriList: List<String>) {
bookshelf.clear() bookPaths.clear()
bookshelf.addAll(uriList) bookPaths.addAll(uriList)
notifyDataSetChanged() notifyDataSetChanged()
upCheckableCount() upCheckableCount()
} }
@ -32,7 +32,7 @@ class ImportBookAdapter(context: Context, val callBack: CallBack) :
private fun upCheckableCount() { private fun upCheckableCount() {
checkableCount = 0 checkableCount = 0
getItems().forEach { getItems().forEach {
if (!it.isDir && !bookshelf.contains(it.uri.toString())) { if (!it.isDir && !bookPaths.contains(it.uri.toString())) {
checkableCount++ checkableCount++
} }
} }
@ -42,7 +42,7 @@ class ImportBookAdapter(context: Context, val callBack: CallBack) :
fun selectAll(selectAll: Boolean) { fun selectAll(selectAll: Boolean) {
if (selectAll) { if (selectAll) {
getItems().forEach { getItems().forEach {
if (!it.isDir && !bookshelf.contains(it.uri.toString())) { if (!it.isDir && !bookPaths.contains(it.uri.toString())) {
selectedUris.add(it.uri.toString()) selectedUris.add(it.uri.toString())
} }
} }
@ -84,7 +84,8 @@ class ImportBookAdapter(context: Context, val callBack: CallBack) :
ll_brief.gone() ll_brief.gone()
cb_select.isChecked = false cb_select.isChecked = false
} else { } else {
if (bookshelf.contains(item.uri.toString())) { val path = if (item.uri.isContentPath()) item.uri.toString() else item.uri.path
if (bookPaths.contains(path)) {
iv_icon.setImageResource(R.drawable.ic_book_has) iv_icon.setImageResource(R.drawable.ic_book_has)
iv_icon.visible() iv_icon.visible()
cb_select.invisible() cb_select.invisible()
@ -110,7 +111,7 @@ class ImportBookAdapter(context: Context, val callBack: CallBack) :
getItem(holder.layoutPosition)?.let { getItem(holder.layoutPosition)?.let {
if (it.isDir) { if (it.isDir) {
callBack.nextDoc(it.uri) callBack.nextDoc(it.uri)
} else if (!bookshelf.contains(it.uri.toString())) { } else if (!bookPaths.contains(it.uri.toString())) {
if (!selectedUris.contains(it.uri.toString())) { if (!selectedUris.contains(it.uri.toString())) {
selectedUris.add(it.uri.toString()) selectedUris.add(it.uri.toString())
} else { } else {

Loading…
Cancel
Save