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 --- OpenKeychain/build.gradle | 7 +- .../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 +++++++++++++ 12 files changed, 186 insertions(+), 207 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') diff --git a/OpenKeychain/build.gradle b/OpenKeychain/build.gradle index bd535a9c9..b6f8f21a0 100644 --- a/OpenKeychain/build.gradle +++ b/OpenKeychain/build.gradle @@ -70,8 +70,7 @@ dependencies { compile 'com.mikepenz:community-material-typeface:1.3.41.1@aar' // Nordpol - compile 'com.fidesmo:nordpol-android:0.1.15@aar' - compile 'com.fidesmo:nordpol-core:0.1.15' + compile 'com.fidesmo:nordpol-android:0.1.18' // libs as submodules compile project(':extern:openpgp-api-lib:openpgp-api') @@ -117,8 +116,8 @@ dependencyVerification { 'com.mikepenz:iconics-core:d2495547db9d881168b1b502b1934f6a000ed5086c6c6a7114f3bbcbbb7ec306', 'com.mikepenz:community-material-typeface:990acfcfb892a733d36748fe29176bd61dd5ab34bc8ca1c591200e639d955b99', 'com.mikepenz:fontawesome-typeface:69cb09934a83bac607e78a29459868d537f766224b4a65a042d1f84c98c7b05d', - 'com.fidesmo:nordpol-core:fe09e65379f2c7300b669ef7df2bfbde47729dac19edacc26b5ddb44b94ff67d', - 'com.fidesmo:nordpol-android:012f93c2c78bd5e3b35af3e8a6676c4fac56755abee252dcfdbb8b35df19e3dd', + 'com.fidesmo:nordpol-core:3de58e850a00bba5b4d3a604d1399bcd89f695ea191ec0b03a57222e18062d15', + 'com.fidesmo:nordpol-android:56f43fe2b1676817bcb4085926de14a08282ef6729c855c198d81aec62b20d65', // 'OpenKeychain.extern.bouncycastle:core:b22dfb37e09fb520683dd0ba089351787560a75b59b60822143f633ec984cab5', // 'OpenKeychain.extern.openpgp-api-lib:openpgp-api:8a53012b9df6d62174ebdc11e0ab56700501a915930db5c12e32d565f136fc06', // 'OpenKeychain.extern.openkeychain-api-lib:openkeychain-intents:9263330c00497b7bb70502160f50c8396228129376f48f4f5656d28360a2edac', 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"/> - + - - - - -