From 0c28dcbabdbc42b65bd8354e6336c536d80255c4 Mon Sep 17 00:00:00 2001 From: Andrew Shkrob Date: Fri, 27 Dec 2024 15:00:41 +0100 Subject: [PATCH] [android-auto] Check for world maps after init Signed-off-by: Andrew Shkrob --- .../src/main/java/app/organicmaps/car/CarAppSession.java | 9 +++++---- .../car/screens/download/DownloaderHelpers.java | 1 - 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/android/app/src/main/java/app/organicmaps/car/CarAppSession.java b/android/app/src/main/java/app/organicmaps/car/CarAppSession.java index fd20c22a7e..ed210279eb 100644 --- a/android/app/src/main/java/app/organicmaps/car/CarAppSession.java +++ b/android/app/src/main/java/app/organicmaps/car/CarAppSession.java @@ -161,7 +161,11 @@ public final class CarAppSession extends Session implements DefaultLifecycleObse mInitFailed = false; try { - MwmApplication.from(getCarContext()).init(() -> Config.setFirstStartDialogSeen(getCarContext())); + MwmApplication.from(getCarContext()).init(() -> { + Config.setFirstStartDialogSeen(getCarContext()); + if (DownloaderHelpers.isWorldMapsDownloadNeeded()) + mScreenManager.push(new DownloadMapsScreenBuilder(getCarContext()).setDownloaderType(DownloadMapsScreenBuilder.DownloaderType.FirstLaunch).build()); + }); } catch (IOException e) { mInitFailed = true; @@ -178,9 +182,6 @@ public final class CarAppSession extends Session implements DefaultLifecycleObse final List screensStack = new ArrayList<>(); screensStack.add(new MapScreen(getCarContext(), mSurfaceRenderer)); - if (DownloaderHelpers.isWorldMapsDownloadNeeded()) - screensStack.add(new DownloadMapsScreenBuilder(getCarContext()).setDownloaderType(DownloadMapsScreenBuilder.DownloaderType.FirstLaunch).build()); - if (!LocationUtils.checkFineLocationPermission(getCarContext())) screensStack.add(new RequestPermissionsScreen(getCarContext(), mSensorsManager::onStart)); diff --git a/android/app/src/main/java/app/organicmaps/car/screens/download/DownloaderHelpers.java b/android/app/src/main/java/app/organicmaps/car/screens/download/DownloaderHelpers.java index bcd4ce0c38..7c899f88fd 100644 --- a/android/app/src/main/java/app/organicmaps/car/screens/download/DownloaderHelpers.java +++ b/android/app/src/main/java/app/organicmaps/car/screens/download/DownloaderHelpers.java @@ -20,7 +20,6 @@ public final class DownloaderHelpers @SuppressWarnings("ConstantConditions") public static boolean isWorldMapsDownloadNeeded() { - // TODO: Maps are asynchronously initialized in the core. If the initialization takes a significant amount of time, the downloader screen could potentially be displayed, even if the world maps are present. if (BuildConfig.FLAVOR.equals("fdroid")) return !CountryItem.fill(WORLD_MAPS[0]).present || !CountryItem.fill(WORLD_MAPS[1]).present; return false;