1 package com.intel.realsense.playback;
3 import android.Manifest;
4 import android.content.Intent;
5 import android.content.pm.PackageManager;
6 import android.net.Uri;
7 import android.os.Bundle;
8 import android.os.Environment;
9 import androidx.core.app.ActivityCompat;
10 import androidx.core.content.ContextCompat;
11 import androidx.appcompat.app.AppCompatActivity;
12 import android.util.Log;
23 private static final String TAG =
"librs playback example";
29 protected void onCreate(Bundle savedInstanceState) {
30 super.onCreate(savedInstanceState);
31 setContentView(
R.layout.activity_main);
33 mGLSurfaceView = findViewById(
R.id.glSurfaceView);
35 if (ContextCompat.checkSelfPermission(
this, Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
36 ActivityCompat.requestPermissions(
this,
new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, 0);
43 mGLSurfaceView.
close();
48 if (ContextCompat.checkSelfPermission(
this, Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
49 ActivityCompat.requestPermissions(
this,
new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, 0);
59 Intent intent =
new Intent(Intent.ACTION_OPEN_DOCUMENT);
60 intent.addCategory(Intent.CATEGORY_OPENABLE);
61 intent.setType(
"*/*");
62 startActivityForResult(intent, READ_REQUEST_CODE);
71 mStreaming.interrupt();
72 if(mStreaming.isAlive()) {
74 mStreaming.join(1000);
75 mGLSurfaceView.
clear();
76 }
catch (InterruptedException
e) {
77 Log.e(TAG, e.getMessage());
88 super.onActivityResult(requestCode, resultCode, data);
89 if (requestCode == READ_REQUEST_CODE && resultCode == RESULT_OK) {
91 mUri = data.getData();
99 String filePath = getExternalFilesDir(null).getAbsolutePath() +
"/" + mUri.getPath().split(
":")[1];
102 config.enableDeviceFromFile(filePath);
107 while (!mStreaming.isInterrupted()) {
110 mGLSurfaceView.
upload(processed);
115 }
catch (Exception
e) {
116 Log.e(TAG,
"streaming, error: " + e.getMessage());
::rosgraph_msgs::Log_< std::allocator< void > > Log
void onCreate(Bundle savedInstanceState)
uvc_xu_option< int > super
::std_msgs::String_< std::allocator< void > > String
def run(include_folder_path, addon_folder_path)
void onActivityResult(int requestCode, int resultCode, Intent data)
void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults)
GLRsSurfaceView mGLSurfaceView
static final int READ_REQUEST_CODE