Changed getCurrentOs to be a lazy property and avoid doing the check everytime

This commit is contained in:
Abdelilah El Aissaoui 2023-08-22 20:54:40 +02:00
parent 46ea80d9ce
commit f017409db8
No known key found for this signature in database
GPG Key ID: 7587FC860F594869
8 changed files with 15 additions and 17 deletions

View File

@ -2,14 +2,14 @@ package com.jetpackduba.gitnuro
import com.jetpackduba.gitnuro.extensions.openDirectory
import com.jetpackduba.gitnuro.system.OS
import com.jetpackduba.gitnuro.system.getCurrentOs
import com.jetpackduba.gitnuro.system.currentOs
import org.apache.log4j.*
import java.io.File
fun initLogging() {
val layout = PatternLayout("%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n")
val filePath = when (getCurrentOs()) {
val filePath = when (currentOs) {
OS.LINUX -> linuxLogsPathAppender()
OS.WINDOWS -> windowsLogsPathAppender()
OS.MAC -> macosLogsPath()

View File

@ -5,7 +5,7 @@ import com.jetpackduba.gitnuro.managers.FlatpakShellManager
import com.jetpackduba.gitnuro.managers.IShellManager
import com.jetpackduba.gitnuro.managers.ShellManager
import com.jetpackduba.gitnuro.system.OS
import com.jetpackduba.gitnuro.system.getCurrentOs
import com.jetpackduba.gitnuro.system.currentOs
import com.jetpackduba.gitnuro.terminal.ITerminalProvider
import com.jetpackduba.gitnuro.terminal.LinuxTerminalProvider
import com.jetpackduba.gitnuro.terminal.MacTerminalProvider
@ -34,7 +34,7 @@ class ShellModule {
windowsTerminalProvider: Provider<WindowsTerminalProvider>,
macTerminalProvider: Provider<MacTerminalProvider>,
): ITerminalProvider {
return when (getCurrentOs()) {
return when (currentOs) {
OS.LINUX -> linuxTerminalProvider.get()
OS.WINDOWS -> windowsTerminalProvider.get()
OS.MAC -> macTerminalProvider.get()

View File

@ -5,7 +5,7 @@ package com.jetpackduba.gitnuro.keybindings
import androidx.compose.ui.ExperimentalComposeUiApi
import androidx.compose.ui.input.key.*
import com.jetpackduba.gitnuro.system.OS
import com.jetpackduba.gitnuro.system.getCurrentOs
import com.jetpackduba.gitnuro.system.currentOs
data class Keybinding(
val alt: Boolean = false,
@ -85,7 +85,7 @@ private fun macKeybindings(): Map<KeybindingOption, List<Keybinding>> {
}
val keybindings by lazy {
return@lazy when (getCurrentOs()) {
return@lazy when (currentOs) {
OS.LINUX -> linuxKeybindings()
OS.WINDOWS -> windowsKeybindings()
OS.MAC -> macKeybindings()

View File

@ -1,7 +1,7 @@
package com.jetpackduba.gitnuro.managers
import com.jetpackduba.gitnuro.system.OS
import com.jetpackduba.gitnuro.system.getCurrentOs
import com.jetpackduba.gitnuro.system.currentOs
import com.jetpackduba.gitnuro.logging.printError
import java.io.File
import javax.inject.Inject
@ -10,7 +10,7 @@ private const val TAG = "AppFilesManager"
class AppFilesManager @Inject constructor() {
fun getAppFolder(): File {
val baseFolderPath = when (getCurrentOs()) {
val baseFolderPath = when (currentOs) {
OS.LINUX -> {
var configFolder: String? = System.getenv("XDG_CONFIG_HOME")

View File

@ -2,7 +2,7 @@ package com.jetpackduba.gitnuro.preferences
import com.jetpackduba.gitnuro.extensions.defaultWindowPlacement
import com.jetpackduba.gitnuro.system.OS
import com.jetpackduba.gitnuro.system.getCurrentOs
import com.jetpackduba.gitnuro.system.currentOs
import com.jetpackduba.gitnuro.theme.ColorsScheme
import com.jetpackduba.gitnuro.theme.Theme
import com.jetpackduba.gitnuro.viewmodels.TextDiffType
@ -258,7 +258,7 @@ class AppSettings @Inject constructor() {
// TODO migrate old prefs path to new one?
fun initPreferencesPath() {
if (getCurrentOs() == OS.LINUX) {
if (currentOs == OS.LINUX) {
val xdgConfigHome: String? = System.getenv("XDG_CONFIG_HOME")
val settingsPath = if (xdgConfigHome.isNullOrBlank()) {

View File

@ -18,11 +18,11 @@ enum class OS {
fun isMac() = this == MAC
}
fun getCurrentOs(): OS {
val currentOs by lazy {
val os = System.getProperty("os.name").lowercase()
printLog(TAG, "OS is $os")
return when {
return@lazy when {
os.contains("linux") -> OS.LINUX
os.contains("windows") -> OS.WINDOWS
os.contains("mac") -> OS.MAC
@ -30,7 +30,6 @@ fun getCurrentOs(): OS {
}
}
val systemSeparator: String by lazy {
FileSystems.getDefault().separator
}

View File

@ -21,9 +21,8 @@ class OpenFilePickerUseCase @Inject constructor(
private val shellManager: ShellManager
) {
operator fun invoke(pickerType: PickerType, basePath: String?): String? {
val os = getCurrentOs()
val isLinux = os.isLinux()
val isMac = os.isMac()
val isLinux = currentOs.isLinux()
val isMac = currentOs.isMac()
return if (isLinux) {
openDirectoryDialogLinux(pickerType)

View File

@ -19,7 +19,7 @@ class OpenPathInSystemUseCase @Inject constructor(
private val shellManager: ShellManager
) {
operator fun invoke(path: String): Boolean {
when (getCurrentOs()) {
when (currentOs) {
OS.LINUX -> {
if (shellManager.runCommandWithoutResult(listOf("xdg-open", path)))
return true