closd TG-6; Initial push after server migration

This commit is contained in:
2026-05-04 08:53:25 +03:00
parent 939f069681
commit 1009f49a59
93 changed files with 16246 additions and 9549 deletions
@@ -49,6 +49,11 @@ public class MenuBinder {
boolean screenEnabled = settingsManager.isKeepScreenOnEnabled();
screenItem.setTitle(screenEnabled ? "Экран ✓" : "Экран");
}
MenuItem seamarksItem = menu.findItem(R.id.menu_seamarks);
if (seamarksItem != null) {
boolean seamarksEnabled = settingsManager.isSeamarksEnabled();
seamarksItem.setTitle(seamarksEnabled ? "Морские знаки ✓" : "Морские знаки");
}
return true;
} catch (Exception e) {
Log.w(TAG, "onPrepareOptionsMenu: " + e.getMessage());
@@ -78,6 +83,9 @@ public class MenuBinder {
} else if (id == R.id.menu_keep_screen_on) {
actions.toggleKeepScreenOn();
return true;
} else if (id == R.id.menu_seamarks) {
actions.toggleSeamarks();
return true;
}
} catch (Exception e) {
Log.w(TAG, "onOptionsItemSelected error: " + e.getMessage());
@@ -95,6 +103,7 @@ public class MenuBinder {
void togglePathTracking();
void testForegroundService();
void toggleKeepScreenOn();
void toggleSeamarks();
}
}
@@ -10,6 +10,8 @@ import com.grigowashere.aismap.models.Vessel;
import com.grigowashere.aismap.models.AISVessel;
import java.util.HashSet;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.HashMap;
@@ -156,10 +158,10 @@ public class UIRenderingCoordinator implements UIDataChangeNotifier, MapInterfac
mapInterface.removeAISVesselMarker(mmsi);
}
// Обновляем или добавляем суда (различать не будем - MapInterface сам решит)
for (AISVessel vessel : pendingAISUpdates.values()) {
Log.d(TAG, "Обновляем/добавляем AIS судно: " + vessel.getMmsi());
mapInterface.updateAISVesselPosition(vessel);
// Обновляем или добавляем суда пачкой, чтобы карта сделала один GeoJSON refresh.
List<AISVessel> updates = new ArrayList<>(pendingAISUpdates.values());
if (!updates.isEmpty()) {
mapInterface.updateAISVesselPositions(updates);
}
Log.d(TAG, "AIS updates выполнены: удалено=" + pendingAISRemovals.size() +