diff --git a/app/src/main/java/de/tadris/fitness/activity/RecordWorkoutActivity.java b/app/src/main/java/de/tadris/fitness/activity/RecordWorkoutActivity.java index 12bd640..50e6c7e 100644 --- a/app/src/main/java/de/tadris/fitness/activity/RecordWorkoutActivity.java +++ b/app/src/main/java/de/tadris/fitness/activity/RecordWorkoutActivity.java @@ -20,6 +20,7 @@ package de.tadris.fitness.activity; import android.Manifest; +import android.animation.Animator; import android.app.AlertDialog; import android.content.Context; import android.content.Intent; @@ -32,6 +33,7 @@ import android.os.Handler; import android.os.PowerManager; import android.view.Menu; import android.view.MenuItem; +import android.view.View; import android.view.ViewGroup; import android.widget.EditText; import android.widget.TextView; @@ -71,6 +73,8 @@ public class RecordWorkoutActivity extends FitoTrackActivity implements Location List latLongList= new ArrayList<>(); InfoViewHolder[] infoViews= new InfoViewHolder[4]; TextView timeView, gpsStatusView; + View waitingForGPSOverlay; + boolean gpsFound= false; boolean isResumed= false; private Handler mHandler= new Handler(); PowerManager.WakeLock wakeLock; @@ -89,6 +93,8 @@ public class RecordWorkoutActivity extends FitoTrackActivity implements Location setupMap(); ((ViewGroup)findViewById(R.id.recordMapViewrRoot)).addView(mapView); + waitingForGPSOverlay= findViewById(R.id.recorderWaitingOverlay); + waitingForGPSOverlay.setVisibility(View.VISIBLE); checkPermissions(); @@ -119,6 +125,20 @@ public class RecordWorkoutActivity extends FitoTrackActivity implements Location wakeLock.acquire(1000*60*120); } + private void hideWaitOverlay(){ + waitingForGPSOverlay.clearAnimation(); + waitingForGPSOverlay.animate().alpha(0f).setDuration(1000).setListener(new Animator.AnimatorListener() { + @Override public void onAnimationStart(Animator animator) { } + @Override public void onAnimationCancel(Animator animator) { } + @Override public void onAnimationRepeat(Animator animator) { } + + @Override + public void onAnimationEnd(Animator animator) { + waitingForGPSOverlay.setVisibility(View.GONE); + } + }).start(); + } + private void setupMap(){ this.mapView= new MapView(this); TileSources.Purpose purpose; @@ -337,6 +357,10 @@ public class RecordWorkoutActivity extends FitoTrackActivity implements Location @Override public void onGPSStateChanged(WorkoutRecorder.GpsState oldState, WorkoutRecorder.GpsState state) { mHandler.post(() -> gpsStatusView.setTextColor(state.color)); + if(!gpsFound && (state != WorkoutRecorder.GpsState.SIGNAL_LOST)){ + gpsFound= true; + hideWaitOverlay(); + } } public static class InfoViewHolder{ diff --git a/app/src/main/res/drawable-anydpi/ic_gps_no_fix.xml b/app/src/main/res/drawable-anydpi/ic_gps_no_fix.xml new file mode 100644 index 0000000..8647a37 --- /dev/null +++ b/app/src/main/res/drawable-anydpi/ic_gps_no_fix.xml @@ -0,0 +1,11 @@ + + + diff --git a/app/src/main/res/drawable-hdpi/ic_gps_no_fix.png b/app/src/main/res/drawable-hdpi/ic_gps_no_fix.png new file mode 100644 index 0000000..d61ce27 Binary files /dev/null and b/app/src/main/res/drawable-hdpi/ic_gps_no_fix.png differ diff --git a/app/src/main/res/drawable-mdpi/ic_gps_no_fix.png b/app/src/main/res/drawable-mdpi/ic_gps_no_fix.png new file mode 100644 index 0000000..b5f2f30 Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_gps_no_fix.png differ diff --git a/app/src/main/res/drawable-xhdpi/ic_gps_no_fix.png b/app/src/main/res/drawable-xhdpi/ic_gps_no_fix.png new file mode 100644 index 0000000..6511d1a Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_gps_no_fix.png differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_gps_no_fix.png b/app/src/main/res/drawable-xxhdpi/ic_gps_no_fix.png new file mode 100644 index 0000000..5fe4c25 Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_gps_no_fix.png differ diff --git a/app/src/main/res/layout/activity_record_workout.xml b/app/src/main/res/layout/activity_record_workout.xml index 25196e2..7a81e31 100644 --- a/app/src/main/res/layout/activity_record_workout.xml +++ b/app/src/main/res/layout/activity_record_workout.xml @@ -197,4 +197,34 @@ + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 3fe8b31..924d17e 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -114,4 +114,5 @@ GPS Data Map Style + Waiting for GPS