master
sh123 2022-09-03 17:17:59 +03:00
rodzic e0fd23d401
commit 20aab8d253
4 zmienionych plików z 15 dodań i 9 usunięć

Wyświetl plik

@ -127,8 +127,8 @@ public class Ax25 implements Protocol {
if (ax25Data.isAudio) { if (ax25Data.isAudio) {
_parentProtocolCallback.onReceiveCompressedAudio(ax25Data.src, ax25Data.dst, ax25Data.codec2Mode, ax25Data.rawData); _parentProtocolCallback.onReceiveCompressedAudio(ax25Data.src, ax25Data.dst, ax25Data.codec2Mode, ax25Data.rawData);
} else { } else {
_parentProtocolCallback.onReceiveLog(ax25Data.toString());
_parentProtocolCallback.onReceiveData(ax25Data.src, ax25Data.dst, ax25Data.digipath, ax25Data.rawData); _parentProtocolCallback.onReceiveData(ax25Data.src, ax25Data.dst, ax25Data.digipath, ax25Data.rawData);
_parentProtocolCallback.onReceiveLog(ax25Data.toString());
if (_isDigiRepeaterEnabled) digiRepeat(ax25Data); if (_isDigiRepeaterEnabled) digiRepeat(ax25Data);
} }
} else { } else {

Wyświetl plik

@ -14,10 +14,10 @@ import java.util.List;
@Dao @Dao
public interface PositionItemDao { public interface PositionItemDao {
@Insert(onConflict = OnConflictStrategy.IGNORE) @Insert
void insertPositionItem(PositionItem logItem); void insertPositionItem(PositionItem logItem);
@Update(onConflict = OnConflictStrategy.IGNORE) @Update
void updatePositionItem(PositionItem logItem); void updatePositionItem(PositionItem logItem);
@Query("SELECT * FROM PositionItem WHERE srcCallsign = :srcCallsign ORDER BY timestampEpoch DESC LIMIT 1") @Query("SELECT * FROM PositionItem WHERE srcCallsign = :srcCallsign ORDER BY timestampEpoch DESC LIMIT 1")

Wyświetl plik

@ -12,10 +12,10 @@ import java.util.List;
@Dao @Dao
public interface StationItemDao { public interface StationItemDao {
@Insert(onConflict = OnConflictStrategy.IGNORE) @Insert
void insertStationItem(StationItem stationItem); void insertStationItem(StationItem stationItem);
@Update(onConflict = OnConflictStrategy.IGNORE) @Update
void updateStationItem(StationItem stationItem); void updateStationItem(StationItem stationItem);
@Query("SELECT * FROM StationItem WHERE srcCallsign = :srcCallsign") @Query("SELECT * FROM StationItem WHERE srcCallsign = :srcCallsign")

Wyświetl plik

@ -1,6 +1,7 @@
package com.radio.codec2talkie.storage.station; package com.radio.codec2talkie.storage.station;
import android.app.Application; import android.app.Application;
import android.database.sqlite.SQLiteConstraintException;
import android.util.Log; import android.util.Log;
import androidx.lifecycle.LiveData; import androidx.lifecycle.LiveData;
@ -27,12 +28,17 @@ public class StationItemRepository {
AppDatabase.getDatabaseExecutor().execute(() -> { AppDatabase.getDatabaseExecutor().execute(() -> {
StationItem oldStationItem = _stationItemDao.getStationItem(stationItem.getSrcCallsign()); StationItem oldStationItem = _stationItemDao.getStationItem(stationItem.getSrcCallsign());
if (oldStationItem == null) { if (oldStationItem == null) {
_stationItemDao.insertStationItem(stationItem); try {
Log.i(TAG, "INSERT " + stationItem.getSrcCallsign()); _stationItemDao.insertStationItem(stationItem);
} else { Log.i(TAG, "INSERT " + stationItem.getSrcCallsign() + " '" + stationItem.getMaidenHead() + "'");
} catch (SQLiteConstraintException ex) {
oldStationItem = _stationItemDao.getStationItem(stationItem.getSrcCallsign());
}
}
if (oldStationItem != null) {
oldStationItem.updateFrom(stationItem); oldStationItem.updateFrom(stationItem);
_stationItemDao.updateStationItem(oldStationItem); _stationItemDao.updateStationItem(oldStationItem);
Log.i(TAG, "UPDATE " + oldStationItem.getSrcCallsign()); Log.i(TAG, "UPDATE " + oldStationItem.getSrcCallsign() + " '" + oldStationItem.getMaidenHead() + "'");
} }
}); });
} }