Skip to content

Commit

Permalink
Enable support for custom surface tint color
Browse files Browse the repository at this point in the history
Improve dynamic theme preview to show more colors.
  • Loading branch information
pranavpandey committed Apr 11, 2021
1 parent 75c96e5 commit ffdc31b
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -264,6 +264,17 @@ public int getAutoColor(@Nullable String tag) {
return mThemePreview.getDynamicTheme().getSurfaceColor();
}
});
mColorSurfacePreference.setAltDynamicColorResolver(new DynamicColorResolver() {
@Override
public int getDefaultColor(@Nullable String tag) {
return mDynamicThemeDefault.getTintSurfaceColor(false);
}

@Override
public int getAutoColor(@Nullable String tag) {
return mThemePreview.getDynamicTheme().getTintSurfaceColor();
}
});

mColorPrimaryPreference.setDynamicColorResolver(new DynamicColorResolver() {
@Override
Expand Down Expand Up @@ -477,6 +488,7 @@ public void onLoadTheme(@NonNull DynamicAppTheme theme) {
mColorBackgroundPreference.setColor(theme.getBackgroundColor(false));
mColorBackgroundPreference.setAltColor(theme.getTintBackgroundColor(false));
mColorSurfacePreference.setColor(theme.getSurfaceColor(false));
mColorSurfacePreference.setAltColor(theme.getTintSurfaceColor(false));
mColorPrimaryPreference.setColor(theme.getPrimaryColor(false));
mColorPrimaryPreference.setAltColor(theme.getTintPrimaryColor(false));
mColorAccentPreference.setColor(theme.getAccentColor(false));
Expand Down Expand Up @@ -599,7 +611,7 @@ private void updateThemePreview() {
.setBackgroundColor(mColorBackgroundPreference.getColor(false))
.setTintBackgroundColor(mColorBackgroundPreference.getAltColor(false))
.setSurfaceColor(mColorSurfacePreference.getColor(false))
.setTintSurfaceColor(mDynamicTheme.getTintSurfaceColor(false))
.setTintSurfaceColor(mColorSurfacePreference.getAltColor(false))
.setPrimaryColor(mColorPrimaryPreference.getColor(false))
.setTintPrimaryColor(mColorPrimaryPreference.getAltColor(false))
.setPrimaryColorDark(mColorSystemPreference.getColor(false))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -232,8 +232,7 @@ protected void onUpdate() {
mTextSecondaryEnd.setImageResource(R.drawable.ads_theme_overlay);
mTextDescriptionStart.setImageResource(R.drawable.ads_theme_overlay);
mTextDescriptionEnd.setImageResource(R.drawable.ads_theme_overlay);
} else if (getDynamicTheme().getCornerSizeDp()
< Defaults.ADS_CORNER_MIN_THEME_ROUND) {
} else if (getDynamicTheme().getCornerSizeDp() < Defaults.ADS_CORNER_MIN_THEME_ROUND) {
mHeaderTitle.setImageResource(R.drawable.ads_theme_overlay_rect);
mError.setImageResource(R.drawable.ads_theme_overlay_rect);
mTextPrimaryStart.setImageResource(R.drawable.ads_theme_overlay_rect_start);
Expand Down Expand Up @@ -284,14 +283,14 @@ protected void onUpdate() {
Dynamic.setColor(mHeaderTitle, getDynamicTheme().getTintPrimaryColor());
Dynamic.setColor(mHeaderMenu, getDynamicTheme().getTintPrimaryColor());
Dynamic.setColor(mHeaderShadow, getDynamicTheme().getAccentColorDark());
Dynamic.setColor(mIcon, getDynamicTheme().getTintBackgroundColor());
Dynamic.setColor(mIcon, getDynamicTheme().getPrimaryColor());
Dynamic.setColor(mError, getDynamicTheme().getErrorColor());
Dynamic.setColor(mTextPrimaryStart, getDynamicTheme().getTextPrimaryColor());
Dynamic.setColor(mTextPrimaryEnd, getDynamicTheme().getTextPrimaryColor());
Dynamic.setColor(mTextSecondaryStart, getDynamicTheme().getTextSecondaryColor());
Dynamic.setColor(mTextSecondaryEnd, getDynamicTheme().getTextSecondaryColor());
Dynamic.setColor(mTextDescriptionStart, getDynamicTheme().getPrimaryColor());
Dynamic.setColor(mTextDescriptionEnd, getDynamicTheme().getPrimaryColor());
Dynamic.setColor(mTextDescriptionStart, getDynamicTheme().getTintSurfaceColor());
Dynamic.setColor(mTextDescriptionEnd, getDynamicTheme().getTintBackgroundColor());
Dynamic.setColor(mFAB, getDynamicTheme().getAccentColor());
}

Expand Down
2 changes: 2 additions & 0 deletions dynamic-support/src/main/res/layout/ads_fragment_theme.xml
Original file line number Diff line number Diff line change
Expand Up @@ -69,8 +69,10 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:ads_key="ads_pref_settings_theme_color_surface"
app:ads_altKey="ads_pref_settings_theme_color_tint_surface"
app:ads_title="@string/ads_theme_color_surface"
app:ads_description="@string/ads_theme_color_default_desc"
app:ads_action="@string/ads_theme_color_tint"
app:ads_alphaEnabled="true"
app:ads_popup="true"
app:ads_popupColors="@array/ads_app_theme_surface_colors" />
Expand Down

0 comments on commit ffdc31b

Please sign in to comment.