forked from upstream-mirrors/OpenTracks
Migration to Material Components theme and style.
New night theme mainly white on black. Fixes #1122. Fixes #957.
This commit is contained in:
committed by
Román Martínez
parent
72f7b12da6
commit
79e45f7aea
@@ -42,6 +42,7 @@ captures/
|
|||||||
.idea/dictionaries
|
.idea/dictionaries
|
||||||
.idea/libraries
|
.idea/libraries
|
||||||
.idea/caches
|
.idea/caches
|
||||||
|
.idea/misc.xml
|
||||||
|
|
||||||
|
|
||||||
# IntelliJ IDEA
|
# IntelliJ IDEA
|
||||||
|
|||||||
Generated
-24
@@ -1,24 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project version="4">
|
|
||||||
<component name="DesignSurface">
|
|
||||||
<option name="filePathToZoomLevelMap">
|
|
||||||
<map>
|
|
||||||
<entry key="src/main/res/drawable/ic_activity_bike_24dp.xml" value="0.1765" />
|
|
||||||
<entry key="src/main/res/drawable/ic_activity_sailing_24dp.xml" value="0.1935" />
|
|
||||||
<entry key="src/main/res/drawable/ic_activity_snowboarding_24dp.xml" value="0.1935" />
|
|
||||||
<entry key="src/main/res/drawable/ic_activity_swimming_24dp.xml" value="0.1935" />
|
|
||||||
<entry key="src/main/res/drawable/ic_activity_swimming_open_24dp.xml" value="0.1935" />
|
|
||||||
<entry key="src/main/res/drawable/ic_activity_workout_24dp.xml" value="0.1935" />
|
|
||||||
<entry key="src/main/res/menu/aggregated_statistics.xml" value="0.10208333333333333" />
|
|
||||||
<entry key="src/main/res/xml/settings_gps.xml" value="0.22604166666666667" />
|
|
||||||
<entry key="src/main/res/xml/settings_sensors.xml" value="0.2101851851851852" />
|
|
||||||
</map>
|
|
||||||
</option>
|
|
||||||
</component>
|
|
||||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_11" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
|
|
||||||
<output url="file://$PROJECT_DIR$/build/classes" />
|
|
||||||
</component>
|
|
||||||
<component name="ProjectType">
|
|
||||||
<option name="id" value="Android" />
|
|
||||||
</component>
|
|
||||||
</project>
|
|
||||||
@@ -120,10 +120,10 @@ public class StatisticsAdapter extends RecyclerView.Adapter<RecyclerView.ViewHol
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
this.value.setText(statisticData.hasValue() ? statisticData.getValue() : context.getString(R.string.value_unknown));
|
this.value.setText(statisticData.hasValue() ? statisticData.getValue() : context.getString(R.string.value_unknown));
|
||||||
this.value.setTextAppearance(context, statisticData.getField().isPrimary() ? R.style.StatsPrimaryValue : R.style.StatsSecondaryValue);
|
this.value.setTextAppearance(context, statisticData.getField().isPrimary() ? R.style.TextAppearance_OpenTracks_PrimaryValue : R.style.TextAppearance_OpenTracks_SecondaryValue);
|
||||||
this.unit.setText(statisticData.getUnit());
|
this.unit.setText(statisticData.getUnit());
|
||||||
this.descMain.setText(statisticData.getField().getTitle());
|
this.descMain.setText(statisticData.getField().getTitle());
|
||||||
this.descMain.setTextAppearance(context, statisticData.getField().isPrimary() ? R.style.StatsPrimaryLabel : R.style.StatsSecondaryLabel);
|
this.descMain.setTextAppearance(context, statisticData.getField().isPrimary() ? R.style.TextAppearance_OpenTracks_PrimaryHeader : R.style.TextAppearance_OpenTracks_SecondaryHeader);
|
||||||
if (statisticData.hasDescription()) {
|
if (statisticData.hasDescription()) {
|
||||||
this.descSecondary.setVisibility(View.VISIBLE);
|
this.descSecondary.setVisibility(View.VISIBLE);
|
||||||
this.descSecondary.setText(statisticData.getDescription());
|
this.descSecondary.setText(statisticData.getDescription());
|
||||||
@@ -147,8 +147,8 @@ public class StatisticsAdapter extends RecyclerView.Adapter<RecyclerView.ViewHol
|
|||||||
if (statisticData == null) {
|
if (statisticData == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
this.value.setTextAppearance(context, statisticData.getField().isPrimary() ? R.style.StatsPrimaryValue : R.style.StatsSecondaryValue);
|
this.value.setTextAppearance(context, statisticData.getField().isPrimary() ? R.style.TextAppearance_OpenTracks_PrimaryValue : R.style.TextAppearance_OpenTracks_SecondaryValue);
|
||||||
this.descMain.setTextAppearance(context, statisticData.getField().isPrimary() ? R.style.StatsPrimaryLabel : R.style.StatsSecondaryLabel);
|
this.descMain.setTextAppearance(context, statisticData.getField().isPrimary() ? R.style.TextAppearance_OpenTracks_PrimaryHeader : R.style.TextAppearance_OpenTracks_SecondaryHeader);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -78,7 +78,7 @@ class ChooseActivityTypeImageAdapter extends BaseAdapter {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (position == selected) {
|
if (position == selected) {
|
||||||
imageView.setBackgroundColor(ContextCompat.getColor(parent.getContext(), R.color.colorAccent));
|
imageView.setBackgroundColor(ContextCompat.getColor(parent.getContext(), R.color.opentracks_secondary_color));
|
||||||
} else {
|
} else {
|
||||||
imageView.setBackgroundColor(Color.TRANSPARENT);
|
imageView.setBackgroundColor(Color.TRANSPARENT);
|
||||||
}
|
}
|
||||||
|
|||||||
+8
-16
@@ -2,8 +2,6 @@ package de.dennisguse.opentracks.settings;
|
|||||||
|
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.widget.AdapterView;
|
|
||||||
import android.widget.ArrayAdapter;
|
|
||||||
import android.widget.ScrollView;
|
import android.widget.ScrollView;
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
@@ -17,6 +15,7 @@ import androidx.recyclerview.widget.RecyclerView;
|
|||||||
import java.util.stream.IntStream;
|
import java.util.stream.IntStream;
|
||||||
|
|
||||||
import de.dennisguse.opentracks.AbstractActivity;
|
import de.dennisguse.opentracks.AbstractActivity;
|
||||||
|
import de.dennisguse.opentracks.ui.util.ArrayAdapterFilterDisabled;
|
||||||
import de.dennisguse.opentracks.R;
|
import de.dennisguse.opentracks.R;
|
||||||
import de.dennisguse.opentracks.databinding.ActivitySettingsCustomLayoutBinding;
|
import de.dennisguse.opentracks.databinding.ActivitySettingsCustomLayoutBinding;
|
||||||
import de.dennisguse.opentracks.ui.customRecordingLayout.DataField;
|
import de.dennisguse.opentracks.ui.customRecordingLayout.DataField;
|
||||||
@@ -80,23 +79,16 @@ public class SettingsCustomLayoutEditActivity extends AbstractActivity implement
|
|||||||
itemTouchHelper.attachToRecyclerView(recyclerViewVisible);
|
itemTouchHelper.attachToRecyclerView(recyclerViewVisible);
|
||||||
|
|
||||||
// Spinner with items per row.
|
// Spinner with items per row.
|
||||||
ArrayAdapter<Integer> spinnerAdapter = new ArrayAdapter<>(this,
|
ArrayAdapterFilterDisabled<Integer> rowsOptionAdapter = new ArrayAdapterFilterDisabled<>(this,
|
||||||
android.R.layout.simple_spinner_dropdown_item,
|
android.R.layout.simple_spinner_dropdown_item,
|
||||||
IntStream.of(getResources().getIntArray(R.array.stats_custom_layout_fields_columns_per_row)).boxed().toArray(Integer[]::new));
|
IntStream.of(getResources().getIntArray(R.array.stats_custom_layout_fields_columns_per_row)).boxed().toArray(Integer[]::new));
|
||||||
viewBinding.spinnerOptions.setAdapter(spinnerAdapter);
|
viewBinding.rowsOptions.setAdapter(rowsOptionAdapter);
|
||||||
viewBinding.spinnerOptions.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
|
viewBinding.rowsOptions.setOnItemClickListener((parent, view, position, id) -> {
|
||||||
@Override
|
numColumns = position + 1;
|
||||||
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
|
gridLayoutManager.setSpanCount(numColumns);
|
||||||
numColumns = position + 1;
|
|
||||||
gridLayoutManager.setSpanCount(numColumns);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onNothingSelected(AdapterView<?> parent) {
|
|
||||||
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
viewBinding.spinnerOptions.setSelection(numColumns - 1);
|
|
||||||
|
viewBinding.rowsOptions.setText(rowsOptionAdapter.getItem(numColumns - 1).toString(), false);
|
||||||
|
|
||||||
// Recycler view with not visible stats.
|
// Recycler view with not visible stats.
|
||||||
layoutFieldsHidden = StatisticsUtils.filterVisible(layout, false);
|
layoutFieldsHidden = StatisticsUtils.filterVisible(layout, false);
|
||||||
|
|||||||
+9
-8
@@ -5,11 +5,10 @@ import android.content.Context;
|
|||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.Parcel;
|
import android.os.Parcel;
|
||||||
import android.os.Parcelable;
|
import android.os.Parcelable;
|
||||||
|
import android.util.Log;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.widget.CheckBox;
|
|
||||||
import android.widget.DatePicker;
|
import android.widget.DatePicker;
|
||||||
import android.widget.GridLayout;
|
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
@@ -17,6 +16,8 @@ import androidx.appcompat.app.AlertDialog;
|
|||||||
import androidx.fragment.app.DialogFragment;
|
import androidx.fragment.app.DialogFragment;
|
||||||
import androidx.fragment.app.FragmentManager;
|
import androidx.fragment.app.FragmentManager;
|
||||||
|
|
||||||
|
import com.google.android.material.button.MaterialButton;
|
||||||
|
import com.google.android.material.button.MaterialButtonToggleGroup;
|
||||||
import com.google.android.material.textfield.TextInputEditText;
|
import com.google.android.material.textfield.TextInputEditText;
|
||||||
|
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
@@ -61,17 +62,17 @@ public class FilterDialogFragment extends DialogFragment {
|
|||||||
|
|
||||||
LayoutInflater inflater = LayoutInflater.from(getActivity());
|
LayoutInflater inflater = LayoutInflater.from(getActivity());
|
||||||
View layout = inflater.inflate(R.layout.fragment_filter_dialog, null, false);
|
View layout = inflater.inflate(R.layout.fragment_filter_dialog, null, false);
|
||||||
GridLayout itemsLayout = layout.findViewById(R.id.filter_items);
|
MaterialButtonToggleGroup itemsLayout = layout.findViewById(R.id.filter_items);
|
||||||
builder.setView(layout);
|
builder.setView(layout);
|
||||||
|
|
||||||
for (FilterItem item : filterItems) {
|
for (FilterItem item : filterItems) {
|
||||||
View view = inflater.inflate(R.layout.fragment_filter_dialog_item, null);
|
View view = inflater.inflate(R.layout.fragment_filter_dialog_item, null);
|
||||||
|
|
||||||
CheckBox checkBox = view.findViewById(R.id.filter_dialog_check_button);
|
MaterialButton button = view.findViewById(R.id.filter_dialog_check_button);
|
||||||
checkBox.setText(item.value);
|
button.setText(item.value);
|
||||||
checkBox.setChecked(item.isChecked);
|
button.setChecked(item.isChecked);
|
||||||
checkBox.setTag(item.id);
|
button.setTag(item.id);
|
||||||
checkBox.setOnClickListener(v -> item.isChecked = !item.isChecked);
|
button.setOnClickListener(v -> item.isChecked = !item.isChecked);
|
||||||
|
|
||||||
itemsLayout.addView(view);
|
itemsLayout.addView(view);
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-2
@@ -43,8 +43,8 @@ public class SettingsCustomLayoutEditAdapter extends RecyclerView.Adapter<Recycl
|
|||||||
viewHolder.title.setText(field.getTitle());
|
viewHolder.title.setText(field.getTitle());
|
||||||
viewHolder.value.setText(StatisticsUtils.emptyValue(context, field.getKey()));
|
viewHolder.value.setText(StatisticsUtils.emptyValue(context, field.getKey()));
|
||||||
|
|
||||||
viewHolder.title.setTextAppearance(context, field.isVisible() ? (field.isPrimary() ? R.style.StatsPrimaryLabel : R.style.StatsSecondaryLabel) : R.style.StatsLabelHidden);
|
viewHolder.title.setTextAppearance(context, field.isVisible() ? (field.isPrimary() ? R.style.TextAppearance_OpenTracks_PrimaryHeader : R.style.TextAppearance_OpenTracks_SecondaryHeader) : R.style.TextAppearance_OpenTracks_HiddenHeader);
|
||||||
viewHolder.value.setTextAppearance(context, field.isVisible() ? (field.isPrimary() ? R.style.StatsPrimaryValue : R.style.StatsSecondaryValue) : R.style.StatsValueHidden);
|
viewHolder.value.setTextAppearance(context, field.isVisible() ? (field.isPrimary() ? R.style.TextAppearance_OpenTracks_PrimaryValue : R.style.TextAppearance_OpenTracks_SecondaryValue) : R.style.TextAppearance_OpenTracks_HiddenValue);
|
||||||
viewHolder.statusIcon.setVisibility(field.isVisible() ? View.GONE : View.VISIBLE);
|
viewHolder.statusIcon.setVisibility(field.isVisible() ? View.GONE : View.VISIBLE);
|
||||||
viewHolder.statusIcon.setImageDrawable(AppCompatResources.getDrawable(context, R.drawable.ic_baseline_visibility_off_24));
|
viewHolder.statusIcon.setImageDrawable(AppCompatResources.getDrawable(context, R.drawable.ic_baseline_visibility_off_24));
|
||||||
viewHolder.moveIcon.setVisibility(field.isVisible() ? View.VISIBLE : View.GONE);
|
viewHolder.moveIcon.setVisibility(field.isVisible() ? View.VISIBLE : View.GONE);
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ import android.os.Bundle;
|
|||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
import android.widget.AdapterView;
|
|
||||||
import android.widget.ArrayAdapter;
|
import android.widget.ArrayAdapter;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
@@ -33,6 +32,7 @@ public class IntervalsFragment extends Fragment {
|
|||||||
|
|
||||||
private static final String FROM_TOP_TO_BOTTOM_KEY = "fromTopToBottom";
|
private static final String FROM_TOP_TO_BOTTOM_KEY = "fromTopToBottom";
|
||||||
private static final String TRACK_ID_KEY = "trackId";
|
private static final String TRACK_ID_KEY = "trackId";
|
||||||
|
private static final String SELECTED_INTERVAL_KEY = "selectedIntervalKey";
|
||||||
|
|
||||||
private IntervalStatisticsModel viewModel;
|
private IntervalStatisticsModel viewModel;
|
||||||
protected IntervalStatisticsAdapter.StackMode stackModeListView;
|
protected IntervalStatisticsAdapter.StackMode stackModeListView;
|
||||||
@@ -41,7 +41,7 @@ public class IntervalsFragment extends Fragment {
|
|||||||
private Track.Id trackId;
|
private Track.Id trackId;
|
||||||
private boolean metricUnits;
|
private boolean metricUnits;
|
||||||
private IntervalStatisticsAdapter adapter;
|
private IntervalStatisticsAdapter adapter;
|
||||||
private ArrayAdapter<IntervalStatisticsModel.IntervalOption> spinnerAdapter;
|
private ArrayAdapter<IntervalStatisticsModel.IntervalOption> intervalsAdapter;
|
||||||
|
|
||||||
private boolean isReportSpeed;
|
private boolean isReportSpeed;
|
||||||
|
|
||||||
@@ -50,8 +50,8 @@ public class IntervalsFragment extends Fragment {
|
|||||||
protected final SharedPreferences.OnSharedPreferenceChangeListener sharedPreferenceChangeListener = (sharedPreferences, key) -> {
|
protected final SharedPreferences.OnSharedPreferenceChangeListener sharedPreferenceChangeListener = (sharedPreferences, key) -> {
|
||||||
if (PreferencesUtils.isKey(R.string.stats_units_key, key) || PreferencesUtils.isKey(R.string.stats_rate_key, key)) {
|
if (PreferencesUtils.isKey(R.string.stats_units_key, key) || PreferencesUtils.isKey(R.string.stats_rate_key, key)) {
|
||||||
updateIntervals(PreferencesUtils.isMetricUnits(), selectedInterval);
|
updateIntervals(PreferencesUtils.isMetricUnits(), selectedInterval);
|
||||||
if (spinnerAdapter != null) {
|
if (intervalsAdapter != null) {
|
||||||
spinnerAdapter.notifyDataSetChanged();
|
intervalsAdapter.notifyDataSetChanged();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -76,6 +76,15 @@ public class IntervalsFragment extends Fragment {
|
|||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
stackModeListView = getArguments().getBoolean(FROM_TOP_TO_BOTTOM_KEY, true) ? IntervalStatisticsAdapter.StackMode.STACK_FROM_TOP : IntervalStatisticsAdapter.StackMode.STACK_FROM_BOTTOM;
|
stackModeListView = getArguments().getBoolean(FROM_TOP_TO_BOTTOM_KEY, true) ? IntervalStatisticsAdapter.StackMode.STACK_FROM_TOP : IntervalStatisticsAdapter.StackMode.STACK_FROM_BOTTOM;
|
||||||
trackId = getArguments().getParcelable(TRACK_ID_KEY);
|
trackId = getArguments().getParcelable(TRACK_ID_KEY);
|
||||||
|
if (savedInstanceState != null) {
|
||||||
|
selectedInterval = (IntervalStatisticsModel.IntervalOption) savedInstanceState.getSerializable(SELECTED_INTERVAL_KEY);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onSaveInstanceState(@NonNull Bundle outState) {
|
||||||
|
super.onSaveInstanceState(outState);
|
||||||
|
outState.putSerializable(SELECTED_INTERVAL_KEY, selectedInterval);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -93,7 +102,7 @@ public class IntervalsFragment extends Fragment {
|
|||||||
// TODO handle empty view: before we did viewBinding.intervalList.setEmptyView(viewBinding.intervalListEmptyView);
|
// TODO handle empty view: before we did viewBinding.intervalList.setEmptyView(viewBinding.intervalListEmptyView);
|
||||||
viewBinding.intervalList.setAdapter(adapter);
|
viewBinding.intervalList.setAdapter(adapter);
|
||||||
|
|
||||||
spinnerAdapter = new ArrayAdapter<>(getContext(), android.R.layout.simple_spinner_dropdown_item, IntervalStatisticsModel.IntervalOption.values()) {
|
intervalsAdapter = new ArrayAdapter<>(getContext(), android.R.layout.simple_spinner_dropdown_item, IntervalStatisticsModel.IntervalOption.values()) {
|
||||||
@NonNull
|
@NonNull
|
||||||
@Override
|
@Override
|
||||||
public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
|
public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
|
||||||
@@ -112,17 +121,13 @@ public class IntervalsFragment extends Fragment {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
viewBinding.spinnerIntervals.setAdapter(spinnerAdapter);
|
viewBinding.intervalsDropdown.setAdapter(intervalsAdapter);
|
||||||
viewBinding.spinnerIntervals.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
|
viewBinding.intervalsDropdown.setOnItemClickListener((parent, view1, position, id) -> updateIntervals(metricUnits, IntervalStatisticsModel.IntervalOption.values()[position]));
|
||||||
@Override
|
|
||||||
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
|
|
||||||
updateIntervals(metricUnits, IntervalStatisticsModel.IntervalOption.values()[i]);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
viewBinding.intervalsDropdown.setText(
|
||||||
public void onNothingSelected(AdapterView<?> adapterView) {
|
getContext().getString(R.string.value_integer_kilometer, Integer.parseInt(selectedInterval != null ? selectedInterval.toString() : IntervalStatisticsModel.IntervalOption.values()[0].toString())),
|
||||||
}
|
false
|
||||||
});
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -173,6 +178,7 @@ public class IntervalsFragment extends Fragment {
|
|||||||
if (viewModel == null) {
|
if (viewModel == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
viewBinding.intervalRate.setText(isReportSpeed ? getString(R.string.stats_speed) : getString(R.string.stats_pace));
|
viewBinding.intervalRate.setText(isReportSpeed ? getString(R.string.stats_speed) : getString(R.string.stats_pace));
|
||||||
LiveData<List<IntervalStatistics.Interval>> liveData = viewModel.getIntervalStats(trackId, metricUnits, selectedInterval);
|
LiveData<List<IntervalStatistics.Interval>> liveData = viewModel.getIntervalStats(trackId, metricUnits, selectedInterval);
|
||||||
liveData.observe(getActivity(), intervalList -> adapter.swapData(intervalList, metricUnits, isReportSpeed));
|
liveData.observe(getActivity(), intervalList -> adapter.swapData(intervalList, metricUnits, isReportSpeed));
|
||||||
|
|||||||
@@ -0,0 +1,35 @@
|
|||||||
|
package de.dennisguse.opentracks.ui.util;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.widget.ArrayAdapter;
|
||||||
|
import android.widget.Filter;
|
||||||
|
|
||||||
|
import androidx.annotation.NonNull;
|
||||||
|
|
||||||
|
// https://github.com/material-components/material-components-android/issues/1464
|
||||||
|
public class ArrayAdapterFilterDisabled<T> extends ArrayAdapter<T> {
|
||||||
|
|
||||||
|
public ArrayAdapterFilterDisabled(@NonNull Context context, int resource, @NonNull T[] objects) {
|
||||||
|
super(context, resource, objects);
|
||||||
|
}
|
||||||
|
|
||||||
|
@NonNull
|
||||||
|
@Override
|
||||||
|
public Filter getFilter() {
|
||||||
|
return new NeverFilter();
|
||||||
|
}
|
||||||
|
|
||||||
|
private class NeverFilter extends Filter {
|
||||||
|
protected FilterResults performFiltering(CharSequence prefix) {
|
||||||
|
return new FilterResults();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void publishResults(CharSequence constraint, FilterResults results) {
|
||||||
|
if (ArrayAdapterFilterDisabled.this.getCount() > 0) {
|
||||||
|
notifyDataSetChanged();
|
||||||
|
} else {
|
||||||
|
notifyDataSetInvalidated();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
package de.dennisguse.opentracks.ui.util;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.util.AttributeSet;
|
||||||
|
|
||||||
|
import androidx.annotation.NonNull;
|
||||||
|
import androidx.annotation.Nullable;
|
||||||
|
|
||||||
|
import com.google.android.material.textfield.MaterialAutoCompleteTextView;
|
||||||
|
|
||||||
|
// https://github.com/material-components/material-components-android/issues/1464
|
||||||
|
public class AutoCompleteTextViewForDropdown extends MaterialAutoCompleteTextView {
|
||||||
|
|
||||||
|
public AutoCompleteTextViewForDropdown(@NonNull final Context context, @Nullable final AttributeSet attributeSet) {
|
||||||
|
super(context, attributeSet);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean getFreezesText() {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -17,11 +17,9 @@
|
|||||||
package de.dennisguse.opentracks.ui.util;
|
package de.dennisguse.opentracks.ui.util;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.view.Gravity;
|
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup.LayoutParams;
|
import android.view.ViewGroup.LayoutParams;
|
||||||
import android.widget.ImageView;
|
import android.widget.ImageView;
|
||||||
import android.widget.LinearLayout;
|
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
import java.time.OffsetDateTime;
|
import java.time.OffsetDateTime;
|
||||||
@@ -77,11 +75,9 @@ public class ListItemUtils {
|
|||||||
TextView timeDistanceTextView = view.findViewById(R.id.list_item_time_distance);
|
TextView timeDistanceTextView = view.findViewById(R.id.list_item_time_distance);
|
||||||
String timeDistanceText;
|
String timeDistanceText;
|
||||||
if (isRecording) {
|
if (isRecording) {
|
||||||
timeDistanceTextView.setTextColor(context.getResources().getColor(isPaused ? android.R.color.white : R.color.recording_text));
|
|
||||||
timeDistanceText = context.getString(isPaused ? R.string.generic_paused : R.string.generic_recording);
|
timeDistanceText = context.getString(isPaused ? R.string.generic_paused : R.string.generic_recording);
|
||||||
} else {
|
} else {
|
||||||
// Match list_item_time_distance in list_item.xml
|
// Match list_item_time_distance in list_item.xml
|
||||||
timeDistanceTextView.setTextAppearance(context, R.style.TextSmall);
|
|
||||||
timeDistanceText = getTimeDistance(totalTime, totalDistance);
|
timeDistanceText = getTimeDistance(totalTime, totalDistance);
|
||||||
if (markerCount > 0) {
|
if (markerCount > 0) {
|
||||||
timeDistanceText += " \u2027";
|
timeDistanceText += " \u2027";
|
||||||
@@ -132,10 +128,6 @@ public class ListItemUtils {
|
|||||||
timeDistanceTextView.setSingleLine(true);
|
timeDistanceTextView.setSingleLine(true);
|
||||||
setTextView(context, categoryDescriptionTextView, categoryDescription, hasPhoto);
|
setTextView(context, categoryDescriptionTextView, categoryDescription, hasPhoto);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Adjust iconImageView layout gravity
|
|
||||||
LinearLayout.LayoutParams params = (LinearLayout.LayoutParams) iconImageView.getLayoutParams();
|
|
||||||
params.gravity = timeDistanceTextView.getVisibility() == View.GONE && markerCountIcon.getVisibility() == View.GONE ? Gravity.TOP : Gravity.CENTER_VERTICAL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -42,14 +42,14 @@ public class ThemeUtils {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static int getFontSizeSmallInPx(Context context) {
|
public static int getFontSizeSmallInPx(Context context) {
|
||||||
TypedArray typedArray = context.obtainStyledAttributes(R.style.TextSmall, new int[]{android.R.attr.textSize});
|
TypedArray typedArray = context.obtainStyledAttributes(R.style.TextAppearance_MaterialComponents_Body2, new int[]{android.R.attr.textSize});
|
||||||
int fontSize = typedArray.getDimensionPixelSize(0, 12);
|
int fontSize = typedArray.getDimensionPixelSize(0, 12);
|
||||||
typedArray.recycle();
|
typedArray.recycle();
|
||||||
return fontSize;
|
return fontSize;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static int getFontSizeMediumInPx(Context context) {
|
public static int getFontSizeMediumInPx(Context context) {
|
||||||
TypedArray typedArray = context.obtainStyledAttributes(R.style.TextMedium, new int[]{android.R.attr.textSize});
|
TypedArray typedArray = context.obtainStyledAttributes(R.style.TextAppearance_MaterialComponents_Body1, new int[]{android.R.attr.textSize});
|
||||||
int fontSize = typedArray.getDimensionPixelSize(0, 15);
|
int fontSize = typedArray.getDimensionPixelSize(0, 15);
|
||||||
typedArray.recycle();
|
typedArray.recycle();
|
||||||
return fontSize;
|
return fontSize;
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
<item android:drawable="@color/colorAccentTransparent" android:state_activated="true" />
|
<item android:drawable="@color/opentracks_secondary_transparent" android:state_activated="true" />
|
||||||
<item android:drawable="@android:color/transparent" />
|
<item android:drawable="@android:color/transparent" />
|
||||||
</selector>
|
</selector>
|
||||||
@@ -38,17 +38,17 @@ limitations under the License.
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/controller_total_time"
|
android:id="@+id/controller_total_time"
|
||||||
style="@style/TextSmall"
|
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
style="?attr/textAppearanceSubtitle2"
|
||||||
android:layout_centerInParent="true"
|
android:layout_centerInParent="true"
|
||||||
android:textColor="@android:color/white" />
|
android:textColor="@android:color/white" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/controller_status"
|
android:id="@+id/controller_status"
|
||||||
style="@style/TextMicro"
|
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
style="?attr/textAppearanceSubtitle2"
|
||||||
android:layout_above="@id/controller_total_time"
|
android:layout_above="@id/controller_total_time"
|
||||||
android:layout_centerHorizontal="true"
|
android:layout_centerHorizontal="true"
|
||||||
android:singleLine="true" />
|
android:singleLine="true" />
|
||||||
|
|||||||
@@ -89,7 +89,7 @@ limitations under the License.
|
|||||||
android:layout_weight="24">
|
android:layout_weight="24">
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
style="@style/TextLarge"
|
style="?attr/textAppearanceHeadline6"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="@string/track_list_empty_message" />
|
android:text="@string/track_list_empty_message" />
|
||||||
|
|||||||
@@ -32,54 +32,55 @@
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/about_text_description"
|
android:id="@+id/about_text_description"
|
||||||
style="@style/TextMedium"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
|
android:textAppearance="?attr/textAppearanceSubtitle1"
|
||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:padding="12dp" />
|
android:padding="12dp" />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
<View style="@style/StatsHorizontalLine" />
|
<View style="@style/HorizontalLine" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/about_text_version_name"
|
android:id="@+id/about_text_version_name"
|
||||||
style="@style/TextSmall"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
android:textAppearance="?attr/textAppearanceSubtitle1"
|
||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:padding="6dp" />
|
android:padding="6dp" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/about_text_version_code"
|
android:id="@+id/about_text_version_code"
|
||||||
style="@style/TextSmall"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
android:textAppearance="?attr/textAppearanceBody1"
|
||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:padding="6dp" />
|
android:padding="6dp" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/about_app_url"
|
android:id="@+id/about_app_url"
|
||||||
style="@style/TextSmall"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
android:textAppearance="?attr/textAppearanceBody1"
|
||||||
android:autoLink="web"
|
android:autoLink="web"
|
||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:padding="6dp" />
|
android:padding="6dp" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
style="@style/TextSmall"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
android:textAppearance="?attr/textAppearanceBody1"
|
||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:linksClickable="true"
|
android:linksClickable="true"
|
||||||
android:padding="6dp"
|
android:padding="6dp"
|
||||||
android:text="@string/about_history" />
|
android:text="@string/about_history" />
|
||||||
|
|
||||||
<View style="@style/StatsHorizontalLine" />
|
<View style="@style/HorizontalLine" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
android:textAppearance="?attr/textAppearanceBody1"
|
||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:padding="12dp"
|
android:padding="12dp"
|
||||||
android:text="@string/about_third_party_data" />
|
android:text="@string/about_third_party_data" />
|
||||||
@@ -87,15 +88,17 @@
|
|||||||
<TextView
|
<TextView
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
android:textAppearance="?attr/textAppearanceBody1"
|
||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:padding="12dp"
|
android:padding="12dp"
|
||||||
android:text="@string/third_party_data" />
|
android:text="@string/third_party_data" />
|
||||||
|
|
||||||
<View style="@style/StatsHorizontalLine" />
|
<View style="@style/HorizontalLine" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
android:textAppearance="?attr/textAppearanceSubtitle1"
|
||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:padding="12dp"
|
android:padding="12dp"
|
||||||
android:text="@string/about_libraries" />
|
android:text="@string/about_libraries" />
|
||||||
@@ -103,6 +106,7 @@
|
|||||||
<TextView
|
<TextView
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
android:textAppearance="?attr/textAppearanceBody1"
|
||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:linksClickable="true"
|
android:linksClickable="true"
|
||||||
android:text="@string/third_party_libraries" />
|
android:text="@string/third_party_libraries" />
|
||||||
|
|||||||
@@ -7,27 +7,20 @@
|
|||||||
|
|
||||||
<include layout="@layout/toolbar" />
|
<include layout="@layout/toolbar" />
|
||||||
|
|
||||||
<LinearLayout
|
<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_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="8dp"
|
android:hint="@string/settings_recording_customize_layout_select_columns">
|
||||||
android:layout_marginEnd="8dp"
|
|
||||||
android:orientation="horizontal">
|
|
||||||
|
|
||||||
<TextView
|
<de.dennisguse.opentracks.ui.util.AutoCompleteTextViewForDropdown
|
||||||
style="@style/TextMediumPrimary"
|
android:id="@+id/rows_options"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginEnd="16dp"
|
android:inputType="none" />
|
||||||
android:text="@string/settings_recording_customize_layout_select_columns" />
|
|
||||||
|
|
||||||
<Spinner
|
</com.google.android.material.textfield.TextInputLayout>
|
||||||
android:id="@+id/spinner_options"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:gravity="center" />
|
|
||||||
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
<androidx.core.widget.NestedScrollView
|
<androidx.core.widget.NestedScrollView
|
||||||
android:id="@+id/scroll_view"
|
android:id="@+id/scroll_view"
|
||||||
|
|||||||
@@ -22,6 +22,7 @@
|
|||||||
android:id="@+id/custom_layout_list_input_layout"
|
android:id="@+id/custom_layout_list_input_layout"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
|
||||||
app:errorEnabled="true"
|
app:errorEnabled="true"
|
||||||
android:layout_margin="16dp">
|
android:layout_margin="16dp">
|
||||||
|
|
||||||
@@ -39,17 +40,22 @@
|
|||||||
android:id="@+id/custom_layout_list_bottom_bar"
|
android:id="@+id/custom_layout_list_bottom_bar"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="?attr/actionBarSize"
|
android:layout_height="?attr/actionBarSize"
|
||||||
android:gravity="center_vertical"
|
android:layout_margin="16dp"
|
||||||
|
android:gravity="end"
|
||||||
android:orientation="horizontal">
|
android:orientation="horizontal">
|
||||||
|
|
||||||
<Button
|
<com.google.android.material.button.MaterialButton
|
||||||
android:id="@+id/custom_layout_list_cancel_button"
|
android:id="@+id/custom_layout_list_cancel_button"
|
||||||
style="@style/BottomButton"
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
style="@style/Widget.MaterialComponents.Button.TextButton"
|
||||||
android:text="@android:string/cancel" />
|
android:text="@android:string/cancel" />
|
||||||
|
|
||||||
<Button
|
<com.google.android.material.button.MaterialButton
|
||||||
android:id="@+id/custom_layout_list_ok_button"
|
android:id="@+id/custom_layout_list_ok_button"
|
||||||
style="@style/BottomButton"
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:enabled="false"
|
||||||
android:text="@android:string/ok" />
|
android:text="@android:string/ok" />
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/aggregated_stats_empty_view"
|
android:id="@+id/aggregated_stats_empty_view"
|
||||||
style="@style/TextLarge"
|
style="?attr/textAppearanceHeadline4"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:padding="16dp"
|
android:padding="16dp"
|
||||||
|
|||||||
@@ -4,6 +4,9 @@
|
|||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
|
android:paddingTop="8dp"
|
||||||
|
android:paddingEnd="8dp"
|
||||||
|
android:paddingStart="8dp"
|
||||||
android:paddingBottom="24dp">
|
android:paddingBottom="24dp">
|
||||||
|
|
||||||
<!-- Guidelines -->
|
<!-- Guidelines -->
|
||||||
@@ -33,8 +36,7 @@
|
|||||||
android:id="@+id/aggregated_stats_sport_icon"
|
android:id="@+id/aggregated_stats_sport_icon"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="16dp"
|
app:layout_constraintEnd_toStartOf="@id/aggregated_stats_type_label"
|
||||||
android:layout_marginTop="16dp"
|
|
||||||
app:layout_constraintStart_toStartOf="@id/guideline1"
|
app:layout_constraintStart_toStartOf="@id/guideline1"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
app:tint="?android:textColorPrimary"
|
app:tint="?android:textColorPrimary"
|
||||||
@@ -42,10 +44,11 @@
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/aggregated_stats_type_label"
|
android:id="@+id/aggregated_stats_type_label"
|
||||||
style="@style/LargeLabel"
|
style="@style/TextAppearance.OpenTracks.PrimaryHeader"
|
||||||
android:layout_marginStart="16dp"
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginTop="0dp"
|
android:layout_marginTop="0dp"
|
||||||
android:layout_marginBottom="0dp"
|
android:layout_marginStart="16dp"
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/aggregated_stats_sport_icon"
|
app:layout_constraintBottom_toBottomOf="@+id/aggregated_stats_sport_icon"
|
||||||
app:layout_constraintStart_toEndOf="@+id/aggregated_stats_sport_icon"
|
app:layout_constraintStart_toEndOf="@+id/aggregated_stats_sport_icon"
|
||||||
app:layout_constraintTop_toTopOf="@+id/aggregated_stats_sport_icon"
|
app:layout_constraintTop_toTopOf="@+id/aggregated_stats_sport_icon"
|
||||||
@@ -53,10 +56,11 @@
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/aggregated_stats_num_tracks"
|
android:id="@+id/aggregated_stats_num_tracks"
|
||||||
style="@style/LargeLabel"
|
style="@style/TextAppearance.OpenTracks.PrimaryHeader"
|
||||||
android:layout_marginStart="4dp"
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginTop="0dp"
|
android:layout_marginTop="0dp"
|
||||||
android:layout_marginBottom="0dp"
|
android:layout_marginStart="4dp"
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/aggregated_stats_type_label"
|
app:layout_constraintBottom_toBottomOf="@+id/aggregated_stats_type_label"
|
||||||
app:layout_constraintStart_toEndOf="@+id/aggregated_stats_type_label"
|
app:layout_constraintStart_toEndOf="@+id/aggregated_stats_type_label"
|
||||||
app:layout_constraintTop_toTopOf="@+id/aggregated_stats_type_label"
|
app:layout_constraintTop_toTopOf="@+id/aggregated_stats_type_label"
|
||||||
@@ -65,8 +69,9 @@
|
|||||||
<!-- Distance -->
|
<!-- Distance -->
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/aggregated_stats_distance"
|
android:id="@+id/aggregated_stats_distance"
|
||||||
style="@style/StatsPrimaryValue"
|
style="@style/TextAppearance.OpenTracks.PrimaryValue"
|
||||||
android:layout_marginTop="16dp"
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
app:layout_constraintEnd_toStartOf="@id/aggregated_stats_distance_unit"
|
app:layout_constraintEnd_toStartOf="@id/aggregated_stats_distance_unit"
|
||||||
app:layout_constraintHorizontal_chainStyle="packed"
|
app:layout_constraintHorizontal_chainStyle="packed"
|
||||||
app:layout_constraintStart_toEndOf="@id/guideline1"
|
app:layout_constraintStart_toEndOf="@id/guideline1"
|
||||||
@@ -76,8 +81,9 @@
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/aggregated_stats_distance_unit"
|
android:id="@+id/aggregated_stats_distance_unit"
|
||||||
style="@style/StatsUnit"
|
style="@style/TextAppearance.OpenTracks.PrimaryUnit"
|
||||||
android:singleLine="true"
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/aggregated_stats_distance"
|
app:layout_constraintBottom_toBottomOf="@+id/aggregated_stats_distance"
|
||||||
app:layout_constraintEnd_toEndOf="@id/guideline2"
|
app:layout_constraintEnd_toEndOf="@id/guideline2"
|
||||||
app:layout_constraintStart_toEndOf="@+id/aggregated_stats_distance"
|
app:layout_constraintStart_toEndOf="@+id/aggregated_stats_distance"
|
||||||
@@ -86,9 +92,9 @@
|
|||||||
<!-- Time -->
|
<!-- Time -->
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/aggregated_stats_time"
|
android:id="@+id/aggregated_stats_time"
|
||||||
style="@style/StatsPrimaryValue"
|
style="@style/TextAppearance.OpenTracks.PrimaryValue"
|
||||||
android:layout_marginTop="16dp"
|
android:layout_width="wrap_content"
|
||||||
android:layout_marginEnd="16dp"
|
android:layout_height="wrap_content"
|
||||||
app:layout_constraintEnd_toEndOf="@id/guideline3"
|
app:layout_constraintEnd_toEndOf="@id/guideline3"
|
||||||
app:layout_constraintStart_toStartOf="@+id/guideline2"
|
app:layout_constraintStart_toStartOf="@+id/guideline2"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/aggregated_stats_sport_icon"
|
app:layout_constraintTop_toBottomOf="@+id/aggregated_stats_sport_icon"
|
||||||
@@ -97,8 +103,9 @@
|
|||||||
<!-- Avg. rate -->
|
<!-- Avg. rate -->
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/aggregated_stats_avg_rate"
|
android:id="@+id/aggregated_stats_avg_rate"
|
||||||
style="@style/StatsSmallValue"
|
style="@style/TextAppearance.OpenTracks.SecondaryValue"
|
||||||
android:layout_marginTop="24dp"
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
app:layout_constraintEnd_toStartOf="@+id/aggregated_stats_avg_rate_unit"
|
app:layout_constraintEnd_toStartOf="@+id/aggregated_stats_avg_rate_unit"
|
||||||
app:layout_constraintHorizontal_chainStyle="packed"
|
app:layout_constraintHorizontal_chainStyle="packed"
|
||||||
app:layout_constraintStart_toEndOf="@id/guideline1"
|
app:layout_constraintStart_toEndOf="@id/guideline1"
|
||||||
@@ -107,7 +114,9 @@
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/aggregated_stats_avg_rate_unit"
|
android:id="@+id/aggregated_stats_avg_rate_unit"
|
||||||
style="@style/StatsUnit"
|
style="@style/TextAppearance.OpenTracks.PrimaryUnit"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/aggregated_stats_avg_rate"
|
app:layout_constraintBottom_toBottomOf="@+id/aggregated_stats_avg_rate"
|
||||||
app:layout_constraintEnd_toEndOf="@id/guideline2"
|
app:layout_constraintEnd_toEndOf="@id/guideline2"
|
||||||
app:layout_constraintStart_toEndOf="@+id/aggregated_stats_avg_rate"
|
app:layout_constraintStart_toEndOf="@+id/aggregated_stats_avg_rate"
|
||||||
@@ -115,8 +124,9 @@
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/aggregated_stats_avg_rate_label"
|
android:id="@+id/aggregated_stats_avg_rate_label"
|
||||||
style="@style/StatsTinyLabel"
|
style="@style/TextAppearance.OpenTracks.SecondaryHeader"
|
||||||
android:singleLine="true"
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
app:layout_constrainedWidth="true"
|
app:layout_constrainedWidth="true"
|
||||||
app:layout_constraintEnd_toEndOf="@id/guideline2"
|
app:layout_constraintEnd_toEndOf="@id/guideline2"
|
||||||
app:layout_constraintStart_toEndOf="@id/guideline1"
|
app:layout_constraintStart_toEndOf="@id/guideline1"
|
||||||
@@ -126,8 +136,9 @@
|
|||||||
<!-- Max. rate -->
|
<!-- Max. rate -->
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/aggregated_stats_max_rate"
|
android:id="@+id/aggregated_stats_max_rate"
|
||||||
style="@style/StatsSmallValue"
|
style="@style/TextAppearance.OpenTracks.SecondaryValue"
|
||||||
android:layout_marginTop="24dp"
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
app:layout_constraintEnd_toStartOf="@+id/aggregated_stats_max_rate_unit"
|
app:layout_constraintEnd_toStartOf="@+id/aggregated_stats_max_rate_unit"
|
||||||
app:layout_constraintHorizontal_chainStyle="packed"
|
app:layout_constraintHorizontal_chainStyle="packed"
|
||||||
app:layout_constraintStart_toEndOf="@id/guideline2"
|
app:layout_constraintStart_toEndOf="@id/guideline2"
|
||||||
@@ -136,7 +147,9 @@
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/aggregated_stats_max_rate_unit"
|
android:id="@+id/aggregated_stats_max_rate_unit"
|
||||||
style="@style/StatsUnit"
|
style="@style/TextAppearance.OpenTracks.PrimaryUnit"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/aggregated_stats_max_rate"
|
app:layout_constraintBottom_toBottomOf="@+id/aggregated_stats_max_rate"
|
||||||
app:layout_constraintEnd_toStartOf="@id/guideline3"
|
app:layout_constraintEnd_toStartOf="@id/guideline3"
|
||||||
app:layout_constraintStart_toEndOf="@+id/aggregated_stats_max_rate"
|
app:layout_constraintStart_toEndOf="@+id/aggregated_stats_max_rate"
|
||||||
@@ -144,8 +157,9 @@
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/aggregated_stats_max_rate_label"
|
android:id="@+id/aggregated_stats_max_rate_label"
|
||||||
style="@style/StatsTinyLabel"
|
style="@style/TextAppearance.OpenTracks.SecondaryHeader"
|
||||||
android:singleLine="true"
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
app:layout_constrainedWidth="true"
|
app:layout_constrainedWidth="true"
|
||||||
app:layout_constraintEnd_toStartOf="@id/guideline3"
|
app:layout_constraintEnd_toStartOf="@id/guideline3"
|
||||||
app:layout_constraintStart_toEndOf="@id/guideline2"
|
app:layout_constraintStart_toEndOf="@id/guideline2"
|
||||||
|
|||||||
@@ -39,9 +39,9 @@ limitations under the License.
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/controller_total_time"
|
android:id="@+id/controller_total_time"
|
||||||
style="@style/TextSmall"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
style="?attr/textAppearanceSubtitle2"
|
||||||
android:layout_alignParentStart="true"
|
android:layout_alignParentStart="true"
|
||||||
android:layout_centerVertical="true"
|
android:layout_centerVertical="true"
|
||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
@@ -50,9 +50,9 @@ limitations under the License.
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/controller_status"
|
android:id="@+id/controller_status"
|
||||||
style="@style/TextMicro"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
style="?attr/textAppearanceSubtitle2"
|
||||||
android:layout_above="@id/controller_total_time"
|
android:layout_above="@id/controller_total_time"
|
||||||
android:layout_alignParentStart="true"
|
android:layout_alignParentStart="true"
|
||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
style="@style/StatsCardView">
|
style="@style/OpenTracksCardView">
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
@@ -16,7 +16,7 @@
|
|||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
tools:text="Profile/Custom Layout Title"
|
tools:text="Profile/Custom Layout Title"
|
||||||
style="@style/LargeLabel"
|
style="@style/TextAppearance.OpenTracks.PrimaryHeader"
|
||||||
android:layout_margin="8dp"
|
android:layout_margin="8dp"
|
||||||
app:layout_constraintHorizontal_chainStyle="packed"
|
app:layout_constraintHorizontal_chainStyle="packed"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
style="@style/StatsCardView">
|
style="@style/OpenTracksCardView">
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
|
|||||||
@@ -28,9 +28,9 @@
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/export_progress_done"
|
android:id="@+id/export_progress_done"
|
||||||
style="@style/TextMediumPrimary"
|
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
style="?attr/textAppearanceSubtitle1"
|
||||||
android:layout_marginStart="24dp"
|
android:layout_marginStart="24dp"
|
||||||
android:layout_marginTop="48dp"
|
android:layout_marginTop="48dp"
|
||||||
app:layout_constraintEnd_toStartOf="@id/export_progress_slash"
|
app:layout_constraintEnd_toStartOf="@id/export_progress_slash"
|
||||||
@@ -41,9 +41,9 @@
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/export_progress_slash"
|
android:id="@+id/export_progress_slash"
|
||||||
style="@style/TextMediumPrimary"
|
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
style="?attr/textAppearanceSubtitle1"
|
||||||
android:text="@string/generic_separator_done_total"
|
android:text="@string/generic_separator_done_total"
|
||||||
app:layout_constraintBottom_toBottomOf="@id/export_progress_done"
|
app:layout_constraintBottom_toBottomOf="@id/export_progress_done"
|
||||||
app:layout_constraintEnd_toStartOf="@id/export_progress_total"
|
app:layout_constraintEnd_toStartOf="@id/export_progress_total"
|
||||||
@@ -52,9 +52,9 @@
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/export_progress_total"
|
android:id="@+id/export_progress_total"
|
||||||
style="@style/TextMediumPrimary"
|
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
style="?attr/textAppearanceSubtitle1"
|
||||||
android:layout_marginEnd="24dp"
|
android:layout_marginEnd="24dp"
|
||||||
app:layout_constraintBottom_toBottomOf="@id/export_progress_slash"
|
app:layout_constraintBottom_toBottomOf="@id/export_progress_slash"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
@@ -62,9 +62,8 @@
|
|||||||
app:layout_constraintTop_toTopOf="@id/export_progress_slash"
|
app:layout_constraintTop_toTopOf="@id/export_progress_slash"
|
||||||
tools:text="10" />
|
tools:text="10" />
|
||||||
|
|
||||||
<ProgressBar
|
<com.google.android.material.progressindicator.LinearProgressIndicator
|
||||||
android:id="@+id/export_progress_bar"
|
android:id="@+id/export_progress_bar"
|
||||||
style="@style/ProgressBar"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="24dp"
|
android:layout_marginStart="24dp"
|
||||||
@@ -79,7 +78,11 @@
|
|||||||
<!-- Tracks exported (new tracks) -->
|
<!-- Tracks exported (new tracks) -->
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/export_progress_summary_new_msg"
|
android:id="@+id/export_progress_summary_new_msg"
|
||||||
style="@style/TextImportExportSummaryStart"
|
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"
|
android:text="@string/export_progress_summary_new_msg"
|
||||||
app:layout_constraintEnd_toEndOf="@id/guideline_vertical_half"
|
app:layout_constraintEnd_toEndOf="@id/guideline_vertical_half"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
@@ -87,7 +90,9 @@
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/export_progress_summary_new"
|
android:id="@+id/export_progress_summary_new"
|
||||||
style="@style/TextImportExportSummaryEnd"
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
style="?attr/textAppearanceSubtitle1"
|
||||||
app:layout_constraintBottom_toBottomOf="@id/export_progress_summary_new_msg"
|
app:layout_constraintBottom_toBottomOf="@id/export_progress_summary_new_msg"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toEndOf="@id/guideline_vertical_half"
|
app:layout_constraintStart_toEndOf="@id/guideline_vertical_half"
|
||||||
@@ -112,7 +117,11 @@
|
|||||||
<!-- Tracks overwritten -->
|
<!-- Tracks overwritten -->
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/export_progress_summary_overwrite_msg"
|
android:id="@+id/export_progress_summary_overwrite_msg"
|
||||||
style="@style/TextImportExportSummaryStart"
|
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"
|
android:text="@string/export_progress_summary_overwrite_msg"
|
||||||
app:layout_constraintEnd_toEndOf="@id/guideline_vertical_half"
|
app:layout_constraintEnd_toEndOf="@id/guideline_vertical_half"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
@@ -120,7 +129,9 @@
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/export_progress_summary_overwrite"
|
android:id="@+id/export_progress_summary_overwrite"
|
||||||
style="@style/TextImportExportSummaryEnd"
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
style="?attr/textAppearanceSubtitle1"
|
||||||
app:layout_constraintBottom_toBottomOf="@id/export_progress_summary_overwrite_msg"
|
app:layout_constraintBottom_toBottomOf="@id/export_progress_summary_overwrite_msg"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toEndOf="@id/guideline_vertical_half"
|
app:layout_constraintStart_toEndOf="@id/guideline_vertical_half"
|
||||||
@@ -145,7 +156,11 @@
|
|||||||
<!-- Tracks skipped -->
|
<!-- Tracks skipped -->
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/export_progress_summary_skip_msg"
|
android:id="@+id/export_progress_summary_skip_msg"
|
||||||
style="@style/TextImportExportSummaryStart"
|
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"
|
android:text="@string/export_progress_summary_skip_msg"
|
||||||
app:layout_constraintEnd_toEndOf="@id/guideline_vertical_half"
|
app:layout_constraintEnd_toEndOf="@id/guideline_vertical_half"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
@@ -153,7 +168,9 @@
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/export_progress_summary_skip"
|
android:id="@+id/export_progress_summary_skip"
|
||||||
style="@style/TextImportExportSummaryEnd"
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
style="?attr/textAppearanceSubtitle1"
|
||||||
app:layout_constraintBottom_toBottomOf="@id/export_progress_summary_skip_msg"
|
app:layout_constraintBottom_toBottomOf="@id/export_progress_summary_skip_msg"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toEndOf="@id/guideline_vertical_half"
|
app:layout_constraintStart_toEndOf="@id/guideline_vertical_half"
|
||||||
@@ -178,7 +195,11 @@
|
|||||||
<!-- Tracks errors -->
|
<!-- Tracks errors -->
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/export_progress_summary_errors_msg"
|
android:id="@+id/export_progress_summary_errors_msg"
|
||||||
style="@style/TextImportExportSummaryStart"
|
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"
|
android:text="@string/export_progress_summary_errors_msg"
|
||||||
app:layout_constraintEnd_toEndOf="@id/guideline_vertical_half"
|
app:layout_constraintEnd_toEndOf="@id/guideline_vertical_half"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
@@ -186,7 +207,9 @@
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/export_progress_summary_errors"
|
android:id="@+id/export_progress_summary_errors"
|
||||||
style="@style/TextImportExportSummaryEnd"
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
style="?attr/textAppearanceSubtitle1"
|
||||||
app:layout_constraintBottom_toBottomOf="@id/export_progress_summary_errors_msg"
|
app:layout_constraintBottom_toBottomOf="@id/export_progress_summary_errors_msg"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toEndOf="@id/guideline_vertical_half"
|
app:layout_constraintStart_toEndOf="@id/guideline_vertical_half"
|
||||||
@@ -224,9 +247,9 @@
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/export_progress_alert_msg"
|
android:id="@+id/export_progress_alert_msg"
|
||||||
style="@style/TextMediumPrimary"
|
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
style="?attr/textAppearanceSubtitle1"
|
||||||
android:layout_marginTop="48dp"
|
android:layout_marginTop="48dp"
|
||||||
android:layout_marginEnd="24dp"
|
android:layout_marginEnd="24dp"
|
||||||
android:layout_marginBottom="24dp"
|
android:layout_marginBottom="24dp"
|
||||||
@@ -276,6 +299,7 @@
|
|||||||
android:text="@string/generic_overwrite"
|
android:text="@string/generic_overwrite"
|
||||||
android:visibility="gone"
|
android:visibility="gone"
|
||||||
tools:visibility="visible"/>
|
tools:visibility="visible"/>
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
@@ -1,106 +1,106 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
|
||||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools">
|
||||||
android:orientation="vertical">
|
|
||||||
|
|
||||||
<ScrollView style="@style/ScrollView.WithBottomButtons">
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:padding="8dp">
|
||||||
|
|
||||||
|
<com.google.android.material.button.MaterialButtonToggleGroup
|
||||||
|
android:id="@+id/filter_items"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:padding="8dp">
|
android:padding="8dp"
|
||||||
|
android:orientation="vertical"
|
||||||
|
app:singleSelection="false"
|
||||||
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintBottom_toTopOf="@id/filter_date_from" />
|
||||||
|
|
||||||
<GridLayout
|
<com.google.android.material.textfield.TextInputLayout
|
||||||
android:id="@+id/filter_items"
|
android:id="@+id/filter_date_from"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:hint="@string/generic_from"
|
||||||
|
android:imeOptions="actionNext"
|
||||||
|
android:importantForAutofill="no"
|
||||||
|
android:padding="8dp"
|
||||||
|
app:layout_constraintTop_toBottomOf="@id/filter_items"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintBottom_toTopOf="@id/filter_date_picker_from">
|
||||||
|
|
||||||
|
<com.google.android.material.textfield.TextInputEditText
|
||||||
|
android:id="@+id/filter_date_edit_text_from"
|
||||||
|
android:drawableStart="@drawable/ic_baseline_date_range_24"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:columnCount="2"
|
android:enabled="true"
|
||||||
android:orientation="horizontal"
|
android:focusable="false"
|
||||||
android:padding="8dp"
|
android:focusableInTouchMode="false"
|
||||||
android:alignmentMode="alignBounds"
|
android:inputType="date"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
android:selectAllOnFocus="true" />
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
|
||||||
app:layout_constraintBottom_toTopOf="@id/filter_date_from" />
|
|
||||||
|
|
||||||
<com.google.android.material.textfield.TextInputLayout
|
</com.google.android.material.textfield.TextInputLayout>
|
||||||
android:id="@+id/filter_date_from"
|
|
||||||
|
<DatePicker
|
||||||
|
android:id="@+id/filter_date_picker_from"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:visibility="gone"
|
||||||
|
tools:visibility="visible"
|
||||||
|
android:paddingLeft="8dp"
|
||||||
|
android:paddingRight="8dp"
|
||||||
|
app:layout_constraintTop_toBottomOf="@id/filter_date_from"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintBottom_toTopOf="@id/filter_date_to" />
|
||||||
|
|
||||||
|
<com.google.android.material.textfield.TextInputLayout
|
||||||
|
android:id="@+id/filter_date_to"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:hint="@string/generic_to"
|
||||||
|
android:imeOptions="actionNext"
|
||||||
|
android:importantForAutofill="no"
|
||||||
|
android:padding="8dp"
|
||||||
|
app:layout_constraintTop_toBottomOf="@id/filter_date_picker_from"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintBottom_toTopOf="@id/filter_date_picker_to">
|
||||||
|
|
||||||
|
<com.google.android.material.textfield.TextInputEditText
|
||||||
|
android:id="@+id/filter_date_edit_text_to"
|
||||||
|
android:drawableStart="@drawable/ic_baseline_date_range_24"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:hint="@string/generic_from"
|
android:enabled="true"
|
||||||
android:imeOptions="actionNext"
|
android:focusable="false"
|
||||||
android:importantForAutofill="no"
|
android:focusableInTouchMode="false"
|
||||||
android:padding="8dp"
|
android:inputType="date"
|
||||||
app:layout_constraintTop_toBottomOf="@id/filter_items"
|
android:selectAllOnFocus="true" />
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
|
||||||
app:layout_constraintBottom_toTopOf="@id/filter_date_picker_from">
|
|
||||||
<com.google.android.material.textfield.TextInputEditText
|
|
||||||
android:id="@+id/filter_date_edit_text_from"
|
|
||||||
android:drawableStart="@drawable/ic_baseline_date_range_24"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:enabled="true"
|
|
||||||
android:focusable="false"
|
|
||||||
android:focusableInTouchMode="false"
|
|
||||||
android:inputType="date"
|
|
||||||
android:selectAllOnFocus="true" />
|
|
||||||
</com.google.android.material.textfield.TextInputLayout>
|
|
||||||
|
|
||||||
<DatePicker
|
</com.google.android.material.textfield.TextInputLayout>
|
||||||
android:id="@+id/filter_date_picker_from"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:visibility="gone"
|
|
||||||
tools:visibility="visible"
|
|
||||||
android:paddingLeft="8dp"
|
|
||||||
android:paddingRight="8dp"
|
|
||||||
app:layout_constraintTop_toBottomOf="@id/filter_date_from"
|
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
|
||||||
app:layout_constraintBottom_toTopOf="@id/filter_date_to" />
|
|
||||||
|
|
||||||
<com.google.android.material.textfield.TextInputLayout
|
<DatePicker
|
||||||
android:id="@+id/filter_date_to"
|
android:id="@+id/filter_date_picker_to"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:hint="@string/generic_to"
|
android:visibility="gone"
|
||||||
android:imeOptions="actionNext"
|
tools:visibility="visible"
|
||||||
android:importantForAutofill="no"
|
android:paddingLeft="8dp"
|
||||||
android:padding="8dp"
|
android:paddingRight="8dp"
|
||||||
app:layout_constraintTop_toBottomOf="@id/filter_date_picker_from"
|
app:layout_constraintTop_toBottomOf="@id/filter_date_to"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintBottom_toTopOf="@id/filter_date_picker_to">
|
app:layout_constraintBottom_toBottomOf="parent" />
|
||||||
<com.google.android.material.textfield.TextInputEditText
|
|
||||||
android:id="@+id/filter_date_edit_text_to"
|
|
||||||
android:drawableStart="@drawable/ic_baseline_date_range_24"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:enabled="true"
|
|
||||||
android:focusable="false"
|
|
||||||
android:focusableInTouchMode="false"
|
|
||||||
android:inputType="date"
|
|
||||||
android:selectAllOnFocus="true" />
|
|
||||||
</com.google.android.material.textfield.TextInputLayout>
|
|
||||||
|
|
||||||
<DatePicker
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
android:id="@+id/filter_date_picker_to"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:visibility="gone"
|
|
||||||
tools:visibility="visible"
|
|
||||||
android:paddingLeft="8dp"
|
|
||||||
android:paddingRight="8dp"
|
|
||||||
app:layout_constraintTop_toBottomOf="@id/filter_date_to"
|
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
|
||||||
app:layout_constraintBottom_toBottomOf="parent" />
|
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</ScrollView>
|
||||||
</ScrollView>
|
|
||||||
|
|
||||||
</LinearLayout>
|
|
||||||
@@ -1,9 +1,11 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
|
||||||
<CheckBox xmlns:android="http://schemas.android.com/apk/res/android"
|
<com.google.android.material.button.MaterialButton xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
android:id="@+id/filter_dialog_check_button"
|
android:id="@+id/filter_dialog_check_button"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
style="@style/Widget.MaterialComponents.Button.OutlinedButton"
|
||||||
|
android:checkable="true"
|
||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
tools:text="Check Button" />
|
tools:text="Check Button" />
|
||||||
@@ -17,129 +17,120 @@
|
|||||||
android:padding="20dp">
|
android:padding="20dp">
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
style="@style/TextMedium"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="@string/help_feature_title"
|
style="?attr/textAppearanceHeadline6"
|
||||||
android:textStyle="bold" />
|
android:text="@string/help_feature_title" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
style="@style/TextMedium"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
style="?attr/textAppearanceBody1"
|
||||||
android:text="@string/help_feature_content" />
|
android:text="@string/help_feature_content" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
style="@style/TextMedium"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
style="?attr/textAppearanceHeadline6"
|
||||||
android:layout_marginTop="20dp"
|
android:layout_marginTop="20dp"
|
||||||
android:text="@string/help_track_map_title"
|
android:text="@string/help_track_map_title" />
|
||||||
android:textStyle="bold" />
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
style="@style/TextMedium"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
style="?attr/textAppearanceBody1"
|
||||||
android:linksClickable="true"
|
android:linksClickable="true"
|
||||||
android:text="@string/help_track_map_content" />
|
android:text="@string/help_track_map_content" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
style="@style/TextMedium"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
style="?attr/textAppearanceHeadline6"
|
||||||
android:layout_marginTop="20dp"
|
android:layout_marginTop="20dp"
|
||||||
android:text="@string/help_recording_title"
|
android:text="@string/help_recording_title" />
|
||||||
android:textStyle="bold" />
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
style="@style/TextMedium"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
style="?attr/textAppearanceBody1"
|
||||||
android:text="@string/help_recording_content" />
|
android:text="@string/help_recording_content" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
style="@style/TextMedium"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
style="?attr/textAppearanceHeadline6"
|
||||||
android:layout_marginTop="20dp"
|
android:layout_marginTop="20dp"
|
||||||
android:text="@string/help_storage_pictures_title"
|
android:text="@string/help_storage_pictures_title" />
|
||||||
android:textStyle="bold" />
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
style="@style/TextMedium"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
style="?attr/textAppearanceBody1"
|
||||||
android:text="@string/help_storage_pictures_content" />
|
android:text="@string/help_storage_pictures_content" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
style="@style/TextMedium"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
style="?attr/textAppearanceHeadline6"
|
||||||
android:layout_marginTop="20dp"
|
android:layout_marginTop="20dp"
|
||||||
android:text="@string/help_track_export_title"
|
android:text="@string/help_track_export_title" />
|
||||||
android:textStyle="bold" />
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
style="@style/TextMedium"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
style="?attr/textAppearanceBody1"
|
||||||
android:text="@string/help_track_export_content" />
|
android:text="@string/help_track_export_content" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
style="@style/TextMedium"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="@string/help_data_google_play_services_title"
|
style="?attr/textAppearanceHeadline6"
|
||||||
android:textStyle="bold" />
|
android:text="@string/help_data_google_play_services_title" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
style="@style/TextMedium"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
style="?attr/textAppearanceBody1"
|
||||||
android:text="@android:string/no" />
|
android:text="@android:string/no" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
style="@style/TextMedium"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
style="?attr/textAppearanceHeadline6"
|
||||||
android:layout_marginTop="20dp"
|
android:layout_marginTop="20dp"
|
||||||
android:text="@string/help_data_storage_title"
|
android:text="@string/help_data_storage_title" />
|
||||||
android:textStyle="bold" />
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
style="@style/TextMedium"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
style="?attr/textAppearanceBody1"
|
||||||
android:text="@string/help_data_storage_content" />
|
android:text="@string/help_data_storage_content" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
style="@style/TextMedium"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
style="?attr/textAppearanceHeadline6"
|
||||||
android:layout_marginTop="20dp"
|
android:layout_marginTop="20dp"
|
||||||
android:text="@string/help_gps_troubleshooting_title"
|
android:text="@string/help_gps_troubleshooting_title" />
|
||||||
android:textStyle="bold" />
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
style="@style/TextMedium"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
style="?attr/textAppearanceBody1"
|
||||||
android:linksClickable="true"
|
android:linksClickable="true"
|
||||||
android:text="@string/help_gps_troubleshooting_content" />
|
android:text="@string/help_gps_troubleshooting_content" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
style="@style/TextMedium"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
style="?attr/textAppearanceHeadline6"
|
||||||
android:layout_marginTop="20dp"
|
android:layout_marginTop="20dp"
|
||||||
android:text="@string/help_support_title"
|
android:text="@string/help_support_title" />
|
||||||
android:textStyle="bold" />
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
style="@style/TextMedium"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
style="?attr/textAppearanceBody1"
|
||||||
android:linksClickable="true"
|
android:linksClickable="true"
|
||||||
android:text="@string/help_support_content" />
|
android:text="@string/help_support_content" />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|||||||
@@ -28,9 +28,9 @@
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/import_progress_done"
|
android:id="@+id/import_progress_done"
|
||||||
style="@style/TextMediumPrimary"
|
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
style="?attr/textAppearanceSubtitle1"
|
||||||
android:layout_marginStart="24dp"
|
android:layout_marginStart="24dp"
|
||||||
android:layout_marginTop="48dp"
|
android:layout_marginTop="48dp"
|
||||||
app:layout_constraintEnd_toStartOf="@id/import_progress_slash"
|
app:layout_constraintEnd_toStartOf="@id/import_progress_slash"
|
||||||
@@ -41,9 +41,9 @@
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/import_progress_slash"
|
android:id="@+id/import_progress_slash"
|
||||||
style="@style/TextMediumPrimary"
|
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
style="?attr/textAppearanceSubtitle1"
|
||||||
android:text="@string/generic_separator_done_total"
|
android:text="@string/generic_separator_done_total"
|
||||||
app:layout_constraintBottom_toBottomOf="@id/import_progress_done"
|
app:layout_constraintBottom_toBottomOf="@id/import_progress_done"
|
||||||
app:layout_constraintEnd_toStartOf="@id/import_progress_total"
|
app:layout_constraintEnd_toStartOf="@id/import_progress_total"
|
||||||
@@ -52,9 +52,9 @@
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/import_progress_total"
|
android:id="@+id/import_progress_total"
|
||||||
style="@style/TextMediumPrimary"
|
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
style="?attr/textAppearanceSubtitle1"
|
||||||
android:layout_marginEnd="24dp"
|
android:layout_marginEnd="24dp"
|
||||||
app:layout_constraintBottom_toBottomOf="@id/import_progress_slash"
|
app:layout_constraintBottom_toBottomOf="@id/import_progress_slash"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
@@ -62,9 +62,8 @@
|
|||||||
app:layout_constraintTop_toTopOf="@id/import_progress_slash"
|
app:layout_constraintTop_toTopOf="@id/import_progress_slash"
|
||||||
tools:text="10" />
|
tools:text="10" />
|
||||||
|
|
||||||
<ProgressBar
|
<com.google.android.material.progressindicator.LinearProgressIndicator
|
||||||
android:id="@+id/import_progress_bar"
|
android:id="@+id/import_progress_bar"
|
||||||
style="@style/ProgressBar"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="24dp"
|
android:layout_marginStart="24dp"
|
||||||
@@ -79,7 +78,11 @@
|
|||||||
<!-- Files imported correctly -->
|
<!-- Files imported correctly -->
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/import_progress_summary_ok_msg"
|
android:id="@+id/import_progress_summary_ok_msg"
|
||||||
style="@style/TextImportExportSummaryStart"
|
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"
|
android:text="@string/import_progress_summary_ok_msg"
|
||||||
app:layout_constraintEnd_toEndOf="@id/guideline_vertical_half"
|
app:layout_constraintEnd_toEndOf="@id/guideline_vertical_half"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
@@ -87,7 +90,9 @@
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/import_progress_summary_ok"
|
android:id="@+id/import_progress_summary_ok"
|
||||||
style="@style/TextImportExportSummaryEnd"
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
style="?attr/textAppearanceSubtitle1"
|
||||||
app:layout_constraintBottom_toBottomOf="@id/import_progress_summary_ok_msg"
|
app:layout_constraintBottom_toBottomOf="@id/import_progress_summary_ok_msg"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toEndOf="@id/guideline_vertical_half"
|
app:layout_constraintStart_toEndOf="@id/guideline_vertical_half"
|
||||||
@@ -112,7 +117,11 @@
|
|||||||
<!-- Already exists files -->
|
<!-- Already exists files -->
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/import_progress_summary_exists_msg"
|
android:id="@+id/import_progress_summary_exists_msg"
|
||||||
style="@style/TextImportExportSummaryStart"
|
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"
|
android:text="@string/import_progress_summary_exists_msg"
|
||||||
app:layout_constraintEnd_toEndOf="@id/guideline_vertical_half"
|
app:layout_constraintEnd_toEndOf="@id/guideline_vertical_half"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
@@ -120,7 +129,9 @@
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/import_progress_summary_exists"
|
android:id="@+id/import_progress_summary_exists"
|
||||||
style="@style/TextImportExportSummaryEnd"
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
style="?attr/textAppearanceSubtitle1"
|
||||||
app:layout_constraintBottom_toBottomOf="@id/import_progress_summary_exists_msg"
|
app:layout_constraintBottom_toBottomOf="@id/import_progress_summary_exists_msg"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toEndOf="@id/guideline_vertical_half"
|
app:layout_constraintStart_toEndOf="@id/guideline_vertical_half"
|
||||||
@@ -145,7 +156,11 @@
|
|||||||
<!-- Importing error files -->
|
<!-- Importing error files -->
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/import_progress_summary_errors_msg"
|
android:id="@+id/import_progress_summary_errors_msg"
|
||||||
style="@style/TextImportExportSummaryStart"
|
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"
|
android:text="@string/import_progress_summary_errors_msg"
|
||||||
app:layout_constraintEnd_toEndOf="@id/guideline_vertical_half"
|
app:layout_constraintEnd_toEndOf="@id/guideline_vertical_half"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
@@ -153,7 +168,9 @@
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/import_progress_summary_errors"
|
android:id="@+id/import_progress_summary_errors"
|
||||||
style="@style/TextImportExportSummaryEnd"
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
style="?attr/textAppearanceSubtitle1"
|
||||||
app:layout_constraintBottom_toBottomOf="@id/import_progress_summary_errors_msg"
|
app:layout_constraintBottom_toBottomOf="@id/import_progress_summary_errors_msg"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toEndOf="@id/guideline_vertical_half"
|
app:layout_constraintStart_toEndOf="@id/guideline_vertical_half"
|
||||||
@@ -191,9 +208,9 @@
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/import_progress_alert_msg"
|
android:id="@+id/import_progress_alert_msg"
|
||||||
style="@style/TextMediumPrimary"
|
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
style="?attr/textAppearanceSubtitle1"
|
||||||
android:layout_marginTop="48dp"
|
android:layout_marginTop="48dp"
|
||||||
android:layout_marginEnd="24dp"
|
android:layout_marginEnd="24dp"
|
||||||
android:layout_marginBottom="24dp"
|
android:layout_marginBottom="24dp"
|
||||||
|
|||||||
@@ -3,49 +3,52 @@
|
|||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
|
android:padding="8dp"
|
||||||
android:orientation="vertical">
|
android:orientation="vertical">
|
||||||
|
|
||||||
<LinearLayout
|
<com.google.android.material.textfield.TextInputLayout
|
||||||
|
android:id="@+id/intervals_input_layout"
|
||||||
|
style="?attr/textInputOutlinedExposedDropdownMenuStyle"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="8dp"
|
android:layout_marginBottom="8dp"
|
||||||
android:layout_marginEnd="8dp"
|
android:hint="@string/stats_split_interval">
|
||||||
android:orientation="horizontal">
|
|
||||||
|
|
||||||
<TextView
|
<de.dennisguse.opentracks.ui.util.AutoCompleteTextViewForDropdown
|
||||||
style="@style/TextMediumPrimary"
|
android:id="@+id/intervals_dropdown"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="@string/stats_split_interval" />
|
android:inputType="none" />
|
||||||
|
|
||||||
<Spinner
|
</com.google.android.material.textfield.TextInputLayout>
|
||||||
android:id="@+id/spinner_intervals"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:gravity="center" />
|
|
||||||
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="8dp"
|
|
||||||
android:layout_marginEnd="8dp"
|
|
||||||
android:orientation="horizontal">
|
android:orientation="horizontal">
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/interval_distance"
|
android:id="@+id/interval_distance"
|
||||||
style="@style/IntervalLabel"
|
android:layout_width="0dp"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
style="@style/TextAppearance.OpenTracks.PrimaryHeader"
|
||||||
android:text="@string/stats_distance" />
|
android:text="@string/stats_distance" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/interval_rate"
|
android:id="@+id/interval_rate"
|
||||||
style="@style/IntervalLabel"
|
android:layout_width="0dp"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
style="@style/TextAppearance.OpenTracks.PrimaryHeader"
|
||||||
tools:text="Speed" />
|
tools:text="Speed" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/interval_altitude"
|
android:id="@+id/interval_altitude"
|
||||||
style="@style/IntervalLabel"
|
android:layout_width="0dp"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
style="@style/TextAppearance.OpenTracks.PrimaryHeader"
|
||||||
android:text="@string/stats_altitude" />
|
android:text="@string/stats_altitude" />
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
@@ -65,9 +68,9 @@
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/interval_list_empty_view"
|
android:id="@+id/interval_list_empty_view"
|
||||||
style="@style/TextMedium"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
|
style="?attr/textAppearanceHeadline4"
|
||||||
android:gravity="center_horizontal|center_vertical"
|
android:gravity="center_horizontal|center_vertical"
|
||||||
android:text="@string/interval_list_empty_message" />
|
android:text="@string/interval_list_empty_message" />
|
||||||
|
|
||||||
|
|||||||
@@ -10,18 +10,20 @@
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/interval_item_distance"
|
android:id="@+id/interval_item_distance"
|
||||||
style="@style/TextMediumPrimary"
|
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
android:layout_weight="1"
|
android:layout_weight="1"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
|
style="?attr/textAppearanceBody1"
|
||||||
tools:text="1 km" />
|
tools:text="1 km" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/interval_item_rate"
|
android:id="@+id/interval_item_rate"
|
||||||
style="@style/TextMediumPrimary"
|
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
android:layout_weight="1"
|
android:layout_weight="1"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
|
style="?attr/textAppearanceBody1"
|
||||||
tools:text="15 km/h" />
|
tools:text="15 km/h" />
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
@@ -32,17 +34,19 @@
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/interval_item_gain"
|
android:id="@+id/interval_item_gain"
|
||||||
style="@style/TextSmall"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
app:drawableStartCompat="@drawable/ic_arrow_drop_up_24"
|
android:layout_height="wrap_content"
|
||||||
tools:text="100 m" />
|
style="?attr/textAppearanceBody2"
|
||||||
|
tools:text="100 m"
|
||||||
|
app:drawableStartCompat="@drawable/ic_arrow_drop_up_24" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/interval_item_loss"
|
android:id="@+id/interval_item_loss"
|
||||||
style="@style/TextSmall"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
app:drawableStartCompat="@drawable/ic_arrow_drop_down_24"
|
android:layout_height="wrap_content"
|
||||||
tools:text="100 m" />
|
style="?attr/textAppearanceBody2"
|
||||||
|
tools:text="100 m"
|
||||||
|
app:drawableStartCompat="@drawable/ic_arrow_drop_down_24" />
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
|
|||||||
+132
-138
@@ -1,152 +1,146 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?><!--
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
Copyright 2012 Google Inc.
|
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
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.
|
|
||||||
-->
|
|
||||||
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content">
|
android:layout_height="wrap_content"
|
||||||
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
|
android:background="@drawable/activated_background"
|
||||||
|
android:paddingStart="8dp"
|
||||||
|
android:paddingEnd="8dp"
|
||||||
|
android:paddingTop="12dp"
|
||||||
|
android:paddingBottom="12dp">
|
||||||
|
|
||||||
<!-- Photo -->
|
<!-- Photo -->
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/list_item_photo"
|
android:id="@+id/list_item_photo"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
android:layout_marginBottom="4dp"
|
android:layout_marginBottom="4dp"
|
||||||
android:contentDescription="@string/image_photo_marker"
|
android:contentDescription="@string/image_photo_marker"
|
||||||
android:scaleType="centerCrop" />
|
android:scaleType="centerCrop" />
|
||||||
|
|
||||||
<FrameLayout
|
<!-- A gradient on top of the text -->
|
||||||
android:layout_width="match_parent"
|
<ImageView
|
||||||
android:layout_height="wrap_content">
|
android:id="@+id/list_item_text_gradient"
|
||||||
<!-- A gradient on top of the text -->
|
|
||||||
<ImageView
|
|
||||||
android:id="@+id/list_item_text_gradient"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
android:alpha=".6"
|
|
||||||
android:visibility="gone"
|
|
||||||
tools:visibility="visible"
|
|
||||||
android:contentDescription="@string/image_photo_marker"
|
|
||||||
android:src="@drawable/text_gradient" />
|
|
||||||
<!-- Table 1 -->
|
|
||||||
<TableLayout
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:minHeight="?android:attr/listPreferredItemHeight"
|
|
||||||
android:paddingTop="8dp"
|
|
||||||
android:paddingStart="4dp"
|
|
||||||
android:paddingEnd="12dp"
|
|
||||||
android:paddingBottom="12dp"
|
|
||||||
android:shrinkColumns="1"
|
|
||||||
android:stretchColumns="1">
|
|
||||||
<!-- Table 1: Row 1 -->
|
|
||||||
<TableRow>
|
|
||||||
<!-- Table 1: Row 1: Column 1: (icon) -->
|
|
||||||
<ImageView
|
|
||||||
android:id="@+id/list_item_icon"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_gravity="center_vertical"
|
|
||||||
android:layout_marginStart="4dp"
|
|
||||||
android:layout_marginEnd="8dp"
|
|
||||||
android:contentDescription="@string/image_track"
|
|
||||||
app:tint="?android:textColorPrimary" />
|
|
||||||
<!-- Table 1: Row 1: Column 2: (Table 2) -->
|
|
||||||
<TableLayout
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:shrinkColumns="0"
|
|
||||||
android:stretchColumns="0">
|
|
||||||
|
|
||||||
<TableRow>
|
|
||||||
<!-- Table 2: Row 1: Column 1: (name) -->
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/list_item_name"
|
|
||||||
style="@style/TextMediumPrimary"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_gravity="bottom"
|
|
||||||
android:ellipsize="end"
|
|
||||||
android:singleLine="true"
|
|
||||||
tools:text="Main text" />
|
|
||||||
<!-- Table 2: Row 1: Column 2: (date) -->
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/list_item_date"
|
|
||||||
style="@style/ListItemDate"
|
|
||||||
tools:text="2020-09-09" />
|
|
||||||
</TableRow>
|
|
||||||
|
|
||||||
<TableRow>
|
|
||||||
<!-- Need to match the style set in ListItemUtils.setListItem -->
|
|
||||||
<!-- Table 2: Row 2: Column 1: (shared owner, total time, total distance, and marker count) -->
|
|
||||||
<LinearLayout
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_gravity="bottom">
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/list_item_time_distance"
|
|
||||||
style="@style/TextSmall"
|
|
||||||
android:layout_gravity="bottom"
|
|
||||||
android:ellipsize="end"
|
|
||||||
android:singleLine="true"
|
|
||||||
tools:text="50:43 (50.00km)" />
|
|
||||||
|
|
||||||
<ImageView
|
|
||||||
android:id="@+id/list_item_marker_count_icon"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_gravity="bottom"
|
|
||||||
android:layout_marginStart="2dp"
|
|
||||||
android:layout_marginEnd="2dp"
|
|
||||||
android:layout_marginBottom="1dp"
|
|
||||||
android:contentDescription="@string/image_marker_count"
|
|
||||||
android:scaleType="centerInside"
|
|
||||||
android:src="@drawable/ic_marker_show_24dp" />
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/list_item_marker_count"
|
|
||||||
style="@style/TextSmall"
|
|
||||||
android:layout_gravity="bottom"
|
|
||||||
android:ellipsize="end"
|
|
||||||
android:singleLine="true"
|
|
||||||
tools:text="2" />
|
|
||||||
</LinearLayout>
|
|
||||||
<!-- Table 2: Row 2: Column 2: (time) -->
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/list_item_time"
|
|
||||||
style="@style/ListItemDate" />
|
|
||||||
</TableRow>
|
|
||||||
</TableLayout>
|
|
||||||
</TableRow>
|
|
||||||
|
|
||||||
<TableRow>
|
|
||||||
<!-- Table 1: Row 2: (category and description) -->
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/list_item_category_description"
|
|
||||||
style="@style/TextSmall"
|
|
||||||
android:layout_column="1"
|
|
||||||
android:ellipsize="end"
|
|
||||||
android:maxLines="2"
|
|
||||||
android:singleLine="false"
|
|
||||||
tools:text="description" />
|
|
||||||
</TableRow>
|
|
||||||
</TableLayout>
|
|
||||||
</FrameLayout>
|
|
||||||
|
|
||||||
<View
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:background="?android:attr/activatedBackgroundIndicator" />
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
</FrameLayout>
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
android:alpha=".6"
|
||||||
|
android:visibility="gone"
|
||||||
|
tools:visibility="visible"
|
||||||
|
android:contentDescription="@string/image_photo_marker"
|
||||||
|
android:src="@drawable/text_gradient" />
|
||||||
|
|
||||||
|
<!-- Icon -->
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/list_item_icon"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
android:contentDescription="@string/image_track"
|
||||||
|
tools:src="@drawable/ic_activity_bike_24dp"/>
|
||||||
|
|
||||||
|
<!-- Name -->
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/list_item_name"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
style="?attr/textAppearanceBody1"
|
||||||
|
android:singleLine="true"
|
||||||
|
android:layout_marginStart="8dp"
|
||||||
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
|
app:layout_constraintStart_toEndOf="@+id/list_item_icon"
|
||||||
|
app:layout_constraintEnd_toStartOf="@id/list_item_date"
|
||||||
|
tools:text="Main text" />
|
||||||
|
|
||||||
|
<!-- Date -->
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/list_item_date"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
style="?attr/textAppearanceBodySmall"
|
||||||
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
|
app:layout_constraintStart_toEndOf="@+id/list_item_name"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
android:gravity="end"
|
||||||
|
android:layout_marginStart="8dp"
|
||||||
|
tools:text="2022-02-17" />
|
||||||
|
|
||||||
|
<!-- Total time and distance -->
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/list_item_time_distance"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
style="?attr/textAppearanceBodySmall"
|
||||||
|
app:layout_constraintTop_toBottomOf="@id/list_item_name"
|
||||||
|
app:layout_constraintStart_toStartOf="@id/list_item_name"
|
||||||
|
tools:text="50:43 (50.00km)" />
|
||||||
|
|
||||||
|
<!-- Marker count icon -->
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/list_item_marker_count_icon"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
app:layout_constraintTop_toBottomOf="@id/list_item_name"
|
||||||
|
app:layout_constraintStart_toEndOf="@id/list_item_time_distance"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@id/list_item_time_distance"
|
||||||
|
android:contentDescription="@string/image_marker_count"
|
||||||
|
android:scaleType="centerInside"
|
||||||
|
android:src="@drawable/ic_marker_show_24dp" />
|
||||||
|
|
||||||
|
<!-- Marker count text -->
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/list_item_marker_count"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
style="?attr/textAppearanceBodySmall"
|
||||||
|
app:layout_constraintStart_toEndOf="@id/list_item_marker_count_icon"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@id/list_item_marker_count_icon"
|
||||||
|
android:singleLine="true"
|
||||||
|
tools:text="2" />
|
||||||
|
|
||||||
|
<!-- Time -->
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/list_item_time"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
style="?attr/textAppearanceBodySmall"
|
||||||
|
app:layout_constraintTop_toBottomOf="@id/list_item_name"
|
||||||
|
app:layout_constraintStart_toEndOf="@id/list_item_marker_count"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
android:gravity="end"
|
||||||
|
android:layout_gravity="bottom"
|
||||||
|
android:layout_marginStart="8dp"
|
||||||
|
tools:text="10:10:10"/>
|
||||||
|
|
||||||
|
<!-- Second row barrier -->
|
||||||
|
<androidx.constraintlayout.widget.Barrier
|
||||||
|
android:id="@+id/list_item_second_row_barrier"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
app:barrierDirection="bottom"
|
||||||
|
app:constraint_referenced_ids="list_item_time_distance,list_item_marker_count_icon,list_item_marker_count,list_item_time" />
|
||||||
|
|
||||||
|
<!-- Category and description -->
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/list_item_category_description"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
style="?attr/textAppearanceBodySmall"
|
||||||
|
app:layout_constraintTop_toBottomOf="@id/list_item_second_row_barrier"
|
||||||
|
app:layout_constraintStart_toStartOf="@id/list_item_name"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
android:maxLines="2"
|
||||||
|
android:ellipsize="end"
|
||||||
|
tools:text="Description" />
|
||||||
|
|
||||||
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
@@ -15,7 +15,8 @@ limitations under the License.
|
|||||||
-->
|
-->
|
||||||
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent">
|
android:layout_height="match_parent"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools">
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/marker_detail_marker_photo"
|
android:id="@+id/marker_detail_marker_photo"
|
||||||
@@ -46,20 +47,32 @@ limitations under the License.
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/marker_detail_marker_name"
|
android:id="@+id/marker_detail_marker_name"
|
||||||
style="@style/TextMedium"
|
android:layout_width="wrap_content"
|
||||||
android:paddingTop="8dp" />
|
android:layout_height="wrap_content"
|
||||||
|
style="?attr/textAppearanceBody1"
|
||||||
|
android:paddingTop="8dp"
|
||||||
|
tools:text="Marker Name" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/marker_detail_marker_category"
|
android:id="@+id/marker_detail_marker_category"
|
||||||
style="@style/TextSmall" />
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
style="?attr/textAppearanceBody2"
|
||||||
|
tools:text="Marker Category" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/marker_detail_marker_description"
|
android:id="@+id/marker_detail_marker_description"
|
||||||
style="@style/TextSmall" />
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
style="?attr/textAppearanceBody2"
|
||||||
|
tools:text="Marker Description" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/marker_detail_marker_location"
|
android:id="@+id/marker_detail_marker_location"
|
||||||
style="@style/TextSmall" />
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
style="?attr/textAppearanceBody2"
|
||||||
|
tools:text="Marker Location" />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
</FrameLayout>
|
</FrameLayout>
|
||||||
</FrameLayout>
|
</FrameLayout>
|
||||||
@@ -31,40 +31,48 @@ limitations under the License.
|
|||||||
<com.google.android.material.textfield.TextInputLayout
|
<com.google.android.material.textfield.TextInputLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
style="?attr/textInputOutlinedStyle"
|
||||||
android:hint="@string/generic_name"
|
android:hint="@string/generic_name"
|
||||||
android:imeOptions="actionNext"
|
android:imeOptions="actionNext"
|
||||||
android:importantForAutofill="no">
|
android:importantForAutofill="no"
|
||||||
|
android:layout_marginBottom="16dp">
|
||||||
|
|
||||||
<com.google.android.material.textfield.TextInputEditText
|
<com.google.android.material.textfield.TextInputEditText
|
||||||
android:drawableStart="@drawable/ic_marker_orange_pushpin_with_shadow"
|
|
||||||
android:id="@+id/marker_edit_name"
|
android:id="@+id/marker_edit_name"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
android:drawableStart="@drawable/ic_marker_orange_pushpin_with_shadow"
|
||||||
android:inputType="textCapWords"
|
android:inputType="textCapWords"
|
||||||
android:selectAllOnFocus="true" />
|
android:selectAllOnFocus="true" />
|
||||||
|
|
||||||
</com.google.android.material.textfield.TextInputLayout>
|
</com.google.android.material.textfield.TextInputLayout>
|
||||||
|
|
||||||
<com.google.android.material.textfield.TextInputLayout
|
<com.google.android.material.textfield.TextInputLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
style="?attr/textInputOutlinedExposedDropdownMenuStyle"
|
||||||
android:imeOptions="actionNext"
|
android:imeOptions="actionNext"
|
||||||
android:importantForAutofill="no">
|
android:importantForAutofill="no"
|
||||||
|
android:layout_marginBottom="16dp">
|
||||||
|
|
||||||
<AutoCompleteTextView
|
<com.google.android.material.textfield.MaterialAutoCompleteTextView
|
||||||
android:id="@+id/marker_edit_marker_type"
|
android:id="@+id/marker_edit_marker_type"
|
||||||
style="@style/EditCategory"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
android:hint="@string/marker_edit_marker_type"
|
android:hint="@string/marker_edit_marker_type"
|
||||||
android:imeOptions="actionNext"
|
android:imeOptions="actionNext"
|
||||||
android:selectAllOnFocus="true" />
|
android:selectAllOnFocus="true" />
|
||||||
|
|
||||||
</com.google.android.material.textfield.TextInputLayout>
|
</com.google.android.material.textfield.TextInputLayout>
|
||||||
|
|
||||||
<com.google.android.material.textfield.TextInputLayout
|
<com.google.android.material.textfield.TextInputLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
style="?attr/textInputOutlinedStyle"
|
||||||
android:hint="@string/generic_description"
|
android:hint="@string/generic_description"
|
||||||
android:imeOptions="actionNext"
|
android:imeOptions="actionNext"
|
||||||
android:importantForAutofill="no">
|
android:importantForAutofill="no"
|
||||||
|
android:layout_marginBottom="16dp">
|
||||||
|
|
||||||
<com.google.android.material.textfield.TextInputEditText
|
<com.google.android.material.textfield.TextInputEditText
|
||||||
android:id="@+id/marker_edit_description"
|
android:id="@+id/marker_edit_description"
|
||||||
@@ -72,6 +80,7 @@ limitations under the License.
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:inputType="textCapSentences"
|
android:inputType="textCapSentences"
|
||||||
android:selectAllOnFocus="true" />
|
android:selectAllOnFocus="true" />
|
||||||
|
|
||||||
</com.google.android.material.textfield.TextInputLayout>
|
</com.google.android.material.textfield.TextInputLayout>
|
||||||
|
|
||||||
<RelativeLayout
|
<RelativeLayout
|
||||||
|
|||||||
@@ -27,6 +27,10 @@ limitations under the License.
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/marker_list_empty"
|
android:id="@+id/marker_list_empty"
|
||||||
style="@style/ListEmptyTextView"
|
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:text="@string/marker_list_empty_message" />
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
@@ -14,7 +14,10 @@ See the License for the specific language governing permissions and
|
|||||||
limitations under the License.
|
limitations under the License.
|
||||||
-->
|
-->
|
||||||
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
|
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
style="@style/ScrollView">
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:scrollbarStyle="outsideInset">
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
@@ -23,18 +26,33 @@ limitations under the License.
|
|||||||
android:paddingTop="16dp"
|
android:paddingTop="16dp"
|
||||||
android:paddingEnd="8dp">
|
android:paddingEnd="8dp">
|
||||||
|
|
||||||
<AutoCompleteTextView
|
<com.google.android.material.textfield.TextInputLayout
|
||||||
android:id="@+id/activity_type_preference_text_view"
|
|
||||||
style="@style/EditCategory"
|
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="wrap_content"
|
||||||
android:layout_weight="1"
|
android:layout_weight="1"
|
||||||
android:hint="@string/track_edit_activity_type_hint" />
|
style="?attr/textInputOutlinedStyle"
|
||||||
|
android:imeOptions="actionNext"
|
||||||
|
android:importantForAutofill="no"
|
||||||
|
android:layout_marginEnd="8dp">
|
||||||
|
|
||||||
|
<com.google.android.material.textfield.MaterialAutoCompleteTextView
|
||||||
|
android:id="@+id/activity_type_preference_text_view"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:padding="16dp"
|
||||||
|
android:hint="@string/track_edit_activity_type_hint"
|
||||||
|
android:imeOptions="actionNext"
|
||||||
|
android:singleLine="true"
|
||||||
|
android:layout_gravity="bottom"
|
||||||
|
android:selectAllOnFocus="true" />
|
||||||
|
|
||||||
|
</com.google.android.material.textfield.TextInputLayout>
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/activity_type_preference_spinner"
|
android:id="@+id/activity_type_preference_spinner"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:layout_gravity="bottom" />
|
android:layout_gravity="bottom"
|
||||||
|
tools:src="@drawable/ic_activity_bike_24dp"/>
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
</ScrollView>
|
</ScrollView>
|
||||||
@@ -2,13 +2,22 @@
|
|||||||
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
|
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
style="@style/StatsScrollView">
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:scrollbarStyle="outsideOverlay">
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content">
|
android:layout_height="wrap_content">
|
||||||
|
|
||||||
<!-- Guidelines -->
|
<!-- Guidelines -->
|
||||||
|
<androidx.constraintlayout.widget.Guideline
|
||||||
|
android:id="@+id/guideline_top"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="0dp"
|
||||||
|
android:orientation="horizontal"
|
||||||
|
app:layout_constraintGuide_begin="16dp" />
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.Guideline
|
<androidx.constraintlayout.widget.Guideline
|
||||||
android:id="@+id/guideline"
|
android:id="@+id/guideline"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
@@ -33,25 +42,29 @@
|
|||||||
<!-- Activity information: icon, name, description and start datetime -->
|
<!-- Activity information: icon, name, description and start datetime -->
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/stats_activity_type_icon"
|
android:id="@+id/stats_activity_type_icon"
|
||||||
style="@style/IconStats"
|
android:layout_width="48dp"
|
||||||
|
android:layout_height="48dp"
|
||||||
app:layout_constraintStart_toEndOf="@id/guideline"
|
app:layout_constraintStart_toEndOf="@id/guideline"
|
||||||
app:layout_constraintTop_toTopOf="@id/stats_name_value"
|
app:layout_constraintTop_toTopOf="@id/guideline_top"
|
||||||
tools:src="@drawable/ic_activity_bike_24dp" />
|
tools:src="@drawable/ic_activity_bike_24dp" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/stats_name_value"
|
android:id="@+id/stats_name_value"
|
||||||
style="@style/TextLargeStats"
|
style="?attr/textAppearanceHeadline6"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="16dp"
|
||||||
app:layout_constrainedWidth="true"
|
app:layout_constrainedWidth="true"
|
||||||
app:layout_constraintEnd_toStartOf="@id/guideline3"
|
app:layout_constraintEnd_toStartOf="@id/guideline3"
|
||||||
app:layout_constraintStart_toEndOf="@id/stats_activity_type_icon"
|
app:layout_constraintStart_toEndOf="@id/stats_activity_type_icon"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="@id/guideline_top"
|
||||||
tools:text="Name of the activity" />
|
tools:text="Name of the activity" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/stats_description_value"
|
android:id="@+id/stats_description_value"
|
||||||
style="@style/TextMediumStats"
|
style="?attr/textAppearanceBody1"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
app:layout_constrainedWidth="true"
|
app:layout_constrainedWidth="true"
|
||||||
app:layout_constraintEnd_toStartOf="@id/guideline3"
|
app:layout_constraintEnd_toStartOf="@id/guideline3"
|
||||||
app:layout_constraintStart_toStartOf="@id/stats_name_value"
|
app:layout_constraintStart_toStartOf="@id/stats_name_value"
|
||||||
@@ -60,8 +73,11 @@
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/stats_start_datetime_value"
|
android:id="@+id/stats_start_datetime_value"
|
||||||
style="@style/TextSmallStats"
|
style="?attr/textAppearanceBody2"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="16dp"
|
||||||
|
android:gravity="end"
|
||||||
app:layout_constrainedWidth="true"
|
app:layout_constrainedWidth="true"
|
||||||
app:layout_constraintEnd_toStartOf="@id/guideline3"
|
app:layout_constraintEnd_toStartOf="@id/guideline3"
|
||||||
app:layout_constraintStart_toStartOf="@id/guideline"
|
app:layout_constraintStart_toStartOf="@id/guideline"
|
||||||
@@ -79,8 +95,8 @@
|
|||||||
<!-- Horizontal line -->
|
<!-- Horizontal line -->
|
||||||
<View
|
<View
|
||||||
android:id="@+id/stats_information_horizontal_line"
|
android:id="@+id/stats_information_horizontal_line"
|
||||||
style="@style/StatsHorizontalLine"
|
style="@style/HorizontalLine"
|
||||||
android:layout_marginBottom="8dp"
|
android:layout_margin="8dp"
|
||||||
app:layout_constraintStart_toEndOf="@id/guideline"
|
app:layout_constraintStart_toEndOf="@id/guideline"
|
||||||
app:layout_constraintEnd_toStartOf="@id/guideline3"
|
app:layout_constraintEnd_toStartOf="@id/guideline3"
|
||||||
app:layout_constraintTop_toBottomOf="@id/stats_start_datetime_value" />
|
app:layout_constraintTop_toBottomOf="@id/stats_start_datetime_value" />
|
||||||
@@ -88,7 +104,9 @@
|
|||||||
<!-- Distance -->
|
<!-- Distance -->
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/stats_distance_label"
|
android:id="@+id/stats_distance_label"
|
||||||
style="@style/LargeLabel"
|
style="@style/TextAppearance.OpenTracks.PrimaryHeader"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
android:text="@string/stats_distance"
|
android:text="@string/stats_distance"
|
||||||
app:layout_constrainedWidth="true"
|
app:layout_constrainedWidth="true"
|
||||||
app:layout_constraintStart_toEndOf="@id/guideline"
|
app:layout_constraintStart_toEndOf="@id/guideline"
|
||||||
@@ -97,7 +115,9 @@
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/stats_distance_value"
|
android:id="@+id/stats_distance_value"
|
||||||
style="@style/StatsPrimaryValue"
|
style="@style/TextAppearance.OpenTracks.PrimaryValue"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
android:value="@string/value_unknown"
|
android:value="@string/value_unknown"
|
||||||
app:layout_constraintHorizontal_chainStyle="packed"
|
app:layout_constraintHorizontal_chainStyle="packed"
|
||||||
app:layout_constraintStart_toEndOf="@id/guideline"
|
app:layout_constraintStart_toEndOf="@id/guideline"
|
||||||
@@ -107,7 +127,9 @@
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/stats_distance_unit"
|
android:id="@+id/stats_distance_unit"
|
||||||
style="@style/StatsUnit"
|
style="@style/TextAppearance.OpenTracks.PrimaryUnit"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
app:layout_constraintBottom_toBottomOf="@id/stats_distance_value"
|
app:layout_constraintBottom_toBottomOf="@id/stats_distance_value"
|
||||||
app:layout_constraintStart_toEndOf="@id/stats_distance_value"
|
app:layout_constraintStart_toEndOf="@id/stats_distance_value"
|
||||||
app:layout_constraintEnd_toStartOf="@id/guideline2"
|
app:layout_constraintEnd_toStartOf="@id/guideline2"
|
||||||
@@ -116,7 +138,9 @@
|
|||||||
<!-- Moving time -->
|
<!-- Moving time -->
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/stats_moving_time_label"
|
android:id="@+id/stats_moving_time_label"
|
||||||
style="@style/LargeLabel"
|
style="@style/TextAppearance.OpenTracks.PrimaryHeader"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
android:text="@string/stats_moving_time"
|
android:text="@string/stats_moving_time"
|
||||||
app:layout_constrainedWidth="true"
|
app:layout_constrainedWidth="true"
|
||||||
app:layout_constraintStart_toEndOf="@id/guideline2"
|
app:layout_constraintStart_toEndOf="@id/guideline2"
|
||||||
@@ -125,7 +149,9 @@
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/stats_moving_time_value"
|
android:id="@+id/stats_moving_time_value"
|
||||||
style="@style/StatsPrimaryValue"
|
style="@style/TextAppearance.OpenTracks.PrimaryValue"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
android:value="@string/value_unknown"
|
android:value="@string/value_unknown"
|
||||||
app:layout_constraintStart_toEndOf="@id/guideline2"
|
app:layout_constraintStart_toEndOf="@id/guideline2"
|
||||||
app:layout_constraintEnd_toStartOf="@id/guideline3"
|
app:layout_constraintEnd_toStartOf="@id/guideline3"
|
||||||
@@ -135,7 +161,9 @@
|
|||||||
<!-- Total time -->
|
<!-- Total time -->
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/stats_total_time_label"
|
android:id="@+id/stats_total_time_label"
|
||||||
style="@style/StatsSmallLabel"
|
style="@style/TextAppearance.OpenTracks.SecondaryHeader"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
android:text="@string/stats_total_time"
|
android:text="@string/stats_total_time"
|
||||||
app:layout_constrainedWidth="true"
|
app:layout_constrainedWidth="true"
|
||||||
app:layout_constraintStart_toEndOf="@id/guideline2"
|
app:layout_constraintStart_toEndOf="@id/guideline2"
|
||||||
@@ -144,7 +172,9 @@
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/stats_total_time_value"
|
android:id="@+id/stats_total_time_value"
|
||||||
style="@style/StatsSmallValue"
|
style="@style/TextAppearance.OpenTracks.SecondaryValue"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
app:layout_constraintStart_toEndOf="@id/guideline2"
|
app:layout_constraintStart_toEndOf="@id/guideline2"
|
||||||
app:layout_constraintEnd_toStartOf="@id/guideline3"
|
app:layout_constraintEnd_toStartOf="@id/guideline3"
|
||||||
app:layout_constraintTop_toBottomOf="@id/stats_total_time_label"
|
app:layout_constraintTop_toBottomOf="@id/stats_total_time_label"
|
||||||
@@ -161,8 +191,8 @@
|
|||||||
<!-- Horizontal line -->
|
<!-- Horizontal line -->
|
||||||
<View
|
<View
|
||||||
android:id="@+id/stats_speed_horizontal_line"
|
android:id="@+id/stats_speed_horizontal_line"
|
||||||
style="@style/StatsHorizontalLine"
|
style="@style/HorizontalLine"
|
||||||
android:layout_marginBottom="8dp"
|
android:layout_margin="8dp"
|
||||||
app:layout_constraintStart_toEndOf="@id/guideline"
|
app:layout_constraintStart_toEndOf="@id/guideline"
|
||||||
app:layout_constraintEnd_toStartOf="@id/guideline3"
|
app:layout_constraintEnd_toStartOf="@id/guideline3"
|
||||||
app:layout_constraintTop_toBottomOf="@id/stats_time_barrier" />
|
app:layout_constraintTop_toBottomOf="@id/stats_time_barrier" />
|
||||||
@@ -170,7 +200,9 @@
|
|||||||
<!-- Speed/Pace max -->
|
<!-- Speed/Pace max -->
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/stats_max_speed_label"
|
android:id="@+id/stats_max_speed_label"
|
||||||
style="@style/LargeLabel"
|
style="@style/TextAppearance.OpenTracks.PrimaryHeader"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
app:layout_constrainedWidth="true"
|
app:layout_constrainedWidth="true"
|
||||||
app:layout_constraintStart_toEndOf="@id/guideline"
|
app:layout_constraintStart_toEndOf="@id/guideline"
|
||||||
app:layout_constraintEnd_toStartOf="@id/guideline2"
|
app:layout_constraintEnd_toStartOf="@id/guideline2"
|
||||||
@@ -179,7 +211,9 @@
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/stats_max_speed_value"
|
android:id="@+id/stats_max_speed_value"
|
||||||
style="@style/StatsPrimaryValue"
|
style="@style/TextAppearance.OpenTracks.PrimaryValue"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
android:value="@string/value_unknown"
|
android:value="@string/value_unknown"
|
||||||
app:layout_constraintHorizontal_chainStyle="packed"
|
app:layout_constraintHorizontal_chainStyle="packed"
|
||||||
app:layout_constraintStart_toEndOf="@id/guideline"
|
app:layout_constraintStart_toEndOf="@id/guideline"
|
||||||
@@ -189,7 +223,9 @@
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/stats_max_speed_unit"
|
android:id="@+id/stats_max_speed_unit"
|
||||||
style="@style/StatsUnit"
|
style="@style/TextAppearance.OpenTracks.PrimaryUnit"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
app:layout_constraintBottom_toBottomOf="@id/stats_max_speed_value"
|
app:layout_constraintBottom_toBottomOf="@id/stats_max_speed_value"
|
||||||
app:layout_constraintStart_toEndOf="@id/stats_max_speed_value"
|
app:layout_constraintStart_toEndOf="@id/stats_max_speed_value"
|
||||||
app:layout_constraintEnd_toStartOf="@id/guideline2"
|
app:layout_constraintEnd_toStartOf="@id/guideline2"
|
||||||
@@ -198,7 +234,9 @@
|
|||||||
<!-- Avg. moving speed/pace -->
|
<!-- Avg. moving speed/pace -->
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/stats_moving_speed_label"
|
android:id="@+id/stats_moving_speed_label"
|
||||||
style="@style/LargeLabel"
|
style="@style/TextAppearance.OpenTracks.PrimaryHeader"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
app:layout_constrainedWidth="true"
|
app:layout_constrainedWidth="true"
|
||||||
app:layout_constraintStart_toEndOf="@id/guideline2"
|
app:layout_constraintStart_toEndOf="@id/guideline2"
|
||||||
app:layout_constraintEnd_toStartOf="@id/guideline3"
|
app:layout_constraintEnd_toStartOf="@id/guideline3"
|
||||||
@@ -207,7 +245,9 @@
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/stats_moving_speed_value"
|
android:id="@+id/stats_moving_speed_value"
|
||||||
style="@style/StatsPrimaryValue"
|
style="@style/TextAppearance.OpenTracks.PrimaryValue"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
android:value="@string/value_unknown"
|
android:value="@string/value_unknown"
|
||||||
app:layout_constraintHorizontal_chainStyle="packed"
|
app:layout_constraintHorizontal_chainStyle="packed"
|
||||||
app:layout_constraintStart_toEndOf="@id/guideline2"
|
app:layout_constraintStart_toEndOf="@id/guideline2"
|
||||||
@@ -217,7 +257,9 @@
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/stats_moving_speed_unit"
|
android:id="@+id/stats_moving_speed_unit"
|
||||||
style="@style/StatsUnit"
|
style="@style/TextAppearance.OpenTracks.PrimaryUnit"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
app:layout_constraintBottom_toBottomOf="@id/stats_moving_speed_value"
|
app:layout_constraintBottom_toBottomOf="@id/stats_moving_speed_value"
|
||||||
app:layout_constraintStart_toEndOf="@id/stats_moving_speed_value"
|
app:layout_constraintStart_toEndOf="@id/stats_moving_speed_value"
|
||||||
app:layout_constraintEnd_toStartOf="@id/guideline3"
|
app:layout_constraintEnd_toStartOf="@id/guideline3"
|
||||||
@@ -226,7 +268,9 @@
|
|||||||
<!-- Average speed/pace -->
|
<!-- Average speed/pace -->
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/stats_average_speed_label"
|
android:id="@+id/stats_average_speed_label"
|
||||||
style="@style/StatsSmallLabel"
|
style="@style/TextAppearance.OpenTracks.SecondaryHeader"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
app:layout_constrainedWidth="true"
|
app:layout_constrainedWidth="true"
|
||||||
app:layout_constraintStart_toEndOf="@id/guideline2"
|
app:layout_constraintStart_toEndOf="@id/guideline2"
|
||||||
app:layout_constraintEnd_toStartOf="@id/guideline3"
|
app:layout_constraintEnd_toStartOf="@id/guideline3"
|
||||||
@@ -235,7 +279,9 @@
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/stats_average_speed_value"
|
android:id="@+id/stats_average_speed_value"
|
||||||
style="@style/StatsSmallValue"
|
style="@style/TextAppearance.OpenTracks.SecondaryValue"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
android:value="@string/value_unknown"
|
android:value="@string/value_unknown"
|
||||||
app:layout_constraintHorizontal_chainStyle="packed"
|
app:layout_constraintHorizontal_chainStyle="packed"
|
||||||
app:layout_constraintStart_toEndOf="@id/guideline2"
|
app:layout_constraintStart_toEndOf="@id/guideline2"
|
||||||
@@ -245,7 +291,9 @@
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/stats_average_speed_unit"
|
android:id="@+id/stats_average_speed_unit"
|
||||||
style="@style/StatsUnit"
|
style="@style/TextAppearance.OpenTracks.PrimaryUnit"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
app:layout_constraintBottom_toBottomOf="@id/stats_average_speed_value"
|
app:layout_constraintBottom_toBottomOf="@id/stats_average_speed_value"
|
||||||
app:layout_constraintStart_toEndOf="@id/stats_average_speed_value"
|
app:layout_constraintStart_toEndOf="@id/stats_average_speed_value"
|
||||||
app:layout_constraintEnd_toStartOf="@id/guideline3"
|
app:layout_constraintEnd_toStartOf="@id/guideline3"
|
||||||
@@ -262,8 +310,8 @@
|
|||||||
<!-- Horizontal line -->
|
<!-- Horizontal line -->
|
||||||
<View
|
<View
|
||||||
android:id="@+id/stats_altitude_horizontal_line"
|
android:id="@+id/stats_altitude_horizontal_line"
|
||||||
style="@style/StatsHorizontalLine"
|
style="@style/HorizontalLine"
|
||||||
android:layout_marginBottom="8dp"
|
android:layout_margin="8dp"
|
||||||
app:layout_constraintStart_toEndOf="@id/guideline"
|
app:layout_constraintStart_toEndOf="@id/guideline"
|
||||||
app:layout_constraintEnd_toStartOf="@id/guideline3"
|
app:layout_constraintEnd_toStartOf="@id/guideline3"
|
||||||
app:layout_constraintTop_toBottomOf="@id/stats_speed_barrier" />
|
app:layout_constraintTop_toBottomOf="@id/stats_speed_barrier" />
|
||||||
@@ -277,7 +325,9 @@
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/stats_altitude_gain_label"
|
android:id="@+id/stats_altitude_gain_label"
|
||||||
style="@style/LargeLabel"
|
style="@style/TextAppearance.OpenTracks.PrimaryHeader"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
android:text="@string/stats_gain"
|
android:text="@string/stats_gain"
|
||||||
app:layout_constrainedWidth="true"
|
app:layout_constrainedWidth="true"
|
||||||
app:layout_constraintStart_toEndOf="@id/guideline"
|
app:layout_constraintStart_toEndOf="@id/guideline"
|
||||||
@@ -286,7 +336,9 @@
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/stats_altitude_gain_value"
|
android:id="@+id/stats_altitude_gain_value"
|
||||||
style="@style/StatsPrimaryValue"
|
style="@style/TextAppearance.OpenTracks.PrimaryValue"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
android:value="@string/value_unknown"
|
android:value="@string/value_unknown"
|
||||||
app:layout_constraintHorizontal_chainStyle="packed"
|
app:layout_constraintHorizontal_chainStyle="packed"
|
||||||
app:layout_constraintStart_toEndOf="@id/guideline"
|
app:layout_constraintStart_toEndOf="@id/guideline"
|
||||||
@@ -296,7 +348,9 @@
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/stats_altitude_gain_unit"
|
android:id="@+id/stats_altitude_gain_unit"
|
||||||
style="@style/StatsUnit"
|
style="@style/TextAppearance.OpenTracks.PrimaryUnit"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
app:layout_constraintBottom_toBottomOf="@id/stats_altitude_gain_value"
|
app:layout_constraintBottom_toBottomOf="@id/stats_altitude_gain_value"
|
||||||
app:layout_constraintStart_toEndOf="@id/stats_altitude_gain_value"
|
app:layout_constraintStart_toEndOf="@id/stats_altitude_gain_value"
|
||||||
app:layout_constraintEnd_toStartOf="@id/guideline2"
|
app:layout_constraintEnd_toStartOf="@id/guideline2"
|
||||||
@@ -304,7 +358,9 @@
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/stats_altitude_loss_label"
|
android:id="@+id/stats_altitude_loss_label"
|
||||||
style="@style/LargeLabel"
|
style="@style/TextAppearance.OpenTracks.PrimaryHeader"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
android:text="@string/stats_loss"
|
android:text="@string/stats_loss"
|
||||||
app:layout_constrainedWidth="true"
|
app:layout_constrainedWidth="true"
|
||||||
app:layout_constraintStart_toEndOf="@id/guideline2"
|
app:layout_constraintStart_toEndOf="@id/guideline2"
|
||||||
@@ -313,7 +369,9 @@
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/stats_altitude_loss_value"
|
android:id="@+id/stats_altitude_loss_value"
|
||||||
style="@style/StatsPrimaryValue"
|
style="@style/TextAppearance.OpenTracks.PrimaryValue"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
android:value="@string/value_unknown"
|
android:value="@string/value_unknown"
|
||||||
app:layout_constraintHorizontal_chainStyle="packed"
|
app:layout_constraintHorizontal_chainStyle="packed"
|
||||||
app:layout_constraintStart_toEndOf="@id/guideline2"
|
app:layout_constraintStart_toEndOf="@id/guideline2"
|
||||||
@@ -323,7 +381,9 @@
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/stats_altitude_loss_unit"
|
android:id="@+id/stats_altitude_loss_unit"
|
||||||
style="@style/StatsUnit"
|
style="@style/TextAppearance.OpenTracks.PrimaryUnit"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
app:layout_constraintBottom_toBottomOf="@id/stats_altitude_loss_value"
|
app:layout_constraintBottom_toBottomOf="@id/stats_altitude_loss_value"
|
||||||
app:layout_constraintStart_toEndOf="@id/stats_altitude_loss_value"
|
app:layout_constraintStart_toEndOf="@id/stats_altitude_loss_value"
|
||||||
app:layout_constraintEnd_toStartOf="@id/guideline3"
|
app:layout_constraintEnd_toStartOf="@id/guideline3"
|
||||||
@@ -340,8 +400,8 @@
|
|||||||
<!-- Horizontal line -->
|
<!-- Horizontal line -->
|
||||||
<View
|
<View
|
||||||
android:id="@+id/stats_end_horizontal_line"
|
android:id="@+id/stats_end_horizontal_line"
|
||||||
style="@style/StatsHorizontalLine"
|
style="@style/HorizontalLine"
|
||||||
android:layout_marginBottom="8dp"
|
android:layout_margin="8dp"
|
||||||
app:layout_constraintStart_toEndOf="@id/guideline"
|
app:layout_constraintStart_toEndOf="@id/guideline"
|
||||||
app:layout_constraintEnd_toStartOf="@id/guideline3"
|
app:layout_constraintEnd_toStartOf="@id/guideline3"
|
||||||
app:layout_constraintTop_toBottomOf="@id/stats_altitude_barrier" />
|
app:layout_constraintTop_toBottomOf="@id/stats_altitude_barrier" />
|
||||||
|
|||||||
@@ -2,7 +2,6 @@
|
|||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
style="@style/StatsScrollView"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent">
|
android:layout_height="match_parent">
|
||||||
|
|
||||||
|
|||||||
@@ -10,7 +10,9 @@
|
|||||||
|
|
||||||
<TextClock
|
<TextClock
|
||||||
android:id="@+id/stats_clock"
|
android:id="@+id/stats_clock"
|
||||||
style="@style/StatsPrimaryValue"
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
style="@style/TextAppearance.OpenTracks.PrimaryValue"
|
||||||
android:value="@string/value_unknown"
|
android:value="@string/value_unknown"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
@@ -19,7 +21,9 @@
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/stats_description_main"
|
android:id="@+id/stats_description_main"
|
||||||
style="@style/StatsPrimaryLabel"
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
style="@style/TextAppearance.OpenTracks.PrimaryHeader"
|
||||||
android:text="@string/stats_clock"
|
android:text="@string/stats_clock"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
|||||||
@@ -10,7 +10,9 @@
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/stats_value"
|
android:id="@+id/stats_value"
|
||||||
style="@style/StatsPrimaryValue"
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
style="@style/TextAppearance.OpenTracks.PrimaryValue"
|
||||||
android:value="@string/value_unknown"
|
android:value="@string/value_unknown"
|
||||||
app:layout_constraintHorizontal_chainStyle="packed"
|
app:layout_constraintHorizontal_chainStyle="packed"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
@@ -20,7 +22,9 @@
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/stats_unit"
|
android:id="@+id/stats_unit"
|
||||||
style="@style/StatsUnit"
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
style="@style/TextAppearance.OpenTracks.PrimaryUnit"
|
||||||
tools:text="@string/sensor_unit_beats_per_minute"
|
tools:text="@string/sensor_unit_beats_per_minute"
|
||||||
app:layout_constraintStart_toEndOf="@id/stats_value"
|
app:layout_constraintStart_toEndOf="@id/stats_value"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
@@ -28,7 +32,9 @@
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/stats_description_main"
|
android:id="@+id/stats_description_main"
|
||||||
style="@style/StatsPrimaryLabel"
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
style="@style/TextAppearance.OpenTracks.PrimaryHeader"
|
||||||
tools:text="@string/sensor_state_heart_rate"
|
tools:text="@string/sensor_state_heart_rate"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
@@ -36,7 +42,9 @@
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/stats_description_secondary"
|
android:id="@+id/stats_description_secondary"
|
||||||
style="@style/StatsTinyValue"
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
style="@style/TextAppearance.OpenTracks.SecondaryHeader"
|
||||||
android:visibility="gone"
|
android:visibility="gone"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
|||||||
@@ -5,12 +5,13 @@
|
|||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:paddingBottom="16dp"
|
android:layout_marginBottom="16dp">
|
||||||
android:paddingTop="16dp">
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/stats_description_main"
|
android:id="@+id/stats_description_main"
|
||||||
style="@style/LargeLabel"
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
style="@style/TextAppearance.OpenTracks.PrimaryHeader"
|
||||||
tools:text="@string/sensor_state_heart_rate"
|
tools:text="@string/sensor_state_heart_rate"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
@@ -18,7 +19,9 @@
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/stats_value"
|
android:id="@+id/stats_value"
|
||||||
style="@style/StatsPrimaryValue"
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
style="@style/TextAppearance.OpenTracks.PrimaryValue"
|
||||||
android:value="@string/value_unknown"
|
android:value="@string/value_unknown"
|
||||||
app:layout_constraintHorizontal_chainStyle="packed"
|
app:layout_constraintHorizontal_chainStyle="packed"
|
||||||
app:layout_constraintTop_toBottomOf="@id/stats_description_main"
|
app:layout_constraintTop_toBottomOf="@id/stats_description_main"
|
||||||
@@ -28,7 +31,9 @@
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/stats_unit"
|
android:id="@+id/stats_unit"
|
||||||
style="@style/StatsUnit"
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
style="@style/TextAppearance.OpenTracks.PrimaryUnit"
|
||||||
tools:text="@string/sensor_unit_beats_per_minute"
|
tools:text="@string/sensor_unit_beats_per_minute"
|
||||||
app:layout_constraintStart_toEndOf="@id/stats_value"
|
app:layout_constraintStart_toEndOf="@id/stats_value"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
@@ -36,7 +41,9 @@
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/stats_description_secondary"
|
android:id="@+id/stats_description_secondary"
|
||||||
style="@style/StatsTinyValue"
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
style="@style/TextAppearance.OpenTracks.SecondaryHeader"
|
||||||
android:visibility="gone"
|
android:visibility="gone"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
|||||||
@@ -1,10 +1,9 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<merge xmlns:android="http://schemas.android.com/apk/res/android">
|
<merge xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
|
||||||
<androidx.appcompat.widget.Toolbar
|
<com.google.android.material.appbar.MaterialToolbar
|
||||||
android:id="@+id/toolbar"
|
android:id="@+id/toolbar"
|
||||||
|
style="@style/Widget.MaterialComponents.Toolbar.Surface"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content" />
|
||||||
android:background="?attr/colorPrimary"
|
|
||||||
android:minHeight="?attr/actionBarSize" />
|
|
||||||
</merge>
|
</merge>
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ limitations under the License.
|
|||||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
android:orientation="vertical">
|
android:orientation="vertical">
|
||||||
|
|
||||||
<include layout="@layout/toolbar" />
|
<include layout="@layout/toolbar" />
|
||||||
@@ -31,9 +32,11 @@ limitations under the License.
|
|||||||
<com.google.android.material.textfield.TextInputLayout
|
<com.google.android.material.textfield.TextInputLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
style="?attr/textInputOutlinedStyle"
|
||||||
android:hint="@string/generic_name"
|
android:hint="@string/generic_name"
|
||||||
android:imeOptions="actionNext"
|
android:imeOptions="actionNext"
|
||||||
android:importantForAutofill="no">
|
android:importantForAutofill="no"
|
||||||
|
android:layout_marginBottom="16dp">
|
||||||
|
|
||||||
<com.google.android.material.textfield.TextInputEditText
|
<com.google.android.material.textfield.TextInputEditText
|
||||||
android:id="@+id/track_edit_name"
|
android:id="@+id/track_edit_name"
|
||||||
@@ -41,6 +44,7 @@ limitations under the License.
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:inputType="textCapWords"
|
android:inputType="textCapWords"
|
||||||
android:selectAllOnFocus="true" />
|
android:selectAllOnFocus="true" />
|
||||||
|
|
||||||
</com.google.android.material.textfield.TextInputLayout>
|
</com.google.android.material.textfield.TextInputLayout>
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
@@ -52,30 +56,39 @@ limitations under the License.
|
|||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_weight="1"
|
android:layout_weight="1"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
style="?attr/textInputOutlinedExposedDropdownMenuStyle"
|
||||||
android:imeOptions="actionNext"
|
android:imeOptions="actionNext"
|
||||||
android:importantForAutofill="no">
|
android:importantForAutofill="no"
|
||||||
|
android:layout_marginBottom="16dp">
|
||||||
|
|
||||||
<AutoCompleteTextView
|
<com.google.android.material.textfield.MaterialAutoCompleteTextView
|
||||||
android:id="@+id/track_edit_activity_type"
|
android:id="@+id/track_edit_activity_type"
|
||||||
style="@style/EditCategory"
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginEnd="8dp"
|
||||||
android:hint="@string/track_edit_activity_type_hint"
|
android:hint="@string/track_edit_activity_type_hint"
|
||||||
android:imeOptions="actionNext"
|
android:imeOptions="actionNext"
|
||||||
android:selectAllOnFocus="true" />
|
android:selectAllOnFocus="true" />
|
||||||
|
|
||||||
</com.google.android.material.textfield.TextInputLayout>
|
</com.google.android.material.textfield.TextInputLayout>
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/track_edit_activity_type_icon"
|
android:id="@+id/track_edit_activity_type_icon"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:layout_gravity="bottom" />
|
android:layout_gravity="bottom"
|
||||||
|
tools:src="@drawable/ic_activity_bike_24dp"/>
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
<com.google.android.material.textfield.TextInputLayout
|
<com.google.android.material.textfield.TextInputLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
style="?attr/textInputOutlinedStyle"
|
||||||
android:hint="@string/generic_description"
|
android:hint="@string/generic_description"
|
||||||
android:imeOptions="actionNext"
|
android:imeOptions="actionNext"
|
||||||
android:importantForAutofill="no">
|
android:importantForAutofill="no"
|
||||||
|
android:layout_marginBottom="16dp">
|
||||||
|
|
||||||
<com.google.android.material.textfield.TextInputEditText
|
<com.google.android.material.textfield.TextInputEditText
|
||||||
android:id="@+id/track_edit_description"
|
android:id="@+id/track_edit_description"
|
||||||
@@ -83,6 +96,7 @@ limitations under the License.
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:inputType="textCapSentences"
|
android:inputType="textCapSentences"
|
||||||
android:selectAllOnFocus="true" />
|
android:selectAllOnFocus="true" />
|
||||||
|
|
||||||
</com.google.android.material.textfield.TextInputLayout>
|
</com.google.android.material.textfield.TextInputLayout>
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|||||||
@@ -69,7 +69,7 @@ limitations under the License.
|
|||||||
android:layout_weight="5" />
|
android:layout_weight="5" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
style="@style/TextLarge"
|
style="?attr/textAppearanceHeadline6"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_weight="22"
|
android:layout_weight="22"
|
||||||
|
|||||||
@@ -1,5 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<resources>
|
|
||||||
<color name="colorAccent">@android:color/holo_orange_dark</color>
|
|
||||||
<color name="colorAccentTransparent">#55ff8800</color>
|
|
||||||
</resources>
|
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
<resources xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
|
||||||
|
<style name="ThemeCustom" parent="Theme.MaterialComponents.DayNight.NoActionBar">
|
||||||
|
<item name="colorPrimary">@color/opentracks_secondary_color</item>
|
||||||
|
<item name="colorPrimaryVariant">@android:color/black</item>
|
||||||
|
<item name="colorOnPrimary">@android:color/white</item>
|
||||||
|
|
||||||
|
<item name="colorSecondary">@color/opentracks_secondary_color</item>
|
||||||
|
<item name="colorSecondaryVariant">@color/opentracks_secondary_color</item>
|
||||||
|
<item name="colorOnSecondary">@color/opentracks_on_secondary_color</item>
|
||||||
|
|
||||||
|
<item name="android:statusBarColor">?attr/colorPrimaryVariant</item>
|
||||||
|
|
||||||
|
<item name="android:colorBackground">@android:color/black</item>
|
||||||
|
<item name="colorOnBackground">@android:color/white</item>
|
||||||
|
|
||||||
|
<item name="colorSurface">@color/opentracks_surface_night_background_color</item>
|
||||||
|
<item name="colorOnSurface">@color/opentracks_surface_night_on_background_color</item>
|
||||||
|
|
||||||
|
<item name="android:activatedBackgroundIndicator">@drawable/activated_background</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
|
</resources>
|
||||||
@@ -14,6 +14,21 @@ See the License for the specific language governing permissions and
|
|||||||
limitations under the License.
|
limitations under the License.
|
||||||
-->
|
-->
|
||||||
<resources>
|
<resources>
|
||||||
|
<!-- Brand colors -->
|
||||||
|
<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_on_secondary_color">@android:color/white</color>
|
||||||
|
|
||||||
|
<color name="opentracks_surface_day_background_color">#f5f5f5</color>
|
||||||
|
<color name="opentracks_surface_day_on_background_color">@android:color/black</color>
|
||||||
|
|
||||||
|
<color name="opentracks_surface_night_background_color">@android:color/black</color>
|
||||||
|
<color name="opentracks_surface_night_on_background_color">@android:color/white</color>
|
||||||
|
|
||||||
|
<!-- Chart colors -->
|
||||||
<color name="chart_cadence_border">#FFF128F3</color> <!-- pink -->
|
<color name="chart_cadence_border">#FFF128F3</color> <!-- pink -->
|
||||||
<color name="chart_cadence_fill">#40F128F3</color> <!-- transparent pink -->
|
<color name="chart_cadence_fill">#40F128F3</color> <!-- transparent pink -->
|
||||||
<color name="chart_altitude_border">#FF339933</color> <!-- green -->
|
<color name="chart_altitude_border">#FF339933</color> <!-- green -->
|
||||||
@@ -27,8 +42,10 @@ limitations under the License.
|
|||||||
<color name="chart_power_border">#FF7A26C0</color> <!-- purple -->
|
<color name="chart_power_border">#FF7A26C0</color> <!-- purple -->
|
||||||
<color name="chart_power_fill">#407A26C0</color> <!-- transparent purple -->
|
<color name="chart_power_fill">#407A26C0</color> <!-- transparent purple -->
|
||||||
|
|
||||||
<color name="colorAccent">@android:color/holo_orange_dark</color>
|
<!-- Generic colors -->
|
||||||
<color name="colorAccentTransparent">#55FF8800</color>
|
<color name="red_dark">#ffbe161b</color>
|
||||||
|
|
||||||
|
<color name="light_gray">#aaaaaa</color>
|
||||||
|
|
||||||
<color name="colorBackgroundDelete">#F44336</color>
|
<color name="colorBackgroundDelete">#F44336</color>
|
||||||
<color name="colorForegroundDelete">#FEFEFE</color>
|
<color name="colorForegroundDelete">#FEFEFE</color>
|
||||||
|
|||||||
+14
-274
@@ -15,7 +15,13 @@ limitations under the License.
|
|||||||
-->
|
-->
|
||||||
<resources xmlns:android="http://schemas.android.com/apk/res/android">
|
<resources xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
|
||||||
<style name="BottomButton" parent="Widget.AppCompat.Button.Borderless">
|
<!-- toolbar -->
|
||||||
|
<style name="Widget.OpenTracks.Toolbar.Surface" parent="Widget.MaterialComponents.Toolbar.Surface">
|
||||||
|
<item name="android:background">#ff0000</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<!-- bottom bar -->
|
||||||
|
<style name="BottomButton" parent="Widget.MaterialComponents.Button.TextButton">
|
||||||
<item name="android:layout_height">wrap_content</item>
|
<item name="android:layout_height">wrap_content</item>
|
||||||
<item name="android:layout_weight">1</item>
|
<item name="android:layout_weight">1</item>
|
||||||
<item name="android:layout_width">0dp</item>
|
<item name="android:layout_width">0dp</item>
|
||||||
@@ -36,70 +42,20 @@ limitations under the License.
|
|||||||
<item name="android:layout_width">match_parent</item>
|
<item name="android:layout_width">match_parent</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style name="EditCategory" parent="@style/TextMedium">
|
|
||||||
<item name="android:completionThreshold">1</item>
|
|
||||||
<item name="android:gravity">bottom</item>
|
|
||||||
<item name="android:layout_gravity">bottom</item>
|
|
||||||
<item name="android:layout_width">match_parent</item>
|
|
||||||
<item name="android:selectAllOnFocus">true</item>
|
|
||||||
<item name="android:singleLine">true</item>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<style name="EditDescription" parent="@style/TextMedium">
|
|
||||||
<item name="android:inputType">textAutoCorrect|textCapSentences|textMultiLine</item>
|
|
||||||
<item name="android:layout_width">match_parent</item>
|
|
||||||
<item name="android:maxLines">50</item>
|
|
||||||
<item name="android:selectAllOnFocus">true</item>
|
|
||||||
<item name="android:singleLine">false</item>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<style name="EditLabel" parent="@style/TextMedium">
|
|
||||||
<item name="android:layout_width">match_parent</item>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<style name="EditLabel.WithPaddingTop">
|
|
||||||
<item name="android:paddingTop">16dp</item>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<style name="EditNameMarker" parent="@style/TextMedium.WithIcon">
|
|
||||||
<item name="android:inputType">textAutoCorrect|textCapWords</item>
|
|
||||||
<item name="android:layout_width">match_parent</item>
|
|
||||||
<item name="android:selectAllOnFocus">true</item>
|
|
||||||
<item name="android:singleLine">true</item>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<style name="EditNameTrack" parent="@style/TextMedium">
|
|
||||||
<item name="android:inputType">textAutoCorrect|textCapWords</item>
|
|
||||||
<item name="android:layout_width">match_parent</item>
|
|
||||||
<item name="android:selectAllOnFocus">true</item>
|
|
||||||
<item name="android:singleLine">true</item>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<style name="ListEmptyTextView" parent="@style/TextLarge">
|
|
||||||
<item name="android:gravity">center</item>
|
|
||||||
<item name="android:layout_gravity">center</item>
|
|
||||||
<item name="android:padding">8dp</item>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<style name="ListItemDate" parent="@style/TextSmall">
|
|
||||||
<item name="android:gravity">right</item>
|
|
||||||
<item name="android:layout_gravity">bottom</item>
|
|
||||||
<item name="android:paddingLeft">8dp</item>
|
|
||||||
<item name="android:singleLine">true</item>
|
|
||||||
</style>
|
|
||||||
<!-- scroll view -->
|
<!-- scroll view -->
|
||||||
<style name="ScrollView">
|
<style name="ScrollView">
|
||||||
<item name="android:layout_height">match_parent</item>
|
<item name="android:layout_height">match_parent</item>
|
||||||
<item name="android:layout_width">match_parent</item>
|
<item name="android:layout_width">match_parent</item>
|
||||||
<item name="android:scrollbarStyle">outsideInset</item>
|
<item name="android:scrollbarStyle">outsideInset</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<!-- scroll view with bottom buttons -->
|
<!-- scroll view with bottom buttons -->
|
||||||
<style name="ScrollView.WithBottomButtons">
|
<style name="ScrollView.WithBottomButtons">
|
||||||
<item name="android:layout_height">0dp</item>
|
<item name="android:layout_height">0dp</item>
|
||||||
<item name="android:layout_weight">1</item>
|
<item name="android:layout_weight">1</item>
|
||||||
</style>
|
</style>
|
||||||
<!-- sensor state value -->
|
|
||||||
<!-- stats horizontal line -->
|
<!-- horizontal line -->
|
||||||
<style name="HorizontalLine">
|
<style name="HorizontalLine">
|
||||||
<item name="android:background">@color/stats_separator</item>
|
<item name="android:background">@color/stats_separator</item>
|
||||||
<item name="android:layout_height">1dp</item>
|
<item name="android:layout_height">1dp</item>
|
||||||
@@ -107,225 +63,9 @@ limitations under the License.
|
|||||||
<item name="android:layout_marginBottom">8dp</item>
|
<item name="android:layout_marginBottom">8dp</item>
|
||||||
<item name="android:layout_width">match_parent</item>
|
<item name="android:layout_width">match_parent</item>
|
||||||
</style>
|
</style>
|
||||||
<style name="StatsHorizontalLine" parent="HorizontalLine">
|
|
||||||
<item name="android:layout_margin">8dp</item>
|
|
||||||
</style>
|
|
||||||
<!-- stats large item container -->
|
|
||||||
<style name="StatsLargeItemContainer">
|
|
||||||
<item name="android:layout_gravity">center</item>
|
|
||||||
<item name="android:layout_height">wrap_content</item>
|
|
||||||
<item name="android:layout_weight">1</item>
|
|
||||||
<item name="android:layout_width">0dp</item>
|
|
||||||
<item name="android:orientation">vertical</item>
|
|
||||||
<item name="android:paddingBottom">6dp</item>
|
|
||||||
<item name="android:paddingTop">6dp</item>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<style name="LargeLabel" parent="@style/TextSmall">
|
<!-- card view -->
|
||||||
<item name="android:textAllCaps">true</item>
|
<style name="OpenTracksCardView">
|
||||||
<item name="android:textColor">?attr/colorAccent</item>
|
|
||||||
<item name="android:textStyle">bold</item>
|
|
||||||
<item name="android:layout_marginTop">8dp</item>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<style name="IntervalLabel" parent="@style/LargeLabel">
|
|
||||||
<item name="android:singleLine">true</item>
|
|
||||||
<item name="android:layout_margin">1dp</item>
|
|
||||||
<item name="android:textAlignment">textStart</item>
|
|
||||||
<item name="android:layout_height">wrap_content</item>
|
|
||||||
<item name="android:layout_weight">1</item>
|
|
||||||
<item name="android:layout_width">1dp</item>
|
|
||||||
<item name="android:layout_gravity">center</item>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<style name="StatsPrimaryLabel" parent="@style/TextMicro">
|
|
||||||
<item name="android:gravity">center</item>
|
|
||||||
<item name="android:layout_gravity">center</item>
|
|
||||||
<item name="android:singleLine">false</item>
|
|
||||||
<item name="android:textAllCaps">true</item>
|
|
||||||
<item name="android:textColor">?attr/colorAccent</item>
|
|
||||||
<item name="android:paddingLeft">4dp</item>
|
|
||||||
<item name="android:paddingRight">4dp</item>
|
|
||||||
<item name="android:layout_marginTop">8dp</item>
|
|
||||||
<item name="android:textStyle">normal</item>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<style name="StatsSecondaryLabel" parent="@style/TextMicro">
|
|
||||||
<item name="android:gravity">center</item>
|
|
||||||
<item name="android:layout_gravity">center</item>
|
|
||||||
<item name="android:singleLine">false</item>
|
|
||||||
<item name="android:textAllCaps">true</item>
|
|
||||||
<item name="android:paddingLeft">4dp</item>
|
|
||||||
<item name="android:paddingRight">4dp</item>
|
|
||||||
<item name="android:layout_marginTop">16dp</item>
|
|
||||||
<item name="android:textStyle">normal</item>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<style name="StatsLabelHidden" parent="@style/StatsPrimaryLabel">
|
|
||||||
<item name="android:textColor">@android:color/secondary_text_dark</item>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<style name="StatsPrimaryValue" parent="@style/TextLarge">
|
|
||||||
<item name="android:layout_gravity">center</item>
|
|
||||||
<item name="android:layout_height">wrap_content</item>
|
|
||||||
<item name="android:layout_width">wrap_content</item>
|
|
||||||
<item name="android:singleLine">true</item>
|
|
||||||
<item name="android:textSize">36sp</item>
|
|
||||||
<item name="android:textStyle">bold</item>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<style name="StatsSecondaryValue" parent="@style/TextLarge">
|
|
||||||
<item name="android:layout_gravity">center</item>
|
|
||||||
<item name="android:layout_height">wrap_content</item>
|
|
||||||
<item name="android:layout_width">wrap_content</item>
|
|
||||||
<item name="android:singleLine">true</item>
|
|
||||||
<item name="android:textSize">28sp</item>
|
|
||||||
<item name="android:textStyle">bold</item>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<style name="StatsValueHidden" parent="@style/StatsPrimaryValue">
|
|
||||||
<item name="android:textColor">@android:color/secondary_text_dark</item>
|
|
||||||
</style>
|
|
||||||
<!-- stats large value container -->
|
|
||||||
<style name="StatsLargeValueContainer">
|
|
||||||
<item name="android:layout_gravity">center</item>
|
|
||||||
<item name="android:layout_height">wrap_content</item>
|
|
||||||
<item name="android:layout_marginTop">-4dp</item>
|
|
||||||
<item name="android:layout_width">wrap_content</item>
|
|
||||||
</style>
|
|
||||||
<!-- stats scroll view -->
|
|
||||||
<style name="StatsScrollView" parent="@style/ScrollView">
|
|
||||||
<item name="android:scrollbarStyle">outsideOverlay</item>
|
|
||||||
</style>
|
|
||||||
<!-- stats small group container -->
|
|
||||||
<style name="StatsSmallGroupContainer" parent="@style/StatsLargeItemContainer">
|
|
||||||
<item name="android:layout_gravity">top|center</item>
|
|
||||||
<item name="android:paddingTop">12dp</item>
|
|
||||||
</style>
|
|
||||||
<!-- stats small item container, for placing inside StatsSmallGroupContainer -->
|
|
||||||
<style name="StatsSmallItemContainer" parent="@style/StatsLargeItemContainer">
|
|
||||||
<item name="android:paddingTop">12dp</item>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<style name="StatsSmallLabel" parent="@style/TextSmall">
|
|
||||||
<item name="android:gravity">center</item>
|
|
||||||
<item name="android:layout_gravity">center</item>
|
|
||||||
<item name="android:singleLine">false</item>
|
|
||||||
<item name="android:textAllCaps">true</item>
|
|
||||||
<item name="android:textStyle">bold</item>
|
|
||||||
<item name="android:layout_marginTop">16dp</item>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<style name="StatsSmallValue" parent="@style/TextLarge">
|
|
||||||
<item name="android:layout_gravity">center</item>
|
|
||||||
<item name="android:singleLine">true</item>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<style name="StatsTinyValue" parent="@style/TextSmall">
|
|
||||||
<item name="android:layout_gravity">center</item>
|
|
||||||
<item name="android:singleLine">true</item>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<style name="StatsTinyLabel" parent="@style/TextSmall">
|
|
||||||
<item name="android:gravity">center</item>
|
|
||||||
<item name="android:layout_gravity">center</item>
|
|
||||||
<item name="android:singleLine">false</item>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<style name="StatsSmallValueContainer" parent="@style/StatsLargeValueContainer">
|
|
||||||
<item name="android:layout_marginTop">-2dp</item>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<style name="StatsUnit" parent="@style/TextSmall">
|
|
||||||
<item name="android:layout_gravity">bottom</item>
|
|
||||||
<item name="android:paddingLeft">4dp</item>
|
|
||||||
<item name="android:singleLine">true</item>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<style name="TextLargeStats" parent="TextAppearance.AppCompat.Large">
|
|
||||||
<item name="android:layout_height">wrap_content</item>
|
|
||||||
<item name="android:layout_width">wrap_content</item>
|
|
||||||
<item name="android:paddingLeft">8dp</item>
|
|
||||||
<item name="android:paddingRight">4dp</item>
|
|
||||||
<item name="android:layout_marginTop">16dp</item>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<style name="TextMediumStats" parent="TextAppearance.AppCompat.Medium">
|
|
||||||
<item name="android:layout_height">wrap_content</item>
|
|
||||||
<item name="android:layout_width">wrap_content</item>
|
|
||||||
<item name="android:paddingLeft">8dp</item>
|
|
||||||
<item name="android:paddingRight">4dp</item>
|
|
||||||
<item name="android:color">@android:color/secondary_text_light</item>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<style name="TextSmallStats" parent="TextAppearance.AppCompat.Small">
|
|
||||||
<item name="android:layout_height">wrap_content</item>
|
|
||||||
<item name="android:layout_width">wrap_content</item>
|
|
||||||
<item name="android:paddingLeft">8dp</item>
|
|
||||||
<item name="android:paddingRight">4dp</item>
|
|
||||||
<item name="android:paddingTop">8dp</item>
|
|
||||||
<item name="android:textAlignment">viewEnd</item>
|
|
||||||
<item name="android:color">@android:color/secondary_text_light</item>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<style name="IconStats">
|
|
||||||
<item name="android:layout_width">48dp</item>
|
|
||||||
<item name="android:layout_height">48dp</item>
|
|
||||||
<item name="tint">?android:textColorPrimary</item>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<style name="TextMicro" parent="@style/TextSmall">
|
|
||||||
<item name="android:textSize">12sp</item>
|
|
||||||
<item name="android:layout_height">wrap_content</item>
|
|
||||||
<item name="android:layout_width">wrap_content</item>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<style name="TextLarge" parent="TextAppearance.AppCompat.Large">
|
|
||||||
<item name="android:layout_height">wrap_content</item>
|
|
||||||
<item name="android:layout_width">wrap_content</item>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<style name="TextMedium" parent="TextAppearance.AppCompat.Medium">
|
|
||||||
<item name="android:layout_height">wrap_content</item>
|
|
||||||
<item name="android:layout_width">wrap_content</item>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<style name="TextMediumPrimary" parent="@style/TextMedium">
|
|
||||||
<item name="android:textColor">?android:textColorPrimary</item>
|
|
||||||
<item name="android:layout_height">wrap_content</item>
|
|
||||||
<item name="android:layout_width">wrap_content</item>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<style name="TextMedium.WithIcon" style="@style/TextMedium">
|
|
||||||
<item name="android:drawablePadding">8dp</item>
|
|
||||||
<item name="android:gravity">center_vertical</item>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<style name="TextSmall" parent="TextAppearance.AppCompat.Small">
|
|
||||||
<item name="android:layout_height">wrap_content</item>
|
|
||||||
<item name="android:layout_width">wrap_content</item>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<style name="TextImportExportSummaryStart" parent="TextMediumPrimary">
|
|
||||||
<item name="android:layout_width">0dp</item>
|
|
||||||
<item name="android:layout_height">wrap_content</item>
|
|
||||||
<item name="android:layout_marginTop">12dp</item>
|
|
||||||
<item name="android:layout_marginEnd">8dp</item>
|
|
||||||
<item name="android:layout_marginStart">24dp</item>
|
|
||||||
<item name="android:gravity">end</item>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<style name="TextImportExportSummaryEnd" parent="TextMediumPrimary">
|
|
||||||
<item name="android:layout_width">0dp</item>
|
|
||||||
<item name="android:layout_height">wrap_content</item>
|
|
||||||
<item name="android:layout_marginStart">8dp</item>
|
|
||||||
<item name="android:layout_marginEnd">24dp</item>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<style name="ProgressBar" parent="@style/Widget.AppCompat.ProgressBar.Horizontal" />
|
|
||||||
|
|
||||||
<!-- Card View for stats -->
|
|
||||||
<style name="StatsCardView">
|
|
||||||
<item name="android:layout_width">match_parent</item>
|
<item name="android:layout_width">match_parent</item>
|
||||||
<item name="android:layout_height">wrap_content</item>
|
<item name="android:layout_height">wrap_content</item>
|
||||||
<item name="cardElevation">1dp</item>
|
<item name="cardElevation">1dp</item>
|
||||||
@@ -336,7 +76,7 @@ limitations under the License.
|
|||||||
|
|
||||||
<!-- Snackbar -->
|
<!-- Snackbar -->
|
||||||
<style name="MaterialSnackbarTheme" parent="@style/Widget.MaterialComponents.Snackbar">
|
<style name="MaterialSnackbarTheme" parent="@style/Widget.MaterialComponents.Snackbar">
|
||||||
<item name="materialThemeOverlay">@style/ThemeOverlay.App.Snackbar</item>
|
<item name="materialThemeOverlay">@style/ThemeOverlay.OpenTracks.Snackbar</item>
|
||||||
<item name="actionTextColorAlpha">1</item>
|
<item name="actionTextColorAlpha">1</item>
|
||||||
|
|
||||||
<item name="backgroundTint">@android:color/holo_red_dark</item>
|
<item name="backgroundTint">@android:color/holo_red_dark</item>
|
||||||
@@ -353,7 +93,7 @@ limitations under the License.
|
|||||||
<item name="android:textSize">14sp</item>
|
<item name="android:textSize">14sp</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style name="ThemeOverlay.App.Snackbar" parent="">
|
<style name="ThemeOverlay.OpenTracks.Snackbar" parent="">
|
||||||
<item name="colorSurface">@android:color/holo_red_dark</item>
|
<item name="colorSurface">@android:color/holo_red_dark</item>
|
||||||
<item name="colorOnSurface">@android:color/holo_red_dark</item>
|
<item name="colorOnSurface">@android:color/holo_red_dark</item>
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -15,20 +15,41 @@ limitations under the License.
|
|||||||
-->
|
-->
|
||||||
<resources xmlns:android="http://schemas.android.com/apk/res/android">
|
<resources xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
|
||||||
<style name="ThemeCustom" parent="Theme.AppCompat.DayNight.NoActionBar">
|
<style name="ThemeCustom" parent="Theme.MaterialComponents.DayNight.NoActionBar">
|
||||||
<!-- <item name="colorPrimary">TODO</item>-->
|
<item name="colorPrimary">@color/opentracks_primary_color</item>
|
||||||
<!-- <item name="colorPrimaryDark">TODO</item>-->
|
<item name="colorPrimaryVariant">@color/opentracks_primary_variant_color</item>
|
||||||
|
<item name="colorOnPrimary">@color/opentracks_on_primary_color</item>
|
||||||
|
|
||||||
<item name="colorAccent">@color/colorAccent</item>
|
<item name="colorSecondary">@color/opentracks_secondary_color</item>
|
||||||
<item name="android:activatedBackgroundIndicator">@drawable/activated_background</item>
|
<item name="colorSecondaryVariant">@color/opentracks_secondary_color</item>
|
||||||
|
<item name="colorOnSecondary">@color/opentracks_on_secondary_color</item>
|
||||||
|
|
||||||
|
<item name="colorError">@color/red_dark</item>
|
||||||
|
<item name="colorOnError">@android:color/white</item>
|
||||||
|
|
||||||
|
<item name="android:statusBarColor">?attr/colorPrimaryVariant</item>
|
||||||
|
|
||||||
<item name="windowActionModeOverlay">true</item>
|
<item name="windowActionModeOverlay">true</item>
|
||||||
|
|
||||||
|
<item name="android:colorBackground">@android:color/white</item>
|
||||||
|
<item name="colorOnBackground">@android:color/black</item>
|
||||||
|
|
||||||
|
<item name="colorSurface">@color/opentracks_surface_day_background_color</item>
|
||||||
|
<item name="colorOnSurface">@color/opentracks_surface_day_on_background_color</item>
|
||||||
|
|
||||||
|
<item name="android:activatedBackgroundIndicator">@drawable/activated_background</item>
|
||||||
|
|
||||||
<!-- Snackbar -->
|
<!-- Snackbar -->
|
||||||
<item name="snackbarStyle">@style/MaterialSnackbarTheme</item>
|
<item name="snackbarStyle">@style/MaterialSnackbarTheme</item>
|
||||||
<item name="snackbarButtonStyle">@style/MaterialSnackbarTextButtonTheme</item>
|
<item name="snackbarButtonStyle">@style/MaterialSnackbarTextButtonTheme</item>
|
||||||
<item name="snackbarTextViewStyle">@style/MaterialSnackbarTextViewTheme</item>
|
<item name="snackbarTextViewStyle">@style/MaterialSnackbarTextViewTheme</item>
|
||||||
|
|
||||||
|
<!-- Linear progress indicator -->
|
||||||
|
<item name="linearProgressIndicatorStyle">@style/OpenTracksLinearProgressIndicator</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<style name="OpenTracksLinearProgressIndicator" parent="Widget.MaterialComponents.LinearProgressIndicator">
|
||||||
|
<item name="indicatorColor">?attr/colorSecondary</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style name="SplashTheme" parent="ThemeCustom">
|
<style name="SplashTheme" parent="ThemeCustom">
|
||||||
|
|||||||
@@ -0,0 +1,55 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<resources>
|
||||||
|
<style name="TextAppearance.OpenTracks.PrimaryHeader" parent="TextAppearance.MaterialComponents.Subtitle1">
|
||||||
|
<item name="android:textColor">?attr/colorSecondary</item>
|
||||||
|
<item name="android:layout_marginTop">8dp</item>
|
||||||
|
<item name="android:textStyle">bold</item>
|
||||||
|
<item name="android:textAllCaps">true</item>
|
||||||
|
<item name="android:singleLine">true</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<style name="TextAppearance.OpenTracks.SecondaryHeader" parent="TextAppearance.MaterialComponents.Subtitle2">
|
||||||
|
<item name="android:layout_marginTop">8dp</item>
|
||||||
|
<item name="android:textAllCaps">true</item>
|
||||||
|
<item name="android:singleLine">true</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<style name="TextAppearance.OpenTracks.HiddenHeader" parent="TextAppearance.MaterialComponents.Subtitle1">
|
||||||
|
<item name="android:textColor">@color/light_gray</item>
|
||||||
|
<item name="android:layout_marginTop">8dp</item>
|
||||||
|
<item name="android:textAllCaps">true</item>
|
||||||
|
<item name="android:singleLine">true</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<style name="TextAppearance.OpenTracks.PrimaryValue" parent="TextAppearance.MaterialComponents.Headline4">
|
||||||
|
<item name="android:textColor">?attr/colorOnBackground</item>
|
||||||
|
<item name="android:layout_gravity">center</item>
|
||||||
|
<item name="android:textStyle">bold</item>
|
||||||
|
<item name="android:singleLine">true</item>
|
||||||
|
<item name="android:layout_marginTop">8dp</item>
|
||||||
|
<item name="android:layout_marginBottom">8dp</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<style name="TextAppearance.OpenTracks.SecondaryValue" parent="TextAppearance.MaterialComponents.Headline5">
|
||||||
|
<item name="android:textColor">?attr/colorOnBackground</item>
|
||||||
|
<item name="android:layout_gravity">center</item>
|
||||||
|
<item name="android:textStyle">bold</item>
|
||||||
|
<item name="android:singleLine">true</item>
|
||||||
|
<item name="android:layout_marginTop">8dp</item>
|
||||||
|
<item name="android:layout_marginBottom">8dp</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<style name="TextAppearance.OpenTracks.HiddenValue" parent="TextAppearance.MaterialComponents.Headline4">
|
||||||
|
<item name="android:textColor">@color/light_gray</item>
|
||||||
|
<item name="android:layout_gravity">center</item>
|
||||||
|
<item name="android:textStyle">bold</item>
|
||||||
|
<item name="android:singleLine">true</item>
|
||||||
|
<item name="android:layout_marginTop">8dp</item>
|
||||||
|
<item name="android:layout_marginBottom">8dp</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<style name="TextAppearance.OpenTracks.PrimaryUnit" parent="TextAppearance.MaterialComponents.Caption">
|
||||||
|
<item name="android:textColor">?attr/colorOnBackground</item>
|
||||||
|
<item name="android:singleLine">true</item>
|
||||||
|
</style>
|
||||||
|
</resources>
|
||||||
Reference in New Issue
Block a user