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.android.gms.security.ProviderInstaller
|
||||||
import com.google.firebase.analytics.FirebaseAnalytics
|
import com.google.firebase.analytics.FirebaseAnalytics
|
||||||
import com.google.firebase.crashlytics.FirebaseCrashlytics
|
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.proxy
|
||||||
import xyz.quaver.pupil.util.GalleryList
|
import xyz.quaver.pupil.util.GalleryList
|
||||||
import xyz.quaver.pupil.util.getProxy
|
import xyz.quaver.pupil.util.getProxy
|
||||||
@@ -74,6 +77,16 @@ class Pupil : MultiDexApplication() {
|
|||||||
histories = GalleryList(File(ContextCompat.getDataDir(this), "histories.json"))
|
histories = GalleryList(File(ContextCompat.getDataDir(this), "histories.json"))
|
||||||
favorites = GalleryList(File(ContextCompat.getDataDir(this), "favorites.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)
|
if (BuildConfig.DEBUG)
|
||||||
FirebaseAnalytics.getInstance(this).setAnalyticsCollectionEnabled(false)
|
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.arlib.floatingsearchview.util.view.SearchInputView
|
||||||
import com.bumptech.glide.Glide
|
import com.bumptech.glide.Glide
|
||||||
import com.google.android.material.appbar.AppBarLayout
|
import com.google.android.material.appbar.AppBarLayout
|
||||||
|
import com.google.android.material.snackbar.Snackbar
|
||||||
import com.google.firebase.crashlytics.FirebaseCrashlytics
|
import com.google.firebase.crashlytics.FirebaseCrashlytics
|
||||||
import kotlinx.android.synthetic.main.activity_main.*
|
import kotlinx.android.synthetic.main.activity_main.*
|
||||||
import kotlinx.android.synthetic.main.activity_main_content.*
|
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.Pupil
|
||||||
import xyz.quaver.pupil.R
|
import xyz.quaver.pupil.R
|
||||||
import xyz.quaver.pupil.adapters.GalleryBlockAdapter
|
import xyz.quaver.pupil.adapters.GalleryBlockAdapter
|
||||||
|
import xyz.quaver.pupil.types.Tag
|
||||||
import xyz.quaver.pupil.types.TagSuggestion
|
import xyz.quaver.pupil.types.TagSuggestion
|
||||||
import xyz.quaver.pupil.types.Tags
|
import xyz.quaver.pupil.types.Tags
|
||||||
import xyz.quaver.pupil.ui.dialog.GalleryDialog
|
import xyz.quaver.pupil.ui.dialog.GalleryDialog
|
||||||
@@ -949,7 +951,7 @@ class MainActivity : AppCompatActivity() {
|
|||||||
setOnFocusChangeListener(object: FloatingSearchView.OnFocusChangeListener {
|
setOnFocusChangeListener(object: FloatingSearchView.OnFocusChangeListener {
|
||||||
override fun onFocus() {
|
override fun onFocus() {
|
||||||
if (query.isEmpty() or query.endsWith(' '))
|
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")
|
TagSuggestion(it.tag, -1, "", it.area ?: "tag")
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@@ -1000,6 +1002,20 @@ class MainActivity : AppCompatActivity() {
|
|||||||
queryStack.add(query)
|
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
|
galleryIDs = null
|
||||||
|
|
||||||
if (galleryIDs?.isActive == true)
|
if (galleryIDs?.isActive == true)
|
||||||
|
|||||||
@@ -135,4 +135,5 @@
|
|||||||
<string name="settings_user_id_toast">ユーザーIDをクリップボードにコピーしました</string>
|
<string name="settings_user_id_toast">ユーザーIDをクリップボードにコピーしました</string>
|
||||||
<string name="reader_fab_retry">リトライ</string>
|
<string name="reader_fab_retry">リトライ</string>
|
||||||
<string name="reader_fab_auto">自動スクロール</string>
|
<string name="reader_fab_auto">自動スクロール</string>
|
||||||
|
<string name="search_all">全てのギャラリーを対象に検索</string>
|
||||||
</resources>
|
</resources>
|
||||||
@@ -135,4 +135,5 @@
|
|||||||
<string name="settings_user_id_toast">유저 ID를 클립보드에 복사했습니다</string>
|
<string name="settings_user_id_toast">유저 ID를 클립보드에 복사했습니다</string>
|
||||||
<string name="reader_fab_retry">재시도</string>
|
<string name="reader_fab_retry">재시도</string>
|
||||||
<string name="reader_fab_auto">자동 스크롤</string>
|
<string name="reader_fab_auto">자동 스크롤</string>
|
||||||
|
<string name="search_all">모든 갤러리 검색</string>
|
||||||
</resources>
|
</resources>
|
||||||
@@ -72,6 +72,7 @@
|
|||||||
<string name="update_release_note"># Release Note(v%1$s)\n%2$s</string>
|
<string name="update_release_note"># Release Note(v%1$s)\n%2$s</string>
|
||||||
|
|
||||||
<string name="search_hint">Search galleries</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_details">Details</string>
|
||||||
<string name="gallery_thumbnails">Thumbnails</string>
|
<string name="gallery_thumbnails">Thumbnails</string>
|
||||||
|
|||||||
Reference in New Issue
Block a user