mirror of
https://github.com/wgtunnel/android.git
synced 2026-06-02 00:29:08 +02:00
fix: parser key rotation, name comment, export name clarity
closes #1243 closes #1217
This commit is contained in:
@@ -85,7 +85,10 @@ data class TunnelConfig(
|
||||
|
||||
fun tunnelConfFromQuick(amQuick: String, name: String? = null): TunnelConfig {
|
||||
val config = Config.parseQuickString(amQuick)
|
||||
return TunnelConfig(name = name ?: config.defaultName(), quickConfig = amQuick)
|
||||
return TunnelConfig(
|
||||
name = config.name ?: name ?: config.defaultName(),
|
||||
quickConfig = amQuick,
|
||||
)
|
||||
}
|
||||
|
||||
fun generateDefaultGlobalConfig(): TunnelConfig {
|
||||
|
||||
+15
-2
@@ -34,7 +34,6 @@ import io.ktor.client.request.prepareGet
|
||||
import io.ktor.client.statement.bodyAsText
|
||||
import java.io.File
|
||||
import java.io.IOException
|
||||
import java.time.Instant
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.async
|
||||
import kotlinx.coroutines.awaitAll
|
||||
@@ -335,7 +334,9 @@ class SharedAppViewModel(
|
||||
fun exportSelectedTunnels(uri: Uri?) = intent {
|
||||
val selectedTunnels = tunnelsUiState.value.selectedTunnels
|
||||
val files = createConfFiles(selectedTunnels)
|
||||
val shareFileName = "wgtunnel-export_${Instant.now().epochSecond}.zip"
|
||||
|
||||
val shareFileName = createExportFileName(selectedTunnels.size)
|
||||
|
||||
val onFailure = { action: Throwable ->
|
||||
intent {
|
||||
postSideEffect(
|
||||
@@ -349,6 +350,7 @@ class SharedAppViewModel(
|
||||
}
|
||||
Unit
|
||||
}
|
||||
|
||||
fileUtils
|
||||
.createNewShareFile(shareFileName)
|
||||
.onSuccess {
|
||||
@@ -366,6 +368,17 @@ class SharedAppViewModel(
|
||||
.onFailure(onFailure)
|
||||
}
|
||||
|
||||
private fun createExportFileName(tunnelCount: Int): String {
|
||||
val timestamp =
|
||||
java.time.LocalDateTime.now()
|
||||
.format(java.time.format.DateTimeFormatter.ofPattern("yyyy-MM-dd_HH-mm"))
|
||||
|
||||
return when (tunnelCount) {
|
||||
1 -> "WGTunnel_Export_$timestamp.zip"
|
||||
else -> "WGTunnel_Export_${timestamp}_${tunnelCount}_Tunnels.zip"
|
||||
}
|
||||
}
|
||||
|
||||
fun setScreenRecordingSecurity(to: Boolean) = intent {
|
||||
settingsRepository.updateScreenRecordingSecurity(to)
|
||||
}
|
||||
|
||||
@@ -26,6 +26,7 @@ fun allowedLicenseUrls(): List<String> {
|
||||
"https://github.com/RikkaApps/Shizuku-API/blob/master/LICENSE",
|
||||
"https://github.com/rafi0101/Android-Room-Database-Backup/blob/master/LICENSE",
|
||||
"https://opensource.org/license/mit",
|
||||
"https://www.bouncycastle.org/licence.html",
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
[versions]
|
||||
app="5.0.0"
|
||||
accompanist = "0.37.3"
|
||||
activityCompose = "1.13.0"
|
||||
androidx-junit = "1.3.0"
|
||||
@@ -44,7 +43,7 @@ storage = "1.6.0"
|
||||
ktfmt = "0.26.0"
|
||||
licensee = "1.14.1"
|
||||
lifecycleViewmodelNavigation3 = "2.10.0"
|
||||
parser = "1.0.7"
|
||||
parser = "1.1.0"
|
||||
relinker = "1.4.5"
|
||||
libsu = "6.0.0"
|
||||
jetbrainsKotlinJvm = "2.3.21"
|
||||
@@ -200,7 +199,6 @@ libsu = { module = "com.github.topjohnwu.libsu:core", version.ref = "libsu" }
|
||||
|
||||
[plugins]
|
||||
android-application = { id = "com.android.application", version.ref = "androidGradlePlugin" }
|
||||
kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
|
||||
ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" }
|
||||
kotlinxSerialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }
|
||||
androidLibrary = { id = "com.android.library", version.ref = "androidGradlePlugin" }
|
||||
|
||||
Reference in New Issue
Block a user