| /* |
| * Copyright (C) 2008 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 android.view; |
| |
| import android.content.Context; |
| import android.hardware.SensorListener; |
| |
| /** |
| * Helper class for receiving notifications from the SensorManager when |
| * the orientation of the device has changed. |
| * @deprecated use {@link android.view.OrientationEventListener} instead. |
| * This class internally uses the OrientationEventListener. |
| */ |
| @Deprecated |
| public abstract class OrientationListener implements SensorListener { |
| private OrientationEventListener mOrientationEventLis; |
| |
| /** |
| * Returned from onOrientationChanged when the device orientation cannot be determined |
| * (typically when the device is in a close to flat position). |
| * |
| * @see #onOrientationChanged |
| */ |
| public static final int ORIENTATION_UNKNOWN = OrientationEventListener.ORIENTATION_UNKNOWN; |
| |
| /** |
| * Creates a new OrientationListener. |
| * |
| * @param context for the OrientationListener. |
| */ |
| public OrientationListener(Context context) { |
| mOrientationEventLis = new OrientationEventListenerInternal(context); |
| } |
| |
| /** |
| * Creates a new OrientationListener. |
| * |
| * @param context for the OrientationListener. |
| * @param rate at which sensor events are processed (see also |
| * {@link android.hardware.SensorManager SensorManager}). Use the default |
| * value of {@link android.hardware.SensorManager#SENSOR_DELAY_NORMAL |
| * SENSOR_DELAY_NORMAL} for simple screen orientation change detection. |
| */ |
| public OrientationListener(Context context, int rate) { |
| mOrientationEventLis = new OrientationEventListenerInternal(context, rate); |
| } |
| |
| class OrientationEventListenerInternal extends OrientationEventListener { |
| OrientationEventListenerInternal(Context context) { |
| super(context); |
| } |
| |
| OrientationEventListenerInternal(Context context, int rate) { |
| super(context, rate); |
| // register so that onSensorChanged gets invoked |
| registerListener(OrientationListener.this); |
| } |
| |
| public void onOrientationChanged(int orientation) { |
| OrientationListener.this.onOrientationChanged(orientation); |
| } |
| } |
| |
| /** |
| * Enables the OrientationListener so it will monitor the sensor and call |
| * {@link #onOrientationChanged} when the device orientation changes. |
| */ |
| public void enable() { |
| mOrientationEventLis.enable(); |
| } |
| |
| /** |
| * Disables the OrientationListener. |
| */ |
| public void disable() { |
| mOrientationEventLis.disable(); |
| } |
| |
| public void onAccuracyChanged(int sensor, int accuracy) { |
| } |
| |
| public void onSensorChanged(int sensor, float[] values) { |
| // just ignore the call here onOrientationChanged is invoked anyway |
| } |
| |
| |
| /** |
| * Look at {@link android.view.OrientationEventListener#onOrientationChanged} |
| * for method description and usage |
| * @param orientation The new orientation of the device. |
| * |
| * @see #ORIENTATION_UNKNOWN |
| */ |
| abstract public void onOrientationChanged(int orientation); |
| |
| } |