From 642864fca166ff17d8bd04dbf871db03da30f814 Mon Sep 17 00:00:00 2001 From: Alexander Bakker Date: Wed, 14 Sep 2022 18:33:28 +0200 Subject: [PATCH] Mark clipboard data as "sensitive" when copying tokens --- .../com/beemdevelopment/aegis/ui/MainActivity.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/app/src/main/java/com/beemdevelopment/aegis/ui/MainActivity.java b/app/src/main/java/com/beemdevelopment/aegis/ui/MainActivity.java index 1c7714ba..09d50070 100644 --- a/app/src/main/java/com/beemdevelopment/aegis/ui/MainActivity.java +++ b/app/src/main/java/com/beemdevelopment/aegis/ui/MainActivity.java @@ -1,14 +1,18 @@ package com.beemdevelopment.aegis.ui; import android.Manifest; +import android.annotation.SuppressLint; import android.content.ClipData; +import android.content.ClipDescription; import android.content.ClipboardManager; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.graphics.Typeface; import android.net.Uri; +import android.os.Build; import android.os.Bundle; +import android.os.PersistableBundle; import android.provider.Settings; import android.text.Spannable; import android.text.SpannableStringBuilder; @@ -925,9 +929,15 @@ public class MainActivity extends AegisActivity implements EntryListView.Listene } } + @SuppressLint("InlinedApi") private void copyEntryCode(VaultEntry entry) { ClipboardManager clipboard = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE); ClipData clip = ClipData.newPlainText("text/plain", entry.getInfo().getOtp()); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { + PersistableBundle extras = new PersistableBundle(); + extras.putBoolean(ClipDescription.EXTRA_IS_SENSITIVE, true); + clip.getDescription().setExtras(extras); + } clipboard.setPrimaryClip(clip); }