Loading app/src/main/java/net/fabiszewski/ulogger/DbAccess.java +22 −2 Original line number Diff line number Diff line Loading @@ -484,8 +484,7 @@ class DbAccess implements AutoCloseable { * @param name New track name */ private void newTrack(String name) { truncateTrack(); truncatePositions(); clear(); ContentValues values = new ContentValues(); values.put(DbContract.Track.COLUMN_NAME, name); db.insert(DbContract.Track.TABLE_NAME, null, values); Loading @@ -505,6 +504,27 @@ class DbAccess implements AutoCloseable { } } /** * Truncate all tables */ private void clear() { truncateTrack(); truncatePositions(); } /** * Clear track. * Deletes all track data and positions. * * @param context Context */ static void clearTrack(Context context) { try (DbAccess dbAccess = getOpenInstance(context)) { ImageHelper.clearTrackImages(context); dbAccess.clear(); } } /** * Set up new track with default name if there is no active track. Loading app/src/main/java/net/fabiszewski/ulogger/MainActivity.java +26 −1 Original line number Diff line number Diff line Loading @@ -28,10 +28,12 @@ import androidx.appcompat.app.AlertDialog; import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.widget.Toolbar; import androidx.core.text.HtmlCompat; import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentManager; import androidx.preference.PreferenceManager; import static net.fabiszewski.ulogger.Alert.showAlert; import static net.fabiszewski.ulogger.Alert.showConfirm; import static net.fabiszewski.ulogger.GpxExportService.GPX_EXTENSION; import static net.fabiszewski.ulogger.GpxExportService.GPX_MIME; Loading Loading @@ -139,13 +141,15 @@ public class MainActivity extends AppCompatActivity case R.id.menu_export: startExport(); return true; case R.id.menu_clear: clearTrack(); return true; case android.R.id.home: onBackPressed(); return true; default: return super.onOptionsItemSelected(item); } } Loading Loading @@ -217,6 +221,27 @@ public class MainActivity extends AppCompatActivity } private void clearTrack() { if (LoggerService.isRunning()) { showToast(getString(R.string.logger_running_warning)); return; } if (DbAccess.getTrackName(MainActivity.this) != null) { showConfirm(MainActivity.this, getString(R.string.warning), getString(R.string.clear_warning), (dialog, which) -> { dialog.dismiss(); DbAccess.clearTrack(MainActivity.this); LoggerService.resetLastLocation(); Fragment currentFragment = getSupportFragmentManager().findFragmentById(R.id.fragment_placeholder); if (currentFragment instanceof MainFragment) { currentFragment.onResume(); } } ); } } /** * Display toast message Loading app/src/main/java/net/fabiszewski/ulogger/MainFragment.java +4 −4 Original line number Diff line number Diff line Loading @@ -33,6 +33,7 @@ import android.widget.TextView; import android.widget.Toast; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.appcompat.app.AlertDialog; import androidx.core.app.ActivityCompat; import androidx.core.content.ContextCompat; Loading Loading @@ -149,9 +150,7 @@ public class MainFragment extends Fragment { Context context = getContext(); if (context != null) { String trackName = DbAccess.getTrackName(context); if (trackName != null) { updateTrackLabel(trackName); } if (LoggerService.isRunning()) { switchLogger.setChecked(true); Loading Loading @@ -384,10 +383,11 @@ public class MainFragment extends Fragment { * Update track name label * @param trackName Track name */ private void updateTrackLabel(String trackName) { private void updateTrackLabel(@Nullable String trackName) { View view = getView(); if (view != null) { final TextView trackLabel = view.findViewById(R.id.newtrack_label); trackName = trackName == null ? "-" : trackName; trackLabel.setText(trackName); } } Loading app/src/main/res/drawable/ic_delete_forever_white_24dp.xml 0 → 100644 +14 −0 Original line number Diff line number Diff line <!-- ~ Copyright (c) 2020 Bartek Fabiszewski ~ http://www.fabiszewski.net ~ ~ This file is part of μlogger-android. ~ Licensed under GPL, either version 3, or any later. ~ See <http://www.gnu.org/licenses/> --> <vector android:height="24dp" android:tint="#FFFFFF" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"> <path android:fillColor="@android:color/white" android:pathData="M6,19c0,1.1 0.9,2 2,2h8c1.1,0 2,-0.9 2,-2L18,7L6,7v12zM8.46,11.88l1.41,-1.41L12,12.59l2.12,-2.12 1.41,1.41L13.41,14l2.12,2.12 -1.41,1.41L12,15.41l-2.12,2.12 -1.41,-1.41L10.59,14l-2.13,-2.12zM15.5,4l-1,-1h-5l-1,1L5,4v2h14L19,4z"/> </vector> app/src/main/res/menu/menu_main.xml +6 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,12 @@ android:tint="@android:color/background_light" android:title="@string/export" app:showAsAction="ifRoom" /> <item android:id="@+id/menu_clear" android:icon="@drawable/ic_delete_forever_white_24dp" android:tint="@android:color/background_light" android:title="@string/clear" app:showAsAction="ifRoom" /> <item android:id="@+id/menu_about" android:icon="@drawable/ic_info_white_24dp" Loading Loading
app/src/main/java/net/fabiszewski/ulogger/DbAccess.java +22 −2 Original line number Diff line number Diff line Loading @@ -484,8 +484,7 @@ class DbAccess implements AutoCloseable { * @param name New track name */ private void newTrack(String name) { truncateTrack(); truncatePositions(); clear(); ContentValues values = new ContentValues(); values.put(DbContract.Track.COLUMN_NAME, name); db.insert(DbContract.Track.TABLE_NAME, null, values); Loading @@ -505,6 +504,27 @@ class DbAccess implements AutoCloseable { } } /** * Truncate all tables */ private void clear() { truncateTrack(); truncatePositions(); } /** * Clear track. * Deletes all track data and positions. * * @param context Context */ static void clearTrack(Context context) { try (DbAccess dbAccess = getOpenInstance(context)) { ImageHelper.clearTrackImages(context); dbAccess.clear(); } } /** * Set up new track with default name if there is no active track. Loading
app/src/main/java/net/fabiszewski/ulogger/MainActivity.java +26 −1 Original line number Diff line number Diff line Loading @@ -28,10 +28,12 @@ import androidx.appcompat.app.AlertDialog; import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.widget.Toolbar; import androidx.core.text.HtmlCompat; import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentManager; import androidx.preference.PreferenceManager; import static net.fabiszewski.ulogger.Alert.showAlert; import static net.fabiszewski.ulogger.Alert.showConfirm; import static net.fabiszewski.ulogger.GpxExportService.GPX_EXTENSION; import static net.fabiszewski.ulogger.GpxExportService.GPX_MIME; Loading Loading @@ -139,13 +141,15 @@ public class MainActivity extends AppCompatActivity case R.id.menu_export: startExport(); return true; case R.id.menu_clear: clearTrack(); return true; case android.R.id.home: onBackPressed(); return true; default: return super.onOptionsItemSelected(item); } } Loading Loading @@ -217,6 +221,27 @@ public class MainActivity extends AppCompatActivity } private void clearTrack() { if (LoggerService.isRunning()) { showToast(getString(R.string.logger_running_warning)); return; } if (DbAccess.getTrackName(MainActivity.this) != null) { showConfirm(MainActivity.this, getString(R.string.warning), getString(R.string.clear_warning), (dialog, which) -> { dialog.dismiss(); DbAccess.clearTrack(MainActivity.this); LoggerService.resetLastLocation(); Fragment currentFragment = getSupportFragmentManager().findFragmentById(R.id.fragment_placeholder); if (currentFragment instanceof MainFragment) { currentFragment.onResume(); } } ); } } /** * Display toast message Loading
app/src/main/java/net/fabiszewski/ulogger/MainFragment.java +4 −4 Original line number Diff line number Diff line Loading @@ -33,6 +33,7 @@ import android.widget.TextView; import android.widget.Toast; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.appcompat.app.AlertDialog; import androidx.core.app.ActivityCompat; import androidx.core.content.ContextCompat; Loading Loading @@ -149,9 +150,7 @@ public class MainFragment extends Fragment { Context context = getContext(); if (context != null) { String trackName = DbAccess.getTrackName(context); if (trackName != null) { updateTrackLabel(trackName); } if (LoggerService.isRunning()) { switchLogger.setChecked(true); Loading Loading @@ -384,10 +383,11 @@ public class MainFragment extends Fragment { * Update track name label * @param trackName Track name */ private void updateTrackLabel(String trackName) { private void updateTrackLabel(@Nullable String trackName) { View view = getView(); if (view != null) { final TextView trackLabel = view.findViewById(R.id.newtrack_label); trackName = trackName == null ? "-" : trackName; trackLabel.setText(trackName); } } Loading
app/src/main/res/drawable/ic_delete_forever_white_24dp.xml 0 → 100644 +14 −0 Original line number Diff line number Diff line <!-- ~ Copyright (c) 2020 Bartek Fabiszewski ~ http://www.fabiszewski.net ~ ~ This file is part of μlogger-android. ~ Licensed under GPL, either version 3, or any later. ~ See <http://www.gnu.org/licenses/> --> <vector android:height="24dp" android:tint="#FFFFFF" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"> <path android:fillColor="@android:color/white" android:pathData="M6,19c0,1.1 0.9,2 2,2h8c1.1,0 2,-0.9 2,-2L18,7L6,7v12zM8.46,11.88l1.41,-1.41L12,12.59l2.12,-2.12 1.41,1.41L13.41,14l2.12,2.12 -1.41,1.41L12,15.41l-2.12,2.12 -1.41,-1.41L10.59,14l-2.13,-2.12zM15.5,4l-1,-1h-5l-1,1L5,4v2h14L19,4z"/> </vector>
app/src/main/res/menu/menu_main.xml +6 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,12 @@ android:tint="@android:color/background_light" android:title="@string/export" app:showAsAction="ifRoom" /> <item android:id="@+id/menu_clear" android:icon="@drawable/ic_delete_forever_white_24dp" android:tint="@android:color/background_light" android:title="@string/clear" app:showAsAction="ifRoom" /> <item android:id="@+id/menu_about" android:icon="@drawable/ic_info_white_24dp" Loading