@@ -8,7 +8,6 @@ import android.text.method.LinkMovementMethod
8
8
import android.text.util.Linkify
9
9
import android.view.LayoutInflater
10
10
import android.view.View
11
- import android.view.ViewConfiguration
12
11
import android.view.ViewGroup
13
12
import android.view.ViewOutlineProvider
14
13
import android.webkit.DownloadListener
@@ -47,7 +46,8 @@ class DialogFragment internal constructor() : BaseBottomSheetDialog() {
47
46
dialogArguments.showItemsAsHtml,
48
47
dialogArguments.selectedItemDrawable,
49
48
dialogArguments.selectedTextColor,
50
- dialogArguments.showRadioButton
49
+ dialogArguments.showRadioButton,
50
+ dialogArguments.contentFontFamily
51
51
)
52
52
}
53
53
@@ -57,7 +57,11 @@ class DialogFragment internal constructor() : BaseBottomSheetDialog() {
57
57
ViewModelProviders .of(this )[DialogListViewModel ::class .java]
58
58
}
59
59
60
- override fun onCreateView (inflater : LayoutInflater , container : ViewGroup ? , savedInstanceState : Bundle ? ): View {
60
+ override fun onCreateView (
61
+ inflater : LayoutInflater ,
62
+ container : ViewGroup ? ,
63
+ savedInstanceState : Bundle ?
64
+ ): View {
61
65
binding = FragmentDialogBinding .inflate(inflater, container, false )
62
66
return binding.root
63
67
}
@@ -66,7 +70,8 @@ class DialogFragment internal constructor() : BaseBottomSheetDialog() {
66
70
if (dialogArguments.animateCornerRadiusWhenExpand) {
67
71
animateCornerRadiusWithStateChanged()
68
72
} else {
69
- val cornerRadius = dialogArguments.cornerRadius ? : requireContext().pixel(R .dimen.ui_components_dialogs_corner_radius)
73
+ val cornerRadius = dialogArguments.cornerRadius
74
+ ? : requireContext().pixel(R .dimen.ui_components_dialogs_corner_radius)
70
75
binding.cardView.outlineProvider = BottomSheetOutlineProvider (radius = cornerRadius)
71
76
}
72
77
@@ -90,13 +95,21 @@ class DialogFragment internal constructor() : BaseBottomSheetDialog() {
90
95
initializeSelectionDialog(items)
91
96
}
92
97
dialogArguments.infoListItems?.let { items ->
93
- initializeInfoListDialog(items, dialogArguments.itemDividers)
98
+ initializeInfoListDialog(
99
+ items,
100
+ dialogArguments.itemDividers,
101
+ dialogArguments.contentFontFamily
102
+ )
94
103
}
95
104
if (dialogArguments.horizontalPadding != null || dialogArguments.verticalPadding != null ) {
96
- val topPadding = dialogArguments.verticalPadding?.toInt() ? : nestedScrollView.paddingTop
97
- val bottomPadding = dialogArguments.verticalPadding?.toInt() ? : nestedScrollView.paddingBottom
98
- val startPadding = dialogArguments.horizontalPadding?.toInt() ? : nestedScrollView.paddingStart
99
- val endPadding = dialogArguments.horizontalPadding?.toInt() ? : nestedScrollView.paddingEnd
105
+ val topPadding =
106
+ dialogArguments.verticalPadding?.toInt() ? : nestedScrollView.paddingTop
107
+ val bottomPadding =
108
+ dialogArguments.verticalPadding?.toInt() ? : nestedScrollView.paddingBottom
109
+ val startPadding =
110
+ dialogArguments.horizontalPadding?.toInt() ? : nestedScrollView.paddingStart
111
+ val endPadding =
112
+ dialogArguments.horizontalPadding?.toInt() ? : nestedScrollView.paddingEnd
100
113
nestedScrollView.setPadding(startPadding, topPadding, endPadding, bottomPadding)
101
114
}
102
115
}
@@ -135,10 +148,12 @@ class DialogFragment internal constructor() : BaseBottomSheetDialog() {
135
148
136
149
private fun initializeInfoListDialog (
137
150
items : List <Pair <CharSequence , CharSequence >>,
138
- itemDividers : List <ItemDivider >
151
+ itemDividers : List <ItemDivider >,
152
+ fontFamily : Int?
139
153
) {
140
154
with (binding.recyclerViewItems) {
141
155
infoListAdapter.setItems(items)
156
+ infoListAdapter.contentFontFamily = fontFamily
142
157
itemDividers.forEach {
143
158
addItemDecoration(ItemDecorator (it))
144
159
}
@@ -162,11 +177,15 @@ class DialogFragment internal constructor() : BaseBottomSheetDialog() {
162
177
isSearchEnabled = dialogArguments.enableSearch,
163
178
isClearSearchButtonVisible = dialogArguments.showClearSearchButton,
164
179
searchHint = dialogArguments.searchHint,
165
- titleBackgroundColor = dialogArguments.titleBackgroundColor ? : R .color.ui_components_dialogs_gray,
166
- titleTextColor = dialogArguments.titleTextColor ? : R .color.ui_components_dialogs_primary_text_color,
180
+ titleBackgroundColor = dialogArguments.titleBackgroundColor
181
+ ? : R .color.ui_components_dialogs_gray,
182
+ titleTextColor = dialogArguments.titleTextColor
183
+ ? : R .color.ui_components_dialogs_primary_text_color,
167
184
titleTextPosition = dialogArguments.titleTextPosition ? : TextPosition .START ,
168
185
contentTextPosition = dialogArguments.contentTextPosition ? : TextPosition .START ,
169
186
webViewContent = dialogArguments.webViewContent,
187
+ titleFontFamily = dialogArguments.titleFontFamily,
188
+ contentFontFamily = dialogArguments.contentFontFamily
170
189
)
171
190
172
191
with (binding) {
@@ -178,6 +197,7 @@ class DialogFragment internal constructor() : BaseBottomSheetDialog() {
178
197
text = viewState.title
179
198
textAlignment = viewState.getTitleTextPosition()
180
199
setTextColor(viewState.getTitleTextColor(context))
200
+ typeface = viewState.getTitleFontFamily(context)
181
201
}
182
202
with (viewDialogHeader.imageClose) {
183
203
visibility = viewState.getCloseButtonVisibility()
@@ -191,6 +211,7 @@ class DialogFragment internal constructor() : BaseBottomSheetDialog() {
191
211
text = viewState.getContent()
192
212
textAlignment = viewState.getContentTextPosition()
193
213
visibility = viewState.getContentTextVisibility()
214
+ typeface = viewState.getContentFontFamily(context)
194
215
}
195
216
with (webViewContent) {
196
217
visibility = viewState.getWebViewContentVisibility()
@@ -209,6 +230,7 @@ class DialogFragment internal constructor() : BaseBottomSheetDialog() {
209
230
with (editTextSearch) {
210
231
hint = viewState.searchHint
211
232
visibility = viewState.isSearchVisible()
233
+ typeface = viewState.getContentFontFamily(context)
212
234
}
213
235
imageClearSearchQuery.visibility = viewState.getClearButtonVisibility()
214
236
recyclerViewItems.visibility = viewState.getListVisibility()
@@ -310,4 +332,4 @@ class DialogFragment internal constructor() : BaseBottomSheetDialog() {
310
332
return fragmentManager.findFragmentByTag(TAG ) as ? DialogFragment
311
333
}
312
334
}
313
- }
335
+ }
0 commit comments