diff --git a/.idea/gradle.xml b/.idea/gradle.xml
index ae388c2a..cb865f69 100644
--- a/.idea/gradle.xml
+++ b/.idea/gradle.xml
@@ -4,8 +4,6 @@
+
diff --git a/app/src/main/java/app/suhasdissa/vibeyou/backend/database/dao/SearchDao.kt b/app/src/main/java/app/suhasdissa/vibeyou/backend/database/dao/SearchDao.kt
index 24db8985..3f99b2f7 100644
--- a/app/src/main/java/app/suhasdissa/vibeyou/backend/database/dao/SearchDao.kt
+++ b/app/src/main/java/app/suhasdissa/vibeyou/backend/database/dao/SearchDao.kt
@@ -13,4 +13,7 @@ interface SearchDao {
@Query("SELECT * from SearchQuery")
fun getSearchHistory(): List
+
+ @Query("DELETE from SearchQuery")
+ fun deleteAll()
}
diff --git a/app/src/main/java/app/suhasdissa/vibeyou/backend/repository/LocalMusicRepository.kt b/app/src/main/java/app/suhasdissa/vibeyou/backend/repository/LocalMusicRepository.kt
index 336a14e9..f4c1e91d 100644
--- a/app/src/main/java/app/suhasdissa/vibeyou/backend/repository/LocalMusicRepository.kt
+++ b/app/src/main/java/app/suhasdissa/vibeyou/backend/repository/LocalMusicRepository.kt
@@ -13,6 +13,7 @@ import app.suhasdissa.vibeyou.backend.data.Artist
import app.suhasdissa.vibeyou.backend.data.Song
import app.suhasdissa.vibeyou.backend.database.dao.SearchDao
import app.suhasdissa.vibeyou.backend.database.entities.SearchQuery
+import app.suhasdissa.vibeyou.utils.Pref
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.withContext
@@ -269,7 +270,11 @@ class LocalMusicRepository(
return ContentUris.withAppendedId(sArtworkUri, albumId)
}
- fun saveSearchQuery(query: String) = searchDao.addSearchQuery(SearchQuery(id = 0, query))
+ fun saveSearchQuery(query: String) {
+ if (Pref.sharedPreferences.getBoolean(Pref.disableSearchHistoryKey, false)) return
+
+ searchDao.addSearchQuery(SearchQuery(id = 0, query))
+ }
fun getSearchHistory() = searchDao.getSearchHistory()
companion object {
diff --git a/app/src/main/java/app/suhasdissa/vibeyou/backend/repository/PipedMusicRepository.kt b/app/src/main/java/app/suhasdissa/vibeyou/backend/repository/PipedMusicRepository.kt
index 22805349..76321310 100644
--- a/app/src/main/java/app/suhasdissa/vibeyou/backend/repository/PipedMusicRepository.kt
+++ b/app/src/main/java/app/suhasdissa/vibeyou/backend/repository/PipedMusicRepository.kt
@@ -13,6 +13,7 @@ import app.suhasdissa.vibeyou.backend.models.SearchFilter
import app.suhasdissa.vibeyou.backend.models.artists.Channel
import app.suhasdissa.vibeyou.backend.models.artists.ChannelTab
import app.suhasdissa.vibeyou.backend.models.playlists.PlaylistInfo
+import app.suhasdissa.vibeyou.utils.Pref
import app.suhasdissa.vibeyou.utils.RetrofitHelper
import app.suhasdissa.vibeyou.utils.asAlbum
import app.suhasdissa.vibeyou.utils.asArtist
@@ -111,6 +112,10 @@ class PipedMusicRepository(
fun searchLocalSong(query: String): List =
songsDao.search(query).map { it.asSong }
- fun saveSearchQuery(query: String) = searchDao.addSearchQuery(SearchQuery(id = 0, query))
+ fun saveSearchQuery(query: String) {
+ if (Pref.sharedPreferences.getBoolean(Pref.disableSearchHistoryKey, false)) return
+
+ searchDao.addSearchQuery(SearchQuery(id = 0, query))
+ }
fun getSearchHistory() = searchDao.getSearchHistory()
}
diff --git a/app/src/main/java/app/suhasdissa/vibeyou/ui/screens/settings/DatabaseSettingsScreen.kt b/app/src/main/java/app/suhasdissa/vibeyou/ui/screens/settings/DatabaseSettingsScreen.kt
index b92d294a..363682b4 100644
--- a/app/src/main/java/app/suhasdissa/vibeyou/ui/screens/settings/DatabaseSettingsScreen.kt
+++ b/app/src/main/java/app/suhasdissa/vibeyou/ui/screens/settings/DatabaseSettingsScreen.kt
@@ -1,6 +1,7 @@
package app.suhasdissa.vibeyou.ui.screens.settings
import android.annotation.SuppressLint
+import android.app.Activity
import android.widget.Toast
import androidx.activity.compose.rememberLauncherForActivityResult
import androidx.activity.result.contract.ActivityResultContracts
@@ -16,14 +17,19 @@ import androidx.compose.material3.Scaffold
import androidx.compose.material3.Text
import androidx.compose.material3.TopAppBarDefaults
import androidx.compose.runtime.Composable
+import androidx.compose.runtime.rememberCoroutineScope
import androidx.compose.ui.Modifier
import androidx.compose.ui.input.nestedscroll.nestedScroll
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.stringResource
import androidx.lifecycle.viewmodel.compose.viewModel
+import app.suhasdissa.vibeyou.MellowMusicApplication
import app.suhasdissa.vibeyou.R
import app.suhasdissa.vibeyou.backend.viewmodel.DatabaseViewModel
import app.suhasdissa.vibeyou.ui.components.SettingItem
+import app.suhasdissa.vibeyou.utils.Pref
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.launch
import java.text.SimpleDateFormat
import java.util.Date
@@ -62,6 +68,20 @@ fun DatabaseSettingsScreen(
.padding(innerPadding)
.nestedScroll(topBarBehavior.nestedScrollConnection)
) {
+ item {
+ val scope = rememberCoroutineScope()
+
+ SwitchPref(
+ prefKey = Pref.disableSearchHistoryKey,
+ title = stringResource(R.string.disable_search_history)
+ ) { newValue ->
+ if (newValue) scope.launch(Dispatchers.IO) {
+ val app = ((context as Activity).application as MellowMusicApplication)
+ app.container.database.searchDao().deleteAll()
+ }
+ }
+ }
+
item {
SettingItem(
title = stringResource(R.string.backup),
diff --git a/app/src/main/java/app/suhasdissa/vibeyou/utils/Pref.kt b/app/src/main/java/app/suhasdissa/vibeyou/utils/Pref.kt
index 6ab404e6..aa446aef 100644
--- a/app/src/main/java/app/suhasdissa/vibeyou/utils/Pref.kt
+++ b/app/src/main/java/app/suhasdissa/vibeyou/utils/Pref.kt
@@ -14,6 +14,7 @@ object Pref {
const val latestSongsSortOrderKey = "LatestSongsSortOrderKey"
const val latestReverseSongsPrefKey = "LatestReverseSongsPrefKey"
const val customPipedInstanceKey = "CustomPipedInstanceKey"
+ const val disableSearchHistoryKey = "DisableSearchHistory"
lateinit var sharedPreferences: SharedPreferences
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 3bc85bc0..776c27e3 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -84,4 +84,5 @@
Delete Playlist
Delete playlist and songs
Clear Playlist
+ Disable search history