ЗДЕСЬ Карты: язык для RouteOptions после setLocale в Android N остается системным языком - PullRequest
0 голосов
/ 31 мая 2019

Я использую Here Maps Android SDK Premium, версия 3.11.2.82.У меня проблема с установкой языка для моего объекта RouteOptions при использовании SDK Here maps.Когда язык моей системы - английский, и я меняю язык приложений, то из Android N язык в результатах маршрута не обновляется, и элементы маршрута отображаются на английском языке.Вот как я устанавливаю RouteOptions при попытке найти маршрут:

val routeOptions = RouteOptions()
routeOptions.locale = localeProvider.currentLocale
routeOptions.transportMode = RouteOptions.TransportMode.TRUCK
routeOptions.routeType = RouteOptions.Type.FASTEST
routeOptions.setTruckLength(12.192f)
    .setTruckWidth(2.5908f)
    .setTruckHeight(3.9624f)
    .setTruckLimitedWeight(36.28739f).truckWeightPerAxle = 26.589585f
routePlan.routeOptions = routeOptions
router.calculateRoute(routePlan, RouteListener(destinationSearchResult, routePlan))

Локаль определенно отличается (что-то вроде испанской локали ("es")), и мое устройство настроено на английский.

Я переопределяю язык, задав

val locale = Locale("es")
Locale.setDefault(locale)
LocaleList.setDefault(LocaleList(locale))

Я также переопределяю их в своей основной деятельности:

@Override
protected void attachBaseContext(Context base) {
    super.attachBaseContext(updateBaseContextLocale(base));
}

@Override
public void applyOverrideConfiguration(Configuration overrideConfiguration) {
    super.applyOverrideConfiguration(getUserLanguageConfiguration(overrideConfiguration));
}

, где я устанавливаю новую конфигурацию с обновленной локалью в контекст,Наконец, я перезаписываю в своем базовом приложении изменение конфигурации:

@Override
public void onConfigurationChanged(Configuration newConfiguration) {
    super.onConfigurationChanged(getUserLanguageConfiguration(newConfiguration));
....
}

Где я также обновляю локаль в новой конфигурации и устанавливаю для нее также базовый контекст.

RouteOptions.setLocale (..) отлично работает в Android M, а в Android N - нет.Остальная часть моего приложения написана на правильном языке, так что это ошибка или я что-то наблюдаю?Существуют ли другие способы установить язык / языковой стандарт для библиотеки Here Maps?

...