diff --git a/app/build.gradle b/app/build.gradle index 3c6abe94..1020dc53 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -17,8 +17,8 @@ android { applicationId "com.greenart7c3.nostrsigner" minSdk 26 targetSdk 34 - versionCode 98 - versionName "2.0.6" + versionCode 100 + versionName "2.0.8" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" vectorDrawables { diff --git a/app/src/main/java/com/greenart7c3/nostrsigner/SignerProvider.kt b/app/src/main/java/com/greenart7c3/nostrsigner/SignerProvider.kt index 6dd05a9f..658c8e08 100644 --- a/app/src/main/java/com/greenart7c3/nostrsigner/SignerProvider.kt +++ b/app/src/main/java/com/greenart7c3/nostrsigner/SignerProvider.kt @@ -12,7 +12,6 @@ import com.greenart7c3.nostrsigner.models.TimeUtils import com.greenart7c3.nostrsigner.models.kindToNip import com.greenart7c3.nostrsigner.service.AmberUtils import com.greenart7c3.nostrsigner.service.IntentUtils -import com.greenart7c3.nostrsigner.service.model.AmberEvent import com.vitorpamplona.quartz.crypto.CryptoUtils import com.vitorpamplona.quartz.encoders.toHexKey import com.vitorpamplona.quartz.encoders.toNpub @@ -112,27 +111,12 @@ class SignerProvider : ContentProvider() { if (!LocalPreferences.containsAccount(context!!, npub)) return null val account = LocalPreferences.loadFromEncryptedStorage(context!!, npub) ?: return null val event = try { - AmberEvent.toEvent(AmberEvent.fromJson(json)) + IntentUtils.getUnsignedEvent(json, account) } catch (e: Exception) { Log.d("SignerProvider", "Failed to parse event from $packageName", e) return null } - if (event.pubKey.isBlank()) { - Log.d("SignerProvider", "Event from $packageName has no pubkey") - return null - } - - if (event.pubKey != account.keyPair.pubKey.toHexKey()) { - Log.d("SignerProvider", "Event from $packageName has incorrect pubkey") - return null - } - - if (!event.hasCorrectIDHash()) { - Log.d("SignerProvider", "Event from $packageName has incorrect ID hash") - return null - } - val database = NostrSigner.getInstance().getDatabase(account.keyPair.pubKey.toNpub()) var permission = database @@ -211,7 +195,7 @@ class SignerProvider : ContentProvider() { val cursor = MatrixCursor(arrayOf("signature", "event", "result")).also { val signature = - if (event is LnZapRequestEvent && + if (event.kind == LnZapRequestEvent.KIND && event.tags.any { tag -> tag.any { t -> t == "anon" } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 0021fa1b..ea8d3a1f 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -17,7 +17,7 @@ lifecycle_version = "2.8.6" material3 = "1.3.0" mockk = "1.13.12" nav_version = "2.8.2" -quartz = "0.92.2" +quartz = "0.92.7" compose_ui = "1.7.3" richtextUi = "077a2cde64" roomKtx = "2.6.1" diff --git a/gradle/libs.versions.toml.save b/gradle/libs.versions.toml.save new file mode 100644 index 00000000..c2e079fc --- /dev/null +++ b/gradle/libs.versions.toml.save @@ -0,0 +1,82 @@ +[versions] +activityCompose = "1.9.2" +unfiedpush = "2.4.0" +appcompat = "1.7.0" +biometricKtx = "1.2.0-alpha05" +converterGson = "2.11.0" +core = "3.5.3" +coreKtx = "1.13.1" +coreSplashscreen = "1.0.1" +espressoCore = "3.6.1" +firebaseBom = "33.4.0" +firebaseMessaging = "24.0.2" +jna = "5.14.0" +junit = "4.13.2" +junitVersion = "1.2.1" +lifecycle_version = "2.8.6" +material3 = "1.3.0" +mockk = "1.13.12" +nav_version = "2.8.2" +quartz = "0.92.7" +compose_ui = "1.7.3" +richtextUi = "077a2cde64" +roomKtx = "2.6.1" +securityCryptoKtx = "1.1.0-alpha06" +zxingAndroidEmbedded = "4.3.0" +okhttp = "5.0.0-alpha.14" +kotlin = "2.0.20" +workRuntimeKtx = "2.9.1" +agp = "8.7.0" +ktlint = "12.1.1" +gms = "4.4.2" +ksp = "2.0.20-1.0.24" + +[libraries] +activity-compose = { module = "androidx.activity:activity-compose", version.ref = "activityCompose" } +unfiedpush = { module = "com.github.UnifiedPush:android-connector", version.ref = "unfiedpush" } +appcompat = { module = "androidx.appcompat:appcompat", version.ref = "appcompat" } +biometric-ktx = { module = "androidx.biometric:biometric-ktx", version.ref = "biometricKtx" } +converter-gson = { module = "com.squareup.retrofit2:converter-gson", version.ref = "converterGson" } +core = { module = "com.google.zxing:core", version.ref = "core" } +core-ktx = { module = "androidx.core:core-ktx", version.ref = "coreKtx" } +core-splashscreen = { module = "androidx.core:core-splashscreen", version.ref = "coreSplashscreen" } +espresso-core = { module = "androidx.test.espresso:espresso-core", version.ref = "espressoCore" } +ext-junit = { module = "androidx.test.ext:junit", version.ref = "junitVersion" } +firebase-bom = { module = "com.google.firebase:firebase-bom", version.ref = "firebaseBom" } +firebase-messaging = { module = "com.google.firebase:firebase-messaging", version.ref = "firebaseMessaging" } +jna = { module = "net.java.dev.jna:jna", version.ref = "jna" } +junit = { module = "junit:junit", version.ref = "junit" } +lifecycle-runtime-compose = { module = "androidx.lifecycle:lifecycle-runtime-compose", version.ref = "lifecycle_version" } +lifecycle-runtime-ktx = { module = "androidx.lifecycle:lifecycle-runtime-ktx", version.ref = "lifecycle_version" } +lifecycle-viewmodel-compose = { module = "androidx.lifecycle:lifecycle-viewmodel-compose", version.ref = "lifecycle_version" } +material-icons-extended = { module = "androidx.compose.material:material-icons-extended", version.ref = "compose_ui" } +material3 = { module = "androidx.compose.material3:material3", version.ref = "material3" } +mockk = { module = "io.mockk:mockk", version.ref = "mockk" } +navigation-compose = { module = "androidx.navigation:navigation-compose", version.ref = "nav_version" } +quartz = { module = "com.github.vitorpamplona.amethyst:quartz", version.ref = "quartz" } +ammolite = { module = "com.github.vitorpamplona.amethyst:ammolite", version.ref = "quartz" } +richtext-commonmark = { module = "com.github.vitorpamplona.compose-richtext:richtext-commonmark", version.ref = "richtextUi" } +richtext-ui = { module = "com.github.vitorpamplona.compose-richtext:richtext-ui", version.ref = "richtextUi" } +richtext-ui-material3 = { module = "com.github.vitorpamplona.compose-richtext:richtext-ui-material3", version.ref = "richtextUi" } +room-compiler = { module = "androidx.room:room-compiler", version.ref = "roomKtx" } +room-ktx = { module = "androidx.room:room-ktx", version.ref = "roomKtx" } +runtime-livedata = { module = "androidx.compose.runtime:runtime-livedata", version.ref = "compose_ui" } +security-crypto-ktx = { module = "androidx.security:security-crypto-ktx", version.ref = "securityCryptoKtx" } +ui = { module = "androidx.compose.ui:ui", version.ref = "compose_ui" } +ui-test-junit4 = { module = "androidx.compose.ui:ui-test-junit4", version.ref = "compose_ui" } +ui-test-manifest = { module = "androidx.compose.ui:ui-test-manifest", version.ref = "compose_ui" } +ui-tooling = { module = "androidx.compose.ui:ui-tooling", version.ref = "compose_ui" } +ui-tooling-preview = { module = "androidx.compose.ui:ui-tooling-preview", version.ref = "compose_ui" } +zxing-android-embedded = { module = "com.journeyapps:zxing-android-embedded", version.ref = "zxingAndroidEmbedded" } +okhttp = { group = "com.squareup.okhttp3", name = "okhttp", version.ref = "okhttp" } +work-runtime-ktx = { group = "androidx.work", name = "work-runtime-ktx", version.ref = "workRuntimeKtx" } + +[plugins] +jetbrainsKotlinAndroid = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" } +androidLibrary = { id = "com.android.library", version.ref = "agp" } +androidApplication = { id = "com.android.application", version.ref = "agp" } +gradle_ktlint = { id = "org.jlleitschuh.gradle.ktlint", version = "ktlint" } +google_gms = { id = "com.google.gms.google-services", version = "gms" } +serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" } +kotlin_ksp = { id = "com.google.devtools.ksp", version = "ksp" } +jetbrainsComposeCompiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }