kopia lustrzana https://github.com/sh123/codec2_talkie
Refactoring
rodzic
30cda1b159
commit
90ddf20a7e
|
@ -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;
|
||||
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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<List<LogItemGroup>> getGroups();
|
||||
LiveData<List<LogItemGroup>> getLastPositions();
|
||||
|
||||
@Query("SELECT * FROM LogItem ORDER by timestampEpoch ASC")
|
||||
LiveData<List<LogItem>> getAllLogItems();
|
||||
|
|
|
@ -15,20 +15,20 @@ public class LogItemRepository {
|
|||
private final LogItemDao _logItemDao;
|
||||
private final LiveData<List<LogItem>> _logItemLiveData;
|
||||
private LiveData<List<LogItem>> _logItemGroupLiveData;
|
||||
private final LiveData<List<LogItemGroup>> _logItemGroups;
|
||||
private final LiveData<List<LogItemGroup>> _lastPositions;
|
||||
|
||||
public LogItemRepository(Application application) {
|
||||
AppDatabase appDatabase = AppDatabase.getDatabase(application);
|
||||
_logItemDao = appDatabase.logItemDao();
|
||||
_logItemLiveData = _logItemDao.getAllLogItems();
|
||||
_logItemGroups = _logItemDao.getGroups();
|
||||
_lastPositions = _logItemDao.getLastPositions();
|
||||
}
|
||||
|
||||
public LiveData<List<LogItem>> getAllLogItems() {
|
||||
return _logItemLiveData;
|
||||
}
|
||||
|
||||
public LiveData<List<LogItemGroup>> getGroups() { return _logItemGroups; }
|
||||
public LiveData<List<LogItemGroup>> getLastPositions() { return _lastPositions; }
|
||||
|
||||
public LiveData<List<LogItem>> getLogItems(String groupName) {
|
||||
return _logItemDao.getLogItems(groupName);
|
||||
|
|
|
@ -15,13 +15,13 @@ public class LogItemViewModel extends AndroidViewModel {
|
|||
private final LogItemRepository _logItemRepository;
|
||||
private final LiveData<List<LogItem>> _logItemLiveData;
|
||||
private LiveData<List<LogItem>> _logItemGroupLiveData;
|
||||
private final LiveData<List<LogItemGroup>> _logItemGroups;
|
||||
private final LiveData<List<LogItemGroup>> _lastPositions;
|
||||
|
||||
public LogItemViewModel(@NonNull Application application) {
|
||||
super(application);
|
||||
_logItemRepository = new LogItemRepository(application);
|
||||
_logItemLiveData = _logItemRepository.getAllLogItems();
|
||||
_logItemGroups = _logItemRepository.getGroups();
|
||||
_lastPositions = _logItemRepository.getLastPositions();
|
||||
}
|
||||
|
||||
public LiveData<List<LogItem>> getAllData() {
|
||||
|
@ -32,7 +32,7 @@ public class LogItemViewModel extends AndroidViewModel {
|
|||
return _logItemRepository.getLogItems(groupName);
|
||||
}
|
||||
|
||||
public LiveData<List<LogItemGroup>> getGroups() { return _logItemGroups; }
|
||||
public LiveData<List<LogItemGroup>> getLastPositions() { return _lastPositions; }
|
||||
|
||||
public void deleteAllLogItems() { _logItemRepository.deleteAllLogItems(); }
|
||||
|
||||
|
|
Ładowanie…
Reference in New Issue