From 26083c53a35903b5fa43b2847bf4705607f64562 Mon Sep 17 00:00:00 2001 From: Skalii Date: Wed, 10 Feb 2021 19:22:29 +0200 Subject: [PATCH] small code cleanup; --- .../plus/activities/MapActivityActions.java | 7 +-- .../monitoring/OsmandMonitoringPlugin.java | 40 ++++++----------- .../TripRecordingActiveBottomSheet.java | 45 +++++++------------ .../monitoring/TripRecordingBottomSheet.java | 9 ++-- 4 files changed, 35 insertions(+), 66 deletions(-) diff --git a/OsmAnd/src/net/osmand/plus/activities/MapActivityActions.java b/OsmAnd/src/net/osmand/plus/activities/MapActivityActions.java index b216913466..7bfcdd754b 100644 --- a/OsmAnd/src/net/osmand/plus/activities/MapActivityActions.java +++ b/OsmAnd/src/net/osmand/plus/activities/MapActivityActions.java @@ -22,7 +22,6 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.appcompat.app.AlertDialog; import androidx.core.content.ContextCompat; -import androidx.fragment.app.FragmentActivity; import net.osmand.AndroidUtils; import net.osmand.GPXUtilities; @@ -854,10 +853,8 @@ public class MapActivityActions implements DialogProvider { public boolean onContextMenuClick(ArrayAdapter adapter, int itemId, int pos, boolean isChecked, int[] viewCoordinates) { app.logEvent("trip_recording_open"); MapActivity.clearPrevActivityIntent(); - if (monitoringPlugin.isHasDataToSave() || monitoringPlugin.isWasTrackMonitored()) { - TripRecordingActiveBottomSheet.showInstance(mapActivity.getSupportFragmentManager(), - monitoringPlugin.getCurrentTrack(), monitoringPlugin.isWasTrackMonitored(), - monitoringPlugin.isHasDataToSave(), monitoringPlugin.isSearchingGPS()); + if (monitoringPlugin.hasDataToSave() || monitoringPlugin.wasTrackMonitored()) { + TripRecordingActiveBottomSheet.showInstance(mapActivity.getSupportFragmentManager(), monitoringPlugin.getCurrentTrack()); } else { TripRecordingBottomSheet.showInstance(mapActivity.getSupportFragmentManager()); } diff --git a/OsmAnd/src/net/osmand/plus/monitoring/OsmandMonitoringPlugin.java b/OsmAnd/src/net/osmand/plus/monitoring/OsmandMonitoringPlugin.java index eaa54a948a..df7390af7b 100644 --- a/OsmAnd/src/net/osmand/plus/monitoring/OsmandMonitoringPlugin.java +++ b/OsmAnd/src/net/osmand/plus/monitoring/OsmandMonitoringPlugin.java @@ -1,9 +1,7 @@ package net.osmand.plus.monitoring; -import android.Manifest; import android.app.Activity; import android.content.Context; -import android.content.DialogInterface; import android.content.DialogInterface.OnClickListener; import android.content.pm.PackageManager; import android.graphics.drawable.Drawable; @@ -19,7 +17,6 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.appcompat.app.AlertDialog; import androidx.appcompat.widget.AppCompatCheckBox; -import androidx.core.app.ActivityCompat; import androidx.core.content.ContextCompat; import androidx.fragment.app.FragmentActivity; @@ -28,11 +25,9 @@ import com.google.android.material.slider.Slider; import net.osmand.AndroidUtils; import net.osmand.Location; import net.osmand.ValueHolder; -import net.osmand.plus.GpxSelectionHelper; import net.osmand.plus.GpxSelectionHelper.SelectedGpxFile; import net.osmand.plus.NavigationService; import net.osmand.plus.OsmAndFormatter; -import net.osmand.plus.OsmAndLocationProvider; import net.osmand.plus.OsmAndTaskManager.OsmAndTaskRunnable; import net.osmand.plus.OsmandApplication; import net.osmand.plus.OsmandPlugin; @@ -45,7 +40,6 @@ import net.osmand.plus.dashboard.tools.DashFragmentData; import net.osmand.plus.settings.backend.ApplicationMode; import net.osmand.plus.settings.backend.OsmandSettings; import net.osmand.plus.settings.fragments.BaseSettingsFragment.SettingsScreenType; -import net.osmand.plus.track.TrackDisplayHelper; import net.osmand.plus.views.OsmandMapLayer.DrawSettings; import net.osmand.plus.views.OsmandMapTileView; import net.osmand.plus.views.layers.MapInfoLayer; @@ -55,8 +49,6 @@ import net.osmand.util.Algorithms; import java.lang.ref.WeakReference; import java.util.List; -import gnu.trove.list.array.TIntArrayList; - import static net.osmand.plus.UiUtilities.CompoundButtonType.PROFILE_DEPENDENT; public class OsmandMonitoringPlugin extends OsmandPlugin { @@ -165,9 +157,9 @@ public class OsmandMonitoringPlugin extends OsmandPlugin { } } - public static final int[] SECONDS = new int[] {0, 1, 2, 3, 5, 10, 15, 20, 30, 60, 90}; - public static final int[] MINUTES = new int[] {2, 3, 5}; - public static final int[] MAX_INTERVAL_TO_SEND_MINUTES = new int[] {1, 2, 5, 10, 15, 20, 30, 60, 90, 2 * 60, 3 * 60, 4 * 60, 6 * 60, 12 * 60, 24 * 60}; + public static final int[] SECONDS = new int[]{0, 1, 2, 3, 5, 10, 15, 20, 30, 60, 90}; + public static final int[] MINUTES = new int[]{2, 3, 5}; + public static final int[] MAX_INTERVAL_TO_SEND_MINUTES = new int[]{1, 2, 5, 10, 15, 20, 30, 60, 90, 2 * 60, 3 * 60, 4 * 60, 6 * 60, 12 * 60, 24 * 60}; @Override public SettingsScreenType getSettingsScreenType() { @@ -185,9 +177,10 @@ public class OsmandMonitoringPlugin extends OsmandPlugin { private TextInfoWidget createMonitoringControl(final MapActivity map) { monitoringControl = new TextInfoWidget(map) { long lastUpdateTime; + @Override public boolean updateInfo(DrawSettings drawSettings) { - if(isSaving){ + if (isSaving) { setText(map.getString(R.string.shared_string_save), ""); setIcons(R.drawable.widget_monitoring_rec_big_day, R.drawable.widget_monitoring_rec_big_night); return true; @@ -215,7 +208,7 @@ public class OsmandMonitoringPlugin extends OsmandPlugin { } final boolean liveMonitoringEnabled = liveMonitoringHelper.isLiveMonitoringEnabled(); - if(globalRecord) { + if (globalRecord) { //indicates global recording (+background recording) if (liveMonitoringEnabled) { dn = R.drawable.widget_live_monitoring_rec_big_night; @@ -324,25 +317,18 @@ public class OsmandMonitoringPlugin extends OsmandPlugin { return app.getSavingTrackHelper().getCurrentTrack(); } - public boolean isWasTrackMonitored() { + public boolean wasTrackMonitored() { return settings.SAVE_GLOBAL_TRACK_TO_GPX.get(); } - public boolean isHasDataToSave() { + public boolean hasDataToSave() { return app.getSavingTrackHelper().hasDataToSave(); } - public boolean isSearchingGPS() { - OsmAndLocationProvider locationProvider = app.getLocationProvider(); - Location lastKnownLocation = locationProvider.getLastKnownLocation(); - return lastKnownLocation == null; - } - public void controlDialog(final Activity activity, final boolean showTrackSelection) { - if (isHasDataToSave() || isWasTrackMonitored()) { + if (hasDataToSave() || wasTrackMonitored()) { FragmentActivity fragmentActivity = (FragmentActivity) activity; - TripRecordingActiveBottomSheet.showInstance(fragmentActivity.getSupportFragmentManager(), - getCurrentTrack(), isWasTrackMonitored(), isHasDataToSave(), isSearchingGPS()); + TripRecordingActiveBottomSheet.showInstance(fragmentActivity.getSupportFragmentManager(), getCurrentTrack()); } else { FragmentActivity fragmentActivity = (FragmentActivity) activity; TripRecordingBottomSheet.showInstance(fragmentActivity.getSupportFragmentManager()); @@ -507,7 +493,7 @@ public class OsmandMonitoringPlugin extends OsmandPlugin { } } - public void stopRecording(){ + public void stopRecording() { settings.SAVE_GLOBAL_TRACK_TO_GPX.set(false); if (app.getNavigationService() != null) { app.getNavigationService().stopIfNeeded(app, NavigationService.USED_BY_GPX); @@ -596,11 +582,11 @@ public class OsmandMonitoringPlugin extends OsmandPlugin { public void onValueChange(@NonNull Slider slider, float value, boolean fromUser) { String s; int progress = (int) value; - if(progress == 0) { + if (progress == 0) { s = uiCtx.getString(R.string.int_continuosly); v.value = 0; } else { - if(progress < secondsLength) { + if (progress < secondsLength) { s = seconds[progress] + " " + uiCtx.getString(R.string.int_seconds); v.value = seconds[progress] * 1000; } else { diff --git a/OsmAnd/src/net/osmand/plus/monitoring/TripRecordingActiveBottomSheet.java b/OsmAnd/src/net/osmand/plus/monitoring/TripRecordingActiveBottomSheet.java index 24e2bb4843..7b05345608 100644 --- a/OsmAnd/src/net/osmand/plus/monitoring/TripRecordingActiveBottomSheet.java +++ b/OsmAnd/src/net/osmand/plus/monitoring/TripRecordingActiveBottomSheet.java @@ -37,10 +37,8 @@ import com.google.android.material.snackbar.Snackbar; import net.osmand.AndroidUtils; import net.osmand.GPXUtilities.GPXFile; -import net.osmand.Location; import net.osmand.PlatformUtil; import net.osmand.plus.GpxSelectionHelper.SelectedGpxFile; -import net.osmand.plus.OsmAndLocationProvider; import net.osmand.plus.OsmandApplication; import net.osmand.plus.R; import net.osmand.plus.UiUtilities; @@ -74,9 +72,6 @@ public class TripRecordingActiveBottomSheet extends MenuBottomSheetDialogFragmen private OsmandSettings settings; private SavingTrackHelper helper; private SelectedGpxFile selectedGpxFile; - private boolean wasTrackMonitored = false; - private boolean hasDataToSave = false; - private boolean searchingGPS = false; private View statusContainer; private View buttonSave; @@ -94,26 +89,22 @@ public class TripRecordingActiveBottomSheet extends MenuBottomSheetDialogFragmen this.selectedGpxFile = selectedGpxFile; } - public void setWasTrackMonitored(boolean wasTrackMonitored) { - this.wasTrackMonitored = wasTrackMonitored; + public boolean hasDataToSave() { + return app.getSavingTrackHelper().hasDataToSave(); } - public void setHasDataToSave(boolean hasDataToSave) { - this.hasDataToSave = hasDataToSave; + public boolean searchingGPS() { + return app.getLocationProvider().getLastKnownLocation() == null; } - public void setSearchingGPS(boolean searchingGPS) { - this.searchingGPS = searchingGPS; + public boolean wasTrackMonitored() { + return settings != null && settings.SAVE_GLOBAL_TRACK_TO_GPX.get(); } - public static void showInstance(@NonNull FragmentManager fragmentManager, SelectedGpxFile selectedGpxFile, - boolean wasTrackMonitored, boolean hasDataToSave, boolean searchingGPS) { + public static void showInstance(@NonNull FragmentManager fragmentManager, SelectedGpxFile selectedGpxFile) { if (!fragmentManager.isStateSaved()) { TripRecordingActiveBottomSheet fragment = new TripRecordingActiveBottomSheet(); fragment.setSelectedGpxFile(selectedGpxFile); - fragment.setWasTrackMonitored(wasTrackMonitored); - fragment.setHasDataToSave(hasDataToSave); - fragment.setSearchingGPS(searchingGPS); fragment.show(fragmentManager, TAG); } } @@ -137,9 +128,9 @@ public class TripRecordingActiveBottomSheet extends MenuBottomSheetDialogFragmen final View buttonPause = itemView.findViewById(R.id.button_pause); View buttonStop = itemView.findViewById(R.id.button_stop); - createItem(buttonClear, ItemType.CLEAR_DATA, hasDataToSave, null); - createItem(buttonStart, ItemType.START_SEGMENT, wasTrackMonitored, null); - createItem(buttonPause, wasTrackMonitored ? ItemType.PAUSE : ItemType.RESUME, true, null); + createItem(buttonClear, ItemType.CLEAR_DATA, hasDataToSave(), null); + createItem(buttonStart, ItemType.START_SEGMENT, wasTrackMonitored(), null); + createItem(buttonPause, wasTrackMonitored() ? ItemType.PAUSE : ItemType.RESUME, true, null); createItem(buttonStop, ItemType.STOP, true, null); statusContainer = itemView.findViewById(R.id.status_container); @@ -210,7 +201,7 @@ public class TripRecordingActiveBottomSheet extends MenuBottomSheetDialogFragmen buttonClear.findViewById(R.id.button_container).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - if (fragmentManager != null && hasDataToSave) { + if (fragmentManager != null && hasDataToSave()) { ClearRecordedDataBottomSheetFragment.showInstance(fragmentManager, TripRecordingActiveBottomSheet.this); } } @@ -219,7 +210,7 @@ public class TripRecordingActiveBottomSheet extends MenuBottomSheetDialogFragmen buttonStart.findViewById(R.id.button_container).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - if (wasTrackMonitored) { + if (wasTrackMonitored()) { helper.startNewSegment(); } } @@ -228,7 +219,7 @@ public class TripRecordingActiveBottomSheet extends MenuBottomSheetDialogFragmen buttonSave.findViewById(R.id.button_container).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - if (hasDataToSave) { + if (hasDataToSave()) { final GPXFile gpxFile = getGPXFile(); new SaveCurrentTrackTask(app, gpxFile, createSaveListener(new Runnable() { @Override @@ -247,14 +238,13 @@ public class TripRecordingActiveBottomSheet extends MenuBottomSheetDialogFragmen buttonPause.findViewById(R.id.button_container).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - boolean wasTrackMonitored = !settings.SAVE_GLOBAL_TRACK_TO_GPX.get(); + boolean wasTrackMonitored = !wasTrackMonitored(); createItem(buttonPause, wasTrackMonitored ? ItemType.PAUSE : ItemType.RESUME, true, null); if (!wasTrackMonitored) { blockStatisticsBuilder.stopUpdatingStatBlocks(); } else { blockStatisticsBuilder.runUpdatingStatBlocks(); } - TripRecordingActiveBottomSheet.this.wasTrackMonitored = wasTrackMonitored; settings.SAVE_GLOBAL_TRACK_TO_GPX.set(wasTrackMonitored); updateStatus(); } @@ -273,7 +263,7 @@ public class TripRecordingActiveBottomSheet extends MenuBottomSheetDialogFragmen private void updateStatus() { TextView statusTitle = statusContainer.findViewById(R.id.text_status); AppCompatImageView statusIcon = statusContainer.findViewById(R.id.icon_status); - ItemType status = searchingGPS ? ItemType.SEARCHING_GPS : !wasTrackMonitored ? ItemType.ON_PAUSE : ItemType.RECORDING; + ItemType status = searchingGPS() ? ItemType.SEARCHING_GPS : !wasTrackMonitored() ? ItemType.ON_PAUSE : ItemType.RECORDING; statusTitle.setText(status.getTitleId()); int colorText = status.equals(ItemType.SEARCHING_GPS) ? getSecondaryTextColorId(nightMode) : getOsmandIconColorId(nightMode); statusTitle.setTextColor(ContextCompat.getColor(app, colorText)); @@ -348,9 +338,6 @@ public class TripRecordingActiveBottomSheet extends MenuBottomSheetDialogFragmen @Override public void run() { int interval = app.getSettings().SAVE_GLOBAL_TRACK_INTERVAL.get(); - OsmAndLocationProvider locationProvider = app.getLocationProvider(); - Location lastKnownLocation = locationProvider.getLastKnownLocation(); - searchingGPS = lastKnownLocation == null; updateStatus(); handler.postDelayed(this, Math.max(1000, interval)); } @@ -367,7 +354,7 @@ public class TripRecordingActiveBottomSheet extends MenuBottomSheetDialogFragmen @Override public void run() { String time = getTimeTrackSaved(); - createItem(buttonSave, ItemType.SAVE, hasDataToSave, !Algorithms.isEmpty(time) ? time : null); + createItem(buttonSave, ItemType.SAVE, hasDataToSave(), !Algorithms.isEmpty(time) ? time : null); handler.postDelayed(this, 60000); } }; diff --git a/OsmAnd/src/net/osmand/plus/monitoring/TripRecordingBottomSheet.java b/OsmAnd/src/net/osmand/plus/monitoring/TripRecordingBottomSheet.java index 6653b6f5c3..bd7f98d45f 100644 --- a/OsmAnd/src/net/osmand/plus/monitoring/TripRecordingBottomSheet.java +++ b/OsmAnd/src/net/osmand/plus/monitoring/TripRecordingBottomSheet.java @@ -28,11 +28,11 @@ import net.osmand.AndroidUtils; import net.osmand.plus.GpxSelectionHelper.SelectedGpxFile; import net.osmand.plus.NavigationService; import net.osmand.plus.OsmandApplication; -import net.osmand.plus.OsmandPlugin; import net.osmand.plus.R; import net.osmand.plus.UiUtilities; import net.osmand.plus.UiUtilities.DialogButtonType; import net.osmand.plus.activities.MapActivity; +import net.osmand.plus.activities.SavingTrackHelper; import net.osmand.plus.base.MenuBottomSheetDialogFragment; import net.osmand.plus.base.bottomsheetmenu.BottomSheetItemWithDescription; import net.osmand.plus.helpers.AndroidUiHelper; @@ -278,12 +278,11 @@ public class TripRecordingBottomSheet extends MenuBottomSheetDialogFragment { @Override protected void onRightBottomButtonClick() { - app.getSavingTrackHelper().startNewSegment(); + SavingTrackHelper helper = app.getSavingTrackHelper(); + helper.startNewSegment(); settings.SAVE_GLOBAL_TRACK_TO_GPX.set(true); app.startNavigationService(NavigationService.USED_BY_GPX); - OsmandMonitoringPlugin plugin = OsmandPlugin.getEnabledPlugin(OsmandMonitoringPlugin.class); - TripRecordingActiveBottomSheet.showInstance(getMapActivity().getSupportFragmentManager(), - plugin.getCurrentTrack(), plugin.isWasTrackMonitored(), plugin.isHasDataToSave(), plugin.isSearchingGPS()); + TripRecordingActiveBottomSheet.showInstance(getMapActivity().getSupportFragmentManager(), helper.getCurrentTrack()); dismiss(); }