From 5677bd411226dd1679d61c03aff7bc547b3d589b Mon Sep 17 00:00:00 2001 From: Alexander Bakker Date: Sat, 7 Sep 2019 21:37:06 +0200 Subject: [PATCH] Copy the version to the clipboard when tapped in AboutActivity --- .../aegis/ui/AboutActivity.java | 18 +++++++++++++++++- app/src/main/res/layout/content_about.xml | 1 + app/src/main/res/values/strings.xml | 1 + 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/beemdevelopment/aegis/ui/AboutActivity.java b/app/src/main/java/com/beemdevelopment/aegis/ui/AboutActivity.java index 94fdab08..4966aa4e 100644 --- a/app/src/main/java/com/beemdevelopment/aegis/ui/AboutActivity.java +++ b/app/src/main/java/com/beemdevelopment/aegis/ui/AboutActivity.java @@ -1,11 +1,14 @@ package com.beemdevelopment.aegis.ui; +import android.content.ClipData; +import android.content.ClipboardManager; +import android.content.Context; import android.content.Intent; import android.net.Uri; -import android.os.Build; import android.os.Bundle; import android.view.View; import android.widget.TextView; +import android.widget.Toast; import com.beemdevelopment.aegis.BuildConfig; import com.beemdevelopment.aegis.R; @@ -16,6 +19,7 @@ import com.mikepenz.iconics.Iconics; import com.mikepenz.iconics.context.IconicsLayoutInflater2; import com.mikepenz.material_design_iconic_typeface_library.MaterialDesignIconic; +import androidx.annotation.StringRes; import androidx.core.view.LayoutInflaterCompat; import de.psdev.licensesdialog.LicenseResolver; @@ -47,6 +51,11 @@ public class AboutActivity extends AegisActivity { TextView appVersion = findViewById(R.id.app_version); appVersion.setText(getCurrentAppVersion()); + View btnAppVersion = findViewById(R.id.btn_app_version); + btnAppVersion.setOnClickListener(v -> { + copyToClipboard(getCurrentAppVersion(), R.string.version_copied); + }); + View btnGithub = findViewById(R.id.btn_github); btnGithub.setOnClickListener(v -> openUrl(GITHUB)); @@ -87,6 +96,13 @@ public class AboutActivity extends AegisActivity { startActivity(browserIntent); } + private void copyToClipboard(String text, @StringRes int messageId) { + ClipboardManager clipboard = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE); + ClipData data = ClipData.newPlainText("text/plain", text); + clipboard.setPrimaryClip(data); + Toast.makeText(this, messageId, Toast.LENGTH_SHORT).show(); + } + private void openMail(String mailaddress) { Intent mailIntent = new Intent(Intent.ACTION_SENDTO); mailIntent.setData(Uri.parse("mailto:" + mailaddress)); diff --git a/app/src/main/res/layout/content_about.xml b/app/src/main/res/layout/content_about.xml index 707958a4..67ca05dd 100644 --- a/app/src/main/res/layout/content_about.xml +++ b/app/src/main/res/layout/content_about.xml @@ -67,6 +67,7 @@ app:ico_size="16dp" /> Vault not found, starting setup… Code copied to the clipboard Errors copied to the clipboard + Version copied to the clipboard An error occurred while trying to unlock the vault An error occurred while trying to save the vault Disable encryption