Merge branch 'master' of ssh://github.com/osmandapp/Osmand into js_voice_routing
This commit is contained in:
commit
3abf742456
21 changed files with 280 additions and 104 deletions
|
@ -444,6 +444,14 @@ public class GeneralRouter implements VehicleRouter {
|
|||
return attributes.get(attribute);
|
||||
}
|
||||
|
||||
public float getFloatAttribute(String attribute, float v) {
|
||||
return parseSilentFloat(getAttribute(attribute), v);
|
||||
}
|
||||
|
||||
public int getIntAttribute(String attribute, int v) {
|
||||
return (int) parseSilentFloat(getAttribute(attribute), v);
|
||||
}
|
||||
|
||||
private static boolean parseSilentBoolean(String t, boolean v) {
|
||||
if (t == null || t.length() == 0) {
|
||||
return v;
|
||||
|
|
|
@ -5,9 +5,7 @@ import gnu.trove.list.array.TIntArrayList;
|
|||
import gnu.trove.map.hash.TIntObjectHashMap;
|
||||
import gnu.trove.map.hash.TLongObjectHashMap;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.io.RandomAccessFile;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.Comparator;
|
||||
|
@ -28,24 +26,6 @@ import net.osmand.util.MapUtils;
|
|||
public class TransportRoutePlanner {
|
||||
|
||||
|
||||
public static void main(String[] args) throws IOException {
|
||||
File fl = new File(System.getProperty("maps.dir"), "Netherlands_noord-holland_europe_2.obf");
|
||||
RandomAccessFile raf = new RandomAccessFile(fl, "r");
|
||||
BinaryMapIndexReader reader = new BinaryMapIndexReader(raf, fl);
|
||||
|
||||
LatLon start = new LatLon(52.28094, 4.853248);
|
||||
// LatLon end = new LatLon(52.320988, 4.87256);
|
||||
LatLon end = new LatLon(52.349308, 4.9017425);
|
||||
|
||||
TransportRoutingConfiguration cfg = new TransportRoutingConfiguration();
|
||||
cfg.maxNumberOfChanges = 3;
|
||||
cfg.walkRadius = 1500;
|
||||
// cfg.walkChangeRadius = 500;
|
||||
TransportRoutingContext ctx = new TransportRoutingContext(cfg, reader);
|
||||
TransportRoutePlanner planner = new TransportRoutePlanner();
|
||||
planner.buildRoute(ctx, start, end);
|
||||
|
||||
}
|
||||
|
||||
public List<TransportRouteResult> buildRoute(TransportRoutingContext ctx, LatLon start, LatLon end) throws IOException {
|
||||
ctx.startCalcTime = System.currentTimeMillis();
|
||||
|
@ -150,8 +130,6 @@ public class TransportRoutePlanner {
|
|||
private List<TransportRouteResult> prepareResults(TransportRoutingContext ctx, List<TransportRouteSegment> results) {
|
||||
Collections.sort(results, new SegmentsComparator(ctx));
|
||||
List<TransportRouteResult> lst = new ArrayList<TransportRouteResult>();
|
||||
System.out.println("FIX !!! " + ctx.wrongLoadedWays + " " + ctx.loadedWays + " " +
|
||||
(ctx.loadTime / (1000 * 1000)) + " ms");
|
||||
System.out.println(String.format("Calculated %.1f seconds, found %d results, visited %d routes, loaded %d tiles (%d ms read, %d ms total),",
|
||||
(System.currentTimeMillis() - ctx.startCalcTime) / 1000.0, results.size(), ctx.visitedRoutesCount,
|
||||
ctx.quadTree.size(), ctx.readTime / (1000 * 1000), ctx.loadTime / (1000 * 1000)));
|
||||
|
|
|
@ -2,6 +2,7 @@ package net.osmand.router;
|
|||
|
||||
public class TransportRoutingConfiguration {
|
||||
|
||||
public static final String KEY = "public_transport";
|
||||
|
||||
public int ZOOM_TO_LOAD_TILES = 14;
|
||||
|
||||
|
@ -23,4 +24,23 @@ public class TransportRoutingConfiguration {
|
|||
|
||||
public int maxRouteTime = 60 * 60 * 1000; // 1000 hours
|
||||
|
||||
|
||||
public TransportRoutingConfiguration(RoutingConfiguration.Builder builder) {
|
||||
GeneralRouter router = builder == null ? null : builder.getRouter("public_transport");
|
||||
if(router != null) {
|
||||
walkRadius = router.getIntAttribute("walkRadius", walkRadius);
|
||||
walkChangeRadius = router.getIntAttribute("walkChangeRadius", walkRadius);
|
||||
ZOOM_TO_LOAD_TILES = router.getIntAttribute("zoomToLoadTiles", ZOOM_TO_LOAD_TILES);
|
||||
maxNumberOfChanges = router.getIntAttribute("maxNumberOfChanges", maxNumberOfChanges);
|
||||
finishTimeSeconds = router.getIntAttribute("delayForAlternativesRoutes", finishTimeSeconds);
|
||||
|
||||
travelSpeed = router.getFloatAttribute("defaultTravelSpeed", (float) travelSpeed);
|
||||
walkSpeed = router.getFloatAttribute("defaultWalkSpeed", (float) walkSpeed);
|
||||
stopTime = router.getIntAttribute("defaultStopTime", stopTime);
|
||||
changeTime = router.getIntAttribute("defaultChangeTime", changeTime);
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
8
OsmAnd-telegram/res/layout/fragement_settings_dialog.xml
Normal file
8
OsmAnd-telegram/res/layout/fragement_settings_dialog.xml
Normal file
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical">
|
||||
|
||||
</LinearLayout>
|
|
@ -1,6 +1,5 @@
|
|||
package net.osmand.telegram.ui
|
||||
|
||||
import android.graphics.Paint
|
||||
import android.os.Bundle
|
||||
import android.support.v4.app.Fragment
|
||||
import android.support.v7.widget.LinearLayoutManager
|
||||
|
@ -346,17 +345,10 @@ class LiveNowTabFragment : Fragment(), TelegramListener, TelegramIncomingMessage
|
|||
private fun showPopupMenu(holder: ChatViewHolder, chatId: Long) {
|
||||
val ctx = holder.itemView.context
|
||||
|
||||
val paint = Paint()
|
||||
paint.textSize =
|
||||
resources.getDimensionPixelSize(R.dimen.list_item_title_text_size).toFloat()
|
||||
val textWidth = Math.max(paint.measureText(menuList[0]), paint.measureText(menuList[1]))
|
||||
val itemWidth = textWidth.toInt() + AndroidUtils.dpToPx(ctx, 32F)
|
||||
val minWidth = AndroidUtils.dpToPx(ctx, 100F)
|
||||
|
||||
ListPopupWindow(ctx).apply {
|
||||
isModal = true
|
||||
anchorView = holder.showOnMapState
|
||||
setContentWidth(Math.max(minWidth, itemWidth))
|
||||
setContentWidth(AndroidUtils.getPopupMenuWidth(ctx, menuList))
|
||||
setDropDownGravity(Gravity.END or Gravity.TOP)
|
||||
setAdapter(ArrayAdapter(ctx, R.layout.popup_list_text_item, menuList))
|
||||
setOnItemClickListener { _, _, position, _ ->
|
||||
|
|
|
@ -2,7 +2,6 @@ package net.osmand.telegram.ui
|
|||
|
||||
import android.animation.*
|
||||
import android.content.Intent
|
||||
import android.graphics.Paint
|
||||
import android.graphics.drawable.GradientDrawable
|
||||
import android.os.Build
|
||||
import android.os.Bundle
|
||||
|
@ -221,30 +220,28 @@ class MyLocationTabFragment : Fragment(), TelegramListener {
|
|||
val ctx = context ?: return
|
||||
|
||||
val menuList = ArrayList<String>()
|
||||
val settings = getString(R.string.shared_string_settings)
|
||||
val logout = getString(R.string.shared_string_logout)
|
||||
val login = getString(R.string.shared_string_login)
|
||||
|
||||
menuList.add(settings)
|
||||
@Suppress("NON_EXHAUSTIVE_WHEN")
|
||||
when (telegramHelper.getTelegramAuthorizationState()) {
|
||||
TelegramHelper.TelegramAuthorizationState.READY -> menuList.add(logout)
|
||||
TelegramHelper.TelegramAuthorizationState.CLOSED -> menuList.add(login)
|
||||
else -> return
|
||||
}
|
||||
|
||||
val paint = Paint()
|
||||
paint.textSize =
|
||||
resources.getDimensionPixelSize(R.dimen.list_item_title_text_size).toFloat()
|
||||
val textWidth = paint.measureText(menuList[0])
|
||||
val itemWidth = textWidth.toInt() + AndroidUtils.dpToPx(ctx, 32F)
|
||||
val minWidth = AndroidUtils.dpToPx(ctx, 100F)
|
||||
|
||||
ListPopupWindow(ctx).apply {
|
||||
isModal = true
|
||||
anchorView = optionsBtn
|
||||
setContentWidth(Math.max(minWidth, itemWidth))
|
||||
setContentWidth(AndroidUtils.getPopupMenuWidth(ctx, menuList))
|
||||
setDropDownGravity(Gravity.END or Gravity.TOP)
|
||||
setAdapter(ArrayAdapter(ctx, R.layout.popup_list_text_item, menuList))
|
||||
setOnItemClickListener { _, _, position, _ ->
|
||||
when (position) {
|
||||
menuList.indexOf(settings) -> {
|
||||
fragmentManager?.also { SettingsDialogFragment.showInstance(it) }
|
||||
}
|
||||
menuList.indexOf(logout) -> logoutTelegram()
|
||||
menuList.indexOf(login) -> loginTelegram()
|
||||
}
|
||||
|
|
|
@ -0,0 +1,39 @@
|
|||
package net.osmand.telegram.ui
|
||||
|
||||
import android.os.Bundle
|
||||
import android.support.v4.app.DialogFragment
|
||||
import android.support.v4.app.FragmentManager
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import net.osmand.telegram.R
|
||||
|
||||
class SettingsDialogFragment : DialogFragment() {
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
setStyle(android.support.v4.app.DialogFragment.STYLE_NO_FRAME, R.style.AppTheme_NoActionbar)
|
||||
}
|
||||
|
||||
override fun onCreateView(
|
||||
inflater: LayoutInflater,
|
||||
container: ViewGroup?,
|
||||
savedInstanceState: Bundle?
|
||||
): View {
|
||||
return inflater.inflate(R.layout.fragement_settings_dialog, container)
|
||||
}
|
||||
|
||||
companion object {
|
||||
|
||||
private const val TAG = "SettingsDialogFragment"
|
||||
|
||||
fun showInstance(fm: FragmentManager): Boolean {
|
||||
return try {
|
||||
SettingsDialogFragment().show(fm, TAG)
|
||||
true
|
||||
} catch (e: RuntimeException) {
|
||||
false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -6,6 +6,7 @@ import android.content.Context
|
|||
import android.content.Intent
|
||||
import android.content.pm.PackageManager
|
||||
import android.content.res.Configuration
|
||||
import android.graphics.Paint
|
||||
import android.net.Uri
|
||||
import android.os.Build
|
||||
import android.support.annotation.AttrRes
|
||||
|
@ -16,6 +17,7 @@ import android.util.TypedValue
|
|||
import android.util.TypedValue.COMPLEX_UNIT_DIP
|
||||
import android.view.View
|
||||
import android.view.inputmethod.InputMethodManager
|
||||
import net.osmand.telegram.R
|
||||
import java.io.File
|
||||
|
||||
object AndroidUtils {
|
||||
|
@ -83,6 +85,18 @@ object AndroidUtils {
|
|||
}
|
||||
}
|
||||
|
||||
fun getPopupMenuWidth(ctx: Context, titles: Collection<String>): Int {
|
||||
val txtSize = ctx.resources.getDimensionPixelSize(R.dimen.list_item_title_text_size)
|
||||
val paint = Paint().apply { textSize = txtSize.toFloat() }
|
||||
val maxTextWidth = titles.map { paint.measureText(it) }.max()
|
||||
if (maxTextWidth != null) {
|
||||
val maxItemWidth = maxTextWidth.toInt() + AndroidUtils.dpToPx(ctx, 32f)
|
||||
val minWidth = AndroidUtils.dpToPx(ctx, 100f)
|
||||
return maxOf(minWidth, maxItemWidth)
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
@ColorInt
|
||||
fun getAttrColor(ctx: Context, @AttrRes attrId: Int, @ColorInt defaultColor: Int = 0): Int {
|
||||
val ta = ctx.theme.obtainStyledAttributes(intArrayOf(attrId))
|
||||
|
|
1
OsmAnd/.gitignore
vendored
1
OsmAnd/.gitignore
vendored
|
@ -27,6 +27,7 @@ local.properties
|
|||
raw/
|
||||
obj/
|
||||
libgnustl/
|
||||
libc++/
|
||||
cpd.xml
|
||||
jni/Local.mk
|
||||
out/
|
||||
|
|
|
@ -103,7 +103,7 @@ android {
|
|||
}
|
||||
|
||||
legacy {
|
||||
jniLibs.srcDirs = ["libgnustl"]
|
||||
jniLibs.srcDirs = ["libc++"]
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -312,14 +312,12 @@ task cleanupDuplicatesInCore() {
|
|||
dependsOn buildOsmAndCore
|
||||
// doesn't work for legacy debug builds
|
||||
doLast {
|
||||
file("libgnustl/armeabi").mkdirs()
|
||||
file("libs/armeabi/libgnustl_shared.so").renameTo(file("libgnustl/armeabi/libgnustl_shared.so"))
|
||||
file("libgnustl/armeabi-v7a").mkdirs()
|
||||
file("libs/armeabi-v7a/libgnustl_shared.so").renameTo(file("libgnustl/armeabi-v7a/libgnustl_shared.so"))
|
||||
file("libgnustl/mips").mkdirs()
|
||||
file("libs/mips/libgnustl_shared.so").renameTo(file("libgnustl/mips/libgnustl_shared.so"))
|
||||
file("libgnustl/x86").mkdirs()
|
||||
file("libs/x86/libgnustl_shared.so").renameTo(file("libgnustl/x86/libgnustl_shared.so"))
|
||||
file("libc++/armeabi-v7a").mkdirs()
|
||||
file("libs/armeabi-v7a/libc++_shared.so").renameTo(file("libc++/armeabi-v7a/libc++_shared.so"))
|
||||
file("libc++/arm64-v8a").mkdirs()
|
||||
file("libs/arm64-v8a/libc++_shared.so").renameTo(file("libc++/arm64-v8a/libc++_shared.so"))
|
||||
file("libc++/x86").mkdirs()
|
||||
file("libs/x86/libc++_shared.so").renameTo(file("libc++/x86/libc++_shared.so"))
|
||||
}
|
||||
}
|
||||
afterEvaluate {
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
APP_STL := gnustl_shared
|
||||
# APP_STL := c++_shared
|
||||
# APP_STL := gnustl_shared
|
||||
APP_STL := c++_shared
|
||||
APP_CPPFLAGS := -std=c++11 -fexceptions -frtti
|
||||
APP_SHORT_COMMANDS := true
|
||||
|
||||
|
|
1
OsmAnd/libs/.gitignore
vendored
1
OsmAnd/libs/.gitignore
vendored
|
@ -2,3 +2,4 @@ armeabi/
|
|||
x86/
|
||||
armeabi-v7a/
|
||||
mips/
|
||||
arm64-v8a/
|
|
@ -740,7 +740,7 @@
|
|||
<string name="poi_floating_dock">Plovoucí dok</string>
|
||||
<string name="poi_fog_signal">Zvukový maják</string>
|
||||
<string name="poi_harbour_basin">Přístavní zátoka</string>
|
||||
<string name="poi_standpipe">Hydrant</string>
|
||||
<string name="poi_standpipe">Požární hydrant</string>
|
||||
<string name="poi_beacon_safe_water">Maják bezpečných vod</string>
|
||||
<string name="poi_landmark">Orientační bod</string>
|
||||
<string name="poi_seamark_light">Plavební znak: světlo</string>
|
||||
|
@ -787,7 +787,7 @@
|
|||
<string name="poi_piste_nordic">Trať pro klasické lyžování</string>
|
||||
<string name="poi_hunting_lodge">Lovecká chata</string>
|
||||
|
||||
<string name="poi_hanami">Hanami</string>
|
||||
<string name="poi_hanami">Japonské Hanami</string>
|
||||
<string name="poi_camera">Foto a optika</string>
|
||||
<string name="poi_wiki_place">Wikipedie</string>
|
||||
<string name="poi_wiki_lang_en">Anglická wiki</string>
|
||||
|
@ -3010,7 +3010,7 @@
|
|||
<string name="poi_piste_grooming">Úprava sjezdovky</string>
|
||||
<string name="poi_theatre_genre">Žánr</string>
|
||||
<string name="poi_fee">Poplatek</string>
|
||||
<string name="poi_drive_through">Průjezd</string>
|
||||
<string name="poi_drive_through">Drive through</string>
|
||||
<string name="poi_cocktails">Koktejly</string>
|
||||
<string name="poi_beauty_salon_service">Služba</string>
|
||||
<string name="poi_recycling_accepted_waste">Přijímaný odpad</string>
|
||||
|
@ -3606,18 +3606,18 @@
|
|||
<string name="poi_socket_cee_blue">Počet zásuvek typu CEE modrá (kulatá karavanová)</string>
|
||||
<string name="poi_socket_cee_blue_current">Maximální proud zásuvky CEE Modrá (tzv. karavanová) [A]</string>
|
||||
<string name="poi_socket_cee_blue_output">Maximální výkon zásuvky CEE Modrá (tzv. karavanová) [kW]</string>
|
||||
<string name="poi_socket_cee_red_16a">Počet zásuvek typu CEE červená 16A (pětikolík malý)</string>
|
||||
<string name="poi_socket_cee_red_16a_current">Konektor: CEE Červený 16A (pětikolík malý): Maximální proud</string>
|
||||
<string name="poi_socket_cee_red_16a_output">Konektor: CEE Červený 16A (pětikolík malý): Maximální výkon</string>
|
||||
<string name="poi_socket_cee_red_32a">Konektor: CEE Červený 32A (pětikolík velký)</string>
|
||||
<string name="poi_socket_cee_red_32a_current">Konektor: CEE Červený 32A (pětikolík velký): Maximální proud</string>
|
||||
<string name="poi_socket_cee_red_32a_output">Konektor: CEE Červený 32A (pětikolík velký): Maximální výkon</string>
|
||||
<string name="poi_socket_cee_red_64a">Konektor: CEE Červený 64A (pětikolík obrovský)</string>
|
||||
<string name="poi_socket_cee_red_64a_current">Konektor: CEE Červený 64A (pětikolík obrovský): Maximální proud</string>
|
||||
<string name="poi_socket_cee_red_64a_output">Konektor: CEE Červený 64A (pětikolík obrovský): Maximální výkon</string>
|
||||
<string name="poi_socket_cee_red_125a">Konektor: CEE Červený 125A</string>
|
||||
<string name="poi_socket_cee_red_125a_current">Konektor: CEE Červený 125A : Maximální proud</string>
|
||||
<string name="poi_socket_cee_red_125a_output">Konektor: CEE Červený 125A: Maximální výkon</string>
|
||||
<string name="poi_socket_cee_red_16a">Počet zásuvek typu CEE 5-kolík 16A malý</string>
|
||||
<string name="poi_socket_cee_red_16a_current">Maximální proud zásuvky CEE 5-kolík 16A malý [A]</string>
|
||||
<string name="poi_socket_cee_red_16a_output">Maximální výkon zásuvky CEE 5-kolík 16A malý [kW]</string>
|
||||
<string name="poi_socket_cee_red_32a">Počet zásuvek typu CEE 5-kolík 32A velký</string>
|
||||
<string name="poi_socket_cee_red_32a_current">Maximální proud zásuvky CEE 5-kolík 32A velký [A]</string>
|
||||
<string name="poi_socket_cee_red_32a_output">Maximální výkon zásuvky CEE 5-kolík 32A velký [kW]</string>
|
||||
<string name="poi_socket_cee_red_64a">Počet zásuvek typu CEE 5-kolík 64A</string>
|
||||
<string name="poi_socket_cee_red_64a_current">Maximální proud zásuvky CEE 5-kolík 64A [A]</string>
|
||||
<string name="poi_socket_cee_red_64a_output">Maximální výkon zásuvky CEE 5-kolík 64A [kW]</string>
|
||||
<string name="poi_socket_cee_red_125a">Počet zásuvek typu CEE 5-kolík 125A</string>
|
||||
<string name="poi_socket_cee_red_125a_current">Maximální proud zásuvky CEE 5-kolík 125A [A]</string>
|
||||
<string name="poi_socket_cee_red_125a_output">Maximální výkon zásuvky CEE 5-kolík 125A [kW]</string>
|
||||
<string name="poi_service_vehicle_car_repair_yes">Autoservis</string>
|
||||
<string name="poi_service_vehicle_oil_change_yes">Výměna oleje</string>
|
||||
<string name="poi_service_vehicle_used_car_sales_yes">Autobazar</string>
|
||||
|
@ -3668,18 +3668,18 @@
|
|||
<string name="poi_payment_contactless_yes">Lze platit bezkontaktně</string>
|
||||
<string name="poi_payment_contactless_no">Nelze platit bezkontaktně</string>
|
||||
|
||||
<string name="poi_socket_type1">Počet konektorů typu 1 (tzv. Yazaki, SAE J1772)</string>
|
||||
<string name="poi_socket_type1_current">Maximální proud konektoru Typu 1 (tzv. Yazaki, SAE J1772) [A]</string>
|
||||
<string name="poi_socket_type1_output">Maximální výkon konektoru Typu 1 (tzv. Yazaki, SAE J1772) [kW]</string>
|
||||
<string name="poi_socket_type2">Počet konektorů typu 2 (tzv.Mennekes)</string>
|
||||
<string name="poi_socket_type2_current">Maximální proud konektoru typu 2 (tzv. Mennekes) [A]</string>
|
||||
<string name="poi_socket_type2_output">Maximální výkon konektoru typu 2 (tzv. Mennekes) [kW]</string>
|
||||
<string name="poi_socket_type1_combo">"Počet konektorů typu 1 combo "</string>
|
||||
<string name="poi_socket_type1_combo_current">Maximální proud konektoru 1 combo [A]</string>
|
||||
<string name="poi_socket_type1_combo_output">Maximální výkon konektoru typu 1 combo [kW]</string>
|
||||
<string name="poi_socket_type2_combo">Počet konektorů typu CCS (Typ 2 kombinovaný)</string>
|
||||
<string name="poi_socket_type2_combo_current">Maximální proud konektoru CCS (Typ 2 kombinovaný) [A]</string>
|
||||
<string name="poi_socket_type2_combo_output">Maximální výkon konektoru CCS (Typ 2 kombinovaný) [kW]</string>
|
||||
<string name="poi_socket_type1">Počet konektorů Yazaki (Typ 1, SAE J1772)</string>
|
||||
<string name="poi_socket_type1_current">Maximální proud konektoru Yazaki (Typ 1, SAE J1772) [A]</string>
|
||||
<string name="poi_socket_type1_output">Maximální výkon konektoru Yazaki (Typ 1, SAE J1772) [kW]</string>
|
||||
<string name="poi_socket_type2">Počet konektorů Mennekes (Typ 2, IEC 62196-2)</string>
|
||||
<string name="poi_socket_type2_current">Maximální proud konektoru Mennekes (Typ 2, IEC 62196-2) [A]</string>
|
||||
<string name="poi_socket_type2_output">Maximální výkon konektoru Mennekes (Typ 2, IEC 62196-2) [kW]</string>
|
||||
<string name="poi_socket_type1_combo">Počet konektorů CCS1 (Typ 1 Combo)</string>
|
||||
<string name="poi_socket_type1_combo_current">Maximální proud konektoru CCS1 (Typ 1 Combo) [A]</string>
|
||||
<string name="poi_socket_type1_combo_output">Maximální výkon konektoru CCS1 (Typ 1 Combo) [kW]</string>
|
||||
<string name="poi_socket_type2_combo">Počet konektorů CCS2 (Typ 2 Combo)</string>
|
||||
<string name="poi_socket_type2_combo_current">Maximální proud konektoru CCS2 (Typ 2 Combo) [A]</string>
|
||||
<string name="poi_socket_type2_combo_output">Maximální výkon konektoru CCS2 (Typ 2 Combo) [kW]</string>
|
||||
<string name="poi_socket_chademo">Počet konektorů CHAdeMO</string>
|
||||
<string name="poi_socket_chademo_current">Maximální proud konektoru CHAdeMO [A]</string>
|
||||
<string name="poi_socket_chademo_output">Maximální výkon konektoru CHAdeMO [kW]</string>
|
||||
|
@ -3700,29 +3700,29 @@
|
|||
<string name="poi_socket_as3112_current">Maximální proud zásuvky australského typu AS 3112 [A]</string>
|
||||
<string name="poi_socket_as3112_output">Maximální výkon zásuvky australského typu AS 3112 [kW]</string>
|
||||
|
||||
<string name="poi_car_yes">Vjezd autem povolen</string>
|
||||
<string name="poi_car_no">Vjezd autem zakázán</string>
|
||||
<string name="poi_bicycle_yes">Vjezd na kole povolen</string>
|
||||
<string name="poi_bicycle_no">Vjezd na kole zakázán</string>
|
||||
<string name="poi_scooter_yes">Vjezd na skútru povolen</string>
|
||||
<string name="poi_scooter_no">Vjezd na skútru zakázán</string>
|
||||
<string name="poi_truck_yes">Vjezd nákladním autem povolen</string>
|
||||
<string name="poi_truck_no">Vjezd nákladním autem zakázán</string>
|
||||
<string name="poi_car_yes">Vhodné pro Osobní automobily</string>
|
||||
<string name="poi_car_no">Nevhodné pro Osobní automobily</string>
|
||||
<string name="poi_bicycle_yes">Vhodné pro jízdní kola</string>
|
||||
<string name="poi_bicycle_no">Nevhodné pro jízdní kola</string>
|
||||
<string name="poi_scooter_yes">Vhodné pro skútry</string>
|
||||
<string name="poi_scooter_no">Nevhodné pro skútry</string>
|
||||
<string name="poi_truck_yes">Vhodné pro nákladní automobily</string>
|
||||
<string name="poi_truck_no">Nevhodné pro nákladní automobily</string>
|
||||
|
||||
<string name="poi_parking_fee_yes">Parkoviště s poplatkem</string>
|
||||
<string name="poi_parking_fee_no">Parkoviště bez poplatku</string>
|
||||
<string name="poi_parking_fee_yes">S poplatkem za parkování</string>
|
||||
<string name="poi_parking_fee_no">Bez poplatku za parkování</string>
|
||||
<string name="poi_parking_fee">Poplatek za parkování</string>
|
||||
|
||||
<string name="poi_amperage">Maximální proud [A]</string>
|
||||
<string name="poi_amperage">Maximální nabíjecí proud [A]</string>
|
||||
<string name="poi_charging_station_output">Maximální výkon nabíjecí stanice [kW]</string>
|
||||
|
||||
<string name="poi_map_type_topo">Topografická mapa</string>
|
||||
<string name="poi_map_type_street">Podrobná mapa okolí</string>
|
||||
<string name="poi_map_type_scheme">Schematická mapa</string>
|
||||
<string name="poi_map_type_toposcope">Toposkop (tabulka s významnými body nadohled)</string>
|
||||
<string name="poi_map_size_site">Zobrazuje jen nejbližší okolí</string>
|
||||
<string name="poi_map_size_city">Zobrazuje celou obec</string>
|
||||
<string name="poi_map_size_region">Zobrazuje okolní region</string>
|
||||
<string name="poi_map_size_site">Mapa jen nejbližšího okolí</string>
|
||||
<string name="poi_map_size_city">Mapa celé obce</string>
|
||||
<string name="poi_map_size_region">Mapa okolního regionu</string>
|
||||
|
||||
<string name="poi_charging_station_filter">Nabíjecí stanice</string>
|
||||
|
||||
|
@ -3741,10 +3741,28 @@
|
|||
<string name="poi_hazard_minefield">Minové pole</string>
|
||||
|
||||
|
||||
<string name="poi_socket_type3">Počet konektorů typu 3</string>
|
||||
<string name="poi_socket_type3_current">Maximální proud konektoru typ 3 [A]</string>
|
||||
<string name="poi_socket_type3_output">Maximální výkon konektoru typ 3 [kW]</string>
|
||||
<string name="poi_socket_type3">Počet konektorů Scame (Typ 3)</string>
|
||||
<string name="poi_socket_type3_current">Maximální proud konektoru Scame (Typ 3) [A]</string>
|
||||
<string name="poi_socket_type3_output">Maximální výkon konektoru Scame (Typ 3) [kW]</string>
|
||||
<string name="poi_socket_tesla_standard">Počet stanic Tesla Destination Charger</string>
|
||||
<string name="poi_socket_tesla_standard_current">Maximální proud stanice Tesla Destination Charger [A]</string>
|
||||
<string name="poi_socket_tesla_standard_output">Maximální výkon stanice Tesla Destination Charger [kW]</string>
|
||||
<string name="poi_socket_tesla_roadster">Počet stanic Tesla Roadster</string>
|
||||
<string name="poi_socket_tesla_roadster_current">Maximální proud stanice Tesla Roadster [A]</string>
|
||||
<string name="poi_socket_tesla_roadster_output">Maximální výkon stanice Tesla Roadster [kW]</string>
|
||||
<string name="poi_socket_nema_5_15_current">Maximální proud zásuvky NEMA 5-15R [A]</string>
|
||||
<string name="poi_socket_nema_5_15_output">Maximální výkon zásuvky NEMA 5-15R [kW]</string>
|
||||
<string name="poi_socket_nema_5_20_current">Maximální proud zásuvky NEMA 5-20 [A]</string>
|
||||
<string name="poi_socket_nema_5_20_output">Maximální výkon zásuvky NEMA 5-20 [kW]</string>
|
||||
<string name="poi_socket_nema_14_30_current">Maximální proud zásuvky NEMA 14-30 [A]</string>
|
||||
<string name="poi_socket_nema_14_30_output">Maximální výkon zásuvky NEMA 14-30 [kW]</string>
|
||||
<string name="poi_socket_nema_14_50_current">Maximální proud zásuvky NEMA 14-50 [A]</string>
|
||||
<string name="poi_socket_nema_14_50_output">Maximální výkon zásuvky NEMA 14-50 [kW]</string>
|
||||
<string name="poi_post_flats">Byt</string>
|
||||
|
||||
<string name="poi_payment_centre">Platební centrum</string>
|
||||
<string name="poi_money_transfer">Služba převodu peněz</string>
|
||||
|
||||
<string name="poi_climbing_sport_yes">Sport: Ano</string>
|
||||
<string name="poi_climbing_sport_no">Sport: Ne</string>
|
||||
</resources>
|
||||
|
|
|
@ -2820,4 +2820,7 @@ Zobrazená oblast: %1$s x %2$s</string>
|
|||
\n • Mapové značky: import vybraných skupin z GPX souborů, nový vzhled zadávání souřadnic
|
||||
\n
|
||||
\n • Předplatné OsmAnd Live nyní zahrnuje všechny funkce OsmAnd</string>
|
||||
<string name="error_notification_desc">Zašlete prosím kopii obrazovky s touto chybou na email support@osmand.net</string>
|
||||
<string name="quick_action_edit_actions">Upravit akce</string>
|
||||
<string name="get_osmand_live">Získejte OsmAnd Live pro odemknutí všech funkcí: Denní aktulizace mapových podkladů s neomezeným počtem stahování, všechny placené zásuvné moduly, propojení s Wikipedia, Wikivoyage a mnoho dalšího.</string>
|
||||
</resources>
|
||||
|
|
|
@ -3060,4 +3060,28 @@
|
|||
<string name="coord_input_save_as_track">Αποθήκευση ως ίχνος</string>
|
||||
<string name="coord_input_save_as_track_descr">Προσθέσατε %1$s σημεία. Πληκτρολογήστε ένα όνομα αρχείου και πατήστε \"Αποθήκευση\".</string>
|
||||
<string name="point_deleted">Διαγράφηκε το σημείο %1$s</string>
|
||||
<string name="thank_you_for_feedback">Σας ευχαριστούμε για την ανάδραση</string>
|
||||
<string name="poi_cannot_be_found">Δεν μπορεί να βρεθεί κόμβος ή δρόμος.</string>
|
||||
<string name="search_no_results_feedback">Χωρίς αποτελέσματα αναζήτησης;
|
||||
\nΑνατροφοδοτήστε μας</string>
|
||||
<string name="release_3_1">• Πλοήγηση: Διόρθωση γραμμής προόδου, γρήγορη εναλλαγή του αρχικού και τελικού σημείου της διαδρομής
|
||||
\n
|
||||
\n • Δείκτες χαρτών: διόρθωση ενεργοποίησης/απενεργοποίησης ομάδων, δυνατότητα απόκρυψης δεικτών από τον χάρτη
|
||||
\n
|
||||
\n • Επεξεργασία OSM: Δυνατότητα επεξεργασίας ετικετών για αντικείμενα και δρόμους, διόρθωση σχολίων που λείπουν σε σημειώσεις, αντίγραφα επεξεργασιών
|
||||
\n
|
||||
\n • Βελτίωση ανάλυσης βικιπαίδειας και βικιταξιδιών, τα ενημερωμένα αρχεία είναι ήδη διαθέσιμα
|
||||
\n
|
||||
\n • Μενού περιβάλλοντος: διόρθωση χρώματος πινακίδων μετακίνησης στην νυχτερινή κατάσταση, διόρθωση πρόσθετων μεγεθών μενού
|
||||
\n
|
||||
\n • Πλοήγηση με σκάφος: υποστήριξη για δίαυλο ασφαλούς πορείας
|
||||
\n
|
||||
\n • Άλλες διορθώσεις σφαλμάτων
|
||||
\n
|
||||
\n</string>
|
||||
<string name="commiting_way">Υποβολή διαδρομής…</string>
|
||||
<string name="increase_search_radius_to">Αύξηση ακτίνας αναζήτησης σε %1$s</string>
|
||||
<string name="send_search_query_description">Θα στείλουμε το ερώτημα αναζήτησής σας:<b>\"%1$s\"</b>,καθώς και την τοποθεσία σας.<br/><br/> Δεν συλλέγουμε προσωπικές πληροφορίες, χρειαζόμαστε μόνο δεδομένα αναζήτησης για να βελτιώσουμε τον αλγόριθμο αναζήτησης.<br/></string>
|
||||
<string name="send_search_query">Αποστολή ερωτήματος αναζήτησης;</string>
|
||||
<string name="shared_string_world">Κόσμος</string>
|
||||
</resources>
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?><resources><string name="map_widget_gps_info">GPS informacije</string>
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<resources><string name="map_widget_gps_info">GPS informacije</string>
|
||||
<string name="access_arrival_time">Vrijeme dolaska</string>
|
||||
<string name="item_checked">provjereno</string>
|
||||
<string name="item_unchecked">neprovjereno</string>
|
||||
|
@ -1568,4 +1569,69 @@
|
|||
<string name="new_filter_desc">Upišite naziv za novi filtar, on će biti dodan na karticu kategorije.</string>
|
||||
<string name="si_mi_meters">Milje/metri</string>
|
||||
<string name="skip_map_downloading">Preskoči Preuzimanje karata</string>
|
||||
<string name="thank_you_for_feedback">Hvala vam na povratnim informacijama</string>
|
||||
<string name="increase_search_radius_to">Povećajte radijus pretraživanja na %1$s</string>
|
||||
<string name="send_search_query">Pošaljite upit za pretraživanje?</string>
|
||||
<string name="shared_string_world">Svijet</string>
|
||||
<string name="point_deleted">Točka %1$s izbrisana</string>
|
||||
<string name="coord_input_edit_point">Uređivanje točke</string>
|
||||
<string name="coord_input_add_point">Dodaj točku</string>
|
||||
<string name="coord_input_save_as_track">Spremi kao trag</string>
|
||||
<string name="coord_input_save_as_track_descr">Dodali ste %1$s točke. Upišite naziv datoteke i dodirnite \"Spremi\".</string>
|
||||
<string name="get_osmand_live">Nabavite OsmAnd Live za otključavanje svih značajki: ažuriranja dnevnih karata uz neograničeno preuzimanje, sve plaćene i besplatne dodatke, Wikipediju, Wikivoyage i još mnogo toga.</string>
|
||||
<string name="shared_string_bookmark">oznaka</string>
|
||||
<string name="hide_full_description">Sakrij opis</string>
|
||||
<string name="show_full_description">Prikaži cijeli opis</string>
|
||||
<string name="open_wikipedia_link_online_description">Veza će biti otvorena u web pregledniku.</string>
|
||||
<string name="how_to_open_link">Kako otvoriti link?</string>
|
||||
<string name="download_all">Preuzmi sve</string>
|
||||
<string name="shared_string_restart">Ponovno pokretanje aplikacije</string>
|
||||
<string name="show_images">Prikaži slike</string>
|
||||
<string name="purchase_cancelled_dialog_title">Otkazali ste OsmAnd Live pretplatu</string>
|
||||
<string name="purchase_cancelled_dialog_descr">Obnovite pretplatu za nastavak korištenja svih značajki:</string>
|
||||
|
||||
<string name="maps_you_need">Karte koje trebate</string>
|
||||
<string name="osmand_team">OsmAnd tim</string>
|
||||
<string name="popular_destinations">Popularna odredišta</string>
|
||||
<string name="paid_app">Plaćena aplikacija</string>
|
||||
<string name="paid_plugin">Plaćeni dodatak</string>
|
||||
<string name="update_is_available">Dostupno je ažuriranje</string>
|
||||
<string name="download_file">Preuzmi datoteku</string>
|
||||
<string name="start_editing">Započnite uređivanje</string>
|
||||
<string name="get_unlimited_access">Neograničen pristup</string>
|
||||
<string name="wikivoyage_travel_guide">Turistički vodiči</string>
|
||||
<string name="monthly_map_updates">Ažuriranja karata: <b>svaki mjesec</b></string>
|
||||
<string name="daily_map_updates">Ažuriranja karata: <b>svaki sat</b></string>
|
||||
<string name="in_app_purchase_desc">Jednokratno plaćanje</string>
|
||||
<string name="purchase_unlim_title">Kupi - %1$s</string>
|
||||
<string name="purchase_subscription_title">Pretplatite se - %1$s</string>
|
||||
<string name="unlock_all_features">Otključati sve OsmAnd značajke</string>
|
||||
<string name="purchase_dialog_title">Odaberite plan</string>
|
||||
<string name="shared_string_only_with_wifi">Samo na Wi-Fi mreži</string>
|
||||
<string name="wikivoyage_download_pics">Preuzmite slike</string>
|
||||
<string name="shared_string_wifi_only">Samo na Wi-Fi mreži</string>
|
||||
<string name="delete_search_history">Brisanje povijesti pretraživanja</string>
|
||||
<string name="download_images">Preuzmite slike</string>
|
||||
<string name="shared_string_wikivoyage">Wikivoyage</string>
|
||||
<string name="wikivoyage_search_hint">Pretraživanje: zemlja, grad, pokrajina</string>
|
||||
<string name="shared_string_read">Pročitajte</string>
|
||||
<string name="shared_string_explore">Istražite</string>
|
||||
<string name="shared_string_contents">Sadržaj</string>
|
||||
<string name="shared_string_result">Rezultat</string>
|
||||
<string name="shared_string_travel_guides">Turistički vodiči</string>
|
||||
<string name="shared_string_total">Ukupno</string>
|
||||
<string name="group_deleted">Grupa izbrisana</string>
|
||||
<string name="enter_lon">Unesite zemljopisnu dužinu</string>
|
||||
<string name="enter_lat">Unesite zemljopisnu širinu</string>
|
||||
<string name="enter_lat_and_lon">Unesite širinu i dužinu</string>
|
||||
<string name="shared_string_gpx_file">GPX datoteka</string>
|
||||
<string name="osc_file">OSC datoteka</string>
|
||||
<string name="choose_file_type">Odaberite vrstu datoteke</string>
|
||||
<string name="all_data">Svi podaci</string>
|
||||
<string name="osm_notes">OSM bilješke</string>
|
||||
<string name="what_is_here">Što je ovdje:</string>
|
||||
<string name="parked_at">parkiran na</string>
|
||||
<string name="without_time_limit">Bez vremenskog ograničenja</string>
|
||||
<string name="context_menu_read_full_article">Pročitajte cijeli članak</string>
|
||||
<string name="context_menu_read_article">Pročitajte članak</string>
|
||||
</resources>
|
|
@ -3068,4 +3068,12 @@ voor Gebied: %1$s x %2$s</string>
|
|||
<string name="coord_input_add_point">Punt toevoegen</string>
|
||||
<string name="coord_input_save_as_track_descr">Je hebt %1$s punten toegevoegd. Geef een bestandsnaam en tik op \"Opslaan\".</string>
|
||||
<string name="error_notification_desc">Stuur alsjeblieft een screenshot van deze melding naar support@osmand.net</string>
|
||||
<string name="thank_you_for_feedback">"Dank voor feedback "</string>
|
||||
<string name="poi_cannot_be_found">"Knoop of weg kan niet worden gevonden. "</string>
|
||||
<string name="search_no_results_feedback">Geen zoekresultaten ?
|
||||
\nGeef ons jouw feedback</string>
|
||||
<string name="increase_search_radius_to">Vergroot het zoekgebied tot %1$s</string>
|
||||
<string name="send_search_query_description">We gebruiken uw zoekterm: <b>\"%1$s\"</b>, en uw locatie.<br/><br/> om ons zoekalgoritme te verbeteren. We verzamelen geen persoonlijke informatie <br/></string>
|
||||
<string name="send_search_query">"Zoekterm versturen? "</string>
|
||||
<string name="shared_string_world">Wereld</string>
|
||||
</resources>
|
||||
|
|
|
@ -2919,7 +2919,7 @@ Reprezentuje obszar: %1$s x %2$s</string>
|
|||
<string name="distance_nearest">Odległość: najpierw najbliższe</string>
|
||||
<string name="day_off_label">poza</string>
|
||||
|
||||
<string name="osm_edits_export_desc">Wybierz typ zapisu: notatki OSM, POI, lub obie.</string>
|
||||
<string name="osm_edits_export_desc">Wybierz rodzaj eksportu: uwagi OSM, POI lub oba.</string>
|
||||
<string name="empty_state_osm_edits_descr">Twórz lub modyfikuj OSM POI, otwórz lub skomentuj notatki OSM, oraz udostępniaj nagrane pliki GPX.</string>
|
||||
<string name="empty_state_markers_groups_desc">Importowanie grup z ulubionych lub punktów jako znaczniki.</string>
|
||||
<string name="rendering_attr_whiteWaterSports_name">Sporty spływowe</string>
|
||||
|
|
|
@ -33,8 +33,8 @@ public class NativeOsmandLibrary extends NativeLibrary {
|
|||
if (!isLoaded()) {
|
||||
isNativeSupported = false;
|
||||
try {
|
||||
log.debug("Loading native gnustl_shared..."); //$NON-NLS-1$
|
||||
System.loadLibrary("gnustl_shared");
|
||||
log.debug("Loading native c++_shared..."); //$NON-NLS-1$
|
||||
System.loadLibrary("c++_shared");
|
||||
log.debug("Loading native libraries..."); //$NON-NLS-1$
|
||||
System.loadLibrary("osmand");
|
||||
log.debug("Creating NativeOsmandLibrary instance..."); //$NON-NLS-1$
|
||||
|
|
|
@ -7,7 +7,7 @@ buildscript {
|
|||
}
|
||||
dependencies {
|
||||
//classpath 'com.android.tools.build:gradle:2.+'
|
||||
classpath 'com.android.tools.build:gradle:3.1.3'
|
||||
classpath 'com.android.tools.build:gradle:3.1.4'
|
||||
classpath 'com.google.gms:google-services:3.0.0'
|
||||
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
|
||||
}
|
||||
|
|
|
@ -17,4 +17,5 @@
|
|||
|
||||
# for enableD8=true min sdk must be > 22
|
||||
# UPDATE: temporairly commented since gradle plugin updated to 3.1.3 and claims INSTALL_FAILED_DEXOPT is fixed
|
||||
# android.enableD8=false
|
||||
# UPDATE 2: D8 causes problems on arm64 devices with Android 6.0 (API 23)
|
||||
android.enableD8=false
|
||||
|
|
Loading…
Reference in a new issue