Skip to content

Commit 3f22e85

Browse files
authored
[WIP] Add support for streaming (#14)
1 parent d61cdb7 commit 3f22e85

File tree

3 files changed

+18
-100
lines changed

3 files changed

+18
-100
lines changed

f3d/src/main/java/app/f3d/F3D/android/MainActivity.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,6 @@
1515
import java.util.Objects;
1616

1717
import app.f3d.F3D.android.Utils.FileInteractionContract;
18-
import app.f3d.F3D.android.Utils.FileType;
19-
import app.f3d.F3D.android.Utils.FileUtils;
2018

2119
public class MainActivity extends AppCompatActivity {
2220

@@ -49,8 +47,7 @@ protected void onCreate(Bundle savedInstanceState) {
4947
}
5048

5149
private void handleSelectedFile(Uri uri) {
52-
String filePath = FileUtils.createTempFileFromUri(this,uri);
53-
mView.updateFilePath(filePath);
50+
mView.updateActiveUri(uri);
5451
}
5552

5653
private void handleSelectedFileAppNotOpen(){

f3d/src/main/java/app/f3d/F3D/android/MainView.java

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
11
package app.f3d.F3D.android;
22

33
import android.content.Context;
4+
import android.net.Uri;
45
import android.opengl.GLSurfaceView;
56
import android.util.Log;
67
import android.view.MotionEvent;
78
import android.view.ScaleGestureDetector;
89

10+
import java.io.IOException;
11+
import java.io.InputStream;
912
import java.util.Objects;
1013

1114
import javax.microedition.khronos.egl.EGLConfig;
@@ -19,7 +22,7 @@ public class MainView extends GLSurfaceView {
1922
final private ScaleGestureDetector mScaleDetector;
2023
final private PanGestureDetector mPanDetector;
2124
final private RotateGestureDetector mRotateDetector;
22-
private String internalCachePath = "";
25+
private Uri mActiveUri = Uri.EMPTY;
2326

2427
public MainView(Context context) {
2528
super(context);
@@ -66,14 +69,23 @@ public void onSurfaceCreated(GL10 gl, EGLConfig config) {
6669
MainView.this.mEngine.getOptions().toggle("ui.loader_progress");
6770
// MainView.this.mEngine.getOptions().toggle("model.volume.enable");
6871

69-
if(!Objects.equals(internalCachePath, "")) {
70-
MainView.this.mEngine.getScene().add(internalCachePath);
72+
if(!Objects.equals(mActiveUri, Uri.EMPTY)) {
73+
try (InputStream inputStream = MainView.this.getContext().getContentResolver().openInputStream(mActiveUri)) {
74+
if (inputStream != null) {
75+
byte[] fileBytes = new byte[inputStream.available()];
76+
inputStream.read(fileBytes);
77+
78+
MainView.this.mEngine.getScene().addBuffer(fileBytes, fileBytes.length);
79+
}
80+
} catch (IOException e) {
81+
e.printStackTrace();
82+
}
7183
}
7284
}
7385
}
74-
public void updateFilePath(String newFilePath) {
86+
public void updateActiveUri(Uri uri) {
7587
// Use the new file path as needed in MainView
76-
internalCachePath = newFilePath;
88+
mActiveUri = uri;
7789
}
7890

7991
private class ScaleListener extends ScaleGestureDetector.SimpleOnScaleGestureListener {

f3d/src/main/java/app/f3d/F3D/android/Utils/FileUtils.java

Lines changed: 0 additions & 91 deletions
This file was deleted.

0 commit comments

Comments
 (0)