package de.thedevstack.android.logcat.ui; import android.content.ClipData; import android.content.ClipboardManager; import android.content.Context; import android.view.View; import android.widget.Toast; import java.util.ArrayList; import de.thedevstack.android.logcat.adapters.LogCatArrayAdapter; /** * Created by tzur on 20.11.2015. */ public class LogCatOutputCopyOnClickListener implements View.OnClickListener { private final LogCatArrayAdapter logCatOutputAdapter; private final Context context; private final int resIdForToast; public LogCatOutputCopyOnClickListener(Context context, LogCatArrayAdapter logCatOutputAdapter, int resIdForToast) { this.logCatOutputAdapter = logCatOutputAdapter; this.context = context; this.resIdForToast = resIdForToast; } @Override public void onClick(View v) { ArrayList items = this.logCatOutputAdapter.getItems(); if (null != items && !items.isEmpty()) { StringBuilder sb = new StringBuilder(); for (String item : items) { sb.append(item); sb.append("\n"); } ClipboardManager clipboard = (ClipboardManager) this.context.getSystemService(Context.CLIPBOARD_SERVICE); ClipData clip = ClipData.newPlainText("c+logcat", sb.toString()); clipboard.setPrimaryClip(clip); Toast.makeText(this.context, this.context.getText(this.resIdForToast), Toast.LENGTH_LONG).show(); } } }