1package com.android.ex.chips;
2
3import android.app.AlertDialog;
4import android.app.Dialog;
5import android.app.DialogFragment;
6import android.content.ClipData;
7import android.content.ClipboardManager;
8import android.content.Context;
9import android.content.DialogInterface;
10import android.os.Bundle;
11
12/**
13 * Simple dialog fragment for copying the contents of a chip.
14 */
15public class CopyDialog extends DialogFragment implements DialogInterface.OnClickListener {
16
17    public static final String TAG = "chips-copy-dialog";
18
19    private static final String ARG_TEXT = "text";
20
21    private String mText;
22
23    public static CopyDialog newInstance(String text) {
24        final CopyDialog fragment = new CopyDialog();
25        final Bundle args = new Bundle(1);
26        args.putString(ARG_TEXT, text);
27        fragment.setArguments(args);
28        return fragment;
29    }
30
31    @Override
32    public Dialog onCreateDialog(Bundle savedInstanceState) {
33        final Bundle args = getArguments();
34        mText = args.getString(ARG_TEXT);
35
36        return new AlertDialog.Builder(getActivity())
37                .setMessage(mText)
38                .setPositiveButton(R.string.chips_action_copy, this)
39                .setNegativeButton(R.string.chips_action_cancel, null)
40                .create();
41    }
42
43    @Override
44    public void onClick(DialogInterface dialog, int which) {
45        if (which == DialogInterface.BUTTON_POSITIVE) {
46            final ClipboardManager clipboard = (ClipboardManager)
47                    getActivity().getSystemService(Context.CLIPBOARD_SERVICE);
48            clipboard.setPrimaryClip(ClipData.newPlainText(null, mText));
49        }
50    }
51}
52