UI refactoring with a Bottom App Bar.

Only one button to play/stop.
Stop Activity to edit track just recorded, resuming or finishing.
Logo color to FF6D00.
Fixes #1078 #437 #575 #1094.
This commit is contained in:
Román Ginés
2022-03-11 18:31:27 +01:00
committed by Román Martínez
parent a350077e5c
commit da62d26409
71 changed files with 2194 additions and 2024 deletions
-19
View File
@@ -1,19 +0,0 @@
<?xml version="1.0" encoding="utf-8"?><!--
Copyright 2013 Google Inc.
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.
-->
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/ic_button_record_pressed" android:state_pressed="true" />
<item android:drawable="@drawable/ic_button_record" />
</selector>
-6
View File
@@ -1,6 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/ic_button_stop_disabled" android:state_enabled="false" />
<item android:drawable="@drawable/ic_button_stop_pressed" android:state_pressed="true" />
<item android:drawable="@drawable/ic_button_stop" />
</selector>
@@ -1,6 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<transition xmlns:android="http://schemas.android.com/apk/res/android">
<!-- The drawables used here can be solid colors, gradients, shapes, images, etc. -->
<item android:drawable="@color/track_controller_background_normal" />
<item android:drawable="@color/track_controller_background_activated" />
</transition>
@@ -0,0 +1,11 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="?attr/colorControlNormal"
android:autoMirrored="true">
<path
android:fillColor="@android:color/white"
android:pathData="M20,11H7.83l5.59,-5.59L12,4l-8,8 8,8 1.41,-1.41L7.83,13H20v-2z"/>
</vector>
@@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="?attr/colorControlNormal">
<path
android:fillColor="@android:color/white"
android:pathData="M12,12m-8,0a8,8 0,1 1,16 0a8,8 0,1 1,-16 0"/>
</vector>
@@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="?attr/colorControlNormal">
<path
android:fillColor="@android:color/white"
android:pathData="M6,6h12v12H6z"/>
</vector>
+23
View File
@@ -0,0 +1,23 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="125dp"
android:height="125dp"
android:viewportWidth="125"
android:viewportHeight="125">
<path
android:pathData="M62.5,62.5m-59.984,0a59.984,59.984 0,1 1,119.968 0a59.984,59.984 0,1 1,-119.968 0"
android:strokeWidth="5.03185"
android:fillColor="#00000000"
android:strokeColor="#ff6d00"/>
<path
android:pathData="M62.5,62.5m-50,0a50,50 0,1 1,100 0a50,50 0,1 1,-100 0"
android:strokeWidth="6.91728"
android:fillColor="#ff6d00"
android:strokeColor="#00000000"/>
<path
android:pathData="M38.62,63.866 L52.899,78.144 86.38,44.664"
android:strokeLineJoin="miter"
android:strokeWidth="6.2"
android:fillColor="#00000000"
android:strokeColor="#ffffff"
android:strokeLineCap="butt"/>
</vector>
@@ -0,0 +1,22 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="125dp"
android:height="125dp"
android:viewportWidth="125"
android:viewportHeight="125">
<path
android:pathData="M62.5,62.5m-59.984,0a59.984,59.984 0,1 1,119.968 0a59.984,59.984 0,1 1,-119.968 0"
android:strokeWidth="5.03185"
android:fillColor="#00000000"
android:strokeColor="#ff6d00"/>
<path
android:pathData="M62.5,62.5m-50,0a50,50 0,1 1,100 0a50,50 0,1 1,-100 0"
android:strokeWidth="6.91728"
android:fillColor="#ff6d00"
android:strokeColor="#00000000"/>
<path
android:pathData="M87.6,62.5 L67.991,73.822 48.381,85.143l-0,-22.643 0,-22.643 19.61,11.322z"
android:strokeWidth="6.67087"
android:fillColor="#ffffff"
android:strokeColor="#00000000"
android:strokeLineCap="round"/>
</vector>
+5 -5
View File
@@ -7,16 +7,16 @@
<path android:pathData="M82.489,12.834C83.196,10.418 82.043,9.556 79.926,10.917L10.087,55.828c-2.117,1.361 -1.795,2.628 0.714,2.815L39.806,60.807c2.51,0.188 5.291,2.267 6.18,4.621l10.282,27.208c0.89,2.354 2.195,2.304 2.902,-0.111z">
<aapt:attr name="android:fillColor">
<gradient
android:endX="81.73018"
android:endY="11.204678"
android:startX="27.696081"
android:startY="83.44198"
android:endX="70.0"
android:endY="30.0"
android:startX="7.0"
android:startY="83.0"
android:type="linear">
<item
android:color="#FFFBB22F"
android:offset="0" />
<item
android:color="#FFF58820"
android:color="#FFFF6D00"
android:offset="1" />
</gradient>
</aapt:attr>
-16
View File
@@ -1,16 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="32dp"
android:height="32dp"
android:viewportWidth="48"
android:viewportHeight="48">
<path
android:fillAlpha="1"
android:fillColor="#a31a1f"
android:pathData="M15,14h5v20h-5z"
android:strokeWidth="1.01154423" />
<path
android:fillAlpha="1"
android:fillColor="#a31a1f"
android:pathData="M27,14h5v20h-5z"
android:strokeWidth="1.01154423" />
</vector>
@@ -1,66 +0,0 @@
<?xml version="1.0" encoding="utf-8"?><!--
Copyright 2013 Google Inc.
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:id="@+id/controller_container"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="@drawable/controller_background"
android:orientation="vertical"
android:paddingStart="8dp"
android:paddingEnd="8dp">
<ImageButton
android:id="@+id/controller_record"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="10"
android:background="@android:color/transparent"
android:contentDescription="@string/image_record"
android:src="@drawable/ic_button_record" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="6">
<TextView
android:id="@+id/controller_total_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="?attr/textAppearanceSubtitle2"
android:layout_centerInParent="true"
android:textColor="@android:color/white" />
<TextView
android:id="@+id/controller_status"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="?attr/textAppearanceSubtitle2"
android:layout_above="@id/controller_total_time"
android:layout_centerHorizontal="true"
android:singleLine="true" />
</RelativeLayout>
<ImageButton
android:id="@+id/controller_stop"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="10"
android:background="@android:color/transparent"
android:contentDescription="@string/image_stop"
android:src="@drawable/button_stop" />
</LinearLayout>
-100
View File
@@ -1,100 +0,0 @@
<?xml version="1.0" encoding="utf-8"?><!--
Copyright 2013 Google Inc.
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:baselineAligned="false"
android:orientation="vertical">
<include layout="@layout/toolbar" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:baselineAligned="false"
android:orientation="horizontal">
<androidx.fragment.app.FragmentContainerView
android:id="@+id/controller_fragment"
android:name="de.dennisguse.opentracks.ControllerFragment"
android:layout_width="wrap_content"
android:layout_height="match_parent" />
<ListView
android:id="@+id/track_list"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1.0" />
<RelativeLayout
android:id="@+id/track_list_empty_view"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1.0">
<LinearLayout
android:id="@+id/track_list_arrow_long"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentStart="true"
android:orientation="vertical"
android:paddingStart="12dp"
android:paddingEnd="16dp">
<View
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="10"
android:contentDescription="@string/image_arrow"
android:src="@drawable/ic_arrow_long" />
<View
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="17" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_toEndOf="@id/track_list_arrow_long"
android:orientation="vertical">
<View
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="4" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="24">
<TextView
style="?attr/textAppearanceHeadline6"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/track_list_empty_message" />
</LinearLayout>
</LinearLayout>
</RelativeLayout>
</LinearLayout>
</LinearLayout>
@@ -1,47 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<include layout="@layout/toolbar" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<androidx.fragment.app.FragmentContainerView
android:id="@+id/controller_fragment"
android:name="de.dennisguse.opentracks.ControllerFragment"
android:layout_width="wrap_content"
android:layout_height="match_parent" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<com.google.android.material.tabs.TabLayout
android:id="@+id/track_detail_activity_tablayout"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<androidx.coordinatorlayout.widget.CoordinatorLayout
android:id="@+id/track_recording_coordinator_layout"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
<androidx.viewpager2.widget.ViewPager2
android:id="@+id/track_detail_activity_view_pager"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
</LinearLayout>
</LinearLayout>
</LinearLayout>
+105 -97
View File
@@ -1,117 +1,125 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
android:layout_height="match_parent">
<include layout="@layout/toolbar" />
<ScrollView
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingBottom="50dp">
<LinearLayout
<ScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="20dp">
android:layout_height="wrap_content">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_margin="8dp">
android:orientation="vertical"
android:padding="20dp">
<ImageView
android:id="@+id/imageView"
android:layout_width="30dp"
android:layout_height="match_parent"
android:contentDescription="@string/app_name"
android:scaleType="fitCenter"
android:src="@drawable/ic_logo_color_24dp" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_margin="8dp">
<ImageView
android:id="@+id/imageView"
android:layout_width="30dp"
android:layout_height="match_parent"
android:contentDescription="@string/app_name"
android:scaleType="fitCenter"
android:src="@drawable/ic_logo_color_24dp" />
<TextView
android:id="@+id/about_text_description"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textAppearance="?attr/textAppearanceSubtitle1"
android:gravity="center"
android:padding="12dp" />
</LinearLayout>
<View style="@style/HorizontalLine" />
<TextView
android:id="@+id/about_text_description"
android:id="@+id/about_text_version_name"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_height="wrap_content"
android:textAppearance="?attr/textAppearanceSubtitle1"
android:gravity="center"
android:padding="12dp" />
android:padding="6dp" />
<TextView
android:id="@+id/about_text_version_code"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="?attr/textAppearanceBody1"
android:gravity="center"
android:padding="6dp" />
<TextView
android:id="@+id/about_app_url"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="?attr/textAppearanceBody1"
android:autoLink="web"
android:gravity="center"
android:padding="6dp" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="?attr/textAppearanceBody1"
android:gravity="center"
android:linksClickable="true"
android:padding="6dp"
android:text="@string/about_history" />
<View style="@style/HorizontalLine" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="?attr/textAppearanceBody1"
android:gravity="center"
android:padding="12dp"
android:text="@string/about_third_party_data" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="?attr/textAppearanceBody1"
android:gravity="center"
android:padding="12dp"
android:text="@string/third_party_data" />
<View style="@style/HorizontalLine" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="?attr/textAppearanceSubtitle1"
android:gravity="center"
android:padding="12dp"
android:text="@string/about_libraries" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="?attr/textAppearanceBody1"
android:gravity="center"
android:linksClickable="true"
android:text="@string/third_party_libraries" />
</LinearLayout>
</ScrollView>
<View style="@style/HorizontalLine" />
</LinearLayout>
<TextView
android:id="@+id/about_text_version_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="?attr/textAppearanceSubtitle1"
android:gravity="center"
android:padding="6dp" />
<include android:id="@+id/bottom_app_bar_layout" layout="@layout/bottomappbar" />
<TextView
android:id="@+id/about_text_version_code"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="?attr/textAppearanceBody1"
android:gravity="center"
android:padding="6dp" />
<TextView
android:id="@+id/about_app_url"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="?attr/textAppearanceBody1"
android:autoLink="web"
android:gravity="center"
android:padding="6dp" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="?attr/textAppearanceBody1"
android:gravity="center"
android:linksClickable="true"
android:padding="6dp"
android:text="@string/about_history" />
<View style="@style/HorizontalLine" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="?attr/textAppearanceBody1"
android:gravity="center"
android:padding="12dp"
android:text="@string/about_third_party_data" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="?attr/textAppearanceBody1"
android:gravity="center"
android:padding="12dp"
android:text="@string/third_party_data" />
<View style="@style/HorizontalLine" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="?attr/textAppearanceSubtitle1"
android:gravity="center"
android:padding="12dp"
android:text="@string/about_libraries" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="?attr/textAppearanceBody1"
android:gravity="center"
android:linksClickable="true"
android:text="@string/third_party_libraries" />
</LinearLayout>
</ScrollView>
</LinearLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
@@ -1,53 +1,61 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical">
android:layout_height="match_parent">
<include layout="@layout/toolbar" />
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/rows_options_layout"
style="@style/Widget.MaterialComponents.TextInputLayout.FilledBox.ExposedDropdownMenu"
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/settings_recording_customize_layout_select_columns">
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:paddingBottom="60dp">
<de.dennisguse.opentracks.ui.util.AutoCompleteTextViewForDropdown
android:id="@+id/rows_options"
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/rows_options_layout"
style="@style/Widget.MaterialComponents.TextInputLayout.FilledBox.ExposedDropdownMenu"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="none" />
android:hint="@string/settings_recording_customize_layout_select_columns">
</com.google.android.material.textfield.TextInputLayout>
<de.dennisguse.opentracks.ui.util.AutoCompleteTextViewForDropdown
android:id="@+id/rows_options"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="none" />
<androidx.core.widget.NestedScrollView
android:id="@+id/scroll_view"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</com.google.android.material.textfield.TextInputLayout>
<androidx.constraintlayout.widget.ConstraintLayout
<androidx.core.widget.NestedScrollView
android:id="@+id/scroll_view"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recycler_view_visible"
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toTopOf="@id/recycler_view_not_visible" />
android:layout_height="wrap_content">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recycler_view_not_visible"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="24dp"
app:layout_constraintTop_toBottomOf="@id/recycler_view_visible"
app:layout_constraintBottom_toBottomOf="parent" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recycler_view_visible"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toTopOf="@id/recycler_view_not_visible" />
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recycler_view_not_visible"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="24dp"
app:layout_constraintTop_toBottomOf="@id/recycler_view_visible"
app:layout_constraintBottom_toBottomOf="parent" />
</androidx.core.widget.NestedScrollView>
</androidx.constraintlayout.widget.ConstraintLayout>
</LinearLayout>
</androidx.core.widget.NestedScrollView>
</LinearLayout>
<include android:id="@+id/bottom_app_bar_layout" layout="@layout/bottomappbar" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>
@@ -1,72 +1,80 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical">
<include layout="@layout/toolbar" />
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:id="@+id/custom_layout_list_add_linear_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:layout_height="match_parent"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_marginBottom="50dp"
android:visibility="gone"
tools:visibility="visible">
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/custom_layout_list_input_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
app:errorEnabled="true"
android:layout_margin="16dp">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/custom_layout_list_edit_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textCapWords"
android:imeOptions="actionDone"
android:hint="@string/custom_layout_list_edit_name" />
</com.google.android.material.textfield.TextInputLayout>
android:paddingBottom="60dp">
<LinearLayout
android:id="@+id/custom_layout_list_bottom_bar"
android:id="@+id/custom_layout_list_add_linear_layout"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:layout_margin="16dp"
android:gravity="end"
android:orientation="horizontal">
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="vertical"
android:layout_marginBottom="50dp"
android:visibility="gone"
tools:visibility="visible">
<com.google.android.material.button.MaterialButton
android:id="@+id/custom_layout_list_cancel_button"
android:layout_width="wrap_content"
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/custom_layout_list_input_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/Widget.MaterialComponents.Button.TextButton"
android:text="@android:string/cancel" />
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
app:errorEnabled="true"
android:layout_margin="16dp">
<com.google.android.material.button.MaterialButton
android:id="@+id/custom_layout_list_ok_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:enabled="false"
android:text="@android:string/ok" />
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/custom_layout_list_edit_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textCapWords"
android:imeOptions="actionDone"
android:hint="@string/custom_layout_list_edit_name" />
</com.google.android.material.textfield.TextInputLayout>
<LinearLayout
android:id="@+id/custom_layout_list_bottom_bar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:layout_margin="16dp"
android:gravity="end"
android:orientation="horizontal">
<com.google.android.material.button.MaterialButton
android:id="@+id/custom_layout_list_cancel_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/Widget.MaterialComponents.Button.TextButton"
android:text="@android:string/cancel" />
<com.google.android.material.button.MaterialButton
android:id="@+id/custom_layout_list_ok_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:enabled="false"
android:text="@android:string/ok" />
</LinearLayout>
<View style="@style/HorizontalLine" />
</LinearLayout>
<View style="@style/HorizontalLine" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recycler_view"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recycler_view"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<include android:id="@+id/bottom_app_bar_layout" layout="@layout/bottomappbar" />
</LinearLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
+25 -17
View File
@@ -1,23 +1,31 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
android:layout_height="match_parent">
<include layout="@layout/toolbar" />
<ListView
android:id="@+id/aggregated_stats_list"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<TextView
android:id="@+id/aggregated_stats_empty_view"
style="?attr/textAppearanceHeadline4"
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="16dp"
android:gravity="center_horizontal|center_vertical"
android:text="@string/aggregated_stats_empty_message" />
android:orientation="vertical"
android:paddingBottom="50dp">
</LinearLayout>
<ListView
android:id="@+id/aggregated_stats_list"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<TextView
android:id="@+id/aggregated_stats_empty_view"
style="?attr/textAppearanceHeadline4"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="16dp"
android:gravity="center_horizontal|center_vertical"
android:text="@string/aggregated_stats_empty_message" />
</LinearLayout>
<include android:id="@+id/bottom_app_bar_layout" layout="@layout/bottomappbar" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>
+36
View File
@@ -0,0 +1,36 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto">
<com.google.android.material.bottomappbar.BottomAppBar
android:id="@+id/bottom_app_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
app:navigationIcon="@drawable/ic_baseline_arrow_back_24">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/bottom_app_bar_title"
android:layout_width="0dp"
android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
android:maxLines="1"
android:singleLine="true"
android:text="@string/app_name"
android:textAppearance="@style/TextAppearance.OpenTracks.OnBottomBarText" />
</androidx.constraintlayout.widget.ConstraintLayout>
</com.google.android.material.bottomappbar.BottomAppBar>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
@@ -1,72 +0,0 @@
<?xml version="1.0" encoding="utf-8"?><!--
Copyright 2012 Google Inc.
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"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/controller_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/controller_background"
android:paddingTop="8dp"
android:paddingBottom="8dp">
<ImageButton
android:id="@+id/controller_record"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="10"
android:background="@android:color/transparent"
android:contentDescription="@string/image_record"
android:src="@drawable/ic_button_record" />
<RelativeLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_gravity="center"
android:layout_weight="6">
<TextView
android:id="@+id/controller_total_time"
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="?attr/textAppearanceSubtitle2"
android:layout_alignParentStart="true"
android:layout_centerVertical="true"
android:gravity="center"
android:textColor="@android:color/white"
tools:text="0:12:34" />
<TextView
android:id="@+id/controller_status"
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="?attr/textAppearanceSubtitle2"
android:layout_above="@id/controller_total_time"
android:layout_alignParentStart="true"
android:gravity="center"
android:singleLine="true"
tools:text="@string/generic_recording" />
</RelativeLayout>
<ImageButton
android:id="@+id/controller_stop"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="10"
android:background="@android:color/transparent"
android:contentDescription="@string/image_stop"
android:src="@drawable/button_stop" />
</LinearLayout>
+291 -284
View File
@@ -1,305 +1,312 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical">
android:layout_height="match_parent">
<include layout="@layout/toolbar" />
<androidx.core.widget.NestedScrollView
android:layout_weight="1"
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp">
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:paddingBottom="50dp">
<androidx.constraintlayout.widget.ConstraintLayout
<androidx.core.widget.NestedScrollView
android:layout_weight="1"
android:layout_width="match_parent"
android:layout_height="match_parent">
android:layout_height="0dp">
<androidx.constraintlayout.widget.Guideline
android:id="@+id/guideline_vertical_half"
android:layout_width="0dp"
android:layout_height="0dp"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.7" />
<TextView
android:id="@+id/export_progress_done"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="?attr/textAppearanceSubtitle1"
android:layout_marginStart="24dp"
android:layout_marginTop="48dp"
app:layout_constraintEnd_toStartOf="@id/export_progress_slash"
app:layout_constraintHorizontal_chainStyle="packed"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:text="1" />
<TextView
android:id="@+id/export_progress_slash"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="?attr/textAppearanceSubtitle1"
android:text="@string/generic_separator_done_total"
app:layout_constraintBottom_toBottomOf="@id/export_progress_done"
app:layout_constraintEnd_toStartOf="@id/export_progress_total"
app:layout_constraintStart_toEndOf="@id/export_progress_done"
app:layout_constraintTop_toTopOf="@id/export_progress_done" />
<TextView
android:id="@+id/export_progress_total"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="?attr/textAppearanceSubtitle1"
android:layout_marginEnd="24dp"
app:layout_constraintBottom_toBottomOf="@id/export_progress_slash"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/export_progress_slash"
app:layout_constraintTop_toTopOf="@id/export_progress_slash"
tools:text="10" />
<com.google.android.material.progressindicator.LinearProgressIndicator
android:id="@+id/export_progress_bar"
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_weight="1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="24dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="24dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/export_progress_done"
tools:progress="25" />
android:layout_height="match_parent">
<!-- Start Summary -->
<!-- Tracks exported (new tracks) -->
<TextView
android:id="@+id/export_progress_summary_new_msg"
android:layout_width="0dp"
android:layout_height="wrap_content"
style="?attr/textAppearanceSubtitle1"
android:gravity="end"
android:layout_margin="16dp"
android:text="@string/export_progress_summary_new_msg"
app:layout_constraintEnd_toEndOf="@id/guideline_vertical_half"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/export_progress_bar" />
<androidx.constraintlayout.widget.Guideline
android:id="@+id/guideline_vertical_half"
android:layout_width="0dp"
android:layout_height="0dp"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.7" />
<TextView
android:id="@+id/export_progress_summary_new"
android:layout_width="0dp"
android:layout_height="wrap_content"
style="?attr/textAppearanceSubtitle1"
app:layout_constraintBottom_toBottomOf="@id/export_progress_summary_new_msg"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/guideline_vertical_half"
app:layout_constraintTop_toTopOf="@id/export_progress_summary_new_msg"
tools:text="10" />
<TextView
android:id="@+id/export_progress_done"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="?attr/textAppearanceSubtitle1"
android:layout_marginStart="24dp"
android:layout_marginTop="48dp"
app:layout_constraintEnd_toStartOf="@id/export_progress_slash"
app:layout_constraintHorizontal_chainStyle="packed"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:text="1" />
<androidx.constraintlayout.widget.Barrier
android:id="@+id/export_progress_summary_new_barrier"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:barrierDirection="bottom"
app:constraint_referenced_ids="export_progress_summary_new_msg,export_progress_summary_new" />
<TextView
android:id="@+id/export_progress_slash"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="?attr/textAppearanceSubtitle1"
android:text="@string/generic_separator_done_total"
app:layout_constraintBottom_toBottomOf="@id/export_progress_done"
app:layout_constraintEnd_toStartOf="@id/export_progress_total"
app:layout_constraintStart_toEndOf="@id/export_progress_done"
app:layout_constraintTop_toTopOf="@id/export_progress_done" />
<androidx.constraintlayout.widget.Group
android:id="@+id/export_progress_summary_new_group"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
<TextView
android:id="@+id/export_progress_total"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="?attr/textAppearanceSubtitle1"
android:layout_marginEnd="24dp"
app:layout_constraintBottom_toBottomOf="@id/export_progress_slash"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/export_progress_slash"
app:layout_constraintTop_toTopOf="@id/export_progress_slash"
tools:text="10" />
<com.google.android.material.progressindicator.LinearProgressIndicator
android:id="@+id/export_progress_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="24dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="24dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/export_progress_done"
tools:progress="25" />
<!-- Start Summary -->
<!-- Tracks exported (new tracks) -->
<TextView
android:id="@+id/export_progress_summary_new_msg"
android:layout_width="0dp"
android:layout_height="wrap_content"
style="?attr/textAppearanceSubtitle1"
android:gravity="end"
android:layout_margin="16dp"
android:text="@string/export_progress_summary_new_msg"
app:layout_constraintEnd_toEndOf="@id/guideline_vertical_half"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/export_progress_bar" />
<TextView
android:id="@+id/export_progress_summary_new"
android:layout_width="0dp"
android:layout_height="wrap_content"
style="?attr/textAppearanceSubtitle1"
app:layout_constraintBottom_toBottomOf="@id/export_progress_summary_new_msg"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/guideline_vertical_half"
app:layout_constraintTop_toTopOf="@id/export_progress_summary_new_msg"
tools:text="10" />
<androidx.constraintlayout.widget.Barrier
android:id="@+id/export_progress_summary_new_barrier"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:barrierDirection="bottom"
app:constraint_referenced_ids="export_progress_summary_new_msg,export_progress_summary_new" />
<androidx.constraintlayout.widget.Group
android:id="@+id/export_progress_summary_new_group"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone"
tools:visibility="visible"
app:constraint_referenced_ids="export_progress_summary_new_msg,export_progress_summary_new" />
<!-- Tracks overwritten -->
<TextView
android:id="@+id/export_progress_summary_overwrite_msg"
android:layout_width="0dp"
android:layout_height="wrap_content"
style="?attr/textAppearanceSubtitle1"
android:gravity="end"
android:layout_margin="16dp"
android:text="@string/export_progress_summary_overwrite_msg"
app:layout_constraintEnd_toEndOf="@id/guideline_vertical_half"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/export_progress_summary_new_barrier" />
<TextView
android:id="@+id/export_progress_summary_overwrite"
android:layout_width="0dp"
android:layout_height="wrap_content"
style="?attr/textAppearanceSubtitle1"
app:layout_constraintBottom_toBottomOf="@id/export_progress_summary_overwrite_msg"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/guideline_vertical_half"
app:layout_constraintTop_toTopOf="@id/export_progress_summary_overwrite_msg"
tools:text="10" />
<androidx.constraintlayout.widget.Barrier
android:id="@+id/export_progress_summary_overwrite_barrier"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:barrierDirection="bottom"
app:constraint_referenced_ids="export_progress_summary_overwrite_msg,export_progress_summary_overwrite" />
<androidx.constraintlayout.widget.Group
android:id="@+id/export_progress_summary_overwrite_group"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone"
tools:visibility="visible"
app:constraint_referenced_ids="export_progress_summary_overwrite_msg,export_progress_summary_overwrite" />
<!-- Tracks skipped -->
<TextView
android:id="@+id/export_progress_summary_skip_msg"
android:layout_width="0dp"
android:layout_height="wrap_content"
style="?attr/textAppearanceSubtitle1"
android:gravity="end"
android:layout_margin="16dp"
android:text="@string/export_progress_summary_skip_msg"
app:layout_constraintEnd_toEndOf="@id/guideline_vertical_half"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/export_progress_summary_overwrite_barrier" />
<TextView
android:id="@+id/export_progress_summary_skip"
android:layout_width="0dp"
android:layout_height="wrap_content"
style="?attr/textAppearanceSubtitle1"
app:layout_constraintBottom_toBottomOf="@id/export_progress_summary_skip_msg"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/guideline_vertical_half"
app:layout_constraintTop_toTopOf="@id/export_progress_summary_skip_msg"
tools:text="10" />
<androidx.constraintlayout.widget.Barrier
android:id="@+id/export_progress_summary_skip_barrier"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:barrierDirection="bottom"
app:constraint_referenced_ids="export_progress_summary_skip_msg,export_progress_summary_skip" />
<androidx.constraintlayout.widget.Group
android:id="@+id/export_progress_summary_skip_group"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone"
tools:visibility="visible"
app:constraint_referenced_ids="export_progress_summary_skip_msg,export_progress_summary_skip" />
<!-- Tracks errors -->
<TextView
android:id="@+id/export_progress_summary_errors_msg"
android:layout_width="0dp"
android:layout_height="wrap_content"
style="?attr/textAppearanceSubtitle1"
android:gravity="end"
android:layout_margin="16dp"
android:text="@string/export_progress_summary_errors_msg"
app:layout_constraintEnd_toEndOf="@id/guideline_vertical_half"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/export_progress_summary_skip_barrier" />
<TextView
android:id="@+id/export_progress_summary_errors"
android:layout_width="0dp"
android:layout_height="wrap_content"
style="?attr/textAppearanceSubtitle1"
app:layout_constraintBottom_toBottomOf="@id/export_progress_summary_errors_msg"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/guideline_vertical_half"
app:layout_constraintTop_toTopOf="@id/export_progress_summary_errors_msg"
tools:text="10" />
<androidx.constraintlayout.widget.Barrier
android:id="@+id/export_progress_summary_errors_barrier"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:barrierDirection="bottom"
app:constraint_referenced_ids="export_progress_summary_errors_msg,export_progress_summary_errors" />
<androidx.constraintlayout.widget.Group
android:id="@+id/export_progress_summary_errors_group"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone"
tools:visibility="visible"
app:constraint_referenced_ids="export_progress_summary_errors_msg,export_progress_summary_errors" />
<!-- End Summary -->
<ImageView
android:id="@+id/export_progress_alert_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="24dp"
android:layout_marginEnd="8dp"
app:layout_constraintHorizontal_chainStyle="packed"
app:layout_constraintBottom_toBottomOf="@id/export_progress_alert_msg"
app:layout_constraintEnd_toStartOf="@id/export_progress_alert_msg"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@id/export_progress_alert_msg"
app:srcCompat="@drawable/ic_report_problem_24" />
<TextView
android:id="@+id/export_progress_alert_msg"
android:layout_width="0dp"
android:layout_height="wrap_content"
style="?attr/textAppearanceSubtitle1"
android:layout_marginTop="48dp"
android:layout_marginEnd="24dp"
android:layout_marginBottom="24dp"
app:layout_constraintBottom_toTopOf="@id/export_progress_apply_to_all"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/export_progress_alert_icon"
app:layout_constraintTop_toBottomOf="@id/export_progress_summary_errors_barrier"
app:layout_constraintVertical_chainStyle="packed"
tools:text="The track already exists" />
<CheckBox
android:id="@+id/export_progress_apply_to_all"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="24dp"
android:layout_marginEnd="24dp"
android:layout_marginBottom="24dp"
android:checked="false"
android:text="@string/export_all_do_it_for_all"
android:visibility="gone"
tools:visibility="visible"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/export_progress_alert_msg" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.core.widget.NestedScrollView>
<View style="@style/BottomButtonDivider" />
<LinearLayout style="@style/BottomButtonBar">
<Button
android:id="@+id/export_progress_left_button"
style="@style/BottomButton"
android:layout_gravity="center"
android:text="@string/generic_skip"
android:visibility="gone"
tools:visibility="visible"
app:constraint_referenced_ids="export_progress_summary_new_msg,export_progress_summary_new" />
tools:visibility="visible" />
<!-- Tracks overwritten -->
<TextView
android:id="@+id/export_progress_summary_overwrite_msg"
android:layout_width="0dp"
android:layout_height="wrap_content"
style="?attr/textAppearanceSubtitle1"
android:gravity="end"
android:layout_margin="16dp"
android:text="@string/export_progress_summary_overwrite_msg"
app:layout_constraintEnd_toEndOf="@id/guideline_vertical_half"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/export_progress_summary_new_barrier" />
<TextView
android:id="@+id/export_progress_summary_overwrite"
android:layout_width="0dp"
android:layout_height="wrap_content"
style="?attr/textAppearanceSubtitle1"
app:layout_constraintBottom_toBottomOf="@id/export_progress_summary_overwrite_msg"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/guideline_vertical_half"
app:layout_constraintTop_toTopOf="@id/export_progress_summary_overwrite_msg"
tools:text="10" />
<androidx.constraintlayout.widget.Barrier
android:id="@+id/export_progress_summary_overwrite_barrier"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:barrierDirection="bottom"
app:constraint_referenced_ids="export_progress_summary_overwrite_msg,export_progress_summary_overwrite" />
<androidx.constraintlayout.widget.Group
android:id="@+id/export_progress_summary_overwrite_group"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
<Button
android:id="@+id/export_progress_right_button"
style="@style/BottomButton"
android:layout_gravity="end"
android:text="@string/generic_overwrite"
android:visibility="gone"
tools:visibility="visible"
app:constraint_referenced_ids="export_progress_summary_overwrite_msg,export_progress_summary_overwrite" />
tools:visibility="visible"/>
<!-- Tracks skipped -->
<TextView
android:id="@+id/export_progress_summary_skip_msg"
android:layout_width="0dp"
android:layout_height="wrap_content"
style="?attr/textAppearanceSubtitle1"
android:gravity="end"
android:layout_margin="16dp"
android:text="@string/export_progress_summary_skip_msg"
app:layout_constraintEnd_toEndOf="@id/guideline_vertical_half"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/export_progress_summary_overwrite_barrier" />
<TextView
android:id="@+id/export_progress_summary_skip"
android:layout_width="0dp"
android:layout_height="wrap_content"
style="?attr/textAppearanceSubtitle1"
app:layout_constraintBottom_toBottomOf="@id/export_progress_summary_skip_msg"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/guideline_vertical_half"
app:layout_constraintTop_toTopOf="@id/export_progress_summary_skip_msg"
tools:text="10" />
<androidx.constraintlayout.widget.Barrier
android:id="@+id/export_progress_summary_skip_barrier"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:barrierDirection="bottom"
app:constraint_referenced_ids="export_progress_summary_skip_msg,export_progress_summary_skip" />
<androidx.constraintlayout.widget.Group
android:id="@+id/export_progress_summary_skip_group"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone"
tools:visibility="visible"
app:constraint_referenced_ids="export_progress_summary_skip_msg,export_progress_summary_skip" />
<!-- Tracks errors -->
<TextView
android:id="@+id/export_progress_summary_errors_msg"
android:layout_width="0dp"
android:layout_height="wrap_content"
style="?attr/textAppearanceSubtitle1"
android:gravity="end"
android:layout_margin="16dp"
android:text="@string/export_progress_summary_errors_msg"
app:layout_constraintEnd_toEndOf="@id/guideline_vertical_half"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/export_progress_summary_skip_barrier" />
<TextView
android:id="@+id/export_progress_summary_errors"
android:layout_width="0dp"
android:layout_height="wrap_content"
style="?attr/textAppearanceSubtitle1"
app:layout_constraintBottom_toBottomOf="@id/export_progress_summary_errors_msg"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/guideline_vertical_half"
app:layout_constraintTop_toTopOf="@id/export_progress_summary_errors_msg"
tools:text="10" />
<androidx.constraintlayout.widget.Barrier
android:id="@+id/export_progress_summary_errors_barrier"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:barrierDirection="bottom"
app:constraint_referenced_ids="export_progress_summary_errors_msg,export_progress_summary_errors" />
<androidx.constraintlayout.widget.Group
android:id="@+id/export_progress_summary_errors_group"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone"
tools:visibility="visible"
app:constraint_referenced_ids="export_progress_summary_errors_msg,export_progress_summary_errors" />
<!-- End Summary -->
<ImageView
android:id="@+id/export_progress_alert_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="24dp"
android:layout_marginEnd="8dp"
app:layout_constraintHorizontal_chainStyle="packed"
app:layout_constraintBottom_toBottomOf="@id/export_progress_alert_msg"
app:layout_constraintEnd_toStartOf="@id/export_progress_alert_msg"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@id/export_progress_alert_msg"
app:srcCompat="@drawable/ic_report_problem_24" />
<TextView
android:id="@+id/export_progress_alert_msg"
android:layout_width="0dp"
android:layout_height="wrap_content"
style="?attr/textAppearanceSubtitle1"
android:layout_marginTop="48dp"
android:layout_marginEnd="24dp"
android:layout_marginBottom="24dp"
app:layout_constraintBottom_toTopOf="@id/export_progress_apply_to_all"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/export_progress_alert_icon"
app:layout_constraintTop_toBottomOf="@id/export_progress_summary_errors_barrier"
app:layout_constraintVertical_chainStyle="packed"
tools:text="The track already exists" />
<CheckBox
android:id="@+id/export_progress_apply_to_all"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="24dp"
android:layout_marginEnd="24dp"
android:layout_marginBottom="24dp"
android:checked="false"
android:text="@string/export_all_do_it_for_all"
android:visibility="gone"
tools:visibility="visible"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/export_progress_alert_msg" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.core.widget.NestedScrollView>
<View style="@style/BottomButtonDivider" />
<LinearLayout style="@style/BottomButtonBar">
<Button
android:id="@+id/export_progress_left_button"
style="@style/BottomButton"
android:layout_gravity="center"
android:text="@string/generic_skip"
android:visibility="gone"
tools:visibility="visible" />
<Button
android:id="@+id/export_progress_right_button"
style="@style/BottomButton"
android:layout_gravity="end"
android:text="@string/generic_overwrite"
android:visibility="gone"
tools:visibility="visible"/>
</LinearLayout>
</LinearLayout>
</LinearLayout>
<include android:id="@+id/bottom_app_bar_layout" layout="@layout/bottomappbar" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>
+120 -112
View File
@@ -1,139 +1,147 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
android:layout_height="match_parent">
<include layout="@layout/toolbar" />
<ScrollView
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingBottom="50dp">
<LinearLayout
<ScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="20dp">
android:layout_height="wrap_content">
<TextView
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="?attr/textAppearanceHeadline6"
android:text="@string/help_feature_title" />
android:orientation="vertical"
android:padding="20dp">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="?attr/textAppearanceBody1"
android:text="@string/help_feature_content" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="?attr/textAppearanceHeadline6"
android:text="@string/help_feature_title" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="?attr/textAppearanceHeadline6"
android:layout_marginTop="20dp"
android:text="@string/help_track_map_title" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="?attr/textAppearanceBody1"
android:text="@string/help_feature_content" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="?attr/textAppearanceBody1"
android:linksClickable="true"
android:text="@string/help_track_map_content" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="?attr/textAppearanceHeadline6"
android:layout_marginTop="20dp"
android:text="@string/help_track_map_title" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="?attr/textAppearanceHeadline6"
android:layout_marginTop="20dp"
android:text="@string/help_recording_title" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="?attr/textAppearanceBody1"
android:linksClickable="true"
android:text="@string/help_track_map_content" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="?attr/textAppearanceBody1"
android:text="@string/help_recording_content" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="?attr/textAppearanceHeadline6"
android:layout_marginTop="20dp"
android:text="@string/help_recording_title" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="?attr/textAppearanceHeadline6"
android:layout_marginTop="20dp"
android:text="@string/help_storage_pictures_title" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="?attr/textAppearanceBody1"
android:text="@string/help_recording_content" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="?attr/textAppearanceBody1"
android:text="@string/help_storage_pictures_content" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="?attr/textAppearanceHeadline6"
android:layout_marginTop="20dp"
android:text="@string/help_storage_pictures_title" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="?attr/textAppearanceHeadline6"
android:layout_marginTop="20dp"
android:text="@string/help_track_export_title" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="?attr/textAppearanceBody1"
android:text="@string/help_storage_pictures_content" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="?attr/textAppearanceBody1"
android:text="@string/help_track_export_content" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="?attr/textAppearanceHeadline6"
android:layout_marginTop="20dp"
android:text="@string/help_track_export_title" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="?attr/textAppearanceHeadline6"
android:text="@string/help_data_google_play_services_title" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="?attr/textAppearanceBody1"
android:text="@string/help_track_export_content" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="?attr/textAppearanceBody1"
android:text="@android:string/no" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="?attr/textAppearanceHeadline6"
android:text="@string/help_data_google_play_services_title" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="?attr/textAppearanceHeadline6"
android:layout_marginTop="20dp"
android:text="@string/help_data_storage_title" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="?attr/textAppearanceBody1"
android:text="@android:string/no" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="?attr/textAppearanceBody1"
android:text="@string/help_data_storage_content" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="?attr/textAppearanceHeadline6"
android:layout_marginTop="20dp"
android:text="@string/help_data_storage_title" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="?attr/textAppearanceHeadline6"
android:layout_marginTop="20dp"
android:text="@string/help_gps_troubleshooting_title" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="?attr/textAppearanceBody1"
android:text="@string/help_data_storage_content" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="?attr/textAppearanceBody1"
android:linksClickable="true"
android:text="@string/help_gps_troubleshooting_content" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="?attr/textAppearanceHeadline6"
android:layout_marginTop="20dp"
android:text="@string/help_gps_troubleshooting_title" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="?attr/textAppearanceHeadline6"
android:layout_marginTop="20dp"
android:text="@string/help_support_title" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="?attr/textAppearanceBody1"
android:linksClickable="true"
android:text="@string/help_gps_troubleshooting_content" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="?attr/textAppearanceBody1"
android:linksClickable="true"
android:text="@string/help_support_content" />
</LinearLayout>
</ScrollView>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="?attr/textAppearanceHeadline6"
android:layout_marginTop="20dp"
android:text="@string/help_support_title" />
</LinearLayout>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="?attr/textAppearanceBody1"
android:linksClickable="true"
android:text="@string/help_support_content" />
</LinearLayout>
</ScrollView>
</LinearLayout>
<include android:id="@+id/bottom_app_bar_layout" layout="@layout/bottomappbar" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>
+236 -229
View File
@@ -1,249 +1,256 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical">
android:layout_height="match_parent">
<include layout="@layout/toolbar" />
<androidx.core.widget.NestedScrollView
android:layout_weight="1"
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp">
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:paddingBottom="50dp">
<androidx.constraintlayout.widget.ConstraintLayout
<androidx.core.widget.NestedScrollView
android:layout_weight="1"
android:layout_width="match_parent"
android:layout_height="match_parent">
android:layout_height="0dp">
<androidx.constraintlayout.widget.Guideline
android:id="@+id/guideline_vertical_half"
android:layout_width="0dp"
android:layout_height="0dp"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.7" />
<TextView
android:id="@+id/import_progress_done"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="?attr/textAppearanceSubtitle1"
android:layout_marginStart="24dp"
android:layout_marginTop="48dp"
app:layout_constraintEnd_toStartOf="@id/import_progress_slash"
app:layout_constraintHorizontal_chainStyle="packed"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:text="1" />
<TextView
android:id="@+id/import_progress_slash"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="?attr/textAppearanceSubtitle1"
android:text="@string/generic_separator_done_total"
app:layout_constraintBottom_toBottomOf="@id/import_progress_done"
app:layout_constraintEnd_toStartOf="@id/import_progress_total"
app:layout_constraintStart_toEndOf="@id/import_progress_done"
app:layout_constraintTop_toTopOf="@id/import_progress_done" />
<TextView
android:id="@+id/import_progress_total"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="?attr/textAppearanceSubtitle1"
android:layout_marginEnd="24dp"
app:layout_constraintBottom_toBottomOf="@id/import_progress_slash"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/import_progress_slash"
app:layout_constraintTop_toTopOf="@id/import_progress_slash"
tools:text="10" />
<com.google.android.material.progressindicator.LinearProgressIndicator
android:id="@+id/import_progress_bar"
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_weight="1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="24dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="24dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/import_progress_done"
tools:progress="25" />
android:layout_height="match_parent">
<!-- Start Summary -->
<!-- Files imported correctly -->
<TextView
android:id="@+id/import_progress_summary_ok_msg"
android:layout_width="0dp"
android:layout_height="wrap_content"
style="?attr/textAppearanceSubtitle1"
android:gravity="end"
android:layout_margin="16dp"
android:text="@string/import_progress_summary_ok_msg"
app:layout_constraintEnd_toEndOf="@id/guideline_vertical_half"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/import_progress_bar" />
<androidx.constraintlayout.widget.Guideline
android:id="@+id/guideline_vertical_half"
android:layout_width="0dp"
android:layout_height="0dp"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.7" />
<TextView
android:id="@+id/import_progress_summary_ok"
android:layout_width="0dp"
android:layout_height="wrap_content"
style="?attr/textAppearanceSubtitle1"
app:layout_constraintBottom_toBottomOf="@id/import_progress_summary_ok_msg"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/guideline_vertical_half"
app:layout_constraintTop_toTopOf="@id/import_progress_summary_ok_msg"
tools:text="10" />
<TextView
android:id="@+id/import_progress_done"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="?attr/textAppearanceSubtitle1"
android:layout_marginStart="24dp"
android:layout_marginTop="48dp"
app:layout_constraintEnd_toStartOf="@id/import_progress_slash"
app:layout_constraintHorizontal_chainStyle="packed"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:text="1" />
<androidx.constraintlayout.widget.Barrier
android:id="@+id/import_progress_summary_ok_barrier"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:barrierDirection="bottom"
app:constraint_referenced_ids="import_progress_summary_ok_msg,import_progress_summary_ok" />
<TextView
android:id="@+id/import_progress_slash"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="?attr/textAppearanceSubtitle1"
android:text="@string/generic_separator_done_total"
app:layout_constraintBottom_toBottomOf="@id/import_progress_done"
app:layout_constraintEnd_toStartOf="@id/import_progress_total"
app:layout_constraintStart_toEndOf="@id/import_progress_done"
app:layout_constraintTop_toTopOf="@id/import_progress_done" />
<androidx.constraintlayout.widget.Group
android:id="@+id/import_progress_summary_ok_group"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
<TextView
android:id="@+id/import_progress_total"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="?attr/textAppearanceSubtitle1"
android:layout_marginEnd="24dp"
app:layout_constraintBottom_toBottomOf="@id/import_progress_slash"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/import_progress_slash"
app:layout_constraintTop_toTopOf="@id/import_progress_slash"
tools:text="10" />
<com.google.android.material.progressindicator.LinearProgressIndicator
android:id="@+id/import_progress_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="24dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="24dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/import_progress_done"
tools:progress="25" />
<!-- Start Summary -->
<!-- Files imported correctly -->
<TextView
android:id="@+id/import_progress_summary_ok_msg"
android:layout_width="0dp"
android:layout_height="wrap_content"
style="?attr/textAppearanceSubtitle1"
android:gravity="end"
android:layout_margin="16dp"
android:text="@string/import_progress_summary_ok_msg"
app:layout_constraintEnd_toEndOf="@id/guideline_vertical_half"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/import_progress_bar" />
<TextView
android:id="@+id/import_progress_summary_ok"
android:layout_width="0dp"
android:layout_height="wrap_content"
style="?attr/textAppearanceSubtitle1"
app:layout_constraintBottom_toBottomOf="@id/import_progress_summary_ok_msg"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/guideline_vertical_half"
app:layout_constraintTop_toTopOf="@id/import_progress_summary_ok_msg"
tools:text="10" />
<androidx.constraintlayout.widget.Barrier
android:id="@+id/import_progress_summary_ok_barrier"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:barrierDirection="bottom"
app:constraint_referenced_ids="import_progress_summary_ok_msg,import_progress_summary_ok" />
<androidx.constraintlayout.widget.Group
android:id="@+id/import_progress_summary_ok_group"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone"
tools:visibility="visible"
app:constraint_referenced_ids="import_progress_summary_ok_msg,import_progress_summary_ok" />
<!-- Already exists files -->
<TextView
android:id="@+id/import_progress_summary_exists_msg"
android:layout_width="0dp"
android:layout_height="wrap_content"
style="?attr/textAppearanceSubtitle1"
android:gravity="end"
android:layout_margin="16dp"
android:text="@string/import_progress_summary_exists_msg"
app:layout_constraintEnd_toEndOf="@id/guideline_vertical_half"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/import_progress_summary_ok_barrier" />
<TextView
android:id="@+id/import_progress_summary_exists"
android:layout_width="0dp"
android:layout_height="wrap_content"
style="?attr/textAppearanceSubtitle1"
app:layout_constraintBottom_toBottomOf="@id/import_progress_summary_exists_msg"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/guideline_vertical_half"
app:layout_constraintTop_toTopOf="@id/import_progress_summary_exists_msg"
tools:text="10" />
<androidx.constraintlayout.widget.Barrier
android:id="@+id/import_progress_summary_exists_barrier"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:barrierDirection="bottom"
app:constraint_referenced_ids="import_progress_summary_exists_msg,import_progress_summary_exists" />
<androidx.constraintlayout.widget.Group
android:id="@+id/import_progress_summary_exists_group"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone"
tools:visibility="visible"
app:constraint_referenced_ids="import_progress_summary_exists_msg,import_progress_summary_exists" />
<!-- Importing error files -->
<TextView
android:id="@+id/import_progress_summary_errors_msg"
android:layout_width="0dp"
android:layout_height="wrap_content"
style="?attr/textAppearanceSubtitle1"
android:gravity="end"
android:layout_margin="16dp"
android:text="@string/import_progress_summary_errors_msg"
app:layout_constraintEnd_toEndOf="@id/guideline_vertical_half"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/import_progress_summary_exists_barrier" />
<TextView
android:id="@+id/import_progress_summary_errors"
android:layout_width="0dp"
android:layout_height="wrap_content"
style="?attr/textAppearanceSubtitle1"
app:layout_constraintBottom_toBottomOf="@id/import_progress_summary_errors_msg"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/guideline_vertical_half"
app:layout_constraintTop_toTopOf="@id/import_progress_summary_errors_msg"
tools:text="10" />
<androidx.constraintlayout.widget.Barrier
android:id="@+id/import_progress_summary_errors_barrier"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:barrierDirection="bottom"
app:constraint_referenced_ids="import_progress_summary_errors_msg,import_progress_summary_errors" />
<androidx.constraintlayout.widget.Group
android:id="@+id/import_progress_summary_errors_group"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone"
tools:visibility="visible"
app:constraint_referenced_ids="import_progress_summary_errors_msg,import_progress_summary_errors" />
<!-- End Summary -->
<ImageView
android:id="@+id/import_progress_alert_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="24dp"
android:layout_marginEnd="8dp"
app:layout_constraintHorizontal_chainStyle="packed"
app:layout_constraintBottom_toBottomOf="@id/import_progress_alert_msg"
app:layout_constraintEnd_toStartOf="@id/import_progress_alert_msg"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@id/import_progress_alert_msg"
app:srcCompat="@drawable/ic_report_problem_24" />
<TextView
android:id="@+id/import_progress_alert_msg"
android:layout_width="0dp"
android:layout_height="wrap_content"
style="?attr/textAppearanceSubtitle1"
android:layout_marginTop="48dp"
android:layout_marginEnd="24dp"
android:layout_marginBottom="24dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/import_progress_alert_icon"
app:layout_constraintTop_toBottomOf="@id/import_progress_summary_errors_barrier"
app:layout_constraintVertical_chainStyle="packed"
tools:text="Import progress alert message" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.core.widget.NestedScrollView>
<View style="@style/BottomButtonDivider" />
<LinearLayout style="@style/BottomButtonBar">
<Button
android:id="@+id/import_progress_left_button"
style="@style/BottomButton"
android:layout_gravity="center"
android:text="@string/generic_show_errors"
android:visibility="gone"
tools:visibility="visible"
app:constraint_referenced_ids="import_progress_summary_ok_msg,import_progress_summary_ok" />
tools:visibility="visible" />
<!-- Already exists files -->
<TextView
android:id="@+id/import_progress_summary_exists_msg"
android:layout_width="0dp"
android:layout_height="wrap_content"
style="?attr/textAppearanceSubtitle1"
android:gravity="end"
android:layout_margin="16dp"
android:text="@string/import_progress_summary_exists_msg"
app:layout_constraintEnd_toEndOf="@id/guideline_vertical_half"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/import_progress_summary_ok_barrier" />
<TextView
android:id="@+id/import_progress_summary_exists"
android:layout_width="0dp"
android:layout_height="wrap_content"
style="?attr/textAppearanceSubtitle1"
app:layout_constraintBottom_toBottomOf="@id/import_progress_summary_exists_msg"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/guideline_vertical_half"
app:layout_constraintTop_toTopOf="@id/import_progress_summary_exists_msg"
tools:text="10" />
<androidx.constraintlayout.widget.Barrier
android:id="@+id/import_progress_summary_exists_barrier"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:barrierDirection="bottom"
app:constraint_referenced_ids="import_progress_summary_exists_msg,import_progress_summary_exists" />
<androidx.constraintlayout.widget.Group
android:id="@+id/import_progress_summary_exists_group"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
<Button
android:id="@+id/import_progress_right_button"
style="@style/BottomButton"
android:layout_gravity="end"
android:text="@android:string/ok"
android:visibility="gone"
tools:visibility="visible"
app:constraint_referenced_ids="import_progress_summary_exists_msg,import_progress_summary_exists" />
tools:visibility="visible"/>
</LinearLayout>
<!-- Importing error files -->
<TextView
android:id="@+id/import_progress_summary_errors_msg"
android:layout_width="0dp"
android:layout_height="wrap_content"
style="?attr/textAppearanceSubtitle1"
android:gravity="end"
android:layout_margin="16dp"
android:text="@string/import_progress_summary_errors_msg"
app:layout_constraintEnd_toEndOf="@id/guideline_vertical_half"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/import_progress_summary_exists_barrier" />
<TextView
android:id="@+id/import_progress_summary_errors"
android:layout_width="0dp"
android:layout_height="wrap_content"
style="?attr/textAppearanceSubtitle1"
app:layout_constraintBottom_toBottomOf="@id/import_progress_summary_errors_msg"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/guideline_vertical_half"
app:layout_constraintTop_toTopOf="@id/import_progress_summary_errors_msg"
tools:text="10" />
<androidx.constraintlayout.widget.Barrier
android:id="@+id/import_progress_summary_errors_barrier"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:barrierDirection="bottom"
app:constraint_referenced_ids="import_progress_summary_errors_msg,import_progress_summary_errors" />
<androidx.constraintlayout.widget.Group
android:id="@+id/import_progress_summary_errors_group"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone"
tools:visibility="visible"
app:constraint_referenced_ids="import_progress_summary_errors_msg,import_progress_summary_errors" />
<!-- End Summary -->
<ImageView
android:id="@+id/import_progress_alert_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="24dp"
android:layout_marginEnd="8dp"
app:layout_constraintHorizontal_chainStyle="packed"
app:layout_constraintBottom_toBottomOf="@id/import_progress_alert_msg"
app:layout_constraintEnd_toStartOf="@id/import_progress_alert_msg"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@id/import_progress_alert_msg"
app:srcCompat="@drawable/ic_report_problem_24" />
<TextView
android:id="@+id/import_progress_alert_msg"
android:layout_width="0dp"
android:layout_height="wrap_content"
style="?attr/textAppearanceSubtitle1"
android:layout_marginTop="48dp"
android:layout_marginEnd="24dp"
android:layout_marginBottom="24dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/import_progress_alert_icon"
app:layout_constraintTop_toBottomOf="@id/import_progress_summary_errors_barrier"
app:layout_constraintVertical_chainStyle="packed"
tools:text="Import progress alert message" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.core.widget.NestedScrollView>
<View style="@style/BottomButtonDivider" />
<LinearLayout style="@style/BottomButtonBar">
<Button
android:id="@+id/import_progress_left_button"
style="@style/BottomButton"
android:layout_gravity="center"
android:text="@string/generic_show_errors"
android:visibility="gone"
tools:visibility="visible" />
<Button
android:id="@+id/import_progress_right_button"
style="@style/BottomButton"
android:layout_gravity="end"
android:text="@android:string/ok"
android:visibility="gone"
tools:visibility="visible"/>
</LinearLayout>
</LinearLayout>
<include android:id="@+id/bottom_app_bar_layout" layout="@layout/bottomappbar" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>
+15 -9
View File
@@ -13,15 +13,21 @@ 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"
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
android:layout_height="match_parent">
<include layout="@layout/toolbar" />
<androidx.viewpager.widget.ViewPager
android:id="@+id/maker_detail_activity_view_pager"
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
android:layout_height="match_parent"
android:orientation="vertical">
<androidx.viewpager.widget.ViewPager
android:id="@+id/maker_detail_activity_view_pager"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
<include android:id="@+id/bottom_app_bar_layout" layout="@layout/bottomappbar" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>
+105 -98
View File
@@ -13,124 +13,131 @@ 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"
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
android:layout_height="match_parent">
<include layout="@layout/toolbar" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingBottom="50dp">
<ScrollView style="@style/ScrollView.WithBottomButtons">
<ScrollView style="@style/ScrollView.WithBottomButtons">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="8dp">
<com.google.android.material.textfield.TextInputLayout
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="?attr/textInputOutlinedStyle"
android:hint="@string/generic_name"
android:imeOptions="actionNext"
android:importantForAutofill="no"
android:layout_marginBottom="16dp">
android:orientation="vertical"
android:padding="8dp">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/marker_edit_name"
<com.google.android.material.textfield.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:drawableStart="@drawable/ic_marker_orange_pushpin_with_shadow"
android:inputType="textCapWords"
android:selectAllOnFocus="true" />
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="?attr/textInputOutlinedExposedDropdownMenuStyle"
android:imeOptions="actionNext"
android:importantForAutofill="no"
android:layout_marginBottom="16dp">
<com.google.android.material.textfield.MaterialAutoCompleteTextView
android:id="@+id/marker_edit_marker_type"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/marker_edit_marker_type"
style="?attr/textInputOutlinedStyle"
android:hint="@string/generic_name"
android:imeOptions="actionNext"
android:selectAllOnFocus="true" />
android:importantForAutofill="no"
android:layout_marginBottom="16dp">
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/marker_edit_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:drawableStart="@drawable/ic_marker_orange_pushpin_with_shadow"
android:inputType="textCapWords"
android:selectAllOnFocus="true" />
<com.google.android.material.textfield.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="?attr/textInputOutlinedStyle"
android:hint="@string/generic_description"
android:imeOptions="actionNext"
android:importantForAutofill="no"
android:layout_marginBottom="16dp">
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/marker_edit_description"
<com.google.android.material.textfield.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textCapSentences"
android:selectAllOnFocus="true" />
style="?attr/textInputOutlinedExposedDropdownMenuStyle"
android:imeOptions="actionNext"
android:importantForAutofill="no"
android:layout_marginBottom="16dp">
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.MaterialAutoCompleteTextView
android:id="@+id/marker_edit_marker_type"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/marker_edit_marker_type"
android:imeOptions="actionNext"
android:selectAllOnFocus="true" />
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp">
</com.google.android.material.textfield.TextInputLayout>
<ImageView
android:id="@+id/marker_edit_photo"
<com.google.android.material.textfield.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="?attr/textInputOutlinedStyle"
android:hint="@string/generic_description"
android:imeOptions="actionNext"
android:importantForAutofill="no"
android:layout_marginBottom="16dp">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/marker_edit_description"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textCapSentences"
android:selectAllOnFocus="true" />
</com.google.android.material.textfield.TextInputLayout>
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:adjustViewBounds="true"
android:contentDescription="@string/image_photo_marker"
android:scaleType="fitStart" />
android:layout_marginTop="16dp">
<ImageView
android:id="@+id/marker_edit_photo_delete"
android:layout_width="32dp"
android:layout_height="32dp"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:layout_margin="16dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
android:background="@drawable/shape_circle_darkgray"
android:padding="4dp"
android:src="@drawable/ic_delete_forever_24dp" />
</RelativeLayout>
<ImageView
android:id="@+id/marker_edit_photo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:adjustViewBounds="true"
android:contentDescription="@string/image_photo_marker"
android:scaleType="fitStart" />
<ImageView
android:id="@+id/marker_edit_photo_delete"
android:layout_width="32dp"
android:layout_height="32dp"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:layout_margin="16dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
android:background="@drawable/shape_circle_darkgray"
android:padding="4dp"
android:src="@drawable/ic_delete_forever_24dp" />
</RelativeLayout>
</LinearLayout>
</ScrollView>
<View style="@style/BottomButtonDivider" />
<LinearLayout style="@style/BottomButtonBar">
<Button
android:id="@+id/marker_edit_cancel"
style="@style/BottomButton"
android:layout_gravity="start"
android:text="@android:string/cancel" />
<Button
android:id="@+id/marker_edit_done"
style="@style/BottomButton"
android:layout_gravity="end" />
</LinearLayout>
</ScrollView>
<View style="@style/BottomButtonDivider" />
<LinearLayout style="@style/BottomButtonBar">
<Button
android:id="@+id/marker_edit_cancel"
style="@style/BottomButton"
android:layout_gravity="start"
android:text="@android:string/cancel" />
<Button
android:id="@+id/marker_edit_done"
style="@style/BottomButton"
android:layout_gravity="end" />
</LinearLayout>
</LinearLayout>
<include android:id="@+id/bottom_app_bar_layout" layout="@layout/bottomappbar" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>
+23 -16
View File
@@ -13,24 +13,31 @@ 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"
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
android:layout_height="match_parent">
<include layout="@layout/toolbar" />
<ListView
android:id="@+id/marker_list"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<TextView
android:id="@+id/marker_list_empty"
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
style="?attr/textAppearanceHeadline4"
android:gravity="center_horizontal|center_vertical"
android:text="@string/marker_list_empty_message" />
android:orientation="vertical"
android:paddingBottom="50dp">
</LinearLayout>
<ListView
android:id="@+id/marker_list"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<TextView
android:id="@+id/marker_list_empty"
android:layout_width="match_parent"
android:layout_height="match_parent"
style="?attr/textAppearanceHeadline4"
android:gravity="center_horizontal|center_vertical"
android:text="@string/marker_list_empty_message" />
</LinearLayout>
<include android:id="@+id/bottom_app_bar_layout" layout="@layout/bottomappbar" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>
+17 -9
View File
@@ -1,14 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
android:layout_height="match_parent">
<include layout="@layout/toolbar" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingBottom="50dp">
<FrameLayout
android:id="@+id/settings_fragment"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<FrameLayout
android:id="@+id/settings_fragment"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</LinearLayout>
</LinearLayout>
<include android:id="@+id/bottom_app_bar_layout" layout="@layout/bottomappbar" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>
-9
View File
@@ -1,9 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<merge xmlns:android="http://schemas.android.com/apk/res/android">
<com.google.android.material.appbar.MaterialToolbar
android:id="@+id/toolbar"
style="@style/Widget.MaterialComponents.Toolbar.Surface"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</merge>
+26 -96
View File
@@ -13,109 +13,39 @@ 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"
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical">
android:layout_height="match_parent">
<include layout="@layout/toolbar" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingBottom="60dp">
<ScrollView style="@style/ScrollView.WithBottomButtons">
<include
android:id="@+id/fields"
layout="@layout/track_edit_fields" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="8dp">
<View style="@style/BottomButtonDivider" />
<com.google.android.material.textfield.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="?attr/textInputOutlinedStyle"
android:hint="@string/generic_name"
android:imeOptions="actionNext"
android:importantForAutofill="no"
android:layout_marginBottom="16dp">
<LinearLayout style="@style/BottomButtonBar">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/track_edit_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textCapWords"
android:selectAllOnFocus="true" />
</com.google.android.material.textfield.TextInputLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<com.google.android.material.textfield.TextInputLayout
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
style="?attr/textInputOutlinedExposedDropdownMenuStyle"
android:imeOptions="actionNext"
android:importantForAutofill="no"
android:layout_marginBottom="16dp">
<com.google.android.material.textfield.MaterialAutoCompleteTextView
android:id="@+id/track_edit_activity_type"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:hint="@string/track_edit_activity_type_hint"
android:imeOptions="actionNext"
android:selectAllOnFocus="true" />
</com.google.android.material.textfield.TextInputLayout>
<ImageView
android:id="@+id/track_edit_activity_type_icon"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="bottom"
tools:src="@drawable/ic_activity_bike_24dp"/>
</LinearLayout>
<com.google.android.material.textfield.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="?attr/textInputOutlinedStyle"
android:hint="@string/generic_description"
android:imeOptions="actionNext"
android:importantForAutofill="no"
android:layout_marginBottom="16dp">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/track_edit_description"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textCapSentences"
android:selectAllOnFocus="true" />
</com.google.android.material.textfield.TextInputLayout>
<Button
android:id="@+id/track_edit_cancel"
style="@style/BottomButton"
android:layout_gravity="start"
android:text="@android:string/cancel" />
<Button
android:id="@+id/track_edit_save"
style="@style/BottomButton"
android:layout_gravity="end"
android:text="@string/generic_save" />
</LinearLayout>
</ScrollView>
<View style="@style/BottomButtonDivider" />
<LinearLayout style="@style/BottomButtonBar">
<Button
android:id="@+id/track_edit_cancel"
style="@style/BottomButton"
android:layout_gravity="start"
android:text="@android:string/cancel" />
<Button
android:id="@+id/track_edit_save"
style="@style/BottomButton"
android:layout_gravity="end"
android:text="@string/generic_save" />
</LinearLayout>
</LinearLayout>
<include android:id="@+id/bottom_app_bar_layout" layout="@layout/bottomappbar" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>
+84
View File
@@ -0,0 +1,84 @@
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
style="@style/ScrollView.WithBottomButtons">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="8dp">
<com.google.android.material.textfield.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="?attr/textInputOutlinedStyle"
android:hint="@string/generic_name"
android:imeOptions="actionNext"
android:importantForAutofill="no"
android:layout_marginBottom="16dp">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/track_edit_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textCapWords"
android:selectAllOnFocus="true" />
</com.google.android.material.textfield.TextInputLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<com.google.android.material.textfield.TextInputLayout
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
style="?attr/textInputOutlinedExposedDropdownMenuStyle"
android:imeOptions="actionNext"
android:importantForAutofill="no"
android:layout_marginBottom="16dp">
<com.google.android.material.textfield.MaterialAutoCompleteTextView
android:id="@+id/track_edit_activity_type"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:hint="@string/track_edit_activity_type_hint"
android:imeOptions="actionNext"
android:selectAllOnFocus="true" />
</com.google.android.material.textfield.TextInputLayout>
<ImageView
android:id="@+id/track_edit_activity_type_icon"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="bottom"
tools:src="@drawable/ic_activity_bike_24dp"/>
</LinearLayout>
<com.google.android.material.textfield.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="?attr/textInputOutlinedStyle"
android:hint="@string/generic_description"
android:imeOptions="actionNext"
android:importantForAutofill="no"
android:layout_marginBottom="16dp">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/track_edit_description"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textCapSentences"
android:selectAllOnFocus="true" />
</com.google.android.material.textfield.TextInputLayout>
</LinearLayout>
</ScrollView>
+78 -63
View File
@@ -13,79 +13,94 @@ 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"
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
xmlns:app="http://schemas.android.com/apk/res-auto">
<include layout="@layout/toolbar" />
<ListView
android:id="@+id/track_list"
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1.0" />
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingBottom="50dp"
android:clipToPadding="false">
<RelativeLayout
android:id="@+id/track_list_empty_view"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1.0">
<LinearLayout
android:id="@+id/track_list_arrow_long"
<ListView
android:id="@+id/track_list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:paddingTop="16dp"
android:paddingBottom="12dp">
android:layout_height="0dp"
android:layout_weight="0.8" />
<View
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1" />
<ImageView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="10"
android:contentDescription="@string/image_arrow"
android:src="@drawable/ic_arrow_long" />
<View
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="17" />
</LinearLayout>
<LinearLayout
<RelativeLayout
android:id="@+id/track_list_empty_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@id/track_list_arrow_long">
android:layout_height="0dp"
android:layout_weight="1.2">
<View
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="5" />
<TextView
style="?attr/textAppearanceHeadline6"
android:layout_width="0dp"
<LinearLayout
android:id="@+id/track_list_arrow_long"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="22"
android:gravity="start"
android:text="@string/track_list_empty_message" />
android:layout_alignParentBottom="true"
android:paddingTop="16dp"
android:paddingBottom="12dp">
<View
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1" />
</LinearLayout>
</RelativeLayout>
<View
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="0.7" />
<androidx.fragment.app.FragmentContainerView
android:id="@+id/controller_fragment"
android:name="de.dennisguse.opentracks.ControllerFragment"
<ImageView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.3"
android:paddingBottom="50dp"
android:contentDescription="@string/image_arrow"
android:src="@drawable/ic_arrow_long" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@id/track_list_arrow_long">
<View
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="0.3" />
<TextView
style="?attr/textAppearanceHeadline6"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="5"
android:gravity="right"
android:text="@string/track_list_empty_message" />
<View
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="0.3" />
</LinearLayout>
</RelativeLayout>
</LinearLayout>
<com.google.android.material.bottomappbar.BottomAppBar
android:id="@+id/bottom_app_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
android:layout_height="wrap_content"
android:layout_gravity="bottom"
app:fabAlignmentMode="end"
app:logo="@drawable/ic_logo_color_24dp"
app:menu="@menu/track_list" />
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/track_list_fab_action"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_baseline_record_24"
app:layout_anchor="@id/bottom_app_bar" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>
+22 -14
View File
@@ -13,21 +13,29 @@ 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"
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
android:layout_height="match_parent">
<include layout="@layout/toolbar" />
<com.google.android.material.tabs.TabLayout
android:id="@+id/track_detail_activity_tablayout"
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" />
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingBottom="70dp">
<androidx.viewpager2.widget.ViewPager2
android:id="@+id/track_detail_activity_view_pager"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" />
</LinearLayout>
<com.google.android.material.tabs.TabLayout
android:id="@+id/track_detail_activity_tablayout"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<androidx.viewpager2.widget.ViewPager2
android:id="@+id/track_detail_activity_view_pager"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" />
</LinearLayout>
<include android:id="@+id/bottom_app_bar_layout" layout="@layout/bottomappbar" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>
+38 -23
View File
@@ -1,35 +1,50 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
xmlns:app="http://schemas.android.com/apk/res-auto">
<include layout="@layout/toolbar" />
<com.google.android.material.tabs.TabLayout
android:id="@+id/track_detail_activity_tablayout"
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" />
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingBottom="90dp">
<androidx.coordinatorlayout.widget.CoordinatorLayout
android:id="@+id/track_recording_coordinator_layout"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
<androidx.viewpager2.widget.ViewPager2
android:id="@+id/track_detail_activity_view_pager"
<com.google.android.material.tabs.TabLayout
android:id="@+id/track_detail_activity_tablayout"
android:layout_width="match_parent"
android:layout_height="match_parent" />
android:layout_height="wrap_content" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>
<androidx.coordinatorlayout.widget.CoordinatorLayout
android:id="@+id/track_recording_coordinator_layout"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
<androidx.fragment.app.FragmentContainerView
android:id="@+id/controller_fragment"
android:name="de.dennisguse.opentracks.ControllerFragment"
<androidx.viewpager2.widget.ViewPager2
android:id="@+id/track_detail_activity_view_pager"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>
</LinearLayout>
<com.google.android.material.bottomappbar.BottomAppBar
android:id="@+id/bottom_app_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
android:layout_height="wrap_content"
android:layout_gravity="bottom"
app:fabAlignmentMode="end"
app:navigationIcon="@drawable/ic_logo_color_24dp"
app:menu="@menu/track_record" />
</LinearLayout>
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/track_recording_fab_action"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_baseline_record_24"
app:layout_anchor="@id/bottom_app_bar" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>
+116
View File
@@ -0,0 +1,116 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical">
<include
android:id="@+id/fields"
layout="@layout/track_edit_fields" />
<LinearLayout style="@style/BottomButtonBar">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="16dp">
<androidx.constraintlayout.widget.Guideline
android:id="@+id/guideline"
android:layout_width="0dp"
android:layout_height="0dp"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.5" />
<!-- Time -->
<TextView
android:id="@+id/time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="?attr/textAppearanceHeadline2"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
tools:text="04:54:36" />
<!-- Distance -->
<TextView
android:id="@+id/distance"
style="?attr/textAppearanceHeadline3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintEnd_toStartOf="@id/distance_unit"
app:layout_constraintHorizontal_chainStyle="packed"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/time"
tools:layout_editor_absoluteX="52dp"
tools:text="130" />
<TextView
android:id="@+id/distance_unit"
style="@style/TextAppearance.OpenTracks.PrimaryUnit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="@+id/distance"
app:layout_constraintEnd_toStartOf="@id/guideline"
app:layout_constraintStart_toEndOf="@+id/distance"
tools:text="km" />
<!-- Average moving speed -->
<TextView
android:id="@+id/speed"
style="?attr/textAppearanceHeadline3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintEnd_toStartOf="@id/speed_unit"
app:layout_constraintHorizontal_chainStyle="packed"
app:layout_constraintStart_toEndOf="@id/guideline"
app:layout_constraintTop_toBottomOf="@id/time"
tools:text="26,5" />
<TextView
android:id="@+id/speed_unit"
style="@style/TextAppearance.OpenTracks.PrimaryUnit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="@id/speed"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/speed"
tools:text="km/h" />
<androidx.constraintlayout.widget.Barrier
android:id="@+id/stats_summary_barrier"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:barrierDirection="bottom"
app:constraint_referenced_ids="time,distance,speed" />
<ImageView
android:id="@+id/resume_button"
android:layout_width="64dp"
android:layout_height="64dp"
android:layout_marginTop="48dp"
app:srcCompat="@drawable/ic_button_resume"
app:layout_constraintTop_toBottomOf="@id/stats_summary_barrier"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toStartOf="@id/finish_button"
app:layout_constraintBottom_toBottomOf="parent" />
<ImageView
android:id="@+id/finish_button"
android:layout_width="64dp"
android:layout_height="64dp"
app:srcCompat="@drawable/ic_button_done"
app:layout_constraintTop_toTopOf="@id/resume_button"
app:layout_constraintStart_toEndOf="@id/resume_button"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintBottom_toBottomOf="@id/resume_button" />
</androidx.constraintlayout.widget.ConstraintLayout>
</LinearLayout>
</LinearLayout>
+20 -2
View File
@@ -11,8 +11,6 @@
<item name="android:statusBarColor">?attr/colorPrimaryVariant</item>
<item name="windowActionModeOverlay">true</item>
<item name="android:colorBackground">@android:color/black</item>
<item name="colorOnBackground">@android:color/white</item>
@@ -20,6 +18,26 @@
<item name="colorOnSurface">@color/opentracks_surface_night_on_background_color</item>
<item name="android:activatedBackgroundIndicator">@drawable/activated_background</item>
<item name="bottomAppBarStyle">@style/Widget.OpenTracks.BottomAppBar</item>
<item name="floatingActionButtonStyle">@style/Widget.OpenTracks.FloatingActionButton</item>
<item name="android:windowActionModeOverlay">true</item>
</style>
<style name="Widget.OpenTracks.BottomAppBar" parent="Widget.MaterialComponents.BottomAppBar.Colored">
<item name="materialThemeOverlay">@style/ThemeOverlay.OpenTracks.BottomAppBar</item>
</style>
<style name="ThemeOverlay.OpenTracks.BottomAppBar" parent="">
<item name="colorPrimary">@android:color/black</item>
<item name="colorOnPrimary">@android:color/white</item>
</style>
<style name="Widget.OpenTracks.FloatingActionButton" parent="Widget.MaterialComponents.FloatingActionButton">
<item name="fabCustomSize">64dp</item>
</style>
</resources>
+2 -2
View File
@@ -18,8 +18,8 @@ limitations under the License.
<color name="opentracks_primary_color">#344955</color>
<color name="opentracks_primary_variant_color">#232f34</color>
<color name="opentracks_on_primary_color">@android:color/white</color>
<color name="opentracks_secondary_color">#ff8800</color>
<color name="opentracks_secondary_transparent">#55ff8800</color>
<color name="opentracks_secondary_color">#FF6D00</color>
<color name="opentracks_secondary_transparent">#55FF6D00</color>
<color name="opentracks_on_secondary_color">@android:color/white</color>
<color name="opentracks_surface_day_background_color">#f5f5f5</color>
+1 -6
View File
@@ -15,12 +15,7 @@ limitations under the License.
-->
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<!-- toolbar -->
<style name="Widget.OpenTracks.Toolbar.Surface" parent="Widget.MaterialComponents.Toolbar.Surface">
<item name="android:background">#ff0000</item>
</style>
<!-- bottom bar -->
<!-- bottom buttons bar -->
<style name="BottomButton" parent="Widget.MaterialComponents.Button.TextButton">
<item name="android:layout_height">wrap_content</item>
<item name="android:layout_weight">1</item>
+14 -2
View File
@@ -29,8 +29,6 @@ limitations under the License.
<item name="android:statusBarColor">?attr/colorPrimaryVariant</item>
<item name="windowActionModeOverlay">true</item>
<item name="android:colorBackground">@android:color/white</item>
<item name="colorOnBackground">@android:color/black</item>
@@ -46,6 +44,15 @@ limitations under the License.
<!-- Linear progress indicator -->
<item name="linearProgressIndicatorStyle">@style/OpenTracksLinearProgressIndicator</item>
<!-- Bottom bar -->
<item name="bottomAppBarStyle">@style/Widget.MaterialComponents.BottomAppBar.Colored</item>
<!-- Floating buttons -->
<item name="floatingActionButtonStyle">@style/Widget.OpenTracks.FloatingActionButton</item>
<item name="android:windowActionModeOverlay">true</item>
</style>
<style name="OpenTracksLinearProgressIndicator" parent="Widget.MaterialComponents.LinearProgressIndicator">
@@ -57,4 +64,9 @@ limitations under the License.
<item name="android:navigationBarColor">@color/splashscreen_background</item>
<item name="android:windowBackground">@drawable/splashscreen</item>
</style>
<style name="Widget.OpenTracks.FloatingActionButton" parent="Widget.MaterialComponents.FloatingActionButton">
<item name="fabCustomSize">64dp</item>
</style>
</resources>
+5
View File
@@ -52,4 +52,9 @@
<item name="android:textColor">?attr/colorOnBackground</item>
<item name="android:singleLine">true</item>
</style>
<style name="TextAppearance.OpenTracks.OnBottomBarText" parent="TextAppearance.MaterialComponents.Headline6">
<item name="android:textColor">?attr/colorOnPrimary</item>
<item name="android:singleLine">true</item>
</style>
</resources>