From 3e53cf28d3532a719026f39176c3b2cc06235414 Mon Sep 17 00:00:00 2001 From: matheusgomesms Date: Thu, 11 Dec 2025 09:54:34 -0300 Subject: [PATCH] Disable 3D buildings for Android Auto Signed-off-by: matheusgomesms --- .../src/main/java/app/organicmaps/car/CarAppSession.java | 2 ++ android/sdk/src/main/cpp/app/organicmaps/sdk/Framework.cpp | 6 ++++++ .../sdk/src/main/java/app/organicmaps/sdk/Framework.java | 2 ++ 3 files changed, 10 insertions(+) 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 ab97f90ed..643d2dbbb 100644 --- a/android/app/src/main/java/app/organicmaps/car/CarAppSession.java +++ b/android/app/src/main/java/app/organicmaps/car/CarAppSession.java @@ -114,6 +114,7 @@ public final class CarAppSession extends Session implements DefaultLifecycleObse public void onCreate(@NonNull LifecycleOwner owner) { Logger.d(TAG); + Framework.nativeSetCarScreenMode(true); mSensorsManager = new CarSensorsManager(getCarContext()); mDisplayManager = MwmApplication.from(getCarContext()).getDisplayManager(); mDisplayManager.addListener(DisplayType.Car, this); @@ -159,6 +160,7 @@ public final class CarAppSession extends Session implements DefaultLifecycleObse public void onDestroy(@NonNull LifecycleOwner owner) { mDisplayManager.removeListener(DisplayType.Car); + Framework.nativeSetCarScreenMode(false); } private void init() diff --git a/android/sdk/src/main/cpp/app/organicmaps/sdk/Framework.cpp b/android/sdk/src/main/cpp/app/organicmaps/sdk/Framework.cpp index 4a7913b47..dd5fb288a 100644 --- a/android/sdk/src/main/cpp/app/organicmaps/sdk/Framework.cpp +++ b/android/sdk/src/main/cpp/app/organicmaps/sdk/Framework.cpp @@ -1490,6 +1490,12 @@ JNIEXPORT void JNICALL Java_app_organicmaps_sdk_Framework_nativeSet3dMode(JNIEnv g_framework->Set3dMode(allow3d, allow3dBuildings); } +JNIEXPORT void JNICALL Java_app_organicmaps_sdk_Framework_nativeSetCarScreenMode(JNIEnv * env, jclass, jboolean enabled) +{ + if (g_framework) + frm()->SetCarScreenMode(static_cast(enabled)); +} + JNIEXPORT void JNICALL Java_app_organicmaps_sdk_Framework_nativeGet3dMode(JNIEnv * env, jclass, jobject result) { bool enabled; diff --git a/android/sdk/src/main/java/app/organicmaps/sdk/Framework.java b/android/sdk/src/main/java/app/organicmaps/sdk/Framework.java index d0dc92311..a54c9ee15 100644 --- a/android/sdk/src/main/java/app/organicmaps/sdk/Framework.java +++ b/android/sdk/src/main/java/app/organicmaps/sdk/Framework.java @@ -276,6 +276,8 @@ public class Framework public static native void nativeSet3dMode(boolean allow3d, boolean allow3dBuildings); + public static native void nativeSetCarScreenMode(boolean enabled); + public static native boolean nativeGetAutoZoomEnabled(); public static native void nativeSetAutoZoomEnabled(boolean enabled);