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 @@ -