Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit e93f7b8

Browse files
committedNov 20, 2024·
fix: android implementation
1 parent f69e13a commit e93f7b8

File tree

9 files changed

+3232
-10659
lines changed

9 files changed

+3232
-10659
lines changed
 

‎Apps/BRNPlayground/android/gradle.properties

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,9 @@ reactNativeArchitectures=armeabi-v7a,arm64-v8a,x86,x86_64
4040
# to write custom TurboModules/Fabric components OR use libraries that
4141
# are providing them.
4242
# Note that this is incompatible with web debugging.
43-
newArchEnabled=false
43+
newArchEnabled=true
4444
hermesEnabled=true
45+
bridgelessEnabled=true
4546

4647
# Uncomment the line below if building react-native from source
4748
#ANDROID_NDK_VERSION=26.1.10909125

‎Apps/BRNPlayground/package-lock.json

Lines changed: 6 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎Apps/BRNPlayground/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
"@babylonjs/react-native": "file:../../Modules/@babylonjs/react-native",
2323
"@babylonjs/react-native-iosandroid": "file:../../Modules/@babylonjs/react-native-iosandroid",
2424
"@babylonjs/react-native-windows": "file:../../Modules/@babylonjs/react-native-windows",
25-
"@react-native-community/slider": "^4.2.2",
25+
"@react-native-community/slider": "^4.5.5",
2626
"react": "18.2.0",
2727
"react-native": "0.73.5",
2828
"react-native-macos": "^0.73.0",

‎Modules/@babylonjs/react-native-iosandroid/android/src/fabric/java/com/babylonreactnative/BabylonModule.java

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
@ReactModule(name = BabylonModule.NAME)
1010
public final class BabylonModule extends NativeBabylonModuleSpec {
11-
static final String NAME = "EngineViewNativeComponent";
11+
static final String NAME = "BabylonModule";
1212

1313
BabylonModule(ReactApplicationContext reactContext) {
1414
super(reactContext);
@@ -17,22 +17,22 @@ public final class BabylonModule extends NativeBabylonModuleSpec {
1717
@NonNull
1818
@Override
1919
public String getName() {
20-
return BabylonModule.NAME;
20+
return BabylonModule.NAME;
2121
}
2222

2323
@Override
2424
public void initialize(Promise promise) {
25-
// this.getReactApplicationContext().runOnJSQueueThread(() -> {
26-
// BabylonNativeInterop.initialize(this.getReactApplicationContext());
27-
// promise.resolve(null);
28-
// });
25+
this.getReactApplicationContext().runOnJSQueueThread(() -> {
26+
BabylonNativeInterop.initialize(this.getReactApplicationContext());
27+
promise.resolve(null);
28+
});
2929
}
3030

3131
@Override
3232
public void resetView(Promise promise) {
33-
// this.getReactApplicationContext().runOnUiQueueThread(() -> {
34-
// BabylonNativeInterop.resetView();
35-
// promise.resolve(null);
36-
// });
33+
this.getReactApplicationContext().runOnUiQueueThread(() -> {
34+
BabylonNativeInterop.resetView();
35+
promise.resolve(null);
36+
});
3737
}
3838
}

‎Modules/@babylonjs/react-native-iosandroid/android/src/fabric/java/com/babylonreactnative/EngineViewManager.java

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,8 @@
11
package com.babylonreactnative;
22

3-
import android.view.View;
4-
53
import androidx.annotation.NonNull;
64
import androidx.annotation.Nullable;
75

8-
import com.facebook.react.bridge.ReactApplicationContext;
96
import com.facebook.react.module.annotations.ReactModule;
107
import com.facebook.react.uimanager.SimpleViewManager;
118
import com.facebook.react.uimanager.ThemedReactContext;
@@ -40,11 +37,11 @@ protected EngineView createViewInstance(@NonNull ThemedReactContext reactContext
4037
return new EngineView(reactContext);
4138
}
4239

43-
// @Override
44-
// public void onDropViewInstance(@NonNull EngineView view) {
45-
// super.onDropViewInstance(view);
46-
// // TODO: Native view specific cleanup
47-
// }
40+
@Override
41+
public void onDropViewInstance(@NonNull EngineView view) {
42+
super.onDropViewInstance(view);
43+
// TODO: Native view specific cleanup
44+
}
4845

4946
@Override
5047
public void setIsTransparent(EngineView view, boolean value) {
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,13 @@
11
package com.babylonreactnative;
22

33
import androidx.annotation.NonNull;
4-
import androidx.annotation.Nullable;
54

65
import java.util.Arrays;
7-
import java.util.HashMap;
86
import java.util.List;
9-
import java.util.Map;
107

11-
import com.facebook.react.BaseReactPackage;
128
import com.facebook.react.ReactPackage;
13-
import com.facebook.react.TurboReactPackage;
149
import com.facebook.react.bridge.NativeModule;
1510
import com.facebook.react.bridge.ReactApplicationContext;
16-
import com.facebook.react.module.model.ReactModuleInfo;
17-
import com.facebook.react.module.model.ReactModuleInfoProvider;
1811
import com.facebook.react.uimanager.ViewManager;
1912

2013
public class BabylonPackage implements ReactPackage {
@@ -27,6 +20,8 @@ public List<NativeModule> createNativeModules(ReactApplicationContext reactConte
2720
@NonNull
2821
@Override
2922
public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) {
23+
// We have two implementations of EngineViewManager, one per architecture.
24+
// Implementation source code is determined by the sourceSets in the build.gradle file.
3025
return Arrays.<ViewManager>asList(new EngineViewManager());
3126
}
3227
}

‎Modules/@babylonjs/react-native/EngineView.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ export interface EngineViewProps extends NativeEngineViewProps {
99
camera?: Camera;
1010
displayFrameRate?: boolean;
1111
isTransparent?: boolean;
12+
androidView?: "TextureView" | "SurfaceView" | "SurfaceViewZTopMost" | "SurfaceViewZMediaOverlay";
1213
antiAliasing?: 0 | 1 | 2 | 4 | 8 | 16;
1314
onInitialized?: (view: EngineViewCallbacks) => void;
1415
}

‎Modules/@babylonjs/react-native/package-lock.json

Lines changed: 3203 additions & 10624 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎Modules/@babylonjs/react-native/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
"@babylonjs/core": ">=5.53.1",
3232
"react": ">=16.13.1",
3333
"react-native": ">=0.63.1",
34-
"react-native-permissions": "^3.0.0"
34+
"react-native-permissions": ">=3.0.0"
3535
},
3636
"devDependencies": {
3737
"@babel/core": "^7.8.4",
@@ -43,7 +43,7 @@
4343
"@types/jest": "^25.2.1",
4444
"@types/react": "^16.9.32",
4545
"@types/react-native": "^0.63.1",
46-
"@types/react-native-permissions": "^2.0.0",
46+
"react-native-permissions": "^4.1.5",
4747
"@types/react-test-renderer": "^16.9.2",
4848
"@types/semver": "^7.3.4",
4949
"eslint": "7.12.0",

0 commit comments

Comments
 (0)
Please sign in to comment.