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 eu.siacs.conversations.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 } }