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">
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
+ android:layout_height="match_parent"
+ android:adjustViewBounds="true"
+ android:background="#dd000000"
+ android:visibility="gone" />
+