diff --git a/example/android/myapplication/build.gradle b/example/android/myapplication/build.gradle
index e18eb02594a528913e227389d1eef1f907c60a27..91b6539c6936ff1eaffebc66ca5e235718a2c038 100644
--- a/example/android/myapplication/build.gradle
+++ b/example/android/myapplication/build.gradle
@@ -5,7 +5,7 @@ android {
buildToolsVersion "24.0.1"
defaultConfig {
- applicationId "com.wix.reactnativenotifications"
+ applicationId "com.wix.reactnativenotifications.app"
minSdkVersion 16
targetSdkVersion 23
versionCode 1
diff --git a/example/android/myapplication/proguard-rules.pro b/example/android/myapplication/proguard-rules.pro
index d6036156526227c05fb4de73698aa38e45e7602e..57dcf0f7c50e676d70b08177e13e257a85a20017 100644
--- a/example/android/myapplication/proguard-rules.pro
+++ b/example/android/myapplication/proguard-rules.pro
@@ -15,3 +15,6 @@
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
# public *;
#}
+
+-keep class * extends com.facebook.react.bridge.JavaScriptModule { *; }
+-keep class * extends com.facebook.react.bridge.NativeModule { *; }
diff --git a/example/android/myapplication/src/main/AndroidManifest.xml b/example/android/myapplication/src/main/AndroidManifest.xml
index ec5c0596eed21738aaca89682fb8d300f95bcf26..214751cac600ef8a87168b9eaf0496b3bf2c52e6 100644
--- a/example/android/myapplication/src/main/AndroidManifest.xml
+++ b/example/android/myapplication/src/main/AndroidManifest.xml
@@ -3,27 +3,33 @@
package="com.wix.reactnativenotifications.app">
-
+
-
-
+
+ android:label="@string/app_name">
+
+
+
-
+
\ No newline at end of file
diff --git a/example/android/myapplication/src/main/java/com/wix/reactnativenotifications/app/ChildActivity.java b/example/android/myapplication/src/main/java/com/wix/reactnativenotifications/app/ChildActivity.java
new file mode 100644
index 0000000000000000000000000000000000000000..645bb3b51d8deebaf6f05ed59b5877d80c331d13
--- /dev/null
+++ b/example/android/myapplication/src/main/java/com/wix/reactnativenotifications/app/ChildActivity.java
@@ -0,0 +1,20 @@
+package com.wix.reactnativenotifications.app;
+
+import android.os.Bundle;
+import android.support.v7.app.AppCompatActivity;
+
+public class ChildActivity extends AppCompatActivity {
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_child);
+ getSupportActionBar().setDisplayHomeAsUpEnabled(true);
+ }
+
+ @Override
+ public void onBackPressed() {
+ super.onBackPressed();
+ finish();
+ }
+}
diff --git a/example/android/myapplication/src/main/java/com/wix/reactnativenotifications/app/MainActivity.java b/example/android/myapplication/src/main/java/com/wix/reactnativenotifications/app/MainActivity.java
index 67e3b242a1a2849525223b994077f26d5df4f568..ace73012cd86d1b134c8a7dff4e558df00ab3551 100644
--- a/example/android/myapplication/src/main/java/com/wix/reactnativenotifications/app/MainActivity.java
+++ b/example/android/myapplication/src/main/java/com/wix/reactnativenotifications/app/MainActivity.java
@@ -1,46 +1,39 @@
package com.wix.reactnativenotifications.app;
import android.annotation.TargetApi;
-import android.app.Activity;
import android.content.Intent;
-import android.content.pm.ApplicationInfo;
-import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.provider.Settings;
-import android.util.Log;
+import android.view.Menu;
+import android.view.MenuItem;
+import android.view.ViewGroup;
+import android.widget.Toolbar;
-import com.facebook.react.LifecycleState;
-import com.facebook.react.ReactInstanceManager;
+import com.facebook.react.ReactActivity;
import com.facebook.react.ReactRootView;
-import com.facebook.react.modules.core.DefaultHardwareBackBtnHandler;
-import com.facebook.react.shell.MainReactPackage;
-import com.wix.reactnativenotifications.RNNotificationsPackage;
import static android.os.Build.VERSION.SDK_INT;
-public class MainActivity extends Activity implements DefaultHardwareBackBtnHandler {
+public class MainActivity extends ReactActivity {
private static final int OVERLAY_PERMISSION_REQ_CODE = 1234;
private ReactRootView mReactRootView;
- private ReactInstanceManager mReactInstanceManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
+ ViewGroup layout = (ViewGroup) getLayoutInflater().inflate(R.layout.activity_main, null);
+ Toolbar toolbar = (Toolbar) layout.findViewById(R.id.toolbar);
+ setActionBar(toolbar);
+
mReactRootView = new ReactRootView(this);
- mReactInstanceManager = ReactInstanceManager.builder()
- .setApplication(getApplication())
- .setBundleAssetName("index.android.bundle")
- .setJSMainModuleName("index.android")
- .addPackage(new MainReactPackage())
- .addPackage(new RNNotificationsPackage())
- .setUseDeveloperSupport(BuildConfig.DEBUG)
- .setInitialLifecycleState(LifecycleState.RESUMED)
- .build();
+ layout.addView(mReactRootView);
+
+ setContentView(layout);
if (SDK_INT >= Build.VERSION_CODES.M && !Settings.canDrawOverlays(this)) {
Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION, Uri.parse("package:" + getPackageName()));
@@ -50,9 +43,22 @@ public class MainActivity extends Activity implements DefaultHardwareBackBtnHand
}
}
+ @Override
+ public boolean onCreateOptionsMenu(Menu menu) {
+ menu.add("Child Activity").setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
+ @Override
+ public boolean onMenuItemClick(MenuItem item) {
+ Intent intent = new Intent(MainActivity.this, ChildActivity.class);
+ MainActivity.this.startActivity(intent);
+ return true;
+ }
+ });
+ return super.onCreateOptionsMenu(menu);
+ }
+
@TargetApi(Build.VERSION_CODES.M)
@Override
- protected void onActivityResult(int requestCode, int resultCode, Intent data) {
+ public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == OVERLAY_PERMISSION_REQ_CODE) {
if (Settings.canDrawOverlays(this)) {
startReactApplication();
@@ -62,40 +68,7 @@ public class MainActivity extends Activity implements DefaultHardwareBackBtnHand
}
}
- @Override
- protected void onResume() {
- super.onResume();
-
- if (mReactInstanceManager != null) {
- mReactInstanceManager.onHostResume(this, this);
- }
- }
-
- @Override
- protected void onPause() {
- super.onPause();
-
- if (mReactInstanceManager != null) {
- mReactInstanceManager.onHostPause(this);
- }
- }
-
- @Override
- protected void onDestroy() {
- super.onDestroy();
-
- if (mReactInstanceManager != null) {
- mReactInstanceManager.onHostDestroy(this);
- }
- }
-
- @Override
- public void invokeDefaultOnBackPressed() {
- super.onBackPressed();
- }
-
private void startReactApplication() {
- mReactRootView.startReactApplication(mReactInstanceManager, "WixRNNotifications", null);
- setContentView(mReactRootView);
+ mReactRootView.startReactApplication(getReactInstanceManager(), "WixRNNotifications", null);
}
}
diff --git a/example/android/myapplication/src/main/java/com/wix/reactnativenotifications/app/MainApplication.java b/example/android/myapplication/src/main/java/com/wix/reactnativenotifications/app/MainApplication.java
new file mode 100644
index 0000000000000000000000000000000000000000..fc8df0061a891a76553af18232eb096c75287283
--- /dev/null
+++ b/example/android/myapplication/src/main/java/com/wix/reactnativenotifications/app/MainApplication.java
@@ -0,0 +1,35 @@
+package com.wix.reactnativenotifications.app;
+
+import android.app.Application;
+
+import com.facebook.react.ReactApplication;
+import com.facebook.react.ReactNativeHost;
+import com.facebook.react.ReactPackage;
+import com.facebook.react.shell.MainReactPackage;
+import com.wix.reactnativenotifications.RNNotificationsPackage;
+
+import java.util.Arrays;
+import java.util.List;
+
+public class MainApplication extends Application implements ReactApplication {
+
+ private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) {
+ @Override
+ protected boolean getUseDeveloperSupport() {
+ return BuildConfig.DEBUG;
+ }
+
+ @Override
+ protected List getPackages() {
+ return Arrays.asList(
+ new MainReactPackage(),
+ new RNNotificationsPackage()
+ );
+ }
+ };
+
+ @Override
+ public ReactNativeHost getReactNativeHost() {
+ return mReactNativeHost;
+ }
+}
diff --git a/example/android/myapplication/src/main/res/layout/activity_child.xml b/example/android/myapplication/src/main/res/layout/activity_child.xml
new file mode 100644
index 0000000000000000000000000000000000000000..a95e8a24f6e28bafe7283a7a1fb550f81d957d2e
--- /dev/null
+++ b/example/android/myapplication/src/main/res/layout/activity_child.xml
@@ -0,0 +1,21 @@
+
+
+
+
+
+
diff --git a/example/android/myapplication/src/main/res/layout/activity_main.xml b/example/android/myapplication/src/main/res/layout/activity_main.xml
new file mode 100644
index 0000000000000000000000000000000000000000..349ccb5bbd86ccfcdcf96d4f058ef7191f2c3506
--- /dev/null
+++ b/example/android/myapplication/src/main/res/layout/activity_main.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
diff --git a/example/android/myapplication/src/main/res/values-w820dp/dimens.xml b/example/android/myapplication/src/main/res/values-w820dp/dimens.xml
new file mode 100644
index 0000000000000000000000000000000000000000..63fc816444614bd64f68a372d1f93211628ee51d
--- /dev/null
+++ b/example/android/myapplication/src/main/res/values-w820dp/dimens.xml
@@ -0,0 +1,6 @@
+
+
+ 64dp
+
diff --git a/example/android/myapplication/src/main/res/values/dimens.xml b/example/android/myapplication/src/main/res/values/dimens.xml
new file mode 100644
index 0000000000000000000000000000000000000000..47c82246738c4d056e8030d3a259206f42e8e15d
--- /dev/null
+++ b/example/android/myapplication/src/main/res/values/dimens.xml
@@ -0,0 +1,5 @@
+
+
+ 16dp
+ 16dp
+
diff --git a/example/android/myapplication/src/main/res/values/strings.xml b/example/android/myapplication/src/main/res/values/strings.xml
index 3e65fa4b196eb480c0f395dc5b82c1403f678313..7fd259ad36551bda78f6d050440b24b80ec55231 100644
--- a/example/android/myapplication/src/main/res/values/strings.xml
+++ b/example/android/myapplication/src/main/res/values/strings.xml
@@ -1,4 +1,3 @@
Wix RN Notifications
- Settings
diff --git a/example/android/myapplication/src/main/res/values/styles.xml b/example/android/myapplication/src/main/res/values/styles.xml
index fa3d07cf513f51cb02978113f688f75de5360a26..16dbab30f23fdd6b78a2bdff5c6bf2f9c76efe95 100644
--- a/example/android/myapplication/src/main/res/values/styles.xml
+++ b/example/android/myapplication/src/main/res/values/styles.xml
@@ -1,7 +1,7 @@
-