mirror of
https://github.com/kiwix/kiwix-android.git
synced 2025-09-23 04:33:54 -04:00
Fixed conflict
This commit is contained in:
parent
f285aee227
commit
80ed18ed4c
@ -15,7 +15,6 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
|
||||
package org.kiwix.kiwixmobile.core.data.local
|
||||
|
||||
import android.content.Context
|
||||
@ -27,7 +26,6 @@ import io.objectbox.Box
|
||||
import kotlinx.coroutines.flow.toList
|
||||
import kotlinx.coroutines.runBlocking
|
||||
import org.junit.After
|
||||
import org.junit.Assert.*
|
||||
import org.junit.jupiter.api.Assertions
|
||||
import org.junit.jupiter.api.Test
|
||||
import org.junit.runner.RunWith
|
||||
|
@ -18,7 +18,6 @@
|
||||
|
||||
package org.kiwix.kiwixmobile.core.dao
|
||||
|
||||
import android.util.Log
|
||||
import androidx.room.Dao
|
||||
import androidx.room.Query
|
||||
import io.objectbox.Box
|
||||
@ -64,8 +63,8 @@ abstract class NewRecentSearchRoomDao {
|
||||
}
|
||||
}
|
||||
|
||||
@Query("INSERT INTO RecentSearchRoomEntity(searchTerm, zimId) VALUES (:title , :id)")
|
||||
abstract fun saveSearch(title: String, id: String)
|
||||
@Query("INSERT INTO RecentSearchRoomEntity(searchTerm, zimId) VALUES (:title , :zimId)")
|
||||
abstract fun saveSearch(title: String, zimId: String)
|
||||
|
||||
@Query("DELETE FROM RecentSearchRoomEntity WHERE searchTerm=:searchTerm")
|
||||
abstract fun deleteSearchString(searchTerm: String)
|
||||
@ -77,9 +76,10 @@ abstract class NewRecentSearchRoomDao {
|
||||
box: Box<RecentSearchEntity>
|
||||
) {
|
||||
val searchRoomEntityList = box.all
|
||||
searchRoomEntityList.forEach {
|
||||
searchRoomEntityList.forEachIndexed { _, recentSearchEntity ->
|
||||
CoroutineScope(Dispatchers.IO).launch {
|
||||
saveSearch(it.searchTerm, it.zimId)
|
||||
saveSearch(recentSearchEntity.searchTerm, recentSearchEntity.zimId)
|
||||
// Todo Should we remove object store data now?
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -28,7 +28,7 @@ import org.kiwix.kiwixmobile.core.dao.NewRecentSearchRoomDao
|
||||
import org.kiwix.kiwixmobile.core.dao.entities.RecentSearchRoomEntity
|
||||
|
||||
@Suppress("UnnecessaryAbstractClass")
|
||||
@Database(entities = [RecentSearchRoomEntity::class], version = 19)
|
||||
@Database(entities = [RecentSearchRoomEntity::class], version = 1)
|
||||
abstract class KiwixRoomDatabase : RoomDatabase() {
|
||||
abstract fun newRecentSearchRoomDao(): NewRecentSearchRoomDao
|
||||
|
||||
|
@ -87,5 +87,5 @@ open class DatabaseModule {
|
||||
|
||||
@Singleton
|
||||
@Provides
|
||||
fun provideYourDao(db: KiwixRoomDatabase) = db.newRecentSearchRoomDao()
|
||||
fun provideNewRecentSearchRoomDao(db: KiwixRoomDatabase) = db.newRecentSearchRoomDao()
|
||||
}
|
||||
|
@ -19,15 +19,21 @@
|
||||
package org.kiwix.kiwixmobile.core.search.viewmodel.effects
|
||||
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.launch
|
||||
import org.kiwix.kiwixmobile.core.base.SideEffect
|
||||
import org.kiwix.kiwixmobile.core.dao.NewRecentSearchRoomDao
|
||||
import org.kiwix.kiwixmobile.core.search.adapter.SearchListItem
|
||||
|
||||
data class DeleteRecentSearch(
|
||||
private val searchListItem: SearchListItem,
|
||||
private val recentSearchDao: NewRecentSearchRoomDao
|
||||
private val recentSearchDao: NewRecentSearchRoomDao,
|
||||
private val viewModelScope: CoroutineScope
|
||||
) : SideEffect<Unit> {
|
||||
override fun invokeWith(activity: AppCompatActivity) {
|
||||
recentSearchDao.deleteSearchString(searchListItem.value)
|
||||
viewModelScope.launch(Dispatchers.IO) {
|
||||
recentSearchDao.deleteSearchString(searchListItem.value)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -29,11 +29,11 @@ import org.kiwix.kiwixmobile.core.search.adapter.SearchListItem
|
||||
data class SaveSearchToRecents(
|
||||
private val recentSearchDao: NewRecentSearchRoomDao,
|
||||
private val searchListItem: SearchListItem,
|
||||
private val id: String?,
|
||||
private val zimId: String?,
|
||||
private val viewModelScope: CoroutineScope
|
||||
) : SideEffect<Unit> {
|
||||
override fun invokeWith(activity: AppCompatActivity) {
|
||||
id?.let {
|
||||
zimId?.let {
|
||||
viewModelScope.launch(Dispatchers.IO) {
|
||||
recentSearchDao.saveSearch(searchListItem.value, it)
|
||||
}
|
||||
|
@ -19,6 +19,7 @@
|
||||
package org.kiwix.kiwixmobile.core.search.viewmodel
|
||||
|
||||
import android.os.Bundle
|
||||
import androidx.lifecycle.viewModelScope
|
||||
import io.mockk.clearAllMocks
|
||||
import io.mockk.coEvery
|
||||
import io.mockk.every
|
||||
@ -46,7 +47,7 @@ import org.junit.jupiter.api.Test
|
||||
import org.kiwix.kiwixmobile.core.R
|
||||
import org.kiwix.kiwixmobile.core.R.string
|
||||
import org.kiwix.kiwixmobile.core.base.SideEffect
|
||||
import org.kiwix.kiwixmobile.core.dao.NewRecentSearchDao
|
||||
import org.kiwix.kiwixmobile.core.dao.NewRecentSearchRoomDao
|
||||
import org.kiwix.kiwixmobile.core.reader.ZimFileReader
|
||||
import org.kiwix.kiwixmobile.core.reader.ZimReaderContainer
|
||||
import org.kiwix.kiwixmobile.core.search.adapter.SearchListItem.RecentSearchListItem
|
||||
@ -77,7 +78,7 @@ import org.kiwix.kiwixmobile.core.search.viewmodel.effects.StartSpeechInput
|
||||
|
||||
@OptIn(ExperimentalCoroutinesApi::class)
|
||||
internal class SearchViewModelTest {
|
||||
private val recentSearchDao: NewRecentSearchDao = mockk()
|
||||
private val recentSearchDao: NewRecentSearchRoomDao = mockk()
|
||||
private val zimReaderContainer: ZimReaderContainer = mockk()
|
||||
private val searchResultGenerator: SearchResultGenerator = mockk()
|
||||
private val zimFileReader: ZimFileReader = mockk()
|
||||
@ -155,7 +156,7 @@ internal class SearchViewModelTest {
|
||||
val searchListItem = RecentSearchListItem("")
|
||||
actionResultsInEffects(
|
||||
OnItemClick(searchListItem),
|
||||
SaveSearchToRecents(recentSearchDao, searchListItem, "id"),
|
||||
SaveSearchToRecents(recentSearchDao, searchListItem, "id", viewModel.viewModelScope),
|
||||
OpenSearchItem(searchListItem, false)
|
||||
)
|
||||
}
|
||||
@ -165,7 +166,7 @@ internal class SearchViewModelTest {
|
||||
val searchListItem = RecentSearchListItem("")
|
||||
actionResultsInEffects(
|
||||
OnOpenInNewTabClick(searchListItem),
|
||||
SaveSearchToRecents(recentSearchDao, searchListItem, "id"),
|
||||
SaveSearchToRecents(recentSearchDao, searchListItem, "id", viewModel.viewModelScope),
|
||||
OpenSearchItem(searchListItem, true)
|
||||
)
|
||||
}
|
||||
@ -189,7 +190,7 @@ internal class SearchViewModelTest {
|
||||
val searchListItem = RecentSearchListItem("")
|
||||
actionResultsInEffects(
|
||||
ConfirmedDelete(searchListItem),
|
||||
DeleteRecentSearch(searchListItem, recentSearchDao),
|
||||
DeleteRecentSearch(searchListItem, recentSearchDao, viewModel.viewModelScope),
|
||||
ShowToast(R.string.delete_specific_search_toast)
|
||||
)
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
package org.kiwix.kiwixmobile.core.search.viewmodel.effects// /*
|
||||
package org.kiwix.kiwixmobile.core.search.viewmodel.effects /*
|
||||
// * Kiwix Android
|
||||
// * Copyright (c) 2020 Kiwix <android.kiwix.org>
|
||||
// * This program is free software: you can redistribute it and/or modify
|
||||
|
Loading…
x
Reference in New Issue
Block a user