Make search history account specific (#638)

* Make search history account specific

* Update for clear history
This commit is contained in:
Luna712 2023-10-02 13:04:40 -06:00 committed by GitHub
parent bd05a67f26
commit 1d90858f64
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 8 additions and 6 deletions

View file

@ -55,6 +55,7 @@ import com.lagradost.cloudstream3.utils.AppUtils.setDefaultFocus
import com.lagradost.cloudstream3.utils.Coroutines.main
import com.lagradost.cloudstream3.utils.DataStore.getKey
import com.lagradost.cloudstream3.utils.DataStore.setKey
import com.lagradost.cloudstream3.utils.DataStoreHelper.currentAccount
import com.lagradost.cloudstream3.utils.SubtitleHelper
import com.lagradost.cloudstream3.utils.UIHelper.dismissSafe
import com.lagradost.cloudstream3.utils.UIHelper.fixPaddingStatusbar
@ -398,7 +399,7 @@ class SearchFragment : Fragment() {
DialogInterface.OnClickListener { _, which ->
when (which) {
DialogInterface.BUTTON_POSITIVE -> {
removeKeys(SEARCH_HISTORY_KEY)
removeKeys("$currentAccount/$SEARCH_HISTORY_KEY")
searchViewModel.updateHistory()
}
DialogInterface.BUTTON_NEGATIVE -> {
@ -510,7 +511,7 @@ class SearchFragment : Fragment() {
binding?.mainSearch?.setQuery(searchItem.searchText, true)
}
SEARCH_HISTORY_REMOVE -> {
removeKey(SEARCH_HISTORY_KEY, searchItem.key)
removeKey("$currentAccount/$SEARCH_HISTORY_KEY", searchItem.key)
searchViewModel.updateHistory()
}
else -> {
@ -559,4 +560,4 @@ class SearchFragment : Fragment() {
.commit()*/
}
}
}

View file

@ -14,6 +14,7 @@ import com.lagradost.cloudstream3.mvvm.Resource
import com.lagradost.cloudstream3.mvvm.launchSafe
import com.lagradost.cloudstream3.ui.APIRepository
import com.lagradost.cloudstream3.utils.Coroutines.ioSafe
import com.lagradost.cloudstream3.utils.DataStoreHelper.currentAccount
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.Job
import kotlinx.coroutines.launch
@ -64,7 +65,7 @@ class SearchViewModel : ViewModel() {
fun updateHistory() = viewModelScope.launch {
ioSafe {
val items = getKeys(SEARCH_HISTORY_KEY)?.mapNotNull {
val items = getKeys("$currentAccount/$SEARCH_HISTORY_KEY")?.mapNotNull {
getKey<SearchHistoryItem>(it)
}?.sortedByDescending { it.searchedAt } ?: emptyList()
_currentHistory.postValue(items)
@ -87,7 +88,7 @@ class SearchViewModel : ViewModel() {
if (!isQuickSearch) {
val key = query.hashCode().toString()
setKey(
SEARCH_HISTORY_KEY,
"$currentAccount/$SEARCH_HISTORY_KEY",
key,
SearchHistoryItem(
searchedAt = System.currentTimeMillis(),
@ -140,4 +141,4 @@ class SearchViewModel : ViewModel() {
_searchResponse.postValue(Resource.Success(list))
}
}
}
}