andriod 13 最低亮度

frameworks/base/packages/SystemUI/src/com/android/systemui/settings/brightness/BrightnessController.java

private final Runnable mUpdateSliderRunnable = new Runnable() {
        @Override
        public void run() {
            final boolean inVrMode = mIsVrModeEnabled;
            final BrightnessInfo info = mContext.getDisplay().getBrightnessInfo();
            if (info == null) {
                return;
            }
            mBrightnessMax = info.brightnessMaximum;
            mBrightnessMin = info.brightnessMinimum;

            // Value is passed as intbits, since this is what the message takes.
            final int valueAsIntBits = Float.floatToIntBits(info.brightness);
            mHandler.obtainMessage(MSG_UPDATE_SLIDER, valueAsIntBits,
                    inVrMode ? 1 : 0).sendToTarget();
        }
    };

mBrightnessMin = info.brightnessMinimum; 设置最小亮度的的值是从 BrightnessInfo 里获取的 ,但是 里面的 brightnessMinimum 属性是在哪赋值的我实在找不到了。

在上述代码中,可以看到最小亮度值的获取和设置是在mUpdateSliderRunnable这个Runnable对象的run()方法中完成的。具体来说,在run()方法中,通过调用mContext.getDisplay().getBrightnessInfo()方法获取BrightnessInfo对象。如果获取成功,就可以通过info.brightnessMinimum获取到最小亮度值。然后将该值赋值给mBrightnessMin即可。具体的代码如下:

final BrightnessInfo info = mContext.getDisplay().getBrightnessInfo();
if (info == null) {
    return;
}
mBrightnessMin = info.brightnessMinimum;