diff options
| author | Dianne Hackborn <hackbod@google.com> | 2010-08-26 22:11:06 -0700 |
|---|---|---|
| committer | Dianne Hackborn <hackbod@google.com> | 2010-08-27 11:06:01 -0700 |
| commit | 1040dc465cbf5ca8f834a87c949e476abefa3f76 (patch) | |
| tree | 98841629e182d19c19bc68835d7a4b2e426b883a /core/java/android/widget/TextView.java | |
| parent | 59024f1697e09ea50d4349e9813d0c101411292b (diff) | |
| download | frameworks_base-1040dc465cbf5ca8f834a87c949e476abefa3f76.zip frameworks_base-1040dc465cbf5ca8f834a87c949e476abefa3f76.tar.gz frameworks_base-1040dc465cbf5ca8f834a87c949e476abefa3f76.tar.bz2 | |
Improve clipboard API.
- Rename ClippedData to ClipData.
- Introudce ClipDescription subclass.
- Add convenience APIs for creating a ClipData.
- Add ClipboardManager API to get just the ClipDescription.
- Define MIME types associated with a clip.
Change-Id: If97ef91aa99a4dd0ec74ccaea504345c9ef12b5c
Diffstat (limited to 'core/java/android/widget/TextView.java')
| -rw-r--r-- | core/java/android/widget/TextView.java | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java index 6db5b9c..961c782 100644 --- a/core/java/android/widget/TextView.java +++ b/core/java/android/widget/TextView.java @@ -22,7 +22,7 @@ import com.android.internal.widget.EditableInputConnection; import org.xmlpull.v1.XmlPullParserException; import android.content.ClipboardManager; -import android.content.ClippedData; +import android.content.ClipData; import android.content.Context; import android.content.pm.PackageManager; import android.content.res.ColorStateList; @@ -7330,17 +7330,18 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener URLSpan[] urls = ((Spanned) mText).getSpans(min, max, URLSpan.class); if (urls.length >= 1) { - ClippedData clip = null; + ClipData clip = null; for (int i=0; i<urls.length; i++) { Uri uri = Uri.parse(urls[0].getURL()); - ClippedData.Item item = new ClippedData.Item(uri); if (clip == null) { - clip = new ClippedData(null, null, item); + clip = ClipData.newRawUri(null, null, uri); } else { - clip.addItem(item); + clip.addItem(new ClipData.Item(uri)); } } - clipboard.setPrimaryClip(clip); + if (clip != null) { + clipboard.setPrimaryClip(clip); + } } return true; @@ -7536,7 +7537,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener switch (item.getItemId()) { case ID_PASTE: - ClippedData clip = clipboard.getPrimaryClip(); + ClipData clip = clipboard.getPrimaryClip(); if (clip != null) { boolean didfirst = false; for (int i=0; i<clip.getItemCount(); i++) { @@ -7557,15 +7558,15 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener return true; case ID_CUT: - clipboard.setPrimaryClip(new ClippedData(null, null, - new ClippedData.Item(mTransformed.subSequence(min, max)))); + clipboard.setPrimaryClip(ClipData.newPlainText(null, null, + mTransformed.subSequence(min, max))); ((Editable) mText).delete(min, max); stopSelectionActionMode(); return true; case ID_COPY: - clipboard.setPrimaryClip(new ClippedData(null, null, - new ClippedData.Item(mTransformed.subSequence(min, max)))); + clipboard.setPrimaryClip(ClipData.newPlainText(null, null, + mTransformed.subSequence(min, max))); stopSelectionActionMode(); return true; } |
