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

View File

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