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 +++++++-- changelog.md | 2 +- 2 files changed, 8 insertions(+), 3 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 @@ /* * 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)) diff --git a/changelog.md b/changelog.md index a654e51..db81145 100644 --- a/changelog.md +++ b/changelog.md @@ -8,7 +8,7 @@ Releases are tracked and referred to using git tags. (in USB storage mode). The embedded FTP server has been removed - display errors on the home screen instead of through the system notifications (as recommended-required for Android 13, API 33) -- fix app crash on fast tap in configuration screen +- fix app crash on fast tap in network selection and configuration screens ## v0.37 -- 2023-01-30 - add russian translation (contributed by exclued) -- cgit v1.2.3