Convert EasyRecyclerView to kotlin

This commit is contained in:
FooIbar authored and tarsin committed 2023-06-22 10:01:41 +08:00
1 parent 470a2baa6a
commit 9be7705050
4 files changed
+361 -430

No files matched your search

@@ -449,8 +449,7 @@ object EhEngine {
if (filter) list.removeAll { EhFilter.filterUploader(it) || EhFilter.filterTag(it) || EhFilter.filterTagNamespace(it) }
}
suspend fun addFavoritesRange(gidArray: LongArray, tokenArray: Array<String?>, dstCat: Int) {
require(gidArray.size == tokenArray.size)
gidArray.forEachIndexed { index, gid -> addFavorites(gid, tokenArray[index], dstCat, null) }
suspend fun addFavoritesRange(gidTokenArray: Array<Pair<Long, String>>, dstCat: Int) {
gidTokenArray.forEach { (gid, token) -> addFavorites(gid, token, dstCat, null) }
}
}
File diff suppressed because it is too large. Load diff
@@ -439,16 +439,12 @@ class DownloadsScene :
NewLabelDialogHelper(builder, dialog)
return@setOnMenuItemClickListener true
} else if (id == R.id.action_default_download_label) {
val list = DownloadManager.labelList
val items = arrayOfNulls<String>(list.size + 2)
items[0] = getString(R.string.let_me_select)
items[1] = getString(R.string.default_download_label_name)
var i = 0
val n = list.size
while (i < n) {
items[i + 2] = list[i].label
i++
}
val list = DownloadManager.labelList.mapNotNull { it.label }.toTypedArray()
val items = arrayOf(
getString(R.string.let_me_select),
getString(R.string.default_download_label_name),
*list
)
BaseDialogBuilder(requireContext())
.setTitle(R.string.default_download_label)
.setItems(items) { _: DialogInterface?, which: Int ->
@@ -539,7 +535,7 @@ class DownloadsScene :
if (collectDownloadInfo) {
downloadInfoList = LinkedList()
}
val stateArray = binding.recyclerView.checkedItemPositions
val stateArray = binding.recyclerView.checkedItemPositions!!
for (i in 0 until stateArray.size()) {
if (stateArray.valueAt(i)) {
val info = list[stateArray.keyAt(i)]
@@ -485,17 +485,14 @@ class FavoritesScene :
return
}
mModifyGiList.clear()
val stateArray = binding.contentLayout.recyclerView.checkedItemPositions
var i = 0
val n = stateArray.size()
while (i < n) {
val stateArray = binding.contentLayout.recyclerView.checkedItemPositions!!
for (i in 0 until stateArray.size()) {
if (stateArray.valueAt(i)) {
val gi = mHelper.getDataAtEx(stateArray.keyAt(i))
if (gi != null) {
mModifyGiList.add(gi)
}
}
i++
}
when (position) {
3 -> // Check all
@@ -696,13 +693,7 @@ class FavoritesScene :
}
binding.contentLayout.recyclerView.outOfCustomChoiceMode()
if (mUrlBuilder!!.favCat == FavListUrlBuilder.FAV_CAT_LOCAL) { // Delete local fav
val gidArray = LongArray(mModifyGiList.size)
var i = 0
val n = mModifyGiList.size
while (i < n) {
gidArray[i] = mModifyGiList[i].gid
i++
}
val gidArray = mModifyGiList.map { it.gid }.toLongArray()
EhDB.removeLocalFavorites(gidArray)
mModifyGiList.clear()
mHelper.refresh()
@@ -737,13 +728,7 @@ class FavoritesScene :
}
binding.contentLayout.recyclerView.outOfCustomChoiceMode()
if (srcCat == FavListUrlBuilder.FAV_CAT_LOCAL) { // Move from local to cloud
val gidArray = LongArray(mModifyGiList.size)
var i = 0
val n = mModifyGiList.size
while (i < n) {
gidArray[i] = mModifyGiList[i].gid
i++
}
val gidArray = mModifyGiList.map { it.gid }.toLongArray()
EhDB.removeLocalFavorites(gidArray)
mEnableModify = true
mModifyFavCat = dstCat
@@ -811,22 +796,13 @@ class FavoritesScene :
if (mEnableModify) {
mEnableModify = false
val local = mUrlBuilder!!.favCat == FavListUrlBuilder.FAV_CAT_LOCAL
val gidArray = LongArray(mModifyGiList.size)
if (mModifyAdd) {
val tokenArray = arrayOfNulls<String>(mModifyGiList.size)
var i = 0
val n = mModifyGiList.size
while (i < n) {
val gi = mModifyGiList[i]
gidArray[i] = gi.gid
tokenArray[i] = gi.token
i++
}
val gidTokenArray = mModifyGiList.map { Pair(it.gid, it.token!!) }.toTypedArray()
val modifyGiListBackup: List<GalleryInfo> = ArrayList(mModifyGiList)
mModifyGiList.clear()
lifecycleScope.launchIO {
runSuspendCatching {
EhEngine.addFavoritesRange(gidArray, tokenArray, mModifyFavCat)
EhEngine.addFavoritesRange(gidTokenArray, mModifyFavCat)
}.onSuccess {
withUIContext {
onGetFavoritesLocal(mUrlBuilder?.keyword, taskId)
@@ -841,12 +817,7 @@ class FavoritesScene :
}
}
} else {
var i = 0
val n = mModifyGiList.size
while (i < n) {
gidArray[i] = mModifyGiList[i].gid
i++
}
val gidArray = mModifyGiList.map { it.gid }.toLongArray()
mModifyGiList.clear()
val url: String = if (local) {
// Local fav is shown now, but operation need be done for cloud fav