Skip to content

Commit

Permalink
Add option folder background opacity
Browse files Browse the repository at this point in the history
- Closes : #4522
  • Loading branch information
MrSluffy committed Aug 18, 2024
1 parent a805538 commit fcef4a6
Show file tree
Hide file tree
Showing 6 changed files with 24 additions and 1 deletion.
1 change: 1 addition & 0 deletions lawnchair/res/values/config.xml
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,7 @@

<item name="config_default_home_icon_size_factor" type="dimen" format="float">1.0</item>
<item name="config_default_folder_preview_background_opacity" type="dimen" format="float">1.0</item>
<item name="config_default_folder_background_opacity" type="dimen" format="float">1.0</item>
<item name="config_default_drawer_icon_size_factor" type="dimen" format="float">1.0</item>
<item name="config_default_home_icon_label_size_factor" type="dimen" format="float">1.0</item>
<item name="config_default_home_icon_label_folder_size_factor" type="dimen" format="float">1.0</item>
Expand Down
3 changes: 2 additions & 1 deletion lawnchair/res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -597,7 +597,8 @@
</plurals>

<!-- Folder settings -->
<string name="folder_preview_bg_opacity_label">Icon background opacity</string>
<string name="folder_preview_bg_opacity_label">Icon preview background opacity</string>
<string name="folder_bg_opacity_label">Folder background opacity</string>
<string name="folder_preview_bg_color_label">Icon background color</string>

<string name="max_folder_columns">Maximum folder columns</string>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -341,6 +341,12 @@ class PreferenceManager2 private constructor(private val context: Context) : Pre
onSet = { reloadHelper.reloadIcons() },
)

val folderBackgroundOpacity = preference(
key = floatPreferencesKey(name = "folder_background_opacity"),
defaultValue = resourceProvider.getFloat(R.dimen.config_default_folder_background_opacity),
onSet = { reloadHelper.reloadIcons() },
)

val showIconLabelsOnHomeScreen = preference(
key = booleanPreferencesKey(name = "show_icon_labels_on_home_screen"),
defaultValue = context.resources.getBoolean(R.bool.config_default_show_icon_labels_on_home_screen),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,13 @@ fun FolderPreferences(
valueRange = 0F..1F,
showAsPercentage = true,
)
SliderPreference(
label = stringResource(id = R.string.folder_bg_opacity_label),
adapter = prefs2.folderBackgroundOpacity.getAdapter(),
step = 0.1F,
valueRange = 0F..1F,
showAsPercentage = true,
)
}
PreferenceGroup(heading = stringResource(id = R.string.grid)) {
SliderPreference(
Expand Down
5 changes: 5 additions & 0 deletions lawnchair/src/app/lawnchair/util/LawnchairUtils.kt
Original file line number Diff line number Diff line change
Expand Up @@ -169,6 +169,11 @@ fun getFolderPreviewAlpha(context: Context): Int {
return (prefs2.folderPreviewBackgroundOpacity.firstBlocking() * 255).toInt()
}

fun getFolderBackgroundAlpha(context: Context): Int {
val prefs2 = PreferenceManager2.getInstance(context)
return (prefs2.folderBackgroundOpacity.firstBlocking() * 255).toInt()
}

fun getAllAppsScrimColor(context: Context): Int {
val opacity = PreferenceManager.getInstance(context).drawerOpacity.get()
val scrimColor = ColorTokens.AllAppsScrimColor.resolveColor(context)
Expand Down
3 changes: 3 additions & 0 deletions src/com/android/launcher3/folder/Folder.java
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,7 @@

import app.lawnchair.theme.drawable.DrawableTokens;
import app.lawnchair.util.EditTextExtensions;
import app.lawnchair.util.LawnchairUtilsKt;

/**
* Represents a set of icons chosen by the user or generated by the system.
Expand Down Expand Up @@ -286,6 +287,8 @@ protected void onFinishInflate() {
final int paddingLeftRight = dp.folderContentPaddingLeftRight;

mBackground = DrawableTokens.RoundRectFolder.resolve(getContext());
var alpha = LawnchairUtilsKt.getFolderBackgroundAlpha(getContext());
mBackground.setAlpha(alpha);

mContent = findViewById(R.id.folder_content);
mContent.setPadding(paddingLeftRight, dp.folderContentPaddingTop, paddingLeftRight, 0);
Expand Down

0 comments on commit fcef4a6

Please sign in to comment.