android signer add result field

This commit is contained in:
DASHU
2024-10-16 18:23:26 +08:00
parent d3da4f2829
commit afee913fff
2 changed files with 23 additions and 15 deletions

View File

@@ -128,9 +128,9 @@ class AndroidSignerContentResolverProvider extends AndroidContentProvider
// TODO should handle permissions
// var permissions = extra["permissions"];
var pubkey = await signer!.getPublicKey();
data =
MatrixCursorData(columnNames: ["signature"], notificationUris: [uri]);
data.addRow([Nip19.encodePubKey(pubkey!)]);
data = MatrixCursorData(
columnNames: ["signature", "result"], notificationUris: [uri]);
data.addRow([Nip19.encodePubKey(pubkey!), Nip19.encodePubKey(pubkey)]);
} else if (authType == AuthType.SIGN_EVENT) {
var tags = eventObj["tags"];
Event? event = Event(
@@ -144,45 +144,46 @@ class AndroidSignerContentResolverProvider extends AndroidContentProvider
}
log("sig ${event.sig}");
data = MatrixCursorData(
columnNames: ["signature", "event"], notificationUris: [uri]);
data.addRow([event.sig, jsonEncode(event.toJson())]);
columnNames: ["signature", "result", "event"],
notificationUris: [uri]);
data.addRow([event.sig, event.sig, jsonEncode(event.toJson())]);
} else if (authType == AuthType.GET_RELAYS) {
// TODO
} else if (authType == AuthType.NIP04_ENCRYPT) {
var result = await signer!.encrypt(pubkey, authDetail);
if (StringUtil.isNotBlank(result)) {
data = MatrixCursorData(
columnNames: ["signature"], notificationUris: [uri]);
data.addRow([result]);
columnNames: ["signature", "result"], notificationUris: [uri]);
data.addRow([result, result]);
}
} else if (authType == AuthType.NIP04_DECRYPT) {
var result = await signer!.decrypt(pubkey, authDetail);
if (StringUtil.isNotBlank(result)) {
data = MatrixCursorData(
columnNames: ["signature"], notificationUris: [uri]);
data.addRow([result]);
columnNames: ["signature", "result"], notificationUris: [uri]);
data.addRow([result, result]);
}
} else if (authType == AuthType.NIP44_ENCRYPT) {
var result = await signer!.nip44Encrypt(pubkey, authDetail);
if (StringUtil.isNotBlank(result)) {
data = MatrixCursorData(
columnNames: ["signature"], notificationUris: [uri]);
data.addRow([result]);
columnNames: ["signature", "result"], notificationUris: [uri]);
data.addRow([result, result]);
}
} else if (authType == AuthType.NIP44_DECRYPT) {
var result = await signer!.nip44Decrypt(pubkey, authDetail);
if (StringUtil.isNotBlank(result)) {
data = MatrixCursorData(
columnNames: ["signature"], notificationUris: [uri]);
data.addRow([result]);
columnNames: ["signature", "result"], notificationUris: [uri]);
data.addRow([result, result]);
}
} else if (authType == AuthType.DECRYPT_ZAP_EVENT) {
var event = Event.fromJson(eventObj);
var result = await PrivateZap.decryptZapEvent(signer!, event);
if (StringUtil.isNotBlank(result)) {
data = MatrixCursorData(
columnNames: ["signature"], notificationUris: [uri]);
data.addRow([result]);
columnNames: ["signature", "result"], notificationUris: [uri]);
data.addRow([result, result]);
}
}

View File

@@ -119,6 +119,7 @@ mixin AndroidSignerMixin on PermissionCheckMixin {
// TODO should handle permissions
// var permissions = extra["permissions"];
data["signature"] = Nip19.encodePubKey(signerPubkey!);
data["result"] = Nip19.encodePubKey(signerPubkey!);
data["package"] = "com.github.haorendashu.nowser";
} else if (authType == AuthType.SIGN_EVENT) {
var tags = eventObj["tags"];
@@ -132,6 +133,7 @@ mixin AndroidSignerMixin on PermissionCheckMixin {
return;
}
data["signature"] = event.sig;
data["result"] = event.sig;
data["event"] = jsonEncode(event.toJson());
log("sig ${event.sig}");
} else if (authType == AuthType.GET_RELAYS) {
@@ -140,26 +142,31 @@ mixin AndroidSignerMixin on PermissionCheckMixin {
var result = await signer.encrypt(pubkey, playload);
if (StringUtil.isNotBlank(result)) {
data["signature"] = result;
data["result"] = result;
}
} else if (authType == AuthType.NIP04_DECRYPT) {
var result = await signer.decrypt(pubkey, playload);
if (StringUtil.isNotBlank(result)) {
data["signature"] = result;
data["result"] = result;
}
} else if (authType == AuthType.NIP44_ENCRYPT) {
var result = await signer.nip44Encrypt(pubkey, playload);
if (StringUtil.isNotBlank(result)) {
data["signature"] = result;
data["result"] = result;
}
} else if (authType == AuthType.NIP44_DECRYPT) {
var result = await signer.nip44Decrypt(pubkey, playload);
if (StringUtil.isNotBlank(result)) {
data["signature"] = result;
data["result"] = result;
}
} else if (authType == AuthType.DECRYPT_ZAP_EVENT) {
var event = Event.fromJson(eventObj);
var source = await PrivateZap.decryptZapEvent(signer, event);
data["signature"] = source;
data["result"] = source;
}
saveAuthLog(app, authType, eventKind, playload, AuthResult.OK);