Refactor: Move isRemembered to IntentUtils

Move the `isRemembered` function from `SignerProvider` to `IntentUtils` to avoid code duplication.

Update all call sites in `SignerProvider` and `IntentSingleEventHomeScreen` to use the new centralized function.
This commit is contained in:
greenart7c3
2025-10-06 13:44:25 -03:00
parent 136d121958
commit 24e02b665e
3 changed files with 23 additions and 58 deletions
@@ -6,7 +6,6 @@ import android.database.Cursor
import android.database.MatrixCursor
import android.net.Uri
import android.util.Log
import com.greenart7c3.nostrsigner.database.ApplicationPermissionsEntity
import com.greenart7c3.nostrsigner.database.HistoryEntity2
import com.greenart7c3.nostrsigner.database.LogEntity
import com.greenart7c3.nostrsigner.models.SignerType
@@ -108,7 +107,7 @@ class SignerProvider : ContentProvider() {
"SIGN_MESSAGE",
)
val signPolicy = database.applicationDao().getSignPolicy(packageName)
val isRemembered = isRemembered(signPolicy, permission)
val isRemembered = IntentUtils.isRemembered(signPolicy, permission)
if (isRemembered == null) {
return null
}
@@ -206,7 +205,7 @@ class SignerProvider : ContentProvider() {
}
}
val signPolicy = database.applicationDao().getSignPolicy(packageName)
val isRemembered = isRemembered(signPolicy, permission)
val isRemembered = IntentUtils.isRemembered(signPolicy, permission)
if (isRemembered == null) {
return null
}
@@ -306,7 +305,7 @@ class SignerProvider : ContentProvider() {
}
}
val signPolicy = database.applicationDao().getSignPolicy(packageName)
val isRemembered = isRemembered(signPolicy, permission)
val isRemembered = IntentUtils.isRemembered(signPolicy, permission)
if (isRemembered == null) {
return null
}
@@ -411,7 +410,7 @@ class SignerProvider : ContentProvider() {
)
val signPolicy = database.applicationDao().getSignPolicy(packageName)
val isRemembered = isRemembered(signPolicy, permission)
val isRemembered = IntentUtils.isRemembered(signPolicy, permission)
if (isRemembered == null) {
return null
}
@@ -485,20 +484,4 @@ class SignerProvider : ContentProvider() {
): Int {
return 0
}
fun isRemembered(signPolicy: Int?, permission: ApplicationPermissionsEntity?): Boolean? {
val rejectUntil = permission?.rejectUntil ?: 0
val acceptUntil = permission?.acceptUntil ?: 0
if (signPolicy == 2) {
return true
}
if (rejectUntil == 0L && acceptUntil == 0L) return null
return if (rejectUntil > TimeUtils.now() && rejectUntil > 0 && permission?.acceptable == false) {
false
} else if (acceptUntil > TimeUtils.now() && acceptUntil > 0 && permission?.acceptable == true) {
true
} else {
null
}
}
}
@@ -796,4 +796,20 @@ object IntentUtils {
onLoading(false)
}
}
fun isRemembered(signPolicy: Int?, permission: ApplicationPermissionsEntity?): Boolean? {
val rejectUntil = permission?.rejectUntil ?: 0
val acceptUntil = permission?.acceptUntil ?: 0
if (signPolicy == 2) {
return true
}
if (rejectUntil == 0L && acceptUntil == 0L) return null
return if (rejectUntil > TimeUtils.now() && rejectUntil > 0 && permission?.acceptable == false) {
false
} else if (acceptUntil > TimeUtils.now() && acceptUntil > 0 && permission?.acceptable == true) {
true
} else {
null
}
}
}
@@ -38,7 +38,6 @@ import com.vitorpamplona.quartz.nip19Bech32.toNpub
import com.vitorpamplona.quartz.nip55AndroidSigner.signString
import com.vitorpamplona.quartz.nip57Zaps.LnZapRequestEvent
import com.vitorpamplona.quartz.utils.Hex
import com.vitorpamplona.quartz.utils.TimeUtils
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
@@ -121,18 +120,7 @@ fun IntentSingleEventHomeScreen(
it.pkKey == key && it.type == intentData.type.toString()
}
val acceptUntil = permission?.acceptUntil ?: 0
val rejectUntil = permission?.rejectUntil ?: 0
val acceptOrReject = if (rejectUntil == 0L && acceptUntil == 0L) {
null
} else if (rejectUntil > TimeUtils.now() && rejectUntil > 0) {
false
} else if (acceptUntil > TimeUtils.now() && acceptUntil > 0) {
true
} else {
null
}
val acceptOrReject = IntentUtils.isRemembered(applicationEntity?.application?.signPolicy, permission)
SignMessage(
account = account,
@@ -195,18 +183,7 @@ fun IntentSingleEventHomeScreen(
}
}
val acceptUntil = permission?.acceptUntil ?: 0
val rejectUntil = permission?.rejectUntil ?: 0
val acceptOrReject = if (rejectUntil == 0L && acceptUntil == 0L) {
null
} else if (rejectUntil > TimeUtils.now() && rejectUntil > 0) {
false
} else if (acceptUntil > TimeUtils.now() && acceptUntil > 0) {
true
} else {
null
}
val acceptOrReject = IntentUtils.isRemembered(applicationEntity?.application?.signPolicy, permission)
EncryptDecryptData(
account = account,
@@ -284,18 +261,7 @@ fun IntentSingleEventHomeScreen(
it.pkKey == key && ((it.type == intentData.type.toString() && it.kind == event.kind) || (nip != null && it.type == "NIP" && it.kind == nip))
}
val acceptUntil = permission?.acceptUntil ?: 0
val rejectUntil = permission?.rejectUntil ?: 0
val acceptOrReject = if (rejectUntil == 0L && acceptUntil == 0L) {
null
} else if (rejectUntil > TimeUtils.now() && rejectUntil > 0) {
false
} else if (acceptUntil > TimeUtils.now() && acceptUntil > 0) {
true
} else {
null
}
val acceptOrReject = IntentUtils.isRemembered(applicationEntity?.application?.signPolicy, permission)
EventData(
account = account,