Loading core/java/android/app/SearchDialog.java +12 −0 Original line number Diff line number Diff line Loading @@ -97,6 +97,10 @@ public class SearchDialog extends Dialog implements OnItemClickListener, OnItemS // The extra key used in an intent to the speech recognizer for in-app voice search. private static final String EXTRA_CALLING_PACKAGE = "calling_package"; // The string used for privateImeOptions to identify to the IME that it should not show // a microphone button since one already exists in the search dialog. private static final String IME_OPTION_NO_MICROPHONE = "nm"; private static final int SEARCH_PLATE_LEFT_PADDING_GLOBAL = 12; private static final int SEARCH_PLATE_LEFT_PADDING_NON_GLOBAL = 7; Loading Loading @@ -543,6 +547,14 @@ public class SearchDialog extends Dialog implements OnItemClickListener, OnItemS mSearchAutoComplete.setInputType(inputType); mSearchAutoCompleteImeOptions = mSearchable.getImeOptions(); mSearchAutoComplete.setImeOptions(mSearchAutoCompleteImeOptions); // If the search dialog is going to show a voice search button, then don't let // the soft keyboard display a microphone button if it would have otherwise. if (mSearchable.getVoiceSearchEnabled()) { mSearchAutoComplete.setPrivateImeOptions(IME_OPTION_NO_MICROPHONE); } else { mSearchAutoComplete.setPrivateImeOptions(null); } } } Loading core/java/android/os/PerformanceCollector.java +63 −0 Original line number Diff line number Diff line Loading @@ -107,6 +107,36 @@ public class PerformanceCollector { * @see PerformanceCollector#stopTiming(String) */ public void writeStopTiming(Bundle results); /** * Callback invoked as last action in * {@link PerformanceCollector#addMeasurement(String, long)} for * reporting an integer type measurement. * * @param label short description of the metric that was measured * @param value long value of the measurement */ public void writeMeasurement(String label, long value); /** * Callback invoked as last action in * {@link PerformanceCollector#addMeasurement(String, float)} for * reporting a float type measurement. * * @param label short description of the metric that was measured * @param value float value of the measurement */ public void writeMeasurement(String label, float value); /** * Callback invoked as last action in * {@link PerformanceCollector#addMeasurement(String, String)} for * reporting a string field. * * @param label short description of the metric that was measured * @param value string summary of the measurement */ public void writeMeasurement(String label, String value); } /** Loading Loading @@ -385,6 +415,39 @@ public class PerformanceCollector { return mPerfMeasurement; } /** * Add an integer type measurement to the collector. * * @param label short description of the metric that was measured * @param value long value of the measurement */ public void addMeasurement(String label, long value) { if (mPerfWriter != null) mPerfWriter.writeMeasurement(label, value); } /** * Add a float type measurement to the collector. * * @param label short description of the metric that was measured * @param value float value of the measurement */ public void addMeasurement(String label, float value) { if (mPerfWriter != null) mPerfWriter.writeMeasurement(label, value); } /** * Add a string field to the collector. * * @param label short description of the metric that was measured * @param value string summary of the measurement */ public void addMeasurement(String label, String value) { if (mPerfWriter != null) mPerfWriter.writeMeasurement(label, value); } /* * Starts tracking memory usage, binder transactions, and real & cpu timing. */ Loading opengl/libagl/copybit.cpp +2 −1 Original line number Diff line number Diff line Loading @@ -423,7 +423,8 @@ static bool copybit(GLint x, GLint y, COPYBIT_ENABLE : COPYBIT_DISABLE); clipRectRegion it(c); LOGD("dst={%d, %d, %d, %p, %p}, " LOGD_IF(0, "dst={%d, %d, %d, %p, %p}, " "src={%d, %d, %d, %p, %p}, " "drect={%d,%d,%d,%d}, " "srect={%d,%d,%d,%d}, " Loading opengl/tests/linetex/linetex.cpp +4 −2 Original line number Diff line number Diff line Loading @@ -68,7 +68,7 @@ int main(int argc, char** argv) glBindTexture(GL_TEXTURE_2D, 0); glTexParameterx(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); glTexParameterx(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); glTexParameterx(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); glTexParameterx(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); glTexParameterx(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); glTexEnvx(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE); Loading @@ -77,7 +77,9 @@ int main(int argc, char** argv) glEnable(GL_TEXTURE_2D); glColor4f(1,1,1,1); const uint16_t t16[64] = { 0xFFFF, 0xF800, 0x07E0, 0x001F }; // default pack-alignment is 4 const uint16_t t16[64] = { 0xFFFF, 0, 0xF800, 0, 0x07E0, 0, 0x001F, 0 }; const GLfloat vertices[4][2] = { { w/2, 0 }, Loading services/java/com/android/server/PowerManagerService.java +58 −25 Original line number Diff line number Diff line Loading @@ -211,13 +211,19 @@ class PowerManagerService extends IPowerManager.Stub private long mScreenOnStartTime; private boolean mPreventScreenOn; private int mScreenBrightnessOverride = -1; private boolean mHasHardwareAutoBrightness; private boolean mUseSoftwareAutoBrightness; private boolean mAutoBrightessEnabled; private int[] mAutoBrightnessLevels; private int[] mLcdBacklightValues; 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; Loading Loading @@ -438,9 +444,22 @@ class PowerManagerService extends IPowerManager.Stub mScreenOffIntent.addFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY); Resources resources = mContext.getResources(); mHasHardwareAutoBrightness = resources.getBoolean( // 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 (!mHasHardwareAutoBrightness) { if (mUseHardwareAutoBrightness) { mUseSoftwareAutoBrightness = false; } if (mUseSoftwareAutoBrightness) { mAutoBrightnessLevels = resources.getIntArray( com.android.internal.R.array.config_autoBrightnessLevels); mLcdBacklightValues = resources.getIntArray( Loading Loading @@ -479,7 +498,7 @@ class PowerManagerService extends IPowerManager.Stub // And explicitly do the initial update of our cached settings updateGservicesValues(); if (mAutoBrightessEnabled && !mHasHardwareAutoBrightness) { if (mUseSoftwareAutoBrightness) { // turn the screen on setPowerState(SCREEN_BRIGHT); } else { Loading Loading @@ -581,7 +600,7 @@ class PowerManagerService extends IPowerManager.Stub switch (wl.flags & LOCK_MASK) { case PowerManager.FULL_WAKE_LOCK: if (mAutoBrightessEnabled && !mHasHardwareAutoBrightness) { if (mUseSoftwareAutoBrightness) { wl.minState = SCREEN_BRIGHT; } else { wl.minState = (mKeyboardVisible ? ALL_BRIGHT : SCREEN_BUTTON_BRIGHT); Loading Loading @@ -887,7 +906,8 @@ class PowerManagerService extends IPowerManager.Stub pw.println(" mLightSensorEnabled=" + mLightSensorEnabled); pw.println(" mLightSensorValue=" + mLightSensorValue); pw.println(" mLightSensorPendingValue=" + mLightSensorPendingValue); pw.println(" mHasHardwareAutoBrightness=" + mHasHardwareAutoBrightness); pw.println(" mUseHardwareAutoBrightness=" + mUseHardwareAutoBrightness); pw.println(" mUseSoftwareAutoBrightness=" + mUseSoftwareAutoBrightness); pw.println(" mAutoBrightessEnabled=" + mAutoBrightessEnabled); mScreenBrightness.dump(pw, " mScreenBrightness: "); mKeyboardBrightness.dump(pw, " mKeyboardBrightness: "); Loading Loading @@ -1290,8 +1310,8 @@ class PowerManagerService extends IPowerManager.Stub private int setScreenStateLocked(boolean on) { int err = Power.setScreenState(on); if (err == 0 && !mHasHardwareAutoBrightness) { enableLightSensor(on && mAutoBrightessEnabled); if (err == 0 && mUseSoftwareAutoBrightness) { enableLightSensor(on); if (!on) { // make sure button and key backlights are off too mHardware.setLightBrightness_UNCHECKED(HardwareService.LIGHT_ID_BUTTONS, 0); Loading Loading @@ -1337,7 +1357,7 @@ class PowerManagerService extends IPowerManager.Stub return; } if (!mDoneBooting && !(mAutoBrightessEnabled && !mHasHardwareAutoBrightness)) { if (!mDoneBooting && !mUseSoftwareAutoBrightness) { newState |= ALL_BRIGHT; } Loading Loading @@ -1758,7 +1778,7 @@ class PowerManagerService extends IPowerManager.Stub try { if (mScreenBrightnessOverride >= 0) { return mScreenBrightnessOverride; } else if (mLightSensorBrightness >= 0 && !mHasHardwareAutoBrightness) { } else if (mLightSensorBrightness >= 0 && mUseSoftwareAutoBrightness) { return mLightSensorBrightness; } final int brightness = Settings.System.getInt(mContext.getContentResolver(), Loading Loading @@ -1849,8 +1869,7 @@ class PowerManagerService extends IPowerManager.Stub if ((mUserActivityAllowed && !mProximitySensorActive) || force) { // Only turn on button backlights if a button was pressed // and auto brightness is disabled if (eventType == BUTTON_EVENT && !(mAutoBrightessEnabled && !mHasHardwareAutoBrightness)) { if (eventType == BUTTON_EVENT && !mUseSoftwareAutoBrightness) { mUserState = (mKeyboardVisible ? ALL_BRIGHT : SCREEN_BUTTON_BRIGHT); } else { // don't clear button/keyboard backlights when the screen is touched. Loading Loading @@ -1908,14 +1927,17 @@ class PowerManagerService extends IPowerManager.Stub Log.d(TAG, "lightSensorChangedLocked " + value); } if (mHasHardwareAutoBrightness) return; if (mLightSensorValue != value) { mLightSensorValue = value; if ((mPowerState & BATTERY_LOW_BIT) == 0) { int lcdValue = getAutoBrightnessValue(value, mLcdBacklightValues); int buttonValue = getAutoBrightnessValue(value, mButtonBacklightValues); int keyboardValue = getAutoBrightnessValue(value, mKeyboardBacklightValues); int keyboardValue; if (mKeyboardVisible) { keyboardValue = getAutoBrightnessValue(value, mKeyboardBacklightValues); } else { keyboardValue = 0; } mLightSensorBrightness = lcdValue; if (mDebugLightSensor) { Loading @@ -1925,7 +1947,7 @@ class PowerManagerService extends IPowerManager.Stub } boolean startAnimation = false; if (mScreenBrightnessOverride < 0) { if (mAutoBrightessEnabled && mScreenBrightnessOverride < 0) { if (ANIMATE_SCREEN_LIGHTS) { if (mScreenBrightness.setTargetLocked(lcdValue, AUTOBRIGHTNESS_ANIM_STEPS, INITIAL_SCREEN_BRIGHTNESS, Loading Loading @@ -2037,6 +2059,14 @@ class PowerManagerService extends IPowerManager.Stub // will take care of turning on due to a true change to the lid // switch and synchronized with the lock screen. if ((mPowerState & SCREEN_ON_BIT) != 0) { if (mUseSoftwareAutoBrightness) { // force recompute of backlight values if (mLightSensorValue >= 0) { int value = (int)mLightSensorValue; mLightSensorValue = -1; lightSensorChangedLocked(value); } } userActivity(SystemClock.uptimeMillis(), false, BUTTON_EVENT, true); } } Loading @@ -2057,18 +2087,20 @@ class PowerManagerService extends IPowerManager.Stub boolean enabled = (mode == SCREEN_BRIGHTNESS_MODE_AUTOMATIC); if (mAutoBrightessEnabled != enabled) { mAutoBrightessEnabled = enabled; // reset computed brightness mLightSensorValue = -1; mLightSensorBrightness = -1; if (mHasHardwareAutoBrightness) { if (mUseHardwareAutoBrightness) { // When setting auto-brightness, must reset the brightness afterwards mHardware.setAutoBrightness_UNCHECKED(enabled); if (screenIsOn()) { setBacklightBrightness((int)mScreenBrightness.curValue); } } else { enableLightSensor(screenIsOn() && enabled); } else if (mUseSoftwareAutoBrightness && screenIsOn()) { // force recompute of backlight values if (mLightSensorValue >= 0) { int value = (int)mLightSensorValue; mLightSensorValue = -1; lightSensorChangedLocked(value); } } } } Loading Loading @@ -2222,9 +2254,9 @@ class PowerManagerService extends IPowerManager.Stub mSensorManager = new SensorManager(mHandlerThread.getLooper()); mProximitySensor = mSensorManager.getDefaultSensor(Sensor.TYPE_PROXIMITY); // don't bother with the light sensor if auto brightness is handled in hardware if (!mHasHardwareAutoBrightness) { if (mUseSoftwareAutoBrightness) { mLightSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_LIGHT); enableLightSensor(mAutoBrightessEnabled); enableLightSensor(true); } synchronized (mLocks) { Loading Loading @@ -2266,7 +2298,8 @@ class PowerManagerService extends IPowerManager.Stub // Don't let applications turn the screen all the way off brightness = Math.max(brightness, Power.BRIGHTNESS_DIM); mHardware.setLightBrightness_UNCHECKED(HardwareService.LIGHT_ID_BACKLIGHT, brightness); mHardware.setLightBrightness_UNCHECKED(HardwareService.LIGHT_ID_KEYBOARD, brightness); mHardware.setLightBrightness_UNCHECKED(HardwareService.LIGHT_ID_KEYBOARD, (mKeyboardVisible ? brightness : 0)); mHardware.setLightBrightness_UNCHECKED(HardwareService.LIGHT_ID_BUTTONS, brightness); long identity = Binder.clearCallingIdentity(); try { Loading Loading
core/java/android/app/SearchDialog.java +12 −0 Original line number Diff line number Diff line Loading @@ -97,6 +97,10 @@ public class SearchDialog extends Dialog implements OnItemClickListener, OnItemS // The extra key used in an intent to the speech recognizer for in-app voice search. private static final String EXTRA_CALLING_PACKAGE = "calling_package"; // The string used for privateImeOptions to identify to the IME that it should not show // a microphone button since one already exists in the search dialog. private static final String IME_OPTION_NO_MICROPHONE = "nm"; private static final int SEARCH_PLATE_LEFT_PADDING_GLOBAL = 12; private static final int SEARCH_PLATE_LEFT_PADDING_NON_GLOBAL = 7; Loading Loading @@ -543,6 +547,14 @@ public class SearchDialog extends Dialog implements OnItemClickListener, OnItemS mSearchAutoComplete.setInputType(inputType); mSearchAutoCompleteImeOptions = mSearchable.getImeOptions(); mSearchAutoComplete.setImeOptions(mSearchAutoCompleteImeOptions); // If the search dialog is going to show a voice search button, then don't let // the soft keyboard display a microphone button if it would have otherwise. if (mSearchable.getVoiceSearchEnabled()) { mSearchAutoComplete.setPrivateImeOptions(IME_OPTION_NO_MICROPHONE); } else { mSearchAutoComplete.setPrivateImeOptions(null); } } } Loading
core/java/android/os/PerformanceCollector.java +63 −0 Original line number Diff line number Diff line Loading @@ -107,6 +107,36 @@ public class PerformanceCollector { * @see PerformanceCollector#stopTiming(String) */ public void writeStopTiming(Bundle results); /** * Callback invoked as last action in * {@link PerformanceCollector#addMeasurement(String, long)} for * reporting an integer type measurement. * * @param label short description of the metric that was measured * @param value long value of the measurement */ public void writeMeasurement(String label, long value); /** * Callback invoked as last action in * {@link PerformanceCollector#addMeasurement(String, float)} for * reporting a float type measurement. * * @param label short description of the metric that was measured * @param value float value of the measurement */ public void writeMeasurement(String label, float value); /** * Callback invoked as last action in * {@link PerformanceCollector#addMeasurement(String, String)} for * reporting a string field. * * @param label short description of the metric that was measured * @param value string summary of the measurement */ public void writeMeasurement(String label, String value); } /** Loading Loading @@ -385,6 +415,39 @@ public class PerformanceCollector { return mPerfMeasurement; } /** * Add an integer type measurement to the collector. * * @param label short description of the metric that was measured * @param value long value of the measurement */ public void addMeasurement(String label, long value) { if (mPerfWriter != null) mPerfWriter.writeMeasurement(label, value); } /** * Add a float type measurement to the collector. * * @param label short description of the metric that was measured * @param value float value of the measurement */ public void addMeasurement(String label, float value) { if (mPerfWriter != null) mPerfWriter.writeMeasurement(label, value); } /** * Add a string field to the collector. * * @param label short description of the metric that was measured * @param value string summary of the measurement */ public void addMeasurement(String label, String value) { if (mPerfWriter != null) mPerfWriter.writeMeasurement(label, value); } /* * Starts tracking memory usage, binder transactions, and real & cpu timing. */ Loading
opengl/libagl/copybit.cpp +2 −1 Original line number Diff line number Diff line Loading @@ -423,7 +423,8 @@ static bool copybit(GLint x, GLint y, COPYBIT_ENABLE : COPYBIT_DISABLE); clipRectRegion it(c); LOGD("dst={%d, %d, %d, %p, %p}, " LOGD_IF(0, "dst={%d, %d, %d, %p, %p}, " "src={%d, %d, %d, %p, %p}, " "drect={%d,%d,%d,%d}, " "srect={%d,%d,%d,%d}, " Loading
opengl/tests/linetex/linetex.cpp +4 −2 Original line number Diff line number Diff line Loading @@ -68,7 +68,7 @@ int main(int argc, char** argv) glBindTexture(GL_TEXTURE_2D, 0); glTexParameterx(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); glTexParameterx(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); glTexParameterx(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); glTexParameterx(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); glTexParameterx(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); glTexEnvx(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE); Loading @@ -77,7 +77,9 @@ int main(int argc, char** argv) glEnable(GL_TEXTURE_2D); glColor4f(1,1,1,1); const uint16_t t16[64] = { 0xFFFF, 0xF800, 0x07E0, 0x001F }; // default pack-alignment is 4 const uint16_t t16[64] = { 0xFFFF, 0, 0xF800, 0, 0x07E0, 0, 0x001F, 0 }; const GLfloat vertices[4][2] = { { w/2, 0 }, Loading
services/java/com/android/server/PowerManagerService.java +58 −25 Original line number Diff line number Diff line Loading @@ -211,13 +211,19 @@ class PowerManagerService extends IPowerManager.Stub private long mScreenOnStartTime; private boolean mPreventScreenOn; private int mScreenBrightnessOverride = -1; private boolean mHasHardwareAutoBrightness; private boolean mUseSoftwareAutoBrightness; private boolean mAutoBrightessEnabled; private int[] mAutoBrightnessLevels; private int[] mLcdBacklightValues; 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; Loading Loading @@ -438,9 +444,22 @@ class PowerManagerService extends IPowerManager.Stub mScreenOffIntent.addFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY); Resources resources = mContext.getResources(); mHasHardwareAutoBrightness = resources.getBoolean( // 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 (!mHasHardwareAutoBrightness) { if (mUseHardwareAutoBrightness) { mUseSoftwareAutoBrightness = false; } if (mUseSoftwareAutoBrightness) { mAutoBrightnessLevels = resources.getIntArray( com.android.internal.R.array.config_autoBrightnessLevels); mLcdBacklightValues = resources.getIntArray( Loading Loading @@ -479,7 +498,7 @@ class PowerManagerService extends IPowerManager.Stub // And explicitly do the initial update of our cached settings updateGservicesValues(); if (mAutoBrightessEnabled && !mHasHardwareAutoBrightness) { if (mUseSoftwareAutoBrightness) { // turn the screen on setPowerState(SCREEN_BRIGHT); } else { Loading Loading @@ -581,7 +600,7 @@ class PowerManagerService extends IPowerManager.Stub switch (wl.flags & LOCK_MASK) { case PowerManager.FULL_WAKE_LOCK: if (mAutoBrightessEnabled && !mHasHardwareAutoBrightness) { if (mUseSoftwareAutoBrightness) { wl.minState = SCREEN_BRIGHT; } else { wl.minState = (mKeyboardVisible ? ALL_BRIGHT : SCREEN_BUTTON_BRIGHT); Loading Loading @@ -887,7 +906,8 @@ class PowerManagerService extends IPowerManager.Stub pw.println(" mLightSensorEnabled=" + mLightSensorEnabled); pw.println(" mLightSensorValue=" + mLightSensorValue); pw.println(" mLightSensorPendingValue=" + mLightSensorPendingValue); pw.println(" mHasHardwareAutoBrightness=" + mHasHardwareAutoBrightness); pw.println(" mUseHardwareAutoBrightness=" + mUseHardwareAutoBrightness); pw.println(" mUseSoftwareAutoBrightness=" + mUseSoftwareAutoBrightness); pw.println(" mAutoBrightessEnabled=" + mAutoBrightessEnabled); mScreenBrightness.dump(pw, " mScreenBrightness: "); mKeyboardBrightness.dump(pw, " mKeyboardBrightness: "); Loading Loading @@ -1290,8 +1310,8 @@ class PowerManagerService extends IPowerManager.Stub private int setScreenStateLocked(boolean on) { int err = Power.setScreenState(on); if (err == 0 && !mHasHardwareAutoBrightness) { enableLightSensor(on && mAutoBrightessEnabled); if (err == 0 && mUseSoftwareAutoBrightness) { enableLightSensor(on); if (!on) { // make sure button and key backlights are off too mHardware.setLightBrightness_UNCHECKED(HardwareService.LIGHT_ID_BUTTONS, 0); Loading Loading @@ -1337,7 +1357,7 @@ class PowerManagerService extends IPowerManager.Stub return; } if (!mDoneBooting && !(mAutoBrightessEnabled && !mHasHardwareAutoBrightness)) { if (!mDoneBooting && !mUseSoftwareAutoBrightness) { newState |= ALL_BRIGHT; } Loading Loading @@ -1758,7 +1778,7 @@ class PowerManagerService extends IPowerManager.Stub try { if (mScreenBrightnessOverride >= 0) { return mScreenBrightnessOverride; } else if (mLightSensorBrightness >= 0 && !mHasHardwareAutoBrightness) { } else if (mLightSensorBrightness >= 0 && mUseSoftwareAutoBrightness) { return mLightSensorBrightness; } final int brightness = Settings.System.getInt(mContext.getContentResolver(), Loading Loading @@ -1849,8 +1869,7 @@ class PowerManagerService extends IPowerManager.Stub if ((mUserActivityAllowed && !mProximitySensorActive) || force) { // Only turn on button backlights if a button was pressed // and auto brightness is disabled if (eventType == BUTTON_EVENT && !(mAutoBrightessEnabled && !mHasHardwareAutoBrightness)) { if (eventType == BUTTON_EVENT && !mUseSoftwareAutoBrightness) { mUserState = (mKeyboardVisible ? ALL_BRIGHT : SCREEN_BUTTON_BRIGHT); } else { // don't clear button/keyboard backlights when the screen is touched. Loading Loading @@ -1908,14 +1927,17 @@ class PowerManagerService extends IPowerManager.Stub Log.d(TAG, "lightSensorChangedLocked " + value); } if (mHasHardwareAutoBrightness) return; if (mLightSensorValue != value) { mLightSensorValue = value; if ((mPowerState & BATTERY_LOW_BIT) == 0) { int lcdValue = getAutoBrightnessValue(value, mLcdBacklightValues); int buttonValue = getAutoBrightnessValue(value, mButtonBacklightValues); int keyboardValue = getAutoBrightnessValue(value, mKeyboardBacklightValues); int keyboardValue; if (mKeyboardVisible) { keyboardValue = getAutoBrightnessValue(value, mKeyboardBacklightValues); } else { keyboardValue = 0; } mLightSensorBrightness = lcdValue; if (mDebugLightSensor) { Loading @@ -1925,7 +1947,7 @@ class PowerManagerService extends IPowerManager.Stub } boolean startAnimation = false; if (mScreenBrightnessOverride < 0) { if (mAutoBrightessEnabled && mScreenBrightnessOverride < 0) { if (ANIMATE_SCREEN_LIGHTS) { if (mScreenBrightness.setTargetLocked(lcdValue, AUTOBRIGHTNESS_ANIM_STEPS, INITIAL_SCREEN_BRIGHTNESS, Loading Loading @@ -2037,6 +2059,14 @@ class PowerManagerService extends IPowerManager.Stub // will take care of turning on due to a true change to the lid // switch and synchronized with the lock screen. if ((mPowerState & SCREEN_ON_BIT) != 0) { if (mUseSoftwareAutoBrightness) { // force recompute of backlight values if (mLightSensorValue >= 0) { int value = (int)mLightSensorValue; mLightSensorValue = -1; lightSensorChangedLocked(value); } } userActivity(SystemClock.uptimeMillis(), false, BUTTON_EVENT, true); } } Loading @@ -2057,18 +2087,20 @@ class PowerManagerService extends IPowerManager.Stub boolean enabled = (mode == SCREEN_BRIGHTNESS_MODE_AUTOMATIC); if (mAutoBrightessEnabled != enabled) { mAutoBrightessEnabled = enabled; // reset computed brightness mLightSensorValue = -1; mLightSensorBrightness = -1; if (mHasHardwareAutoBrightness) { if (mUseHardwareAutoBrightness) { // When setting auto-brightness, must reset the brightness afterwards mHardware.setAutoBrightness_UNCHECKED(enabled); if (screenIsOn()) { setBacklightBrightness((int)mScreenBrightness.curValue); } } else { enableLightSensor(screenIsOn() && enabled); } else if (mUseSoftwareAutoBrightness && screenIsOn()) { // force recompute of backlight values if (mLightSensorValue >= 0) { int value = (int)mLightSensorValue; mLightSensorValue = -1; lightSensorChangedLocked(value); } } } } Loading Loading @@ -2222,9 +2254,9 @@ class PowerManagerService extends IPowerManager.Stub mSensorManager = new SensorManager(mHandlerThread.getLooper()); mProximitySensor = mSensorManager.getDefaultSensor(Sensor.TYPE_PROXIMITY); // don't bother with the light sensor if auto brightness is handled in hardware if (!mHasHardwareAutoBrightness) { if (mUseSoftwareAutoBrightness) { mLightSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_LIGHT); enableLightSensor(mAutoBrightessEnabled); enableLightSensor(true); } synchronized (mLocks) { Loading Loading @@ -2266,7 +2298,8 @@ class PowerManagerService extends IPowerManager.Stub // Don't let applications turn the screen all the way off brightness = Math.max(brightness, Power.BRIGHTNESS_DIM); mHardware.setLightBrightness_UNCHECKED(HardwareService.LIGHT_ID_BACKLIGHT, brightness); mHardware.setLightBrightness_UNCHECKED(HardwareService.LIGHT_ID_KEYBOARD, brightness); mHardware.setLightBrightness_UNCHECKED(HardwareService.LIGHT_ID_KEYBOARD, (mKeyboardVisible ? brightness : 0)); mHardware.setLightBrightness_UNCHECKED(HardwareService.LIGHT_ID_BUTTONS, brightness); long identity = Binder.clearCallingIdentity(); try { Loading