taler-android

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

commit 21b00b01db86a0c6f0c1193656456311b40bd5c8
parent e0a0123982ab6bb2e5602652c1a72c3e69edae5e
Author: Iván Ávalos <avalos@disroot.org>
Date:   Fri, 16 Aug 2024 14:28:13 +0200

Harsher fix for NFC crash

Diffstat:
M.idea/compiler.xml | 4++++
M.idea/gradle.xml | 5++---
Mbuild.gradle | 2+-
Mtaler-kotlin-android/src/main/java/net/taler/lib/android/TalerNfcService.kt | 9++++++---
Mwallet/build.gradle | 2+-
5 files changed, 14 insertions(+), 8 deletions(-)

diff --git a/.idea/compiler.xml b/.idea/compiler.xml @@ -16,10 +16,14 @@ <module name="common_commonTest" target="1.6" /> <module name="common_jvmMain" target="1.6" /> <module name="common_jvmTest" target="1.6" /> + <module name="taler-android.anastasis" target="17" /> + <module name="taler-android.anastasis-lib" target="17" /> + <module name="taler-android.anastasis-test-driver-app" target="17" /> <module name="taler-android.multiplatform.common.commonMain" target="1.8" /> <module name="taler-android.multiplatform.common.commonTest" target="1.8" /> <module name="taler-android.multiplatform.common.jvmMain" target="1.8" /> <module name="taler-android.multiplatform.common.jvmTest" target="1.8" /> + <module name="taler-android.wallet-test-driver-app" target="17" /> <module name="taler-kotlin-common_jvmMain" target="1.6" /> <module name="taler-kotlin-common_jvmTest" target="1.6" /> </bytecodeTargetLevel> diff --git a/.idea/gradle.xml b/.idea/gradle.xml @@ -4,10 +4,8 @@ <component name="GradleSettings"> <option name="linkedExternalProjectsSettings"> <GradleProjectSettings> - <option name="testRunner" value="GRADLE" /> - <option name="distributionType" value="DEFAULT_WRAPPED" /> <option name="externalProjectPath" value="$PROJECT_DIR$" /> - <option name="gradleJvm" value="jbr-17" /> + <option name="gradleJvm" value="#GRADLE_LOCAL_JAVA_HOME" /> <option name="modules"> <set> <option value="$PROJECT_DIR$" /> @@ -18,6 +16,7 @@ <option value="$PROJECT_DIR$/wallet" /> </set> </option> + <option name="resolveExternalAnnotations" value="false" /> </GradleProjectSettings> </option> </component> diff --git a/build.gradle b/build.gradle @@ -8,7 +8,7 @@ buildscript { constraintlayout_version = '2.1.4' junit_version = "4.13.2" // should debug build types be minified with D8 as well? good for catching issues early - minify_debug = true + minify_debug = false } repositories { google() 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 @@ -27,6 +27,7 @@ import android.nfc.NfcAdapter.getDefaultAdapter import android.nfc.cardemulation.CardEmulation import android.nfc.cardemulation.HostApduService import android.os.Bundle +import android.os.UserHandle import android.util.Log import java.math.BigInteger @@ -304,10 +305,12 @@ class TalerNfcService : HostApduService() { val adapter = getDefaultAdapter(activity) ?: return val emulation = CardEmulation.getInstance(adapter) // TODO: find an alternative for when canonicalName is null - TalerNfcService::class.java.canonicalName?.let { - val cn = ComponentName(activity.packageName, it) + try { + val cn = ComponentName(activity, TalerNfcService::class.java) emulation.setPreferredService(activity, cn) - } ?: Log.d(TAG, "Not setting this app as the preferred NFC handler!") + } catch (e: NullPointerException) { + Log.d(TAG, "Not setting this app as the preferred NFC handler!") + } } fun unsetDefaultHandler(activity: Activity) { diff --git a/wallet/build.gradle b/wallet/build.gradle @@ -41,7 +41,7 @@ android { compileSdk 34 defaultConfig { - applicationId "net.taler.wallet" + applicationId "net.taler.wallet.nfc" minSdkVersion 24 targetSdkVersion 34 versionCode 44