diff --git a/app/src/main/java/eu/faircode/email/FragmentCompose.java b/app/src/main/java/eu/faircode/email/FragmentCompose.java index ed77849df8..e5cf629b4c 100644 --- a/app/src/main/java/eu/faircode/email/FragmentCompose.java +++ b/app/src/main/java/eu/faircode/email/FragmentCompose.java @@ -3053,11 +3053,19 @@ public class FragmentCompose extends FragmentBase { } } - // Call OpenPGP - Log.i("Executing " + data.getAction()); - Log.logExtras(data); - OpenPgpApi api = new OpenPgpApi(context, pgpService.getService()); - Intent result = api.executeApi(data, new FileInputStream(input), new FileOutputStream(output)); + Intent result; + if (OpenPgpApi.ACTION_GET_SIGN_KEY_ID.equals(data.getAction()) && identity.sign_key != null) { + // Short circuit + result = data; + result.putExtra(OpenPgpApi.RESULT_CODE, OpenPgpApi.RESULT_CODE_SUCCESS); + result.putExtra(OpenPgpApi.EXTRA_SIGN_KEY_ID, identity.sign_key); + } else { + // Call OpenPGP + Log.i("Executing " + data.getAction()); + Log.logExtras(data); + OpenPgpApi api = new OpenPgpApi(context, pgpService.getService()); + result = api.executeApi(data, new FileInputStream(input), new FileOutputStream(output)); + } // Process result try {