Skip to content
This repository was archived by the owner on Oct 5, 2023. It is now read-only.

Commit e066548

Browse files
mrbrentkellyjpshelley
authored andcommitted
Updating Sample App to support dev tools (#7)
* Updating Sample App to support dev tools * Updating README explaining how to override the onKeyUp to get the In-App dev menu
1 parent 71ac784 commit e066548

File tree

2 files changed

+34
-0
lines changed

2 files changed

+34
-0
lines changed

README.md

+14
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,20 @@ Fragment messagingFragment = new ReactFragment.Builder()
4141
.build();
4242
```
4343

44+
In your Activity make sure to override `onKeyUp()` in order to access the In-App Developer menu:
45+
46+
```java
47+
@Override
48+
public boolean onKeyUp(int keyCode, KeyEvent event) {
49+
boolean handled = false;
50+
Fragment activeFragment = getSupportFragmentManager().findFragmentById(R.id.container_main);
51+
if (activeFragment instanceof ReactFragment) {
52+
handled = ((ReactFragment) activeFragment).onKeyUp(keyCode, event);
53+
}
54+
return handled || super.onKeyUp(keyCode, event);
55+
}
56+
```
57+
4458
## Running Sample App
4559

4660
NOTE: Make sure your environment is set up for [React Native](https://facebook.github.io/react-native/docs/getting-started.html) and [Android](https://developer.android.com/training/index.html) development.

sample-app/android/app/src/main/java/com/hudl/oss/react/sampleapp/MainActivity.java

+20
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
package com.hudl.oss.react.sampleapp;
22

3+
import android.support.v4.app.Fragment;
34
import android.support.v7.app.AppCompatActivity;
45
import android.os.Bundle;
6+
import android.view.KeyEvent;
57

68
import com.facebook.react.modules.core.DefaultHardwareBackBtnHandler;
79
import com.hudl.oss.react.fragment.ReactFragment;
@@ -29,4 +31,22 @@ protected void onCreate(Bundle savedInstanceState) {
2931
public void invokeDefaultOnBackPressed() {
3032
super.onBackPressed();
3133
}
34+
35+
/**
36+
* Forward onKeyUp events to the ReactFragment in order to handle double tap reloads
37+
* and dev menus
38+
*
39+
* @param keyCode
40+
* @param event
41+
* @return true if event was handled
42+
*/
43+
@Override
44+
public boolean onKeyUp(int keyCode, KeyEvent event) {
45+
boolean handled = false;
46+
Fragment activeFragment = getSupportFragmentManager().findFragmentById(R.id.container_main);
47+
if (activeFragment instanceof ReactFragment) {
48+
handled = ((ReactFragment) activeFragment).onKeyUp(keyCode, event);
49+
}
50+
return handled || super.onKeyUp(keyCode, event);
51+
}
3252
}

0 commit comments

Comments
 (0)