1 package com.intel.realsense.processing;
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;
38 private static final String TAG =
"librs process example";
48 private final Handler
mHandler =
new Handler();
66 protected void onCreate(Bundle savedInstanceState) {
67 super.onCreate(savedInstanceState);
68 setContentView(
R.layout.activity_main);
70 mAppContext = getApplicationContext();
71 mBackGroundText = findViewById(
R.id.connectCameraText);
73 mGLSurfaceViewOrg = findViewById(
R.id.glSurfaceViewOrg);
74 mGLSurfaceViewOrg.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE
75 | View.SYSTEM_UI_FLAG_FULLSCREEN
76 | View.SYSTEM_UI_FLAG_LAYOUT_STABLE
77 | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
78 | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
79 | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
81 mGLSurfaceViewProcessed = findViewById(
R.id.glSurfaceViewProcessed);
82 mGLSurfaceViewProcessed.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE
83 | View.SYSTEM_UI_FLAG_FULLSCREEN
84 | View.SYSTEM_UI_FLAG_LAYOUT_STABLE
85 | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
86 | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
87 | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
90 if (android.os.Build.VERSION.SDK_INT > android.os.Build.VERSION_CODES.O &&
91 ContextCompat.checkSelfPermission(
this, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) {
96 mPermissionsGranted =
true;
102 mGLSurfaceViewOrg.
close();
103 mGLSurfaceViewProcessed.
close();
108 if (ContextCompat.checkSelfPermission(
this, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) {
112 mPermissionsGranted =
true;
118 if(mPermissionsGranted)
121 Log.e(TAG,
"missing permissions");
127 if(mRsContext != null)
162 if(dl.getDeviceCount() > 0) {
170 runOnUiThread(
new Runnable() {
173 mBackGroundText.setVisibility(state ? View.VISIBLE : View.GONE);
180 public void onDeviceAttach() {
185 public void onDeviceDetach() {
191 Runnable mStreaming =
new Runnable() {
207 mGLSurfaceViewOrg.
upload(org);
208 mGLSurfaceViewProcessed.
upload(processed);
212 mHandler.post(mStreaming);
214 catch (Exception
e) {
215 Log.e(TAG,
"streaming, error: " + e.getMessage());
234 Log.d(TAG,
"try start streaming");
235 mGLSurfaceViewOrg.
clear();
236 mGLSurfaceViewProcessed.
clear();
239 mHandler.post(mStreaming);
240 Log.d(TAG,
"streaming started successfully");
241 }
catch (Exception
e) {
242 Log.d(TAG,
"failed to start streaming");
246 private synchronized void stop() {
250 Log.d(TAG,
"try stop streaming");
251 mIsStreaming =
false;
252 mHandler.removeCallbacks(mStreaming);
254 Log.d(TAG,
"streaming stopped successfully");
255 mGLSurfaceViewOrg.
clear();
256 mGLSurfaceViewProcessed.
clear();
257 }
catch (Exception
e) {
258 Log.d(TAG,
"failed to stop streaming");
260 mColorizerOrg.
close();
261 mColorizerProcessed.
close();
FrameSet releaseWith(FrameReleaser frameReleaser)
::rosgraph_msgs::Log_< std::allocator< void > > Log
synchronized void start()
uvc_xu_option< int > super
synchronized void setDevicesChangedCallback(DeviceListener listener)
void onCreate(Bundle savedInstanceState)
TemporalFilter mTemporalFilter
ThresholdFilter mThresholdFilter
void setValue(Option option, float value)
static final int PERMISSIONS_REQUEST_CAMERA
boolean mPermissionsGranted
SpatialFilter mSpatialFilter
GLRsSurfaceView mGLSurfaceViewProcessed
::std_msgs::String_< std::allocator< void > > String
static void init(Context context)
void showConnectLabel(final boolean state)
FrameSet applyFilter(FilterInterface filter)
def run(include_folder_path, addon_folder_path)
GLRsSurfaceView mGLSurfaceViewOrg
DecimationFilter mDecimationFilter
HoleFillingFilter mHoleFillingFilter
DeviceList queryDevices()
void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults)
Colorizer mColorizerProcessed
Frame releaseWith(FrameReleaser frameReleaser)
Frame first(StreamType type)