Compare commits

..

7 Commits

Author SHA1 Message Date
dependabot[bot] a0c72d3972 chore(deps): bump hiltAndroid from 2.56.1 to 2.56.2
Bumps `hiltAndroid` from 2.56.1 to 2.56.2.

Updates `com.google.dagger:hilt-android` from 2.56.1 to 2.56.2
- [Release notes](https://github.com/google/dagger/releases)
- [Changelog](https://github.com/google/dagger/blob/master/CHANGELOG.md)
- [Commits](https://github.com/google/dagger/compare/dagger-2.56.1...dagger-2.56.2)

Updates `com.google.dagger:hilt-android-compiler` from 2.56.1 to 2.56.2
- [Release notes](https://github.com/google/dagger/releases)
- [Changelog](https://github.com/google/dagger/blob/master/CHANGELOG.md)
- [Commits](https://github.com/google/dagger/compare/dagger-2.56.1...dagger-2.56.2)

Updates `com.google.dagger.hilt.android` from 2.56.1 to 2.56.2
- [Release notes](https://github.com/google/dagger/releases)
- [Changelog](https://github.com/google/dagger/blob/master/CHANGELOG.md)
- [Commits](https://github.com/google/dagger/compare/dagger-2.56.1...dagger-2.56.2)

---
updated-dependencies:
- dependency-name: com.google.dagger:hilt-android
  dependency-version: 2.56.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: com.google.dagger:hilt-android-compiler
  dependency-version: 2.56.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: com.google.dagger.hilt.android
  dependency-version: 2.56.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-17 13:12:31 +00:00
Zane Schepke d3d70ab2e7 build: change from debug signing 2025-04-17 05:04:29 -04:00
Zane Schepke 9b2d4a3fb5 build: fix release building 2025-04-17 05:02:43 -04:00
Zane Schepke d7741c37c5 chore: bump version, release notes 2025-04-17 04:43:31 -04:00
Zane Schepke 6046e4131f fix: android tv sleep restore
#606
2025-04-17 04:38:15 -04:00
Zane Schepke 4b2d2d20db fix: split tunnel search and select
closes #696
2025-04-17 04:28:20 -04:00
Zane Schepke a09501aaf5 feat(lang): weblate langauge updates (#701)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Matthaiks <kitynska@gmail.com>
Co-authored-by: Languages add-on <noreply-addon-languages@weblate.org>
Co-authored-by: solokot <solokot@gmail.com>
Co-authored-by: Kachelkaiser <kachelkaiser@htpst.de>
Co-authored-by: ssantos <ssantos@web.de>
Co-authored-by: 大王叫我来巡山 <hamburger2048@users.noreply.hosted.weblate.org>
Co-authored-by: mak7im01 <mak7im02@gmail.com>
Co-authored-by: nware-lab <nware.labs@gmail.com>
Co-authored-by: 翻譯得真好下次別翻了 <x86_64-pc-linux-gnu@proton.me>
Co-authored-by: Faisal Gull <mail.faisalrehman.345@gmail.com>
2025-04-17 04:08:19 -04:00
12 changed files with 29 additions and 11 deletions
+1 -1
View File
@@ -171,7 +171,7 @@
android:exported="false"
android:directBootAware="true">
<intent-filter>
<category android:name="android.intent.category.DEFAULT" />
<action android:name="android.intent.action.SCREEN_ON" />
<action android:name="android.intent.action.BOOT_COMPLETED" />
<action android:name="android.intent.action.QUICKBOOT_POWERON" />
<action android:name="com.htc.intent.action.QUICKBOOT_POWERON" />
@@ -8,6 +8,7 @@ import com.zaneschepke.wireguardautotunnel.core.tunnel.TunnelManager
import com.zaneschepke.wireguardautotunnel.di.ApplicationScope
import com.zaneschepke.wireguardautotunnel.di.IoDispatcher
import com.zaneschepke.wireguardautotunnel.domain.repository.AppDataRepository
import com.zaneschepke.wireguardautotunnel.util.extensions.isRunningOnTv
import dagger.hilt.android.AndroidEntryPoint
import javax.inject.Inject
import kotlinx.coroutines.CoroutineDispatcher
@@ -29,6 +30,8 @@ class RestartReceiver : BroadcastReceiver() {
override fun onReceive(context: Context, intent: Intent) {
Timber.d("RestartReceiver triggered with action: ${intent.action}")
// screen on for Android TV only to help with sleep shutdowns
if (intent.action == Intent.ACTION_SCREEN_ON && !context.isRunningOnTv()) return
serviceManager.updateTunnelTile()
serviceManager.updateAutoTunnelTile()
applicationScope.launch(ioDispatcher) {
@@ -35,7 +35,7 @@ class RepositoryModule {
AppDatabase::class.java,
context.getString(R.string.db_name),
)
.fallbackToDestructiveMigration()
.fallbackToDestructiveMigration(true)
.addCallback(DatabaseCallback())
.build()
}
@@ -50,6 +50,7 @@ constructor(
tunnelId?.let { loadInitialState(it) }
}
// TODO improve this loading experience
private fun loadInitialState(tunnelId: Int) =
viewModelScope.launch {
val tunnel = tunnelRepository.getById(tunnelId) ?: return@launch
@@ -108,6 +109,7 @@ constructor(
loading = false,
tunnelConf = tunnel,
tunneledApps = tunneledApps,
queriedApps = tunneledApps,
splitOption = splitOption,
)
}
@@ -116,14 +118,14 @@ constructor(
fun onSearchQuery(query: String) {
val filteredApps =
if (query.isBlank()) {
allTunneledApps
_uiState.value.tunneledApps
} else {
allTunneledApps.filter {
_uiState.value.tunneledApps.filter {
it.first.name.contains(query, ignoreCase = true) ||
it.first.`package`.contains(query, ignoreCase = true)
}
}
_uiState.update { it.copy(searchQuery = query, tunneledApps = filteredApps) }
_uiState.update { it.copy(searchQuery = query, queriedApps = filteredApps) }
}
fun updateSplitOption(newOption: SplitOption) {
@@ -136,7 +138,12 @@ constructor(
currentState.tunneledApps.map { (app, selected) ->
if (app.`package` == packageName) Pair(app, !selected) else Pair(app, selected)
}
_uiState.value = currentState.copy(tunneledApps = updatedApps)
val updatedQueryApps =
currentState.queriedApps.map { (app, selected) ->
if (app.`package` == packageName) Pair(app, !selected) else Pair(app, selected)
}
_uiState.value =
currentState.copy(tunneledApps = updatedApps, queriedApps = updatedQueryApps)
}
fun saveChanges() =
@@ -29,7 +29,7 @@ fun SplitTunnelContent(
)
if (uiState.splitOption != SplitOption.ALL) {
AppListSection(
apps = uiState.tunneledApps,
apps = uiState.queriedApps,
onAppSelectionToggle = onAppSelectionToggle,
onQueryChange = onQueryChange,
uiState.searchQuery,
@@ -6,6 +6,7 @@ data class SplitTunnelUiState(
val loading: Boolean = true,
val tunnelConf: TunnelConf? = null,
val tunneledApps: SplitTunnelApps = emptyList(),
val queriedApps: SplitTunnelApps = emptyList(),
val splitOption: SplitOption = SplitOption.ALL,
val searchQuery: String = "",
val success: Boolean? = null,
@@ -78,6 +78,7 @@ fun WireguardAutoTunnelTheme(theme: Theme = Theme.AUTOMATIC, content: @Composabl
val view = LocalView.current
if (!view.isInEditMode) {
@Suppress("DEPRECATION")
SideEffect {
val window = (view.context as Activity).window
WindowCompat.setDecorFitsSystemWindows(window, false)
-1
View File
@@ -32,7 +32,6 @@
<string name="name">Name</string>
<string name="always_on_vpn_support">Always-On VPN erlauben</string>
<string name="location_services_not_detected">Standortdienste nicht erkannt</string>
<string name="hint_search_packages">Pakete suchen</string>
<string name="vpn_on">VPN an</string>
<string name="vpn_off">VPN aus</string>
<string name="create_import">Von Grund auf neu erstellen</string>
+2 -2
View File
@@ -1,7 +1,7 @@
object Constants {
const val VERSION_NAME = "3.8.2"
const val VERSION_NAME = "3.8.3"
const val JVM_TARGET = "17"
const val VERSION_CODE = 38200
const val VERSION_CODE = 38300
const val TARGET_SDK = 35
const val MIN_SDK = 26
const val APP_ID = "com.zaneschepke.wireguardautotunnel"
@@ -0,0 +1,6 @@
What's new:
- Fix DNS resolution issues
- Improve Android TV restore on sleep
- Fix split tunnel search bug
- Localization updates
- Update docs links for new app website
+1 -1
View File
@@ -9,7 +9,7 @@ coreKtx = "1.16.0"
datastorePreferences = "1.1.4"
desugar_jdk_libs = "2.1.5"
espressoCore = "3.6.1"
hiltAndroid = "2.56.1"
hiltAndroid = "2.56.2"
hiltCompiler = "1.2.0"
junit = "4.13.2"
kotlinx-serialization-json = "1.8.1"
@@ -57,6 +57,7 @@ class LogcatManager(pid: Int, logDir: String, maxFileSize: Long, maxFolderSize:
isStarted = true
}
@OptIn(ExperimentalCoroutinesApi::class)
override fun stop() {
if (!isStarted) return
logJob?.cancel()