From c35deab2838318cace3a4b40f84faad43cfe9051 Mon Sep 17 00:00:00 2001 From: m2049r <30435443+m2049r@users.noreply.github.com> Date: Sun, 19 Nov 2017 20:25:02 +0100 Subject: [PATCH] zoom into qr code on touch (#140) --- .../com/m2049r/xmrwallet/ReceiveFragment.java | 26 ++- app/src/main/res/layout/fragment_receive.xml | 218 +++++++++--------- 2 files changed, 137 insertions(+), 107 deletions(-) diff --git a/app/src/main/java/com/m2049r/xmrwallet/ReceiveFragment.java b/app/src/main/java/com/m2049r/xmrwallet/ReceiveFragment.java index 73ea881..1545649 100644 --- a/app/src/main/java/com/m2049r/xmrwallet/ReceiveFragment.java +++ b/app/src/main/java/com/m2049r/xmrwallet/ReceiveFragment.java @@ -19,6 +19,7 @@ package com.m2049r.xmrwallet; import android.content.Context; import android.graphics.Bitmap; import android.graphics.Canvas; +import android.graphics.drawable.BitmapDrawable; import android.os.AsyncTask; import android.os.Bundle; import android.support.design.widget.TextInputLayout; @@ -65,7 +66,8 @@ public class ReceiveFragment extends Fragment { private ExchangeView evAmount; private Button bPaymentId; private TextView tvQrCode; - private ImageButton qrCode; + private ImageView qrCode; + private ImageView qrCodeFull; private EditText etDummy; private ImageButton bCopyAddress; @@ -90,8 +92,9 @@ public class ReceiveFragment extends Fragment { etPaymentId = (TextInputLayout) view.findViewById(R.id.etPaymentId); evAmount = (ExchangeView) view.findViewById(R.id.evAmount); bPaymentId = (Button) view.findViewById(R.id.bPaymentId); - qrCode = (ImageButton) view.findViewById(R.id.qrCode); + qrCode = (ImageView) view.findViewById(R.id.qrCode); tvQrCode = (TextView) view.findViewById(R.id.tvQrCode); + qrCodeFull = (ImageView) view.findViewById(R.id.qrCodeFull); etDummy = (EditText) view.findViewById(R.id.etDummy); bCopyAddress = (ImageButton) view.findViewById(R.id.bCopyAddress); @@ -163,12 +166,23 @@ public class ReceiveFragment extends Fragment { qrCode.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - if (checkPaymentId()) { + if (qrValid) { + qrCodeFull.setImageBitmap(((BitmapDrawable) qrCode.getDrawable()).getBitmap()); + qrCodeFull.setVisibility(View.VISIBLE); + } else if (checkPaymentId()) { evAmount.doExchange(); } } }); + qrCodeFull.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + qrCodeFull.setImageBitmap(null); + qrCodeFull.setVisibility(View.GONE); + } + }); + showProgress(); clearQR(); @@ -197,7 +211,8 @@ public class ReceiveFragment extends Fragment { if (qrValid) { qrCode.setImageBitmap(null); qrValid = false; - tvQrCode.setVisibility(View.VISIBLE); + if (isLoaded) + tvQrCode.setVisibility(View.VISIBLE); } } @@ -218,8 +233,11 @@ public class ReceiveFragment extends Fragment { generateQr(); } + private boolean isLoaded = false; + private void show(String name, String address) { Log.d(TAG, "name=" + name); + isLoaded = true; listenerCallback.setTitle(name); tvAddress.setText(address); etPaymentId.setEnabled(true); diff --git a/app/src/main/res/layout/fragment_receive.xml b/app/src/main/res/layout/fragment_receive.xml index c2dd987..c945be9 100644 --- a/app/src/main/res/layout/fragment_receive.xml +++ b/app/src/main/res/layout/fragment_receive.xml @@ -1,50 +1,53 @@ - + android:layout_height="match_parent"> - + android:layout_height="match_parent" + android:layout_margin="8dp" + android:orientation="vertical"> - + + + + + + + + - - - - - + android:textAlignment="center" + tools:text="9wZnnNctRc7RaLya1rxykH21dUwfQpNGmVLjAvkvqe7nKT2Mw848AJNGMunW5xjoSZ5vCCU3uDnUoVqSSHxzRtQBE3f6crx" /> - - - + android:orientation="horizontal" + android:weightSum="10"> - + android:layout_weight="10" + app:counterEnabled="true" + app:counterMaxLength="16" + app:errorEnabled="true"> - + -