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:
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