summaryrefslogtreecommitdiff
path: root/integration-tests/TestApp/app/src/main/res/layout/layout_with_include.xml
blob: dfffd99613b061a26bb46ec229891772aba20bbf (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
85
86
87
88
89
90
91
92
93
<?xml version="1.0" encoding="utf-8"?>
<!--
  ~ Copyright (C) 2015 The Android Open Source Project
  ~ Licensed under the Apache License, Version 2.0 (the "License");
  ~ you may not use this file except in compliance with the License.
  ~ You may obtain a copy of the License at
  ~      http://www.apache.org/licenses/LICENSE-2.0
  ~ Unless required by applicable law or agreed to in writing, software
  ~ distributed under the License is distributed on an "AS IS" BASIS,
  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  ~ See the License for the specific language governing permissions and
  ~ limitations under the License.
  -->

<layout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:bind="http://schemas.android.com/apk/res-auto">
    <data>
        <import type="androidx.databinding.ObservableArrayMap"/>
        <variable name="outerObject" type="android.databinding.testapp.vo.NotBindableVo"/>
        <variable name="map" type="ObservableArrayMap&lt;String, String&gt;"/>
        <variable name="visibility" type="int"/>
        <variable name="minHeight" type="int" />
    </data>
    <FrameLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent">
        <LinearLayout
                android:orientation="vertical"
                android:layout_width="match_parent"
                android:layout_height="match_parent">
            <TextView android:layout_width="wrap_content" android:layout_height="wrap_content"
                      android:id="@+id/outerTextView"
                      android:text="@{outerObject.stringValue}"/>
            <!-- TODO test id collision-->
            <include layout="@layout/included_layout" android:id="@+id/includedLayout"
                     bind:innerObject="@{outerObject}"
                     bind:innerValue="@{`modified ` + outerObject.intValue}"
                     bind:map="@{map}"
                     android:visibility="@{visibility}"
                    />

            <!-- Add custom layout that adds its own inflated view -->
            <android.databinding.testapp.view.BindingLinearLayout
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    bind:nothing="@{0}"/>

            <!-- stick something in the middle that may mess with the tag IDs -->
            <TextView android:layout_width="wrap_content" android:layout_height="wrap_content"
                      android:text="@{`` + outerObject.intValue}"/>
            <include layout="@layout/plain_layout" android:id="@+id/plainLayout"/>
            <include layout="@layout/merge_layout"
                     bind:innerObject="@{outerObject}"
                     bind:innerValue="@{`hello ` + outerObject.intValue}"/>
            <include layout="@layout/merge_layout"
                     android:id="@+id/secondMerge"
                     bind:innerObject="@{outerObject}"
                     bind:innerValue="@{`goodbye ` + outerObject.intValue}"/>

            <!-- now a merge within a merge -->
            <include layout="@layout/merge_containing_merge"
                     android:id="@+id/thirdMerge"
                     bind:innerObject="@{outerObject}"
                     bind:innerValue="@{`third ` + outerObject.intValue}"/>

            <!-- Add custom layout that adds its own inflated view -->
            <android.databinding.testapp.view.TaggedView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"/>

            <LinearLayout android:layout_width="wrap_content"
                         android:layout_height="wrap_content">
                <!-- an included layout with just an id -->
                <include android:id="@+id/includedPlainLayout" layout="@layout/plain_layout"
                    android:visibility="@{visibility}"/>
                <include android:id="@+id/includedMergeLayout" layout="@layout/plain_merge"/>
            </LinearLayout>
            <include
                android:id="@+id/trackedInclude"
                layout="@layout/include_tracker"
                android:innerObject="@{outerObject}"/>
            <include
                layout="@layout/simple_text"
                android:id="@+id/plainLayoutWithBinding"
                bind:includeMinHeightAdapter="@{minHeight}"/>
            <include
                layout="@layout/included_layout"
                android:id="@+id/bindingLayoutWithRootViewAdapter"
                bind:includeMinHeightAdapter="@{minHeight}"/>

        </LinearLayout>
    </FrameLayout>
</layout>