Make QuickSearch name non-null

This commit is contained in:
FooIbar authored and tarsin committed 2023-07-15 17:39:43 +08:00
1 parent 639d94795c
commit 388bccc468
4 files changed
+22 -25

No files matched your search

@@ -172,7 +172,6 @@ object EhDB {
suspend fun insertQuickSearch(quickSearch: QuickSearch) {
val dao = db.quickSearchDao()
quickSearch.id = null
quickSearch.time = System.currentTimeMillis()
quickSearch.id = dao.insert(quickSearch)
}
@@ -81,6 +81,7 @@ data class ListUrlBuilder(
}
fun set(q: QuickSearch) {
reset()
mode = q.mode
this.category = q.category
mKeyword = q.keyword
@@ -88,21 +89,20 @@ data class ListUrlBuilder(
minRating = q.minRating
pageFrom = q.pageFrom
pageTo = q.pageTo
imagePath = null
isUseSimilarityScan = false
isOnlySearchCovers = false
mNext = q.name.substringAfterLast('@', "").takeIf { it.isNotEmpty() }
}
fun toQuickSearch(): QuickSearch {
val q = QuickSearch()
q.mode = mode
q.category = this.category
q.keyword = mKeyword
q.advanceSearch = advanceSearch
q.minRating = minRating
q.pageFrom = pageFrom
q.pageTo = pageTo
return q
fun toQuickSearch(name: String): QuickSearch {
return QuickSearch(
name = name,
mode = mode,
category = category,
keyword = mKeyword,
advanceSearch = advanceSearch,
minRating = minRating,
pageFrom = pageFrom,
pageTo = pageTo,
)
}
fun equalsQuickSearch(q: QuickSearch?): Boolean {
@@ -11,7 +11,7 @@ data class QuickSearch(
var id: Long? = null,
@ColumnInfo(name = "NAME")
var name: String? = null,
var name: String,
@ColumnInfo(name = "MODE")
var mode: Int = 0,
@@ -532,13 +532,13 @@ class GalleryListScene : SearchBarScene() {
return
}
val gi = mAdapter?.peek(binding.recyclerView.layoutManager!!.firstVisibleItemPosition)
val next = if (gi != null) "@" + (gi.gid + 1) else null
val next = gi?.gid?.plus(1)
// Check duplicate
for (q in mQuickSearchList) {
if (mUrlBuilder.equalsQuickSearch(q)) {
val i = q.name!!.lastIndexOf("@")
if (i != -1 && q.name!!.substring(i) == next) {
val nextStr = q.name.substringAfterLast('@', "").takeIf { it.isNotEmpty() }
if (nextStr?.toLongOrNull() == next) {
showTip(getString(R.string.duplicate_quick_search, q.name), LENGTH_LONG)
return
}
@@ -568,7 +568,7 @@ class GalleryListScene : SearchBarScene() {
return@launchIO
}
if (checked[0] && next != null) {
text += next
text += "@$next"
Settings.qSSaveProgress = true
} else {
Settings.qSSaveProgress = false
@@ -585,8 +585,7 @@ class GalleryListScene : SearchBarScene() {
}
builder.setError(null)
dialog.dismiss()
val quickSearch = mUrlBuilder.toQuickSearch()
quickSearch.name = text
val quickSearch = mUrlBuilder.toQuickSearch(text)
EhDB.insertQuickSearch(quickSearch)
mQuickSearchList.add(quickSearch)
withUIContext {
@@ -913,10 +912,9 @@ class GalleryListScene : SearchBarScene() {
if (!mIsTopList) {
holder.itemView.setOnClickListener {
val q = mQuickSearchList[holder.bindingAdapterPosition]
val i = q.name!!.lastIndexOf("@")
val goto = if (i != -1) q.name!!.substring(i + 1) else null
val args = ListUrlBuilder().apply { set(q) }.toStartArgs().apply { putString(KEY_GOTO, goto) }
navAnimated(R.id.galleryListScene, args, true)
mUrlBuilder.set(q)
onUpdateUrlBuilder()
mAdapter?.refresh()
setState(State.NORMAL)
closeDrawer(GravityCompat.END)
}