• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<?xml version="1.0" encoding="utf-8"?><!--
2  ~ Copyright (C) 2023 The Android Open Source Project
3  ~
4  ~ Licensed under the Apache License, Version 2.0 (the "License");
5  ~ you may not use this file except in compliance with the License.
6  ~ You may obtain a copy of the License at
7  ~
8  ~      http://www.apache.org/licenses/LICENSE-2.0
9  ~
10  ~ Unless required by applicable law or agreed to in writing, software
11  ~ distributed under the License is distributed on an "AS IS" BASIS,
12  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  ~ See the License for the specific language governing permissions and
14  ~ limitations under the License.
15  ~
16  -->
17
18<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
19    android:layout_width="match_parent"
20    android:layout_height="match_parent"
21    android:orientation="vertical">
22    <FrameLayout
23        android:id="@+id/section_header_container"
24        android:layout_width="match_parent"
25        android:layout_height="wrap_content">
26
27        <include layout="@layout/section_header" />
28    </FrameLayout>
29
30    <com.android.wallpaper.picker.DisplayAspectRatioFrameLayout
31        android:layout_width="match_parent"
32        android:layout_height="0dp"
33        android:layout_weight="1"
34        android:paddingTop="36dp"
35        android:paddingBottom="40dp">
36
37        <include
38            android:id="@+id/lock_preview"
39            layout="@layout/wallpaper_preview_card"
40            android:layout_width="match_parent"
41            android:layout_height="match_parent"
42            android:layout_gravity="center" />
43
44        <FrameLayout
45            android:id="@+id/clock_host_view"
46            android:layout_width="match_parent"
47            android:layout_height="match_parent"
48            android:layout_gravity="center" />
49    </com.android.wallpaper.picker.DisplayAspectRatioFrameLayout>
50
51
52    <LinearLayout
53        android:layout_width="match_parent"
54        android:layout_height="wrap_content"
55        android:orientation="vertical"
56        android:layout_marginHorizontal="24dp"
57        android:layout_marginBottom="28dp"
58        android:background="@drawable/picker_fragment_background"
59        android:paddingTop="22dp"
60        android:paddingBottom="62dp">
61
62        <FrameLayout
63            android:layout_width="wrap_content"
64            android:layout_height="wrap_content">
65
66            <androidx.recyclerview.widget.RecyclerView
67                android:id="@+id/tabs"
68                android:layout_width="wrap_content"
69                android:layout_height="wrap_content"
70                android:clipToPadding="false"
71                android:paddingHorizontal="16dp"
72                android:layout_gravity="center_horizontal" />
73
74            <!--
75            This is just an invisible placeholder put in place so that the parent keeps its height
76            stable as the RecyclerView updates from 0 items to N items. Keeping it stable allows the
77            layout logic to keep the size of the preview container stable as well, which bodes well
78            for setting up the SurfaceView for remote rendering without changing its size after the
79            content is loaded into the RecyclerView.
80
81            It's critical for any TextViews inside the included layout to have text.
82            -->
83            <include
84                layout="@layout/picker_fragment_tab"
85                android:layout_width="wrap_content"
86                android:layout_height="wrap_content"
87                android:visibility="invisible" />
88        </FrameLayout>
89
90        <FrameLayout
91            android:layout_width="match_parent"
92            android:layout_height="wrap_content"
93            android:paddingTop="16dp">
94
95            <LinearLayout
96                android:id="@+id/color_picker_container"
97                android:layout_width="match_parent"
98                android:layout_height="wrap_content"
99                android:orientation="vertical">
100
101                <FrameLayout
102                    android:layout_width="match_parent"
103                    android:layout_height="wrap_content"
104                    android:layout_marginBottom="16dp">
105
106                    <androidx.recyclerview.widget.RecyclerView
107                        android:id="@+id/color_options"
108                        android:layout_width="match_parent"
109                        android:layout_height="wrap_content"
110                        android:clipToPadding="false"
111                        android:paddingHorizontal="16dp" />
112
113                    <!--
114                    This is just an invisible placeholder put in place so that the parent keeps its
115                    height stable as the RecyclerView updates from 0 items to N items. Keeping it
116                    stable allows the layout logic to keep the size of the preview container stable
117                    as well, which bodes well for setting up the SurfaceView for remote rendering
118                    without changing its size after the content is loaded into the RecyclerView.
119                    -->
120                    <include
121                        layout="@layout/color_option_with_background"
122                        android:layout_width="wrap_content"
123                        android:layout_height="wrap_content"
124                        android:visibility="invisible" />
125                </FrameLayout>
126
127                <SeekBar
128                    android:id="@+id/slider"
129                    android:layout_width="match_parent"
130                    android:layout_height="wrap_content"
131                    android:layout_gravity="center_vertical"
132                    android:minHeight="48dp"
133                    android:thumb="@null"
134                    android:background="@null"
135                    android:paddingHorizontal="16dp"
136                    android:progressDrawable="@drawable/saturation_progress_drawable"
137                    android:splitTrack="false" />
138            </LinearLayout>
139
140            <com.android.customization.picker.clock.ui.view.ClockSizeRadioButtonGroup
141                android:id="@+id/clock_size_radio_button_group"
142                android:layout_width="match_parent"
143                android:layout_height="wrap_content"
144                android:paddingHorizontal="16dp" />
145        </FrameLayout>
146    </LinearLayout>
147</LinearLayout>
148