Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cb1b63e0 authored by Stefan Maftei's avatar Stefan Maftei Committed by Android (Google) Code Review
Browse files

Merge "[Expressive design] Update ZeroStatePreference widget" into main

parents 072f9982 ef802a88
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -68,7 +68,7 @@ fun ZeroStatePreference(icon: ImageVector, text: String = "", description: Strin
        Box(
            modifier = Modifier
                .clip(clip)
                .background(MaterialTheme.colorScheme.primary)
                .background(MaterialTheme.colorScheme.surfaceBright)
                .size(160.dp),
            contentAlignment = Alignment.Center,
        ) {
@@ -76,7 +76,7 @@ fun ZeroStatePreference(icon: ImageVector, text: String = "", description: Strin
                imageVector = icon,
                contentDescription = null,
                modifier = Modifier.size(64.dp),
                tint = MaterialTheme.colorScheme.onPrimary,
                tint = MaterialTheme.colorScheme.onSurface,
            )
        }
        Spacer(Modifier.height(SettingsDimension.small4))
@@ -84,7 +84,7 @@ fun ZeroStatePreference(icon: ImageVector, text: String = "", description: Strin
            Text(
                text = text,
                style = MaterialTheme.typography.titleMediumEmphasized,
                color = MaterialTheme.colorScheme.onSurfaceVariant,
                color = MaterialTheme.colorScheme.onSurface,
            )
        }
        Spacer(Modifier.height(SettingsDimension.extraSmall2))
@@ -92,7 +92,7 @@ fun ZeroStatePreference(icon: ImageVector, text: String = "", description: Strin
            Text(
                text = description,
                style = MaterialTheme.typography.bodyMedium,
                color = MaterialTheme.colorScheme.onSurfaceVariant,
                color = MaterialTheme.colorScheme.onSurface,
            )
        }
        Spacer(Modifier.height(SettingsDimension.small1))
+1 −1
Original line number Diff line number Diff line
@@ -48,7 +48,7 @@
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:textAppearance="@style/TextAppearance.SettingsLib.TitleLarge.Emphasized"
        android:textAppearance="@style/TextAppearance.SettingsLib.TitleMedium.Emphasized"
        android:textColor="@color/settingslib_text_color_primary"
        android:layout_marginHorizontal="@dimen/settingslib_expressive_space_medium1"
        android:layout_marginTop="@dimen/settingslib_expressive_space_small4"/>
+15 −5
Original line number Diff line number Diff line
@@ -42,11 +42,7 @@ class ZeroStatePreference @JvmOverloads constructor(
    init {
        isSelectable = false
        layoutResource = R.layout.settingslib_expressive_preference_zerostate
        icon?.let { originalIcon ->
            tintedIcon = originalIcon.mutate().apply {
                colorFilter = PorterDuffColorFilter(iconTint, PorterDuff.Mode.SRC_IN)
            }
        }
        applyColorFilterToIcon()
    }

    override fun onBindViewHolder(holder: PreferenceViewHolder) {
@@ -61,4 +57,18 @@ class ZeroStatePreference @JvmOverloads constructor(
            setImageDrawable(tintedIcon ?: icon)
        }
    }

    override fun setIcon(iconResId: Int) {
        super.setIcon(iconResId)

        applyColorFilterToIcon()
    }

    private fun applyColorFilterToIcon() {
        icon?.let { originalIcon ->
            tintedIcon = originalIcon.mutate().apply {
                colorFilter = PorterDuffColorFilter(iconTint, PorterDuff.Mode.SRC_IN)
            }
        }
    }
}
 No newline at end of file