diff --git a/src/androidTest/java/de/dennisguse/opentracks/EspressoDeleteTrackTest.java b/src/androidTest/java/de/dennisguse/opentracks/EspressoDeleteTrackTest.java
index 6f0ab71d2..6c6fe76ff 100644
--- a/src/androidTest/java/de/dennisguse/opentracks/EspressoDeleteTrackTest.java
+++ b/src/androidTest/java/de/dennisguse/opentracks/EspressoDeleteTrackTest.java
@@ -11,10 +11,9 @@ import static androidx.test.espresso.matcher.ViewMatchers.withId;
import static androidx.test.espresso.matcher.ViewMatchers.withText;
import static org.hamcrest.Matchers.allOf;
import static org.hamcrest.Matchers.anything;
+import static de.dennisguse.opentracks.util.EspressoUtils.childAtPosition;
import static de.dennisguse.opentracks.util.EspressoUtils.waitFor;
-import android.Manifest;
-
import androidx.test.ext.junit.rules.ActivityScenarioRule;
import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.test.filters.LargeTest;
@@ -53,7 +52,15 @@ public class EspressoDeleteTrackTest {
onData(anything()).inAdapterView(withId(R.id.track_list)).atPosition(0).perform(longClick());
// open menu and delete selected track
- onView(allOf(withContentDescription("More options"), isDisplayed()))
+ //TODO openActionBarOverflowOrOptionsMenu(); doesn't work
+ onView(
+ allOf(withContentDescription("More options"),
+ childAtPosition(
+ childAtPosition(
+ withId(androidx.appcompat.R.id.action_mode_bar),
+ 1),
+ 2),
+ isDisplayed()))
.perform(click());
onView(withText("Delete")).perform(click());
diff --git a/src/androidTest/java/de/dennisguse/opentracks/ui/aggregatedStatistics/EspressoAggregatedFilterTest.java b/src/androidTest/java/de/dennisguse/opentracks/ui/aggregatedStatistics/EspressoAggregatedFilterTest.java
index 4e98d08c1..33b73f270 100644
--- a/src/androidTest/java/de/dennisguse/opentracks/ui/aggregatedStatistics/EspressoAggregatedFilterTest.java
+++ b/src/androidTest/java/de/dennisguse/opentracks/ui/aggregatedStatistics/EspressoAggregatedFilterTest.java
@@ -59,8 +59,8 @@ public class EspressoAggregatedFilterTest {
public void espressoAggregatedFilterTest() {
// open AggregatedStatisticsActivity through toolbar's menu item
onView(ViewMatchers.withId(R.id.bottom_app_bar)).check(matches(isDisplayed()));
- onView(withId(R.id.bottom_app_bar)).check(matches(hasDescendant(withId(R.id.track_list_aggregated_stats))));
- onView(withId(R.id.track_list_aggregated_stats)).perform(click());
+ onView(withId(R.id.bottom_app_bar)).check(matches(hasDescendant(withId(R.id.aggregated_stats_button))));
+ onView(withId(R.id.aggregated_stats_button)).perform(click());
// open FilterDialogFragment through toolbar's menu item
onView(withId(R.id.bottom_app_bar)).check(matches(isDisplayed()));
diff --git a/src/main/java/de/dennisguse/opentracks/ShowErrorActivity.java b/src/main/java/de/dennisguse/opentracks/ShowErrorActivity.java
index 79d673102..c285a2952 100644
--- a/src/main/java/de/dennisguse/opentracks/ShowErrorActivity.java
+++ b/src/main/java/de/dennisguse/opentracks/ShowErrorActivity.java
@@ -24,7 +24,7 @@ public class ShowErrorActivity extends AbstractActivity {
super.onCreate(savedInstanceState);
viewBinding.textViewError.setText(getIntent().getStringExtra(EXTRA_ERROR_TEXT));
- viewBinding.bottomAppBarLayout.bottomAppBarTitle.setText(createErrorTitle());
+ viewBinding.showErrorToolbar.setTitle(createErrorTitle());
setSupportActionBar(viewBinding.bottomAppBarLayout.bottomAppBar);
}
diff --git a/src/main/java/de/dennisguse/opentracks/TrackEditActivity.java b/src/main/java/de/dennisguse/opentracks/TrackEditActivity.java
index 18ae5fea5..cb8c1b3a3 100644
--- a/src/main/java/de/dennisguse/opentracks/TrackEditActivity.java
+++ b/src/main/java/de/dennisguse/opentracks/TrackEditActivity.java
@@ -109,7 +109,6 @@ public class TrackEditActivity extends AbstractActivity implements ChooseActivit
viewBinding.trackEditCancel.setOnClickListener(v -> finish());
viewBinding.trackEditCancel.setVisibility(View.VISIBLE);
- viewBinding.bottomAppBarLayout.bottomAppBarTitle.setText(getString(R.string.menu_edit));
setSupportActionBar(viewBinding.bottomAppBarLayout.bottomAppBar);
}
diff --git a/src/main/java/de/dennisguse/opentracks/TrackListActivity.java b/src/main/java/de/dennisguse/opentracks/TrackListActivity.java
index 6297ce09b..54c855fd3 100644
--- a/src/main/java/de/dennisguse/opentracks/TrackListActivity.java
+++ b/src/main/java/de/dennisguse/opentracks/TrackListActivity.java
@@ -35,6 +35,7 @@ import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
+import androidx.appcompat.content.res.AppCompatResources;
import androidx.appcompat.widget.SearchView;
import androidx.core.content.ContextCompat;
import androidx.cursoradapter.widget.ResourceCursorAdapter;
@@ -42,12 +43,12 @@ import androidx.loader.app.LoaderManager;
import androidx.loader.content.CursorLoader;
import androidx.loader.content.Loader;
+import com.google.android.material.button.MaterialButton;
+
import java.time.Duration;
import java.time.Instant;
import java.time.OffsetDateTime;
import java.time.ZoneOffset;
-import java.util.ArrayList;
-import java.util.Arrays;
import de.dennisguse.opentracks.data.models.Distance;
import de.dennisguse.opentracks.data.models.DistanceFormatter;
@@ -82,7 +83,7 @@ public class TrackListActivity extends AbstractTrackDeleteActivity implements Co
private static final String TAG = TrackListActivity.class.getSimpleName();
- // The following are setFrequency in onCreate
+ // The following are set in onCreate
private TrackRecordingServiceConnection trackRecordingServiceConnection;
private ResourceCursorAdapter resourceCursorAdapter;
@@ -136,7 +137,6 @@ public class TrackListActivity extends AbstractTrackDeleteActivity implements Co
// Menu items
private MenuItem searchMenuItem;
- private MenuItem startGpsMenuItem;
private final TrackRecordingServiceConnection.Callback bindChangedCallback = (service, unused) -> {
service.getRecordingStatusObservable()
@@ -164,6 +164,25 @@ public class TrackListActivity extends AbstractTrackDeleteActivity implements Co
trackRecordingServiceConnection = new TrackRecordingServiceConnection(bindChangedCallback);
+ viewBinding.aggregatedStatsButton.setOnClickListener((view) -> startActivity(IntentUtils.newIntent(this, AggregatedStatisticsActivity.class)));
+ viewBinding.sensorStartButton.setOnClickListener((view) -> {
+ LocationManager locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);
+ if (locationManager != null && !locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)) {
+ startActivity(new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS));
+ } else {
+ // Invoke trackRecordingService
+ if (!gpsStatusValue.isGpsStarted()) {
+ trackRecordingServiceConnection.startAndBindWithCallback(this);
+ } else {
+ TrackRecordingService trackRecordingService = trackRecordingServiceConnection.getServiceIfBound();
+ if (trackRecordingService != null) {
+ trackRecordingService.stopSensorsAndShutdown(); //TODO Handle this in TrackRecordingServiceConnection
+ }
+ trackRecordingServiceConnection.unbindAndStop(this);
+ }
+ }
+ });
+
viewBinding.trackList.setEmptyView(viewBinding.trackListEmptyView);
viewBinding.trackList.setOnItemClickListener((parent, view, position, trackIdId) -> {
Track.Id trackId = new Track.Id(trackIdId);
@@ -253,7 +272,7 @@ public class TrackListActivity extends AbstractTrackDeleteActivity implements Co
return true;
});
- setSupportActionBar(viewBinding.bottomAppBar);
+ setSupportActionBar(viewBinding.trackListToolbar);
loadData(getIntent());
}
@@ -308,21 +327,7 @@ public class TrackListActivity extends AbstractTrackDeleteActivity implements Co
getMenuInflater().inflate(R.menu.track_list, menu);
searchMenuItem = menu.findItem(R.id.track_list_search);
- SearchView searchView = ActivityUtils.configureSearchWidget(this, searchMenuItem);
-
- searchView.findViewById(androidx.appcompat.R.id.search_edit_frame).setPadding(0, 0, 48, 0);
-
- SearchView.SearchAutoComplete searchAutoComplete = searchView.findViewById(androidx.appcompat.R.id.search_src_text);
- searchAutoComplete.setHintTextColor(ContextCompat.getColor(this, android.R.color.white));
- searchAutoComplete.setTextColor(ContextCompat.getColor(this, android.R.color.white));
-
- searchView.setOnCloseListener(() -> {
- searchView.clearFocus();
- searchMenuItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
- return true;
- });
-
- startGpsMenuItem = menu.findItem(R.id.track_list_start_gps);
+ ActivityUtils.configureSearchWidget(this, searchMenuItem);
return super.onCreateOptionsMenu(menu);
}
@@ -339,34 +344,6 @@ public class TrackListActivity extends AbstractTrackDeleteActivity implements Co
@Override
public boolean onOptionsItemSelected(MenuItem item) {
- if (item.getItemId() == R.id.track_list_start_gps) {
- LocationManager locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);
- if (locationManager != null && !locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)) {
- startActivity(new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS));
- } else {
- // Invoke trackRecordingService
- if (!gpsStatusValue.isGpsStarted()) {
- trackRecordingServiceConnection.startAndBindWithCallback(this);
- } else {
- TrackRecordingService trackRecordingService = trackRecordingServiceConnection.getServiceIfBound();
- if (trackRecordingService != null) {
- trackRecordingService.stopSensorsAndShutdown(); //TODO Handle this in TrackRecordingServiceConnection
- }
- trackRecordingServiceConnection.unbindAndStop(this);
- }
-
- // Update menu after starting or stopping gps
- this.invalidateOptionsMenu();
- }
-
- return true;
- }
-
- if (item.getItemId() == R.id.track_list_aggregated_stats) {
- startActivity(IntentUtils.newIntent(this, AggregatedStatisticsActivity.class));
- return true;
- }
-
if (item.getItemId() == R.id.track_list_markers) {
startActivity(IntentUtils.newIntent(this, MarkerListActivity.class));
return true;
@@ -460,14 +437,12 @@ public class TrackListActivity extends AbstractTrackDeleteActivity implements Co
*/
//TODO Check if if can be avoided to call this outside of onGpsStatusChanged()
private void updateGpsMenuItem(boolean isGpsStarted, boolean isRecording) {
- if (startGpsMenuItem != null) {
- startGpsMenuItem.setVisible(!isRecording);
- if (!isRecording) {
- startGpsMenuItem.setTitle(isGpsStarted ? R.string.menu_stop_gps : R.string.menu_start_gps);
- startGpsMenuItem.setIcon(isGpsStarted ? gpsStatusValue.icon : R.drawable.ic_gps_off_24dp);
- if (startGpsMenuItem.getIcon() instanceof AnimatedVectorDrawable) {
- ((AnimatedVectorDrawable) startGpsMenuItem.getIcon()).start();
- }
+ MaterialButton startGpsMenuItem = viewBinding.sensorStartButton;
+ startGpsMenuItem.setVisibility(!isRecording ? View.VISIBLE : View.INVISIBLE);
+ if (!isRecording) {
+ startGpsMenuItem.setIcon(AppCompatResources.getDrawable(this, isGpsStarted ? gpsStatusValue.icon : R.drawable.ic_gps_off_24dp));
+ if (startGpsMenuItem.getIcon() instanceof AnimatedVectorDrawable) {
+ ((AnimatedVectorDrawable) startGpsMenuItem.getIcon()).start();
}
}
}
@@ -509,13 +484,6 @@ public class TrackListActivity extends AbstractTrackDeleteActivity implements Co
return true;
}
- if (itemId == R.id.list_context_menu_aggregated_stats) {
- Intent intent = IntentUtils.newIntent(this, AggregatedStatisticsActivity.class)
- .putParcelableArrayListExtra(AggregatedStatisticsActivity.EXTRA_TRACK_IDS, new ArrayList<>(Arrays.asList(trackIds)));
- startActivity(intent);
- return true;
- }
-
if (itemId == R.id.list_context_menu_select_all) {
for (int i = 0; i < viewBinding.trackList.getCount(); i++) {
viewBinding.trackList.setItemChecked(i, true);
@@ -537,11 +505,7 @@ public class TrackListActivity extends AbstractTrackDeleteActivity implements Co
public void setSearch(String searchQuery) {
this.searchQuery = searchQuery;
restart();
- if (searchQuery != null) {
- setTitle(searchQuery);
- } else {
- setTitle(R.string.app_name);
- }
+ viewBinding.trackListToolbar.setTitle(searchQuery == null ? getString(R.string.app_name) : searchQuery);
}
public void restart() {
diff --git a/src/main/java/de/dennisguse/opentracks/TrackRecordedActivity.java b/src/main/java/de/dennisguse/opentracks/TrackRecordedActivity.java
index fed3db9b2..cba70be8b 100644
--- a/src/main/java/de/dennisguse/opentracks/TrackRecordedActivity.java
+++ b/src/main/java/de/dennisguse/opentracks/TrackRecordedActivity.java
@@ -103,7 +103,6 @@ public class TrackRecordedActivity extends AbstractTrackDeleteActivity implement
trackRecordingServiceConnection = new TrackRecordingServiceConnection(bindCallback);
Track track = contentProviderUtils.getTrack(trackId);
- viewBinding.bottomAppBarLayout.bottomAppBarTitle.setText(track != null ? track.getName() : "");
viewBinding.bottomAppBarLayout.bottomAppBar.replaceMenu(R.menu.track_detail);
setSupportActionBar(viewBinding.bottomAppBarLayout.bottomAppBar);
diff --git a/src/main/java/de/dennisguse/opentracks/io/file/exporter/ExportActivity.java b/src/main/java/de/dennisguse/opentracks/io/file/exporter/ExportActivity.java
index 0da83b43e..8f4578a69 100644
--- a/src/main/java/de/dennisguse/opentracks/io/file/exporter/ExportActivity.java
+++ b/src/main/java/de/dennisguse/opentracks/io/file/exporter/ExportActivity.java
@@ -187,7 +187,7 @@ public class ExportActivity extends FragmentActivity implements ExportServiceRes
nextExport(null);
}
- viewBinding.bottomAppBarLayout.bottomAppBarTitle.setText(getString(R.string.export_progress_message, directoryDisplayName));
+ viewBinding.exportActivityToolbar.setTitle(getString(R.string.export_progress_message, directoryDisplayName));
viewBinding.bottomAppBarLayout.bottomAppBar.setNavigationIcon(R.drawable.ic_logo_color_24dp);
}
diff --git a/src/main/java/de/dennisguse/opentracks/io/file/importer/ImportActivity.java b/src/main/java/de/dennisguse/opentracks/io/file/importer/ImportActivity.java
index a47b4edc0..fbf8ac554 100644
--- a/src/main/java/de/dennisguse/opentracks/io/file/importer/ImportActivity.java
+++ b/src/main/java/de/dennisguse/opentracks/io/file/importer/ImportActivity.java
@@ -112,7 +112,7 @@ public class ImportActivity extends FragmentActivity {
});
//Works for a directory, but we might have received multiple files via SEND_MULTIPLE.
- viewBinding.bottomAppBarLayout.bottomAppBarTitle.setText(getString(R.string.import_progress_message, documentFiles.get(0).getName()));
+ viewBinding.importActivityToolbar.setTitle(getString(R.string.import_progress_message, documentFiles.get(0).getName()));
viewBinding.bottomAppBarLayout.bottomAppBar.setNavigationIcon(R.drawable.ic_logo_color_24dp);
}
diff --git a/src/main/java/de/dennisguse/opentracks/settings/SettingsActivity.java b/src/main/java/de/dennisguse/opentracks/settings/SettingsActivity.java
index ff480ea37..be8446f02 100644
--- a/src/main/java/de/dennisguse/opentracks/settings/SettingsActivity.java
+++ b/src/main/java/de/dennisguse/opentracks/settings/SettingsActivity.java
@@ -40,7 +40,6 @@ public class SettingsActivity extends AbstractActivity implements ChooseActivity
fragment = new MainSettingsFragment();
}
- viewBinding.bottomAppBarLayout.bottomAppBarTitle.setText(getString(R.string.menu_settings));
setSupportActionBar(viewBinding.bottomAppBarLayout.bottomAppBar);
getSupportFragmentManager().beginTransaction().replace(R.id.settings_fragment, fragment).commit();
diff --git a/src/main/java/de/dennisguse/opentracks/settings/SettingsCustomLayoutEditActivity.java b/src/main/java/de/dennisguse/opentracks/settings/SettingsCustomLayoutEditActivity.java
index a62fe35cb..fc962e49e 100644
--- a/src/main/java/de/dennisguse/opentracks/settings/SettingsCustomLayoutEditActivity.java
+++ b/src/main/java/de/dennisguse/opentracks/settings/SettingsCustomLayoutEditActivity.java
@@ -95,7 +95,7 @@ public class SettingsCustomLayoutEditActivity extends AbstractActivity implement
recyclerViewNotVisible.setLayoutManager(new LinearLayoutManager(this));
recyclerViewNotVisible.setAdapter(adapterFieldsHidden);
- viewBinding.bottomAppBarLayout.bottomAppBarTitle.setText(profile);
+// viewBinding.bottomAppBarLayout.bottomAppBarTitle.setText(profile); TODO
setSupportActionBar(viewBinding.bottomAppBarLayout.bottomAppBar);
}
diff --git a/src/main/java/de/dennisguse/opentracks/settings/SettingsCustomLayoutListActivity.java b/src/main/java/de/dennisguse/opentracks/settings/SettingsCustomLayoutListActivity.java
index 83131201e..82d81107a 100644
--- a/src/main/java/de/dennisguse/opentracks/settings/SettingsCustomLayoutListActivity.java
+++ b/src/main/java/de/dennisguse/opentracks/settings/SettingsCustomLayoutListActivity.java
@@ -113,7 +113,6 @@ public class SettingsCustomLayoutListActivity extends AbstractActivity implement
ItemTouchHelper itemTouchhelper = new ItemTouchHelper(recyclerViewSwipeDeleteCallback);
itemTouchhelper.attachToRecyclerView(recyclerView);
- viewBinding.bottomAppBarLayout.bottomAppBarTitle.setText(getString(R.string.custom_layout_list_title));
setSupportActionBar(viewBinding.bottomAppBarLayout.bottomAppBar);
}
diff --git a/src/main/java/de/dennisguse/opentracks/ui/aggregatedStatistics/AggregatedStatisticsActivity.java b/src/main/java/de/dennisguse/opentracks/ui/aggregatedStatistics/AggregatedStatisticsActivity.java
index 5380f8e43..26ce1404b 100644
--- a/src/main/java/de/dennisguse/opentracks/ui/aggregatedStatistics/AggregatedStatisticsActivity.java
+++ b/src/main/java/de/dennisguse/opentracks/ui/aggregatedStatistics/AggregatedStatisticsActivity.java
@@ -62,7 +62,6 @@ public class AggregatedStatisticsActivity extends AbstractActivity implements Fi
});
setSupportActionBar(viewBinding.bottomAppBarLayout.bottomAppBar);
- viewBinding.bottomAppBarLayout.bottomAppBarTitle.setText(getString(R.string.menu_aggregated_statistics));
}
@Override
diff --git a/src/main/java/de/dennisguse/opentracks/ui/markers/MarkerDetailActivity.java b/src/main/java/de/dennisguse/opentracks/ui/markers/MarkerDetailActivity.java
index f13c68919..431eadf27 100644
--- a/src/main/java/de/dennisguse/opentracks/ui/markers/MarkerDetailActivity.java
+++ b/src/main/java/de/dennisguse/opentracks/ui/markers/MarkerDetailActivity.java
@@ -105,7 +105,8 @@ public class MarkerDetailActivity extends AbstractActivity implements DeleteMark
@Override
public void onPageSelected(int position) {
- viewBinding.bottomAppBarLayout.bottomAppBarTitle.setText(markerAdapter.getPageTitle(position));
+ viewBinding.markerDetailToolbar.setTitle(markerAdapter.getPageTitle(position));
+// viewBinding.bottomAppBarLayout.bottomAppBarTitle.setText(markerAdapter.getPageTitle(position)); TOOD
}
@Override
diff --git a/src/main/java/de/dennisguse/opentracks/ui/markers/MarkerEditActivity.java b/src/main/java/de/dennisguse/opentracks/ui/markers/MarkerEditActivity.java
index c9f9ae1a6..ed2dfe9c7 100644
--- a/src/main/java/de/dennisguse/opentracks/ui/markers/MarkerEditActivity.java
+++ b/src/main/java/de/dennisguse/opentracks/ui/markers/MarkerEditActivity.java
@@ -110,7 +110,9 @@ public class MarkerEditActivity extends AbstractActivity {
});
boolean isNewMarker = markerId == null;
- viewBinding.bottomAppBarLayout.bottomAppBarTitle.setText(getString(isNewMarker ? R.string.menu_insert_marker : R.string.menu_edit));
+ if (!isNewMarker) {
+ viewBinding.markerEditToolbar.setTitle(R.string.menu_edit);
+ }
viewBinding.markerEditDone.setText(isNewMarker ? R.string.generic_add : R.string.generic_save);
viewBinding.markerEditDone.setOnClickListener(v -> {
viewModel.onDone(viewBinding.markerEditName.getText().toString(),
diff --git a/src/main/java/de/dennisguse/opentracks/ui/markers/MarkerListActivity.java b/src/main/java/de/dennisguse/opentracks/ui/markers/MarkerListActivity.java
index f0394154a..767c715c2 100644
--- a/src/main/java/de/dennisguse/opentracks/ui/markers/MarkerListActivity.java
+++ b/src/main/java/de/dennisguse/opentracks/ui/markers/MarkerListActivity.java
@@ -131,7 +131,7 @@ public class MarkerListActivity extends AbstractActivity implements DeleteMarker
trackRecordingServiceConnection = new TrackRecordingServiceConnection(bindCallback);
- setSupportActionBar(viewBinding.bottomAppBarLayout.bottomAppBar);
+ setSupportActionBar(viewBinding.markerListToolbar);
}
@Override
@@ -311,7 +311,7 @@ public class MarkerListActivity extends AbstractActivity implements DeleteMarker
public void setSearch(String searchQuery) {
this.searchQuery = searchQuery;
restart();
- viewBinding.bottomAppBarLayout.bottomAppBarTitle.setText(Objects.requireNonNullElseGet(searchQuery, () -> getString(R.string.menu_markers)));
+ viewBinding.markerListToolbar.setTitle(Objects.requireNonNullElseGet(searchQuery, () -> getString(R.string.menu_markers)));
}
public void restart() {
diff --git a/src/main/res/drawable/ic_help_black_24dp.xml b/src/main/res/drawable/ic_help_black_24dp.xml
new file mode 100644
index 000000000..47c3ac2ea
--- /dev/null
+++ b/src/main/res/drawable/ic_help_black_24dp.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/src/main/res/layout/about.xml b/src/main/res/layout/about.xml
index 2e6a97ed9..8ed16f753 100644
--- a/src/main/res/layout/about.xml
+++ b/src/main/res/layout/about.xml
@@ -1,14 +1,28 @@
+
+
+
+
+
+ android:paddingBottom="?attr/actionBarSize"
+ app:layout_behavior="@string/appbar_scrolling_view_behavior">
-
+
+
+
+
+
diff --git a/src/main/res/layout/activity_settings_custom_layout_list.xml b/src/main/res/layout/activity_settings_custom_layout_list.xml
index 6d0154f6d..fc36ab1e9 100644
--- a/src/main/res/layout/activity_settings_custom_layout_list.xml
+++ b/src/main/res/layout/activity_settings_custom_layout_list.xml
@@ -26,7 +26,7 @@
android:id="@+id/custom_layout_list_input_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
+ style="@style/Widget.Material3.TextInputLayout.OutlinedBox"
app:errorEnabled="true"
android:layout_margin="16dp">
@@ -52,7 +52,7 @@
android:id="@+id/custom_layout_list_cancel_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- style="@style/Widget.MaterialComponents.Button.TextButton"
+ style="@style/Widget.Material3.Button.TextButton"
android:text="@android:string/cancel" />
+
+
+
+
+
+
+
+
+
+
+ android:paddingBottom="?attr/actionBarSize"
+ app:layout_behavior="@string/appbar_scrolling_view_behavior">
+ android:layout_height="match_parent">
-
-
-
-
-
-
-
-
+ app:navigationIcon="@drawable/ic_baseline_arrow_back_24" />
diff --git a/src/main/res/layout/export_activity.xml b/src/main/res/layout/export_activity.xml
index 0de985674..11af61667 100644
--- a/src/main/res/layout/export_activity.xml
+++ b/src/main/res/layout/export_activity.xml
@@ -1,16 +1,27 @@
-
+
+
+
+
+
+ android:paddingBottom="?attr/actionBarSize"
+ app:layout_behavior="@string/appbar_scrolling_view_behavior">
\ No newline at end of file
diff --git a/src/main/res/layout/help.xml b/src/main/res/layout/help.xml
index 48940216b..a726ceb5f 100644
--- a/src/main/res/layout/help.xml
+++ b/src/main/res/layout/help.xml
@@ -1,14 +1,27 @@
+
+
+
+
+
+ android:paddingBottom="?attr/actionBarSize"
+ app:layout_behavior="@string/appbar_scrolling_view_behavior">
-
+
+
+
+
+
+ android:paddingBottom="?attr/actionBarSize"
+ app:layout_behavior="@string/appbar_scrolling_view_behavior">
+
+
+
+
+
+ android:orientation="vertical"
+ app:layout_behavior="@string/appbar_scrolling_view_behavior">
+
+
+
+
+
+ android:layout_marginBottom="@dimen/m3_bottom_nav_min_height"
+ app:layout_behavior="@string/appbar_scrolling_view_behavior">
@@ -109,11 +123,10 @@ limitations under the License.
android:layout_height="32dp"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
- android:layout_margin="16dp"
- android:layout_marginStart="8dp"
- android:layout_marginTop="8dp"
- android:layout_marginEnd="8dp"
- android:layout_marginBottom="8dp"
+ android:layout_marginStart="16dp"
+ android:layout_marginTop="16dp"
+ android:layout_marginEnd="16dp"
+ android:layout_marginBottom="16dp"
android:background="@drawable/shape_circle_darkgray"
android:padding="4dp"
android:src="@drawable/ic_delete_forever_24dp" />
diff --git a/src/main/res/layout/marker_list.xml b/src/main/res/layout/marker_list.xml
index 3bd12501e..bead2e4c6 100644
--- a/src/main/res/layout/marker_list.xml
+++ b/src/main/res/layout/marker_list.xml
@@ -14,14 +14,28 @@ See the License for the specific language governing permissions and
limitations under the License.
-->
+
+
+
+
+
+ android:paddingBottom="?attr/actionBarSize"
+ app:layout_behavior="@string/appbar_scrolling_view_behavior">
diff --git a/src/main/res/layout/settings.xml b/src/main/res/layout/settings.xml
index 5802a1398..e813676a4 100644
--- a/src/main/res/layout/settings.xml
+++ b/src/main/res/layout/settings.xml
@@ -1,14 +1,27 @@
+
+
+
+
+
+ android:paddingBottom="?attr/actionBarSize"
+ app:layout_behavior="@string/appbar_scrolling_view_behavior">
+ android:paddingBottom="@dimen/m3_bottom_nav_min_height">
+ android:layout_height="match_parent">
+
+
+
+
+
+ android:paddingBottom="?attr/actionBarSize"
+ app:layout_behavior="@string/appbar_scrolling_view_behavior">
+ android:paddingBottom="0dp">
+ android:layout_weight="3" />
@@ -92,16 +106,32 @@ limitations under the License.
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
- app:fabAlignmentMode="end"
- app:logo="@drawable/ic_logo_color_24dp"
- app:menu="@menu/track_list" />
+ app:fabAlignmentMode="end">
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/res/menu/list_context_menu.xml b/src/main/res/menu/list_context_menu.xml
index 3abebcc3a..5bb3e3f88 100644
--- a/src/main/res/menu/list_context_menu.xml
+++ b/src/main/res/menu/list_context_menu.xml
@@ -35,11 +35,6 @@ limitations under the License.
android:icon="@drawable/ic_delete_forever_24dp"
android:title="@string/menu_delete"
app:showAsAction="ifRoom" />
-
-
\ No newline at end of file
diff --git a/src/main/res/values-night/themes_custom.xml b/src/main/res/values-night/themes_custom.xml
index 58dd83cf3..59c5a4ceb 100644
--- a/src/main/res/values-night/themes_custom.xml
+++ b/src/main/res/values-night/themes_custom.xml
@@ -1,22 +1,18 @@
-
-
+
- @android:color/white
+
-
diff --git a/src/main/res/values/colors.xml b/src/main/res/values/colors.xml
index e8d0adc43..25de1dad2 100644
--- a/src/main/res/values/colors.xml
+++ b/src/main/res/values/colors.xml
@@ -22,12 +22,6 @@ limitations under the License.
#55FF6D00
@android:color/white
- #f5f5f5
- @android:color/black
-
- @android:color/black
- @android:color/white
-
#FFF128F3
#40F128F3
diff --git a/src/main/res/values/styles.xml b/src/main/res/values/styles.xml
index 913d89b6b..99922e734 100644
--- a/src/main/res/values/styles.xml
+++ b/src/main/res/values/styles.xml
@@ -16,7 +16,7 @@ limitations under the License.
-
-
-
-
-
diff --git a/src/main/res/values/type.xml b/src/main/res/values/type.xml
index ecb916416..8baa2fe5c 100644
--- a/src/main/res/values/type.xml
+++ b/src/main/res/values/type.xml
@@ -1,4 +1,5 @@
+
-
-
\ No newline at end of file