generated from Grigo/AndroidTemplate
Added radar
This commit is contained in:
@@ -191,6 +191,7 @@ public class BottomSheetsManager {
|
||||
TextView tvSignal = aisBottomSheetView.findViewById(R.id.bottom_sheet_ais_signal);
|
||||
TextView tvDistance = aisBottomSheetView.findViewById(R.id.bottom_sheet_ais_distance);
|
||||
TextView tvBearing = aisBottomSheetView.findViewById(R.id.bottom_sheet_ais_bearing);
|
||||
TextView tvCpa = aisBottomSheetView.findViewById(R.id.bottom_sheet_ais_cpa);
|
||||
TextView tvLastUpdate = aisBottomSheetView.findViewById(R.id.bottom_sheet_ais_last_update);
|
||||
TextView tvTimeAgo = aisBottomSheetView.findViewById(R.id.bottom_sheet_ais_time_ago);
|
||||
|
||||
@@ -233,17 +234,52 @@ public class BottomSheetsManager {
|
||||
}
|
||||
if (tvLastUpdate != null) tvLastUpdate.setText(vessel.getLastUpdate() != null ? String.format("Обновлено: %s", vessel.getLastUpdate().format(java.time.format.DateTimeFormatter.ofPattern("dd.MM.yyyy HH:mm:ss"))) : "Обновлено: --");
|
||||
|
||||
if (tvDistance != null || tvBearing != null) {
|
||||
Vessel ourVessel = appCoordinator.getOwnVessel();
|
||||
if (ourVessel != null && ourVessel.getLatitude() != 0 && ourVessel.getLongitude() != 0 && vessel.getLatitude() != 0 && vessel.getLongitude() != 0) {
|
||||
double distance = com.grigowashere.aismap.utils.NavigationUtils.calculateDistance(ourVessel.getLatitude(), ourVessel.getLongitude(), vessel.getLatitude(), vessel.getLongitude());
|
||||
if (tvDistance != null) tvDistance.setText("Расстояние: " + com.grigowashere.aismap.utils.NavigationUtils.formatDistance(distance));
|
||||
double bearing = com.grigowashere.aismap.utils.NavigationUtils.calculateBearing(ourVessel.getLatitude(), ourVessel.getLongitude(), vessel.getLatitude(), vessel.getLongitude());
|
||||
double relativeBearing = com.grigowashere.aismap.utils.NavigationUtils.calculateRelativeBearing(ourVessel.getCourse(), bearing);
|
||||
if (tvBearing != null) tvBearing.setText("Пеленг: " + com.grigowashere.aismap.utils.NavigationUtils.formatRelativeBearing(relativeBearing));
|
||||
if (tvDistance != null || tvBearing != null || tvCpa != null) {
|
||||
Vessel ourVessel = appCoordinator.getOwnVessel();
|
||||
String cpaNa = context.getString(R.string.cpa_na);
|
||||
if (ourVessel != null && ourVessel.getLatitude() != 0 && ourVessel.getLongitude() != 0
|
||||
&& vessel.getLatitude() != 0 && vessel.getLongitude() != 0) {
|
||||
double distance = com.grigowashere.aismap.utils.NavigationUtils.calculateDistance(
|
||||
ourVessel.getLatitude(), ourVessel.getLongitude(),
|
||||
vessel.getLatitude(), vessel.getLongitude());
|
||||
if (tvDistance != null) {
|
||||
tvDistance.setText("Расстояние: "
|
||||
+ com.grigowashere.aismap.utils.NavigationUtils.formatDistance(distance));
|
||||
}
|
||||
double bearing = com.grigowashere.aismap.utils.NavigationUtils.calculateBearing(
|
||||
ourVessel.getLatitude(), ourVessel.getLongitude(),
|
||||
vessel.getLatitude(), vessel.getLongitude());
|
||||
double relativeBearing = com.grigowashere.aismap.utils.NavigationUtils.calculateRelativeBearing(
|
||||
ourVessel.getCourse(), bearing);
|
||||
if (tvBearing != null) {
|
||||
tvBearing.setText("Пеленг: "
|
||||
+ com.grigowashere.aismap.utils.NavigationUtils.formatRelativeBearing(relativeBearing));
|
||||
}
|
||||
if (tvCpa != null) {
|
||||
com.grigowashere.aismap.utils.SettingsManager sm =
|
||||
new com.grigowashere.aismap.utils.SettingsManager(context);
|
||||
boolean useNm = com.grigowashere.aismap.utils.SettingsManager.RANGE_UNIT_NM
|
||||
.equals(sm.getRangeUnit());
|
||||
com.grigowashere.aismap.utils.RangeMath.CpaResult cpa =
|
||||
com.grigowashere.aismap.utils.RangeMath.calculateCpa(
|
||||
ourVessel.getLatitude(), ourVessel.getLongitude(),
|
||||
ourVessel.getSpeed(), ourVessel.getCourse(), ourVessel.getHeading(),
|
||||
vessel.getLatitude(), vessel.getLongitude(),
|
||||
vessel.getSpeed(), vessel.getCourse(), vessel.getHeading());
|
||||
if (cpa.valid) {
|
||||
String cpaDist = com.grigowashere.aismap.utils.RangeMath.formatCpaDistance(
|
||||
cpa.cpaMeters, useNm, java.util.Locale.getDefault());
|
||||
String tcpa = com.grigowashere.aismap.utils.RangeMath.formatTcpa(
|
||||
cpa.tcpaMinutes, java.util.Locale.getDefault());
|
||||
tvCpa.setText(context.getString(R.string.bottom_sheet_ais_cpa, cpaDist, tcpa));
|
||||
} else {
|
||||
tvCpa.setText(context.getString(R.string.bottom_sheet_ais_cpa, cpaNa, cpaNa));
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (tvDistance != null) tvDistance.setText("Расстояние: --");
|
||||
if (tvBearing != null) tvBearing.setText("Пеленг: --");
|
||||
if (tvCpa != null) tvCpa.setText(context.getString(R.string.bottom_sheet_ais_cpa, cpaNa, cpaNa));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user