fix: Add build script and fix manifest

- Add build-apk.sh for easy compilation
- Simplify AndroidManifest.xml
- Fix themes.xml to use basic Android themes
- Enable BuildConfig
- Add okhttp-dnsoverhttps dependency
This commit is contained in:
Renato
2026-01-28 22:36:38 +00:00
parent d3ce7872e7
commit 2ccdf3a78c
11853 changed files with 741631 additions and 543 deletions

View File

@@ -0,0 +1,49 @@
<?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.
-->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<include
layout="@layout/date_picker_header_material"
android:layout_width="168dp"
android:layout_height="match_parent" />
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:orientation="vertical">
<include
layout="@layout/date_picker_view_animator_material"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" />
<ViewStub
android:id="@id/buttonPanel"
android:layout="@layout/alert_dialog_button_bar_material"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/day_picker_button_margin_top" />
</LinearLayout>
</LinearLayout>

View File

@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2007 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.
-->
<com.android.internal.view.menu.IconMenuView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+android:id/icon_menu"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:rowHeight="66dip"
android:maxItems="6"
android:maxRows="2"
android:maxItemsPerRow="6" />

View File

@@ -0,0 +1,280 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2008 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.
-->
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<LinearLayout
android:id="@+id/body"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="start"
android:orientation="vertical" >
<!-- Placeholder for the success message or one or more warnings -->
<LinearLayout
android:id="@+id/placeholder"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:layout_marginTop="12dip"
android:orientation="vertical" />
<!-- Dialog-title line separator -->
<ImageView
android:id="@+id/title_separator"
android:src="@android:drawable/divider_horizontal_dark"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scaleType="fitXY"
android:layout_weight="1"
android:gravity="fill_horizontal"
android:layout_marginStart="20dip"
android:layout_marginEnd="20dip"/>
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:shrinkColumns="1"
android:orientation="vertical">
<!-- Issued to: -->
<TextView
android:id="@+id/issued_to_header"
android:text="@string/issued_to"
android:textStyle="bold"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:layout_marginTop="12dip"
android:layout_marginStart="20dip"
android:layout_marginEnd="20dip"
android:layout_marginBottom="7dip" />
<!-- Common name: -->
<TableRow>
<TextView
android:id="@+id/to_common_header"
android:text="@string/common_name"
android:layout_marginStart="20dip" />
<TextView
android:id="@+id/to_common"
android:layout_marginStart="10dip"
android:layout_marginEnd="20dip"
android:layout_marginBottom="7dip" />
</TableRow>
<!-- Organization: -->
<TableRow>
<TextView
android:id="@+id/to_org_header"
android:text="@string/org_name"
android:layout_marginStart="20dip" />
<TextView
android:id="@+id/to_org"
android:layout_marginStart="10dip"
android:layout_marginEnd="20dip"
android:layout_marginBottom="7dip" />
</TableRow>
<!-- Organizational unit: -->
<TableRow>
<TextView
android:id="@+id/to_org_unit_header"
android:text="@string/org_unit"
android:layout_marginStart="20dip" />
<TextView
android:id="@+id/to_org_unit"
android:layout_marginStart="10dip"
android:layout_marginEnd="20dip"
android:layout_marginBottom="7dip" />
</TableRow>
<!-- Serial number: -->
<TableRow>
<TextView
android:id="@+id/serial_number_header"
android:text="@string/serial_number"
android:layout_marginStart="20dip" />
<TextView
android:id="@+id/serial_number"
android:layout_marginStart="10dip"
android:layout_marginEnd="20dip"
android:layout_marginBottom="7dip" />
</TableRow>
<!-- Issued by: -->
<TextView
android:id="@+id/issued_to_header"
android:text="@string/issued_by"
android:textStyle="bold"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:layout_marginTop="12dip"
android:layout_marginStart="20dip"
android:layout_marginEnd="20dip"
android:layout_marginBottom="7dip" />
<!-- Common name: -->
<TableRow>
<TextView
android:id="@+id/by_common_header"
android:text="@string/common_name"
android:layout_marginStart="20dip" />
<TextView
android:id="@+id/by_common"
android:layout_marginStart="10dip"
android:layout_marginEnd="20dip"
android:layout_marginBottom="7dip" />
</TableRow>
<!-- Organization: -->
<TableRow>
<TextView
android:id="@+id/by_org_header"
android:text="@string/org_name"
android:layout_marginStart="20dip" />
<TextView
android:id="@+id/by_org"
android:layout_marginStart="10dip"
android:layout_marginEnd="20dip"
android:layout_marginBottom="7dip" />
</TableRow>
<!-- Organizational unit: -->
<TableRow>
<TextView
android:id="@+id/by_org_unit_header"
android:text="@string/org_unit"
android:layout_marginStart="20dip" />
<TextView
android:id="@+id/by_org_unit"
android:layout_marginStart="10dip"
android:layout_marginEnd="20dip"
android:layout_marginBottom="7dip" />
</TableRow>
<!-- Validity Dates: -->
<TextView
android:id="@+id/validity_header"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:text="@string/validity_period"
android:textStyle="bold"
android:layout_marginTop="12dip"
android:layout_marginStart="20dip"
android:layout_marginEnd="20dip"
android:layout_marginBottom="7dip" />
<!-- Issued On: -->
<TableRow>
<TextView
android:id="@+id/issued_on_header"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/issued_on"
android:layout_marginStart="20dip" />
<TextView
android:id="@+id/issued_on"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:layout_marginStart="10dip"
android:layout_marginEnd="20dip"
android:layout_marginBottom="7dip" />
</TableRow>
<!-- Expires On: -->
<TableRow>
<TextView
android:id="@+id/expires_on_header"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/expires_on"
android:layout_marginStart="20dip" />
<TextView
android:id="@+id/expires_on"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:layout_marginStart="10dip"
android:layout_marginEnd="20dip"
android:layout_marginBottom="7dip" />
</TableRow>
<!-- Fingerprints: -->
<TextView
android:id="@+id/fingerprints"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:text="@string/fingerprints"
android:textStyle="bold"
android:layout_marginTop="12dip"
android:layout_marginStart="20dip"
android:layout_marginEnd="20dip"
android:layout_marginBottom="7dip" />
<!-- SHA-256 fingerprint: -->
<TableRow>
<TextView
android:id="@+id/sha256_fingerprint_header"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/sha256_fingerprint"
android:layout_marginStart="20dip" />
<TextView
android:id="@+id/sha256_fingerprint"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:layout_marginStart="10dip"
android:layout_marginEnd="20dip"
android:layout_marginBottom="7dip" />
</TableRow>
<!-- SHA-1 fingerprint: -->
<TableRow>
<TextView
android:id="@+id/sha1_fingerprint_header"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/sha1_fingerprint"
android:layout_marginStart="20dip" />
<TextView
android:id="@+id/sha1_fingerprint"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:layout_marginStart="10dip"
android:layout_marginEnd="20dip"
android:layout_marginBottom="7dip" />
</TableRow>
</TableLayout>
</LinearLayout>
</ScrollView>

View File

@@ -0,0 +1,184 @@
<?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.
-->
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<RelativeLayout
android:id="@+id/time_header"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:gravity="center"
android:paddingStart="?attr/dialogPreferredPadding"
android:paddingEnd="?attr/dialogPreferredPadding">
<LinearLayout
android:id="@+id/time_layout"
android:layoutDirection="ltr"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:paddingTop="@dimen/timepicker_radial_picker_top_margin"
android:orientation="horizontal">
<!-- The hour should always be to the left of the separator,
regardless of the current locale's layout direction. -->
<com.android.internal.widget.NumericTextView
android:id="@+id/hours"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="@style/TextAppearance.Material.TimePicker.TimeLabel"
android:background="@drawable/time_picker_editable_background"
android:singleLine="true"
android:ellipsize="none"
android:gravity="right"
android:focusable="true"
android:pointerIcon="hand"
android:nextFocusForward="@+id/minutes" />
<TextView
android:id="@+id/separator"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="@style/TextAppearance.Material.TimePicker.TimeLabel"
android:importantForAccessibility="no"
android:includeFontPadding="false" />
<!-- The minutes should always be to the right of the separator,
regardless of the current locale's layout direction. -->
<com.android.internal.widget.NumericTextView
android:id="@+id/minutes"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="@style/TextAppearance.Material.TimePicker.TimeLabel"
android:background="@drawable/time_picker_editable_background"
android:singleLine="true"
android:ellipsize="none"
android:gravity="left"
android:focusable="true"
android:pointerIcon="hand"
android:nextFocusForward="@+id/am_label" />
</LinearLayout>
<RadioGroup
android:id="@+id/ampm_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/time_layout"
android:layout_centerHorizontal="true"
android:paddingTop="4dp"
android:paddingBottom="4dp"
android:orientation="vertical"
android:layoutDirection="locale">
<RadioButton
android:id="@+id/am_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="8dp"
android:layout_marginBottom="-8dp"
android:textAppearance="@style/TextAppearance.Material.TimePicker.AmPmLabel"
android:lines="1"
android:ellipsize="none"
android:focusable="true"
android:background="?android:attr/selectableItemBackground"
android:includeFontPadding="false"
android:nextFocusForward="@+id/pm_label"
android:button="@null" />
<RadioButton
android:id="@+id/pm_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="8dp"
android:textAppearance="@style/TextAppearance.Material.TimePicker.AmPmLabel"
android:lines="1"
android:ellipsize="none"
android:focusable="true"
android:background="?android:attr/selectableItemBackground"
android:includeFontPadding="false"
android:button="@null" />
</RadioGroup>
</RelativeLayout>
<TextView
android:visibility="gone"
android:id="@+id/input_header"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:gravity="center"
android:paddingStart="@dimen/dialog_padding_material"
android:paddingEnd="@dimen/dialog_padding_material"
android:paddingTop="20dp"
android:paddingBottom="20dp"
android:includeFontPadding="false"
android:textAppearance="@style/TextAppearance.Material.TimePicker.InputHeader"
android:text="@string/time_picker_header_text"/>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<android.widget.RadialTimePickerView
android:id="@+id/radial_picker"
android:layout_width="@dimen/timepicker_radial_picker_dimen"
android:layout_height="@dimen/timepicker_radial_picker_dimen"
android:layout_gravity="center|fill"
android:layout_marginTop="@dimen/timepicker_radial_picker_top_margin"
android:layout_marginStart="@dimen/timepicker_radial_picker_horizontal_margin"
android:layout_marginEnd="@dimen/timepicker_radial_picker_horizontal_margin"
android:layoutDirection="locale" />
<android.widget.TextInputTimePickerView
android:id="@+id/input_mode"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingStart="?attr/dialogPreferredPadding"
android:paddingEnd="?attr/dialogPreferredPadding"
android:visibility="gone" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageButton
android:id="@+id/toggle_mode"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginStart="12dp"
android:layout_marginEnd="12dp"
android:padding="12dp"
android:background="?attr/selectableItemBackgroundBorderless"
android:tint="?attr/colorControlNormal"
android:src="@drawable/btn_keyboard_key_material"
android:contentDescription="@string/time_picker_text_input_mode_description" />
<Space
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1" />
<ViewStub
android:id="@id/buttonPanel"
android:layout="@layout/alert_dialog_button_bar_material"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layoutDirection="locale" />
</LinearLayout>
</LinearLayout>
</LinearLayout>