Updated Sensor Samples to newest API
Change-Id: I88c0ce08232fed34aa99c97385155220e7d9abff
This commit is contained in:
@@ -16,15 +16,13 @@
|
|||||||
|
|
||||||
package com.example.android.apis.graphics;
|
package com.example.android.apis.graphics;
|
||||||
|
|
||||||
import android.app.Activity;
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.graphics.*;
|
import android.graphics.*;
|
||||||
import android.hardware.SensorListener;
|
import android.hardware.Sensor;
|
||||||
|
import android.hardware.SensorEvent;
|
||||||
|
import android.hardware.SensorEventListener;
|
||||||
import android.hardware.SensorManager;
|
import android.hardware.SensorManager;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.Handler;
|
|
||||||
import android.os.Message;
|
|
||||||
import android.os.SystemClock;
|
|
||||||
import android.util.Config;
|
import android.util.Config;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
@@ -34,22 +32,21 @@ public class Compass extends GraphicsActivity {
|
|||||||
private static final String TAG = "Compass";
|
private static final String TAG = "Compass";
|
||||||
|
|
||||||
private SensorManager mSensorManager;
|
private SensorManager mSensorManager;
|
||||||
|
private Sensor mSensor;
|
||||||
private SampleView mView;
|
private SampleView mView;
|
||||||
private float[] mValues;
|
private float[] mValues;
|
||||||
|
|
||||||
private final SensorListener mListener = new SensorListener() {
|
private final SensorEventListener mListener = new SensorEventListener() {
|
||||||
|
public void onSensorChanged(SensorEvent event) {
|
||||||
public void onSensorChanged(int sensor, float[] values) {
|
if (Config.LOGD) Log.d(TAG,
|
||||||
if (Config.LOGD) Log.d(TAG, "sensorChanged (" + values[0] + ", " + values[1] + ", " + values[2] + ")");
|
"sensorChanged (" + event.values[0] + ", " + event.values[1] + ", " + event.values[2] + ")");
|
||||||
mValues = values;
|
mValues = event.values;
|
||||||
if (mView != null) {
|
if (mView != null) {
|
||||||
mView.invalidate();
|
mView.invalidate();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onAccuracyChanged(int sensor, int accuracy) {
|
public void onAccuracyChanged(Sensor sensor, int accuracy) {
|
||||||
// TODO Auto-generated method stub
|
|
||||||
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -57,6 +54,7 @@ public class Compass extends GraphicsActivity {
|
|||||||
protected void onCreate(Bundle icicle) {
|
protected void onCreate(Bundle icicle) {
|
||||||
super.onCreate(icicle);
|
super.onCreate(icicle);
|
||||||
mSensorManager = (SensorManager)getSystemService(Context.SENSOR_SERVICE);
|
mSensorManager = (SensorManager)getSystemService(Context.SENSOR_SERVICE);
|
||||||
|
mSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION);
|
||||||
mView = new SampleView(this);
|
mView = new SampleView(this);
|
||||||
setContentView(mView);
|
setContentView(mView);
|
||||||
}
|
}
|
||||||
@@ -66,8 +64,8 @@ public class Compass extends GraphicsActivity {
|
|||||||
{
|
{
|
||||||
if (Config.LOGD) Log.d(TAG, "onResume");
|
if (Config.LOGD) Log.d(TAG, "onResume");
|
||||||
super.onResume();
|
super.onResume();
|
||||||
mSensorManager.registerListener(mListener,
|
|
||||||
SensorManager.SENSOR_ORIENTATION,
|
mSensorManager.registerListener(mListener, mSensor,
|
||||||
SensorManager.SENSOR_DELAY_GAME);
|
SensorManager.SENSOR_DELAY_GAME);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -16,22 +16,21 @@
|
|||||||
|
|
||||||
package com.example.android.apis.graphics;
|
package com.example.android.apis.graphics;
|
||||||
|
|
||||||
import android.app.Activity;
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.graphics.*;
|
import android.graphics.*;
|
||||||
import android.hardware.SensorListener;
|
import android.hardware.Sensor;
|
||||||
|
import android.hardware.SensorEvent;
|
||||||
|
import android.hardware.SensorEventListener;
|
||||||
import android.hardware.SensorManager;
|
import android.hardware.SensorManager;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.Handler;
|
|
||||||
import android.os.Message;
|
|
||||||
import android.os.SystemClock;
|
|
||||||
import android.util.Config;
|
import android.util.Config;
|
||||||
import android.util.Log;
|
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
|
|
||||||
public class SensorTest extends GraphicsActivity {
|
public class SensorTest extends GraphicsActivity {
|
||||||
|
private final String TAG = "SensorTest";
|
||||||
|
|
||||||
private SensorManager mSensorManager;
|
private SensorManager mSensorManager;
|
||||||
|
private Sensor mSensor;
|
||||||
private SampleView mView;
|
private SampleView mView;
|
||||||
private float[] mValues;
|
private float[] mValues;
|
||||||
|
|
||||||
@@ -76,29 +75,31 @@ public class SensorTest extends GraphicsActivity {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
private final SensorListener mListener = new SensorListener() {
|
private final SensorEventListener mListener = new SensorEventListener() {
|
||||||
|
|
||||||
private final float[] mScale = new float[] { 2, 2.5f, 0.5f }; // accel
|
private final float[] mScale = new float[] { 2, 2.5f, 0.5f }; // accel
|
||||||
|
|
||||||
private float[] mPrev = new float[3];
|
private float[] mPrev = new float[3];
|
||||||
|
private long mLastGestureTime;
|
||||||
|
|
||||||
public void onSensorChanged(int sensor, float[] values) {
|
public void onSensorChanged(SensorEvent event) {
|
||||||
boolean show = false;
|
boolean show = false;
|
||||||
float[] diff = new float[3];
|
float[] diff = new float[3];
|
||||||
|
|
||||||
for (int i = 0; i < 3; i++) {
|
for (int i = 0; i < 3; i++) {
|
||||||
diff[i] = Math.round(mScale[i] * (values[i] - mPrev[i]) * 0.45f);
|
diff[i] = Math.round(mScale[i] * (event.values[i] - mPrev[i]) * 0.45f);
|
||||||
if (Math.abs(diff[i]) > 0) {
|
if (Math.abs(diff[i]) > 0) {
|
||||||
show = true;
|
show = true;
|
||||||
}
|
}
|
||||||
mPrev[i] = values[i];
|
mPrev[i] = event.values[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
if (show) {
|
if (show) {
|
||||||
// only shows if we think the delta is big enough, in an attempt
|
// only shows if we think the delta is big enough, in an attempt
|
||||||
// to detect "serious" moves left/right or up/down
|
// to detect "serious" moves left/right or up/down
|
||||||
android.util.Log.e("test", "sensorChanged " + sensor + " (" + values[0] + ", " + values[1] + ", " + values[2] + ")"
|
android.util.Log.e(TAG, "sensorChanged " + event.sensor.getName() +
|
||||||
+ " diff(" + diff[0] + " " + diff[1] + " " + diff[2] + ")");
|
" (" + event.values[0] + ", " + event.values[1] + ", " +
|
||||||
|
event.values[2] + ")" + " diff(" + diff[0] +
|
||||||
|
" " + diff[1] + " " + diff[2] + ")");
|
||||||
}
|
}
|
||||||
|
|
||||||
long now = android.os.SystemClock.uptimeMillis();
|
long now = android.os.SystemClock.uptimeMillis();
|
||||||
@@ -129,11 +130,7 @@ public class SensorTest extends GraphicsActivity {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private long mLastGestureTime;
|
public void onAccuracyChanged(Sensor sensor, int accuracy) {
|
||||||
|
|
||||||
public void onAccuracyChanged(int sensor, int accuracy) {
|
|
||||||
// TODO Auto-generated method stub
|
|
||||||
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -141,28 +138,24 @@ public class SensorTest extends GraphicsActivity {
|
|||||||
protected void onCreate(Bundle icicle) {
|
protected void onCreate(Bundle icicle) {
|
||||||
super.onCreate(icicle);
|
super.onCreate(icicle);
|
||||||
mSensorManager = (SensorManager)getSystemService(Context.SENSOR_SERVICE);
|
mSensorManager = (SensorManager)getSystemService(Context.SENSOR_SERVICE);
|
||||||
|
mSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
|
||||||
mView = new SampleView(this);
|
mView = new SampleView(this);
|
||||||
setContentView(mView);
|
setContentView(mView);
|
||||||
// android.util.Log.d("skia", "create " + mSensorManager);
|
if (Config.LOGD) android.util.Log.d(TAG, "create " + mSensorManager);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onResume() {
|
protected void onResume() {
|
||||||
super.onResume();
|
super.onResume();
|
||||||
|
mSensorManager.registerListener(mListener, mSensor, SensorManager.SENSOR_DELAY_FASTEST);
|
||||||
int mask = 0;
|
if (Config.LOGD) android.util.Log.d(TAG, "resume " + mSensorManager);
|
||||||
// mask |= SensorManager.SENSOR_ORIENTATION;
|
|
||||||
mask |= SensorManager.SENSOR_ACCELEROMETER;
|
|
||||||
|
|
||||||
mSensorManager.registerListener(mListener, mask, SensorManager.SENSOR_DELAY_FASTEST);
|
|
||||||
// android.util.Log.d("skia", "resume " + mSensorManager);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onStop() {
|
protected void onStop() {
|
||||||
mSensorManager.unregisterListener(mListener);
|
mSensorManager.unregisterListener(mListener);
|
||||||
super.onStop();
|
super.onStop();
|
||||||
// android.util.Log.d("skia", "stop " + mSensorManager);
|
if (Config.LOGD) android.util.Log.d(TAG, "stop " + mSensorManager);
|
||||||
}
|
}
|
||||||
|
|
||||||
private class SampleView extends View {
|
private class SampleView extends View {
|
||||||
@@ -182,7 +175,8 @@ public class SensorTest extends GraphicsActivity {
|
|||||||
mPath.close();
|
mPath.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override protected void onDraw(Canvas canvas) {
|
@Override
|
||||||
|
protected void onDraw(Canvas canvas) {
|
||||||
Paint paint = mPaint;
|
Paint paint = mPaint;
|
||||||
|
|
||||||
canvas.drawColor(Color.WHITE);
|
canvas.drawColor(Color.WHITE);
|
||||||
@@ -216,4 +210,3 @@ public class SensorTest extends GraphicsActivity {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -20,9 +20,10 @@ import android.app.Activity;
|
|||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
|
import android.hardware.Sensor;
|
||||||
|
import android.hardware.SensorEvent;
|
||||||
|
import android.hardware.SensorEventListener;
|
||||||
import android.hardware.SensorManager;
|
import android.hardware.SensorManager;
|
||||||
import android.hardware.SensorListener;
|
|
||||||
import android.util.Log;
|
|
||||||
import android.graphics.Bitmap;
|
import android.graphics.Bitmap;
|
||||||
import android.graphics.Canvas;
|
import android.graphics.Canvas;
|
||||||
import android.graphics.Color;
|
import android.graphics.Color;
|
||||||
@@ -47,13 +48,10 @@ OS / Sensors
|
|||||||
* </table>
|
* </table>
|
||||||
*/
|
*/
|
||||||
public class Sensors extends Activity {
|
public class Sensors extends Activity {
|
||||||
/** Tag string for our debug logs */
|
|
||||||
private static final String TAG = "Sensors";
|
|
||||||
|
|
||||||
private SensorManager mSensorManager;
|
private SensorManager mSensorManager;
|
||||||
private GraphView mGraphView;
|
private GraphView mGraphView;
|
||||||
|
|
||||||
private class GraphView extends View implements SensorListener
|
private class GraphView extends View implements SensorEventListener
|
||||||
{
|
{
|
||||||
private Bitmap mBitmap;
|
private Bitmap mBitmap;
|
||||||
private Paint mPaint = new Paint();
|
private Paint mPaint = new Paint();
|
||||||
@@ -172,29 +170,29 @@ public class Sensors extends Activity {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onSensorChanged(int sensor, float[] values) {
|
public void onSensorChanged(SensorEvent event) {
|
||||||
//Log.d(TAG, "sensor: " + sensor + ", x: " + values[0] + ", y: " + values[1] + ", z: " + values[2]);
|
//Log.d(TAG, "sensor: " + sensor + ", x: " + values[0] + ", y: " + values[1] + ", z: " + values[2]);
|
||||||
synchronized (this) {
|
synchronized (this) {
|
||||||
if (mBitmap != null) {
|
if (mBitmap != null) {
|
||||||
final Canvas canvas = mCanvas;
|
final Canvas canvas = mCanvas;
|
||||||
final Paint paint = mPaint;
|
final Paint paint = mPaint;
|
||||||
if (sensor == SensorManager.SENSOR_ORIENTATION) {
|
if (event.sensor.getType() == Sensor.TYPE_ORIENTATION) {
|
||||||
for (int i=0 ; i<3 ; i++) {
|
for (int i=0 ; i<3 ; i++) {
|
||||||
mOrientationValues[i] = values[i];
|
mOrientationValues[i] = event.values[i];
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
float deltaX = mSpeed;
|
float deltaX = mSpeed;
|
||||||
float newX = mLastX + deltaX;
|
float newX = mLastX + deltaX;
|
||||||
|
|
||||||
int j = (sensor == SensorManager.SENSOR_MAGNETIC_FIELD) ? 1 : 0;
|
int j = (event.sensor.getType() == Sensor.TYPE_MAGNETIC_FIELD) ? 1 : 0;
|
||||||
for (int i=0 ; i<3 ; i++) {
|
for (int i=0 ; i<3 ; i++) {
|
||||||
int k = i+j*3;
|
int k = i+j*3;
|
||||||
final float v = mYOffset + values[i] * mScale[j];
|
final float v = mYOffset + event.values[i] * mScale[j];
|
||||||
paint.setColor(mColors[k]);
|
paint.setColor(mColors[k]);
|
||||||
canvas.drawLine(mLastX, mLastValues[k], newX, v, paint);
|
canvas.drawLine(mLastX, mLastValues[k], newX, v, paint);
|
||||||
mLastValues[k] = v;
|
mLastValues[k] = v;
|
||||||
}
|
}
|
||||||
if (sensor == SensorManager.SENSOR_MAGNETIC_FIELD)
|
if (event.sensor.getType() == Sensor.TYPE_MAGNETIC_FIELD)
|
||||||
mLastX += mSpeed;
|
mLastX += mSpeed;
|
||||||
}
|
}
|
||||||
invalidate();
|
invalidate();
|
||||||
@@ -202,9 +200,7 @@ public class Sensors extends Activity {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onAccuracyChanged(int sensor, int accuracy) {
|
public void onAccuracyChanged(Sensor sensor, int accuracy) {
|
||||||
// TODO Auto-generated method stub
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -227,9 +223,13 @@ public class Sensors extends Activity {
|
|||||||
protected void onResume() {
|
protected void onResume() {
|
||||||
super.onResume();
|
super.onResume();
|
||||||
mSensorManager.registerListener(mGraphView,
|
mSensorManager.registerListener(mGraphView,
|
||||||
SensorManager.SENSOR_ACCELEROMETER |
|
mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER),
|
||||||
SensorManager.SENSOR_MAGNETIC_FIELD |
|
SensorManager.SENSOR_DELAY_FASTEST);
|
||||||
SensorManager.SENSOR_ORIENTATION,
|
mSensorManager.registerListener(mGraphView,
|
||||||
|
mSensorManager.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD),
|
||||||
|
SensorManager.SENSOR_DELAY_FASTEST);
|
||||||
|
mSensorManager.registerListener(mGraphView,
|
||||||
|
mSensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION),
|
||||||
SensorManager.SENSOR_DELAY_FASTEST);
|
SensorManager.SENSOR_DELAY_FASTEST);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user