From 996ddbf3db00c80057a401e736900063d64dfa37 Mon Sep 17 00:00:00 2001 From: FooIbar <118464521+FooIbar@users.noreply.github.com> Date: Thu, 12 Jan 2023 16:33:52 +0800 Subject: [PATCH] fixup! Support drag reordering for downloads --- .../com/hippo/ehviewer/ui/scene/DownloadsScene.kt | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/DownloadsScene.kt b/app/src/main/java/com/hippo/ehviewer/ui/scene/DownloadsScene.kt index 6e373c8f1..3fd5fbc7f 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/scene/DownloadsScene.kt +++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/DownloadsScene.kt @@ -1220,10 +1220,17 @@ class DownloadsScene : BaseToolbarScene(), DownloadInfoListener, OnClickFabListe if (fromPosition == toPosition) { return false } + val allInfoList = mDownloadManager!!.allDownloadInfoList + val dbFromPosition = allInfoList.indexOf(mList!![fromPosition]) + val dbToPosition = allInfoList.indexOf(mList!![toPosition]) lifecycleScope.launchIO { - EhDB.moveDownloadInfo(fromPosition, toPosition) - val item = mList!!.removeAt(fromPosition) - mList!!.add(toPosition, item) + EhDB.moveDownloadInfo(dbFromPosition, dbToPosition) + val item = allInfoList.removeAt(dbFromPosition) + allInfoList.add(dbToPosition, item) + if (mLabel != null) { + val item1 = mList!!.removeAt(fromPosition) + mList!!.add(toPosition, item1) + } withUIContext { mAdapter!!.notifyItemMoved(fromPosition, toPosition) }