From bb53d7cef6b19e7089ca4d15de32f11ae09f50aa Mon Sep 17 00:00:00 2001 From: Christian Schneppe Date: Mon, 1 Oct 2018 15:31:21 +0200 Subject: add shortcut for QR-Code scanning in profile fixes #190 --- .../pixart/messenger/ui/EditAccountActivity.java | 35 +++++++++++++- .../res/drawable-hdpi/ic_qrcode_grey600_24dp.png | Bin 0 -> 630 bytes .../res/drawable-hdpi/ic_qrcode_white_24dp.png | Bin 0 -> 568 bytes .../res/drawable-mdpi/ic_qrcode_grey600_24dp.png | Bin 0 -> 439 bytes .../res/drawable-mdpi/ic_qrcode_white_24dp.png | Bin 0 -> 435 bytes .../res/drawable-xhdpi/ic_qrcode_grey600_24dp.png | Bin 0 -> 476 bytes .../res/drawable-xhdpi/ic_qrcode_white_24dp.png | Bin 0 -> 473 bytes .../res/drawable-xxhdpi/ic_qrcode_grey600_24dp.png | Bin 0 -> 536 bytes .../res/drawable-xxhdpi/ic_qrcode_white_24dp.png | Bin 0 -> 531 bytes .../drawable-xxxhdpi/ic_qrcode_grey600_24dp.png | Bin 0 -> 585 bytes .../res/drawable-xxxhdpi/ic_qrcode_white_24dp.png | Bin 0 -> 582 bytes src/main/res/layout/activity_edit_account.xml | 51 +++++++++++++++++---- src/main/res/values/attrs.xml | 1 + src/main/res/values/themes.xml | 2 + 14 files changed, 79 insertions(+), 10 deletions(-) create mode 100644 src/main/res/drawable-hdpi/ic_qrcode_grey600_24dp.png create mode 100644 src/main/res/drawable-hdpi/ic_qrcode_white_24dp.png create mode 100644 src/main/res/drawable-mdpi/ic_qrcode_grey600_24dp.png create mode 100644 src/main/res/drawable-mdpi/ic_qrcode_white_24dp.png create mode 100644 src/main/res/drawable-xhdpi/ic_qrcode_grey600_24dp.png create mode 100644 src/main/res/drawable-xhdpi/ic_qrcode_white_24dp.png create mode 100644 src/main/res/drawable-xxhdpi/ic_qrcode_grey600_24dp.png create mode 100644 src/main/res/drawable-xxhdpi/ic_qrcode_white_24dp.png create mode 100644 src/main/res/drawable-xxxhdpi/ic_qrcode_grey600_24dp.png create mode 100644 src/main/res/drawable-xxxhdpi/ic_qrcode_white_24dp.png diff --git a/src/main/java/de/pixart/messenger/ui/EditAccountActivity.java b/src/main/java/de/pixart/messenger/ui/EditAccountActivity.java index be4222e78..681e561c9 100644 --- a/src/main/java/de/pixart/messenger/ui/EditAccountActivity.java +++ b/src/main/java/de/pixart/messenger/ui/EditAccountActivity.java @@ -9,6 +9,8 @@ import android.content.IntentSender; import android.content.SharedPreferences; import android.databinding.DataBindingUtil; import android.graphics.Bitmap; +import android.graphics.Color; +import android.graphics.Point; import android.net.Uri; import android.os.Bundle; import android.os.Handler; @@ -834,7 +836,6 @@ public class EditAccountActivity extends OmemoActivity implements OnAccountUpdat intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); intent.setType("image/png"); startActivity(Intent.createChooser(intent, getText(R.string.share_with))); - } private void changeMoreTableVisibility(boolean visible) { @@ -1097,6 +1098,22 @@ public class EditAccountActivity extends OmemoActivity implements OnAccountUpdat Toast.LENGTH_SHORT).show(); } }); + this.binding.actionShowQrCode.setVisibility(View.VISIBLE); + this.binding.actionShowQrCode.setOnClickListener(v -> { + if (otrFingerprint == null || otrFingerprint.isEmpty()) { + return; + } + Point size = new Point(); + getWindowManager().getDefaultDisplay().getSize(size); + final int width = (size.x < size.y ? size.x : size.y); + Bitmap bitmap = BarcodeProvider.create2dBarcodeBitmap(otrFingerprint, width); + ImageView view = new ImageView(this); + view.setBackgroundColor(Color.WHITE); + view.setImageBitmap(bitmap); + AlertDialog.Builder builder = new AlertDialog.Builder(this); + builder.setView(view); + builder.create().show(); + }); } else { this.binding.otrFingerprintBox.setVisibility(View.GONE); } @@ -1113,6 +1130,22 @@ public class EditAccountActivity extends OmemoActivity implements OnAccountUpdat this.binding.axolotlFingerprint.setText(CryptoHelper.prettifyFingerprint(ownAxolotlFingerprint.substring(2))); this.binding.actionCopyAxolotlToClipboard.setVisibility(View.VISIBLE); this.binding.actionCopyAxolotlToClipboard.setOnClickListener(v -> copyOmemoFingerprint(ownAxolotlFingerprint)); + this.binding.actionShowAxoloqrCode.setVisibility(View.VISIBLE); + this.binding.actionShowAxoloqrCode.setOnClickListener(v -> { + if (otrFingerprint == null || otrFingerprint.isEmpty()) { + return; + } + Point size = new Point(); + getWindowManager().getDefaultDisplay().getSize(size); + final int width = (size.x < size.y ? size.x : size.y); + Bitmap bitmap = BarcodeProvider.create2dBarcodeBitmap(ownAxolotlFingerprint, width); + ImageView view = new ImageView(this); + view.setBackgroundColor(Color.WHITE); + view.setImageBitmap(bitmap); + AlertDialog.Builder builder = new AlertDialog.Builder(this); + builder.setView(view); + builder.create().show(); + }); } else { this.binding.axolotlFingerprintBox.setVisibility(View.GONE); } diff --git a/src/main/res/drawable-hdpi/ic_qrcode_grey600_24dp.png b/src/main/res/drawable-hdpi/ic_qrcode_grey600_24dp.png new file mode 100644 index 000000000..5114bbd0d Binary files /dev/null and b/src/main/res/drawable-hdpi/ic_qrcode_grey600_24dp.png differ diff --git a/src/main/res/drawable-hdpi/ic_qrcode_white_24dp.png b/src/main/res/drawable-hdpi/ic_qrcode_white_24dp.png new file mode 100644 index 000000000..cf8d6a8c9 Binary files /dev/null and b/src/main/res/drawable-hdpi/ic_qrcode_white_24dp.png differ diff --git a/src/main/res/drawable-mdpi/ic_qrcode_grey600_24dp.png b/src/main/res/drawable-mdpi/ic_qrcode_grey600_24dp.png new file mode 100644 index 000000000..24cb66d42 Binary files /dev/null and b/src/main/res/drawable-mdpi/ic_qrcode_grey600_24dp.png differ diff --git a/src/main/res/drawable-mdpi/ic_qrcode_white_24dp.png b/src/main/res/drawable-mdpi/ic_qrcode_white_24dp.png new file mode 100644 index 000000000..7e28f95dc Binary files /dev/null and b/src/main/res/drawable-mdpi/ic_qrcode_white_24dp.png differ diff --git a/src/main/res/drawable-xhdpi/ic_qrcode_grey600_24dp.png b/src/main/res/drawable-xhdpi/ic_qrcode_grey600_24dp.png new file mode 100644 index 000000000..3a100a3ed Binary files /dev/null and b/src/main/res/drawable-xhdpi/ic_qrcode_grey600_24dp.png differ diff --git a/src/main/res/drawable-xhdpi/ic_qrcode_white_24dp.png b/src/main/res/drawable-xhdpi/ic_qrcode_white_24dp.png new file mode 100644 index 000000000..fcb2de2c3 Binary files /dev/null and b/src/main/res/drawable-xhdpi/ic_qrcode_white_24dp.png differ diff --git a/src/main/res/drawable-xxhdpi/ic_qrcode_grey600_24dp.png b/src/main/res/drawable-xxhdpi/ic_qrcode_grey600_24dp.png new file mode 100644 index 000000000..1ff70a5c8 Binary files /dev/null and b/src/main/res/drawable-xxhdpi/ic_qrcode_grey600_24dp.png differ diff --git a/src/main/res/drawable-xxhdpi/ic_qrcode_white_24dp.png b/src/main/res/drawable-xxhdpi/ic_qrcode_white_24dp.png new file mode 100644 index 000000000..2928df951 Binary files /dev/null and b/src/main/res/drawable-xxhdpi/ic_qrcode_white_24dp.png differ diff --git a/src/main/res/drawable-xxxhdpi/ic_qrcode_grey600_24dp.png b/src/main/res/drawable-xxxhdpi/ic_qrcode_grey600_24dp.png new file mode 100644 index 000000000..ccd1ac6b7 Binary files /dev/null and b/src/main/res/drawable-xxxhdpi/ic_qrcode_grey600_24dp.png differ diff --git a/src/main/res/drawable-xxxhdpi/ic_qrcode_white_24dp.png b/src/main/res/drawable-xxxhdpi/ic_qrcode_white_24dp.png new file mode 100644 index 000000000..3ec200f7a Binary files /dev/null and b/src/main/res/drawable-xxxhdpi/ic_qrcode_white_24dp.png differ diff --git a/src/main/res/layout/activity_edit_account.xml b/src/main/res/layout/activity_edit_account.xml index 342d748f0..2bfdf784c 100644 --- a/src/main/res/layout/activity_edit_account.xml +++ b/src/main/res/layout/activity_edit_account.xml @@ -557,8 +557,10 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" + android:layout_alignParentStart="true" android:layout_centerVertical="true" - android:layout_toLeftOf="@+id/action_copy_to_clipboard" + android:layout_toLeftOf="@+id/key_actions" + android:layout_toStartOf="@+id/key_actions" android:orientation="vertical"> - + android:orientation="horizontal"> + + + + + + android:orientation="horizontal"> + + + diff --git a/src/main/res/values/themes.xml b/src/main/res/values/themes.xml index bbfaf6060..96a179311 100644 --- a/src/main/res/values/themes.xml +++ b/src/main/res/values/themes.xml @@ -80,6 +80,7 @@ @drawable/ic_cancel_black_24dp @drawable/ic_action_chat @drawable/ic_content_copy_grey600_24dp + @drawable/ic_qrcode_grey600_24dp @drawable/ic_delete_white_24dp @drawable/ic_file_download_white_24dp @drawable/ic_edit_white_24dp @@ -251,6 +252,7 @@ @drawable/ic_person_add_white_24dp @drawable/ic_cancel_white_24dp @drawable/ic_content_copy_white_24dp + @drawable/ic_qrcode_white_24dp @drawable/ic_delete_white_24dp @drawable/ic_file_download_white_24dp @drawable/ic_edit_white_24dp -- cgit v1.2.3