Compare commits

..

1 Commits

Author SHA1 Message Date
dependabot[bot] 4b7af214fe chore(deps): bump androidGradlePlugin from 8.11.0 to 8.12.0
Bumps `androidGradlePlugin` from 8.11.0 to 8.12.0.

Updates `com.android.application` from 8.11.0 to 8.12.0

Updates `com.android.library` from 8.11.0 to 8.12.0

---
updated-dependencies:
- dependency-name: com.android.application
  dependency-version: 8.12.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: com.android.library
  dependency-version: 8.12.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-11 18:43:41 +00:00
13 changed files with 30 additions and 48 deletions
+1 -1
View File
@@ -76,7 +76,7 @@ jobs:
with:
fetch-depth: 0
- name: Set up JDK 17
uses: actions/setup-java@v5
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '17'
+1 -1
View File
@@ -12,7 +12,7 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v5
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '17'
+1 -1
View File
@@ -191,7 +191,7 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v5
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '17'
@@ -138,22 +138,19 @@ constructor(
}
val host =
tunnelConf.pingTarget
?: {
val parts = allowedIpStr.split("/")
val internalIp =
if (parts.size == 2) parts[0] else allowedIpStr
{
val parts = allowedIpStr.split("/")
val internalIp = if (parts.size == 2) parts[0] else allowedIpStr
val prefix =
if (parts.size == 2) parts[1].toIntOrNull() ?: 32
else 32
if (prefix <= 1) {
CLOUDFLARE_IPV4_IP
} else {
internalIp.removeSurrounding("[", "]")
}
val prefix =
if (parts.size == 2) parts[1].toIntOrNull() ?: 32 else 32
if (prefix <= 1) {
tunnelConf.pingTarget ?: CLOUDFLARE_IPV4_IP
} else {
internalIp.removeSurrounding("[", "]")
}
.invoke()
}
.invoke()
val attemptTime = System.currentTimeMillis()
runCatching {
@@ -38,13 +38,13 @@ class GitHubUpdateRepository(
gitHubApi.getLatestRelease(githubOwner, githubRepo).onFailure(Timber::e)
}
release.map { release ->
val standaloneApkAsset =
val apkAsset =
release.assets.find { asset ->
asset.name.startsWith("wgtunnel-${Constants.STANDALONE_FLAVOR}-v") &&
asset.name.endsWith(".apk")
asset.name.endsWith(".apk")
}
val newVersion =
standaloneApkAsset
apkAsset
?.name
?.removePrefix("wgtunnel-${Constants.STANDALONE_FLAVOR}-v")
?.removeSuffix(".apk") ?: return@map null
@@ -53,9 +53,7 @@ class GitHubUpdateRepository(
if (isNightly && newVersion != currentVersion)
return@map GitHubReleaseMapper.toAppUpdate(release, newVersion)
if (NumberUtils.compareVersions(newVersion, currentVersion) > 0) {
GitHubReleaseMapper.toAppUpdate(release.copy(
assets = listOf(standaloneApkAsset)
), newVersion)
GitHubReleaseMapper.toAppUpdate(release, newVersion)
} else {
null
}
@@ -65,7 +63,7 @@ class GitHubUpdateRepository(
override suspend fun downloadApk(
apkUrl: String,
fileName: String,
onProgress: suspend (Float) -> Unit,
onProgress: (Float) -> Unit,
): Result<File> =
withContext(ioDispatcher) {
try {
@@ -103,4 +101,4 @@ class GitHubUpdateRepository(
Result.failure(e)
}
}
}
}
@@ -9,6 +9,6 @@ interface UpdateRepository {
suspend fun downloadApk(
apkUrl: String,
fileName: String,
onProgress: suspend (Float) -> Unit,
onProgress: (Float) -> Unit,
): Result<File>
}
@@ -82,7 +82,7 @@ fun ConfigScreen(
if (save) {
try {
appViewModel.handleEvent(
AppEvent.SaveTunnel(
AppEvent.SaveTunnelUniquely(
uiState.configProxy.buildTunnelConfFromState(uiState.tunnelName, tunnelConf)
)
)
@@ -4,25 +4,21 @@ import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import com.zaneschepke.wireguardautotunnel.BuildConfig
import com.zaneschepke.wireguardautotunnel.R
import com.zaneschepke.wireguardautotunnel.di.MainDispatcher
import com.zaneschepke.wireguardautotunnel.domain.model.AppUpdate
import com.zaneschepke.wireguardautotunnel.domain.repository.UpdateRepository
import com.zaneschepke.wireguardautotunnel.util.FileUtils
import com.zaneschepke.wireguardautotunnel.util.StringValue
import dagger.hilt.android.lifecycle.HiltViewModel
import jakarta.inject.Inject
import kotlinx.coroutines.CoroutineDispatcher
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.asStateFlow
import kotlinx.coroutines.flow.update
import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext
@HiltViewModel
class SupportViewModel
@Inject
constructor(private val updateRepository: UpdateRepository, private val fileUtils: FileUtils,
@MainDispatcher private val mainDispatcher: CoroutineDispatcher) :
constructor(private val updateRepository: UpdateRepository, private val fileUtils: FileUtils) :
ViewModel() {
private val _uiState = MutableStateFlow(SupportUiState())
@@ -66,9 +62,7 @@ constructor(private val updateRepository: UpdateRepository, private val fileUtil
_uiState.update { it.copy(isLoading = true) }
updateRepository
.downloadApk(appUpdate.apkUrl, appUpdate.apkFileName) { progress ->
withContext(mainDispatcher) {
_uiState.update { it.copy(downloadProgress = progress) }
}
_uiState.update { it.copy(downloadProgress = progress) }
}
.onSuccess { apk ->
_uiState.update { it.copy(isLoading = false) }
@@ -263,7 +263,7 @@ constructor(
saveSettings(
state.appSettings.copy(tunnelPingTimeoutSeconds = event.timeout)
)
is AppEvent.SaveTunnel -> saveTunnel(event.tunnel)
is AppEvent.SaveTunnelUniquely -> saveTunnelsUniquely(listOf(event.tunnel))
}
}
}
@@ -77,7 +77,7 @@ sealed class AppEvent {
data class SetTheme(val theme: Theme) : AppEvent()
data class SaveTunnel(val tunnel: TunnelConf) : AppEvent()
data class SaveTunnelUniquely(val tunnel: TunnelConf) : AppEvent()
data class SaveMonitoringSettings(
val pingInterval: Int,
+2 -2
View File
@@ -1,6 +1,6 @@
object Constants {
const val VERSION_NAME = "3.9.5"
const val VERSION_CODE = 39500
const val VERSION_NAME = "3.9.4"
const val VERSION_CODE = 39400
const val TARGET_SDK = 35
const val MIN_SDK = 26
const val APP_ID = "com.zaneschepke.wireguardautotunnel"
@@ -1,7 +0,0 @@
What's new:
- Fix for tunnel sort bug
- Improved location permissions flow
- Location permission detection and notifications
- Fix for AndroidTV apps detection for split tunneling
- Improved tunnel monitoring and reboot recovery
- Fix tunnel slow reconnect from sleep
+2 -2
View File
@@ -1,7 +1,7 @@
[versions]
accompanist = "0.37.3"
activityCompose = "1.10.1"
amneziawgAndroid = "1.6.2"
amneziawgAndroid = "1.6.1"
androidx-junit = "1.3.0"
icmp4a = "1.0.0"
roomdatabasebackup = "1.1.0"
@@ -27,7 +27,7 @@ semver4j = "3.1.0"
slf4jAndroid = "1.7.36"
timber = "5.0.1"
tunnel = "1.4.0"
androidGradlePlugin = "8.11.0"
androidGradlePlugin = "8.12.0"
kotlin = "2.2.0"
ksp = "2.2.0-2.0.2"
composeBom = "2025.07.00"