Merge changes I116424c4,Ibd0ef67f into eclair

* changes:
  Remove obsolete hardware auto-brightness support.
  Add documentation for proximity and light sensors.
This commit is contained in:
Android (Google) Code Review
2009-11-03 12:32:04 -05:00
6 changed files with 25 additions and 61 deletions

View File

@@ -46,13 +46,21 @@ public class Sensor {
/** A constant describing a gyroscope sensor type */
public static final int TYPE_GYROSCOPE = 4;
/** A constant describing a light sensor type */
/**
* A constant describing an light sensor type.
* See {@link android.hardware.SensorEvent SensorEvent}
* for more details.
*/
public static final int TYPE_LIGHT = 5;
/** A constant describing a pressure sensor type */
public static final int TYPE_PRESSURE = 6;
/** A constant describing a temperature sensor type */
public static final int TYPE_TEMPERATURE = 7;
/** A constant describing a proximity sensor type */
/**
* A constant describing an proximity sensor type.
* See {@link android.hardware.SensorEvent SensorEvent}
* for more details.
*/
public static final int TYPE_PROXIMITY = 8;

View File

@@ -115,8 +115,19 @@ public class SensorEvent {
* <p>{@link android.hardware.Sensor#TYPE_MAGNETIC_FIELD Sensor.TYPE_MAGNETIC_FIELD}:<p>
* All values are in micro-Tesla (uT) and measure the ambient magnetic
* field in the X, Y and Z axis.
*
*/
*
* <p>{@link android.hardware.Sensor#TYPE_LIGHT Sensor.TYPE_LIGHT}:<p>
*
* <p>values[0]: Ambient light level in SI lux units
*
* <p>{@link android.hardware.Sensor#TYPE_PROXIMITY Sensor.TYPE_PROXIMITY}:<p>
*
* <p>values[0]: Proximity sensor distance measured in centimeters
*
* <p> Note that some proximity sensors only support a binary "close" or "far" measurement.
* In this case, the sensor should report its maxRange value in the "far" state and a value
* less than maxRange in the "near" state.
*/
public final float[] values;
/**

View File

@@ -71,11 +71,6 @@
the slider can be opened (for example, in a pocket or purse). -->
<bool name="config_bypass_keyguard_if_slider_open">true</bool>
<!-- Flag indicating whether the device supports automatic brightness mode in hardware.
WARNING - DO NOT USE THIS FEATURE
Hardware auto brightness support is deprecated and will be removed in the next release. -->
<bool name="config_hardware_automatic_brightness_available">false</bool>
<!-- Flag indicating whether the we should enable the automatic brightness in Settings.
Software implementation will be used if config_hardware_auto_brightness_available is not set -->
<bool name="config_automatic_brightness_available">false</bool>

View File

@@ -59,8 +59,6 @@ public class HardwareService extends IHardwareService.Stub {
private boolean mAttentionLightOn;
private boolean mPulsing;
private boolean mAutoBrightnessAvailable;
private class Vibration implements IBinder.DeathRecipient {
private final IBinder mToken;
private final long mTimeout;
@@ -131,9 +129,6 @@ public class HardwareService extends IHardwareService.Stub {
IntentFilter filter = new IntentFilter();
filter.addAction(Intent.ACTION_SCREEN_OFF);
context.registerReceiver(mIntentReceiver, filter);
mAutoBrightnessAvailable = context.getResources().getBoolean(
com.android.internal.R.bool.config_hardware_automatic_brightness_available);
}
protected void finalize() throws Throwable {
@@ -287,12 +282,6 @@ public class HardwareService extends IHardwareService.Stub {
setLight_native(mNativePointer, light, color, mode, onMS, offMS);
}
void setAutoBrightness_UNCHECKED(boolean on) {
if (mAutoBrightnessAvailable) {
setAutoBrightness_native(mNativePointer, on);
}
}
public void setAttentionLight(boolean on) {
// Not worthy of a permission. We shouldn't have a flashlight permission.
synchronized (this) {
@@ -493,7 +482,6 @@ public class HardwareService extends IHardwareService.Stub {
private static native int init_native();
private static native void finalize_native(int ptr);
private static native void setAutoBrightness_native(int ptr, boolean automatic);
private static native void setLight_native(int ptr, int light, int color, int mode,
int onMS, int offMS);

View File

@@ -218,12 +218,6 @@ class PowerManagerService extends IPowerManager.Stub
private int[] mButtonBacklightValues;
private int[] mKeyboardBacklightValues;
/*
* WARNING - DO NOT USE THE HARDWARE AUTO-BRIGHTNESS FEATURE
* Hardware auto brightness support is deprecated and will be removed in the next release.
*/
private boolean mUseHardwareAutoBrightness;
// Used when logging number and duration of touch-down cycles
private long mTotalTouchDownTime;
private long mLastTouchDown;
@@ -448,17 +442,6 @@ class PowerManagerService extends IPowerManager.Stub
// read settings for auto-brightness
mUseSoftwareAutoBrightness = resources.getBoolean(
com.android.internal.R.bool.config_automatic_brightness_available);
/*
* WARNING - DO NOT USE THE HARDWARE AUTO-BRIGHTNESS FEATURE
* Hardware auto brightness support is deprecated and will be removed in the next release.
*/
mUseHardwareAutoBrightness = resources.getBoolean(
com.android.internal.R.bool.config_hardware_automatic_brightness_available);
if (mUseHardwareAutoBrightness) {
mUseSoftwareAutoBrightness = false;
}
if (mUseSoftwareAutoBrightness) {
mAutoBrightnessLevels = resources.getIntArray(
com.android.internal.R.array.config_autoBrightnessLevels);
@@ -906,7 +889,6 @@ class PowerManagerService extends IPowerManager.Stub
pw.println(" mLightSensorEnabled=" + mLightSensorEnabled);
pw.println(" mLightSensorValue=" + mLightSensorValue);
pw.println(" mLightSensorPendingValue=" + mLightSensorPendingValue);
pw.println(" mUseHardwareAutoBrightness=" + mUseHardwareAutoBrightness);
pw.println(" mUseSoftwareAutoBrightness=" + mUseSoftwareAutoBrightness);
pw.println(" mAutoBrightessEnabled=" + mAutoBrightessEnabled);
mScreenBrightness.dump(pw, " mScreenBrightness: ");
@@ -2086,16 +2068,9 @@ class PowerManagerService extends IPowerManager.Stub
private void setScreenBrightnessMode(int mode) {
boolean enabled = (mode == SCREEN_BRIGHTNESS_MODE_AUTOMATIC);
if (mAutoBrightessEnabled != enabled) {
if (mUseSoftwareAutoBrightness && mAutoBrightessEnabled != enabled) {
mAutoBrightessEnabled = enabled;
if (mUseHardwareAutoBrightness) {
// When setting auto-brightness, must reset the brightness afterwards
mHardware.setAutoBrightness_UNCHECKED(enabled);
if (screenIsOn()) {
setBacklightBrightness((int)mScreenBrightness.curValue);
}
} else if (mUseSoftwareAutoBrightness && screenIsOn()) {
if (screenIsOn()) {
// force recompute of backlight values
if (mLightSensorValue >= 0) {
int value = (int)mLightSensorValue;

View File

@@ -100,18 +100,6 @@ static void finalize_native(JNIEnv *env, jobject clazz, int ptr)
free(devices);
}
static void setAutoBrightness_native(JNIEnv *env, jobject clazz, int ptr,
jboolean automatic)
{
Devices* devices = (Devices*)ptr;
if (devices->lights[LIGHT_INDEX_BACKLIGHT] == NULL) {
return;
}
devices->lights[LIGHT_INDEX_BACKLIGHT]->set_als_mode(automatic ? 0 : 1);
}
static void setLight_native(JNIEnv *env, jobject clazz, int ptr,
int light, int colorARGB, int flashMode, int onMS, int offMS)
{
@@ -146,7 +134,6 @@ static void vibratorOff(JNIEnv *env, jobject clazz)
static JNINativeMethod method_table[] = {
{ "init_native", "()I", (void*)init_native },
{ "finalize_native", "(I)V", (void*)finalize_native },
{ "setAutoBrightness_native", "(IZ)V", (void*)setAutoBrightness_native },
{ "setLight_native", "(IIIIII)V", (void*)setLight_native },
{ "vibratorOn", "(J)V", (void*)vibratorOn },
{ "vibratorOff", "()V", (void*)vibratorOff }