add copy urls in home screen

pull/1366/head
deniscerri 4 days ago
parent 4821a312bf
commit 861f7a8a5e
No known key found for this signature in database
GPG Key ID: 95C43D517D830350

@ -74,6 +74,9 @@ interface ResultDao {
@Query("SELECT * FROM results WHERE url=:url LIMIT 1")
fun getResultByURL(url: String) : ResultItem?
@Query("SELECT url FROM results")
fun getURLs() : List<String>
@Query("SELECT * FROM results WHERE url=:url")
fun getAllByURL(url: String) : List<ResultItem>

@ -61,6 +61,10 @@ class ResultRepository(private val resultDao: ResultDao, commandTemplateDao: Com
return resultDao.getFilteredListIds(playlistTitle)
}
fun getURLs() : List<String> {
return resultDao.getURLs()
}
suspend fun getHomeRecommendations(){
deleteAll()
val category = sharedPreferences.getString("recommendations_home", "")

@ -409,6 +409,10 @@ class ResultViewModel(private val application: Application) : AndroidViewModel(a
return repository.getFilteredIDs(playlistFilter.value)
}
fun getURLs() : List<String> {
return repository.getURLs()
}
fun reverseResults(resultItems: List<Long>): List<Long> {
val latestResult = resultItems.max()
val newIdsMap = mutableListOf<Pair<Long, Long>>()

@ -548,6 +548,15 @@ class HomeFragment : Fragment(), HomeAdapter.OnItemClickListener, SearchSuggesti
searchBar!!.setOnMenuItemClickListener { m: MenuItem ->
when (m.itemId) {
R.id.copy_urls -> {
lifecycleScope.launch {
val urls = withContext(Dispatchers.IO){
resultViewModel.getURLs()
}
UiUtil.copyToClipboard(urls.distinct().joinToString("\n"), requireActivity())
}
}
R.id.delete_results -> {
lifecycleScope.launch {
withContext(Dispatchers.IO){

@ -13,6 +13,12 @@
android:title="@string/remove_search_history"
app:showAsAction="never" />
<item
android:id="@+id/copy_urls"
android:icon="@drawable/ic_copy"
android:title="@string/copy_urls"
app:showAsAction="never" />
</menu>

Loading…
Cancel
Save