1 package com.intel.realsense.capture;
3 import android.Manifest;
4 import android.content.Context;
5 import android.content.pm.PackageManager;
6 import android.os.Bundle;
7 import android.os.Handler;
8 import androidx.core.app.ActivityCompat;
9 import androidx.core.content.ContextCompat;
10 import androidx.appcompat.app.AppCompatActivity;
11 import android.util.Log;
12 import android.view.View;
13 import android.widget.TextView;
27 private static final String TAG =
"librs capture example";
36 private final Handler
mHandler =
new Handler();
43 protected void onCreate(Bundle savedInstanceState) {
44 super.onCreate(savedInstanceState);
45 setContentView(
R.layout.activity_main);
47 mAppContext = getApplicationContext();
48 mBackGroundText = findViewById(
R.id.connectCameraText);
49 mGLSurfaceView = findViewById(
R.id.glSurfaceView);
50 mGLSurfaceView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE
51 | View.SYSTEM_UI_FLAG_FULLSCREEN
52 | View.SYSTEM_UI_FLAG_LAYOUT_STABLE
53 | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
54 | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
55 | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
58 if (android.os.Build.VERSION.SDK_INT > android.os.Build.VERSION_CODES.O &&
59 ContextCompat.checkSelfPermission(
this, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) {
64 mPermissionsGranted =
true;
70 mGLSurfaceView.
close();
75 if (ContextCompat.checkSelfPermission(
this, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) {
79 mPermissionsGranted =
true;
85 if(mPermissionsGranted)
88 Log.e(TAG,
"missing permissions");
94 if(mRsContext != null)
114 if(dl.getDeviceCount() > 0) {
122 runOnUiThread(
new Runnable() {
125 mBackGroundText.setVisibility(state ? View.VISIBLE : View.GONE);
132 public void onDeviceAttach() {
137 public void onDeviceDetach() {
143 Runnable mStreaming =
new Runnable() {
149 mGLSurfaceView.
upload(processed);
152 mHandler.post(mStreaming);
154 catch (Exception
e) {
155 Log.e(TAG,
"streaming, error: " + e.getMessage());
174 Log.d(TAG,
"try start streaming");
175 mGLSurfaceView.
clear();
178 mHandler.post(mStreaming);
179 Log.d(TAG,
"streaming started successfully");
180 }
catch (Exception
e) {
181 Log.d(TAG,
"failed to start streaming");
185 private synchronized void stop() {
189 Log.d(TAG,
"try stop streaming");
190 mIsStreaming =
false;
191 mHandler.removeCallbacks(mStreaming);
193 mGLSurfaceView.
clear();
194 Log.d(TAG,
"streaming stopped successfully");
195 }
catch (Exception
e) {
196 Log.d(TAG,
"failed to stop streaming");
boolean mPermissionsGranted
::rosgraph_msgs::Log_< std::allocator< void > > Log
uvc_xu_option< int > super
synchronized void start()
synchronized void setDevicesChangedCallback(DeviceListener listener)
void showConnectLabel(final boolean state)
::std_msgs::String_< std::allocator< void > > String
static void init(Context context)
static final int PERMISSIONS_REQUEST_CAMERA
def run(include_folder_path, addon_folder_path)
void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults)
GLRsSurfaceView mGLSurfaceView
void onCreate(Bundle savedInstanceState)
DeviceList queryDevices()