diff options
author | jandegr <jandegr@users.noreply.github.com> | 2018-05-28 09:27:45 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-05-28 09:27:45 +0200 |
commit | 7a987d3b97d39c7350d3466f4bb15660893b6f43 (patch) | |
tree | d14362ff7e52aeb6cb80a3689465b29127e4a2b0 | |
parent | 0c4e318e3d693ae4cdc7d495a6911a71effbe218 (diff) | |
download | navit-7a987d3b97d39c7350d3466f4bb15660893b6f43.tar.gz |
refactor-cleanup
-rw-r--r-- | navit/android/src/org/navitproject/navit/NavitCamera.java | 172 | ||||
-rw-r--r-- | navit/android/src/org/navitproject/navit/NavitSensors.java | 38 |
2 files changed, 110 insertions, 100 deletions
diff --git a/navit/android/src/org/navitproject/navit/NavitCamera.java b/navit/android/src/org/navitproject/navit/NavitCamera.java index a10150c48..8ea66884e 100644 --- a/navit/android/src/org/navitproject/navit/NavitCamera.java +++ b/navit/android/src/org/navitproject/navit/NavitCamera.java @@ -1,81 +1,91 @@ -/* - * Copyright (C) 2009 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.navitproject.navit; - -import android.content.Context; -import android.hardware.Camera; -import android.util.Log; -import android.view.SurfaceHolder; -import android.view.SurfaceView; - -import java.io.IOException; - - - - -public class NavitCamera extends SurfaceView implements SurfaceHolder.Callback { - SurfaceHolder mHolder; - Camera mCamera; - - - - NavitCamera(Context context) { - super(context); - mHolder = getHolder(); - mHolder.addCallback(this); - mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS); - Log.e("NavitCamera","Creator"); - - - } - - - public void surfaceCreated(SurfaceHolder holder) { - // The Surface has been created, acquire the camera and tell it where - // to draw. - try { - mCamera = Camera.open(); - mCamera.setPreviewDisplay(holder); - } catch (IOException exception) { - mCamera.release(); - mCamera = null; - // TODO: add more exception handling logic here - } - Log.e("NavitCamera","surfaceCreated"); - } - - public void surfaceDestroyed(SurfaceHolder holder) { - // Surface will be destroyed when we return, so stop the preview. - // Because the CameraDevice object is not a shared resource, it's very - // important to release it when the activity is paused. - mCamera.stopPreview(); - mCamera = null; - Log.e("NavitCamera","surfaceDestroyed"); - } - - public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) { - // Now that the size is known, set up the camera parameters and begin - // the preview. - Log.e("NavitCamera","surfaceChanged "+w+"x"+h); - mCamera.stopPreview(); - Camera.Parameters parameters = mCamera.getParameters(); - parameters.setPreviewSize(w, h); - mCamera.setParameters(parameters); - mCamera.startPreview(); - } - -} - +/*
+ * Copyright (C) 2009 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.navitproject.navit;
+
+import android.content.Context;
+import android.hardware.Camera;
+import android.util.Log;
+import android.view.SurfaceHolder;
+import android.view.SurfaceView;
+
+import java.io.IOException;
+
+
+class NavitCamera extends SurfaceView implements SurfaceHolder.Callback {
+
+ private Camera mCamera;
+ private static final String TAG = NavitCamera.class.getName();
+
+ NavitCamera(Context context) {
+ super(context);
+ if (android.support.v4.content.ContextCompat.checkSelfPermission(context, android.Manifest.permission.CAMERA)
+ != android.content.pm.PackageManager.PERMISSION_GRANTED) {
+ Log.e(TAG,"No permission to access camera");
+ return;
+ }
+ SurfaceHolder holder;
+ holder = getHolder();
+ holder.addCallback(this);
+ holder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
+ Log.d(TAG,"Creator");
+ }
+
+
+ /**
+ * {@inheritDoc}
+ *
+ * <p>acquire the camera and tell it where to draw.</p>
+ */
+ public void surfaceCreated(SurfaceHolder holder) {
+ try {
+ mCamera = Camera.open();
+ mCamera.setPreviewDisplay(holder);
+ } catch (IOException exception) {
+ mCamera.release();
+ mCamera = null;
+ Log.e(TAG,"IOException");
+ }
+ Log.d(TAG,"surfaceCreated");
+ }
+
+
+ /**
+ * {@inheritDoc}
+ *
+ * <p>stop the preview and release the camera.</p>
+ */
+ public void surfaceDestroyed(SurfaceHolder holder) {
+ mCamera.stopPreview();
+ mCamera = null;
+ Log.d(TAG,"surfaceDestroyed");
+ }
+
+
+ /**
+ * {@inheritDoc}
+ *
+ * <p>set up the camera with the new parameters and begin the preview.</p>
+ */
+ public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) {
+ Log.d(TAG,"surfaceChanged " + w + "x " + h);
+ mCamera.stopPreview();
+ Camera.Parameters parameters = mCamera.getParameters();
+ parameters.setPreviewSize(w, h);
+ mCamera.setParameters(parameters);
+ mCamera.startPreview();
+ }
+}
\ No newline at end of file diff --git a/navit/android/src/org/navitproject/navit/NavitSensors.java b/navit/android/src/org/navitproject/navit/NavitSensors.java index 24ae9f796..7545d977a 100644 --- a/navit/android/src/org/navitproject/navit/NavitSensors.java +++ b/navit/android/src/org/navitproject/navit/NavitSensors.java @@ -21,32 +21,32 @@ import android.hardware.Sensor; import android.hardware.SensorEvent; import android.hardware.SensorEventListener; import android.hardware.SensorManager; +import android.util.Log; +@SuppressWarnings("unused") +class NavitSensors implements SensorEventListener { -public class NavitSensors implements SensorEventListener { - private SensorManager mSensorManager; - private int callbackid; - public native void SensorCallback(int id, int sensor, float x, float y, float z); - + private int mCallbackid; NavitSensors(Context context, int cbid) { - mSensorManager = (SensorManager) context.getSystemService(Context.SENSOR_SERVICE); - mSensorManager.registerListener((SensorEventListener)this, mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), - SensorManager.SENSOR_DELAY_NORMAL); - mSensorManager.registerListener((SensorEventListener)this, mSensorManager.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD), - SensorManager.SENSOR_DELAY_NORMAL); - callbackid=cbid; + SensorManager sensorManager; + sensorManager = (SensorManager) context.getSystemService(Context.SENSOR_SERVICE); + sensorManager.registerListener(this, sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), + SensorManager.SENSOR_DELAY_UI); + sensorManager.registerListener(this, sensorManager.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD), + SensorManager.SENSOR_DELAY_UI); + mCallbackid = cbid; } - public void - onAccuracyChanged(Sensor sensor, int accuracy) { - } + public native void sensorCallback(int id, int sensor, float x, float y, float z); - public void - onSensorChanged(SensorEvent sev) { - // Log.e("NavitSensor","Type:" + sev.sensor.getType() + " X:" + sev.values[0] + " Y:"+sev.values[1]+" Z:"+sev.values[2]); - SensorCallback(callbackid, sev.sensor.getType(), sev.values[0], sev.values[1], sev.values[2]); + public void onAccuracyChanged(Sensor sensor, int accuracy) { } -} + public void onSensorChanged(SensorEvent sev) { + Log.d("NavitSensor","Type:" + sev.sensor.getType() + " X:" + sev.values[0] + " Y:" + sev.values[1] + + " Z:" + sev.values[2]); + sensorCallback(mCallbackid, sev.sensor.getType(), sev.values[0], sev.values[1], sev.values[2]); + } +}
\ No newline at end of file |