From d76e6316841d316f87ce10615eedc544cfc0222c Mon Sep 17 00:00:00 2001 From: andrekir Date: Thu, 3 Feb 2022 02:13:35 -0300 Subject: [PATCH] call perhapsChangeChannel from qr code result --- .../main/java/com/geeksville/mesh/MainActivity.kt | 4 ++-- .../com/geeksville/mesh/ui/ChannelFragment.kt | 15 ++------------- 2 files changed, 4 insertions(+), 15 deletions(-) diff --git a/app/src/main/java/com/geeksville/mesh/MainActivity.kt b/app/src/main/java/com/geeksville/mesh/MainActivity.kt index 9839c59c7..decbf2dce 100644 --- a/app/src/main/java/com/geeksville/mesh/MainActivity.kt +++ b/app/src/main/java/com/geeksville/mesh/MainActivity.kt @@ -830,9 +830,9 @@ class MainActivity : AppCompatActivity(), Logging, ).show() } - private fun perhapsChangeChannel() { + fun perhapsChangeChannel(url: Uri? = requestedChannelUrl) { // If the is opening a channel URL, handle it now - requestedChannelUrl?.let { url -> + if (url != null) { try { val channels = ChannelSet(url) val primary = channels.primaryChannel diff --git a/app/src/main/java/com/geeksville/mesh/ui/ChannelFragment.kt b/app/src/main/java/com/geeksville/mesh/ui/ChannelFragment.kt index 73b644550..daf62a33c 100644 --- a/app/src/main/java/com/geeksville/mesh/ui/ChannelFragment.kt +++ b/app/src/main/java/com/geeksville/mesh/ui/ChannelFragment.kt @@ -33,7 +33,6 @@ import com.google.android.material.dialog.MaterialAlertDialogBuilder import com.google.android.material.snackbar.Snackbar import com.google.protobuf.ByteString import com.google.zxing.integration.android.IntentIntegrator -import java.net.MalformedURLException import java.security.SecureRandom @@ -320,18 +319,8 @@ class ChannelFragment : ScreenFragment("Channel"), Logging { override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { val result = IntentIntegrator.parseActivityResult(requestCode, resultCode, data) if (result != null) { - if (result.contents == null) { - Snackbar.make(binding.scanButton, R.string.channel_invalid, Snackbar.LENGTH_LONG).show() - } else { - try { - val intent = Intent(Intent.ACTION_VIEW) - intent.data = ChannelSet(Uri.parse(result.contents)).getChannelUrl(false) - startActivity(intent) - } catch (ex: ActivityNotFoundException) { - Snackbar.make(binding.scanButton, R.string.channel_invalid, Snackbar.LENGTH_LONG).show() - } catch (ex: MalformedURLException) { - Snackbar.make(binding.scanButton, R.string.channel_invalid, Snackbar.LENGTH_LONG).show() - } + if (result.contents != null) { + ((requireActivity() as MainActivity).perhapsChangeChannel(Uri.parse(result.contents))) } } else { super.onActivityResult(requestCode, resultCode, data)