mirror of
https://github.com/zhigang1992/react-native.git
synced 2026-04-09 22:43:10 +08:00
Support narrower module dependencies
Reviewed By: javache Differential Revision: D4772632 fbshipit-source-id: 615bf8998a3817364d0f8bd435c95c2c1f1bebed
This commit is contained in:
committed by
Facebook Github Bot
parent
5f5da4e122
commit
0b2ac0ada8
@@ -0,0 +1,32 @@
|
||||
/**
|
||||
* Copyright (c) 2015-present, Facebook, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This source code is licensed under the BSD-style license found in the
|
||||
* LICENSE file in the root directory of this source tree. An additional grant
|
||||
* of patent rights can be found in the PATENTS file in the same directory.
|
||||
*/
|
||||
|
||||
package com.facebook.react.bridge;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
/**
|
||||
* Base class for React native modules that require access to an Android
|
||||
* {@link Context} instance.
|
||||
*/
|
||||
public abstract class ContextBaseJavaModule extends BaseJavaModule {
|
||||
|
||||
private final Context mContext;
|
||||
|
||||
public ContextBaseJavaModule(Context context) {
|
||||
mContext = context;
|
||||
}
|
||||
|
||||
/**
|
||||
* Subclasses can use this method to access Android context passed as a constructor
|
||||
*/
|
||||
protected final Context getContext() {
|
||||
return mContext;
|
||||
}
|
||||
}
|
||||
@@ -12,10 +12,10 @@ package com.facebook.react.modules.clipboard;
|
||||
import android.annotation.SuppressLint;
|
||||
import android.content.ClipboardManager;
|
||||
import android.content.ClipData;
|
||||
import android.content.Context;
|
||||
import android.os.Build;
|
||||
|
||||
import com.facebook.react.bridge.ReactApplicationContext;
|
||||
import com.facebook.react.bridge.ReactContextBaseJavaModule;
|
||||
import com.facebook.react.bridge.ContextBaseJavaModule;
|
||||
import com.facebook.react.bridge.ReactMethod;
|
||||
import com.facebook.react.bridge.Promise;
|
||||
import com.facebook.react.module.annotations.ReactModule;
|
||||
@@ -24,10 +24,10 @@ import com.facebook.react.module.annotations.ReactModule;
|
||||
* A module that allows JS to get/set clipboard contents.
|
||||
*/
|
||||
@ReactModule(name = "Clipboard")
|
||||
public class ClipboardModule extends ReactContextBaseJavaModule {
|
||||
public class ClipboardModule extends ContextBaseJavaModule {
|
||||
|
||||
public ClipboardModule(ReactApplicationContext reactContext) {
|
||||
super(reactContext);
|
||||
public ClipboardModule(Context context) {
|
||||
super(context);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -36,7 +36,7 @@ public class ClipboardModule extends ReactContextBaseJavaModule {
|
||||
}
|
||||
|
||||
private ClipboardManager getClipboardService() {
|
||||
return (ClipboardManager) getReactApplicationContext().getSystemService(getReactApplicationContext().CLIPBOARD_SERVICE);
|
||||
return (ClipboardManager) getContext().getSystemService(getContext().CLIPBOARD_SERVICE);
|
||||
}
|
||||
|
||||
@ReactMethod
|
||||
@@ -60,7 +60,6 @@ public class ClipboardModule extends ReactContextBaseJavaModule {
|
||||
@SuppressLint("DeprecatedMethod")
|
||||
@ReactMethod
|
||||
public void setString(String text) {
|
||||
ReactApplicationContext reactContext = getReactApplicationContext();
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
|
||||
ClipData clipdata = ClipData.newPlainText(null, text);
|
||||
ClipboardManager clipboard = getClipboardService();
|
||||
|
||||
Reference in New Issue
Block a user