diff --git a/samples/ApiDemos/src/com/example/android/apis/graphics/Compass.java b/samples/ApiDemos/src/com/example/android/apis/graphics/Compass.java index d2a990751..d3b0981da 100644 --- a/samples/ApiDemos/src/com/example/android/apis/graphics/Compass.java +++ b/samples/ApiDemos/src/com/example/android/apis/graphics/Compass.java @@ -16,15 +16,13 @@ package com.example.android.apis.graphics; -import android.app.Activity; import android.content.Context; 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.os.Bundle; -import android.os.Handler; -import android.os.Message; -import android.os.SystemClock; import android.util.Config; import android.util.Log; import android.view.View; @@ -33,23 +31,22 @@ public class Compass extends GraphicsActivity { private static final String TAG = "Compass"; - private SensorManager mSensorManager; + private SensorManager mSensorManager; + private Sensor mSensor; private SampleView mView; private float[] mValues; - private final SensorListener mListener = new SensorListener() { - - public void onSensorChanged(int sensor, float[] values) { - if (Config.LOGD) Log.d(TAG, "sensorChanged (" + values[0] + ", " + values[1] + ", " + values[2] + ")"); - mValues = values; + private final SensorEventListener mListener = new SensorEventListener() { + public void onSensorChanged(SensorEvent event) { + if (Config.LOGD) Log.d(TAG, + "sensorChanged (" + event.values[0] + ", " + event.values[1] + ", " + event.values[2] + ")"); + mValues = event.values; if (mView != null) { mView.invalidate(); } } - public void onAccuracyChanged(int sensor, int accuracy) { - // TODO Auto-generated method stub - + public void onAccuracyChanged(Sensor sensor, int accuracy) { } }; @@ -57,6 +54,7 @@ public class Compass extends GraphicsActivity { protected void onCreate(Bundle icicle) { super.onCreate(icicle); mSensorManager = (SensorManager)getSystemService(Context.SENSOR_SERVICE); + mSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION); mView = new SampleView(this); setContentView(mView); } @@ -66,9 +64,9 @@ public class Compass extends GraphicsActivity { { if (Config.LOGD) Log.d(TAG, "onResume"); super.onResume(); - mSensorManager.registerListener(mListener, - SensorManager.SENSOR_ORIENTATION, - SensorManager.SENSOR_DELAY_GAME); + + mSensorManager.registerListener(mListener, mSensor, + SensorManager.SENSOR_DELAY_GAME); } @Override diff --git a/samples/ApiDemos/src/com/example/android/apis/graphics/SensorTest.java b/samples/ApiDemos/src/com/example/android/apis/graphics/SensorTest.java index ed5b5ae61..87e0461fe 100644 --- a/samples/ApiDemos/src/com/example/android/apis/graphics/SensorTest.java +++ b/samples/ApiDemos/src/com/example/android/apis/graphics/SensorTest.java @@ -16,22 +16,21 @@ package com.example.android.apis.graphics; -import android.app.Activity; import android.content.Context; 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.os.Bundle; -import android.os.Handler; -import android.os.Message; -import android.os.SystemClock; import android.util.Config; -import android.util.Log; import android.view.View; public class SensorTest extends GraphicsActivity { + private final String TAG = "SensorTest"; - private SensorManager mSensorManager; + private SensorManager mSensorManager; + private Sensor mSensor; private SampleView mView; 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 float[] mPrev = new float[3]; - - public void onSensorChanged(int sensor, float[] values) { + private long mLastGestureTime; + + public void onSensorChanged(SensorEvent event) { boolean show = false; float[] diff = new float[3]; 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) { show = true; } - mPrev[i] = values[i]; + mPrev[i] = event.values[i]; } if (show) { // only shows if we think the delta is big enough, in an attempt // to detect "serious" moves left/right or up/down - android.util.Log.e("test", "sensorChanged " + sensor + " (" + values[0] + ", " + values[1] + ", " + values[2] + ")" - + " diff(" + diff[0] + " " + diff[1] + " " + diff[2] + ")"); + android.util.Log.e(TAG, "sensorChanged " + event.sensor.getName() + + " (" + event.values[0] + ", " + event.values[1] + ", " + + event.values[2] + ")" + " diff(" + diff[0] + + " " + diff[1] + " " + diff[2] + ")"); } long now = android.os.SystemClock.uptimeMillis(); @@ -128,12 +129,8 @@ public class SensorTest extends GraphicsActivity { } } } - - private long mLastGestureTime; - public void onAccuracyChanged(int sensor, int accuracy) { - // TODO Auto-generated method stub - + public void onAccuracyChanged(Sensor sensor, int accuracy) { } }; @@ -141,28 +138,24 @@ public class SensorTest extends GraphicsActivity { protected void onCreate(Bundle icicle) { super.onCreate(icicle); mSensorManager = (SensorManager)getSystemService(Context.SENSOR_SERVICE); + mSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER); mView = new SampleView(this); setContentView(mView); -// android.util.Log.d("skia", "create " + mSensorManager); + if (Config.LOGD) android.util.Log.d(TAG, "create " + mSensorManager); } @Override protected void onResume() { super.onResume(); - - int mask = 0; -// mask |= SensorManager.SENSOR_ORIENTATION; - mask |= SensorManager.SENSOR_ACCELEROMETER; - - mSensorManager.registerListener(mListener, mask, SensorManager.SENSOR_DELAY_FASTEST); -// android.util.Log.d("skia", "resume " + mSensorManager); + mSensorManager.registerListener(mListener, mSensor, SensorManager.SENSOR_DELAY_FASTEST); + if (Config.LOGD) android.util.Log.d(TAG, "resume " + mSensorManager); } @Override protected void onStop() { mSensorManager.unregisterListener(mListener); super.onStop(); -// android.util.Log.d("skia", "stop " + mSensorManager); + if (Config.LOGD) android.util.Log.d(TAG, "stop " + mSensorManager); } private class SampleView extends View { @@ -182,7 +175,8 @@ public class SensorTest extends GraphicsActivity { mPath.close(); } - @Override protected void onDraw(Canvas canvas) { + @Override + protected void onDraw(Canvas canvas) { Paint paint = mPaint; canvas.drawColor(Color.WHITE); @@ -216,4 +210,3 @@ public class SensorTest extends GraphicsActivity { } } } - diff --git a/samples/ApiDemos/src/com/example/android/apis/os/Sensors.java b/samples/ApiDemos/src/com/example/android/apis/os/Sensors.java index 910961d13..98632225c 100644 --- a/samples/ApiDemos/src/com/example/android/apis/os/Sensors.java +++ b/samples/ApiDemos/src/com/example/android/apis/os/Sensors.java @@ -20,9 +20,10 @@ import android.app.Activity; import android.content.Context; import android.os.Bundle; import android.view.View; +import android.hardware.Sensor; +import android.hardware.SensorEvent; +import android.hardware.SensorEventListener; import android.hardware.SensorManager; -import android.hardware.SensorListener; -import android.util.Log; import android.graphics.Bitmap; import android.graphics.Canvas; import android.graphics.Color; @@ -47,13 +48,10 @@ OS / Sensors * */ public class Sensors extends Activity { - /** Tag string for our debug logs */ - private static final String TAG = "Sensors"; - private SensorManager mSensorManager; private GraphView mGraphView; - private class GraphView extends View implements SensorListener + private class GraphView extends View implements SensorEventListener { private Bitmap mBitmap; 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]); synchronized (this) { if (mBitmap != null) { final Canvas canvas = mCanvas; final Paint paint = mPaint; - if (sensor == SensorManager.SENSOR_ORIENTATION) { + if (event.sensor.getType() == Sensor.TYPE_ORIENTATION) { for (int i=0 ; i<3 ; i++) { - mOrientationValues[i] = values[i]; + mOrientationValues[i] = event.values[i]; } } else { float deltaX = mSpeed; 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++) { 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]); canvas.drawLine(mLastX, mLastValues[k], newX, v, paint); mLastValues[k] = v; } - if (sensor == SensorManager.SENSOR_MAGNETIC_FIELD) + if (event.sensor.getType() == Sensor.TYPE_MAGNETIC_FIELD) mLastX += mSpeed; } invalidate(); @@ -202,9 +200,7 @@ public class Sensors extends Activity { } } - public void onAccuracyChanged(int sensor, int accuracy) { - // TODO Auto-generated method stub - + public void onAccuracyChanged(Sensor sensor, int accuracy) { } } @@ -226,10 +222,14 @@ public class Sensors extends Activity { @Override protected void onResume() { super.onResume(); + mSensorManager.registerListener(mGraphView, + mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), + SensorManager.SENSOR_DELAY_FASTEST); + mSensorManager.registerListener(mGraphView, + mSensorManager.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD), + SensorManager.SENSOR_DELAY_FASTEST); mSensorManager.registerListener(mGraphView, - SensorManager.SENSOR_ACCELEROMETER | - SensorManager.SENSOR_MAGNETIC_FIELD | - SensorManager.SENSOR_ORIENTATION, + mSensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION), SensorManager.SENSOR_DELAY_FASTEST); }