Fix missing quotes in uploader name
This commit is contained in:
1 parent
80225bfe6c
commit
24505cb77c
6 files changed
+27
-28
No files matched your search
@@ -35,7 +35,7 @@ data class ListUrlBuilder(
|
||||
private var jumpTo: String? = null,
|
||||
private var range: Int = 0,
|
||||
var category: Int = EhUtils.NONE,
|
||||
private var mKeyword: String? = null,
|
||||
var keyword: String? = null,
|
||||
var hash: String? = null,
|
||||
var language: Int = -1,
|
||||
var advanceSearch: Int = -1,
|
||||
@@ -69,16 +69,10 @@ data class ListUrlBuilder(
|
||||
jumpTo = date
|
||||
}
|
||||
|
||||
var keyword: String?
|
||||
get() = if (MODE_UPLOADER == mode) "uploader:$mKeyword" else mKeyword
|
||||
set(keyword) {
|
||||
mKeyword = keyword
|
||||
}
|
||||
|
||||
constructor(q: QuickSearch) : this(
|
||||
mode = q.mode,
|
||||
category = q.category,
|
||||
mKeyword = q.keyword,
|
||||
keyword = q.keyword,
|
||||
advanceSearch = q.advanceSearch,
|
||||
minRating = q.minRating,
|
||||
pageFrom = q.pageFrom,
|
||||
@@ -90,7 +84,7 @@ data class ListUrlBuilder(
|
||||
name = name,
|
||||
mode = mode,
|
||||
category = category,
|
||||
keyword = mKeyword,
|
||||
keyword = keyword,
|
||||
advanceSearch = advanceSearch,
|
||||
minRating = minRating,
|
||||
pageFrom = pageFrom,
|
||||
@@ -107,7 +101,7 @@ data class ListUrlBuilder(
|
||||
if (q.category != this.category) {
|
||||
return false
|
||||
}
|
||||
if (q.keyword != mKeyword) {
|
||||
if (q.keyword != keyword) {
|
||||
return false
|
||||
}
|
||||
if (q.advanceSearch != advanceSearch) {
|
||||
@@ -129,7 +123,7 @@ data class ListUrlBuilder(
|
||||
jumpTo = params["seek"],
|
||||
range = params["range"]?.toIntOrNull() ?: 0,
|
||||
category = params["f_cats"]?.toIntOrNull()?.let(EhUtils::invCategory) ?: EhUtils.NONE,
|
||||
mKeyword = params["f_search"],
|
||||
keyword = params["f_search"],
|
||||
) {
|
||||
if (params["advsearch"] == "1") {
|
||||
advanceSearch = 0
|
||||
@@ -160,7 +154,7 @@ data class ListUrlBuilder(
|
||||
if (category > 0) {
|
||||
addQueryParameter("f_cats", "${EhUtils.invCategory(category)}")
|
||||
}
|
||||
val query = mKeyword?.let { keyword ->
|
||||
val query = keyword?.let { keyword ->
|
||||
if (language == -1 || "gid:" in keyword || "l:" in keyword || "language:" in keyword) {
|
||||
keyword
|
||||
} else {
|
||||
@@ -214,7 +208,7 @@ data class ListUrlBuilder(
|
||||
}.buildString()
|
||||
MODE_UPLOADER, MODE_TAG -> {
|
||||
val path = if (mode == MODE_UPLOADER) "uploader" else "tag"
|
||||
ehUrl(listOf(path, requireNotNull(mKeyword))) {
|
||||
ehUrl(listOf(path, requireNotNull(keyword))) {
|
||||
addQueryParameterIfNotBlank("prev", prev)
|
||||
addQueryParameterIfNotBlank("next", next)
|
||||
addQueryParameterIfNotBlank("seek", jumpTo)
|
||||
@@ -226,7 +220,7 @@ data class ListUrlBuilder(
|
||||
addQueryParameter("f_shash", requireNotNull(hash))
|
||||
}.buildString()
|
||||
MODE_TOPLIST -> ehUrl("toplist.php", EhUrl.DOMAIN_E) {
|
||||
addQueryParameter("tl", requireNotNull(mKeyword))
|
||||
addQueryParameter("tl", requireNotNull(keyword))
|
||||
addQueryParameterIfNotBlank("p", jumpTo)
|
||||
}.buildString()
|
||||
else -> throw IllegalStateException("Unexpected value: $mode")
|
||||
|
||||
@@ -48,7 +48,7 @@ object GalleryListUrlParser {
|
||||
ListUrlBuilder(
|
||||
mode = ListUrlBuilder.MODE_TOPLIST,
|
||||
jumpTo = url.parameters["p"],
|
||||
mKeyword = tl,
|
||||
keyword = tl,
|
||||
)
|
||||
} else {
|
||||
null
|
||||
|
||||
@@ -300,7 +300,7 @@ class MainActivity : AppCompatActivity() {
|
||||
if ("text/plain" == type) {
|
||||
val keyword = intent.getStringExtra(Intent.EXTRA_TEXT)
|
||||
if (keyword != null && !navWithUrl(keyword)) {
|
||||
navigate(ListUrlBuilder(mKeyword = keyword).asDst())
|
||||
navigate(ListUrlBuilder(keyword = keyword).asDst())
|
||||
}
|
||||
} else if (type != null && type.startsWith("image/")) {
|
||||
val uri = intent.getParcelableExtraCompat<Uri>(Intent.EXTRA_STREAM)
|
||||
|
||||
@@ -409,7 +409,7 @@ fun AnimatedVisibilityScope.GalleryCommentsScreen(gid: Long, navigator: Destinat
|
||||
navigate(
|
||||
ListUrlBuilder(
|
||||
mode = ListUrlBuilder.MODE_UPLOADER,
|
||||
mKeyword = item.user,
|
||||
keyword = item.user,
|
||||
).asDst(),
|
||||
)
|
||||
},
|
||||
|
||||
@@ -215,7 +215,7 @@ fun GalleryDetailContent(
|
||||
if (uploader.isNullOrEmpty() || disowned) {
|
||||
return
|
||||
}
|
||||
navigate(ListUrlBuilder(mode = ListUrlBuilder.MODE_UPLOADER, mKeyword = uploader).asDst())
|
||||
navigate(ListUrlBuilder(mode = ListUrlBuilder.MODE_UPLOADER, keyword = uploader).asDst())
|
||||
}
|
||||
|
||||
fun onGalleryInfoCardClick() {
|
||||
@@ -529,21 +529,21 @@ fun BelowHeader(galleryDetail: GalleryDetail, voteTag: VoteTag) {
|
||||
navigate(
|
||||
ListUrlBuilder(
|
||||
mode = ListUrlBuilder.MODE_NORMAL,
|
||||
mKeyword = "\"" + keyword + "\"",
|
||||
keyword = "\"" + keyword + "\"",
|
||||
).asDst(),
|
||||
)
|
||||
} else if (artistTag != null) {
|
||||
navigate(
|
||||
ListUrlBuilder(
|
||||
mode = ListUrlBuilder.MODE_TAG,
|
||||
mKeyword = artistTag,
|
||||
keyword = artistTag,
|
||||
).asDst(),
|
||||
)
|
||||
} else if (null != galleryDetail.uploader) {
|
||||
navigate(
|
||||
ListUrlBuilder(
|
||||
mode = ListUrlBuilder.MODE_UPLOADER,
|
||||
mKeyword = galleryDetail.uploader,
|
||||
keyword = galleryDetail.uploader,
|
||||
).asDst(),
|
||||
)
|
||||
}
|
||||
@@ -721,7 +721,7 @@ fun BelowHeader(galleryDetail: GalleryDetail, voteTag: VoteTag) {
|
||||
val upTag = stringResource(R.string.tag_vote_up)
|
||||
val downTag = stringResource(R.string.tag_vote_down)
|
||||
val withDraw = stringResource(R.string.tag_vote_withdraw)
|
||||
fun search(tag: String) = navigate(ListUrlBuilder(mode = ListUrlBuilder.MODE_TAG, mKeyword = tag).asDst())
|
||||
fun search(tag: String) = navigate(ListUrlBuilder(mode = ListUrlBuilder.MODE_TAG, keyword = tag).asDst())
|
||||
GalleryTags(
|
||||
tagGroups = tags,
|
||||
onTagClick = ::search,
|
||||
|
||||
@@ -147,7 +147,7 @@ fun AnimatedVisibilityScope.WhatshotScreen(navigator: DestinationsNavigator) = G
|
||||
|
||||
@Destination<RootGraph>
|
||||
@Composable
|
||||
fun AnimatedVisibilityScope.ToplistScreen(navigator: DestinationsNavigator) = GalleryListScreen(ListUrlBuilder(MODE_TOPLIST, mKeyword = Settings.recentToplist), navigator)
|
||||
fun AnimatedVisibilityScope.ToplistScreen(navigator: DestinationsNavigator) = GalleryListScreen(ListUrlBuilder(MODE_TOPLIST, keyword = Settings.recentToplist), navigator)
|
||||
|
||||
@Destination<RootGraph>
|
||||
@Composable
|
||||
@@ -172,10 +172,14 @@ fun AnimatedVisibilityScope.GalleryListScreen(
|
||||
|
||||
LaunchedEffect(urlBuilder) {
|
||||
if (urlBuilder.category != EhUtils.NONE) category = urlBuilder.category
|
||||
var keyword = urlBuilder.keyword.takeUnless { urlBuilder.mode == MODE_TOPLIST }.orEmpty()
|
||||
if (urlBuilder.mode == MODE_TAG) {
|
||||
keyword = wrapTagKeyword(keyword)
|
||||
}
|
||||
val keyword = urlBuilder.keyword?.let { keyword ->
|
||||
when (urlBuilder.mode) {
|
||||
MODE_UPLOADER -> "uploader:\"$keyword\""
|
||||
MODE_TAG -> wrapTagKeyword(keyword)
|
||||
MODE_TOPLIST -> ""
|
||||
else -> keyword
|
||||
}
|
||||
}.orEmpty()
|
||||
searchFieldState.setTextAndPlaceCursorAtEnd(keyword)
|
||||
}
|
||||
|
||||
@@ -217,7 +221,7 @@ fun AnimatedVisibilityScope.GalleryListScreen(
|
||||
ListItem(
|
||||
modifier = Modifier.padding(horizontal = 4.dp).clip(CardDefaults.shape).clickable {
|
||||
Settings.recentToplist = keyword
|
||||
urlBuilder = ListUrlBuilder(MODE_TOPLIST, mKeyword = keyword)
|
||||
urlBuilder = ListUrlBuilder(MODE_TOPLIST, keyword = keyword)
|
||||
data.refresh()
|
||||
fabHidden = false
|
||||
launch { sheetState.close() }
|
||||
@@ -641,6 +645,7 @@ private fun getSuitableTitleForUrlBuilder(urlBuilder: ListUrlBuilder, appName: B
|
||||
val canTranslate = Settings.showTagTranslations.value && EhTagDatabase.translatable && EhTagDatabase.initialized
|
||||
wrapTagKeyword(keyword, canTranslate)
|
||||
}
|
||||
MODE_UPLOADER -> "uploader:\"$keyword\""
|
||||
else -> keyword
|
||||
}
|
||||
} else if (category == EhUtils.NONE && urlBuilder.advanceSearch == -1) {
|
||||
|
||||
Reference in new issue
Block a user