|
|
|
@ -15,11 +15,14 @@ class ImportBookAdapter(context: Context, val callBack: CallBack) : |
|
|
|
|
SimpleRecyclerAdapter<DocItem>(context, R.layout.item_import_book) { |
|
|
|
|
var selectedUris = hashSetOf<String>() |
|
|
|
|
var checkableCount = 0 |
|
|
|
|
private var bookPaths = arrayListOf<String>() |
|
|
|
|
private var bookFileNames = arrayListOf<String>() |
|
|
|
|
|
|
|
|
|
fun upBookHas(uriList: List<String>) { |
|
|
|
|
bookPaths.clear() |
|
|
|
|
bookPaths.addAll(uriList) |
|
|
|
|
fun upBookHas(bookUrls: List<String>) { |
|
|
|
|
bookFileNames.clear() |
|
|
|
|
bookUrls.forEach { |
|
|
|
|
val path = Uri.decode(it) |
|
|
|
|
bookFileNames.add(FileUtils.getName(path)) |
|
|
|
|
} |
|
|
|
|
notifyDataSetChanged() |
|
|
|
|
upCheckableCount() |
|
|
|
|
} |
|
|
|
@ -32,7 +35,7 @@ class ImportBookAdapter(context: Context, val callBack: CallBack) : |
|
|
|
|
private fun upCheckableCount() { |
|
|
|
|
checkableCount = 0 |
|
|
|
|
getItems().forEach { |
|
|
|
|
if (!it.isDir && !bookPaths.contains(it.uri.toString())) { |
|
|
|
|
if (!it.isDir && !bookFileNames.contains(it.uri.toString())) { |
|
|
|
|
checkableCount++ |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
@ -42,7 +45,7 @@ class ImportBookAdapter(context: Context, val callBack: CallBack) : |
|
|
|
|
fun selectAll(selectAll: Boolean) { |
|
|
|
|
if (selectAll) { |
|
|
|
|
getItems().forEach { |
|
|
|
|
if (!it.isDir && !bookPaths.contains(it.uri.toString())) { |
|
|
|
|
if (!it.isDir && !bookFileNames.contains(it.uri.toString())) { |
|
|
|
|
selectedUris.add(it.uri.toString()) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
@ -84,9 +87,7 @@ class ImportBookAdapter(context: Context, val callBack: CallBack) : |
|
|
|
|
ll_brief.gone() |
|
|
|
|
cb_select.isChecked = false |
|
|
|
|
} else { |
|
|
|
|
val path = |
|
|
|
|
if (item.uri.isContentScheme()) item.uri.toString() else item.uri.path |
|
|
|
|
if (bookPaths.contains(path)) { |
|
|
|
|
if (bookFileNames.contains(item.name)) { |
|
|
|
|
iv_icon.setImageResource(R.drawable.ic_book_has) |
|
|
|
|
iv_icon.visible() |
|
|
|
|
cb_select.invisible() |
|
|
|
@ -112,7 +113,7 @@ class ImportBookAdapter(context: Context, val callBack: CallBack) : |
|
|
|
|
getItem(holder.layoutPosition)?.let { |
|
|
|
|
if (it.isDir) { |
|
|
|
|
callBack.nextDoc(it.uri) |
|
|
|
|
} else if (!bookPaths.contains(it.uri.toString())) { |
|
|
|
|
} else if (!bookFileNames.contains(it.uri.toString())) { |
|
|
|
|
if (!selectedUris.contains(it.uri.toString())) { |
|
|
|
|
selectedUris.add(it.uri.toString()) |
|
|
|
|
} else { |
|
|
|
|