blob: d4e7dedee79fe99544e874aaf24036cdda431493 [file] [log] [blame]
package com.google.android.setupdesign.util;
import android.content.Context;
import android.graphics.Typeface;
import androidx.annotation.VisibleForTesting;
import android.util.TypedValue;
import android.widget.TextView;
import com.google.android.setupcompat.partnerconfig.PartnerConfig;
import com.google.android.setupcompat.partnerconfig.PartnerConfigHelper;
/** Applies the given style properties for the style of the given type. */
public class DescriptionStyler {
public static void applyPartnerCustomizationStyle(TextView description) {
final Context context = description.getContext();
int descriptionTextColor =
PartnerConfigHelper.get(context)
.getColor(context, PartnerConfig.CONFIG_DESCRIPTION_TEXT_COLOR);
if (descriptionTextColor != 0) {
setTextColor(description, descriptionTextColor);
}
int descriptionLinkTextColor =
PartnerConfigHelper.get(context)
.getColor(context, PartnerConfig.CONFIG_DESCRIPTION_LINK_TEXT_COLOR);
if (descriptionLinkTextColor != 0) {
setLinkTextColor(description, descriptionLinkTextColor);
}
float descriptionTextSize =
PartnerConfigHelper.get(context)
.getDimension(context, PartnerConfig.CONFIG_DESCRIPTION_TEXT_SIZE, 0);
if (descriptionTextSize != 0) {
setTextSize(description, descriptionTextSize);
}
String fontFamilyName =
PartnerConfigHelper.get(context)
.getString(context, PartnerConfig.CONFIG_DESCRIPTION_FONT_FAMILY);
Typeface font = Typeface.create(fontFamilyName, Typeface.NORMAL);
if (font != null) {
setFontFamily(description, font);
}
setGravity(description, PartnerStyleHelper.getLayoutGravity(context));
}
@VisibleForTesting
static void setTextSize(TextView description, float size) {
if (description != null) {
description.setTextSize(TypedValue.COMPLEX_UNIT_PX, size);
}
}
@VisibleForTesting
static void setFontFamily(TextView description, Typeface fontFamily) {
if (description != null) {
description.setTypeface(fontFamily);
}
}
@VisibleForTesting
static void setTextColor(TextView description, int color) {
if (description != null) {
description.setTextColor(color);
}
}
@VisibleForTesting
static void setLinkTextColor(TextView description, int color) {
if (description != null) {
description.setLinkTextColor(color);
}
}
@VisibleForTesting
static void setGravity(TextView description, int gravity) {
if (description != null) {
description.setGravity(gravity);
}
}
}