package de.thedevstack.conversationsplus.ui.listeners; import android.view.View; import java.util.List; import de.thedevstack.android.logcat.Logging; import de.thedevstack.android.logcat.adapters.LogCatArrayAdapter; import de.thedevstack.conversationsplus.utils.ClipboardUtil; /** * OnClickListener to copy logcat entries from LogCatArrayAdapter to clipboard. */ public class LogCatOutputCopyOnClickListener implements View.OnClickListener { private final LogCatArrayAdapter logCatOutputAdapter; public LogCatOutputCopyOnClickListener(LogCatArrayAdapter logCatOutputAdapter) { this.logCatOutputAdapter = logCatOutputAdapter; } /** * Copies the entries of LogCatArrayAdapter separated by a new line to the clipboard. * * @param v The view that was clicked. */ @Override public void onClick(View v) { Logging.d("copylogcat", "Start Copying log cat"); List items = this.logCatOutputAdapter.getItems(); String textToCopy = null; if (null != items && !items.isEmpty()) { StringBuilder sb = new StringBuilder(); for (String item : items) { sb.append(item); sb.append("\n"); } textToCopy = sb.toString(); } ClipboardUtil.copyToClipboard("c+logcat", textToCopy); } }