diff options
author | steckbrief <steckbrief@chefmail.de> | 2016-04-07 14:10:25 +0200 |
---|---|---|
committer | steckbrief <steckbrief@chefmail.de> | 2016-04-07 14:28:19 +0200 |
commit | 8c3245dd1f257053b8ec2bf7c5e03a3a98b282c3 (patch) | |
tree | f66fa0e5fd657035e5f022f706708d6d5ba3ce01 /src/main/java/de/thedevstack/conversationsplus/utils/ClipboardUtil.java | |
parent | 18548e9ebb246071f0bc46ca3bb07a300176cf24 (diff) |
Implements FS#187: Add single line copy to logcat view
Diffstat (limited to 'src/main/java/de/thedevstack/conversationsplus/utils/ClipboardUtil.java')
-rw-r--r-- | src/main/java/de/thedevstack/conversationsplus/utils/ClipboardUtil.java | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/src/main/java/de/thedevstack/conversationsplus/utils/ClipboardUtil.java b/src/main/java/de/thedevstack/conversationsplus/utils/ClipboardUtil.java new file mode 100644 index 00000000..1ef7cba9 --- /dev/null +++ b/src/main/java/de/thedevstack/conversationsplus/utils/ClipboardUtil.java @@ -0,0 +1,47 @@ +package de.thedevstack.conversationsplus.utils; + +import android.content.ClipData; +import android.content.ClipboardManager; +import android.content.Context; +import android.widget.Toast; + +import de.thedevstack.conversationsplus.ConversationsPlusApplication; +import de.thedevstack.conversationsplus.R; + +/** + * Util class to work with the Clipboard. + */ +public final class ClipboardUtil { + private static final String CLIPBOARD_LABEL = "c+clipboard"; + + /** + * Copies a text to the clipboard. + * @param clipboardLabel the label to show to a user to allow identifying the text in clipboard. + * @param text the text to copy + */ + public static void copyToClipboard(String clipboardLabel, String text) { + Context context = ConversationsPlusApplication.getAppContext(); + if (null != text && !text.isEmpty()) { + String label = (null == clipboardLabel) ? CLIPBOARD_LABEL : clipboardLabel; + ClipboardManager clipboard = (ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE); + ClipData clip = ClipData.newPlainText(label, text); + clipboard.setPrimaryClip(clip); + Toast.makeText(context, R.string.cplus_copied_to_clipboard, Toast.LENGTH_LONG).show(); + } else { + Toast.makeText(context, R.string.cplus_not_copied_to_clipboard_empty, Toast.LENGTH_LONG).show(); + } + + } + + /** + * Copies a text to the clipboard. + * @param text the text to copy + */ + public static void copyToClipboard(String text) { + copyToClipboard(CLIPBOARD_LABEL, text); + } + + private ClipboardUtil() { + // helper class - avoid instantiation + } +} |