Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
71 commits
Select commit Hold shift + click to select a range
3dd849e
Add files via upload
BELLA12GLG Jun 6, 2026
6d5ad93
Add files via upload
BELLA12GLG Jun 6, 2026
2f9ca81
Add files via upload
BELLA12GLG Jun 6, 2026
b50de33
Add files via upload
BELLA12GLG Jun 6, 2026
8faf2ec
Add files via upload
BELLA12GLG Jun 6, 2026
e933e98
Add files via upload
BELLA12GLG Jun 6, 2026
24798ad
Add files via upload
BELLA12GLG Jun 6, 2026
c59fdd5
Create 1
BELLA12GLG Jun 6, 2026
eac6095
Add files via upload
BELLA12GLG Jun 6, 2026
4fc0f5f
Delete core/data/src/main/java/com/gatecontrol/android/data/db/1
BELLA12GLG Jun 6, 2026
5b28880
Add files via upload
BELLA12GLG Jun 6, 2026
5d421f6
Rename release.yml to Release.yml
BELLA12GLG Jun 6, 2026
1f54c61
更新 build.gradle.kts
BELLA12GLG Jun 6, 2026
ef9bfe1
更新 NetworkGroupDatabase.kt
BELLA12GLG Jun 6, 2026
306448b
chore: bump version to 1.6.1
invalid-email-address Jun 6, 2026
4307c8d
Update SettingsScreen.kt
BELLA12GLG Jun 6, 2026
da43d52
Create strings.xml
BELLA12GLG Jun 6, 2026
192ab72
更新 SettingsScreen.kt
BELLA12GLG Jun 6, 2026
e272d80
更新 FormattersTest.kt
BELLA12GLG Jun 6, 2026
ae0eba2
更新 FormattersTest.kt
BELLA12GLG Jun 6, 2026
c5a957c
更新 FormattersTest.kt
BELLA12GLG Jun 6, 2026
144721e
更新 FormattersTest.kt
BELLA12GLG Jun 6, 2026
5b4c1c3
更新 Formatters.kt
BELLA12GLG Jun 6, 2026
64915a2
更新 FormattersTest.kt
BELLA12GLG Jun 6, 2026
8f73769
Rename Release.yml to release.yml
BELLA12GLG Jun 6, 2026
2475146
chore: bump version to 1.6.2
invalid-email-address Jun 6, 2026
b6282cd
Add files via upload
BELLA12GLG Jun 8, 2026
90413ec
Add files via upload
BELLA12GLG Jun 8, 2026
3668a67
Add files via upload
BELLA12GLG Jun 8, 2026
594e0f0
Add files via upload
BELLA12GLG Jun 8, 2026
6fcffc4
更新 StealthConfig.kt
BELLA12GLG Jun 8, 2026
5687fe5
更新 StealthEngine.kt
BELLA12GLG Jun 8, 2026
6c7379a
更新 TunnelManager.kt
BELLA12GLG Jun 8, 2026
e10982d
更新 SettingsRepository.kt
BELLA12GLG Jun 8, 2026
9410629
更新 SettingsViewModel.kt
BELLA12GLG Jun 8, 2026
ffc0ff7
更新 SettingsScreen.kt
BELLA12GLG Jun 8, 2026
302d297
更新 VpnViewModel.kt
BELLA12GLG Jun 8, 2026
31291a7
更新 strings.xml
BELLA12GLG Jun 8, 2026
e9eebb7
更新 strings.xml
BELLA12GLG Jun 8, 2026
6335729
更新 strings.xml
BELLA12GLG Jun 8, 2026
108be90
更新 strings.xml
BELLA12GLG Jun 8, 2026
af01cd8
更新 VpnViewModel.kt
BELLA12GLG Jun 8, 2026
9512af9
Delete app/src/main/java/com/gatecontrol/android/ui/vpn/VpnViewModel.kt
BELLA12GLG Jun 8, 2026
f03f77b
Add files via upload
BELLA12GLG Jun 8, 2026
09f14f0
创建 VpnViewModel.kt
BELLA12GLG Jun 8, 2026
d01596a
删除 VpnViewModel.kt.txt
BELLA12GLG Jun 8, 2026
78728b2
更新 VpnViewModelTest.kt
BELLA12GLG Jun 8, 2026
4ce6bf9
更新 VpnViewModelTest.kt
BELLA12GLG Jun 8, 2026
f0c044e
chore: bump version to 1.6.3
invalid-email-address Jun 8, 2026
b19caed
Add files via upload
BELLA12GLG Jun 8, 2026
dfa1923
chore: bump version to 1.6.4
invalid-email-address Jun 8, 2026
3c11d4f
Delete azirevpn-ar-bue.conf
BELLA12GLG Jun 8, 2026
5ee4bef
chore: bump version to 1.6.5
invalid-email-address Jun 8, 2026
a1fdd0c
Update ApiClientProvider.kt
BELLA12GLG Jun 8, 2026
180ea1c
更新 TunnelManager.kt
BELLA12GLG Jun 8, 2026
02e509c
更新 VpnViewModel.kt
BELLA12GLG Jun 8, 2026
14c7e5d
chore: bump version to 1.6.6
invalid-email-address Jun 8, 2026
59fc158
Update TunnelManager.kt
BELLA12GLG Jun 9, 2026
69c588b
更新 VpnViewModel.kt
BELLA12GLG Jun 9, 2026
0494d56
更新 TunnelManager.kt
BELLA12GLG Jun 9, 2026
dfb0ad2
chore: bump version to 1.6.7
invalid-email-address Jun 9, 2026
de8038a
Update SettingsRepository.kt
BELLA12GLG Jun 9, 2026
f09948c
更新 SettingsRepositoryTest.kt
BELLA12GLG Jun 9, 2026
b379515
更新 strings.xml
BELLA12GLG Jun 9, 2026
3214f6a
更新 strings.xml
BELLA12GLG Jun 9, 2026
e758407
更新 strings.xml
BELLA12GLG Jun 9, 2026
1d154d6
chore: bump version to 1.6.8
invalid-email-address Jun 9, 2026
7bf7f5b
更新 TunnelManager.kt
BELLA12GLG Jun 9, 2026
1dde30a
chore: bump version to 1.6.9
invalid-email-address Jun 9, 2026
d6c4328
更新 TunnelManager.kt
BELLA12GLG Jun 9, 2026
fd60605
chore: bump version to 1.6.10
invalid-email-address Jun 9, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
70 changes: 70 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,75 @@
# Changelog

## [1.6.10] - 2026-06-09

### Changes
- 更新 TunnelManager.kt

---

## [1.6.9] - 2026-06-09

### Changes
- 更新 TunnelManager.kt

---

## [1.6.8] - 2026-06-09

### Changes
- 更新 strings.xml

---

## [1.6.7] - 2026-06-09

### Changes
- 更新 TunnelManager.kt

---

## [1.6.6] - 2026-06-08

### Changes
- 更新 VpnViewModel.kt

---

## [1.6.5] - 2026-06-08

### Changes
- Delete azirevpn-ar-bue.conf

---

## [1.6.4] - 2026-06-08

### Changes
- Add files via upload

---

## [1.6.3] - 2026-06-08

### Changes
- 更新 VpnViewModelTest.kt

---

## [1.6.2] - 2026-06-06

### Changes
- Rename Release.yml to release.yml

---

## [1.6.1] - 2026-06-06

### Changes
- 更新 NetworkGroupDatabase.kt

---

## [1.6.0] - 2026-05-31

### Features
Expand Down
4 changes: 2 additions & 2 deletions app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ android {
applicationId = "com.gatecontrol.client"
minSdk = 31
targetSdk = 35
versionCode = 10600
versionName = "1.6.0"
versionCode = 10610
versionName = "1.6.10"

testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
package com.gatecontrol.android.navigation

import android.net.Uri
import androidx.hilt.navigation.compose.hiltViewModel
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import androidx.navigation.NavType
import androidx.navigation.navArgument
import com.gatecontrol.android.ui.settings.NetworkGroupListScreen
import com.gatecontrol.android.ui.settings.NetworkGroupEditScreen
import com.gatecontrol.android.ui.settings.SettingsViewModel
import androidx.compose.runtime.getValue
import androidx.compose.foundation.layout.padding
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.Star
Expand Down Expand Up @@ -135,6 +144,9 @@ fun AppNavigation(
onNavigateToQrScanner = {
navController.navigate(Screen.QrScanner.route)
},
onNavigateToNetworkGroups = {
navController.navigate(Screen.NetworkGroups.route)
},
)
}

Expand All @@ -143,6 +155,37 @@ fun AppNavigation(
onNavigateBack = { navController.popBackStack() },
)
}

composable(Screen.NetworkGroups.route) {
val settingsVm: SettingsViewModel = hiltViewModel()
val state by settingsVm.uiState.collectAsStateWithLifecycle()
NetworkGroupListScreen(
adminLocked = state.splitTunnelAdminLocked,
onNavigateToEdit = { groupId, groupName ->
navController.navigate(Screen.NetworkGroupEdit.createRoute(groupId, groupName))
},
onBack = { navController.popBackStack() },
)
}

composable(
route = Screen.NetworkGroupEdit.route,
arguments = listOf(
navArgument("groupId") { type = NavType.LongType },
navArgument("groupName") { type = NavType.StringType; defaultValue = "" },
),
) { backStackEntry ->
val groupId = backStackEntry.arguments?.getLong("groupId") ?: return@composable
val groupName = Uri.decode(backStackEntry.arguments?.getString("groupName") ?: "")
val settingsVm: SettingsViewModel = hiltViewModel()
val state by settingsVm.uiState.collectAsStateWithLifecycle()
NetworkGroupEditScreen(
groupId = groupId,
groupName = groupName,
adminLocked = state.splitTunnelAdminLocked,
onBack = { navController.popBackStack() },
)
}
}
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package com.gatecontrol.android.navigation

import android.net.Uri

sealed class Screen(val route: String) {
data object Setup : Screen("setup")
data object Vpn : Screen("vpn")
Expand All @@ -8,4 +10,9 @@ sealed class Screen(val route: String) {
data object Settings : Screen("settings")
data object Logs : Screen("settings/logs")
data object QrScanner : Screen("setup/qr")
data object NetworkGroups : Screen("settings/network_groups")
data object NetworkGroupEdit : Screen("settings/network_groups/{groupId}?name={groupName}") {
fun createRoute(groupId: Long, groupName: String) =
"settings/network_groups/$groupId?name=${Uri.encode(groupName)}"
}
}
Loading