Parcourir la source

fixing compile errors

Daniel Zlotin il y a 8 ans
Parent
révision
d82d317931

+ 1
- 5
android/app/src/main/AndroidManifest.xml Voir le fichier

2
     package="com.reactnativenavigation">
2
     package="com.reactnativenavigation">
3
 
3
 
4
     <application>
4
     <application>
5
-        <activity android:name="com.reactnativenavigation.activities.TabActivity" />
6
-        <activity android:name="com.reactnativenavigation.activities.BottomTabActivity"
7
-                  android:label=""/>
8
-        <activity android:name="com.reactnativenavigation.activities.SingleScreenActivity"
9
-                  android:label=""/>
5
+        <activity android:name=".controllers.NavigationActivity" />
10
     </application>
6
     </application>
11
 
7
 
12
 </manifest>
8
 </manifest>

+ 0
- 1
android/app/src/main/java/com/reactnativenavigation/NavigationApplication.java Voir le fichier

26
         navigationReactInstance.startReactContextOnceInBackgroundAndExecuteJS();
26
         navigationReactInstance.startReactContextOnceInBackgroundAndExecuteJS();
27
     }
27
     }
28
 
28
 
29
-
30
     public Handler getMainHandler() {
29
     public Handler getMainHandler() {
31
         return handler;
30
         return handler;
32
     }
31
     }

+ 7
- 0
android/app/src/main/java/com/reactnativenavigation/controllers/ModalController.java Voir le fichier

1
 package com.reactnativenavigation.controllers;
1
 package com.reactnativenavigation.controllers;
2
 
2
 
3
 public class ModalController {
3
 public class ModalController {
4
+    public boolean onBackPressed() {
5
+        return false;
6
+    }
7
+
8
+    public void onDestroy() {
9
+
10
+    }
4
 
11
 
5
 //    private final Stack<RnnModal> modals = new Stack<>();
12
 //    private final Stack<RnnModal> modals = new Stack<>();
6
 //
13
 //

+ 7
- 18
android/app/src/main/java/com/reactnativenavigation/controllers/NavigationActivity.java Voir le fichier

1
 package com.reactnativenavigation.controllers;
1
 package com.reactnativenavigation.controllers;
2
 
2
 
3
 import android.app.Activity;
3
 import android.app.Activity;
4
-import android.content.BroadcastReceiver;
5
-import android.content.Context;
6
 import android.content.Intent;
4
 import android.content.Intent;
7
-import android.content.IntentFilter;
8
 import android.os.Bundle;
5
 import android.os.Bundle;
9
-import android.support.v4.content.LocalBroadcastManager;
10
 import android.support.v7.app.AppCompatActivity;
6
 import android.support.v7.app.AppCompatActivity;
11
 import android.view.KeyEvent;
7
 import android.view.KeyEvent;
12
 
8
 
13
-import com.facebook.react.ReactPackage;
14
 import com.facebook.react.modules.core.DefaultHardwareBackBtnHandler;
9
 import com.facebook.react.modules.core.DefaultHardwareBackBtnHandler;
15
-import com.facebook.react.shell.MainReactPackage;
16
 import com.reactnativenavigation.NavigationApplication;
10
 import com.reactnativenavigation.NavigationApplication;
17
-import com.reactnativenavigation.bridge.NavigationReactPackage;
18
-import com.reactnativenavigation.params.ActivityParams;
19
-import com.reactnativenavigation.params.parsers.ActivityParamsParser;
20
 import com.reactnativenavigation.layouts.Layout;
11
 import com.reactnativenavigation.layouts.Layout;
21
 import com.reactnativenavigation.layouts.ScreenLayout;
12
 import com.reactnativenavigation.layouts.ScreenLayout;
13
+import com.reactnativenavigation.params.ActivityParams;
14
+import com.reactnativenavigation.params.parsers.ActivityParamsParser;
22
 import com.reactnativenavigation.react.JsDevReloadHandler;
15
 import com.reactnativenavigation.react.JsDevReloadHandler;
23
 import com.reactnativenavigation.react.NavigationReactInstance;
16
 import com.reactnativenavigation.react.NavigationReactInstance;
24
 import com.reactnativenavigation.react.RedboxPermission;
17
 import com.reactnativenavigation.react.RedboxPermission;
25
 
18
 
26
-import java.util.Arrays;
27
-import java.util.List;
28
-
29
-
30
 public class NavigationActivity extends AppCompatActivity implements DefaultHardwareBackBtnHandler, NavigationReactInstance.OnJsDevReloadListener {
19
 public class NavigationActivity extends AppCompatActivity implements DefaultHardwareBackBtnHandler, NavigationReactInstance.OnJsDevReloadListener {
31
 
20
 
32
     public static final String PARAMS_BUNDLE = "PARAMS_BUNDLE";
21
     public static final String PARAMS_BUNDLE = "PARAMS_BUNDLE";
37
      * This is somewhat weird, and in the future either fully support multiple activities, OR a single activity with changing contentView ala ReactNative impl.
26
      * This is somewhat weird, and in the future either fully support multiple activities, OR a single activity with changing contentView ala ReactNative impl.
38
      */
27
      */
39
     private static Activity currentActivity;
28
     private static Activity currentActivity;
29
+    private ActivityParams activityParams;
40
     private ModalController modalController;
30
     private ModalController modalController;
41
     private Layout layout = new Layout() {
31
     private Layout layout = new Layout() {
42
         @Override
32
         @Override
54
 
44
 
55
         }
45
         }
56
     };
46
     };
57
-    private ActivityParams activityParams;
58
 
47
 
59
     @Override
48
     @Override
60
     protected void onCreate(Bundle savedInstanceState) {
49
     protected void onCreate(Bundle savedInstanceState) {
89
 
78
 
90
     @Override
79
     @Override
91
     protected void onDestroy() {
80
     protected void onDestroy() {
92
-//        modalController.onDestroy();
81
+        modalController.onDestroy();
93
         layout.onDestroy();
82
         layout.onDestroy();
94
         super.onDestroy();
83
         super.onDestroy();
95
         if (currentActivity == null || currentActivity.isFinishing()) {
84
         if (currentActivity == null || currentActivity.isFinishing()) {
109
 
98
 
110
     @Override
99
     @Override
111
     public void onBackPressed() {
100
     public void onBackPressed() {
112
-//        if (modalController.onBackPressed()) {
113
-//            return;
114
-//        }
101
+        if (modalController.onBackPressed()) {
102
+            return;
103
+        }
115
         if (layout.onBackPressed()) {
104
         if (layout.onBackPressed()) {
116
             return;
105
             return;
117
         }
106
         }

+ 10
- 2
android/app/src/main/java/com/reactnativenavigation/controllers/SplashActivity.java Voir le fichier

1
 package com.reactnativenavigation.controllers;
1
 package com.reactnativenavigation.controllers;
2
 
2
 
3
+import android.os.Bundle;
4
+import android.support.annotation.Nullable;
3
 import android.support.v7.app.AppCompatActivity;
5
 import android.support.v7.app.AppCompatActivity;
6
+import android.widget.Toast;
4
 
7
 
5
-public class SplashActivity extends AppCompatActivity {
6
-
8
+public abstract class SplashActivity extends AppCompatActivity {
7
 
9
 
10
+    @Override
11
+    protected void onCreate(@Nullable Bundle savedInstanceState) {
12
+        super.onCreate(savedInstanceState);
13
+        //TODO show fancy splash
14
+        Toast.makeText(this, "Loading navigation...", Toast.LENGTH_SHORT).show();
15
+    }
8
 }
16
 }

+ 2
- 5
android/app/src/main/java/com/reactnativenavigation/layouts/ScreenLayout.java Voir le fichier

10
 import android.view.Window;
10
 import android.view.Window;
11
 import android.widget.LinearLayout;
11
 import android.widget.LinearLayout;
12
 
12
 
13
-import com.facebook.react.ReactInstanceManager;
14
 import com.reactnativenavigation.params.ScreenParams;
13
 import com.reactnativenavigation.params.ScreenParams;
15
 import com.reactnativenavigation.params.ScreenStyleParams;
14
 import com.reactnativenavigation.params.ScreenStyleParams;
16
 import com.reactnativenavigation.params.TitleBarButtonParams;
15
 import com.reactnativenavigation.params.TitleBarButtonParams;
25
 
24
 
26
 public class ScreenLayout extends LinearLayout implements ScrollDirectionListener.OnScrollChanged {
25
 public class ScreenLayout extends LinearLayout implements ScrollDirectionListener.OnScrollChanged {
27
 
26
 
28
-    private final ReactInstanceManager reactInstanceManager;
29
     private final String screenId;
27
     private final String screenId;
30
     private final Bundle passProps;
28
     private final Bundle passProps;
31
     private final List<TitleBarButtonParams> buttons;
29
     private final List<TitleBarButtonParams> buttons;
32
     private ContentView contentView;
30
     private ContentView contentView;
33
     private TopBar topBar;
31
     private TopBar topBar;
34
 
32
 
35
-    public ScreenLayout(Context context, ReactInstanceManager reactInstanceManager, ScreenParams screenParams) {
33
+    public ScreenLayout(Context context, ScreenParams screenParams) {
36
         super(context);
34
         super(context);
37
-        this.reactInstanceManager = reactInstanceManager;
38
         screenId = screenParams.screenId;
35
         screenId = screenParams.screenId;
39
         passProps = screenParams.passProps;
36
         passProps = screenParams.passProps;
40
         buttons = screenParams.buttons;
37
         buttons = screenParams.buttons;
56
     }
53
     }
57
 
54
 
58
     private void addContentView() {
55
     private void addContentView() {
59
-        contentView = new ContentView(getContext(), reactInstanceManager, screenId, passProps, this);
56
+        contentView = new ContentView(getContext(), screenId, passProps, this);
60
         addView(contentView, new LayoutParams(MATCH_PARENT, MATCH_PARENT));
57
         addView(contentView, new LayoutParams(MATCH_PARENT, MATCH_PARENT));
61
     }
58
     }
62
 
59
 

+ 3
- 5
android/app/src/main/java/com/reactnativenavigation/views/ContentView.java Voir le fichier

4
 import android.os.Bundle;
4
 import android.os.Bundle;
5
 import android.view.ViewGroup;
5
 import android.view.ViewGroup;
6
 
6
 
7
-import com.facebook.react.ReactInstanceManager;
8
 import com.facebook.react.ReactRootView;
7
 import com.facebook.react.ReactRootView;
8
+import com.reactnativenavigation.NavigationApplication;
9
 import com.reactnativenavigation.react.ReactViewHacks;
9
 import com.reactnativenavigation.react.ReactViewHacks;
10
 
10
 
11
 public class ContentView extends ReactRootView {
11
 public class ContentView extends ReactRootView {
12
 
12
 
13
-    private final ReactInstanceManager reactInstanceManager;
14
     private final String screenId;
13
     private final String screenId;
15
     private final Bundle passProps;
14
     private final Bundle passProps;
16
     private final ScrollDirectionListener.OnScrollChanged scrollListener;
15
     private final ScrollDirectionListener.OnScrollChanged scrollListener;
17
 
16
 
18
-    public ContentView(Context context, ReactInstanceManager reactInstanceManager, String screenId, Bundle passProps, ScrollDirectionListener.OnScrollChanged scrollListener) {
17
+    public ContentView(Context context, String screenId, Bundle passProps, ScrollDirectionListener.OnScrollChanged scrollListener) {
19
         super(context);
18
         super(context);
20
-        this.reactInstanceManager = reactInstanceManager;
21
         this.screenId = screenId;
19
         this.screenId = screenId;
22
         this.passProps = passProps;
20
         this.passProps = passProps;
23
         this.scrollListener = scrollListener;
21
         this.scrollListener = scrollListener;
24
     }
22
     }
25
 
23
 
26
     public void init() {
24
     public void init() {
27
-        startReactApplication(reactInstanceManager, screenId, passProps);
25
+        startReactApplication(NavigationApplication.instance.getNavigationReactInstance().getReactInstanceManager(), screenId, passProps);
28
         new ScrollViewAttacher(this, scrollListener).attach();
26
         new ScrollViewAttacher(this, scrollListener).attach();
29
     }
27
     }
30
 
28