summaryrefslogtreecommitdiffstats
path: root/core/java/android/widget/TextView.java
diff options
context:
space:
mode:
authorDianne Hackborn <hackbod@google.com>2010-08-26 22:11:06 -0700
committerDianne Hackborn <hackbod@google.com>2010-08-27 11:06:01 -0700
commit1040dc465cbf5ca8f834a87c949e476abefa3f76 (patch)
tree98841629e182d19c19bc68835d7a4b2e426b883a /core/java/android/widget/TextView.java
parent59024f1697e09ea50d4349e9813d0c101411292b (diff)
downloadframeworks_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.java23
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;
}