taler-android

Android apps for GNU Taler (wallet, PoS, cashier)
Log | Files | Refs | README | LICENSE

commit 6337d1a58fba3ab5c1f5199445284c9645d3e59c
parent a26b06602b659bf2863c38e2f16ab86724d031aa
Author: Iván Ávalos <avalos@disroot.org>
Date:   Tue, 16 Jul 2024 16:01:53 -0600

Fix crash in devices without NFC

Diffstat:
Mtaler-kotlin-android/src/main/java/net/taler/lib/android/TalerNfcService.kt | 6++++--
1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/taler-kotlin-android/src/main/java/net/taler/lib/android/TalerNfcService.kt b/taler-kotlin-android/src/main/java/net/taler/lib/android/TalerNfcService.kt @@ -301,25 +301,27 @@ class TalerNfcService : HostApduService() { } fun setDefaultHandler(activity: Activity) { - val adapter = getDefaultAdapter(activity) + val adapter = getDefaultAdapter(activity) ?: return val emulation = CardEmulation.getInstance(adapter) val cn = ComponentName(activity.packageName, TalerNfcService::class.java.canonicalName!!) emulation.setPreferredService(activity, cn) } fun unsetDefaultHandler(activity: Activity) { - val adapter = getDefaultAdapter(activity) + val adapter = getDefaultAdapter(activity) ?: return val emulation = CardEmulation.getInstance(adapter) emulation.unsetPreferredService(activity) } fun setUri(activity: Activity, uri: String) { + if (!hasNfc(activity)) return val intent = Intent(activity, TalerNfcService::class.java) intent.putExtra("uri", uri) activity.startService(intent) } fun clearUri(activity: Activity) { + if (!hasNfc(activity)) return val intent = Intent(activity, TalerNfcService::class.java) activity.stopService(intent) }