Skip to content

Commit 2883bd8

Browse files
Update to v3.2.0
2 parents 201673c + 6f2e17d commit 2883bd8

79 files changed

Lines changed: 1342 additions & 163 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

apk/GPSLogger-3.2.0.apk

5.03 MB
Binary file not shown.

apk/GPSLogger-latest.apk

46.4 KB
Binary file not shown.

app/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@ android {
3333

3434
// -----------------------------------------------------------------------------------------
3535
// We use the Semantic Versioning (https://semver.org/):
36-
versionName '3.1.7'
37-
versionCode 48
36+
versionName '3.2.0'
37+
versionCode 49
3838
// -----------------------------------------------------------------------------------------
3939

4040
vectorDrawables.useSupportLibrary = true

app/src/main/java/eu/basicairdata/graziano/gpslogger/EventBusMSG.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ public class EventBusMSG {
4040
static final short NOTIFY_TRACKS_DELETED = 14; // Notify that some tracks are deleted
4141
static final short UPDATE_ACTIONBAR = 15; // Notify that the actionbar must be updated
4242
static final short REFRESH_TRACKLIST = 16; // Refresh the tracklist, without update it from DB
43+
static final short REFRESH_TRACKTYPE = 17; // Refresh the track type on the Edit Details dialog
4344

4445
static final short TRACKLIST_DESELECT = 24; // The user deselect (into the tracklist) the track with a given id
4546
static final short TRACKLIST_SELECT = 25; // The user select (into the tracklist) the track with a given id

app/src/main/java/eu/basicairdata/graziano/gpslogger/Exporter.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -371,6 +371,11 @@ public void run() {
371371
if (track.getEstimatedTrackType() != NOT_AVAILABLE)
372372
gpxBW.write("<!-- Activity = " + Track.ACTIVITY_DESCRIPTION[track.getEstimatedTrackType()] + " -->" + newLine);
373373

374+
gpxBW.write("<!-- Altitudes = "
375+
+ (egmAltitudeCorrection ? "Corrected using EGM96 grid (bilinear interpolation)" : "Raw")
376+
+ (altitudeManualCorrection == 0 ? "" : (", " + (String.format(Locale.US, "%+.3f", altitudeManualCorrection) + "m of manual offset")))
377+
+ " -->" + newLine);
378+
374379
gpxBW.write(newLine);
375380
}
376381

@@ -512,7 +517,7 @@ public void run() {
512517
dfdtTXT.format(loc.getLocation().getTime()))
513518
+ "," + formattedLatitude + "," + formattedLongitude + ",");
514519
if (loc.getLocation().hasAccuracy())
515-
txtBW.write(String.format(Locale.US, "%.0f", loc.getLocation().getAccuracy()));
520+
txtBW.write(String.format(Locale.US, "%.2f", loc.getLocation().getAccuracy()));
516521
txtBW.write(",");
517522
if (loc.getLocation().hasAltitude())
518523
txtBW.write(formattedAltitude);
@@ -670,7 +675,7 @@ public void run() {
670675
dfdtTXT.format(loc.getLocation().getTime()))
671676
+ "," + formattedLatitude + "," + formattedLongitude + ",");
672677
if (loc.getLocation().hasAccuracy())
673-
txtBW.write(String.format(Locale.US, "%.0f", loc.getLocation().getAccuracy()));
678+
txtBW.write(String.format(Locale.US, "%.2f", loc.getLocation().getAccuracy()));
674679
txtBW.write(",");
675680
if (loc.getLocation().hasAltitude())
676681
txtBW.write(formattedAltitude);

app/src/main/java/eu/basicairdata/graziano/gpslogger/FragmentGPSFix.java

Lines changed: 37 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,12 @@
2222

2323
package eu.basicairdata.graziano.gpslogger;
2424

25+
import static android.content.Context.CLIPBOARD_SERVICE;
2526
import static android.content.Context.POWER_SERVICE;
2627

2728
import android.Manifest;
29+
import android.content.ClipData;
30+
import android.content.ClipboardManager;
2831
import android.content.Intent;
2932
import android.content.pm.PackageManager;
3033
import android.content.res.Configuration;
@@ -37,16 +40,17 @@
3740

3841
import android.os.PowerManager;
3942
import android.provider.Settings;
43+
import android.view.Gravity;
4044
import android.view.LayoutInflater;
4145
import android.view.View;
4246
import android.view.ViewGroup;
4347
import android.view.ViewTreeObserver;
4448
import android.widget.FrameLayout;
45-
import android.widget.ImageButton;
4649
import android.widget.ImageView;
4750
import android.widget.LinearLayout;
4851
import android.widget.TableLayout;
4952
import android.widget.TextView;
53+
import android.widget.Toast;
5054

5155
import java.util.Locale;
5256

@@ -61,6 +65,7 @@
6165
import static eu.basicairdata.graziano.gpslogger.GPSApplication.GPS_SEARCHING;
6266
import static eu.basicairdata.graziano.gpslogger.GPSApplication.GPS_STABILIZING;
6367
import static eu.basicairdata.graziano.gpslogger.GPSApplication.GPS_OK;
68+
import static eu.basicairdata.graziano.gpslogger.GPSApplication.TOAST_VERTICAL_OFFSET;
6469

6570
/**
6671
* The Fragment that displays the information of the Fix
@@ -102,6 +107,8 @@ public class FragmentGPSFix extends Fragment {
102107
private CardView cvWarningBatteryOptimised;
103108
private LinearLayout llTimeSatellites;
104109
private ImageView iwWarningBatteryOptimisedClose;
110+
private ImageView iwCopyCoordinatesToClipboard;
111+
105112

106113
private PhysicalData phdLatitude;
107114
private PhysicalData phdLongitude;
@@ -208,6 +215,7 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container,
208215
// ImageViews
209216

210217
iwWarningBatteryOptimisedClose = view.findViewById(R.id.id_warning_battery_optimised_close);
218+
iwCopyCoordinatesToClipboard = view.findViewById(R.id.id_coordinates_copy);
211219

212220
// LinearLayouts
213221
llTimeSatellites = view.findViewById(R.id.id_linearLayout_Time_Satellites);
@@ -239,6 +247,34 @@ public void onClick(View v) {
239247
}
240248
});
241249

250+
iwCopyCoordinatesToClipboard.setOnClickListener(new View.OnClickListener() {
251+
@Override
252+
public void onClick(View v) {
253+
ClipboardManager clipboard = (ClipboardManager) getActivity().getSystemService(CLIPBOARD_SERVICE);
254+
// Coordinates GG°MM'SS.SSSS"
255+
// ClipData clip = ClipData.newPlainText("Coordinates",
256+
// Location.convert(Math.abs(location.getLatitude()), Location.FORMAT_SECONDS)
257+
// .replaceFirst(":", "°")
258+
// .replaceFirst(":", "'")
259+
// .concat(location.getLatitude() >= 0 ? "\"N " : "\"S ")
260+
// + Location.convert(Math.abs(location.getLongitude()), Location.FORMAT_SECONDS)
261+
// .replaceFirst(":", "°")
262+
// .replaceFirst(":", "'")
263+
// .concat(location.getLongitude() >= 0 ? "\"E" : "\"W"));
264+
// Coordinates GG.GGGGGGGGG, to be preferred
265+
ClipData clip = ClipData.newPlainText("Coordinates",
266+
String.format(Locale.getDefault(), "%.9f", location.getLatitude())
267+
+ ", "
268+
+ String.format(Locale.getDefault(), "%.9f", location.getLongitude())
269+
);
270+
clipboard.setPrimaryClip(clip);
271+
Toast toast = Toast.makeText(gpsApp.getApplicationContext(),
272+
gpsApp.getString(R.string.toast_coordinates_copied_to_clipboard), Toast.LENGTH_SHORT);
273+
toast.setGravity(Gravity.BOTTOM, 0, TOAST_VERTICAL_OFFSET);
274+
toast.show();
275+
}
276+
});
277+
242278
cvWarningBackgroundRestricted.setOnClickListener(new View.OnClickListener() {
243279
@Override
244280
public void onClick(View v) {

0 commit comments

Comments
 (0)