Added Search all galleries feature
This commit is contained in:
@@ -32,6 +32,9 @@ import com.google.android.gms.common.GooglePlayServicesRepairableException
|
||||
import com.google.android.gms.security.ProviderInstaller
|
||||
import com.google.firebase.analytics.FirebaseAnalytics
|
||||
import com.google.firebase.crashlytics.FirebaseCrashlytics
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.launch
|
||||
import xyz.quaver.proxy
|
||||
import xyz.quaver.pupil.util.GalleryList
|
||||
import xyz.quaver.pupil.util.getProxy
|
||||
@@ -74,6 +77,16 @@ class Pupil : MultiDexApplication() {
|
||||
histories = GalleryList(File(ContextCompat.getDataDir(this), "histories.json"))
|
||||
favorites = GalleryList(File(ContextCompat.getDataDir(this), "favorites.json"))
|
||||
|
||||
if (preference.getBoolean("old_history", true)) {
|
||||
CoroutineScope(Dispatchers.IO).launch {
|
||||
histories.reversed().let {
|
||||
histories.clear()
|
||||
histories.addAll(it)
|
||||
}
|
||||
}
|
||||
preference.edit().putBoolean("old_history", false).apply()
|
||||
}
|
||||
|
||||
if (BuildConfig.DEBUG)
|
||||
FirebaseAnalytics.getInstance(this).setAnalyticsCollectionEnabled(false)
|
||||
|
||||
|
||||
@@ -47,6 +47,7 @@ import com.arlib.floatingsearchview.suggestions.model.SearchSuggestion
|
||||
import com.arlib.floatingsearchview.util.view.SearchInputView
|
||||
import com.bumptech.glide.Glide
|
||||
import com.google.android.material.appbar.AppBarLayout
|
||||
import com.google.android.material.snackbar.Snackbar
|
||||
import com.google.firebase.crashlytics.FirebaseCrashlytics
|
||||
import kotlinx.android.synthetic.main.activity_main.*
|
||||
import kotlinx.android.synthetic.main.activity_main_content.*
|
||||
@@ -61,6 +62,7 @@ import xyz.quaver.hitomi.getSuggestionsForQuery
|
||||
import xyz.quaver.pupil.Pupil
|
||||
import xyz.quaver.pupil.R
|
||||
import xyz.quaver.pupil.adapters.GalleryBlockAdapter
|
||||
import xyz.quaver.pupil.types.Tag
|
||||
import xyz.quaver.pupil.types.TagSuggestion
|
||||
import xyz.quaver.pupil.types.Tags
|
||||
import xyz.quaver.pupil.ui.dialog.GalleryDialog
|
||||
@@ -949,7 +951,7 @@ class MainActivity : AppCompatActivity() {
|
||||
setOnFocusChangeListener(object: FloatingSearchView.OnFocusChangeListener {
|
||||
override fun onFocus() {
|
||||
if (query.isEmpty() or query.endsWith(' '))
|
||||
swapSuggestions(Json.decodeFromString<Tags>( favoritesFile.readText()).map {
|
||||
swapSuggestions(Tags(Json.decodeFromString<List<Tag>>(favoritesFile.readText())).map {
|
||||
TagSuggestion(it.tag, -1, "", it.area ?: "tag")
|
||||
})
|
||||
}
|
||||
@@ -1000,6 +1002,20 @@ class MainActivity : AppCompatActivity() {
|
||||
queryStack.add(query)
|
||||
}
|
||||
|
||||
if (query.isNotEmpty() && mode != Mode.SEARCH) {
|
||||
Snackbar.make(this@MainActivity.main_recyclerview, R.string.search_all, Snackbar.LENGTH_SHORT).apply {
|
||||
setAction(android.R.string.yes) {
|
||||
cancelFetch()
|
||||
clearGalleries()
|
||||
currentPage = 0
|
||||
mode = Mode.SEARCH
|
||||
queryStack.clear()
|
||||
fetchGalleries(query, sortMode)
|
||||
loadBlocks()
|
||||
}
|
||||
}.show()
|
||||
}
|
||||
|
||||
galleryIDs = null
|
||||
|
||||
if (galleryIDs?.isActive == true)
|
||||
|
||||
@@ -135,4 +135,5 @@
|
||||
<string name="settings_user_id_toast">ユーザーIDをクリップボードにコピーしました</string>
|
||||
<string name="reader_fab_retry">リトライ</string>
|
||||
<string name="reader_fab_auto">自動スクロール</string>
|
||||
<string name="search_all">全てのギャラリーを対象に検索</string>
|
||||
</resources>
|
||||
@@ -135,4 +135,5 @@
|
||||
<string name="settings_user_id_toast">유저 ID를 클립보드에 복사했습니다</string>
|
||||
<string name="reader_fab_retry">재시도</string>
|
||||
<string name="reader_fab_auto">자동 스크롤</string>
|
||||
<string name="search_all">모든 갤러리 검색</string>
|
||||
</resources>
|
||||
@@ -72,6 +72,7 @@
|
||||
<string name="update_release_note"># Release Note(v%1$s)\n%2$s</string>
|
||||
|
||||
<string name="search_hint">Search galleries</string>
|
||||
<string name="search_all">Search all galleries</string>
|
||||
|
||||
<string name="gallery_details">Details</string>
|
||||
<string name="gallery_thumbnails">Thumbnails</string>
|
||||
|
||||
Reference in New Issue
Block a user