Changed getCurrentOs to be a lazy property and avoid doing the check everytime
This commit is contained in:
parent
46ea80d9ce
commit
f017409db8
@ -2,14 +2,14 @@ package com.jetpackduba.gitnuro
|
|||||||
|
|
||||||
import com.jetpackduba.gitnuro.extensions.openDirectory
|
import com.jetpackduba.gitnuro.extensions.openDirectory
|
||||||
import com.jetpackduba.gitnuro.system.OS
|
import com.jetpackduba.gitnuro.system.OS
|
||||||
import com.jetpackduba.gitnuro.system.getCurrentOs
|
import com.jetpackduba.gitnuro.system.currentOs
|
||||||
import org.apache.log4j.*
|
import org.apache.log4j.*
|
||||||
import java.io.File
|
import java.io.File
|
||||||
|
|
||||||
fun initLogging() {
|
fun initLogging() {
|
||||||
val layout = PatternLayout("%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n")
|
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.LINUX -> linuxLogsPathAppender()
|
||||||
OS.WINDOWS -> windowsLogsPathAppender()
|
OS.WINDOWS -> windowsLogsPathAppender()
|
||||||
OS.MAC -> macosLogsPath()
|
OS.MAC -> macosLogsPath()
|
||||||
|
@ -5,7 +5,7 @@ import com.jetpackduba.gitnuro.managers.FlatpakShellManager
|
|||||||
import com.jetpackduba.gitnuro.managers.IShellManager
|
import com.jetpackduba.gitnuro.managers.IShellManager
|
||||||
import com.jetpackduba.gitnuro.managers.ShellManager
|
import com.jetpackduba.gitnuro.managers.ShellManager
|
||||||
import com.jetpackduba.gitnuro.system.OS
|
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.ITerminalProvider
|
||||||
import com.jetpackduba.gitnuro.terminal.LinuxTerminalProvider
|
import com.jetpackduba.gitnuro.terminal.LinuxTerminalProvider
|
||||||
import com.jetpackduba.gitnuro.terminal.MacTerminalProvider
|
import com.jetpackduba.gitnuro.terminal.MacTerminalProvider
|
||||||
@ -34,7 +34,7 @@ class ShellModule {
|
|||||||
windowsTerminalProvider: Provider<WindowsTerminalProvider>,
|
windowsTerminalProvider: Provider<WindowsTerminalProvider>,
|
||||||
macTerminalProvider: Provider<MacTerminalProvider>,
|
macTerminalProvider: Provider<MacTerminalProvider>,
|
||||||
): ITerminalProvider {
|
): ITerminalProvider {
|
||||||
return when (getCurrentOs()) {
|
return when (currentOs) {
|
||||||
OS.LINUX -> linuxTerminalProvider.get()
|
OS.LINUX -> linuxTerminalProvider.get()
|
||||||
OS.WINDOWS -> windowsTerminalProvider.get()
|
OS.WINDOWS -> windowsTerminalProvider.get()
|
||||||
OS.MAC -> macTerminalProvider.get()
|
OS.MAC -> macTerminalProvider.get()
|
||||||
|
@ -5,7 +5,7 @@ package com.jetpackduba.gitnuro.keybindings
|
|||||||
import androidx.compose.ui.ExperimentalComposeUiApi
|
import androidx.compose.ui.ExperimentalComposeUiApi
|
||||||
import androidx.compose.ui.input.key.*
|
import androidx.compose.ui.input.key.*
|
||||||
import com.jetpackduba.gitnuro.system.OS
|
import com.jetpackduba.gitnuro.system.OS
|
||||||
import com.jetpackduba.gitnuro.system.getCurrentOs
|
import com.jetpackduba.gitnuro.system.currentOs
|
||||||
|
|
||||||
data class Keybinding(
|
data class Keybinding(
|
||||||
val alt: Boolean = false,
|
val alt: Boolean = false,
|
||||||
@ -85,7 +85,7 @@ private fun macKeybindings(): Map<KeybindingOption, List<Keybinding>> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
val keybindings by lazy {
|
val keybindings by lazy {
|
||||||
return@lazy when (getCurrentOs()) {
|
return@lazy when (currentOs) {
|
||||||
OS.LINUX -> linuxKeybindings()
|
OS.LINUX -> linuxKeybindings()
|
||||||
OS.WINDOWS -> windowsKeybindings()
|
OS.WINDOWS -> windowsKeybindings()
|
||||||
OS.MAC -> macKeybindings()
|
OS.MAC -> macKeybindings()
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
package com.jetpackduba.gitnuro.managers
|
package com.jetpackduba.gitnuro.managers
|
||||||
|
|
||||||
import com.jetpackduba.gitnuro.system.OS
|
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 com.jetpackduba.gitnuro.logging.printError
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
@ -10,7 +10,7 @@ private const val TAG = "AppFilesManager"
|
|||||||
|
|
||||||
class AppFilesManager @Inject constructor() {
|
class AppFilesManager @Inject constructor() {
|
||||||
fun getAppFolder(): File {
|
fun getAppFolder(): File {
|
||||||
val baseFolderPath = when (getCurrentOs()) {
|
val baseFolderPath = when (currentOs) {
|
||||||
OS.LINUX -> {
|
OS.LINUX -> {
|
||||||
var configFolder: String? = System.getenv("XDG_CONFIG_HOME")
|
var configFolder: String? = System.getenv("XDG_CONFIG_HOME")
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@ package com.jetpackduba.gitnuro.preferences
|
|||||||
|
|
||||||
import com.jetpackduba.gitnuro.extensions.defaultWindowPlacement
|
import com.jetpackduba.gitnuro.extensions.defaultWindowPlacement
|
||||||
import com.jetpackduba.gitnuro.system.OS
|
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.ColorsScheme
|
||||||
import com.jetpackduba.gitnuro.theme.Theme
|
import com.jetpackduba.gitnuro.theme.Theme
|
||||||
import com.jetpackduba.gitnuro.viewmodels.TextDiffType
|
import com.jetpackduba.gitnuro.viewmodels.TextDiffType
|
||||||
@ -258,7 +258,7 @@ class AppSettings @Inject constructor() {
|
|||||||
|
|
||||||
// TODO migrate old prefs path to new one?
|
// TODO migrate old prefs path to new one?
|
||||||
fun initPreferencesPath() {
|
fun initPreferencesPath() {
|
||||||
if (getCurrentOs() == OS.LINUX) {
|
if (currentOs == OS.LINUX) {
|
||||||
val xdgConfigHome: String? = System.getenv("XDG_CONFIG_HOME")
|
val xdgConfigHome: String? = System.getenv("XDG_CONFIG_HOME")
|
||||||
|
|
||||||
val settingsPath = if (xdgConfigHome.isNullOrBlank()) {
|
val settingsPath = if (xdgConfigHome.isNullOrBlank()) {
|
||||||
|
@ -18,11 +18,11 @@ enum class OS {
|
|||||||
fun isMac() = this == MAC
|
fun isMac() = this == MAC
|
||||||
}
|
}
|
||||||
|
|
||||||
fun getCurrentOs(): OS {
|
val currentOs by lazy {
|
||||||
val os = System.getProperty("os.name").lowercase()
|
val os = System.getProperty("os.name").lowercase()
|
||||||
printLog(TAG, "OS is $os")
|
printLog(TAG, "OS is $os")
|
||||||
|
|
||||||
return when {
|
return@lazy when {
|
||||||
os.contains("linux") -> OS.LINUX
|
os.contains("linux") -> OS.LINUX
|
||||||
os.contains("windows") -> OS.WINDOWS
|
os.contains("windows") -> OS.WINDOWS
|
||||||
os.contains("mac") -> OS.MAC
|
os.contains("mac") -> OS.MAC
|
||||||
@ -30,7 +30,6 @@ fun getCurrentOs(): OS {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
val systemSeparator: String by lazy {
|
val systemSeparator: String by lazy {
|
||||||
FileSystems.getDefault().separator
|
FileSystems.getDefault().separator
|
||||||
}
|
}
|
||||||
|
@ -21,9 +21,8 @@ class OpenFilePickerUseCase @Inject constructor(
|
|||||||
private val shellManager: ShellManager
|
private val shellManager: ShellManager
|
||||||
) {
|
) {
|
||||||
operator fun invoke(pickerType: PickerType, basePath: String?): String? {
|
operator fun invoke(pickerType: PickerType, basePath: String?): String? {
|
||||||
val os = getCurrentOs()
|
val isLinux = currentOs.isLinux()
|
||||||
val isLinux = os.isLinux()
|
val isMac = currentOs.isMac()
|
||||||
val isMac = os.isMac()
|
|
||||||
|
|
||||||
return if (isLinux) {
|
return if (isLinux) {
|
||||||
openDirectoryDialogLinux(pickerType)
|
openDirectoryDialogLinux(pickerType)
|
||||||
|
@ -19,7 +19,7 @@ class OpenPathInSystemUseCase @Inject constructor(
|
|||||||
private val shellManager: ShellManager
|
private val shellManager: ShellManager
|
||||||
) {
|
) {
|
||||||
operator fun invoke(path: String): Boolean {
|
operator fun invoke(path: String): Boolean {
|
||||||
when (getCurrentOs()) {
|
when (currentOs) {
|
||||||
OS.LINUX -> {
|
OS.LINUX -> {
|
||||||
if (shellManager.runCommandWithoutResult(listOf("xdg-open", path)))
|
if (shellManager.runCommandWithoutResult(listOf("xdg-open", path)))
|
||||||
return true
|
return true
|
||||||
|
Loading…
Reference in New Issue
Block a user