1eb58a092961773a8da67c0e0dd5770346381d938Andrew Sappersteinpackage com.android.mail.text;
2eb58a092961773a8da67c0e0dd5770346381d938Andrew Sapperstein
3eb58a092961773a8da67c0e0dd5770346381d938Andrew Sappersteinimport android.text.TextPaint;
4eb58a092961773a8da67c0e0dd5770346381d938Andrew Sappersteinimport android.text.style.ClickableSpan;
5eb58a092961773a8da67c0e0dd5770346381d938Andrew Sappersteinimport android.view.View;
6eb58a092961773a8da67c0e0dd5770346381d938Andrew Sapperstein
7eb58a092961773a8da67c0e0dd5770346381d938Andrew Sappersteinimport com.android.mail.browse.ConversationViewHeader.ConversationViewHeaderCallbacks;
8eb58a092961773a8da67c0e0dd5770346381d938Andrew Sapperstein
9eb58a092961773a8da67c0e0dd5770346381d938Andrew Sapperstein/**
10eb58a092961773a8da67c0e0dd5770346381d938Andrew Sapperstein * A custom span that enables the labels to be clickable in the conversation
11eb58a092961773a8da67c0e0dd5770346381d938Andrew Sapperstein * header while still allowing the subject to be selectable.
12eb58a092961773a8da67c0e0dd5770346381d938Andrew Sapperstein */
13eb58a092961773a8da67c0e0dd5770346381d938Andrew Sappersteinpublic class ChangeLabelsSpan extends ClickableSpan {
14eb58a092961773a8da67c0e0dd5770346381d938Andrew Sapperstein
15eb58a092961773a8da67c0e0dd5770346381d938Andrew Sapperstein    private final ConversationViewHeaderCallbacks mCallbacks;
16eb58a092961773a8da67c0e0dd5770346381d938Andrew Sapperstein
17eb58a092961773a8da67c0e0dd5770346381d938Andrew Sapperstein    public ChangeLabelsSpan(ConversationViewHeaderCallbacks callbacks) {
18eb58a092961773a8da67c0e0dd5770346381d938Andrew Sapperstein        mCallbacks = callbacks;
19eb58a092961773a8da67c0e0dd5770346381d938Andrew Sapperstein    }
20eb58a092961773a8da67c0e0dd5770346381d938Andrew Sapperstein
21eb58a092961773a8da67c0e0dd5770346381d938Andrew Sapperstein    @Override
22eb58a092961773a8da67c0e0dd5770346381d938Andrew Sapperstein    public void onClick(View widget) {
23eb58a092961773a8da67c0e0dd5770346381d938Andrew Sapperstein        if (mCallbacks != null) {
24eb58a092961773a8da67c0e0dd5770346381d938Andrew Sapperstein            mCallbacks.onFoldersClicked();
25eb58a092961773a8da67c0e0dd5770346381d938Andrew Sapperstein        }
26eb58a092961773a8da67c0e0dd5770346381d938Andrew Sapperstein    }
27eb58a092961773a8da67c0e0dd5770346381d938Andrew Sapperstein
28eb58a092961773a8da67c0e0dd5770346381d938Andrew Sapperstein    @Override
29eb58a092961773a8da67c0e0dd5770346381d938Andrew Sapperstein    public void updateDrawState(TextPaint ds) {
30eb58a092961773a8da67c0e0dd5770346381d938Andrew Sapperstein        // DO NOTHING
31eb58a092961773a8da67c0e0dd5770346381d938Andrew Sapperstein    }
32eb58a092961773a8da67c0e0dd5770346381d938Andrew Sapperstein}
33