mirror of
https://github.com/beemdevelopment/Aegis.git
synced 2025-04-23 07:19:13 +00:00
Add a 'copy' button to the entry action mode menu in MainActivity
This commit is contained in:
parent
a93ced6e34
commit
4e4c39eea4
3 changed files with 22 additions and 7 deletions
|
@ -21,9 +21,9 @@ import androidx.appcompat.view.ActionMode;
|
||||||
import androidx.appcompat.widget.SearchView;
|
import androidx.appcompat.widget.SearchView;
|
||||||
|
|
||||||
import com.beemdevelopment.aegis.AegisApplication;
|
import com.beemdevelopment.aegis.AegisApplication;
|
||||||
|
import com.beemdevelopment.aegis.CancelAction;
|
||||||
import com.beemdevelopment.aegis.R;
|
import com.beemdevelopment.aegis.R;
|
||||||
import com.beemdevelopment.aegis.SortCategory;
|
import com.beemdevelopment.aegis.SortCategory;
|
||||||
import com.beemdevelopment.aegis.CancelAction;
|
|
||||||
import com.beemdevelopment.aegis.ViewMode;
|
import com.beemdevelopment.aegis.ViewMode;
|
||||||
import com.beemdevelopment.aegis.db.DatabaseEntry;
|
import com.beemdevelopment.aegis.db.DatabaseEntry;
|
||||||
import com.beemdevelopment.aegis.db.DatabaseFileCredentials;
|
import com.beemdevelopment.aegis.db.DatabaseFileCredentials;
|
||||||
|
@ -45,7 +45,6 @@ import com.google.zxing.RGBLuminanceSource;
|
||||||
import com.google.zxing.Reader;
|
import com.google.zxing.Reader;
|
||||||
import com.google.zxing.Result;
|
import com.google.zxing.Result;
|
||||||
import com.google.zxing.common.HybridBinarizer;
|
import com.google.zxing.common.HybridBinarizer;
|
||||||
import com.mikepenz.iconics.context.IconicsContextWrapper;
|
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
|
@ -680,10 +679,7 @@ public class MainActivity extends AegisActivity implements EntryListView.Listene
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
ClipboardManager clipboard = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
|
copyEntryCode(entry);
|
||||||
ClipData clip = ClipData.newPlainText("text/plain", entry.getInfo().getOtp());
|
|
||||||
clipboard.setPrimaryClip(clip);
|
|
||||||
Toast.makeText(this, getString(R.string.code_copied), Toast.LENGTH_SHORT).show();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -733,6 +729,13 @@ public class MainActivity extends AegisActivity implements EntryListView.Listene
|
||||||
super.onLocked();
|
super.onLocked();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void copyEntryCode(DatabaseEntry entry) {
|
||||||
|
ClipboardManager clipboard = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
|
||||||
|
ClipData clip = ClipData.newPlainText("text/plain", entry.getInfo().getOtp());
|
||||||
|
clipboard.setPrimaryClip(clip);
|
||||||
|
Toast.makeText(this, getString(R.string.code_copied), Toast.LENGTH_SHORT).show();
|
||||||
|
}
|
||||||
|
|
||||||
private class ActionModeCallbacks implements ActionMode.Callback {
|
private class ActionModeCallbacks implements ActionMode.Callback {
|
||||||
@Override
|
@Override
|
||||||
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
|
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
|
||||||
|
@ -749,6 +752,11 @@ public class MainActivity extends AegisActivity implements EntryListView.Listene
|
||||||
@Override
|
@Override
|
||||||
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
|
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
|
||||||
switch (item.getItemId()) {
|
switch (item.getItemId()) {
|
||||||
|
case R.id.action_copy:
|
||||||
|
copyEntryCode(_selectedEntry);
|
||||||
|
mode.finish();
|
||||||
|
return true;
|
||||||
|
|
||||||
case R.id.action_edit:
|
case R.id.action_edit:
|
||||||
startEditProfileActivity(CODE_EDIT_ENTRY, _selectedEntry, false);
|
startEditProfileActivity(CODE_EDIT_ENTRY, _selectedEntry, false);
|
||||||
mode.finish();
|
mode.finish();
|
||||||
|
|
|
@ -4,5 +4,5 @@
|
||||||
android:width="24dp"
|
android:width="24dp"
|
||||||
android:viewportWidth="24"
|
android:viewportWidth="24"
|
||||||
android:viewportHeight="24">
|
android:viewportHeight="24">
|
||||||
<path android:fillColor="#000" android:pathData="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z" />
|
<path android:fillColor="#FFFFFF" android:pathData="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z" />
|
||||||
</vector>
|
</vector>
|
|
@ -1,6 +1,13 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<menu xmlns:app="http://schemas.android.com/apk/res-auto"
|
<menu xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android">
|
xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<item
|
||||||
|
android:id="@+id/action_copy"
|
||||||
|
android:orderInCategory="80"
|
||||||
|
android:icon="@drawable/ic_content_copy_white_24dp"
|
||||||
|
android:title="@string/copy"
|
||||||
|
app:showAsAction="always" />
|
||||||
|
|
||||||
<item
|
<item
|
||||||
android:id="@+id/action_edit"
|
android:id="@+id/action_edit"
|
||||||
android:orderInCategory="90"
|
android:orderInCategory="90"
|
||||||
|
|
Loading…
Add table
Reference in a new issue