colors: Introduce Reality display engine [2/2]

Change-Id: Ib565b3ffaa8a5f5832d5a620961abffd754e2dfc
Signed-off-by: minaripenguin <minaripenguin@users.noreply.github.com>
This commit is contained in:
minaripenguin
2024-06-22 12:50:55 +08:00
committed by Joey
parent ec7587d465
commit 5e2c84d01b
4 changed files with 55 additions and 1 deletions

View File

@@ -154,4 +154,17 @@
<item>4</item>
<item>5</item>
</string-array>
<!-- Reality Display Engine -->
<string-array name="display_engine_mode_entries">
<item>@string/display_engine_default</item>
<item>@string/x_reality_engine_mode_title</item>
<item>@string/vivid_engine_mode_title</item>
</string-array>
<string-array name="display_engine_mode_values" translatable="false">
<item>0</item>
<item>1</item>
<item>2</item>
</string-array>
</resources>

View File

@@ -313,4 +313,12 @@
<!-- Running services - Background processes tab -->
<string name="background_processes_settings_title">Background processes</string>
<!-- Reality Display Engine -->
<string name="display_engine_category">Display engine</string>
<string name="display_engine_mode_title">Reality display engine</string>
<string name="x_reality_engine_mode_title">X-Reality engine</string>
<string name="vivid_engine_mode_title">Vivid display</string>
<string name="display_engine_default">Default</string>
<string name="display_engine_mode_footer_text">Inspired by Sony\'s Bravia/X-Reality engine, the Display Engine features Vivid mode for enhanced brightness and color saturation, and X-Reality mode for improved detail and color accuracy.</string>
</resources>

View File

@@ -17,4 +17,27 @@
<PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android"
android:title="@string/color_mode_title" />
xmlns:settings="http://schemas.android.com/apk/res-auto"
android:title="@string/color_mode_title">
<PreferenceCategory
android:key="display_engine_category"
android:title="@string/display_engine_category"
android:order="100">
<org.evolution.settings.preferences.SecureSettingListPreference
android:key="display_engine_mode"
android:title="@string/display_engine_mode_title"
android:entries="@array/display_engine_mode_entries"
android:entryValues="@array/display_engine_mode_values"
android:summary="%s"
android:defaultValue="0" />
<com.android.settingslib.widget.FooterPreference
android:key="display_engine_mode_footer"
android:title="@string/display_engine_mode_footer_text"
android:selectable="false"
settings:searchable="false" />
</PreferenceCategory>
</PreferenceScreen>

View File

@@ -199,6 +199,16 @@ public class ColorModePreferenceFragment extends RadioButtonPickerFragment {
updateIndicator(mViewPager.getCurrentItem());
}
@Override
public void updateCandidates() {
super.updateCandidates();
PreferenceScreen screen = getPreferenceScreen();
if (ColorDisplayManager.isColorTransformAccelerated(screen.getContext())) {
getPreferenceManager().inflateFromResource(screen.getContext(), R.xml.color_mode_settings,
screen);
}
}
@Override
protected void addStaticPreferences(PreferenceScreen screen) {
final LayoutPreference preview = new LayoutPreference(screen.getContext(),