From a7e19193870f74dd9d84752fa9899a4979ed98d8 Mon Sep 17 00:00:00 2001 From: Ryan Homer Date: Tue, 3 Jan 2017 13:31:44 -0800 Subject: [PATCH] Compatibility with react-native 0.29.0 and higher. --- .babelrc | 3 -- README.md | 31 ++++++------------- android/build.gradle | 2 +- .../ActivityAndroidModule.java | 11 ++++--- .../ActivityAndroidPackage.java | 6 ++-- package.json | 7 ++++- 6 files changed, 25 insertions(+), 35 deletions(-) delete mode 100644 .babelrc diff --git a/.babelrc b/.babelrc deleted file mode 100644 index 59cc857..0000000 --- a/.babelrc +++ /dev/null @@ -1,3 +0,0 @@ -{ - "presets": [ "es2015" ] -} diff --git a/README.md b/README.md index aa4258b..677c3da 100644 --- a/README.md +++ b/README.md @@ -34,32 +34,21 @@ Useful if you want to capture listen for `BackButton` press and pause your appli } ``` -4. Register module (in `MainActivity.java`) +4. Register module (in `MainApplication.java`) ``` import ca.jaysoo.activityandroid.ActivityAndroidPackage; // <---- Import here - public class MainActivity extends Activity implements DefaultHardwareBackBtnHandler { + public class MainApplication extends Application implements ReactApplication { ...... @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - mReactRootView = new ReactRootView(this); - - mReactInstanceManager = ReactInstanceManager.builder() - .setApplication(getApplication()) - .setBundleAssetName("index.android.bundle") - .setJSMainModuleName("index.android") - .addPackage(new MainReactPackage()) - .addPackage(new ActivityAndroidPackage(this)) // <---- Add here - .setUseDeveloperSupport(BuildConfig.DEBUG) - .setInitialLifecycleState(LifecycleState.RESUMED) - .build(); - - mReactRootView.startReactApplication(mReactInstanceManager, "ExampleRN", null); - - setContentView(mReactRootView); + protected List getPackages() { + return Arrays.asList( + new MainReactPackage(), + ......, + new ActivityAndroidPackage() // <---- Add here + ); } ...... @@ -73,12 +62,12 @@ Moving an application to the background. ```js import { BackAndroid } from 'react-native'; -import ActivityAndroid 'react-native-activity-android'; +import ActivityAndroid from 'react-native-activity-android'; BackAndroid.addEventListener('hardwareBackPress', () => { // Note: callbacks are optional. ActivityAndroid.moveTaskToBack(() => console.log('worked'), () => console.log('failed')); - return false; // Don't exit the app. + return true; // Don't exit the app. }); ``` diff --git a/android/build.gradle b/android/build.gradle index b4a98a1..fcd79e9 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -16,5 +16,5 @@ android { } dependencies { - compile 'com.facebook.react:react-native:0.11.+' + compile 'com.facebook.react:react-native:0.17.+' } diff --git a/android/src/main/java/ca/jaysoo/activityandroid/ActivityAndroidModule.java b/android/src/main/java/ca/jaysoo/activityandroid/ActivityAndroidModule.java index 3eee4d8..04f397b 100644 --- a/android/src/main/java/ca/jaysoo/activityandroid/ActivityAndroidModule.java +++ b/android/src/main/java/ca/jaysoo/activityandroid/ActivityAndroidModule.java @@ -15,11 +15,8 @@ import com.facebook.react.bridge.ReactMethod; public class ActivityAndroidModule extends ReactContextBaseJavaModule implements LifecycleEventListener { - private Activity mCurrentActivity; - - public ActivityAndroidModule(ReactApplicationContext reactContext, Activity activity) { + public ActivityAndroidModule(ReactApplicationContext reactContext) { super(reactContext); - mCurrentActivity = activity; reactContext.addLifecycleEventListener(this); } @@ -30,7 +27,11 @@ public String getName() { @ReactMethod public void moveTaskToBack(Callback onSuccess, Callback onError) { - boolean wasMoved = mCurrentActivity.moveTaskToBack(true); + final Activity activity = getCurrentActivity(); + + if (activity == null) return; + + boolean wasMoved = activity.moveTaskToBack(true); if (wasMoved) { onSuccess.invoke(); diff --git a/android/src/main/java/ca/jaysoo/activityandroid/ActivityAndroidPackage.java b/android/src/main/java/ca/jaysoo/activityandroid/ActivityAndroidPackage.java index bcb12cc..8370767 100644 --- a/android/src/main/java/ca/jaysoo/activityandroid/ActivityAndroidPackage.java +++ b/android/src/main/java/ca/jaysoo/activityandroid/ActivityAndroidPackage.java @@ -13,16 +13,14 @@ import java.util.List; public class ActivityAndroidPackage implements ReactPackage { - private Activity mCurrentActivity; + public ActivityAndroidPackage() { - public ActivityAndroidPackage(Activity activity) { - mCurrentActivity = activity; } @Override public List createNativeModules(ReactApplicationContext reactContext) { return Arrays.asList( - new ActivityAndroidModule(reactContext, mCurrentActivity) + new ActivityAndroidModule(reactContext) ); } diff --git a/package.json b/package.json index b227217..dbf3799 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-native-activity-android", - "version": "0.17.3", + "version": "0.18.0", "description": "Provides a method to pause Android app (Activity.moveTaskToBack), as well as lifecycle hooks when app is paused and resumed.", "main": "src/index.js", "scripts": { @@ -32,5 +32,10 @@ "chai": "^3.4.1", "mocha": "^2.3.4", "sinon": "^1.17.2" + }, + "babel": { + "presets": [ + "es2015" + ] } }