Cherish: Monet settings
This reverts commit f547af0ea1.
Signed-off-by: Hưng Phan <phandinhhungvp2001@gmail.com>
This commit is contained in:
@@ -653,6 +653,20 @@
|
|||||||
<string name="qs_tile_label_size_title">Label text size</string>
|
<string name="qs_tile_label_size_title">Label text size</string>
|
||||||
<string name="qs_columns_portrait_title">Columns (portrait)</string>
|
<string name="qs_columns_portrait_title">Columns (portrait)</string>
|
||||||
<string name="qs_columns_landscape_title">Columns (landscape)</string>
|
<string name="qs_columns_landscape_title">Columns (landscape)</string>
|
||||||
|
|
||||||
|
<!-- Monet engine -->
|
||||||
|
<string name="monet_engine_settings_title">Monet engine</string>
|
||||||
|
<string name="monet_engine_settings_summary">Custom color, colorfulness, brightness</string>
|
||||||
|
<string name="accurate_shades_title">Use accurate shades</string>
|
||||||
|
<string name="color_override_title">Custom color picker</string>
|
||||||
|
<string name="color_override_default_summary">Using wallpaper color</string>
|
||||||
|
<string name="custom_color_override_summary_placeholder">
|
||||||
|
Choosen color: <xliff:g example="#FF0000" id="Color">%1$s</xliff:g>. Set an empty value to use wallpaper color.
|
||||||
|
</string>
|
||||||
|
<string name="invalid_color_input">Invalid color input!</string>
|
||||||
|
<string name="chroma_factor_title">Colorfulness</string>
|
||||||
|
<string name="linear_lightness_title">Use custom lightness scale</string>
|
||||||
|
<string name="white_luminance_title">Brightness</string>
|
||||||
|
|
||||||
<!-- Power menu Animations -->
|
<!-- Power menu Animations -->
|
||||||
<string name="power_menu_animation_title">Power menu animation</string>
|
<string name="power_menu_animation_title">Power menu animation</string>
|
||||||
|
|||||||
@@ -109,6 +109,13 @@
|
|||||||
android:summary="%s"
|
android:summary="%s"
|
||||||
android:defaultValue="0" />
|
android:defaultValue="0" />
|
||||||
|
|
||||||
|
<!-- Monet -->
|
||||||
|
<Preference
|
||||||
|
android:key="monet_engine_settings"
|
||||||
|
android:title="@string/monet_engine_settings_title"
|
||||||
|
android:summary="@string/monet_engine_settings_summary"
|
||||||
|
android:fragment="com.cherish.settings.fragments.MonetEngineSettings" />
|
||||||
|
|
||||||
<!-- Font style -->
|
<!-- Font style -->
|
||||||
<Preference
|
<Preference
|
||||||
android:key="android.theme.customization.font"
|
android:key="android.theme.customization.font"
|
||||||
|
|||||||
55
res/xml/monet_engine_settings.xml
Normal file
55
res/xml/monet_engine_settings.xml
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Copyright (C) 2022 FlamingoOS 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.
|
||||||
|
-->
|
||||||
|
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:settings="http://schemas.android.com/apk/res-auto"
|
||||||
|
android:title="@string/monet_engine_settings_title">
|
||||||
|
|
||||||
|
<!-- Accurate shades -->
|
||||||
|
<com.cherish.settings.preferences.SecureSettingSwitchPreference
|
||||||
|
android:key="monet_engine_accurate_shades"
|
||||||
|
android:title="@string/accurate_shades_title"
|
||||||
|
android:defaultValue="true" />
|
||||||
|
|
||||||
|
<!-- Color override -->
|
||||||
|
<com.cherish.settings.preferences.SecureSettingColorPickerPreference
|
||||||
|
android:key="monet_engine_color_override"
|
||||||
|
android:title="@string/color_override_title"
|
||||||
|
settings:controller="com.cherish.settings.fragments.MonetCustomColorPreferenceController" />
|
||||||
|
|
||||||
|
<!-- Chroma factor -->
|
||||||
|
<com.cherish.settings.preferences.CustomSeekBarPreference
|
||||||
|
android:key="chroma_factor"
|
||||||
|
android:title="@string/chroma_factor_title"
|
||||||
|
android:defaultValue="100"
|
||||||
|
android:max="100"
|
||||||
|
android:persistent="false"
|
||||||
|
android:min="0"
|
||||||
|
settings:interval="10"
|
||||||
|
settings:controller="com.cherish.settings.fragments.MonetChromaFactorPreferenceController" />
|
||||||
|
|
||||||
|
<!-- Custom lightness scale -->
|
||||||
|
<com.cherish.settings.preferences.SecureSettingSwitchPreference
|
||||||
|
android:key="monet_engine_linear_lightness"
|
||||||
|
android:title="@string/linear_lightness_title"
|
||||||
|
android:defaultValue="0" />
|
||||||
|
|
||||||
|
<!-- Brightness -->
|
||||||
|
<com.cherish.settings.preferences.SecureSettingSeekBarPreference
|
||||||
|
android:key="monet_engine_white_luminance"
|
||||||
|
android:title="@string/white_luminance_title"
|
||||||
|
android:defaultValue="425"
|
||||||
|
android:max="1000"
|
||||||
|
settings:min="1"
|
||||||
|
settings:interval="100" />
|
||||||
|
|
||||||
|
</PreferenceScreen>
|
||||||
@@ -0,0 +1,61 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2022 FlamingoOS 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.cherish.settings.fragments
|
||||||
|
|
||||||
|
import android.content.Context
|
||||||
|
import android.os.UserHandle
|
||||||
|
import android.provider.Settings
|
||||||
|
|
||||||
|
import androidx.preference.Preference
|
||||||
|
|
||||||
|
import com.android.settings.core.BasePreferenceController
|
||||||
|
import com.cherish.settings.preferences.CustomSeekBarPreference
|
||||||
|
|
||||||
|
class MonetChromaFactorPreferenceController(
|
||||||
|
context: Context,
|
||||||
|
key: String,
|
||||||
|
) : BasePreferenceController(context, key),
|
||||||
|
Preference.OnPreferenceChangeListener {
|
||||||
|
|
||||||
|
override fun getAvailabilityStatus(): Int = AVAILABLE
|
||||||
|
|
||||||
|
override fun updateState(preference: Preference) {
|
||||||
|
super.updateState(preference)
|
||||||
|
val chromaFactor = Settings.Secure.getFloatForUser(
|
||||||
|
mContext.contentResolver,
|
||||||
|
Settings.Secure.MONET_ENGINE_CHROMA_FACTOR,
|
||||||
|
CHROMA_DEFAULT,
|
||||||
|
UserHandle.USER_CURRENT
|
||||||
|
) * 100
|
||||||
|
(preference as CustomSeekBarPreference).apply {
|
||||||
|
setValue(chromaFactor.toInt())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onPreferenceChange(preference: Preference, newValue: Any): Boolean {
|
||||||
|
return Settings.Secure.putFloatForUser(
|
||||||
|
mContext.contentResolver,
|
||||||
|
Settings.Secure.MONET_ENGINE_CHROMA_FACTOR,
|
||||||
|
(newValue as Int) / 100f,
|
||||||
|
UserHandle.USER_CURRENT
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
companion object {
|
||||||
|
private const val CHROMA_DEFAULT = 1f
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,49 @@
|
|||||||
|
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2022 FlamingoOS 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.cherish.settings.fragments
|
||||||
|
|
||||||
|
import android.content.Context
|
||||||
|
import android.os.UserHandle
|
||||||
|
import android.provider.Settings
|
||||||
|
|
||||||
|
import com.android.settings.R
|
||||||
|
import com.android.settings.core.BasePreferenceController
|
||||||
|
|
||||||
|
class MonetCustomColorPreferenceController(
|
||||||
|
context: Context,
|
||||||
|
key: String,
|
||||||
|
) : BasePreferenceController(context, key) {
|
||||||
|
|
||||||
|
override fun getAvailabilityStatus(): Int = AVAILABLE
|
||||||
|
|
||||||
|
override fun getSummary(): CharSequence? {
|
||||||
|
val customColor = Settings.Secure.getStringForUser(
|
||||||
|
mContext.contentResolver,
|
||||||
|
Settings.Secure.MONET_ENGINE_COLOR_OVERRIDE,
|
||||||
|
UserHandle.USER_CURRENT,
|
||||||
|
)
|
||||||
|
return if (customColor == null || customColor.isBlank()) {
|
||||||
|
mContext.getString(R.string.color_override_default_summary)
|
||||||
|
} else {
|
||||||
|
mContext.getString(
|
||||||
|
R.string.custom_color_override_summary_placeholder,
|
||||||
|
customColor
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
37
src/com/cherish/settings/fragments/MonetEngineSettings.kt
Normal file
37
src/com/cherish/settings/fragments/MonetEngineSettings.kt
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2022 FlamingoOS 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.cherish.settings.fragments
|
||||||
|
|
||||||
|
import com.android.settings.R
|
||||||
|
import com.android.settings.search.BaseSearchIndexProvider
|
||||||
|
import com.android.settingslib.search.SearchIndexable
|
||||||
|
import com.cherish.settings.fragments.CherishDashboardFragment
|
||||||
|
|
||||||
|
@SearchIndexable
|
||||||
|
class MonetEngineSettings : CherishDashboardFragment() {
|
||||||
|
|
||||||
|
override protected fun getPreferenceScreenResId() = R.xml.monet_engine_settings
|
||||||
|
|
||||||
|
override protected fun getLogTag() = TAG
|
||||||
|
|
||||||
|
companion object {
|
||||||
|
private const val TAG = "MonetEngineSettings"
|
||||||
|
|
||||||
|
@JvmField
|
||||||
|
val SEARCH_INDEX_DATA_PROVIDER = BaseSearchIndexProvider(R.xml.monet_engine_settings)
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user