|
@@ -22,19 +22,25 @@ class CollapsingTopBarParamsParser extends Parser {
|
22
|
22
|
}
|
23
|
23
|
|
24
|
24
|
public CollapsingTopBarParams parse() {
|
25
|
|
- if (!hasBackgroundImage() && !titleBarHideOnScroll) {
|
|
25
|
+ if (!validateParams()) {
|
26
|
26
|
return null;
|
27
|
27
|
}
|
28
|
|
-
|
29
|
28
|
CollapsingTopBarParams result = new CollapsingTopBarParams();
|
30
|
|
- if (hasBackgroundImage()) {
|
31
|
|
- result.imageUri = params.getString("collapsingToolBarImage");
|
32
|
|
- }
|
|
29
|
+ result.imageUri = params.getString("collapsingToolBarImage", null);
|
|
30
|
+ result.reactViewId = params.getString("collapsingToolBarComponent", null);
|
33
|
31
|
result.scrimColor = getColor(params, "collapsingToolBarCollapsedColor", new StyleParams.Color(Color.WHITE));
|
34
|
32
|
result.collapseBehaviour = getCollapseBehaviour();
|
35
|
33
|
return result;
|
36
|
34
|
}
|
37
|
35
|
|
|
36
|
+ private boolean validateParams() {
|
|
37
|
+ return titleBarHideOnScroll || hasImageOrReactView();
|
|
38
|
+ }
|
|
39
|
+
|
|
40
|
+ private boolean hasImageOrReactView() {
|
|
41
|
+ return hasBackgroundImage() || hasReactView();
|
|
42
|
+ }
|
|
43
|
+
|
38
|
44
|
private CollapseBehaviour getCollapseBehaviour() {
|
39
|
45
|
if (hasBackgroundImage()) {
|
40
|
46
|
return new CollapseTopBarBehaviour();
|
|
@@ -48,4 +54,8 @@ class CollapsingTopBarParamsParser extends Parser {
|
48
|
54
|
private boolean hasBackgroundImage() {
|
49
|
55
|
return params.containsKey("collapsingToolBarImage");
|
50
|
56
|
}
|
|
57
|
+
|
|
58
|
+ private boolean hasReactView() {
|
|
59
|
+ return params.containsKey("collapsingToolBarComponent");
|
|
60
|
+ }
|
51
|
61
|
}
|