From 202e741ef92d102646dd40b9a1bdae97bc095318 Mon Sep 17 00:00:00 2001 From: pacien Date: Sun, 30 Jul 2023 03:39:18 +0200 Subject: screen/select-network: fix app crash on fast tap on network selection --- .../java/org/pacien/tincapp/activities/start/StartActivity.kt | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'app/src/main/java') 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 @@ /* * Tinc App, an Android binding and user interface for the tinc mesh VPN daemon - * Copyright (C) 2017-2020 Pacien TRAN-GIRARD + * Copyright (C) 2017-2023 Pacien TRAN-GIRARD * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -61,7 +61,7 @@ class StartActivity : BaseActivity() { private fun initNetworkListFragment() { val fragment = start_activity_network_list_fragment as NetworkListFragment - fragment.connectToNetworkAction = { netName -> connectionStarter.tryStart(netName, displayStatus = true) } + fragment.connectToNetworkAction = { netName -> connectToNetworkAction(netName) } } override fun onCreateOptionsMenu(m: Menu): Boolean { @@ -95,6 +95,11 @@ class StartActivity : BaseActivity() { super.onActivityResult(request, result, data) } + private fun connectToNetworkAction(netName: String) { + if (connectDialog?.isShowing == true) return + connectionStarter.tryStart(netName, displayStatus = true) + } + private fun continueConnectionStart(result: Int): Unit = when (result) { Activity.RESULT_OK -> connectionStarter.tryStart() else -> App.alert(R.string.notification_error_title_unable_to_start_tinc, getString(R.string.notification_error_message_could_not_bind_iface)) -- cgit v1.2.3