last commit
This commit is contained in:
@@ -1,8 +0,0 @@
|
||||
package com.megboyzz.devmenu.domain.entities
|
||||
|
||||
data class Settings(
|
||||
val enable: Boolean,
|
||||
val trackingInterval: Int,
|
||||
val pathToSaveTrackable: String,
|
||||
val lang: GameLang
|
||||
)
|
||||
@@ -11,4 +11,10 @@ interface FilesRepository {
|
||||
|
||||
fun getFileProps(file: File): FileProps
|
||||
|
||||
suspend fun hideFile(file: File): Boolean
|
||||
|
||||
suspend fun unHideFile(file: File): Boolean
|
||||
|
||||
val allHidedFiles: List<File>
|
||||
|
||||
}
|
||||
+2
-3
@@ -1,11 +1,10 @@
|
||||
package com.megboyzz.devmenu.domain.repository
|
||||
|
||||
import com.megboyzz.devmenu.domain.entities.Settings
|
||||
import com.megboyzz.devmenu.domain.entities.GameLang
|
||||
|
||||
interface SettingsRepository {
|
||||
|
||||
suspend fun getSettings(): Settings
|
||||
fun setGameLang(lang: GameLang): Boolean
|
||||
|
||||
suspend fun setSettings(settings: Settings)
|
||||
|
||||
}
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
package com.megboyzz.devmenu.domain.repository
|
||||
|
||||
interface TrackingRepository {
|
||||
|
||||
fun setTracking(enabled: Boolean, pathToSave: String): Boolean
|
||||
|
||||
}
|
||||
-14
@@ -1,14 +0,0 @@
|
||||
package com.megboyzz.devmenu.domain.usecases.files
|
||||
|
||||
import com.megboyzz.devmenu.domain.repository.FilesRepository
|
||||
import javax.inject.Inject
|
||||
|
||||
class RemoveInternalDataUseCase @Inject constructor(
|
||||
private val filesRepository: FilesRepository
|
||||
) {
|
||||
operator fun invoke(): Boolean{
|
||||
val listFiles = filesRepository.internalRoot.listFiles() ?: return false
|
||||
listFiles.forEach { it.deleteRecursively() }
|
||||
return true
|
||||
}
|
||||
}
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
package com.megboyzz.devmenu.domain.usecases.files
|
||||
|
||||
import java.io.File
|
||||
|
||||
class RenameFileUseCase {
|
||||
operator fun invoke(file: File, newName: String) =
|
||||
if(file.exists())
|
||||
file.renameTo(File(file.parent, newName))
|
||||
else
|
||||
false
|
||||
}
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
package com.megboyzz.devmenu.domain.usecases.hidefiles
|
||||
|
||||
import com.megboyzz.devmenu.domain.repository.FilesRepository
|
||||
import javax.inject.Inject
|
||||
|
||||
class GetAllHidedFilesUseCase @Inject constructor(
|
||||
private val filesRepository: FilesRepository
|
||||
) {
|
||||
|
||||
operator fun invoke() = filesRepository.allHidedFiles
|
||||
|
||||
}
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
package com.megboyzz.devmenu.domain.usecases.hidefiles
|
||||
|
||||
import com.megboyzz.devmenu.domain.repository.FilesRepository
|
||||
import java.io.File
|
||||
import javax.inject.Inject
|
||||
|
||||
class HideFileUseCase @Inject constructor(
|
||||
private val filesRepository: FilesRepository
|
||||
) {
|
||||
|
||||
suspend operator fun invoke(file: File) = filesRepository.hideFile(file)
|
||||
|
||||
}
|
||||
+14
@@ -0,0 +1,14 @@
|
||||
package com.megboyzz.devmenu.domain.usecases.hidefiles
|
||||
|
||||
import javax.inject.Inject
|
||||
|
||||
class UnHideAllUseCase @Inject constructor(
|
||||
private val unHideFileUseCase: UnHideFileUseCase,
|
||||
private val getAllHidedFilesUseCase: GetAllHidedFilesUseCase
|
||||
) {
|
||||
|
||||
suspend operator fun invoke() = getAllHidedFilesUseCase().forEach {
|
||||
unHideFileUseCase(it)
|
||||
}
|
||||
|
||||
}
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
package com.megboyzz.devmenu.domain.usecases.hidefiles
|
||||
|
||||
import com.megboyzz.devmenu.domain.repository.FilesRepository
|
||||
import java.io.File
|
||||
import javax.inject.Inject
|
||||
|
||||
class UnHideFileUseCase @Inject constructor(
|
||||
private val filesRepository: FilesRepository
|
||||
) {
|
||||
|
||||
suspend operator fun invoke(file: File) = filesRepository.unHideFile(file)
|
||||
|
||||
}
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.megboyzz.devmenu.domain.usecases.files
|
||||
package com.megboyzz.devmenu.domain.usecases.replacement
|
||||
|
||||
import com.megboyzz.devmenu.domain.repository.ReplacementRepository
|
||||
import java.io.File
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
package com.megboyzz.devmenu.domain.usecases.settings
|
||||
|
||||
import com.megboyzz.devmenu.domain.usecases.files.GetInternalFilesUseCase
|
||||
import javax.inject.Inject
|
||||
|
||||
class RemoveGameDataUseCase @Inject constructor(
|
||||
private val getInternalFilesUseCase: GetInternalFilesUseCase
|
||||
) {
|
||||
operator fun invoke() = getInternalFilesUseCase().listFiles()?.forEach { it.delete() }
|
||||
}
|
||||
+5
-3
@@ -1,11 +1,13 @@
|
||||
package com.megboyzz.devmenu.domain.usecases.settings
|
||||
|
||||
import com.megboyzz.devmenu.domain.entities.Settings
|
||||
import com.megboyzz.devmenu.domain.entities.GameLang
|
||||
import com.megboyzz.devmenu.domain.repository.SettingsRepository
|
||||
import javax.inject.Inject
|
||||
|
||||
class GetSettingsUseCase @Inject constructor(
|
||||
class SetGameLangUseCase @Inject constructor(
|
||||
private val settingsRepository: SettingsRepository
|
||||
) {
|
||||
suspend operator fun invoke(): Settings = settingsRepository.getSettings()
|
||||
|
||||
operator fun invoke(gameLang: GameLang) = settingsRepository.setGameLang(gameLang)
|
||||
|
||||
}
|
||||
-11
@@ -1,11 +0,0 @@
|
||||
package com.megboyzz.devmenu.domain.usecases.settings
|
||||
|
||||
import com.megboyzz.devmenu.domain.entities.Settings
|
||||
import com.megboyzz.devmenu.domain.repository.SettingsRepository
|
||||
import javax.inject.Inject
|
||||
|
||||
class SetSettingsUseCase @Inject constructor(
|
||||
private val settingsRepository: SettingsRepository
|
||||
) {
|
||||
suspend operator fun invoke(settings: Settings) = settingsRepository.setSettings(settings)
|
||||
}
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
package com.megboyzz.devmenu.domain.usecases.settings
|
||||
|
||||
import com.megboyzz.devmenu.domain.repository.TrackingRepository
|
||||
import javax.inject.Inject
|
||||
|
||||
class SetTrackingSaveFileUseCase @Inject constructor(
|
||||
private val trackingRepository: TrackingRepository
|
||||
) {
|
||||
|
||||
operator fun invoke(enabled: Boolean, pathToSave: String) =
|
||||
trackingRepository.setTracking(enabled, pathToSave)
|
||||
|
||||
}
|
||||
@@ -1,19 +1,16 @@
|
||||
import com.megboyzz.devmenu.domain.repository.FilesRepository
|
||||
import com.megboyzz.devmenu.domain.repository.ReplacementRepository
|
||||
import com.megboyzz.devmenu.domain.repository.SaveRepository
|
||||
import com.megboyzz.devmenu.domain.repository.SettingsRepository
|
||||
import com.megboyzz.devmenu.domain.repository.SvmwRepository
|
||||
import org.mockito.Mockito.mock
|
||||
import org.mockito.Mockito.`when`
|
||||
import java.io.File
|
||||
import kotlin.coroutines.coroutineContext
|
||||
|
||||
class UseCaseTest {
|
||||
|
||||
private val filesRepository = mock(FilesRepository::class.java)
|
||||
private val replacementRepository = mock(ReplacementRepository::class.java)
|
||||
private val saveRepository = mock(SaveRepository::class.java)
|
||||
private val settingsRepository = mock(SettingsRepository::class.java)
|
||||
private val svmwRepository = mock(SvmwRepository::class.java)
|
||||
|
||||
private val externalFile = File("D:\\NFSMW Online\\com.ea.games.nfs13_na")
|
||||
|
||||
Reference in New Issue
Block a user