Make QuickSearch name non-null
This commit is contained in:
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)
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user