1 <?xml version="1.0" encoding="utf-8"?>
4 Copyright © 2016-2018 Soren Stoutner <soren@stoutner.com>.
6 This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
8 Privacy Browser is free software: you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by
10 the Free Software Foundation, either version 3 of the License, or
11 (at your option) any later version.
13 Privacy Browser is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
18 You should have received a copy of the GNU General Public License
19 along with Privacy Browser. If not, see <http://www.gnu.org/licenses/>. -->
21 <!-- The `ScrollView` allows the `LinearLayout` to scroll if it exceeds the height of the page. -->
23 xmlns:android="http://schemas.android.com/apk/res/android"
24 xmlns:tools="http://schemas.android.com/tools"
25 android:layout_height="wrap_content"
26 android:layout_width="match_parent"
27 android:background="?attr/aboutBackground" >
30 android:layout_height="wrap_content"
31 android:layout_width="match_parent"
32 android:orientation="vertical"
33 android:padding="16dp" >
35 <!-- The `RelativeLayout` contains the header. -->
37 android:layout_width="match_parent"
38 android:layout_height="wrap_content" >
40 <!--`tools:ignore="RtlSymmetry"` suppressed the lint warning about adding `android:paddingStart`, which wouldn't work with this layout.
41 `tools:ignore="ContentDescription"` suppresses the lint warning about supplying a content description for the `ImageView`,
42 which isn't needed in this case because the `ImageView` is only decorative. -->
44 android:id="@+id/icon"
45 android:layout_height="wrap_content"
46 android:layout_width="wrap_content"
47 android:src="@mipmap/privacy_browser"
48 android:paddingTop="10dp"
49 android:paddingEnd="5dp"
50 tools:ignore="RtlSymmetry,ContentDescription" />
53 android:id="@+id/privacy_browser_textview"
54 android:layout_height="wrap_content"
55 android:layout_width="wrap_content"
56 android:text="@string/privacy_browser"
57 android:textStyle="bold"
58 android:textSize="22sp"
59 android:textColor="?attr/aboutTitle"
60 android:paddingTop="12dp"
61 android:layout_toEndOf="@id/icon" />
64 android:id="@+id/version"
65 android:layout_height="wrap_content"
66 android:layout_width="wrap_content"
67 android:textColor="?attr/aboutText"
68 android:textIsSelectable="true"
69 android:layout_below="@id/privacy_browser_textview"
70 android:layout_toEndOf="@id/icon" />
73 <!-- The purpose of this `LinearLayout` is to provide padding on the start of the `TextViews` to make them line up with `about_version_icon`.
74 Although we don't need it, we have to include `android:paddingEnd` to make lint happy. -->
76 android:layout_height="wrap_content"
77 android:layout_width="match_parent"
78 android:orientation="vertical"
79 android:paddingTop="16dp"
80 android:paddingStart="4dp"
81 android:paddingEnd="0dp" >
85 android:layout_height="wrap_content"
86 android:layout_width="wrap_content"
87 android:text="@string/hardware"
88 android:textStyle="bold"
89 android:textSize="18sp"
90 android:textColor="?attr/aboutTitle" />
93 android:id="@+id/brand"
94 android:layout_height="wrap_content"
95 android:layout_width="wrap_content"
96 android:textIsSelectable="true" />
99 android:id="@+id/manufacturer"
100 android:layout_height="wrap_content"
101 android:layout_width="wrap_content"
102 android:textIsSelectable="true" />
105 android:id="@+id/model"
106 android:layout_height="wrap_content"
107 android:layout_width="wrap_content"
108 android:textIsSelectable="true" />
111 android:id="@+id/device"
112 android:layout_height="wrap_content"
113 android:layout_width="wrap_content"
114 android:textIsSelectable="true" />
117 android:id="@+id/bootloader"
118 android:layout_height="wrap_content"
119 android:layout_width="wrap_content"
120 android:textIsSelectable="true" />
123 android:id="@+id/radio"
124 android:layout_height="wrap_content"
125 android:layout_width="wrap_content"
126 android:textIsSelectable="true" />
130 android:layout_height="wrap_content"
131 android:layout_width="wrap_content"
132 android:text="@string/software"
133 android:textStyle="bold"
134 android:textSize="18sp"
135 android:textColor="?attr/aboutTitle"
136 android:paddingTop="12dp" />
139 android:id="@+id/android"
140 android:layout_height="wrap_content"
141 android:layout_width="wrap_content"
142 android:textIsSelectable="true" />
145 android:id="@+id/security_patch"
146 android:layout_height="wrap_content"
147 android:layout_width="wrap_content"
148 android:textIsSelectable="true" />
151 android:id="@+id/build"
152 android:layout_height="wrap_content"
153 android:layout_width="wrap_content"
154 android:textIsSelectable="true" />
157 android:id="@+id/webview_provider"
158 android:layout_height="wrap_content"
159 android:layout_width="wrap_content"
160 android:textIsSelectable="true" />
163 android:id="@+id/webview_version"
164 android:layout_height="wrap_content"
165 android:layout_width="wrap_content"
166 android:textIsSelectable="true" />
169 android:id="@+id/orbot"
170 android:layout_height="wrap_content"
171 android:layout_width="wrap_content"
172 android:textIsSelectable="true" />
175 android:id="@+id/open_keychain"
176 android:layout_height="wrap_content"
177 android:layout_width="wrap_content"
178 android:textIsSelectable="true" />
180 <!-- Block Lists. -->
182 android:layout_height="wrap_content"
183 android:layout_width="wrap_content"
184 android:text="@string/blocklists"
185 android:textStyle="bold"
186 android:textSize="18sp"
187 android:textColor="?attr/aboutTitle"
188 android:paddingTop="12dp" />
191 android:id="@+id/easylist"
192 android:layout_height="wrap_content"
193 android:layout_width="wrap_content"
194 android:textIsSelectable="true" />
197 android:id="@+id/easyprivacy"
198 android:layout_height="wrap_content"
199 android:layout_width="wrap_content"
200 android:textIsSelectable="true" />
203 android:id="@+id/fanboy_annoyance"
204 android:layout_height="wrap_content"
205 android:layout_width="wrap_content"
206 android:textIsSelectable="true" />
209 android:id="@+id/fanboy_social"
210 android:layout_height="wrap_content"
211 android:layout_width="wrap_content"
212 android:textIsSelectable="true" />
215 android:id="@+id/ultralist"
216 android:layout_height="wrap_content"
217 android:layout_width="wrap_content"
218 android:textIsSelectable="true" />
221 android:id="@+id/ultraprivacy"
222 android:layout_height="wrap_content"
223 android:layout_width="wrap_content"
224 android:textIsSelectable="true" />
226 <!-- Package Signature. -->
228 android:layout_height="wrap_content"
229 android:layout_width="wrap_content"
230 android:text="@string/package_signature"
231 android:textStyle="bold"
232 android:textSize="18sp"
233 android:textColor="?attr/aboutTitle"
234 android:paddingTop="12dp" />
237 android:id="@+id/certificate_issuer_dn"
238 android:layout_height="wrap_content"
239 android:layout_width="wrap_content"
240 android:textIsSelectable="true" />
243 android:id="@+id/certificate_subject_dn"
244 android:layout_height="wrap_content"
245 android:layout_width="wrap_content"
246 android:textIsSelectable="true" />
249 android:id="@+id/certificate_start_date"
250 android:layout_height="wrap_content"
251 android:layout_width="wrap_content"
252 android:textIsSelectable="true" />
255 android:id="@+id/certificate_end_date"
256 android:layout_height="wrap_content"
257 android:layout_width="wrap_content"
258 android:textIsSelectable="true" />
261 android:id="@+id/certificate_version"
262 android:layout_height="wrap_content"
263 android:layout_width="wrap_content"
264 android:textIsSelectable="true" />
267 android:id="@+id/certificate_serial_number"
268 android:layout_height="wrap_content"
269 android:layout_width="wrap_content"
270 android:textIsSelectable="true" />
273 android:id="@+id/certificate_signature_algorithm"
274 android:layout_height="wrap_content"
275 android:layout_width="wrap_content"
276 android:textIsSelectable="true" />