Loading app/build.gradle +7 −3 Original line number Diff line number Diff line Loading @@ -35,11 +35,15 @@ android { disable 'GoogleAppIndexingWarning' disable 'MissingTranslation' } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } } dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation fileTree(include: ['*.jar'], dir: 'libs') testImplementation 'junit:junit:4.12' implementation 'androidx.appcompat:appcompat:1.1.0-alpha01' implementation 'androidx.preference:preference:1.1.0-alpha02' implementation 'androidx.appcompat:appcompat:1.1.0-alpha03' implementation 'androidx.preference:preference:1.1.0-alpha04' } app/src/main/java/net/fabiszewski/ulogger/Alert.java +2 −10 Original line number Diff line number Diff line Loading @@ -31,11 +31,7 @@ class Alert { AlertDialog alertDialog = initDialog(context, title, message); alertDialog.setButton(AlertDialog.BUTTON_POSITIVE, context.getString(R.string.ok), yesCallback); alertDialog.setButton(AlertDialog.BUTTON_NEGATIVE, context.getString(R.string.cancel), new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); } }); (dialog, which) -> dialog.dismiss()); alertDialog.show(); } Loading @@ -48,11 +44,7 @@ class Alert { static void showInfo(Context context, CharSequence title, CharSequence message) { AlertDialog alertDialog = initDialog(context, title, message); alertDialog.setButton(AlertDialog.BUTTON_NEUTRAL, context.getString(R.string.ok), new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); } }); (dialog, which) -> dialog.dismiss()); alertDialog.show(); } Loading app/src/main/java/net/fabiszewski/ulogger/GpxExportService.java +20 −37 Original line number Diff line number Diff line Loading @@ -18,9 +18,6 @@ import android.os.Environment; import android.util.Log; import android.util.Xml; import androidx.annotation.NonNull; import androidx.core.app.ActivityCompat; import org.xmlpull.v1.XmlSerializer; import java.io.File; Loading @@ -28,6 +25,9 @@ import java.io.FileOutputStream; import java.io.IOException; import java.io.StringWriter; import androidx.annotation.NonNull; import androidx.core.app.ActivityCompat; /** * Export track to GPX format */ Loading Loading @@ -96,8 +96,6 @@ public class GpxExportService extends IntentService { return; } FileOutputStream fileOutputStream = null; try { String trackName = db.getTrackName(); if (trackName == null) { trackName = getString(R.string.unknown_track); Loading @@ -114,7 +112,7 @@ public class GpxExportService extends IntentService { file = getFile(dir, trackName + "_" + (++i)); } fileOutputStream = new FileOutputStream(file); try (FileOutputStream fileOutputStream = new FileOutputStream(file)) { XmlSerializer serializer = Xml.newSerializer(); StringWriter writer = new StringWriter(); Loading Loading @@ -160,15 +158,6 @@ public class GpxExportService extends IntentService { } catch (IOException|IllegalArgumentException|IllegalStateException e) { if (Logger.DEBUG) { Log.d(TAG, "[export gpx exception: " + e + "]"); } sendBroadcast(BROADCAST_EXPORT_FAILED, e.getMessage()); } finally { if (fileOutputStream != null) { try { fileOutputStream.close(); } catch (IOException e) { if (Logger.DEBUG) { Log.d(TAG, "[export gpx exception: " + e + "]"); } sendBroadcast(BROADCAST_EXPORT_FAILED, e.getMessage()); } } } } Loading @@ -184,11 +173,7 @@ public class GpxExportService extends IntentService { private void writePositions(@NonNull XmlSerializer serializer) throws IOException, IllegalArgumentException, IllegalStateException { Cursor cursor = db.getPositions(); // suppress as it requires target api 19 //noinspection TryFinallyCanBeTryWithResources try { try (Cursor cursor = db.getPositions()) { serializer.startTag(null, "trkseg"); while (cursor.moveToNext()) { serializer.startTag(null, "trkpt"); Loading Loading @@ -219,8 +204,6 @@ public class GpxExportService extends IntentService { serializer.endTag(null, "trkpt"); } serializer.endTag(null, "trkseg"); } finally { cursor.close(); } } Loading app/src/main/java/net/fabiszewski/ulogger/ListWithEditTextPreference.java +10 −19 Original line number Diff line number Diff line Loading @@ -16,7 +16,6 @@ import android.content.SharedPreferences; import android.content.res.TypedArray; import android.util.AttributeSet; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; Loading Loading @@ -138,9 +137,7 @@ class ListWithEditTextPreference extends ListPreference implements Preference.On final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); editText.setText(prefs.getString(key, "")); editText.setHint(prefs.getString(key, "")); submit.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { submit.setOnClickListener(v -> { String newval = editText.getText().toString(); if (newval.length() > 0 && Integer.valueOf(newval) >= 0) { SharedPreferences.Editor editor = prefs.edit(); Loading @@ -150,15 +147,9 @@ class ListWithEditTextPreference extends ListPreference implements Preference.On if (Logger.DEBUG) { Log.d(TAG, "[" + key + " set to " + newval + "]"); } } dialog.cancel(); } }); cancel.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { dialog.cancel(); } }); cancel.setOnClickListener(v -> dialog.cancel()); } /** Loading app/src/main/java/net/fabiszewski/ulogger/MainActivity.java +28 −53 Original line number Diff line number Diff line Loading @@ -12,16 +12,15 @@ package net.fabiszewski.ulogger; import android.Manifest; import android.content.BroadcastReceiver; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.content.IntentFilter; import android.content.SharedPreferences; import android.content.pm.PackageManager; import android.graphics.PorterDuff; import android.graphics.drawable.Drawable; import android.os.Bundle; import android.os.SystemClock; import android.preference.PreferenceManager; import android.os.Bundle; import android.util.Log; import android.view.Menu; import android.view.MenuItem; Loading @@ -31,15 +30,6 @@ import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; import androidx.annotation.NonNull; import androidx.core.app.ActivityCompat; import androidx.core.content.ContextCompat; import androidx.appcompat.app.AlertDialog; import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.widget.Toolbar; import androidx.core.text.HtmlCompat; import androidx.core.widget.TextViewCompat; import java.text.NumberFormat; import java.text.SimpleDateFormat; import java.util.Calendar; Loading @@ -47,7 +37,17 @@ import java.util.Date; import java.util.Locale; import java.util.TimeZone; import static net.fabiszewski.ulogger.Alert.*; import androidx.annotation.NonNull; import androidx.appcompat.app.AlertDialog; import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.widget.Toolbar; import androidx.core.app.ActivityCompat; import androidx.core.content.ContextCompat; import androidx.core.text.HtmlCompat; import androidx.core.widget.TextViewCompat; import static net.fabiszewski.ulogger.Alert.showAlert; import static net.fabiszewski.ulogger.Alert.showConfirm; /** * Main activity of ulogger Loading Loading @@ -353,12 +353,7 @@ public class MainActivity extends AppCompatActivity { R.drawable.ic_equalizer_white_24dp); final Button okButton = dialog.findViewById(R.id.summary_button_ok); if (okButton != null) { okButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { dialog.dismiss(); } }); okButton.setOnClickListener(v -> dialog.dismiss()); } final TextView summaryDistance = dialog.findViewById(R.id.summary_distance); final TextView summaryDuration = dialog.findViewById(R.id.summary_duration); Loading Loading @@ -429,12 +424,7 @@ public class MainActivity extends AppCompatActivity { } final Button okButton = dialog.findViewById(R.id.about_button_ok); if (okButton != null) { okButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { dialog.dismiss(); } }); okButton.setOnClickListener(v -> dialog.dismiss()); } } Loading @@ -445,12 +435,10 @@ public class MainActivity extends AppCompatActivity { showConfirm(MainActivity.this, getString(R.string.warning), getString(R.string.notsync_warning), new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { (dialog, which) -> { dialog.dismiss(); showTrackDialog(); } } ); } Loading @@ -473,18 +461,11 @@ public class MainActivity extends AppCompatActivity { return; } editText.setText(DbAccess.getAutoTrackName()); editText.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { editText.selectAll(); } }); editText.setOnClickListener(view -> editText.selectAll()); final Button submit = dialog.findViewById(R.id.newtrack_button_submit); if (submit != null) { submit.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { submit.setOnClickListener(v -> { String trackName = editText.getText().toString(); if (trackName.length() == 0) { return; Loading @@ -494,18 +475,12 @@ public class MainActivity extends AppCompatActivity { updateTrackLabel(trackName); updateStatus(); dialog.cancel(); } }); } final Button cancel = dialog.findViewById(R.id.newtrack_button_cancel); if (cancel != null) { cancel.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { dialog.cancel(); } }); cancel.setOnClickListener(v -> dialog.cancel()); } } Loading Loading
app/build.gradle +7 −3 Original line number Diff line number Diff line Loading @@ -35,11 +35,15 @@ android { disable 'GoogleAppIndexingWarning' disable 'MissingTranslation' } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } } dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation fileTree(include: ['*.jar'], dir: 'libs') testImplementation 'junit:junit:4.12' implementation 'androidx.appcompat:appcompat:1.1.0-alpha01' implementation 'androidx.preference:preference:1.1.0-alpha02' implementation 'androidx.appcompat:appcompat:1.1.0-alpha03' implementation 'androidx.preference:preference:1.1.0-alpha04' }
app/src/main/java/net/fabiszewski/ulogger/Alert.java +2 −10 Original line number Diff line number Diff line Loading @@ -31,11 +31,7 @@ class Alert { AlertDialog alertDialog = initDialog(context, title, message); alertDialog.setButton(AlertDialog.BUTTON_POSITIVE, context.getString(R.string.ok), yesCallback); alertDialog.setButton(AlertDialog.BUTTON_NEGATIVE, context.getString(R.string.cancel), new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); } }); (dialog, which) -> dialog.dismiss()); alertDialog.show(); } Loading @@ -48,11 +44,7 @@ class Alert { static void showInfo(Context context, CharSequence title, CharSequence message) { AlertDialog alertDialog = initDialog(context, title, message); alertDialog.setButton(AlertDialog.BUTTON_NEUTRAL, context.getString(R.string.ok), new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); } }); (dialog, which) -> dialog.dismiss()); alertDialog.show(); } Loading
app/src/main/java/net/fabiszewski/ulogger/GpxExportService.java +20 −37 Original line number Diff line number Diff line Loading @@ -18,9 +18,6 @@ import android.os.Environment; import android.util.Log; import android.util.Xml; import androidx.annotation.NonNull; import androidx.core.app.ActivityCompat; import org.xmlpull.v1.XmlSerializer; import java.io.File; Loading @@ -28,6 +25,9 @@ import java.io.FileOutputStream; import java.io.IOException; import java.io.StringWriter; import androidx.annotation.NonNull; import androidx.core.app.ActivityCompat; /** * Export track to GPX format */ Loading Loading @@ -96,8 +96,6 @@ public class GpxExportService extends IntentService { return; } FileOutputStream fileOutputStream = null; try { String trackName = db.getTrackName(); if (trackName == null) { trackName = getString(R.string.unknown_track); Loading @@ -114,7 +112,7 @@ public class GpxExportService extends IntentService { file = getFile(dir, trackName + "_" + (++i)); } fileOutputStream = new FileOutputStream(file); try (FileOutputStream fileOutputStream = new FileOutputStream(file)) { XmlSerializer serializer = Xml.newSerializer(); StringWriter writer = new StringWriter(); Loading Loading @@ -160,15 +158,6 @@ public class GpxExportService extends IntentService { } catch (IOException|IllegalArgumentException|IllegalStateException e) { if (Logger.DEBUG) { Log.d(TAG, "[export gpx exception: " + e + "]"); } sendBroadcast(BROADCAST_EXPORT_FAILED, e.getMessage()); } finally { if (fileOutputStream != null) { try { fileOutputStream.close(); } catch (IOException e) { if (Logger.DEBUG) { Log.d(TAG, "[export gpx exception: " + e + "]"); } sendBroadcast(BROADCAST_EXPORT_FAILED, e.getMessage()); } } } } Loading @@ -184,11 +173,7 @@ public class GpxExportService extends IntentService { private void writePositions(@NonNull XmlSerializer serializer) throws IOException, IllegalArgumentException, IllegalStateException { Cursor cursor = db.getPositions(); // suppress as it requires target api 19 //noinspection TryFinallyCanBeTryWithResources try { try (Cursor cursor = db.getPositions()) { serializer.startTag(null, "trkseg"); while (cursor.moveToNext()) { serializer.startTag(null, "trkpt"); Loading Loading @@ -219,8 +204,6 @@ public class GpxExportService extends IntentService { serializer.endTag(null, "trkpt"); } serializer.endTag(null, "trkseg"); } finally { cursor.close(); } } Loading
app/src/main/java/net/fabiszewski/ulogger/ListWithEditTextPreference.java +10 −19 Original line number Diff line number Diff line Loading @@ -16,7 +16,6 @@ import android.content.SharedPreferences; import android.content.res.TypedArray; import android.util.AttributeSet; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; Loading Loading @@ -138,9 +137,7 @@ class ListWithEditTextPreference extends ListPreference implements Preference.On final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); editText.setText(prefs.getString(key, "")); editText.setHint(prefs.getString(key, "")); submit.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { submit.setOnClickListener(v -> { String newval = editText.getText().toString(); if (newval.length() > 0 && Integer.valueOf(newval) >= 0) { SharedPreferences.Editor editor = prefs.edit(); Loading @@ -150,15 +147,9 @@ class ListWithEditTextPreference extends ListPreference implements Preference.On if (Logger.DEBUG) { Log.d(TAG, "[" + key + " set to " + newval + "]"); } } dialog.cancel(); } }); cancel.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { dialog.cancel(); } }); cancel.setOnClickListener(v -> dialog.cancel()); } /** Loading
app/src/main/java/net/fabiszewski/ulogger/MainActivity.java +28 −53 Original line number Diff line number Diff line Loading @@ -12,16 +12,15 @@ package net.fabiszewski.ulogger; import android.Manifest; import android.content.BroadcastReceiver; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.content.IntentFilter; import android.content.SharedPreferences; import android.content.pm.PackageManager; import android.graphics.PorterDuff; import android.graphics.drawable.Drawable; import android.os.Bundle; import android.os.SystemClock; import android.preference.PreferenceManager; import android.os.Bundle; import android.util.Log; import android.view.Menu; import android.view.MenuItem; Loading @@ -31,15 +30,6 @@ import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; import androidx.annotation.NonNull; import androidx.core.app.ActivityCompat; import androidx.core.content.ContextCompat; import androidx.appcompat.app.AlertDialog; import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.widget.Toolbar; import androidx.core.text.HtmlCompat; import androidx.core.widget.TextViewCompat; import java.text.NumberFormat; import java.text.SimpleDateFormat; import java.util.Calendar; Loading @@ -47,7 +37,17 @@ import java.util.Date; import java.util.Locale; import java.util.TimeZone; import static net.fabiszewski.ulogger.Alert.*; import androidx.annotation.NonNull; import androidx.appcompat.app.AlertDialog; import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.widget.Toolbar; import androidx.core.app.ActivityCompat; import androidx.core.content.ContextCompat; import androidx.core.text.HtmlCompat; import androidx.core.widget.TextViewCompat; import static net.fabiszewski.ulogger.Alert.showAlert; import static net.fabiszewski.ulogger.Alert.showConfirm; /** * Main activity of ulogger Loading Loading @@ -353,12 +353,7 @@ public class MainActivity extends AppCompatActivity { R.drawable.ic_equalizer_white_24dp); final Button okButton = dialog.findViewById(R.id.summary_button_ok); if (okButton != null) { okButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { dialog.dismiss(); } }); okButton.setOnClickListener(v -> dialog.dismiss()); } final TextView summaryDistance = dialog.findViewById(R.id.summary_distance); final TextView summaryDuration = dialog.findViewById(R.id.summary_duration); Loading Loading @@ -429,12 +424,7 @@ public class MainActivity extends AppCompatActivity { } final Button okButton = dialog.findViewById(R.id.about_button_ok); if (okButton != null) { okButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { dialog.dismiss(); } }); okButton.setOnClickListener(v -> dialog.dismiss()); } } Loading @@ -445,12 +435,10 @@ public class MainActivity extends AppCompatActivity { showConfirm(MainActivity.this, getString(R.string.warning), getString(R.string.notsync_warning), new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { (dialog, which) -> { dialog.dismiss(); showTrackDialog(); } } ); } Loading @@ -473,18 +461,11 @@ public class MainActivity extends AppCompatActivity { return; } editText.setText(DbAccess.getAutoTrackName()); editText.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { editText.selectAll(); } }); editText.setOnClickListener(view -> editText.selectAll()); final Button submit = dialog.findViewById(R.id.newtrack_button_submit); if (submit != null) { submit.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { submit.setOnClickListener(v -> { String trackName = editText.getText().toString(); if (trackName.length() == 0) { return; Loading @@ -494,18 +475,12 @@ public class MainActivity extends AppCompatActivity { updateTrackLabel(trackName); updateStatus(); dialog.cancel(); } }); } final Button cancel = dialog.findViewById(R.id.newtrack_button_cancel); if (cancel != null) { cancel.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { dialog.cancel(); } }); cancel.setOnClickListener(v -> dialog.cancel()); } } Loading