Skip to content

Commit 5e844be

Browse files
committed
ui: do not return to detail page when restoring state
Signed-off-by: Jason A. Donenfeld <[email protected]>
1 parent 46bf98d commit 5e844be

File tree

1 file changed

+14
-4
lines changed

1 file changed

+14
-4
lines changed

ui/src/main/java/com/wireguard/android/activity/BaseActivity.kt

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,16 @@ import kotlinx.coroutines.launch
1717
*/
1818
abstract class BaseActivity : ThemeChangeAwareActivity() {
1919
private val selectionChangeRegistry = SelectionChangeRegistry()
20+
private var created = false
2021
var selectedTunnel: ObservableTunnel? = null
2122
set(value) {
2223
val oldTunnel = field
2324
if (oldTunnel == value) return
2425
field = value
25-
onSelectedTunnelChanged(oldTunnel, value)
26-
selectionChangeRegistry.notifyCallbacks(oldTunnel, 0, value)
26+
if (created) {
27+
onSelectedTunnelChanged(oldTunnel, value)
28+
selectionChangeRegistry.notifyCallbacks(oldTunnel, 0, value)
29+
}
2730
}
2831

2932
fun addOnSelectedTunnelChangedListener(listener: OnSelectedTunnelChangedListener) {
@@ -39,10 +42,17 @@ abstract class BaseActivity : ThemeChangeAwareActivity() {
3942
intent != null -> intent.getStringExtra(KEY_SELECTED_TUNNEL)
4043
else -> null
4144
}
42-
if (savedTunnelName != null)
45+
if (savedTunnelName != null) {
4346
lifecycleScope.launch {
44-
selectedTunnel = Application.getTunnelManager().getTunnels()[savedTunnelName]
47+
val tunnel = Application.getTunnelManager().getTunnels()[savedTunnelName]
48+
if (tunnel == null)
49+
created = true
50+
selectedTunnel = tunnel
51+
created = true
4552
}
53+
} else {
54+
created = true
55+
}
4656
}
4757

4858
override fun onSaveInstanceState(outState: Bundle) {

0 commit comments

Comments
 (0)