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