系统亮度修改为线性亮度
Android9修改方式
diff --git a/ap/frameworks/base/core/res/res/values/config.xml b/ap/frameworks/base/core/res/res/values/config.xml
old mode 100644
new mode 100755
index 3536b37..a254534
--- a/ap/frameworks/base/core/res/res/values/config.xml
+++ b/ap/frameworks/base/core/res/res/values/config.xml
@@ -1232,7 +1232,8 @@
<!-- Minimum screen brightness setting allowed by the power manager.
The user is forbidden from setting the brightness below this level. -->
- <integer name="config_screenBrightnessSettingMinimum">10</integer>
+ <!-- hqingbin 2023.7.18 Change to Line brightness (Brightness is 50% by default) -->
+ <integer name="config_screenBrightnessSettingMinimum">1</integer>
<!-- Maximum screen brightness allowed by the power manager.
The user is forbidden from setting the brightness above this level. -->
diff --git a/ap/vendor/mediatek/proprietary/packages/apps/MtkSettings/src/com/android/settings/display/BrightnessLevelPreferenceController.java b/ap/vendor/mediatek/proprietary/packages/apps/MtkSettings/src/com/android/settings/display/BrightnessLevelPreferenceController.java
old mode 100644
new mode 100755
index 4bb0a99..0cf022d
--- a/ap/vendor/mediatek/proprietary/packages/apps/MtkSettings/src/com/android/settings/display/BrightnessLevelPreferenceController.java
+++ b/ap/vendor/mediatek/proprietary/packages/apps/MtkSettings/src/com/android/settings/display/BrightnessLevelPreferenceController.java
@@ -32,7 +32,7 @@ import android.support.annotation.VisibleForTesting;
import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceScreen;
import android.util.Log;
-
+import android.util.MathUtils;//hqingbin 2023.7.18 Change to Line brightness (Brightness is 50% by default) behin
import com.android.settings.core.PreferenceControllerMixin;
import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.Lifecycle;
@@ -128,11 +128,11 @@ public class BrightnessLevelPreferenceController extends AbstractPreferenceContr
private double getCurrentBrightness() {
final int value;
if (isInVrMode()) {
- value = convertLinearToGamma(System.getInt(mContentResolver,
+ value = convertLinearToGammaExt(System.getInt(mContentResolver,
System.SCREEN_BRIGHTNESS_FOR_VR, mMaxBrightness),
mMinVrBrightness, mMaxVrBrightness);
} else {
- value = convertLinearToGamma(Settings.System.getInt(mContentResolver,
+ value = convertLinearToGammaExt(Settings.System.getInt(mContentResolver,
System.SCREEN_BRIGHTNESS, mMinBrightness),
mMinBrightness, mMaxBrightness);
@@ -160,4 +160,11 @@ public class BrightnessLevelPreferenceController extends AbstractPreferenceContr
}
return false;
}
+ //hqingbin 2023.7.18 Change to Line brightness (Brightness is 50% by default) behin
+ private final int convertLinearToGammaExt(int val, int min, int max) {
+ // For some reason, HLG normalizes to the range [0, 12] rather than [0, 1]
+ final float normalizedVal = MathUtils.norm(0, max, val);
+ return (int) (normalizedVal*GAMMA_SPACE_MAX);
+ }
+ //hqingbin 2023.7.18 Change to Line brightness (Brightness is 50% by default) end
}
diff --git a/ap/vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/settings/BrightnessController.java b/ap/vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/settings/BrightnessController.java
old mode 100644
new mode 100755
index be0aa11..25ea5c9
--- a/ap/vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/settings/BrightnessController.java
+++ b/ap/vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/settings/BrightnessController.java
@@ -19,7 +19,7 @@ package com.android.systemui.settings;
import static com.android.settingslib.display.BrightnessUtils.GAMMA_SPACE_MAX;
import static com.android.settingslib.display.BrightnessUtils.convertGammaToLinear;
import static com.android.settingslib.display.BrightnessUtils.convertLinearToGamma;
-
+import android.util.MathUtils;
import android.animation.ValueAnimator;
import android.content.ContentResolver;
import android.content.Context;
@@ -373,7 +373,7 @@ public class BrightnessController implements ToggleSlider.Listener {
setting = Settings.System.SCREEN_BRIGHTNESS;
}
- final int val = convertGammaToLinear(value, min, max);
+ final int val = convertGammaToLinearExt(value, min, max);
if (stopTracking) {
MetricsLogger.action(mContext, metric, val);
@@ -445,7 +445,7 @@ public class BrightnessController implements ToggleSlider.Listener {
min = mMinimumBacklight;
max = mMaximumBacklight;
}
- if (val == convertGammaToLinear(mControl.getValue(), min, max)) {
+ if (val == convertGammaToLinearExt(mControl.getValue(), min, max)) {
// If we have more resolution on the slider than we do in the actual setting, then
// multiple slider positions will map to the same setting value. Thus, if we see a
// setting value here that maps to the current slider position, we don't bother to
@@ -453,7 +453,7 @@ public class BrightnessController implements ToggleSlider.Listener {
// change to the user even though it isn't one.
return;
}
- final int sliderVal = convertLinearToGamma(val, min, max);
+ final int sliderVal = convertLinearToGammaExt(val, min, max);
animateSliderTo(sliderVal);
}
@@ -475,5 +475,18 @@ public class BrightnessController implements ToggleSlider.Listener {
mSliderAnimator.setDuration(SLIDER_ANIMATION_DURATION);
mSliderAnimator.start();
}
+//hqingbin 2023.7.18 Change to Line brightness (Brightness is 50% by default) behin
+private final int convertGammaToLinearExt(int val, int min, int max) {
+ final float normalizedVal = MathUtils.norm(0, GAMMA_SPACE_MAX, val);
+ int value = (int) (normalizedVal*max);
+ return value>0? value : 1;
+ }
+ private final int convertLinearToGammaExt(int val, int min, int max) {
+ // For some reason, HLG normalizes to the range [0, 12] rather than [0, 1]
+ final float normalizedVal = MathUtils.norm(0, max, val);
+ return (int) (normalizedVal*GAMMA_SPACE_MAX);
+ }
+//hqingbin 2023.7.18 Change to Line brightness (Brightness is 50% by default) end
+
}
Android11修改方式
--- a/frameworks/base/packages/SettingsLib/src/com/android/settingslib/display/BrightnessUtils.java
+++ b/frameworks/base/packages/SettingsLib/src/com/android/settingslib/display/BrightnessUtils.java
@@ -76,7 +76,7 @@ public class BrightnessUtils {
*/
public static final float convertGammaToLinearFloat(int val, float min, float max) {
final float normalizedVal = MathUtils.norm(GAMMA_SPACE_MIN, GAMMA_SPACE_MAX, val);
- final float ret;
+ /*ybf final float ret;
if (normalizedVal <= R) {
ret = MathUtils.sq(normalizedVal / R);
} else {
@@ -86,10 +86,10 @@ public class BrightnessUtils {
// HLG is normalized to the range [0, 12], ensure that value is within that range,
// it shouldn't be out of bounds.
final float normalizedRet = MathUtils.constrain(ret, 0, 12);
-
+*/
// Re-normalize to the range [0, 1]
// in order to derive the correct setting value.
- return MathUtils.lerp(min, max, normalizedRet / 12);
+ return MathUtils.lerp(min, max, normalizedVal);
}
/**
@@ -128,14 +128,13 @@ public class BrightnessUtils {
*/
public static final int convertLinearToGammaFloat(float val, float min, float max) {
// For some reason, HLG normalizes to the range [0, 12] rather than [0, 1]
- final float normalizedVal = MathUtils.norm(min, max, val) * 12;
- final float ret;
+ final float normalizedVal = MathUtils.norm(min, max, val) ;
+ /* ybf final float ret;
if (normalizedVal <= 1f) {
ret = MathUtils.sqrt(normalizedVal) * R;
} else {
ret = A * MathUtils.log(normalizedVal - B) + C;
- }
-
- return Math.round(MathUtils.lerp(GAMMA_SPACE_MIN, GAMMA_SPACE_MAX, ret));
+ }*/
+ return Math.round(MathUtils.lerp(GAMMA_SPACE_MIN, GAMMA_SPACE_MAX, normalizedVal));
}
}
Android13修改方式
亮度修改为线性
diff --git a/alps-mp-t0/frameworks/base/packages/SettingsLib/src/com/android/settingslib/display/BrightnessUtils.java b/alps-mp-t0/frameworks/base/packages/SettingsLib/src/com/android/settingslib/display/BrightnessUtils.java
old mode 100644
new mode 100755
index 4f86afa..8d81973
--- a/alps-mp-t0/frameworks/base/packages/SettingsLib/src/com/android/settingslib/display/BrightnessUtils.java
+++ b/alps-mp-t0/frameworks/base/packages/SettingsLib/src/com/android/settingslib/display/BrightnessUtils.java
@@ -22,6 +22,7 @@ public class BrightnessUtils {
public static final int GAMMA_SPACE_MIN = 0;
public static final int GAMMA_SPACE_MAX = 65535;
+ public static final boolean ENABLE_GAMMA = false;
// Hybrid Log Gamma constant values
private static final float R = 0.5f;
@@ -75,6 +76,10 @@ public class BrightnessUtils {
* @return The corresponding setting value.
*/
public static final float convertGammaToLinearFloat(int val, float min, float max) {
+ if(!ENABLE_GAMMA){
+ float ratio = (float)val / GAMMA_SPACE_MAX;
+ return min + (float)(ratio * (max - min));
+ }
final float normalizedVal = MathUtils.norm(GAMMA_SPACE_MIN, GAMMA_SPACE_MAX, val);
final float ret;
if (normalizedVal <= R) {
@@ -128,6 +133,10 @@ public class BrightnessUtils {
*/
public static final int convertLinearToGammaFloat(float val, float min, float max) {
// For some reason, HLG normalizes to the range [0, 12] rather than [0, 1]
+ if(!ENABLE_GAMMA){
+ float ratio = (float)(val - min)/ (max - min);
+ return (int)(ratio * GAMMA_SPACE_MAX);
+ }
final float normalizedVal = MathUtils.norm(min, max, val) * 12;
final float ret;
if (normalizedVal <= 1f) {
Android14修改方式
--- a/alps-mp-u0/frameworks/base/packages/SettingsLib/DisplayUtils/src/com/android/settingslib/display/BrightnessUtils.java
+++ b/alps-mp-u0/frameworks/base/packages/SettingsLib/DisplayUtils/src/com/android/settingslib/display/BrightnessUtils.java
@@ -23,6 +23,7 @@ public class BrightnessUtils {
public static final int GAMMA_SPACE_MIN = 0;
public static final int GAMMA_SPACE_MAX = 65535;
+ public static final boolean ENABLE_GAMMA = false;
// Hybrid Log Gamma constant values
private static final float R = 0.5f;
@@ -76,6 +77,10 @@ public class BrightnessUtils {
* @return The corresponding setting value.
*/
public static final float convertGammaToLinearFloat(int val, float min, float max) {
+ if(!ENABLE_GAMMA){
+ float ratio = (float)val / GAMMA_SPACE_MAX;
+ return min + (float)(ratio * (max - min));
+ }
final float normalizedVal = MathUtils.norm(GAMMA_SPACE_MIN, GAMMA_SPACE_MAX, val);
final float ret;
if (normalizedVal <= R) {
@@ -129,6 +134,10 @@ public class BrightnessUtils {
*/
public static final int convertLinearToGammaFloat(float val, float min, float max) {
// For some reason, HLG normalizes to the range [0, 12] rather than [0, 1]
+ if(!ENABLE_GAMMA){
+ float ratio = (float)(val - min)/ (max - min);
+ return (int)(ratio * GAMMA_SPACE_MAX);
+ }
final float normalizedVal = MathUtils.norm(min, max, val) * 12;
final float ret;
if (normalizedVal <= 1f) {
修改默认亮度为50%
Android11以前的版本
vendor/mediatek/proprietary/packages/apps/SettingsProvider/res/values/defaults.xml
--- a/ap/vendor/mediatek/proprietary/packages/apps/SettingsProvider/res/values/defaults.xml
+++ b/ap/vendor/mediatek/proprietary/packages/apps/SettingsProvider/res/values/defaults.xml
@@ -29,8 +29,8 @@
<bool name="def_auto_time">true</bool>
<bool name="def_auto_time_zone">true</bool>
<bool name="def_accelerometer_rotation">false</bool>
- <!-- Default screen brightness, from 0 to 255. 102 is 40%. -->
- <integer name="def_screen_brightness">102</integer>
+ <!-- Default screen brightness, from 0 to 255. 127 is 50%. -->
+ <integer name="def_screen_brightness">127</integer>
<bool name="def_screen_brightness_automatic_mode">false</bool>
<fraction name="def_window_animation_scale">100%</fraction>
<fraction name="def_window_transition_scale">100%</fraction>
Android11后的版本
frameworks/base/services/core/java/com/android/server/power/PowerManagerService.java
index d06df7af..8f9d4c7
--- a/alps-mp-t0/frameworks/base/services/core/java/com/android/server/display/DisplayDeviceConfig.java
+++ b/alps-mp-t0/frameworks/base/services/core/java/com/android/server/display/DisplayDeviceConfig.java
@@ -805,7 +805,7 @@ public class DisplayDeviceConfig {
mContext.getResources().getInteger(com.android.internal.R.integer
.config_screenBrightnessSettingDefault));
} else {
- mBrightnessDefault = def;
+ mBrightnessDefault = 0.5f;
}
}
或者vendor/mediatek/proprietary/packages/overlay/vendor/FrameworkResOverlay/res/values/config.xml
--- a/vendor/mediatek/proprietary/packages/overlay/vendor/FrameworkResOverlay/res/values/config.xml
+++ b/vendor/mediatek/proprietary/packages/overlay/vendor/FrameworkResOverlay/res/values/config.xml
@@ -28,5 +28,5 @@
<item name="config_screenBrightnessSettingMaximumFloat" format="float" type="dimen">1.0</item>
<!-- Default screen brightness setting set.
Set this to 0.4 for Default brightness Float.-->
- <item name="config_screenBrightnessSettingDefaultFloat" format="float" type="dimen">0.4</item>
+ <item name="config_screenBrightnessSettingDefaultFloat" format="float" type="dimen">0.5</item>
</resources>