diff options
author | pacien | 2023-07-30 03:39:18 +0200 |
---|---|---|
committer | pacien | 2023-07-30 03:53:20 +0200 |
commit | 202e741ef92d102646dd40b9a1bdae97bc095318 (patch) | |
tree | 0c821f5b0220af38e7bd352f002db5e569b0a4e4 /app/src/main/java/org | |
parent | 08e009f62d352030860b6931f2d393d07bca1c6e (diff) | |
download | tincapp-202e741ef92d102646dd40b9a1bdae97bc095318.tar.gz |
screen/select-network: fix app crash on fast tap on network selection
Diffstat (limited to 'app/src/main/java/org')
-rw-r--r-- | app/src/main/java/org/pacien/tincapp/activities/start/StartActivity.kt | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/app/src/main/java/org/pacien/tincapp/activities/start/StartActivity.kt b/app/src/main/java/org/pacien/tincapp/activities/start/StartActivity.kt index 144326d..7db0344 100644 --- a/app/src/main/java/org/pacien/tincapp/activities/start/StartActivity.kt +++ b/app/src/main/java/org/pacien/tincapp/activities/start/StartActivity.kt | |||
@@ -1,6 +1,6 @@ | |||
1 | /* | 1 | /* |
2 | * Tinc App, an Android binding and user interface for the tinc mesh VPN daemon | 2 | * Tinc App, an Android binding and user interface for the tinc mesh VPN daemon |
3 | * Copyright (C) 2017-2020 Pacien TRAN-GIRARD | 3 | * Copyright (C) 2017-2023 Pacien TRAN-GIRARD |
4 | * | 4 | * |
5 | * This program is free software: you can redistribute it and/or modify | 5 | * This program is free software: you can redistribute it and/or modify |
6 | * it under the terms of the GNU General Public License as published by | 6 | * it under the terms of the GNU General Public License as published by |
@@ -61,7 +61,7 @@ class StartActivity : BaseActivity() { | |||
61 | 61 | ||
62 | private fun initNetworkListFragment() { | 62 | private fun initNetworkListFragment() { |
63 | val fragment = start_activity_network_list_fragment as NetworkListFragment | 63 | val fragment = start_activity_network_list_fragment as NetworkListFragment |
64 | fragment.connectToNetworkAction = { netName -> connectionStarter.tryStart(netName, displayStatus = true) } | 64 | fragment.connectToNetworkAction = { netName -> connectToNetworkAction(netName) } |
65 | } | 65 | } |
66 | 66 | ||
67 | override fun onCreateOptionsMenu(m: Menu): Boolean { | 67 | override fun onCreateOptionsMenu(m: Menu): Boolean { |
@@ -95,6 +95,11 @@ class StartActivity : BaseActivity() { | |||
95 | super.onActivityResult(request, result, data) | 95 | super.onActivityResult(request, result, data) |
96 | } | 96 | } |
97 | 97 | ||
98 | private fun connectToNetworkAction(netName: String) { | ||
99 | if (connectDialog?.isShowing == true) return | ||
100 | connectionStarter.tryStart(netName, displayStatus = true) | ||
101 | } | ||
102 | |||
98 | private fun continueConnectionStart(result: Int): Unit = when (result) { | 103 | private fun continueConnectionStart(result: Int): Unit = when (result) { |
99 | Activity.RESULT_OK -> connectionStarter.tryStart() | 104 | Activity.RESULT_OK -> connectionStarter.tryStart() |
100 | else -> App.alert(R.string.notification_error_title_unable_to_start_tinc, getString(R.string.notification_error_message_could_not_bind_iface)) | 105 | else -> App.alert(R.string.notification_error_title_unable_to_start_tinc, getString(R.string.notification_error_message_could_not_bind_iface)) |