[android][sdk] Move routing types to .sdk.routing

Signed-off-by: Andrei Shkrob <github@shkrob.dev>
This commit is contained in:
Andrei Shkrob
2025-01-17 20:12:01 +01:00
committed by Konstantin Pastbin
parent 3d7d754785
commit db275a4491
39 changed files with 94 additions and 74 deletions

View File

@@ -26,6 +26,7 @@ set(SRC
app/organicmaps/sdk/search/SearchEngine.cpp app/organicmaps/sdk/search/SearchEngine.cpp
app/organicmaps/sdk/search/SearchRecents.cpp app/organicmaps/sdk/search/SearchRecents.cpp
app/organicmaps/sdk/routing/RouteRecommendationType.hpp app/organicmaps/sdk/routing/RouteRecommendationType.hpp
app/organicmaps/sdk/routing/RoutingOptions.cpp
app/organicmaps/sdk/ChoosePositionMode.cpp app/organicmaps/sdk/ChoosePositionMode.cpp
app/organicmaps/sdk/MapStyle.cpp app/organicmaps/sdk/MapStyle.cpp
app/organicmaps/sdk/OrganicMaps.cpp app/organicmaps/sdk/OrganicMaps.cpp
@@ -43,7 +44,6 @@ set(SRC
app/organicmaps/LocationState.cpp app/organicmaps/LocationState.cpp
app/organicmaps/Map.cpp app/organicmaps/Map.cpp
app/organicmaps/MapManager.cpp app/organicmaps/MapManager.cpp
app/organicmaps/routing/RoutingOptions.cpp
app/organicmaps/settings/UnitLocale.cpp app/organicmaps/settings/UnitLocale.cpp
app/organicmaps/settings/MapLanguageCode.cpp app/organicmaps/settings/MapLanguageCode.cpp
app/organicmaps/sound/tts.cpp app/organicmaps/sound/tts.cpp

View File

@@ -1280,7 +1280,7 @@ Java_app_organicmaps_Framework_nativeGetRouteFollowingInfo(JNIEnv * env, jclass)
if (!info.IsValid()) if (!info.IsValid())
return nullptr; return nullptr;
static jclass const klass = jni::GetGlobalClassRef(env, "app/organicmaps/routing/RoutingInfo"); static jclass const klass = jni::GetGlobalClassRef(env, "app/organicmaps/sdk/routing/RoutingInfo");
// Java signature : RoutingInfo(Distance distToTarget, Distance distToTurn, // Java signature : RoutingInfo(Distance distToTarget, Distance distToTurn,
// String currentStreet, String nextStreet, String nextNextStreet, // String currentStreet, String nextStreet, String nextNextStreet,
// double completionPercent, int vehicleTurnOrdinal, int // double completionPercent, int vehicleTurnOrdinal, int
@@ -1290,13 +1290,13 @@ Java_app_organicmaps_Framework_nativeGetRouteFollowingInfo(JNIEnv * env, jclass)
jni::GetConstructorID(env, klass, jni::GetConstructorID(env, klass,
"(Lapp/organicmaps/util/Distance;Lapp/organicmaps/util/Distance;" "(Lapp/organicmaps/util/Distance;Lapp/organicmaps/util/Distance;"
"Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;DIIIII" "Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;DIIIII"
"[Lapp/organicmaps/routing/SingleLaneInfo;DZZ)V"); "[Lapp/organicmaps/sdk/routing/SingleLaneInfo;DZZ)V");
vector<routing::FollowingInfo::SingleLaneInfoClient> const & lanes = info.m_lanes; vector<routing::FollowingInfo::SingleLaneInfoClient> const & lanes = info.m_lanes;
jobjectArray jLanes = nullptr; jobjectArray jLanes = nullptr;
if (!lanes.empty()) if (!lanes.empty())
{ {
static jclass const laneClass = jni::GetGlobalClassRef(env, "app/organicmaps/routing/SingleLaneInfo"); static jclass const laneClass = jni::GetGlobalClassRef(env, "app/organicmaps/sdk/routing/SingleLaneInfo");
auto const lanesSize = static_cast<jsize>(lanes.size()); auto const lanesSize = static_cast<jsize>(lanes.size());
jLanes = env->NewObjectArray(lanesSize, laneClass, nullptr); jLanes = env->NewObjectArray(lanesSize, laneClass, nullptr);
ASSERT(jLanes, (jni::DescribeException())); ASSERT(jLanes, (jni::DescribeException()));
@@ -1341,7 +1341,7 @@ Java_app_organicmaps_Framework_nativeGetRouteJunctionPoints(JNIEnv * env, jclass
return nullptr; return nullptr;
} }
static jclass const junctionClazz = jni::GetGlobalClassRef(env, "app/organicmaps/routing/JunctionInfo"); static jclass const junctionClazz = jni::GetGlobalClassRef(env, "app/organicmaps/sdk/routing/JunctionInfo");
// Java signature : JunctionInfo(double lat, double lon) // Java signature : JunctionInfo(double lat, double lon)
static jmethodID const junctionConstructor = jni::GetConstructorID(env, junctionClazz, "(DD)V"); static jmethodID const junctionConstructor = jni::GetConstructorID(env, junctionClazz, "(DD)V");
@@ -1550,7 +1550,7 @@ Java_app_organicmaps_Framework_nativeGetRoutePoints(JNIEnv * env, jclass)
auto const points = frm()->GetRoutingManager().GetRoutePoints(); auto const points = frm()->GetRoutingManager().GetRoutePoints();
static jclass const pointClazz = jni::GetGlobalClassRef(env, static jclass const pointClazz = jni::GetGlobalClassRef(env,
"app/organicmaps/routing/RouteMarkData"); "app/organicmaps/sdk/routing/RouteMarkData");
// Java signature : RouteMarkData(String title, String subtitle, // Java signature : RouteMarkData(String title, String subtitle,
// @RoutePointInfo.RouteMarkType int pointType, // @RoutePointInfo.RouteMarkType int pointType,
// int intermediateIndex, boolean isVisible, boolean isMyPosition, // int intermediateIndex, boolean isVisible, boolean isMyPosition,
@@ -1586,7 +1586,7 @@ Java_app_organicmaps_Framework_nativeGetTransitRouteInfo(JNIEnv * env, jclass)
auto const routeInfo = frm()->GetRoutingManager().GetTransitRouteInfo(); auto const routeInfo = frm()->GetRoutingManager().GetTransitRouteInfo();
static jclass const transitStepClass = jni::GetGlobalClassRef(env, static jclass const transitStepClass = jni::GetGlobalClassRef(env,
"app/organicmaps/routing/TransitStepInfo"); "app/organicmaps/sdk/routing/TransitStepInfo");
// Java signature : TransitStepInfo(@TransitType int type, @Nullable String distance, @Nullable String distanceUnits, // Java signature : TransitStepInfo(@TransitType int type, @Nullable String distance, @Nullable String distanceUnits,
// int timeInSec, @Nullable String number, int color, int intermediateIndex) // int timeInSec, @Nullable String number, int color, int intermediateIndex)
static jmethodID const transitStepConstructor = jni::GetConstructorID(env, transitStepClass, static jmethodID const transitStepConstructor = jni::GetConstructorID(env, transitStepClass,
@@ -1610,14 +1610,14 @@ Java_app_organicmaps_Framework_nativeGetTransitRouteInfo(JNIEnv * env, jclass)
})); }));
static jclass const transitRouteInfoClass = jni::GetGlobalClassRef(env, static jclass const transitRouteInfoClass = jni::GetGlobalClassRef(env,
"app/organicmaps/routing/TransitRouteInfo"); "app/organicmaps/sdk/routing/TransitRouteInfo");
// Java signature : TransitRouteInfo(@NonNull String totalDistance, @NonNull String totalDistanceUnits, int totalTimeInSec, // Java signature : TransitRouteInfo(@NonNull String totalDistance, @NonNull String totalDistanceUnits, int totalTimeInSec,
// @NonNull String totalPedestrianDistance, @NonNull String totalPedestrianDistanceUnits, // @NonNull String totalPedestrianDistance, @NonNull String totalPedestrianDistanceUnits,
// int totalPedestrianTimeInSec, @NonNull TransitStepInfo[] steps) // int totalPedestrianTimeInSec, @NonNull TransitStepInfo[] steps)
static jmethodID const transitRouteInfoConstructor = jni::GetConstructorID(env, transitRouteInfoClass, static jmethodID const transitRouteInfoConstructor = jni::GetConstructorID(env, transitRouteInfoClass,
"(Ljava/lang/String;Ljava/lang/String;I" "(Ljava/lang/String;Ljava/lang/String;I"
"Ljava/lang/String;Ljava/lang/String;I" "Ljava/lang/String;Ljava/lang/String;I"
"[Lapp/organicmaps/routing/TransitStepInfo;)V"); "[Lapp/organicmaps/sdk/routing/TransitStepInfo;)V");
jni::TScopedLocalRef const distance(env, jni::ToJavaString(env, routeInfo.m_totalDistanceStr)); jni::TScopedLocalRef const distance(env, jni::ToJavaString(env, routeInfo.m_totalDistanceStr));
jni::TScopedLocalRef const distanceUnits(env, jni::ToJavaString(env, routeInfo.m_totalDistanceUnitsSuffix)); jni::TScopedLocalRef const distanceUnits(env, jni::ToJavaString(env, routeInfo.m_totalDistanceUnitsSuffix));
jni::TScopedLocalRef const distancePedestrian(env, jni::ToJavaString(env, routeInfo.m_totalPedestrianDistanceStr)); jni::TScopedLocalRef const distancePedestrian(env, jni::ToJavaString(env, routeInfo.m_totalPedestrianDistanceStr));

View File

@@ -47,7 +47,7 @@ jobject CreateMapObject(JNIEnv * env, place_page::Info const & info, int mapObje
static jmethodID const ctorId = jni::GetConstructorID( static jmethodID const ctorId = jni::GetConstructorID(
env, g_mapObjectClazz, env, g_mapObjectClazz,
"(" "("
"Lapp/organicmaps/bookmarks/data/FeatureId;" // featureId "Lapp/organicmaps/bookmarks/data/FeatureId;" // featureId
"I" // mapObjectType "I" // mapObjectType
"Ljava/lang/String;" // title "Ljava/lang/String;" // title
"Ljava/lang/String;" // secondaryTitle "Ljava/lang/String;" // secondaryTitle
@@ -55,7 +55,7 @@ jobject CreateMapObject(JNIEnv * env, place_page::Info const & info, int mapObje
"Ljava/lang/String;" // address "Ljava/lang/String;" // address
"DD" // lat, lon "DD" // lat, lon
"Ljava/lang/String;" // appId "Ljava/lang/String;" // appId
"Lapp/organicmaps/routing/RoutePointInfo;" // routePointInfo "Lapp/organicmaps/sdk/routing/RoutePointInfo;" // routePointInfo
"I" // openingMode "I" // openingMode
"Lapp/organicmaps/sdk/search/Popularity;" // popularity "Lapp/organicmaps/sdk/search/Popularity;" // popularity
"Ljava/lang/String;" // description "Ljava/lang/String;" // description
@@ -104,7 +104,7 @@ jobject CreateBookmark(JNIEnv *env, const place_page::Info &info,
jni::GetConstructorID(env, g_bookmarkClazz, jni::GetConstructorID(env, g_bookmarkClazz,
"(Lapp/organicmaps/bookmarks/data/FeatureId;JJLjava/lang/String;" "(Lapp/organicmaps/bookmarks/data/FeatureId;JJLjava/lang/String;"
"Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;" "Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;"
"Lapp/organicmaps/routing/RoutePointInfo;" "Lapp/organicmaps/sdk/routing/RoutePointInfo;"
"ILapp/organicmaps/sdk/search/Popularity;Ljava/lang/String;" "ILapp/organicmaps/sdk/search/Popularity;Ljava/lang/String;"
"[Ljava/lang/String;)V"); "[Ljava/lang/String;)V");
static jmethodID const featureCtorId = static jmethodID const featureCtorId =
@@ -215,7 +215,7 @@ jobject CreateMapObject(JNIEnv * env, place_page::Info const & info)
jobject CreateRoutePointInfo(JNIEnv * env, place_page::Info const & info) jobject CreateRoutePointInfo(JNIEnv * env, place_page::Info const & info)
{ {
static jclass const clazz = jni::GetGlobalClassRef(env, "app/organicmaps/routing/RoutePointInfo"); static jclass const clazz = jni::GetGlobalClassRef(env, "app/organicmaps/sdk/routing/RoutePointInfo");
static jmethodID const ctorId = jni::GetConstructorID(env, clazz, "(II)V"); static jmethodID const ctorId = jni::GetConstructorID(env, clazz, "(II)V");
int const markType = static_cast<int>(info.GetRouteMarkType()); int const markType = static_cast<int>(info.GetRouteMarkType());
return env->NewObject(clazz, ctorId, markType, info.GetIntermediateIndex()); return env->NewObject(clazz, ctorId, markType, info.GetIntermediateIndex());

View File

@@ -5,16 +5,15 @@
routing::RoutingOptions::Road makeValue(jint option) routing::RoutingOptions::Road makeValue(jint option)
{ {
uint8_t const road = static_cast<uint8_t>(1u << static_cast<int>(option)); auto const road = static_cast<uint8_t>(1u << static_cast<int>(option));
CHECK_LESS(road, static_cast<uint8_t>(routing::RoutingOptions::Road::Max), ()); CHECK_LESS(road, static_cast<uint8_t>(routing::RoutingOptions::Road::Max), ());
return static_cast<routing::RoutingOptions::Road>(road); return static_cast<routing::RoutingOptions::Road>(road);
} }
extern "C" extern "C"
{ {
JNIEXPORT jboolean JNICALL Java_app_organicmaps_sdk_routing_RoutingOptions_nativeHasOption(JNIEnv *, jclass,
JNIEXPORT jboolean JNICALL jint option)
Java_app_organicmaps_routing_RoutingOptions_nativeHasOption(JNIEnv * env, jclass clazz, jint option)
{ {
CHECK(g_framework, ("Framework isn't created yet!")); CHECK(g_framework, ("Framework isn't created yet!"));
routing::RoutingOptions routingOptions = routing::RoutingOptions::LoadCarOptionsFromSettings(); routing::RoutingOptions routingOptions = routing::RoutingOptions::LoadCarOptionsFromSettings();
@@ -22,8 +21,7 @@ Java_app_organicmaps_routing_RoutingOptions_nativeHasOption(JNIEnv * env, jclass
return static_cast<jboolean>(routingOptions.Has(road)); return static_cast<jboolean>(routingOptions.Has(road));
} }
JNIEXPORT void JNICALL JNIEXPORT void JNICALL Java_app_organicmaps_sdk_routing_RoutingOptions_nativeAddOption(JNIEnv *, jclass, jint option)
Java_app_organicmaps_routing_RoutingOptions_nativeAddOption(JNIEnv * env, jclass clazz, jint option)
{ {
CHECK(g_framework, ("Framework isn't created yet!")); CHECK(g_framework, ("Framework isn't created yet!"));
routing::RoutingOptions routingOptions = routing::RoutingOptions::LoadCarOptionsFromSettings(); routing::RoutingOptions routingOptions = routing::RoutingOptions::LoadCarOptionsFromSettings();
@@ -32,9 +30,7 @@ Java_app_organicmaps_routing_RoutingOptions_nativeAddOption(JNIEnv * env, jclass
routing::RoutingOptions::SaveCarOptionsToSettings(routingOptions); routing::RoutingOptions::SaveCarOptionsToSettings(routingOptions);
} }
JNIEXPORT void JNICALL Java_app_organicmaps_sdk_routing_RoutingOptions_nativeRemoveOption(JNIEnv *, jclass, jint option)
JNIEXPORT void JNICALL
Java_app_organicmaps_routing_RoutingOptions_nativeRemoveOption(JNIEnv * env, jclass clazz, jint option)
{ {
CHECK(g_framework, ("Framework isn't created yet!")); CHECK(g_framework, ("Framework isn't created yet!"));
routing::RoutingOptions routingOptions = routing::RoutingOptions::LoadCarOptionsFromSettings(); routing::RoutingOptions routingOptions = routing::RoutingOptions::LoadCarOptionsFromSettings();

View File

@@ -13,13 +13,12 @@ import app.organicmaps.api.RequestType;
import app.organicmaps.bookmarks.data.DistanceAndAzimut; import app.organicmaps.bookmarks.data.DistanceAndAzimut;
import app.organicmaps.bookmarks.data.FeatureId; import app.organicmaps.bookmarks.data.FeatureId;
import app.organicmaps.bookmarks.data.MapObject; import app.organicmaps.bookmarks.data.MapObject;
import app.organicmaps.products.Product;
import app.organicmaps.products.ProductsConfig; import app.organicmaps.products.ProductsConfig;
import app.organicmaps.routing.JunctionInfo; import app.organicmaps.sdk.routing.JunctionInfo;
import app.organicmaps.routing.RouteMarkData; import app.organicmaps.sdk.routing.RouteMarkData;
import app.organicmaps.routing.RoutePointInfo; import app.organicmaps.sdk.routing.RoutePointInfo;
import app.organicmaps.routing.RoutingInfo; import app.organicmaps.sdk.routing.RoutingInfo;
import app.organicmaps.routing.TransitRouteInfo; import app.organicmaps.sdk.routing.TransitRouteInfo;
import app.organicmaps.sdk.PlacePageActivationListener; import app.organicmaps.sdk.PlacePageActivationListener;
import app.organicmaps.sdk.routing.RoutingListener; import app.organicmaps.sdk.routing.RoutingListener;
import app.organicmaps.sdk.routing.RoutingLoadPointsListener; import app.organicmaps.sdk.routing.RoutingLoadPointsListener;

View File

@@ -79,11 +79,11 @@ import app.organicmaps.maplayer.isolines.IsolinesState;
import app.organicmaps.routing.ManageRouteBottomSheet; import app.organicmaps.routing.ManageRouteBottomSheet;
import app.organicmaps.routing.NavigationController; import app.organicmaps.routing.NavigationController;
import app.organicmaps.routing.NavigationService; import app.organicmaps.routing.NavigationService;
import app.organicmaps.routing.RoutePointInfo; import app.organicmaps.sdk.routing.RoutePointInfo;
import app.organicmaps.routing.RoutingBottomMenuListener; import app.organicmaps.routing.RoutingBottomMenuListener;
import app.organicmaps.routing.RoutingController; import app.organicmaps.routing.RoutingController;
import app.organicmaps.routing.RoutingErrorDialogFragment; import app.organicmaps.routing.RoutingErrorDialogFragment;
import app.organicmaps.routing.RoutingOptions; import app.organicmaps.sdk.routing.RoutingOptions;
import app.organicmaps.routing.RoutingPlanFragment; import app.organicmaps.routing.RoutingPlanFragment;
import app.organicmaps.routing.RoutingPlanInplaceController; import app.organicmaps.routing.RoutingPlanInplaceController;
import app.organicmaps.sdk.ChoosePositionMode; import app.organicmaps.sdk.ChoosePositionMode;

View File

@@ -10,7 +10,7 @@ import androidx.annotation.Nullable;
import androidx.core.os.ParcelCompat; import androidx.core.os.ParcelCompat;
import app.organicmaps.Framework; import app.organicmaps.Framework;
import app.organicmaps.routing.RoutePointInfo; import app.organicmaps.sdk.routing.RoutePointInfo;
import app.organicmaps.sdk.search.Popularity; import app.organicmaps.sdk.search.Popularity;
import app.organicmaps.util.Constants; import app.organicmaps.util.Constants;

View File

@@ -11,7 +11,7 @@ import androidx.annotation.Nullable;
import androidx.core.os.ParcelCompat; import androidx.core.os.ParcelCompat;
import app.organicmaps.Framework; import app.organicmaps.Framework;
import app.organicmaps.routing.RoutePointInfo; import app.organicmaps.sdk.routing.RoutePointInfo;
import app.organicmaps.sdk.search.Popularity; import app.organicmaps.sdk.search.Popularity;
import app.organicmaps.util.Utils; import app.organicmaps.util.Utils;
import app.organicmaps.widget.placepage.PlacePageData; import app.organicmaps.widget.placepage.PlacePageData;

View File

@@ -30,10 +30,10 @@ import app.organicmaps.car.util.ThemeUtils;
import app.organicmaps.car.util.UiHelpers; import app.organicmaps.car.util.UiHelpers;
import app.organicmaps.location.LocationHelper; import app.organicmaps.location.LocationHelper;
import app.organicmaps.location.LocationListener; import app.organicmaps.location.LocationListener;
import app.organicmaps.routing.JunctionInfo; import app.organicmaps.sdk.routing.JunctionInfo;
import app.organicmaps.routing.NavigationService; import app.organicmaps.routing.NavigationService;
import app.organicmaps.routing.RoutingController; import app.organicmaps.routing.RoutingController;
import app.organicmaps.routing.RoutingInfo; import app.organicmaps.sdk.routing.RoutingInfo;
import app.organicmaps.sound.TtsPlayer; import app.organicmaps.sound.TtsPlayer;
import app.organicmaps.util.LocationUtils; import app.organicmaps.util.LocationUtils;
import app.organicmaps.util.log.Logger; import app.organicmaps.util.log.Logger;

View File

@@ -41,7 +41,7 @@ import app.organicmaps.car.util.UiHelpers;
import app.organicmaps.location.LocationHelper; import app.organicmaps.location.LocationHelper;
import app.organicmaps.routing.ResultCodesHelper; import app.organicmaps.routing.ResultCodesHelper;
import app.organicmaps.routing.RoutingController; import app.organicmaps.routing.RoutingController;
import app.organicmaps.routing.RoutingInfo; import app.organicmaps.sdk.routing.RoutingInfo;
import app.organicmaps.sdk.Router; import app.organicmaps.sdk.Router;
import app.organicmaps.util.Config; import app.organicmaps.util.Config;

View File

@@ -18,7 +18,7 @@ import app.organicmaps.car.SurfaceRenderer;
import app.organicmaps.car.screens.base.BaseMapScreen; import app.organicmaps.car.screens.base.BaseMapScreen;
import app.organicmaps.car.util.Toggle; import app.organicmaps.car.util.Toggle;
import app.organicmaps.car.util.UiHelpers; import app.organicmaps.car.util.UiHelpers;
import app.organicmaps.routing.RoutingOptions; import app.organicmaps.sdk.routing.RoutingOptions;
import app.organicmaps.settings.RoadType; import app.organicmaps.settings.RoadType;
import java.util.HashMap; import java.util.HashMap;

View File

@@ -8,8 +8,8 @@ import androidx.car.app.navigation.model.LaneDirection;
import androidx.car.app.navigation.model.Maneuver; import androidx.car.app.navigation.model.Maneuver;
import androidx.core.graphics.drawable.IconCompat; import androidx.core.graphics.drawable.IconCompat;
import app.organicmaps.routing.RoutingInfo; import app.organicmaps.sdk.routing.RoutingInfo;
import app.organicmaps.routing.SingleLaneInfo; import app.organicmaps.sdk.routing.SingleLaneInfo;
public final class RoutingHelpers public final class RoutingHelpers
{ {

View File

@@ -15,8 +15,8 @@ import androidx.car.app.navigation.model.Trip;
import androidx.core.graphics.drawable.IconCompat; import androidx.core.graphics.drawable.IconCompat;
import app.organicmaps.bookmarks.data.MapObject; import app.organicmaps.bookmarks.data.MapObject;
import app.organicmaps.routing.RoutingInfo; import app.organicmaps.sdk.routing.RoutingInfo;
import app.organicmaps.routing.SingleLaneInfo; import app.organicmaps.sdk.routing.SingleLaneInfo;
import app.organicmaps.util.Graphics; import app.organicmaps.util.Graphics;
import app.organicmaps.widget.LanesDrawable; import app.organicmaps.widget.LanesDrawable;

View File

@@ -25,7 +25,7 @@ import app.organicmaps.Map;
import app.organicmaps.MwmApplication; import app.organicmaps.MwmApplication;
import app.organicmaps.bookmarks.data.FeatureId; import app.organicmaps.bookmarks.data.FeatureId;
import app.organicmaps.bookmarks.data.MapObject; import app.organicmaps.bookmarks.data.MapObject;
import app.organicmaps.routing.JunctionInfo; import app.organicmaps.sdk.routing.JunctionInfo;
import app.organicmaps.routing.RoutingController; import app.organicmaps.routing.RoutingController;
import app.organicmaps.util.Config; import app.organicmaps.util.Config;
import app.organicmaps.util.LocationUtils; import app.organicmaps.util.LocationUtils;

View File

@@ -5,7 +5,7 @@ import android.location.Location;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import app.organicmaps.routing.JunctionInfo; import app.organicmaps.sdk.routing.JunctionInfo;
import app.organicmaps.util.LocationUtils; import app.organicmaps.util.LocationUtils;
import app.organicmaps.util.concurrency.UiThread; import app.organicmaps.util.concurrency.UiThread;
import app.organicmaps.util.log.Logger; import app.organicmaps.util.log.Logger;

View File

@@ -17,6 +17,8 @@ import androidx.recyclerview.widget.RecyclerView;
import app.organicmaps.R; import app.organicmaps.R;
import app.organicmaps.bookmarks.data.MapObject; import app.organicmaps.bookmarks.data.MapObject;
import app.organicmaps.sdk.routing.RouteMarkData;
import app.organicmaps.sdk.routing.RoutePointInfo;
import app.organicmaps.util.StringUtils; import app.organicmaps.util.StringUtils;
import app.organicmaps.util.UiUtils; import app.organicmaps.util.UiUtils;

View File

@@ -20,6 +20,7 @@ import app.organicmaps.Framework;
import app.organicmaps.MwmApplication; import app.organicmaps.MwmApplication;
import app.organicmaps.R; import app.organicmaps.R;
import app.organicmaps.bookmarks.data.MapObject; import app.organicmaps.bookmarks.data.MapObject;
import app.organicmaps.sdk.routing.RouteMarkData;
import app.organicmaps.util.UiUtils; import app.organicmaps.util.UiUtils;
import com.google.android.material.bottomsheet.BottomSheetBehavior; import com.google.android.material.bottomsheet.BottomSheetBehavior;
import com.google.android.material.bottomsheet.BottomSheetDialog; import com.google.android.material.bottomsheet.BottomSheetDialog;

View File

@@ -19,6 +19,7 @@ import app.organicmaps.location.LocationHelper;
import app.organicmaps.maplayer.MapButtonsViewModel; import app.organicmaps.maplayer.MapButtonsViewModel;
import app.organicmaps.maplayer.traffic.TrafficManager; import app.organicmaps.maplayer.traffic.TrafficManager;
import app.organicmaps.sdk.Router; import app.organicmaps.sdk.Router;
import app.organicmaps.sdk.routing.RoutingInfo;
import app.organicmaps.util.StringUtils; import app.organicmaps.util.StringUtils;
import app.organicmaps.util.UiUtils; import app.organicmaps.util.UiUtils;
import app.organicmaps.util.Utils; import app.organicmaps.util.Utils;

View File

@@ -33,6 +33,7 @@ import app.organicmaps.Framework;
import app.organicmaps.MwmActivity; import app.organicmaps.MwmActivity;
import app.organicmaps.MwmApplication; import app.organicmaps.MwmApplication;
import app.organicmaps.R; import app.organicmaps.R;
import app.organicmaps.sdk.routing.RoutingInfo;
import app.organicmaps.sound.MediaPlayerWrapper; import app.organicmaps.sound.MediaPlayerWrapper;
import app.organicmaps.location.LocationHelper; import app.organicmaps.location.LocationHelper;
import app.organicmaps.location.LocationListener; import app.organicmaps.location.LocationListener;

View File

@@ -32,6 +32,11 @@ import app.organicmaps.Framework;
import app.organicmaps.R; import app.organicmaps.R;
import app.organicmaps.bookmarks.data.DistanceAndAzimut; import app.organicmaps.bookmarks.data.DistanceAndAzimut;
import app.organicmaps.location.LocationHelper; import app.organicmaps.location.LocationHelper;
import app.organicmaps.sdk.routing.RouteMarkData;
import app.organicmaps.sdk.routing.RoutePointInfo;
import app.organicmaps.sdk.routing.RoutingInfo;
import app.organicmaps.sdk.routing.TransitRouteInfo;
import app.organicmaps.sdk.routing.TransitStepInfo;
import app.organicmaps.util.Distance; import app.organicmaps.util.Distance;
import app.organicmaps.util.Graphics; import app.organicmaps.util.Graphics;
import app.organicmaps.util.ThemeUtils; import app.organicmaps.util.ThemeUtils;

View File

@@ -1,5 +1,7 @@
package app.organicmaps.routing; package app.organicmaps.routing;
import app.organicmaps.sdk.routing.RoutePointInfo;
public interface RoutingBottomMenuListener public interface RoutingBottomMenuListener
{ {
void onUseMyPositionAsStart(); void onUseMyPositionAsStart();

View File

@@ -17,10 +17,15 @@ import app.organicmaps.bookmarks.data.FeatureId;
import app.organicmaps.bookmarks.data.MapObject; import app.organicmaps.bookmarks.data.MapObject;
import app.organicmaps.location.LocationHelper; import app.organicmaps.location.LocationHelper;
import app.organicmaps.sdk.Router; import app.organicmaps.sdk.Router;
import app.organicmaps.sdk.routing.RouteMarkData;
import app.organicmaps.sdk.routing.RoutePointInfo;
import app.organicmaps.sdk.routing.RouteRecommendationType; import app.organicmaps.sdk.routing.RouteRecommendationType;
import app.organicmaps.sdk.routing.RoutingInfo;
import app.organicmaps.sdk.routing.RoutingListener; import app.organicmaps.sdk.routing.RoutingListener;
import app.organicmaps.sdk.routing.RoutingLoadPointsListener; import app.organicmaps.sdk.routing.RoutingLoadPointsListener;
import app.organicmaps.sdk.routing.RoutingOptions;
import app.organicmaps.sdk.routing.RoutingProgressListener; import app.organicmaps.sdk.routing.RoutingProgressListener;
import app.organicmaps.sdk.routing.TransitRouteInfo;
import app.organicmaps.widget.placepage.CoordinatesFormat; import app.organicmaps.widget.placepage.CoordinatesFormat;
import app.organicmaps.util.StringUtils; import app.organicmaps.util.StringUtils;
import app.organicmaps.util.Utils; import app.organicmaps.util.Utils;

View File

@@ -19,6 +19,9 @@ import app.organicmaps.Framework;
import app.organicmaps.MwmApplication; import app.organicmaps.MwmApplication;
import app.organicmaps.R; import app.organicmaps.R;
import app.organicmaps.sdk.Router; import app.organicmaps.sdk.Router;
import app.organicmaps.sdk.routing.RoutingInfo;
import app.organicmaps.sdk.routing.RoutingOptions;
import app.organicmaps.sdk.routing.TransitRouteInfo;
import app.organicmaps.settings.DrivingOptionsActivity; import app.organicmaps.settings.DrivingOptionsActivity;
import app.organicmaps.util.UiUtils; import app.organicmaps.util.UiUtils;
import app.organicmaps.util.WindowInsetUtils.PaddingInsetsListener; import app.organicmaps.util.WindowInsetUtils.PaddingInsetsListener;

View File

@@ -8,6 +8,7 @@ import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView; import androidx.recyclerview.widget.RecyclerView;
import app.organicmaps.R; import app.organicmaps.R;
import app.organicmaps.sdk.routing.TransitStepInfo;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;

View File

@@ -20,6 +20,8 @@ import androidx.annotation.Nullable;
import androidx.core.content.res.ResourcesCompat; import androidx.core.content.res.ResourcesCompat;
import androidx.core.graphics.drawable.DrawableCompat; import androidx.core.graphics.drawable.DrawableCompat;
import app.organicmaps.R; import app.organicmaps.R;
import app.organicmaps.sdk.routing.TransitStepInfo;
import app.organicmaps.sdk.routing.TransitStepType;
import app.organicmaps.widget.recycler.MultilineLayoutManager; import app.organicmaps.widget.recycler.MultilineLayoutManager;
import app.organicmaps.util.ThemeUtils; import app.organicmaps.util.ThemeUtils;

View File

@@ -1,11 +1,11 @@
package app.organicmaps.routing; package app.organicmaps.sdk.routing;
import androidx.annotation.Keep; import androidx.annotation.Keep;
// Used by JNI. // Used by JNI.
@Keep @Keep
@SuppressWarnings("unused") @SuppressWarnings("unused")
public class JunctionInfo public final class JunctionInfo
{ {
public final double mLat; public final double mLat;
public final double mLon; public final double mLon;

View File

@@ -1,4 +1,4 @@
package app.organicmaps.routing; package app.organicmaps.sdk.routing;
import androidx.annotation.Keep; import androidx.annotation.Keep;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
@@ -9,7 +9,7 @@ import androidx.annotation.Nullable;
// Called from JNI. // Called from JNI.
@Keep @Keep
@SuppressWarnings("unused") @SuppressWarnings("unused")
public class RouteMarkData public final class RouteMarkData
{ {
@Nullable @Nullable
public final String mTitle; public final String mTitle;

View File

@@ -1,4 +1,4 @@
package app.organicmaps.routing; package app.organicmaps.sdk.routing;
import android.os.Parcel; import android.os.Parcel;
import android.os.Parcelable; import android.os.Parcelable;
@@ -12,7 +12,7 @@ import java.lang.annotation.RetentionPolicy;
// Called from JNI. // Called from JNI.
@Keep @Keep
@SuppressWarnings("unused") @SuppressWarnings("unused")
public class RoutePointInfo implements Parcelable public final class RoutePointInfo implements Parcelable
{ {
public static final Creator<RoutePointInfo> CREATOR = new Creator<>() public static final Creator<RoutePointInfo> CREATOR = new Creator<>()
{ {

View File

@@ -1,4 +1,4 @@
package app.organicmaps.routing; package app.organicmaps.sdk.routing;
import android.widget.ImageView; import android.widget.ImageView;
@@ -12,7 +12,7 @@ import app.organicmaps.util.Distance;
// Called from JNI. // Called from JNI.
@Keep @Keep
@SuppressWarnings("unused") @SuppressWarnings("unused")
public class RoutingInfo public final class RoutingInfo
{ {
// Target (end point of route). // Target (end point of route).
public final Distance distToTarget; public final Distance distToTarget;
@@ -105,7 +105,7 @@ public class RoutingInfo
} }
} }
enum PedestrianTurnDirection public enum PedestrianTurnDirection
{ {
NO_TURN(R.drawable.ic_turn_straight, 0), NO_TURN(R.drawable.ic_turn_straight, 0),
GO_STRAIGHT(R.drawable.ic_turn_straight, 0), GO_STRAIGHT(R.drawable.ic_turn_straight, 0),

View File

@@ -1,4 +1,4 @@
package app.organicmaps.routing; package app.organicmaps.sdk.routing;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
@@ -7,7 +7,7 @@ import app.organicmaps.settings.RoadType;
import java.util.HashSet; import java.util.HashSet;
import java.util.Set; import java.util.Set;
public class RoutingOptions public final class RoutingOptions
{ {
public static void addOption(@NonNull RoadType roadType) public static void addOption(@NonNull RoadType roadType)
{ {
@@ -24,10 +24,6 @@ public class RoutingOptions
return nativeHasOption(roadType.ordinal()); return nativeHasOption(roadType.ordinal());
} }
private static native void nativeAddOption(int option);
private static native void nativeRemoveOption(int option);
private static native boolean nativeHasOption(int option);
public static boolean hasAnyOptions() public static boolean hasAnyOptions()
{ {
for (RoadType each : RoadType.values()) for (RoadType each : RoadType.values())
@@ -49,4 +45,10 @@ public class RoutingOptions
} }
return roadTypes; return roadTypes;
} }
private static native void nativeAddOption(int option);
private static native void nativeRemoveOption(int option);
private static native boolean nativeHasOption(int option);
} }

View File

@@ -1,11 +1,11 @@
package app.organicmaps.routing; package app.organicmaps.sdk.routing;
import androidx.annotation.DrawableRes; import androidx.annotation.DrawableRes;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import app.organicmaps.R; import app.organicmaps.R;
public class SingleLaneInfo public final class SingleLaneInfo
{ {
public LaneWay[] mLane; public LaneWay[] mLane;
public boolean mIsActive; public boolean mIsActive;

View File

@@ -1,4 +1,4 @@
package app.organicmaps.routing; package app.organicmaps.sdk.routing;
import androidx.annotation.Keep; import androidx.annotation.Keep;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
@@ -13,7 +13,7 @@ import java.util.List;
// Used by JNI. // Used by JNI.
@Keep @Keep
@SuppressWarnings("unused") @SuppressWarnings("unused")
public class TransitRouteInfo public final class TransitRouteInfo
{ {
@NonNull @NonNull
private final String mTotalDistance; private final String mTotalDistance;
@@ -42,29 +42,29 @@ public class TransitRouteInfo
} }
@NonNull @NonNull
String getTotalPedestrianDistance() public String getTotalPedestrianDistance()
{ {
return mTotalPedestrianDistance; return mTotalPedestrianDistance;
} }
int getTotalPedestrianTimeInSec() public int getTotalPedestrianTimeInSec()
{ {
return mTotalPedestrianTimeInSec; return mTotalPedestrianTimeInSec;
} }
@NonNull @NonNull
String getTotalPedestrianDistanceUnits() public String getTotalPedestrianDistanceUnits()
{ {
return mTotalPedestrianDistanceUnits; return mTotalPedestrianDistanceUnits;
} }
int getTotalTime() public int getTotalTime()
{ {
return mTotalTimeInSec; return mTotalTimeInSec;
} }
@NonNull @NonNull
List<TransitStepInfo> getTransitSteps() public List<TransitStepInfo> getTransitSteps()
{ {
return new ArrayList<>(Arrays.asList(mSteps)); return new ArrayList<>(Arrays.asList(mSteps));
} }

View File

@@ -1,4 +1,4 @@
package app.organicmaps.routing; package app.organicmaps.sdk.routing;
import androidx.annotation.IntDef; import androidx.annotation.IntDef;
import androidx.annotation.Keep; import androidx.annotation.Keep;
@@ -14,7 +14,7 @@ import java.lang.annotation.RetentionPolicy;
// Used by JNI. // Used by JNI.
@Keep @Keep
@SuppressWarnings("unused") @SuppressWarnings("unused")
public class TransitStepInfo public final class TransitStepInfo
{ {
private static final int TRANSIT_TYPE_INTERMEDIATE_POINT = 0; private static final int TRANSIT_TYPE_INTERMEDIATE_POINT = 0;
private static final int TRANSIT_TYPE_PEDESTRIAN = 1; private static final int TRANSIT_TYPE_PEDESTRIAN = 1;

View File

@@ -1,4 +1,4 @@
package app.organicmaps.routing; package app.organicmaps.sdk.routing;
import androidx.annotation.DrawableRes; import androidx.annotation.DrawableRes;

View File

@@ -14,7 +14,7 @@ import androidx.appcompat.widget.SwitchCompat;
import app.organicmaps.R; import app.organicmaps.R;
import app.organicmaps.base.BaseMwmToolbarFragment; import app.organicmaps.base.BaseMwmToolbarFragment;
import app.organicmaps.routing.RoutingController; import app.organicmaps.routing.RoutingController;
import app.organicmaps.routing.RoutingOptions; import app.organicmaps.sdk.routing.RoutingOptions;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;

View File

@@ -24,7 +24,7 @@ import app.organicmaps.editor.data.Language;
import app.organicmaps.help.HelpActivity; import app.organicmaps.help.HelpActivity;
import app.organicmaps.location.LocationHelper; import app.organicmaps.location.LocationHelper;
import app.organicmaps.location.LocationProviderFactory; import app.organicmaps.location.LocationProviderFactory;
import app.organicmaps.routing.RoutingOptions; import app.organicmaps.sdk.routing.RoutingOptions;
import app.organicmaps.util.Config; import app.organicmaps.util.Config;
import app.organicmaps.util.NetworkPolicy; import app.organicmaps.util.NetworkPolicy;
import app.organicmaps.util.PowerManagment; import app.organicmaps.util.PowerManagment;

View File

@@ -15,7 +15,7 @@ import androidx.appcompat.content.res.AppCompatResources;
import androidx.core.content.ContextCompat; import androidx.core.content.ContextCompat;
import app.organicmaps.R; import app.organicmaps.R;
import app.organicmaps.routing.SingleLaneInfo; import app.organicmaps.sdk.routing.SingleLaneInfo;
import java.util.Objects; import java.util.Objects;

View File

@@ -18,7 +18,7 @@ import androidx.annotation.Nullable;
import androidx.annotation.StyleableRes; import androidx.annotation.StyleableRes;
import app.organicmaps.R; import app.organicmaps.R;
import app.organicmaps.routing.SingleLaneInfo; import app.organicmaps.sdk.routing.SingleLaneInfo;
public class LanesView extends View public class LanesView extends View
{ {

View File

@@ -14,7 +14,7 @@ import androidx.core.content.ContextCompat;
import com.google.android.material.bottomsheet.BottomSheetBehavior; import com.google.android.material.bottomsheet.BottomSheetBehavior;
import app.organicmaps.R; import app.organicmaps.R;
import app.organicmaps.location.LocationHelper; import app.organicmaps.location.LocationHelper;
import app.organicmaps.routing.RoutingInfo; import app.organicmaps.sdk.routing.RoutingInfo;
import app.organicmaps.sound.TtsPlayer; import app.organicmaps.sound.TtsPlayer;
import app.organicmaps.util.Graphics; import app.organicmaps.util.Graphics;
import app.organicmaps.util.StringUtils; import app.organicmaps.util.StringUtils;