From 90ddf20a7ec82a6f4c334b08c273e0af3acf1ff1 Mon Sep 17 00:00:00 2001 From: sh123 Date: Fri, 2 Sep 2022 21:03:16 +0300 Subject: [PATCH] Refactoring --- .../radio/codec2talkie/maps/MapActivity.java | 20 +++++++------------ .../storage/log/LogItemActivity.java | 3 +-- .../codec2talkie/storage/log/LogItemDao.java | 2 +- .../storage/log/LogItemRepository.java | 6 +++--- .../storage/log/LogItemViewModel.java | 6 +++--- 5 files changed, 15 insertions(+), 22 deletions(-) diff --git a/codec2talkie/src/main/java/com/radio/codec2talkie/maps/MapActivity.java b/codec2talkie/src/main/java/com/radio/codec2talkie/maps/MapActivity.java index 0762813..9dcc1ed 100644 --- a/codec2talkie/src/main/java/com/radio/codec2talkie/maps/MapActivity.java +++ b/codec2talkie/src/main/java/com/radio/codec2talkie/maps/MapActivity.java @@ -9,14 +9,12 @@ import android.graphics.Matrix; import android.graphics.Paint; import android.graphics.Rect; import android.graphics.drawable.BitmapDrawable; -import android.hardware.Sensor; import android.hardware.SensorEvent; import android.os.Bundle; import android.util.DisplayMetrics; import android.util.Log; import android.view.Menu; import android.view.MenuItem; -import android.widget.TextView; import androidx.appcompat.app.ActionBar; import androidx.appcompat.app.AppCompatActivity; @@ -37,14 +35,10 @@ import org.osmdroid.config.Configuration; import org.osmdroid.tileprovider.tilesource.TileSourceFactory; import org.osmdroid.util.GeoPoint; import org.osmdroid.views.MapView; -import org.osmdroid.views.overlay.ItemizedIconOverlay; -import org.osmdroid.views.overlay.ItemizedOverlayWithFocus; import org.osmdroid.views.overlay.Marker; -import org.osmdroid.views.overlay.OverlayItem; import org.osmdroid.views.overlay.Polygon; import org.osmdroid.views.overlay.compass.CompassOverlay; import org.osmdroid.views.overlay.compass.InternalCompassOrientationProvider; -import org.osmdroid.views.overlay.infowindow.InfoWindow; import org.osmdroid.views.overlay.mylocation.GpsMyLocationProvider; import org.osmdroid.views.overlay.mylocation.MyLocationNewOverlay; @@ -124,14 +118,14 @@ public class MapActivity extends AppCompatActivity { // add data listener _logItemViewModel = new ViewModelProvider(this).get(LogItemViewModel.class); - _logItemViewModel.getGroups().observe(this, logItemGroups -> { - for (LogItemGroup group : logItemGroups) { + _logItemViewModel.getLastPositions().observe(this, lastPositions -> { + for (LogItemGroup lastPosition : lastPositions) { // do not add items without coordinate - if (group.getMaidenHead() == null) continue; - if (addIcon(group)) { - addRangeCircle(group); + if (lastPosition.getMaidenHead() == null) continue; + if (addStationPositionIcon(lastPosition)) { + addRangeCircle(lastPosition); } else { - Log.e(TAG, "Failed to add APRS icon for " + group.getSrcCallsign() + ", " + group.getSymbolCode()); + Log.e(TAG, "Failed to add APRS icon for " + lastPosition.getSrcCallsign() + ", " + lastPosition.getSymbolCode()); } } }); @@ -176,7 +170,7 @@ public class MapActivity extends AppCompatActivity { polygon.setPoints(circlePoints); } - private boolean addIcon(LogItemGroup group) { + private boolean addStationPositionIcon(LogItemGroup group) { String callsign = group.getSrcCallsign(); Marker marker = null; diff --git a/codec2talkie/src/main/java/com/radio/codec2talkie/storage/log/LogItemActivity.java b/codec2talkie/src/main/java/com/radio/codec2talkie/storage/log/LogItemActivity.java index 2dccba4..03dbfb8 100644 --- a/codec2talkie/src/main/java/com/radio/codec2talkie/storage/log/LogItemActivity.java +++ b/codec2talkie/src/main/java/com/radio/codec2talkie/storage/log/LogItemActivity.java @@ -3,7 +3,6 @@ package com.radio.codec2talkie.storage.log; import android.content.DialogInterface; import android.content.Intent; import android.os.Bundle; -import android.util.Log; import android.view.Menu; import android.view.MenuItem; import android.view.View; @@ -83,7 +82,7 @@ public class LogItemActivity extends AppCompatActivity { logItemGroupRecyclerView.setLayoutManager(linearLayoutManagerGroup); logItemGroupRecyclerView.addItemDecoration(new DividerItemDecoration(logItemGroupRecyclerView.getContext(), DividerItemDecoration.VERTICAL)); - _logItemViewModel.getGroups().observe(this, adapterGroup::submitList); + _logItemViewModel.getLastPositions().observe(this, adapterGroup::submitList); // launch with filter if group name is provided if (_groupName == null) { diff --git a/codec2talkie/src/main/java/com/radio/codec2talkie/storage/log/LogItemDao.java b/codec2talkie/src/main/java/com/radio/codec2talkie/storage/log/LogItemDao.java index 975391e..4343252 100644 --- a/codec2talkie/src/main/java/com/radio/codec2talkie/storage/log/LogItemDao.java +++ b/codec2talkie/src/main/java/com/radio/codec2talkie/storage/log/LogItemDao.java @@ -58,7 +58,7 @@ public interface LogItemDao { "LEFT OUTER JOIN LogItem log ON (log.srcCallsign = pos.srcCallsign) " + "GROUP BY pos.srcCallsign " + "ORDER BY srcCallsign ASC") - LiveData> getGroups(); + LiveData> getLastPositions(); @Query("SELECT * FROM LogItem ORDER by timestampEpoch ASC") LiveData> getAllLogItems(); diff --git a/codec2talkie/src/main/java/com/radio/codec2talkie/storage/log/LogItemRepository.java b/codec2talkie/src/main/java/com/radio/codec2talkie/storage/log/LogItemRepository.java index 47b758b..7d7f477 100644 --- a/codec2talkie/src/main/java/com/radio/codec2talkie/storage/log/LogItemRepository.java +++ b/codec2talkie/src/main/java/com/radio/codec2talkie/storage/log/LogItemRepository.java @@ -15,20 +15,20 @@ public class LogItemRepository { private final LogItemDao _logItemDao; private final LiveData> _logItemLiveData; private LiveData> _logItemGroupLiveData; - private final LiveData> _logItemGroups; + private final LiveData> _lastPositions; public LogItemRepository(Application application) { AppDatabase appDatabase = AppDatabase.getDatabase(application); _logItemDao = appDatabase.logItemDao(); _logItemLiveData = _logItemDao.getAllLogItems(); - _logItemGroups = _logItemDao.getGroups(); + _lastPositions = _logItemDao.getLastPositions(); } public LiveData> getAllLogItems() { return _logItemLiveData; } - public LiveData> getGroups() { return _logItemGroups; } + public LiveData> getLastPositions() { return _lastPositions; } public LiveData> getLogItems(String groupName) { return _logItemDao.getLogItems(groupName); diff --git a/codec2talkie/src/main/java/com/radio/codec2talkie/storage/log/LogItemViewModel.java b/codec2talkie/src/main/java/com/radio/codec2talkie/storage/log/LogItemViewModel.java index 14ed7cc..209e46c 100644 --- a/codec2talkie/src/main/java/com/radio/codec2talkie/storage/log/LogItemViewModel.java +++ b/codec2talkie/src/main/java/com/radio/codec2talkie/storage/log/LogItemViewModel.java @@ -15,13 +15,13 @@ public class LogItemViewModel extends AndroidViewModel { private final LogItemRepository _logItemRepository; private final LiveData> _logItemLiveData; private LiveData> _logItemGroupLiveData; - private final LiveData> _logItemGroups; + private final LiveData> _lastPositions; public LogItemViewModel(@NonNull Application application) { super(application); _logItemRepository = new LogItemRepository(application); _logItemLiveData = _logItemRepository.getAllLogItems(); - _logItemGroups = _logItemRepository.getGroups(); + _lastPositions = _logItemRepository.getLastPositions(); } public LiveData> getAllData() { @@ -32,7 +32,7 @@ public class LogItemViewModel extends AndroidViewModel { return _logItemRepository.getLogItems(groupName); } - public LiveData> getGroups() { return _logItemGroups; } + public LiveData> getLastPositions() { return _lastPositions; } public void deleteAllLogItems() { _logItemRepository.deleteAllLogItems(); }