From 10112eeea84b1cbbb64519dcf777ce5960c8f992 Mon Sep 17 00:00:00 2001 From: Vincent Breitmoser Date: Fri, 28 Apr 2017 22:46:08 +0200 Subject: [PATCH] add override button to security problem dialog --- .../pgp/PgpDecryptVerifyOperation.java | 5 +- .../keychain/pgp/PgpSecurityConstants.java | 4 +- .../keychain/pgp/SecurityProblem.java | 51 ++++++++- .../RemoteSecurityProblemDialogActivity.java | 63 ++++++++++- .../remote/ui/SecurityProblemPresenter.java | 58 ++++++++-- .../res/layout/dialog_insecure_generic.xml | 103 +++++++++++++++--- .../layout/remote_security_issue_dialog.xml | 30 ++++- OpenKeychain/src/main/res/values/strings.xml | 8 ++ 8 files changed, 282 insertions(+), 40 deletions(-) diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerifyOperation.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerifyOperation.java index bd7118250..1ec57e727 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerifyOperation.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerifyOperation.java @@ -331,7 +331,8 @@ public class PgpDecryptVerifyOperation extends BaseOperation 0) { + overrideCounter++; + view.showOverrideMessage(overrideCountLeft); + } else { + view.showOverrideOk(); + view.showOverrideUndoButton(); + } + } + void onClickGotIt() { view.finishAsCancelled(); } @@ -134,6 +162,15 @@ class SecurityProblemPresenter { context.startActivity(viewKeyIntent); } + void onClickOverride() { + incrementOverrideAndDisplayOrTrigger(); + } + + void onClickOverrideUndo() { + overrideCounter = 0; + refreshSecurityProblemDisplay(); + } + void onCancel() { view.finishAsCancelled(); } @@ -154,6 +191,11 @@ class SecurityProblemPresenter { void showLayoutInsecureHashAlgorithm(int hashAlgorithm); + void showOverrideMessage(int countdown); + void showOverrideOk(); + void showViewKeyButton(); + void showOverrideButton(); + void showOverrideUndoButton(); } } diff --git a/OpenKeychain/src/main/res/layout/dialog_insecure_generic.xml b/OpenKeychain/src/main/res/layout/dialog_insecure_generic.xml index a9d9400f4..f0f943be9 100644 --- a/OpenKeychain/src/main/res/layout/dialog_insecure_generic.xml +++ b/OpenKeychain/src/main/res/layout/dialog_insecure_generic.xml @@ -1,6 +1,7 @@ - + android:id="@+id/dialog_insecure_secondary_layout" + android:inAnimation="@anim/fade_in" + android:outAnimation="@anim/fade_out" + android:measureAllChildren="true" + custom:initialView="3"> - + android:layout_height="wrap_content" /> - + android:orientation="vertical"> + + + + + + + + + + + + + + + + + + + + + + + + - diff --git a/OpenKeychain/src/main/res/layout/remote_security_issue_dialog.xml b/OpenKeychain/src/main/res/layout/remote_security_issue_dialog.xml index cc6575370..8caa87f17 100644 --- a/OpenKeychain/src/main/res/layout/remote_security_issue_dialog.xml +++ b/OpenKeychain/src/main/res/layout/remote_security_issue_dialog.xml @@ -54,8 +54,6 @@ tools:ignore="UselessParent"> + +