forked from upstream-mirrors/OpenTracks
@@ -17,6 +17,7 @@
|
|||||||
package de.dennisguse.opentracks;
|
package de.dennisguse.opentracks;
|
||||||
|
|
||||||
import android.annotation.SuppressLint;
|
import android.annotation.SuppressLint;
|
||||||
|
import android.content.Context;
|
||||||
import android.graphics.drawable.TransitionDrawable;
|
import android.graphics.drawable.TransitionDrawable;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
@@ -97,7 +98,10 @@ public class ControllerFragment extends Fragment implements View.OnTouchListener
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
getCallback().recordStart();
|
Callback callback = (Callback) getContext();
|
||||||
|
if (callback != null) {
|
||||||
|
callback.recordStart();
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
viewBinding.controllerStop.setOnTouchListener(this);
|
viewBinding.controllerStop.setOnTouchListener(this);
|
||||||
@@ -114,6 +118,12 @@ public class ControllerFragment extends Fragment implements View.OnTouchListener
|
|||||||
trackRecordingServiceConnection.startConnection(getContext());
|
trackRecordingServiceConnection.startConnection(getContext());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onPause() {
|
||||||
|
super.onPause();
|
||||||
|
handlerUpdateTotalTime.removeCallbacksAndMessages(null);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onStop() {
|
public void onStop() {
|
||||||
super.onStop();
|
super.onStop();
|
||||||
@@ -175,7 +185,10 @@ public class ControllerFragment extends Fragment implements View.OnTouchListener
|
|||||||
buttonDelay = () -> {
|
buttonDelay = () -> {
|
||||||
view.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_CLICKED);
|
view.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_CLICKED);
|
||||||
view.performClick();
|
view.performClick();
|
||||||
getCallback().recordPause();
|
Callback callback = (Callback) getContext();
|
||||||
|
if (callback != null) {
|
||||||
|
callback.recordPause();
|
||||||
|
}
|
||||||
|
|
||||||
transition.resetTransition();
|
transition.resetTransition();
|
||||||
|
|
||||||
@@ -198,8 +211,12 @@ public class ControllerFragment extends Fragment implements View.OnTouchListener
|
|||||||
|
|
||||||
buttonDelay = () -> {
|
buttonDelay = () -> {
|
||||||
view.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_CLICKED);
|
view.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_CLICKED);
|
||||||
getCallback().recordStop();
|
Context context = getContext();
|
||||||
ActivityUtils.vibrate(getContext(), 1000);
|
Callback callback = (Callback) context;
|
||||||
|
if (callback != null) {
|
||||||
|
callback.recordStop();
|
||||||
|
ActivityUtils.vibrate(context, 1000);
|
||||||
|
}
|
||||||
|
|
||||||
transition.resetTransition();
|
transition.resetTransition();
|
||||||
};
|
};
|
||||||
@@ -222,10 +239,6 @@ public class ControllerFragment extends Fragment implements View.OnTouchListener
|
|||||||
viewBinding.controllerStatus.setText(recordingStatus.isPaused() ? R.string.generic_paused : R.string.generic_recording);
|
viewBinding.controllerStatus.setText(recordingStatus.isPaused() ? R.string.generic_paused : R.string.generic_recording);
|
||||||
}
|
}
|
||||||
|
|
||||||
private Callback getCallback() {
|
|
||||||
return (Callback) getActivity();
|
|
||||||
}
|
|
||||||
|
|
||||||
public interface Callback {
|
public interface Callback {
|
||||||
void recordStart();
|
void recordStart();
|
||||||
|
|
||||||
|
|||||||
@@ -58,12 +58,12 @@ import de.dennisguse.opentracks.fragments.ConfirmDeleteDialogFragment;
|
|||||||
import de.dennisguse.opentracks.services.TrackRecordingService;
|
import de.dennisguse.opentracks.services.TrackRecordingService;
|
||||||
import de.dennisguse.opentracks.services.TrackRecordingServiceConnection;
|
import de.dennisguse.opentracks.services.TrackRecordingServiceConnection;
|
||||||
import de.dennisguse.opentracks.services.handlers.GpsStatusValue;
|
import de.dennisguse.opentracks.services.handlers.GpsStatusValue;
|
||||||
|
import de.dennisguse.opentracks.settings.PreferencesUtils;
|
||||||
import de.dennisguse.opentracks.settings.SettingsActivity;
|
import de.dennisguse.opentracks.settings.SettingsActivity;
|
||||||
import de.dennisguse.opentracks.util.ActivityUtils;
|
import de.dennisguse.opentracks.util.ActivityUtils;
|
||||||
import de.dennisguse.opentracks.util.IntentDashboardUtils;
|
import de.dennisguse.opentracks.util.IntentDashboardUtils;
|
||||||
import de.dennisguse.opentracks.util.IntentUtils;
|
import de.dennisguse.opentracks.util.IntentUtils;
|
||||||
import de.dennisguse.opentracks.util.ListItemUtils;
|
import de.dennisguse.opentracks.util.ListItemUtils;
|
||||||
import de.dennisguse.opentracks.settings.PreferencesUtils;
|
|
||||||
import de.dennisguse.opentracks.util.StringUtils;
|
import de.dennisguse.opentracks.util.StringUtils;
|
||||||
import de.dennisguse.opentracks.util.TrackIconUtils;
|
import de.dennisguse.opentracks.util.TrackIconUtils;
|
||||||
|
|
||||||
@@ -248,6 +248,13 @@ public class TrackListActivity extends AbstractTrackDeleteActivity implements Co
|
|||||||
trackRecordingServiceConnection.unbind(this);
|
trackRecordingServiceConnection.unbind(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onDestroy() {
|
||||||
|
super.onDestroy();
|
||||||
|
viewBinding = null;
|
||||||
|
trackRecordingServiceConnection = null;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected View getRootView() {
|
protected View getRootView() {
|
||||||
viewBinding = TrackListBinding.inflate(getLayoutInflater());
|
viewBinding = TrackListBinding.inflate(getLayoutInflater());
|
||||||
|
|||||||
@@ -28,10 +28,10 @@ import de.dennisguse.opentracks.fragments.IntervalsFragment;
|
|||||||
import de.dennisguse.opentracks.fragments.StatisticsRecordingFragment;
|
import de.dennisguse.opentracks.fragments.StatisticsRecordingFragment;
|
||||||
import de.dennisguse.opentracks.services.TrackRecordingService;
|
import de.dennisguse.opentracks.services.TrackRecordingService;
|
||||||
import de.dennisguse.opentracks.services.TrackRecordingServiceConnection;
|
import de.dennisguse.opentracks.services.TrackRecordingServiceConnection;
|
||||||
|
import de.dennisguse.opentracks.settings.PreferencesUtils;
|
||||||
import de.dennisguse.opentracks.settings.SettingsActivity;
|
import de.dennisguse.opentracks.settings.SettingsActivity;
|
||||||
import de.dennisguse.opentracks.util.IntentDashboardUtils;
|
import de.dennisguse.opentracks.util.IntentDashboardUtils;
|
||||||
import de.dennisguse.opentracks.util.IntentUtils;
|
import de.dennisguse.opentracks.util.IntentUtils;
|
||||||
import de.dennisguse.opentracks.settings.PreferencesUtils;
|
|
||||||
import de.dennisguse.opentracks.util.TrackIconUtils;
|
import de.dennisguse.opentracks.util.TrackIconUtils;
|
||||||
import de.dennisguse.opentracks.util.TrackUtils;
|
import de.dennisguse.opentracks.util.TrackUtils;
|
||||||
|
|
||||||
@@ -232,6 +232,13 @@ public class TrackRecordingActivity extends AbstractActivity implements ChooseAc
|
|||||||
trackDataHub.stop();
|
trackDataHub.stop();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onDestroy() {
|
||||||
|
super.onDestroy();
|
||||||
|
viewBinding = null;
|
||||||
|
trackRecordingServiceConnection = null;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected View getRootView() {
|
protected View getRootView() {
|
||||||
viewBinding = TrackRecordingBinding.inflate(getLayoutInflater());
|
viewBinding = TrackRecordingBinding.inflate(getLayoutInflater());
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
package de.dennisguse.opentracks.util;
|
package de.dennisguse.opentracks.util;
|
||||||
|
|
||||||
|
import static android.content.Context.VIBRATOR_SERVICE;
|
||||||
|
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.app.SearchManager;
|
import android.app.SearchManager;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
@@ -14,6 +16,7 @@ import android.view.MenuItem;
|
|||||||
import android.widget.AbsListView;
|
import android.widget.AbsListView;
|
||||||
import android.widget.ListView;
|
import android.widget.ListView;
|
||||||
|
|
||||||
|
import androidx.annotation.NonNull;
|
||||||
import androidx.appcompat.widget.SearchView;
|
import androidx.appcompat.widget.SearchView;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@@ -21,8 +24,6 @@ import java.util.ArrayList;
|
|||||||
import de.dennisguse.opentracks.ContextualActionModeCallback;
|
import de.dennisguse.opentracks.ContextualActionModeCallback;
|
||||||
import de.dennisguse.opentracks.R;
|
import de.dennisguse.opentracks.R;
|
||||||
|
|
||||||
import static android.content.Context.VIBRATOR_SERVICE;
|
|
||||||
|
|
||||||
public class ActivityUtils {
|
public class ActivityUtils {
|
||||||
|
|
||||||
private static final String TAG = ActivityUtils.class.getSimpleName();
|
private static final String TAG = ActivityUtils.class.getSimpleName();
|
||||||
@@ -75,11 +76,7 @@ public class ActivityUtils {
|
|||||||
arrayList.add(key);
|
arrayList.add(key);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
int[] result = new int[arrayList.size()];
|
return arrayList.stream().mapToInt(i -> i).toArray();
|
||||||
for (int i = 0; i < arrayList.size(); i++) {
|
|
||||||
result[i] = arrayList.get(i);
|
|
||||||
}
|
|
||||||
return result;
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -97,7 +94,7 @@ public class ActivityUtils {
|
|||||||
return searchView;
|
return searchView;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void vibrate(Context context, int milliseconds) {
|
public static void vibrate(@NonNull Context context, int milliseconds) {
|
||||||
final Vibrator vibrator = (Vibrator) context.getSystemService(VIBRATOR_SERVICE);
|
final Vibrator vibrator = (Vibrator) context.getSystemService(VIBRATOR_SERVICE);
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
||||||
vibrator.vibrate(VibrationEffect.createOneShot(milliseconds, VibrationEffect.DEFAULT_AMPLITUDE));
|
vibrator.vibrate(VibrationEffect.createOneShot(milliseconds, VibrationEffect.DEFAULT_AMPLITUDE));
|
||||||
|
|||||||
Reference in New Issue
Block a user