From 0191cf92dba72c066c355dc0f67b332c00e659de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Theo=20Franz=C3=A9n?= Date: Wed, 27 Jan 2016 16:40:30 +0100 Subject: Better transaction animation --- .../ui/SecurityTokenOperationActivity.java | 16 ++ .../drawable-hdpi/ic_check_circle_black_48dp.png | Bin 709 -> 0 bytes .../drawable-mdpi/ic_check_circle_black_48dp.png | Bin 493 -> 0 bytes .../drawable-xhdpi/ic_check_circle_black_48dp.png | Bin 922 -> 0 bytes .../drawable-xxhdpi/ic_check_circle_black_48dp.png | Bin 1346 -> 0 bytes .../ic_check_circle_black_48dp.png | Bin 1812 -> 0 bytes .../src/main/res/drawable/yubikey_phone.png | Bin 347902 -> 0 bytes .../security_token_operation_activity.xml | 23 +++ .../layout/create_security_token_wait_fragment.xml | 9 +- .../layout/security_token_operation_activity.xml | 209 +-------------------- ...n_operation_activity_toolable_view_animator.xml | 129 +++++++++++++ 11 files changed, 183 insertions(+), 203 deletions(-) delete mode 100644 OpenKeychain/src/main/res/drawable-hdpi/ic_check_circle_black_48dp.png delete mode 100644 OpenKeychain/src/main/res/drawable-mdpi/ic_check_circle_black_48dp.png delete mode 100644 OpenKeychain/src/main/res/drawable-xhdpi/ic_check_circle_black_48dp.png delete mode 100644 OpenKeychain/src/main/res/drawable-xxhdpi/ic_check_circle_black_48dp.png delete mode 100644 OpenKeychain/src/main/res/drawable-xxxhdpi/ic_check_circle_black_48dp.png delete mode 100644 OpenKeychain/src/main/res/drawable/yubikey_phone.png create mode 100644 OpenKeychain/src/main/res/layout-land/security_token_operation_activity.xml create mode 100644 OpenKeychain/src/main/res/layout/security_token_operation_activity_toolable_view_animator.xml (limited to 'OpenKeychain/src') diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/SecurityTokenOperationActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/SecurityTokenOperationActivity.java index 130dd6a79..772dfe070 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/SecurityTokenOperationActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/SecurityTokenOperationActivity.java @@ -49,6 +49,8 @@ import java.io.IOException; import java.nio.ByteBuffer; import java.util.Arrays; +import nordpol.android.NfcGuideView; + /** * This class provides a communication interface to OpenPGP applications on ISO SmartCard compliant * NFC devices. @@ -67,6 +69,7 @@ public class SecurityTokenOperationActivity extends BaseSecurityTokenNfcActivity public ViewAnimator vAnimator; public TextView vErrorText; public Button vErrorTryAgainButton; + public NfcGuideView nfcGuideView; private RequiredInputParcel mRequiredInput; private Intent mServiceIntent; @@ -88,6 +91,8 @@ public class SecurityTokenOperationActivity extends BaseSecurityTokenNfcActivity super.onCreate(savedInstanceState); Log.d(Constants.TAG, "NfcOperationActivity.onCreate"); + nfcGuideView = (NfcGuideView) findViewById(R.id.nfc_guide_view); + // prevent annoying orientation changes while fumbling with the device OrientationUtils.lockOrientation(this); // prevent close when touching outside of the dialog (happens easily when fumbling with the device) @@ -101,6 +106,9 @@ public class SecurityTokenOperationActivity extends BaseSecurityTokenNfcActivity vAnimator = (ViewAnimator) findViewById(R.id.view_animator); vAnimator.setDisplayedChild(0); + + nfcGuideView.setCurrentStatus(NfcGuideView.NfcGuideViewStatus.STARTING_POSITION); + vErrorText = (TextView) findViewById(R.id.security_token_activity_3_error_text); vErrorTryAgainButton = (Button) findViewById(R.id.security_token_activity_3_error_try_again); vErrorTryAgainButton.setOnClickListener(new View.OnClickListener() { @@ -110,6 +118,9 @@ public class SecurityTokenOperationActivity extends BaseSecurityTokenNfcActivity obtainPassphraseIfRequired(); vAnimator.setDisplayedChild(0); + + nfcGuideView.setVisibility(View.VISIBLE); + nfcGuideView.setCurrentStatus(NfcGuideView.NfcGuideViewStatus.STARTING_POSITION); } }); Button vCancel = (Button) findViewById(R.id.security_token_activity_0_cancel); @@ -147,6 +158,7 @@ public class SecurityTokenOperationActivity extends BaseSecurityTokenNfcActivity public void onNfcPreExecute() { // start with indeterminate progress vAnimator.setDisplayedChild(1); + nfcGuideView.setCurrentStatus(NfcGuideView.NfcGuideViewStatus.TRANSFERRING); } @Override @@ -277,6 +289,8 @@ public class SecurityTokenOperationActivity extends BaseSecurityTokenNfcActivity // show finish vAnimator.setDisplayedChild(2); + nfcGuideView.setCurrentStatus(NfcGuideView.NfcGuideViewStatus.DONE); + new AsyncTask() { @Override protected Void doInBackground(Void... params) { @@ -307,6 +321,8 @@ public class SecurityTokenOperationActivity extends BaseSecurityTokenNfcActivity vErrorText.setText(error + "\n\n" + getString(R.string.security_token_nfc_try_again_text)); vAnimator.setDisplayedChild(3); + + nfcGuideView.setVisibility(View.GONE); } @Override diff --git a/OpenKeychain/src/main/res/drawable-hdpi/ic_check_circle_black_48dp.png b/OpenKeychain/src/main/res/drawable-hdpi/ic_check_circle_black_48dp.png deleted file mode 100644 index 1c2ddcd5f..000000000 Binary files a/OpenKeychain/src/main/res/drawable-hdpi/ic_check_circle_black_48dp.png and /dev/null differ diff --git a/OpenKeychain/src/main/res/drawable-mdpi/ic_check_circle_black_48dp.png b/OpenKeychain/src/main/res/drawable-mdpi/ic_check_circle_black_48dp.png deleted file mode 100644 index 86bf38e98..000000000 Binary files a/OpenKeychain/src/main/res/drawable-mdpi/ic_check_circle_black_48dp.png and /dev/null differ diff --git a/OpenKeychain/src/main/res/drawable-xhdpi/ic_check_circle_black_48dp.png b/OpenKeychain/src/main/res/drawable-xhdpi/ic_check_circle_black_48dp.png deleted file mode 100644 index 872b578c8..000000000 Binary files a/OpenKeychain/src/main/res/drawable-xhdpi/ic_check_circle_black_48dp.png and /dev/null differ diff --git a/OpenKeychain/src/main/res/drawable-xxhdpi/ic_check_circle_black_48dp.png b/OpenKeychain/src/main/res/drawable-xxhdpi/ic_check_circle_black_48dp.png deleted file mode 100644 index 6d3b6449c..000000000 Binary files a/OpenKeychain/src/main/res/drawable-xxhdpi/ic_check_circle_black_48dp.png and /dev/null differ diff --git a/OpenKeychain/src/main/res/drawable-xxxhdpi/ic_check_circle_black_48dp.png b/OpenKeychain/src/main/res/drawable-xxxhdpi/ic_check_circle_black_48dp.png deleted file mode 100644 index 0e3b23964..000000000 Binary files a/OpenKeychain/src/main/res/drawable-xxxhdpi/ic_check_circle_black_48dp.png and /dev/null differ diff --git a/OpenKeychain/src/main/res/drawable/yubikey_phone.png b/OpenKeychain/src/main/res/drawable/yubikey_phone.png deleted file mode 100644 index 3cdfbba0f..000000000 Binary files a/OpenKeychain/src/main/res/drawable/yubikey_phone.png and /dev/null differ diff --git a/OpenKeychain/src/main/res/layout-land/security_token_operation_activity.xml b/OpenKeychain/src/main/res/layout-land/security_token_operation_activity.xml new file mode 100644 index 000000000..cf0edac8c --- /dev/null +++ b/OpenKeychain/src/main/res/layout-land/security_token_operation_activity.xml @@ -0,0 +1,23 @@ + + + + + + + + diff --git a/OpenKeychain/src/main/res/layout/create_security_token_wait_fragment.xml b/OpenKeychain/src/main/res/layout/create_security_token_wait_fragment.xml index 4436cfe01..f4efb7c01 100644 --- a/OpenKeychain/src/main/res/layout/create_security_token_wait_fragment.xml +++ b/OpenKeychain/src/main/res/layout/create_security_token_wait_fragment.xml @@ -1,5 +1,6 @@ @@ -21,13 +22,15 @@ android:layout_height="wrap_content" android:layout_marginTop="16dp" android:layout_marginLeft="8dp" + android:layout_marginBottom="24dp" android:textAppearance="?android:attr/textAppearanceMedium" android:text="@string/security_token_create" /> - + android:layout_gravity="center_horizontal" + custom:nfc_device="usb_black"/> diff --git a/OpenKeychain/src/main/res/layout/security_token_operation_activity.xml b/OpenKeychain/src/main/res/layout/security_token_operation_activity.xml index 1644f6a6f..19f241825 100644 --- a/OpenKeychain/src/main/res/layout/security_token_operation_activity.xml +++ b/OpenKeychain/src/main/res/layout/security_token_operation_activity.xml @@ -3,207 +3,16 @@ xmlns:custom="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" - android:layout_height="wrap_content"> + android:layout_height="wrap_content" + android:orientation="vertical" + android:padding="24dp"> - + android:layout_height="wrap_content" + custom:nfc_device="usb_black"/> - + - - - - -