Auto-brightness adjustment applies a gamma correction factor between 1/3 and 3 depending on the setting. This feature is disabled for now. Change-Id: I2b300b5c455da545bea56b2bae5bc7903e30f30e
104 lines
3.9 KiB
Java
104 lines
3.9 KiB
Java
/*
|
|
* Copyright (C) 2012 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 com.android.server.power;
|
|
|
|
import android.os.PowerManager;
|
|
|
|
/**
|
|
* Describes the requested power state of the display.
|
|
*
|
|
* This object is intended to describe the general characteristics of the
|
|
* power state, such as whether the screen should be on or off and the current
|
|
* brightness controls leaving the {@link DisplayPowerController} to manage the
|
|
* details of how the transitions between states should occur. The goal is for
|
|
* the {@link PowerManagerService} to focus on the global power state and not
|
|
* have to micro-manage screen off animations, auto-brightness and other effects.
|
|
*/
|
|
final class DisplayPowerRequest {
|
|
public static final int SCREEN_STATE_OFF = 0;
|
|
public static final int SCREEN_STATE_DIM = 1;
|
|
public static final int SCREEN_STATE_BRIGHT = 2;
|
|
|
|
// The requested minimum screen power state: off, dim or bright.
|
|
public int screenState;
|
|
|
|
// If true, the proximity sensor overrides the screen state when an object is
|
|
// nearby, turning it off temporarily until the object is moved away.
|
|
public boolean useProximitySensor;
|
|
|
|
// The desired screen brightness in the range 0 (minimum / off) to 255 (brightest).
|
|
// The display power controller may choose to clamp the brightness.
|
|
// When auto-brightness is enabled, this field should specify a nominal default
|
|
// value to use while waiting for the light sensor to report enough data.
|
|
public int screenBrightness;
|
|
|
|
// The screen auto-brightness adjustment factor in the range -1 (dimmer) to 1 (brighter).
|
|
public float screenAutoBrightnessAdjustment;
|
|
|
|
// If true, enables automatic brightness control.
|
|
public boolean useAutoBrightness;
|
|
|
|
public DisplayPowerRequest() {
|
|
screenState = SCREEN_STATE_BRIGHT;
|
|
useProximitySensor = false;
|
|
screenBrightness = PowerManager.BRIGHTNESS_ON;
|
|
screenAutoBrightnessAdjustment = 0.0f;
|
|
useAutoBrightness = false;
|
|
}
|
|
|
|
public DisplayPowerRequest(DisplayPowerRequest other) {
|
|
copyFrom(other);
|
|
}
|
|
|
|
public void copyFrom(DisplayPowerRequest other) {
|
|
screenState = other.screenState;
|
|
useProximitySensor = other.useProximitySensor;
|
|
screenBrightness = other.screenBrightness;
|
|
screenAutoBrightnessAdjustment = other.screenAutoBrightnessAdjustment;
|
|
useAutoBrightness = other.useAutoBrightness;
|
|
}
|
|
|
|
@Override
|
|
public boolean equals(Object o) {
|
|
return o instanceof DisplayPowerRequest
|
|
&& equals((DisplayPowerRequest)o);
|
|
}
|
|
|
|
public boolean equals(DisplayPowerRequest other) {
|
|
return other != null
|
|
&& screenState == other.screenState
|
|
&& useProximitySensor == other.useProximitySensor
|
|
&& screenBrightness == other.screenBrightness
|
|
&& screenAutoBrightnessAdjustment == other.screenAutoBrightnessAdjustment
|
|
&& useAutoBrightness == other.useAutoBrightness;
|
|
}
|
|
|
|
@Override
|
|
public int hashCode() {
|
|
return 0; // don't care
|
|
}
|
|
|
|
@Override
|
|
public String toString() {
|
|
return "screenState=" + screenState
|
|
+ ", useProximitySensor=" + useProximitySensor
|
|
+ ", screenBrightness=" + screenBrightness
|
|
+ ", screenAutoBrightnessAdjustment=" + screenAutoBrightnessAdjustment
|
|
+ ", useAutoBrightness=" + useAutoBrightness;
|
|
}
|
|
}
|