Skip to content

Commit dda2b82

Browse files
dulmandakhfacebook-github-bot
authored andcommittedFeb 1, 2019
ReactActivity extends FragmentActivity (#22662)
Summary: In #20602, I tried to make ReactActivity to extend AppCompatActivity per Google recommendation. But import failed, now ReactActivity extends FragmentActivity which is a parent class of AppCompatActivity and step forward to extend AppCompatActivity. Pull Request resolved: #22662 Reviewed By: mdvacca Differential Revision: D13505140 Pulled By: hramos fbshipit-source-id: d4edc8dc5c606c45811c1deddf5727a47ad484d8
1 parent 5ee7386 commit dda2b82

File tree

4 files changed

+10
-133
lines changed

4 files changed

+10
-133
lines changed
 

‎RNTester/android/app/src/main/java/com/facebook/react/uiapp/RNTesterActivity.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,9 @@ public class RNTesterActivity extends ReactActivity {
2020
public static class RNTesterActivityDelegate extends ReactActivityDelegate {
2121
private static final String PARAM_ROUTE = "route";
2222
private Bundle mInitialProps = null;
23-
private final @Nullable Activity mActivity;
23+
private final @Nullable ReactActivity mActivity;
2424

25-
public RNTesterActivityDelegate(Activity activity, String mainComponentName) {
25+
public RNTesterActivityDelegate(ReactActivity activity, String mainComponentName) {
2626
super(activity, mainComponentName);
2727
this.mActivity = activity;
2828
}

‎ReactAndroid/src/main/java/com/facebook/react/ReactActivity.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@
99

1010
import javax.annotation.Nullable;
1111

12-
import android.app.Activity;
1312
import android.content.Intent;
1413
import android.os.Bundle;
14+
import android.support.v4.app.FragmentActivity;
1515
import android.view.KeyEvent;
1616

1717
import com.facebook.react.modules.core.DefaultHardwareBackBtnHandler;
@@ -21,7 +21,7 @@
2121
/**
2222
* Base Activity for React Native applications.
2323
*/
24-
public abstract class ReactActivity extends Activity
24+
public abstract class ReactActivity extends FragmentActivity
2525
implements DefaultHardwareBackBtnHandler, PermissionAwareActivity {
2626

2727
private final ReactActivityDelegate mDelegate;

‎ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java

+4-12
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
import android.content.Intent;
1212
import android.os.Build;
1313
import android.os.Bundle;
14-
import android.support.v4.app.FragmentActivity;
1514
import android.view.KeyEvent;
1615

1716
import com.facebook.infer.annotation.Assertions;
@@ -30,26 +29,22 @@
3029
public class ReactActivityDelegate {
3130

3231
private final @Nullable Activity mActivity;
33-
private final @Nullable FragmentActivity mFragmentActivity;
3432
private final @Nullable String mMainComponentName;
3533

3634
private @Nullable ReactRootView mReactRootView;
3735
private @Nullable DoubleTapReloadRecognizer mDoubleTapReloadRecognizer;
3836
private @Nullable PermissionListener mPermissionListener;
3937
private @Nullable Callback mPermissionsCallback;
4038

39+
@Deprecated
4140
public ReactActivityDelegate(Activity activity, @Nullable String mainComponentName) {
4241
mActivity = activity;
4342
mMainComponentName = mainComponentName;
44-
mFragmentActivity = null;
4543
}
4644

47-
public ReactActivityDelegate(
48-
FragmentActivity fragmentActivity,
49-
@Nullable String mainComponentName) {
50-
mFragmentActivity = fragmentActivity;
45+
public ReactActivityDelegate(ReactActivity activity, @Nullable String mainComponentName) {
46+
mActivity = activity;
5147
mMainComponentName = mainComponentName;
52-
mActivity = null;
5348
}
5449

5550
protected @Nullable Bundle getLaunchOptions() {
@@ -206,10 +201,7 @@ public void invoke(Object... args) {
206201
}
207202

208203
protected Context getContext() {
209-
if (mActivity != null) {
210-
return mActivity;
211-
}
212-
return Assertions.assertNotNull(mFragmentActivity);
204+
return Assertions.assertNotNull(mActivity);
213205
}
214206

215207
protected Activity getPlainActivity() {

‎ReactAndroid/src/main/java/com/facebook/react/ReactFragmentActivity.java

+2-117
Original file line numberDiff line numberDiff line change
@@ -7,126 +7,11 @@
77

88
package com.facebook.react;
99

10-
import javax.annotation.Nullable;
11-
12-
import android.content.Intent;
13-
import android.os.Bundle;
14-
import android.support.v4.app.FragmentActivity;
15-
import android.view.KeyEvent;
16-
17-
import com.facebook.react.modules.core.DefaultHardwareBackBtnHandler;
18-
import com.facebook.react.modules.core.PermissionAwareActivity;
19-
import com.facebook.react.modules.core.PermissionListener;
20-
2110
/**
2211
* @deprecated
23-
* ReactFragmentActivity will be removed in 0.57 release.
12+
* ReactFragmentActivity will be removed in 0.59 release.
2413
* Use {@link ReactActivity} instead.
2514
*/
2615
@Deprecated
27-
public abstract class ReactFragmentActivity extends FragmentActivity implements
28-
DefaultHardwareBackBtnHandler, PermissionAwareActivity {
29-
30-
private final ReactActivityDelegate mDelegate;
31-
32-
protected ReactFragmentActivity() {
33-
mDelegate = createReactActivityDelegate();
34-
}
35-
36-
/**
37-
* Returns the name of the main component registered from JavaScript.
38-
* This is used to schedule rendering of the component.
39-
* e.g. "MoviesApp"
40-
*/
41-
protected @Nullable String getMainComponentName() {
42-
return null;
43-
}
44-
45-
/**
46-
* Called at construction time, override if you have a custom delegate implementation.
47-
*/
48-
protected ReactActivityDelegate createReactActivityDelegate() {
49-
return new ReactActivityDelegate(this, getMainComponentName());
50-
}
51-
52-
@Override
53-
protected void onCreate(Bundle savedInstanceState) {
54-
super.onCreate(savedInstanceState);
55-
mDelegate.onCreate(savedInstanceState);
56-
}
57-
58-
@Override
59-
protected void onPause() {
60-
super.onPause();
61-
mDelegate.onPause();
62-
}
63-
64-
@Override
65-
protected void onResume() {
66-
super.onResume();
67-
mDelegate.onResume();
68-
}
69-
70-
@Override
71-
protected void onDestroy() {
72-
super.onDestroy();
73-
mDelegate.onDestroy();
74-
}
75-
76-
@Override
77-
public void onActivityResult(int requestCode, int resultCode, Intent data) {
78-
mDelegate.onActivityResult(requestCode, resultCode, data);
79-
}
80-
81-
@Override
82-
public boolean onKeyUp(int keyCode, KeyEvent event) {
83-
return mDelegate.onKeyUp(keyCode, event) || super.onKeyUp(keyCode, event);
84-
}
85-
86-
@Override
87-
public void onBackPressed() {
88-
if (!mDelegate.onBackPressed()) {
89-
super.onBackPressed();
90-
}
91-
}
92-
93-
@Override
94-
public void invokeDefaultOnBackPressed() {
95-
super.onBackPressed();
96-
}
97-
98-
@Override
99-
public void onNewIntent(Intent intent) {
100-
if (!mDelegate.onNewIntent(intent)) {
101-
super.onNewIntent(intent);
102-
}
103-
}
104-
105-
@Override
106-
public void requestPermissions(
107-
String[] permissions,
108-
int requestCode,
109-
PermissionListener listener) {
110-
mDelegate.requestPermissions(permissions, requestCode, listener);
111-
}
112-
113-
@Override
114-
public void onRequestPermissionsResult(
115-
int requestCode,
116-
String[] permissions,
117-
int[] grantResults) {
118-
mDelegate.onRequestPermissionsResult(requestCode, permissions, grantResults);
119-
}
120-
121-
protected final ReactNativeHost getReactNativeHost() {
122-
return mDelegate.getReactNativeHost();
123-
}
124-
125-
protected final ReactInstanceManager getReactInstanceManager() {
126-
return mDelegate.getReactInstanceManager();
127-
}
128-
129-
protected final void loadApp(String appKey) {
130-
mDelegate.loadApp(appKey);
131-
}
16+
public abstract class ReactFragmentActivity extends ReactActivity {
13217
}

0 commit comments

Comments
 (0)
Please sign in to comment.