From 86c96b1c3a99971887c941beefa0063ed5002e98 Mon Sep 17 00:00:00 2001 From: Severiano Jaramillo Date: Wed, 21 Nov 2018 09:10:02 -0600 Subject: [PATCH 1/4] Changed Crystal color palette and improved the gradient in the AccountdFragment. --- app/src/main/res/drawable/gradient.xml | 8 +++++--- app/src/main/res/values/colors.xml | 8 ++++---- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/app/src/main/res/drawable/gradient.xml b/app/src/main/res/drawable/gradient.xml index eae5453..89997bb 100644 --- a/app/src/main/res/drawable/gradient.xml +++ b/app/src/main/res/drawable/gradient.xml @@ -2,7 +2,9 @@ + android:type="linear" + android:startColor="#43E8D8" + android:centerColor="@color/colorPrimary" + android:endColor="@color/colorPrimaryDark" + android:angle="0"/> \ No newline at end of file diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index ae86da4..227f199 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -1,15 +1,15 @@ - #0099d6 - #006fd6 - #0099d6 + #3BD6C6 + #12A394 + #3BD6C6 #808080 #686767 #e0e0e0 #ffffff #f0006b #00ffffff - #330099d6 + #443BD6C6 #8fff #147b00 From aec93ddb220458b54c424e3345448b3da5389485 Mon Sep 17 00:00:00 2001 From: Severiano Jaramillo Date: Wed, 21 Nov 2018 09:18:53 -0600 Subject: [PATCH 2/4] Added a white version of the Crystal logo and used it in the Login and Main Activities' toolbar. --- app/src/main/res/drawable/crystal_logo_white.xml | 6 ++++++ app/src/main/res/layout/activity_intro.xml | 3 ++- app/src/main/res/layout/board.xml | 3 ++- 3 files changed, 10 insertions(+), 2 deletions(-) create mode 100644 app/src/main/res/drawable/crystal_logo_white.xml diff --git a/app/src/main/res/drawable/crystal_logo_white.xml b/app/src/main/res/drawable/crystal_logo_white.xml new file mode 100644 index 0000000..de13169 --- /dev/null +++ b/app/src/main/res/drawable/crystal_logo_white.xml @@ -0,0 +1,6 @@ + + + + + diff --git a/app/src/main/res/layout/activity_intro.xml b/app/src/main/res/layout/activity_intro.xml index 6a1fe1a..f5d8feb 100644 --- a/app/src/main/res/layout/activity_intro.xml +++ b/app/src/main/res/layout/activity_intro.xml @@ -31,8 +31,9 @@ android:id="@+id/ivLogo" android:layout_width="wrap_content" android:layout_height="100dp" + android:padding="16dp" android:contentDescription="@string/crystal_logo" - android:src="@drawable/crystal_logo" + android:src="@drawable/crystal_logo_white" tools:layout_editor_absoluteY="114dp" app:layout_constraintTop_toTopOf="@id/ivAnimation" app:layout_constraintBottom_toBottomOf="@id/ivAnimation"/> diff --git a/app/src/main/res/layout/board.xml b/app/src/main/res/layout/board.xml index 8ed629b..aeaebed 100644 --- a/app/src/main/res/layout/board.xml +++ b/app/src/main/res/layout/board.xml @@ -53,8 +53,9 @@ android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_marginStart="16dp" + android:padding="8dp" android:adjustViewBounds="true" - android:src="@drawable/crystal_logo" + android:src="@drawable/crystal_logo_white" android:contentDescription="@string/crystal_logo" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> From 96881f32924a0a51cfe0eb8f93578d42612915e0 Mon Sep 17 00:00:00 2001 From: Severiano Jaramillo Date: Wed, 21 Nov 2018 11:45:57 -0600 Subject: [PATCH 3/4] Improve Send and Receive Transaction layouts to dynamically adjust to different screen sizes. Removed unnecessary SquaredImageView, the same effect can now be achieved with Android's ConstraintLayout. --- .../fragments/SendTransactionFragment.java | 143 ++++-------------- .../crystalwallet/util/SquaredImageView.java | 33 ---- .../main/res/layout/receive_transaction.xml | 99 +++++++----- app/src/main/res/layout/send_transaction.xml | 23 ++- app/src/main/res/values/styles.xml | 1 + 5 files changed, 100 insertions(+), 199 deletions(-) delete mode 100644 app/src/main/java/cy/agorise/crystalwallet/util/SquaredImageView.java diff --git a/app/src/main/java/cy/agorise/crystalwallet/fragments/SendTransactionFragment.java b/app/src/main/java/cy/agorise/crystalwallet/fragments/SendTransactionFragment.java index 40ec07f..6b26439 100644 --- a/app/src/main/java/cy/agorise/crystalwallet/fragments/SendTransactionFragment.java +++ b/app/src/main/java/cy/agorise/crystalwallet/fragments/SendTransactionFragment.java @@ -31,7 +31,6 @@ import android.view.View; import android.view.ViewGroup; import android.view.Window; import android.widget.ArrayAdapter; -import android.widget.Button; import android.widget.EditText; import android.widget.ImageView; import android.widget.Spinner; @@ -133,12 +132,8 @@ public class SendTransactionFragment extends DialogFragment implements UIValidat @BindView(R.id.viewCamera) View viewCamera; - /* - * Flag to control when the camera is visible and when is hide - * */ - private boolean cameraVisible = true; - - Button btnScanQrCode; + /* Flag to control when the camera is visible and when is hidden */ + private boolean cameraVisible = false; private long cryptoNetAccountId; private CryptoNetAccount cryptoNetAccount; @@ -233,41 +228,9 @@ public class SendTransactionFragment extends DialogFragment implements UIValidat loadUserImage(); - /* - * Check for CAMERA permission - * */ - if (Build.VERSION.SDK_INT >= 23) { - if (checkPermission()) { - // Code for above or equal 23 API Oriented Device - // Your Permission granted already .Do next code - - /* - * Init the camera - * */ - try { - beginScanQrCode(); - }catch(Exception e){ - e.printStackTrace(); - } - - } else { - requestPermission(); // Code for permission - } - } - else { - - // Code for Below 23 API Oriented Device - // Do next code - - /* - * Init the camera - * */ - try { - beginScanQrCode(); - }catch(Exception e){ - e.printStackTrace(); - } - } + /* Check for CAMERA permission */ + if (Build.VERSION.SDK_INT >= 23 && !checkCameraPermission()) + requestCameraPermission(); return builder.setView(view).create(); } @@ -325,38 +288,24 @@ public class SendTransactionFragment extends DialogFragment implements UIValidat } } - private void requestPermission() { + private boolean checkCameraPermission() { + int result = ContextCompat.checkSelfPermission(getActivity(), Manifest.permission.CAMERA); + return result == PackageManager.PERMISSION_GRANTED; + } + + private void requestCameraPermission() { if (ActivityCompat.shouldShowRequestPermissionRationale(getActivity(), Manifest.permission.CAMERA)) { Toast.makeText(getActivity(), getActivity().getString(R.string.permission_denied_camera), Toast.LENGTH_LONG).show(); - /* - * Disable the button of the camera visibility - * */ - disableVisibilityCamera(); + /* Disable the button of the camera visibility */ + btnCloseCamera.setVisibility(View.INVISIBLE); } else { requestPermissions(new String[] {android.Manifest.permission.CAMERA}, REQUEST_CAMERA_PERMISSION); } } - private void disableVisibilityCamera(){ - - /* - * Hide the button, the user can not modify the visibility - * */ - btnCloseCamera.setVisibility(View.INVISIBLE); - } - - private boolean checkPermission() { - int result = ContextCompat.checkSelfPermission(getActivity(), Manifest.permission.CAMERA); - if (result == PackageManager.PERMISSION_GRANTED) { - return true; - } else { - return false; - } - } - @Override @@ -374,15 +323,6 @@ public class SendTransactionFragment extends DialogFragment implements UIValidat } }); - /* - * Init the camera - * */ - try { - beginScanQrCode(); - }catch(Exception e){ - e.printStackTrace(); - } - } else { Log.e("value", "Permission Denied, You cannot use the camera."); @@ -401,12 +341,6 @@ public class SendTransactionFragment extends DialogFragment implements UIValidat super.onResume(); mScannerView.setResultHandler(this); mScannerView.startCamera(); - /*builder.setNeutralButton("Scan QR Code", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialogInterface, int i) { - beginScanQrCode(); - } - });*/ // Force dialog fragment to use the full width of the screen Window dialogWindow = getDialog().getWindow(); @@ -475,67 +409,44 @@ public class SendTransactionFragment extends DialogFragment implements UIValidat @OnClick(R.id.fabCloseCamera) - public void onClicCloseCamera(){ - mScannerView.stopCamera(); - - /* - * Hide the camera or show it - * */ - if(cameraVisible){ + public void onClickCloseCamera(){ + if(cameraVisible) hideCamera(); - } - else{ + else showCamera(); - } } - /* - * Show the camera and hide the black background + /** + * Shows the camera and hide the black background * */ private void showCamera(){ - - /* - * Change visibilities of views - * */ + /* Change visibilities of views */ viewCamera.setVisibility(View.GONE); mScannerView.setVisibility(View.VISIBLE); - /* - * Change icon - * */ + /* Change icon */ btnCloseCamera.setImageDrawable(getResources().getDrawable(R.drawable.ic_close)); - /* - * Reset variable - * */ + /* Reset variable */ cameraVisible = true; - /* - * Star the camera again - * */ + /* Star the camera again */ beginScanQrCode(); } - /* - * Hide the camera and show the black background + /** + * Hides the camera and show the black background * */ private void hideCamera(){ - - /* - * Change visibilities of views - * */ + /* Change visibilities of views */ viewCamera.setVisibility(View.VISIBLE); mScannerView.setVisibility(View.INVISIBLE); - /* - * Change icon - * */ + /* Change icon */ btnCloseCamera.setImageDrawable(getResources().getDrawable(R.drawable.ok)); - /* - * Reset variable - * */ + /* Reset variable */ cameraVisible = false; } diff --git a/app/src/main/java/cy/agorise/crystalwallet/util/SquaredImageView.java b/app/src/main/java/cy/agorise/crystalwallet/util/SquaredImageView.java deleted file mode 100644 index 8d984a0..0000000 --- a/app/src/main/java/cy/agorise/crystalwallet/util/SquaredImageView.java +++ /dev/null @@ -1,33 +0,0 @@ -package cy.agorise.crystalwallet.util; - -import android.content.Context; -import android.support.annotation.Nullable; -import android.support.v7.widget.AppCompatImageView; -import android.util.AttributeSet; - -/** - * Created by xd on 1/24/18. - * ImageView which adjusts its size to always create a square - */ - -public class SquaredImageView extends AppCompatImageView { - public SquaredImageView(Context context) { - super(context); - } - - public SquaredImageView(Context context, @Nullable AttributeSet attrs) { - super(context, attrs); - } - - public SquaredImageView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) { - super(context, attrs, defStyleAttr); - } - - @Override - protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { - super.onMeasure(widthMeasureSpec, heightMeasureSpec); - - int size = Math.min(getMeasuredWidth(), getMeasuredHeight()); - setMeasuredDimension(size, size); - } -} diff --git a/app/src/main/res/layout/receive_transaction.xml b/app/src/main/res/layout/receive_transaction.xml index 38ee0ff..93c642d 100644 --- a/app/src/main/res/layout/receive_transaction.xml +++ b/app/src/main/res/layout/receive_transaction.xml @@ -5,20 +5,28 @@ android:layout_width="match_parent" android:layout_height="match_parent"> - + + + android:background="@drawable/receive_transaction_top_view" + app:layout_constraintTop_toTopOf="parent" + app:layout_constraintStart_toStartOf="parent" /> + app:layout_constraintTop_toTopOf="parent" + app:layout_constraintStart_toStartOf="parent" /> + android:src="@drawable/avatar_placeholder" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@+id/txtTittle" /> + android:layout_marginEnd="20dp" + app:layout_constraintTop_toBottomOf="@+id/txtTittle" + app:layout_constraintEnd_toEndOf="parent" /> + app:layout_constraintTop_toBottomOf="@+id/spTo" + app:layout_constraintStart_toStartOf="@id/spTo" + app:layout_constraintEnd_toEndOf="@id/spTo" /> + android:textSize="20sp" + app:layout_constraintTop_toBottomOf="@+id/tvFromError" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintEnd_toStartOf="@id/centeredVerticalGuideline"/> + app:layout_constraintTop_toBottomOf="@+id/etAmount" + app:layout_constraintStart_toStartOf="@id/etAmount" + app:layout_constraintEnd_toEndOf="@id/etAmount"/> + app:layout_constraintStart_toEndOf="@id/centeredVerticalGuideline" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintBottom_toTopOf="@id/viewSpinner"/> + android:layout_height="1dp" + android:layout_marginBottom="8dp" + android:background="@color/gray" + app:layout_constraintBottom_toBottomOf="@id/etAmount" + app:layout_constraintStart_toStartOf="@id/spAsset" + app:layout_constraintEnd_toEndOf="@id/spAsset"/> + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@+id/spAsset" /> - + app:layout_constraintDimensionRatio="w,1:1" + app:layout_constraintLeft_toLeftOf="parent" + app:layout_constraintRight_toRightOf="parent" + app:layout_constraintTop_toBottomOf="@+id/tvAmountError" /> + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@+id/ivQrCode" /> + app:layout_constraintTop_toBottomOf="@+id/ivQrCode" + app:layout_constraintRight_toRightOf="parent" /> - + \ No newline at end of file diff --git a/app/src/main/res/layout/send_transaction.xml b/app/src/main/res/layout/send_transaction.xml index 9ec993e..57ed73d 100644 --- a/app/src/main/res/layout/send_transaction.xml +++ b/app/src/main/res/layout/send_transaction.xml @@ -120,15 +120,17 @@ + app:layout_constraintEnd_toStartOf="@id/centeredVerticalGuideline"/> + app:layout_constraintStart_toEndOf="@id/centeredVerticalGuideline"/> + app:srcCompat="@drawable/ok" /> true false + @style/SendTransactionAnimation.Window