summaryrefslogtreecommitdiff
path: root/main/src/com/google/android/setupdesign/util/DescriptionStyler.java
blob: d4e7dedee79fe99544e874aaf24036cdda431493 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
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);
    }
  }
}