| Index: ui/android/java/src/org/chromium/ui/base/Clipboard.java
|
| diff --git a/ui/android/java/src/org/chromium/ui/base/Clipboard.java b/ui/android/java/src/org/chromium/ui/base/Clipboard.java
|
| index 4497c60fa49b925005f3322337b1146f626c9770..4554352ad63acb156e9730aeeb58d60dfb4491f9 100644
|
| --- a/ui/android/java/src/org/chromium/ui/base/Clipboard.java
|
| +++ b/ui/android/java/src/org/chromium/ui/base/Clipboard.java
|
| @@ -8,6 +8,7 @@ import android.content.ClipData;
|
| import android.content.ClipboardManager;
|
| import android.content.Context;
|
|
|
| +import org.chromium.base.ContextUtils;
|
| import org.chromium.base.annotations.CalledByNative;
|
| import org.chromium.base.annotations.JNINamespace;
|
| import org.chromium.base.annotations.SuppressFBWarnings;
|
| @@ -15,11 +16,12 @@ import org.chromium.ui.R;
|
| import org.chromium.ui.widget.Toast;
|
|
|
| /**
|
| - * Simple proxy that provides C++ code with an access pathway to the Android
|
| - * clipboard.
|
| + * Simple proxy that provides C++ code with an access pathway to the Android clipboard.
|
| */
|
| @JNINamespace("ui")
|
| public class Clipboard {
|
| + private static Clipboard sInstance;
|
| +
|
| // Necessary for coercing clipboard contents to text if they require
|
| // access to network resources, etceteras (e.g., URI in clipboard)
|
| private final Context mContext;
|
| @@ -27,25 +29,21 @@ public class Clipboard {
|
| private final ClipboardManager mClipboardManager;
|
|
|
| /**
|
| - * Use the factory constructor instead.
|
| - *
|
| - * @param context for accessing the clipboard
|
| + * Get the singleton Clipboard instance (creating it if needed).
|
| */
|
| - public Clipboard(final Context context) {
|
| - mContext = context;
|
| - mClipboardManager = (ClipboardManager)
|
| - context.getSystemService(Context.CLIPBOARD_SERVICE);
|
| + @CalledByNative
|
| + public static Clipboard getInstance() {
|
| + if (sInstance == null) {
|
| + sInstance = new Clipboard();
|
| + }
|
| + return sInstance;
|
| }
|
|
|
| - /**
|
| - * Returns a new Clipboard object bound to the specified context.
|
| - *
|
| - * @param context for accessing the clipboard
|
| - * @return the new object
|
| - */
|
| - @CalledByNative
|
| - private static Clipboard create(final Context context) {
|
| - return new Clipboard(context);
|
| + private Clipboard() {
|
| + mContext = ContextUtils.getApplicationContext();
|
| + mClipboardManager =
|
| + (ClipboardManager) ContextUtils.getApplicationContext().getSystemService(
|
| + Context.CLIPBOARD_SERVICE);
|
| }
|
|
|
| /**
|
|
|