diff --git a/samples/ApiDemos/AndroidManifest.xml b/samples/ApiDemos/AndroidManifest.xml
index 230195d23..82469d110 100644
--- a/samples/ApiDemos/AndroidManifest.xml
+++ b/samples/ApiDemos/AndroidManifest.xml
@@ -721,6 +721,13 @@
+
+
+
+
+
+
+
diff --git a/samples/ApiDemos/res/layout/clipboard.xml b/samples/ApiDemos/res/layout/clipboard.xml
new file mode 100644
index 000000000..db1e302d6
--- /dev/null
+++ b/samples/ApiDemos/res/layout/clipboard.xml
@@ -0,0 +1,99 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/samples/ApiDemos/res/values/arrays.xml b/samples/ApiDemos/res/values/arrays.xml
index f5ccbe13f..e462868c5 100644
--- a/samples/ApiDemos/res/values/arrays.xml
+++ b/samples/ApiDemos/res/values/arrays.xml
@@ -38,6 +38,14 @@
- Pluto
+
+
+ - No data in clipboard
+ - Text clip
+ - Intent clip
+ - Uri clip
+
+
- Search Key
diff --git a/samples/ApiDemos/res/values/strings.xml b/samples/ApiDemos/res/values/strings.xml
index e00faff7c..700740dda 100644
--- a/samples/ApiDemos/res/values/strings.xml
+++ b/samples/ApiDemos/res/values/strings.xml
@@ -266,6 +266,12 @@
+ Content/Clipboard/Data Types
+ Copy Text
+ Copy Intent
+ Copy URI
+ Clip Type
+
Content/Storage/External Storage
Create
Delete
diff --git a/samples/ApiDemos/src/com/example/android/apis/content/ClipboardSample.java b/samples/ApiDemos/src/com/example/android/apis/content/ClipboardSample.java
new file mode 100644
index 000000000..dea06d5c8
--- /dev/null
+++ b/samples/ApiDemos/src/com/example/android/apis/content/ClipboardSample.java
@@ -0,0 +1,123 @@
+package com.example.android.apis.content;
+
+import com.example.android.apis.R;
+
+import android.app.Activity;
+import android.content.ClipboardManager;
+import android.content.ClippedData;
+import android.content.Context;
+import android.content.Intent;
+import android.content.res.Resources;
+import android.net.Uri;
+import android.os.Bundle;
+import android.view.View;
+import android.widget.AdapterView;
+import android.widget.ArrayAdapter;
+import android.widget.EditText;
+import android.widget.Spinner;
+import android.widget.TextView;
+import android.widget.AdapterView.OnItemSelectedListener;
+
+public class ClipboardSample extends Activity {
+ ClipboardManager mClipboard;
+
+ Spinner mSpinner;
+ EditText mEditText;
+
+ CharSequence mStyledText;
+ String mPlainText;
+
+ ClipboardManager.OnPrimaryClipChangedListener mPrimaryChangeListener
+ = new ClipboardManager.OnPrimaryClipChangedListener() {
+ @Override
+ public void onPrimaryClipChanged() {
+ updateClipData();
+ }
+ };
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+
+ mClipboard = (ClipboardManager)getSystemService(CLIPBOARD_SERVICE);
+
+ // See res/any/layout/resources.xml for this view layout definition.
+ setContentView(R.layout.clipboard);
+
+ TextView tv;
+
+ mStyledText = getText(R.string.styled_text);
+ tv = (TextView)findViewById(R.id.styled_text);
+ tv.setText(mStyledText);
+
+ mPlainText = mStyledText.toString();
+ tv = (TextView)findViewById(R.id.plain_text);
+ tv.setText(mPlainText);
+
+ mSpinner = (Spinner) findViewById(R.id.clip_type);
+ ArrayAdapter adapter = ArrayAdapter.createFromResource(
+ this, R.array.clip_data_types, android.R.layout.simple_spinner_item);
+ adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
+ mSpinner.setAdapter(adapter);
+ mSpinner.setOnItemSelectedListener(
+ new OnItemSelectedListener() {
+ public void onItemSelected(
+ AdapterView> parent, View view, int position, long id) {
+ }
+ public void onNothingSelected(AdapterView> parent) {
+ }
+ });
+
+ mEditText = (EditText)findViewById(R.id.clip_text);
+
+ mClipboard.addPrimaryClipChangedListener(mPrimaryChangeListener);
+ updateClipData();
+ }
+
+ @Override
+ protected void onDestroy() {
+ super.onDestroy();
+ mClipboard.removePrimaryClipChangedListener(mPrimaryChangeListener);
+ }
+
+ public void pasteStyledText(View button) {
+ mClipboard.setPrimaryClip(new ClippedData("Styled Text", null,
+ new ClippedData.Item(mStyledText)));
+ }
+
+ public void pastePlainText(View button) {
+ mClipboard.setPrimaryClip(new ClippedData("Plain Text", null,
+ new ClippedData.Item(mPlainText)));
+ }
+
+ public void pasteIntent(View button) {
+ Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.android.com/"));
+ mClipboard.setPrimaryClip(new ClippedData("View intent", null,
+ new ClippedData.Item(intent)));
+ }
+
+ public void pasteUri(View button) {
+ mClipboard.setPrimaryClip(new ClippedData("View intent", null,
+ new ClippedData.Item(Uri.parse("http://www.android.com/"))));
+ }
+
+ void updateClipData() {
+ ClippedData clip = mClipboard.getPrimaryClip();
+ if (clip == null) {
+ mSpinner.setSelection(0);
+ mEditText.setText("");
+ } else if (clip.getItem(0).getText() != null) {
+ mSpinner.setSelection(1);
+ mEditText.setText(clip.getItem(0).getText());
+ } else if (clip.getItem(0).getIntent() != null) {
+ mSpinner.setSelection(2);
+ mEditText.setText(clip.getItem(0).getIntent().toUri(0));
+ } else if (clip.getItem(0).getUri() != null) {
+ mSpinner.setSelection(3);
+ mEditText.setText(clip.getItem(0).getUri().toString());
+ } else {
+ mSpinner.setSelection(0);
+ mEditText.setText("Clip containing no data");
+ }
+ }
+}
diff --git a/samples/ApiDemos/src/com/example/android/apis/content/ResourcesSample.java b/samples/ApiDemos/src/com/example/android/apis/content/ResourcesSample.java
index f38be0f3c..d46a851b0 100755
--- a/samples/ApiDemos/src/com/example/android/apis/content/ResourcesSample.java
+++ b/samples/ApiDemos/src/com/example/android/apis/content/ResourcesSample.java
@@ -38,11 +38,9 @@ import android.widget.TextView;
* @see StyledText for more depth about using styled text, both with getString()
* and in the layout xml files.
*/
-public class ResourcesSample extends Activity
-{
+public class ResourcesSample extends Activity {
@Override
- protected void onCreate(Bundle savedInstanceState)
- {
+ protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// See res/any/layout/resources.xml for this view layout definition.
@@ -54,8 +52,8 @@ public class ResourcesSample extends Activity
// ====== Using the Context.getString() convenience method ===========
- // Using the getString() conevenience method, retrieve a string
- // resource that hapepns to have style information. Note the use of
+ // Using the getString() convenience method, retrieve a string
+ // resource that happens to have style information. Note the use of
// CharSequence instead of String so we don't lose the style info.
cs = getText(R.string.styled_text);
tv = (TextView)findViewById(R.id.styled_text);