Skip to content

Commit c465ba7

Browse files
committed
TORGI now assumes SOS-T sensor assignments if TORGI is not provided with an SOS-T server to contact
1 parent c62f656 commit c465ba7

3 files changed

Lines changed: 32 additions & 8 deletions

File tree

torgi/build.gradle

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,14 +44,14 @@ android {
4444

4545
dependencies {
4646
implementation 'androidx.constraintlayout:constraintlayout:2.0.0-alpha3'
47-
implementation 'androidx.appcompat:appcompat:1.1.0-alpha01'
48-
implementation 'com.google.android.material:material:1.1.0-alpha02'
47+
implementation 'androidx.appcompat:appcompat:1.1.0-alpha02'
48+
implementation 'com.google.android.material:material:1.1.0-alpha04'
4949
viewerImplementation 'androidx.constraintlayout:constraintlayout:2.0.0-alpha3'
5050
viewerImplementation 'com.github.PhilJay:MPAndroidChart:v3.1.0-alpha' //for charts
5151
viewerImplementation 'org.osmdroid:osmdroid-android:6.0.2'
5252
implementation 'org.apache.httpcomponents:httpclient:4.5.6' //for SOS server
5353
implementation 'org.nanohttpd:nanohttpd:2.3.1' //for SOS server
54-
implementation 'com.github.sofwerx:swe-android:1.0'
54+
implementation 'com.github.sofwerx:swe-android:1.0.1'
5555
implementation 'org.apache.commons:commons-math3:3.6.1' //for statistical analysis
5656
implementation 'mil.nga.geopackage:geopackage-android:3.1.0'
5757
testImplementation 'junit:junit:4.12'

torgi/src/main/java/org/sofwerx/torgi/service/TorgiService.java

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,9 @@ private void setupSosService() {
202202
sosSensor.addMeasurement(sosMeasurementCn0);
203203
sosSensor.addMeasurement(sosMeasurementAgc);
204204
sosSensor.addMeasurement(sosMeasurementRisk);
205-
sosService = new SosService(this, sosSensor,prefs.getString(Config.PREFS_SOS_URL,null), prefs.getBoolean(Config.PREFS_BROADCAST,true) || prefs.getBoolean(Config.PREFS_SEND_TO_SOS,true), Config.isIpcBroadcastEnabled(this));
205+
if (!Config.isSosBroadcastEnabled(this))
206+
assumeDefaultsForSosSensorIfNeeded();
207+
sosService = new SosService(this, sosSensor,Config.isSosBroadcastEnabled(this)?prefs.getString(Config.PREFS_SOS_URL,null):null, prefs.getBoolean(Config.PREFS_BROADCAST,true) || prefs.getBoolean(Config.PREFS_SEND_TO_SOS,true), Config.isIpcBroadcastEnabled(this));
206208
prefChangeListener = (prefs1, key) -> {
207209
if (sosService != null) {
208210
boolean resetSosSensor = false;
@@ -233,6 +235,22 @@ else if (Config.PREFS_BROADCAST.equalsIgnoreCase(key) && (sosService != null))
233235
prefs.registerOnSharedPreferenceChangeListener(prefChangeListener);
234236
}
235237

238+
/**
239+
* No SOS-T server could be reached so the sensor will self-assign and broadcast
240+
* results in the blind
241+
*/
242+
private void assumeDefaultsForSosSensorIfNeeded() {
243+
if ((sosSensor != null) && (sosSensor.getUniqueId() != null)) {
244+
Log.d(TAG,"Contacting an outside SOS server is not enabled, so assuming default Senor assignments if needed");
245+
if (sosSensor.getAssignedProcedure() == null)
246+
sosSensor.setAssignedProcedure(sosSensor.getUniqueId());
247+
if (sosSensor.getAssignedOffering() == null)
248+
sosSensor.setAssignedOffering(sosSensor.getUniqueId()+"-sos");
249+
if (sosSensor.getAssignedTemplate() == null)
250+
sosSensor.setAssignedTemplate(sosSensor.getAssignedProcedure()+"#output0");
251+
}
252+
}
253+
236254
public InputSourceType getInputType() {
237255
return inputSourceType;
238256
}

torgi/src/viewer/java/org/sofwerx/torgi/ui/MainActivity.java

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -726,13 +726,19 @@ public void onHeatmapChange(final Heatmap heatmap) {
726726
if (heatmap != null) {
727727
if (heatmap.getPolygon() != null) {
728728
runOnUiThread(() -> {
729-
heatmap.getPolygon().setFillColor(HeatmapOverlay.getFillColor(heatmap.getRfiRisk()));
730-
osmMap.invalidate();
729+
try {
730+
heatmap.getPolygon().setFillColor(HeatmapOverlay.getFillColor(heatmap.getRfiRisk()));
731+
osmMap.invalidate();
732+
} catch (Exception ignore) {
733+
}
731734
});
732735
} else {
733736
runOnUiThread(() -> {
734-
overlayHeatmap.createPolygon(heatmap);
735-
osmMap.invalidate();
737+
try {
738+
overlayHeatmap.createPolygon(heatmap);
739+
osmMap.invalidate();
740+
} catch (Exception ignore) {
741+
}
736742
});
737743
}
738744
}

0 commit comments

Comments
 (0)