diff options
author | Scott Jackson <daneren2005@gmail.com> | 2016-01-30 12:05:40 -0800 |
---|---|---|
committer | Scott Jackson <daneren2005@gmail.com> | 2016-01-30 12:05:40 -0800 |
commit | bcb5b880c923aff4c09aa5ad4e975307d4662006 (patch) | |
tree | 456bc4054b6f782e45a156282720e15f88b7c103 /app/src/main/java | |
parent | 821c2c90b9c805c92815676e874a2b83c59b583d (diff) | |
parent | fa713ccbe28d5ec50fdbbf69ebc8802fe2cf1417 (diff) | |
download | dsub-bcb5b880c923aff4c09aa5ad4e975307d4662006.tar.gz dsub-bcb5b880c923aff4c09aa5ad4e975307d4662006.tar.bz2 dsub-bcb5b880c923aff4c09aa5ad4e975307d4662006.zip |
Merge branch 'fxthomas-long-press-copy-on-details'
Diffstat (limited to 'app/src/main/java')
-rw-r--r-- | app/src/main/java/github/daneren2005/dsub/util/Util.java | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/app/src/main/java/github/daneren2005/dsub/util/Util.java b/app/src/main/java/github/daneren2005/dsub/util/Util.java index 98bbe1df..be9536ed 100644 --- a/app/src/main/java/github/daneren2005/dsub/util/Util.java +++ b/app/src/main/java/github/daneren2005/dsub/util/Util.java @@ -22,6 +22,8 @@ import android.app.Activity; import android.graphics.Color; import android.support.annotation.StringRes; import android.support.v7.app.AlertDialog; +import android.content.ClipboardManager; +import android.content.ClipData; import android.content.ComponentName; import android.content.Context; import android.content.DialogInterface; @@ -46,9 +48,11 @@ import android.text.method.LinkMovementMethod; import android.text.util.Linkify; import android.util.Log; import android.util.SparseArray; +import android.view.View; import android.view.Gravity; import android.view.Window; import android.view.WindowManager; +import android.widget.AdapterView; import android.widget.ListView; import android.widget.TextView; import android.widget.Toast; @@ -1247,6 +1251,27 @@ public final class Util { listView.setDivider(null); listView.setScrollbarFadingEnabled(false); + // Let the user long-click on a row to copy its value to the clipboard + final Context contextRef = context; + listView.setOnItemLongClickListener(new ListView.OnItemLongClickListener() { + @Override + public boolean onItemLongClick(AdapterView<?> parent, View view, int pos, long id) { + + TextView nameView = (TextView) view.findViewById(R.id.detail_name); + TextView detailsView = (TextView) view.findViewById(R.id.detail_value); + CharSequence name = nameView.getText(); + CharSequence value = detailsView.getText(); + + ClipboardManager clipboard = (ClipboardManager) contextRef.getSystemService(Context.CLIPBOARD_SERVICE); + ClipData clip = ClipData.newPlainText(name, value); + clipboard.setPrimaryClip(clip); + + toast(contextRef, "Copied " + name + " to clipboard"); + + return true; + } + }); + new AlertDialog.Builder(context) // .setIcon(android.R.drawable.ic_dialog_info) .setTitle(title) |