Merge remote-tracking branch 'origin/DataStorage' into DataStorage
|
@ -1026,7 +1026,7 @@ public class RouteResultPreparation {
|
|||
return MAX_SPEAK_PRIORITY;
|
||||
}
|
||||
if (highway.endsWith("_link") || highway.endsWith("unclassified") || highway.endsWith("road")
|
||||
|| highway.endsWith("living_street") || highway.endsWith("residential") ) {
|
||||
|| highway.endsWith("living_street") || highway.endsWith("residential") || highway.endsWith("tertiary") ) {
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
|
|
BIN
OsmAnd/res/drawable-hdpi/ic_action_openstreetmap_logo.png
Executable file → Normal file
Before Width: | Height: | Size: 801 B After Width: | Height: | Size: 694 B |
BIN
OsmAnd/res/drawable-hdpi/ic_action_utv.png
Executable file → Normal file
Before Width: | Height: | Size: 586 B After Width: | Height: | Size: 452 B |
BIN
OsmAnd/res/drawable-hdpi/ic_action_width_limit.png
Executable file → Normal file
Before Width: | Height: | Size: 554 B After Width: | Height: | Size: 438 B |
Before Width: | Height: | Size: 382 B After Width: | Height: | Size: 344 B |
BIN
OsmAnd/res/drawable-hdpi/map_action_utv.png
Normal file
After Width: | Height: | Size: 452 B |
BIN
OsmAnd/res/drawable-large-hdpi/map_action_utv.png
Executable file
After Width: | Height: | Size: 685 B |
BIN
OsmAnd/res/drawable-large-xhdpi/map_action_utv.png
Executable file
After Width: | Height: | Size: 1 KiB |
BIN
OsmAnd/res/drawable-large/map_action_utv.png
Executable file
After Width: | Height: | Size: 452 B |
Before Width: | Height: | Size: 411 B After Width: | Height: | Size: 360 B |
BIN
OsmAnd/res/drawable-mdpi/map_action_utv.png
Executable file
After Width: | Height: | Size: 392 B |
Before Width: | Height: | Size: 711 B After Width: | Height: | Size: 658 B |
BIN
OsmAnd/res/drawable-xhdpi/map_action_utv.png
Executable file
After Width: | Height: | Size: 685 B |
Before Width: | Height: | Size: 988 B After Width: | Height: | Size: 966 B |
BIN
OsmAnd/res/drawable-xxhdpi/map_action_utv.png
Executable file
After Width: | Height: | Size: 1 KiB |
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
BIN
OsmAnd/res/drawable-xxxhdpi/map_action_utv.png
Executable file
After Width: | Height: | Size: 1.3 KiB |
|
@ -3274,4 +3274,9 @@ Abasta l\'àrea: %1$s x %2$s</string>
|
|||
<string name="change_osmand_data_folder_question">Voleu canviar la carpeta de dades de OsmAnd\?</string>
|
||||
<string name="move_maps_to_new_destination">Desplaça a la nova destinació</string>
|
||||
<string name="avoid_in_routing_descr_">Evita determinades rutes i tipus de carretera</string>
|
||||
<string name="internal_app_storage_description">Emmagatzematge intern, amagat a l\'usuari i a les altres aplicacions, de manera que només OsmAnd pot accedir a les vostres dades</string>
|
||||
<string name="change_data_storage_folder">Canvia la carpeta d\'emmagatzematge de dades</string>
|
||||
<string name="rendering_attr_piste_type_snow_park_name">Parc de neu</string>
|
||||
<string name="rendering_attr_piste_type_sleigh_name">Trineu</string>
|
||||
<string name="app_mode_utv">Costat a costat</string>
|
||||
</resources>
|
|
@ -3733,4 +3733,6 @@
|
|||
<string name="poi_craft_floorer">Gulvlægger</string>
|
||||
<string name="poi_craft_bakery">Bager</string>
|
||||
<string name="poi_craft_cabinet_maker">Møbelsnedker</string>
|
||||
<string name="poi_charge">Gebyr</string>
|
||||
<string name="poi_pet_grooming">Kæledyrspleje</string>
|
||||
</resources>
|
|
@ -3330,4 +3330,12 @@ Repræsenterer område: %1$s x %2$s</string>
|
|||
<string name="app_mode_utv">Side om side</string>
|
||||
<string name="rendering_attr_piste_difficulty_aerialway_name">Lift</string>
|
||||
<string name="rendering_attr_piste_difficulty_connection_name">Forbindelse</string>
|
||||
<string name="shared_string_calculate">Beregn</string>
|
||||
<string name="shared_string_osmand_usage">OsmAnd brug</string>
|
||||
<string name="shared_sting_tiles">Fliser</string>
|
||||
<string name="shared_string_maps">Kort</string>
|
||||
<string name="shared_string_memory_tb_desc">%1$s TB</string>
|
||||
<string name="shared_string_memory_gb_desc">%1$s GB</string>
|
||||
<string name="shared_string_memory_mb_desc">%1$s MB</string>
|
||||
<string name="shared_string_memory_kb_desc">%1$s KB</string>
|
||||
</resources>
|
|
@ -3728,4 +3728,6 @@
|
|||
<string name="poi_craft_floorer">Bodenleger</string>
|
||||
<string name="poi_craft_bakery">Backstube</string>
|
||||
<string name="poi_craft_cabinet_maker">Möbeltischler</string>
|
||||
<string name="poi_charge">Gebühr</string>
|
||||
<string name="poi_pet_grooming">Haustierpflege</string>
|
||||
</resources>
|
|
@ -2460,8 +2460,13 @@ Abgedeckte Fläche: %1$s x %2$s</string>
|
|||
<string name="max_min">max/min</string>
|
||||
<string name="shared_string_reset">Zurücksetzen</string>
|
||||
<string name="ascent_descent">Aufstieg/Abstieg</string>
|
||||
<string name="track_storage_directory">Track Speicherort</string>
|
||||
<string name="track_storage_directory_descrp">Tracks können im Rec Ordner oder in Monats- bzw. Tagesordnern gespeichert werden.</string>
|
||||
<string name="store_tracks_in_rec_directory">Aufgezeichnete Tracks im Rec Ordner speichern</string>
|
||||
<string name="store_tracks_in_monthly_directories">Aufgezeichnete Tracks in Monatsordnern speichern</string>
|
||||
<string name="store_tracks_in_monthly_directories_descrp">Aufgezeichnete Tracks in nach Aufzeichnungsmonat benannten Unterordnern speichern (z. B. 2018-01).</string>
|
||||
<string name="store_tracks_in_daily_directories">Aufgezeichnete Tracks in Tagesordnern speichern</string>
|
||||
<string name="store_tracks_in_daily_directories_descrp">Aufgezeichnete Tracks in nach Aufzeichnungstag benannten Unterordnern speichern (z. B. 2018-01).</string>
|
||||
<string name="map_widget_ruler_control">Zirkel</string>
|
||||
<string name="of">%1$d von %2$d</string>
|
||||
<string name="moving_time">Zeit in Bewegung</string>
|
||||
|
@ -3327,4 +3332,14 @@ Abgedeckte Fläche: %1$s x %2$s</string>
|
|||
<string name="routing_attr_width_name">Breitenbegrenzung</string>
|
||||
<string name="routing_attr_width_description">Geben Sie die zulässige Fahrzeugbreitenbegrenzung auf Routen an.</string>
|
||||
<string name="avoid_in_routing_descr_">Vermeiden von bestimmten Routen und Straßentypen</string>
|
||||
<string name="app_mode_utv">Nebeneinander</string>
|
||||
<string name="rendering_attr_piste_difficulty_aerialway_name">Seilbahn</string>
|
||||
<string name="rendering_attr_piste_difficulty_connection_name">Verbindung</string>
|
||||
<string name="shared_string_calculate">Berechnen</string>
|
||||
<string name="shared_string_osmand_usage">OsmAnd Nutzung</string>
|
||||
<string name="shared_string_maps">Karten</string>
|
||||
<string name="shared_string_memory_tb_desc">%1$s TB</string>
|
||||
<string name="shared_string_memory_gb_desc">%1$s GB</string>
|
||||
<string name="shared_string_memory_mb_desc">%1$s MB</string>
|
||||
<string name="shared_string_memory_kb_desc">%1$s KB</string>
|
||||
</resources>
|
|
@ -3719,4 +3719,5 @@
|
|||
<string name="poi_craft_bakery">Bakejo (ne vendejo)</string>
|
||||
<string name="poi_craft_cabinet_maker">Laborejo de meblisto</string>
|
||||
<string name="poi_charge">Pago</string>
|
||||
<string name="poi_pet_grooming">Dombesta beligejo</string>
|
||||
</resources>
|
|
@ -3285,7 +3285,7 @@ Indikas lokon: %1$s x %2$s"</string>
|
|||
<string name="rendering_attr_piste_type_sleigh_name">glitveturado (tirata de hundoj)</string>
|
||||
<string name="rendering_attr_piste_type_sled_name">glitveturado (motora)</string>
|
||||
<string name="rendering_attr_piste_type_hike_name">marŝado</string>
|
||||
<string name="rendering_attr_piste_type_connection_name">konekto</string>
|
||||
<string name="rendering_attr_piste_type_connection_name">ligilo</string>
|
||||
<string name="rendering_attr_piste_type_skitour_name">ski‑ekskurso</string>
|
||||
<string name="rendering_attr_piste_type_downhill_name">alpa (malsuprenira)</string>
|
||||
<string name="rendering_attr_piste_type_nordic_name">nordia (skikurada)</string>
|
||||
|
@ -3302,4 +3302,15 @@ Indikas lokon: %1$s x %2$s"</string>
|
|||
<string name="routing_attr_width_name">Limigo de larĝo</string>
|
||||
<string name="routing_attr_width_description">Difini permesatan limigon de larĝo de veturilo.</string>
|
||||
<string name="avoid_in_routing_descr_">Eviti difinitajn kursojn kaj specojn de vojoj</string>
|
||||
<string name="app_mode_utv">Ĉiuteren‑veturilo (UTV)</string>
|
||||
<string name="rendering_attr_piste_difficulty_aerialway_name">kablovojo</string>
|
||||
<string name="rendering_attr_piste_difficulty_connection_name">ligilo</string>
|
||||
<string name="shared_string_calculate">Kalkuli</string>
|
||||
<string name="shared_string_osmand_usage">Uzado de OsmAnd</string>
|
||||
<string name="shared_sting_tiles">Kaheloj</string>
|
||||
<string name="shared_string_maps">Mapoj</string>
|
||||
<string name="shared_string_memory_tb_desc">%1$s TB</string>
|
||||
<string name="shared_string_memory_gb_desc">%1$s GB</string>
|
||||
<string name="shared_string_memory_mb_desc">%1$s MB</string>
|
||||
<string name="shared_string_memory_kb_desc">%1$s kB</string>
|
||||
</resources>
|
|
@ -3733,4 +3733,5 @@
|
|||
<string name="poi_craft_bakery">Taller de panadería</string>
|
||||
<string name="poi_craft_cabinet_maker">Ebanista</string>
|
||||
<string name="poi_charge">Cargo</string>
|
||||
<string name="poi_pet_grooming">Cuidado de mascotas</string>
|
||||
</resources>
|
|
@ -3324,4 +3324,12 @@ Lon %2$s</string>
|
|||
<string name="app_mode_utv">En paralelo</string>
|
||||
<string name="rendering_attr_piste_difficulty_aerialway_name">Vía aérea</string>
|
||||
<string name="rendering_attr_piste_difficulty_connection_name">Conexión</string>
|
||||
<string name="shared_string_calculate">Calcular</string>
|
||||
<string name="shared_string_osmand_usage">Uso de OsmAnd</string>
|
||||
<string name="shared_sting_tiles">Teselas</string>
|
||||
<string name="shared_string_maps">Mapas</string>
|
||||
<string name="shared_string_memory_tb_desc">%1$s TB</string>
|
||||
<string name="shared_string_memory_gb_desc">%1$s GB</string>
|
||||
<string name="shared_string_memory_mb_desc">%1$s MB</string>
|
||||
<string name="shared_string_memory_kb_desc">%1$s KB</string>
|
||||
</resources>
|
|
@ -3632,4 +3632,14 @@
|
|||
<string name="poi_goods_yes">Oui</string>
|
||||
<string name="poi_goods_designated">Accès conçu pour les fauteuils roulants</string>
|
||||
<string name="poi_disabled_yes">Oui</string>
|
||||
<string name="poi_glacier_type_hanging">suspendu</string>
|
||||
<string name="poi_motorcar_yes">accès-voiture :</string>
|
||||
<string name="poi_motorcar_private">accès-voiture : privé</string>
|
||||
<string name="poi_motorcar_no">accès-voiture : impossible</string>
|
||||
<string name="poi_motorcar_permissive">accès-voiture : possible</string>
|
||||
<string name="poi_motorcar_customers">accès-voiture : clients</string>
|
||||
<string name="poi_motor_vehicle_yes">accès-voiture : autorisé</string>
|
||||
<string name="poi_motor_vehicle_private">Accès-voiture : privé</string>
|
||||
<string name="poi_motor_vehicle_delivery">Accès-véhicules : livraison</string>
|
||||
<string name="poi_motor_vehicle_agricultural">Accès-véhicules : agricoles</string>
|
||||
</resources>
|
|
@ -3291,4 +3291,13 @@ représentant la zone : %1$s x %2$s</string>
|
|||
<string name="avoid_in_routing_descr_">Éviter certains types de route</string>
|
||||
<string name="app_mode_utv">Côte à côte</string>
|
||||
<string name="rendering_attr_piste_difficulty_connection_name">Connexion</string>
|
||||
<string name="rendering_attr_piste_difficulty_aerialway_name">Transport aérien</string>
|
||||
<string name="shared_string_calculate">Calculer</string>
|
||||
<string name="shared_string_osmand_usage">Utilisation d\'OsmAnd</string>
|
||||
<string name="shared_sting_tiles">Tuiles</string>
|
||||
<string name="shared_string_maps">Cartes</string>
|
||||
<string name="shared_string_memory_tb_desc">%1$s TB</string>
|
||||
<string name="shared_string_memory_gb_desc">%1$s GB</string>
|
||||
<string name="shared_string_memory_mb_desc">%1$s MB</string>
|
||||
<string name="shared_string_memory_kb_desc">%1$s KB</string>
|
||||
</resources>
|
|
@ -3718,4 +3718,6 @@
|
|||
<string name="poi_craft_floorer">Construtor de chans</string>
|
||||
<string name="poi_craft_bakery">Obradoiro de panadaría</string>
|
||||
<string name="poi_craft_cabinet_maker">Ebanista</string>
|
||||
<string name="poi_charge">Carga</string>
|
||||
<string name="poi_pet_grooming">Coidado de mascotas</string>
|
||||
</resources>
|
|
@ -3362,4 +3362,15 @@ Lon %2$s</string>
|
|||
<string name="routing_attr_width_name">Límite de largura</string>
|
||||
<string name="routing_attr_width_description">Especifica o límite permitido de largura do vehículo nas rutas.</string>
|
||||
<string name="avoid_in_routing_descr_">Evitar certas rutas e tipos de estradas</string>
|
||||
<string name="app_mode_utv">Lado a lado</string>
|
||||
<string name="rendering_attr_piste_difficulty_aerialway_name">Vía aeroportuaria</string>
|
||||
<string name="rendering_attr_piste_difficulty_connection_name">Conexión</string>
|
||||
<string name="shared_string_calculate">Calcular</string>
|
||||
<string name="shared_string_osmand_usage">Uso do OsmAnd</string>
|
||||
<string name="shared_sting_tiles">Teselas</string>
|
||||
<string name="shared_string_maps">Mapas</string>
|
||||
<string name="shared_string_memory_tb_desc">%1$s TB</string>
|
||||
<string name="shared_string_memory_gb_desc">%1$s GB</string>
|
||||
<string name="shared_string_memory_mb_desc">%1$s MB</string>
|
||||
<string name="shared_string_memory_kb_desc">%1$s KB</string>
|
||||
</resources>
|
|
@ -3307,4 +3307,15 @@
|
|||
<string name="routing_attr_width_name">מגבלת רוחב</string>
|
||||
<string name="routing_attr_width_description">ציון מגבלת רוחב מכונית אפשרי בנתיבים.</string>
|
||||
<string name="avoid_in_routing_descr_">הימנעות מסוגים מסוימים של מסלולים וכבישים</string>
|
||||
<string name="app_mode_utv">זה לצד זה</string>
|
||||
<string name="rendering_attr_piste_difficulty_aerialway_name">דרך אווירית</string>
|
||||
<string name="rendering_attr_piste_difficulty_connection_name">חיבור</string>
|
||||
<string name="shared_string_calculate">חישוב</string>
|
||||
<string name="shared_string_osmand_usage">שימוש ב־OsmAnd</string>
|
||||
<string name="shared_sting_tiles">אריחים</string>
|
||||
<string name="shared_string_maps">מפות</string>
|
||||
<string name="shared_string_memory_tb_desc">%1$s ט״ב</string>
|
||||
<string name="shared_string_memory_gb_desc">%1$s ג״ב</string>
|
||||
<string name="shared_string_memory_mb_desc">%1$s מ״ב</string>
|
||||
<string name="shared_string_memory_kb_desc">%1$s ק״ב</string>
|
||||
</resources>
|
|
@ -132,4 +132,121 @@
|
|||
<string name="rendering_attr_piste_difficulty_expert_name">ဝါရင့်</string>
|
||||
<string name="rendering_attr_piste_difficulty_extreme_name">အစွန်းရောက်</string>
|
||||
<string name="routeInfo_piste_difficulty_name">နှင်းတောင် ski အခက်အခဲ</string>
|
||||
<string name="shared_string_color_magenta">ပန်းခရမ်းရောင်</string>
|
||||
<string name="press_again_to_change_the_map_orientation">မြေပုံတည်နေရာကိုပြောင်းလဲရန်နောက်တစ်ကြိမ်အသာပုတ်ပါ</string>
|
||||
<string name="default_speed_setting_descr">မူလအရှိန် settings များကိုပြောင်းမြည်</string>
|
||||
<string name="minmax_speed_dialog_title">အနှေး /အမြန်နှုန်း ကိုသတ်မှတ်ပါ</string>
|
||||
<string name="new_profile">ပရိုဖိုင်းအသစ်</string>
|
||||
<string name="last_launch_crashed">OsmAnd ၏နောက်ဆုံးပစ်လွှတ်မှုမအောင်မြင်ပါ ကျေးဇူးပြုပြီးကျွန်ုပ်တို့က OsmAnd ကိုတိုးတက်စေရန်အမှားသတင်းစကားကိုဝေမျှပါ။</string>
|
||||
<string name="day">နေ့</string>
|
||||
<string name="days_2_4">နေ့ရက်များ</string>
|
||||
<string name="days_5">နေ့ရက်များ</string>
|
||||
<string name="week">အပတ်</string>
|
||||
<string name="weeks_2_4">အပတ်များ</string>
|
||||
<string name="weeks_5">အပတ်များ</string>
|
||||
<string name="month">လ</string>
|
||||
<string name="months_2_4">လများ</string>
|
||||
<string name="months_5">လများ</string>
|
||||
<string name="year">နှစ်</string>
|
||||
<string name="years_2_4">နှစ်များ</string>
|
||||
<string name="years_5">နှစ်များ</string>
|
||||
<string name="months_3">သုံးလ</string>
|
||||
<string name="get_discount_second_part">ပြီးရင် %1$s</string>
|
||||
<string name="cancel_subscription">ကြေးပေးသွင်းမှုကိုပယ်ဖျက်ပါ</string>
|
||||
<string name="osmand_settings">OsmA အပြင်အဆင်များ</string>
|
||||
<string name="copy_from_other_profile">အခြားပရိုဖိုင်းမှကူးယူပါ</string>
|
||||
<string name="turn_screen_on">မျက်နှာပြင်ဖွင့်ပါ</string>
|
||||
<string name="map_during_navigation_info">လမ်းညွှန်နေစဉ်မြေပုံ</string>
|
||||
<string name="map_during_navigation">လမ်းညွှန်နေစဉ်မြေပုံ</string>
|
||||
<string name="shared_string_other">အခြား</string>
|
||||
<string name="vehicle_parameters_descr">အလေးချိန်၊ အမြင့်၊ အမြန်နှုန်း</string>
|
||||
<string name="vehicle_parameters">ယာဉ်သတ်မှတ်ချက်များ</string>
|
||||
<string name="voice_announces_info">အသံကြေငြာချက်များသည် လမ်းညွှန်အတွင်းသာလာမြည်။</string>
|
||||
<string name="voice_announces_descr">လမ်းညွှန်ညွှန်ကြားချက်နှင့်ကြေငြာ</string>
|
||||
<string name="voice_announces">အသံကြေငြာ</string>
|
||||
<string name="screen_alerts">ဖန်သားပြင်သတိပေးချက်များ</string>
|
||||
<string name="route_parameters_descr">လမ်းကြောင်း parameters များကိုပြုပြင်ပါ</string>
|
||||
<string name="route_parameters">လမ်းကြောင်း parameters များ</string>
|
||||
<string name="shared_string_walk">လမ်းလျှောက်</string>
|
||||
<string name="save_poi_value_exceed_length">tag ၏အများဆုံးအရှည်မှအက္ခရာာ %s လုံးဖြစ်သည်။
|
||||
\nကျေးဇူးပြုပြီးတိုပေးပါ။</string>
|
||||
<string name="avoid_pt_types_descr">လမ်းညွှန်ရန် မသုံးမြည့်ပြည်သူပို့ဆောင်ရေးအမျိုးအစားများကိုရွေးပါ။</string>
|
||||
<string name="avoid_pt_types">ရှောင်ထားသောပို့ဆောင်ရေးအမျိုးအစားများ</string>
|
||||
<string name="shared_string_degrees">ဒီဂရီ</string>
|
||||
<string name="shared_string_milliradians">Milliradians</string>
|
||||
<string name="routing_attr_avoid_tram_name">လမ်းရထားများကိုရှောင်ပါ</string>
|
||||
<string name="routing_attr_avoid_tram_description">လမ်းရထားများကိုရှောင်</string>
|
||||
<string name="routing_attr_avoid_bus_name">ဘတ်စ်ကားများကိုရှောင်</string>
|
||||
<string name="routing_attr_avoid_bus_description">ဘတ်စ်ကားနှင့် trolleyဘတ်စ်များကိုရှောင်</string>
|
||||
<string name="routing_attr_avoid_share_taxi_name">စုပေါင်းစီးတက္ကစီကိုရှောင်</string>
|
||||
<string name="routing_attr_avoid_share_taxi_description">စုပေါင်းစီးတက္ကစီကိုရှောင်</string>
|
||||
<string name="routing_attr_avoid_train_name">ရထားတွေကိုရှောင်</string>
|
||||
<string name="routing_attr_avoid_train_description">ရထားတွေကိုရှောင်</string>
|
||||
<string name="routing_attr_avoid_subway_name">မြေအောက်ရထားတွေကိုရှောင်</string>
|
||||
<string name="routing_attr_avoid_subway_description">မြေအောက်ရထားနှင့်ရထားများကိုရှောင်</string>
|
||||
<string name="routing_attr_avoid_ferry_name">သင်္ဘောများကိုရှောင်</string>
|
||||
<string name="routing_attr_avoid_ferry_description">သင်္ဘောများကိုရှောင်</string>
|
||||
<string name="send_log">log ပို့ပါ</string>
|
||||
<string name="files_moved">%1$d ဖိုင်များ (%2$s) ပြောင်းထားသည်။</string>
|
||||
<string name="files_copied">%1$d ဖိုင်များကို (%2$s) ကူးယူထားသည်။</string>
|
||||
<string name="move_maps">မြေပုံများကိုရွှေ့ပါ</string>
|
||||
<string name="dont_move_maps">မရွှေ့ရ</string>
|
||||
<string name="public_transport_ped_route_title">ခြေလျင်ဖြင့်သွားသောလမ်းကြောင်းသည်ခန့်မှန်းခြေအားဖြင့် %1$s ဖြစ်ပြီးပြည်သူပို့ဆောင်ရေးထက်ပိုမြန်လိမ့်မည်</string>
|
||||
<string name="public_transport_no_route_title">OsmAnd သည်သင်၏ဆက်တင်များနှင့်အံဝင်ခွင်ကျဖြစ်မည့်လမ်းကြောင်းကိုရှာမတွေ့ပါ။</string>
|
||||
<string name="public_transport_calc_pedestrian">လမ်းလျှောက်လမ်းကြောင်းကိုတွက်ချက်မြည်</string>
|
||||
<string name="public_transport_type">သယ်ယူပို့ဆောင်ရေးအမျိုးအစား</string>
|
||||
<string name="searching_gps">GPS ရှာဖွေခြင်း</string>
|
||||
<string name="coordinates_widget">Coordinates ဝစ်ဂျက်</string>
|
||||
<string name="rate_dialog_descr">စက္ကန့် ၃၀လောက်အချိန်ပေးပြီး Google Play မှာ ကျွန်ုပ်တို့၏ application ကို သင်၏ထင်မြင်ချက်များ တင်ပြပေးပါ။</string>
|
||||
<string name="button_rate">သတ်မှတ်ချက်</string>
|
||||
<string name="shared_string_privacy_policy">တစ်ကိုယ်ရေ မူဝါဒ</string>
|
||||
<string name="help_us_make_osmand_better">ကျွန်တော်တို့ရဲ့ OsmAnd ကိုပိုကောင်းအောင်ကူညီပါ!</string>
|
||||
<string name="choose_data_to_share">သင်မျှဝေလိုသည့်အချက်အလက်အမျိုးအစားကိုရွေးချယ်ပါ။</string>
|
||||
<string name="downloaded_maps">ဒေါင်းလုပ်လုပ်ထားသောမြေပုံများ</string>
|
||||
<string name="visited_screens">သွားရောက်ကြည့်ရှုခဲ့ဖန်သားပြင်မျာ</string>
|
||||
<string name="visited_screens_collect_descr">မည်သည့် OsmAnd အင်္ဂါရပ်များသည်လူကြိုက်အများဆုံးဖြစ်ကြောင်းနားလည်ရန်ကျွန်ုပ်တို့ကိုကူညီပါ။</string>
|
||||
<string name="privacy_and_security_change_descr">Allow ကိုနှိပ်ရင် ကျွန်ုပ်တို့၏ %1$s ကိုသင်သဘောတူသည်</string>
|
||||
<string name="settings_privacy_and_security_desc">မည်သည့်ဒေတာကိုကျွန်ုပ်တို့နှင့်မျှဝေနေသည်ကိုရွေးချယ်ပါ</string>
|
||||
<string name="shared_string_allow">ခွင့်ပြုပါ</string>
|
||||
<string name="nav_type_hint">လမ်းညွှန်အမျိုးအစား</string>
|
||||
<string name="app_mode_taxi">တက္ကစီ</string>
|
||||
<string name="app_mode_subway">မြေအောက်ရထား</string>
|
||||
<string name="app_mode_horse">မြင်း</string>
|
||||
<string name="app_mode_helicopter">ရဟတ်ယာဉ်</string>
|
||||
<string name="osmand_routing_promo">..osmand / routing တွင်သင့်ကိုယ်ပိုင်ပြင်ဆင်ထားသော routing.xml ဖိုင်ကို ထည့်သွင်းနိုင်သည်</string>
|
||||
<string name="app_mode_skiing">နှင်းလျှောစီး</string>
|
||||
<string name="base_profile_descr_ski">နှင်းလျှောစီး</string>
|
||||
<string name="show_compass_ruler">သံလိုက်အိမ်မြှောင်ကိုဖော်ပြ</string>
|
||||
<string name="hide_compass_ruler">သံလိုက်အိမ်မြှောင်ကိုဖြောက်လိုက်</string>
|
||||
<string name="select_icon_profile_dialog_title">အိုင်ကွန်ကိုရွေးပါ</string>
|
||||
<string name="settings_routing_mode_string">mode: %s</string>
|
||||
<string name="routing_profile_ski">နှင်းလျှောစီး</string>
|
||||
<string name="profile_type_descr_string">အမျိုးအစား: %s</string>
|
||||
<string name="profile_type_base_string">အခြေခံပရိုဖိုင်း</string>
|
||||
<string name="profile_alert_need_routing_type_title">လမ်းညွှန်အမျိုးအစားကိုရွေးပါ</string>
|
||||
<string name="profile_alert_need_routing_type_msg">application ပရိုဖိုင်းအသစ်အတွက် လမ်းညွှန်အမျိုးအစားရွေးပါ</string>
|
||||
<string name="profile_alert_need_profile_name_title">ပရိုဖိုင်းအမည်ရိုက်ထည့်ပါ</string>
|
||||
<string name="profile_alert_need_profile_name_msg">ပရိုဖိုင်းအမည်မှာဗလာမဖြစ်သင့်ပါ!</string>
|
||||
<string name="profile_alert_duplicate_name_title">နာမည် နှခုထပ်</string>
|
||||
<string name="profile_alert_duplicate_name_msg">အဲဒီနာမည်နဲ့ပရိုဖိုင်းရှိပြီးသားဖြစ်သည်</string>
|
||||
<string name="profile_alert_cant_delete_base">OsmAnd ၏အခြေခံ ပရိုဖိုင်းများကိုဖျက်လို့မရပါ</string>
|
||||
<string name="profile_alert_need_save_title">ပြောင်းလဲမှုများကိုသိမ်းပါ</string>
|
||||
<string name="profile_alert_need_save_msg">ရှေ့ဆက်မသွားမီပရိုဖိုင်းသို့ပြောင်းလဲမှုများကိုအရင်သိမ်းထားရန်လိုအပ်သည်</string>
|
||||
<string name="profile_alert_delete_title">ပရိုဖိုင်းကိုဖျက်မည်</string>
|
||||
<string name="profile_alert_delete_msg">%s ပရိုဖိုင်းကိုသင်ဖျက်လိုကြောင်းသေချာပါလား</string>
|
||||
<string name="select_base_profile_dialog_title">အခြေခံပရိုဖိုင်းကိုရွေးချယ်ပါ</string>
|
||||
<string name="select_nav_profile_dialog_title">လမ်းညွှန်အမျိုးအစားကိုရွေးပါ</string>
|
||||
<string name="base_profile_descr_car">ကား၊ ထရပ်ကား၊ ဆိုင်ကယ်</string>
|
||||
<string name="base_profile_descr_bicycle">MTB, moped, မြင်း</string>
|
||||
<string name="base_profile_descr_pedestrian">လမ်းလျှောက်, တောင်တက်, အပြေး</string>
|
||||
<string name="base_profile_descr_public_transport">ပြည်သူပို့ဆောင်ရေးအမျိုးအားလုံး</string>
|
||||
<string name="base_profile_descr_boat">သင်္ဘော၊ လှေလှော်ခြင်း၊ ရွက်လွှင့်ခြင်း</string>
|
||||
<string name="base_profile_descr_aircraft">လေယာဉ်ပျံ၊ စက်မဲ့လေယာဉ်ပျံ</string>
|
||||
<string name="routing_profile_geocoding">Geocoding</string>
|
||||
<string name="routing_profile_straightline">လမ်းဖြောင့်</string>
|
||||
<string name="osmand_default_routing">Osmand လမ်းကြောင်း</string>
|
||||
<string name="custom_routing">စိတ်တိုင်းကျလမ်းကြောင်းပရိုဖိုင်း</string>
|
||||
<string name="special_routing_type">အထူးလမ်းကြောင်း</string>
|
||||
<string name="application_profiles_descr">အက်ပလီကေးရှင်းထဲတွင်မြင်နိုင်သောပရိုဖိုင်းများကိုရွေးချယ်ပါ။</string>
|
||||
<string name="application_profiles">အက်ပလီကေးရှင်းပရိုဖိုင်းများ</string>
|
||||
</resources>
|
||||
|
|
|
@ -768,9 +768,9 @@
|
|||
<string name="show_more_map_detail_descr">Vis noen vektorkartdetaljer (veier etc.) allerede ved lavere zoomnivåer.</string>
|
||||
<string name="choose_audio_stream">Utdata for taleveiledning</string>
|
||||
<string name="choose_audio_stream_descr">Velg høyttaleren til å avspille taleveiledningen.</string>
|
||||
<string name="voice_stream_voice_call">Telefonanropslyd (også for å avbryte bluetooth-bilstereo)</string>
|
||||
<string name="voice_stream_voice_call">Telefonanropslyd (for å avbryte Blåtanns-bilstereo)</string>
|
||||
<string name="voice_stream_notification">Varslingslyd</string>
|
||||
<string name="voice_stream_music">Media-/musikklyd</string>
|
||||
<string name="voice_stream_music">Media-/navigasjonslyd</string>
|
||||
<string name="level_to_switch_vector_raster_descr">Bruk rasterkart for alt utover dette nivået.</string>
|
||||
<string name="level_to_switch_vector_raster">Minste vektorielle forstørrelsesnivå</string>
|
||||
<string name="incomplete_locale">ufullstendig</string>
|
||||
|
@ -806,7 +806,7 @@
|
|||
<string name="rendering_value_pink_name">Rosa</string>
|
||||
<string name="rendering_value_brown_name">Brun</string>
|
||||
<string name="use_points_as_intermediates">Beregn rute mellom punkter</string>
|
||||
<string name="lang_sr">Serbisk</string>
|
||||
<string name="lang_sr">Serbisk (kyrillisk)</string>
|
||||
<string name="lang_zh_cn">Kinesisk (forenklet)</string>
|
||||
<string name="lang_zh_tw">Kinesisk (tradisjonell)</string>
|
||||
<string name="keep_and_add_destination_point">Legg til som påfølgende reisemål</string>
|
||||
|
@ -1761,7 +1761,7 @@
|
|||
<string name="si_nm_h">Nautisk mil i timen (knop)</string>
|
||||
<string name="simulate_your_location_stop_descr">Stopp simulering av din posisjon.</string>
|
||||
<string name="simulate_your_location_descr">Simuler din posisjon ved bruk av en beregnet rute eller et GPX-spor som er tatt opp.</string>
|
||||
<string name="av_locations_descr">GPX-fil med plasseringsnotater.</string>
|
||||
<string name="av_locations_descr">GPX-fil med plasseringer.</string>
|
||||
<string name="rendering_attr_currentTrackColor_description">GPX-farge</string>
|
||||
<string name="archive_wikipedia_data">Du har gamle, inkompatible Wikipediadata. Arkiver disse?</string>
|
||||
<string name="download_wikipedia_files">Last ned ytterligere Wikipedia-data (%1$s MB)?</string>
|
||||
|
@ -2426,7 +2426,7 @@
|
|||
<string name="will_open_on">Åpner</string>
|
||||
<string name="shared_string_without_name">Uten navn</string>
|
||||
<string name="lang_lo">Laotisk</string>
|
||||
<string name="lang_sr_latn">Serbisk (Latin)</string>
|
||||
<string name="lang_sr_latn">Serbisk (latinsk)</string>
|
||||
<string name="update_poi_does_not_change_indexes">Interessepunktendringer i programmet påvirker ikke nedlastede kartfiler, endringer lagres som en fil på enheten din i stedet.</string>
|
||||
<string name="si_mi_feet">Eng. mil/fot</string>
|
||||
<string name="si_mi_yard">Eng. mil/yard</string>
|
||||
|
@ -2901,7 +2901,7 @@
|
|||
<string name="shared_string_capacity">Kapasitet</string>
|
||||
<string name="shared_string_width">Bredde</string>
|
||||
<string name="shared_string_height">Høyde</string>
|
||||
<string name="routeInfo_roadClass_name">Klasse</string>
|
||||
<string name="routeInfo_roadClass_name">Veitype</string>
|
||||
<string name="routeInfo_surface_name">Overflate</string>
|
||||
<string name="routeInfo_smoothness_name">Jevnhet</string>
|
||||
<string name="routeInfo_steepness_name">Stigning</string>
|
||||
|
@ -3045,15 +3045,15 @@
|
|||
<string name="button_rate">Vurder</string>
|
||||
<string name="shared_string_privacy_policy">Personvernspraksis</string>
|
||||
<string name="help_us_make_osmand_better">Hjelp oss å forbedre OsmAnd.</string>
|
||||
<string name="make_osmand_better_descr">Tillat OsmAnd å samle inn og behandle anonym programbruksdata. Vi samler ikke inn eller lagrer data om din plassering, eller om plasseringene du ser på på kartet.
|
||||
<string name="make_osmand_better_descr">Tillat OsmAnd å samle inn og behandle anonym programbruksdata. Vi samler ikke inn eller lagrer data om din plassering, eller om plasseringer ser på på kartet.
|
||||
\n
|
||||
\nDu kan alltid endre ditt valg i Innstillinger > Personvern og sikkerhet.</string>
|
||||
<string name="choose_data_to_share">Velg hvilken type data du ønsker å dele:</string>
|
||||
<string name="downloaded_maps">Nedlastede kart</string>
|
||||
<string name="visited_screens">Besøkte skjermer</string>
|
||||
<string name="collected_data_descr">Liste over data du ønsker å dele med OsmAnd.</string>
|
||||
<string name="downloaded_maps_collect_descr">Denne dataen samles inn for å forstå hvilke kart og hvilke regioner og land som er mest populære.</string>
|
||||
<string name="visited_screens_collect_descr">Denne dataen samles inn for å forstå hvilke funksjoner i OsmAnd som er mest populære.</string>
|
||||
<string name="collected_data_descr">Definer hvilken data du ønsker å dele med OsmAnd.</string>
|
||||
<string name="downloaded_maps_collect_descr">Hjelp oss å forstå hvilke kart over hvilke regioner og land som er mest populære.</string>
|
||||
<string name="visited_screens_collect_descr">Hjelp oss å forstå hvilke OsmAnd-funksjoner som er mest populære.</string>
|
||||
<string name="privacy_and_security_change_descr">Ved å trykke \"Tillat\", samtykker du til vår %1$s</string>
|
||||
<string name="settings_privacy_and_security">Personvern og sikkerhet</string>
|
||||
<string name="settings_privacy_and_security_desc">Velg data til deling</string>
|
||||
|
@ -3064,7 +3064,7 @@
|
|||
<string name="app_mode_taxi">Drosje</string>
|
||||
<string name="app_mode_horse">Hest</string>
|
||||
<string name="app_mode_helicopter">Helikopter</string>
|
||||
<string name="osmand_routing_promo">Du kan legge til din egen endrede versjon av routing.xml til i ..osmand/routing</string>
|
||||
<string name="osmand_routing_promo">Du kan legge til din egen endrede versjon av filen routing.xml til i ..osmand/routing</string>
|
||||
<string name="app_mode_skiing">Skikjøring</string>
|
||||
<string name="base_profile_descr_ski">Skikjøring</string>
|
||||
<string name="show_compass_ruler">Vis kompasslinjal</string>
|
||||
|
@ -3076,16 +3076,16 @@
|
|||
<string name="profile_type_descr_string">Type: %s</string>
|
||||
<string name="profile_type_base_string">Grunnprofil</string>
|
||||
<string name="profile_alert_need_routing_type_title">Velg navigasjonstype</string>
|
||||
<string name="profile_alert_need_routing_type_msg">Du må velge navigasjonstype for å opprette en ny programprofil</string>
|
||||
<string name="profile_alert_need_routing_type_msg">Du må velge navigasjonstype for den nye programprofilen</string>
|
||||
<string name="profile_alert_need_profile_name_title">Skriv inn profilnavn</string>
|
||||
<string name="profile_alert_need_profile_name_msg">Profilnavn kan ikke være tomt.</string>
|
||||
<string name="profile_alert_duplicate_name_title">Duplikatnavn</string>
|
||||
<string name="profile_alert_duplicate_name_msg">Det finnes allerede en profil med dette navnet</string>
|
||||
<string name="profile_alert_cant_delete_base">Du kan ikke slette OsmAnd-grunnprofiler</string>
|
||||
<string name="profile_alert_cant_delete_base">Du kan ikke slette OsmAnd sine grunnprofiler</string>
|
||||
<string name="profile_alert_need_save_title">Lagre endringer</string>
|
||||
<string name="profile_alert_need_save_msg">Du må lagre endringer før du kan fortsette</string>
|
||||
<string name="profile_alert_delete_title">Slett profil</string>
|
||||
<string name="profile_alert_delete_msg">Er du sikker på at du ønsker å slette profilen %s</string>
|
||||
<string name="profile_alert_delete_msg">Er du sikker på at du ønsker å slette %s-profilen</string>
|
||||
<string name="select_base_profile_dialog_title">Velg grunnprofil</string>
|
||||
<string name="select_nav_profile_dialog_title">Velg navigasjonstype</string>
|
||||
<string name="base_profile_descr_car">Bil, lastebil, motorsykkel</string>
|
||||
|
@ -3115,7 +3115,7 @@
|
|||
<string name="process_downloading_service">OsmAnd nedlastingstjeneste</string>
|
||||
<string name="shared_string_color_magenta">Magenta</string>
|
||||
<string name="shared_string_icon">Ikon</string>
|
||||
<string name="collected_data">Innsamlet data</string>
|
||||
<string name="collected_data">Data innsamlet</string>
|
||||
<string name="press_again_to_change_the_map_orientation">Trykk igjen for å endre kartorientering</string>
|
||||
<string name="app_mode_offroad">Terreng</string>
|
||||
<string name="edit_profile_setup_title">Sett opp profil</string>
|
||||
|
@ -3218,11 +3218,31 @@
|
|||
<string name="vehicle_parameters">Kjøretøyparameter</string>
|
||||
<string name="screen_alerts">Skjermvarsler</string>
|
||||
<string name="logcat_buffer">Logcat-mellomlager</string>
|
||||
<string name="map_look_descr">ikoner, miniprogrammer</string>
|
||||
<string name="map_look_descr">Kartutseende</string>
|
||||
<string name="map_look">Kartutseende</string>
|
||||
<string name="general_settings_profile_descr">Programdrakt, enheter, region</string>
|
||||
<string name="language_and_output">Språk og utdata</string>
|
||||
<string name="plugins_settings">Programtilleggsinnstillinger</string>
|
||||
<string name="shared_string_by_default">Som forvalg</string>
|
||||
<string name="download_detaile_map">Last ned detaljert %s-kart, for å vise dette området.</string>
|
||||
<string name="sett_no_ext_input">Ingen</string>
|
||||
<string name="change_data_storage_full_description">Flytt OsmAnd-datafiler til det nye målet\?
|
||||
\n%1$s > %2$s</string>
|
||||
<string name="data_storage_preference_summary">%1$s • %2$s GB brukt</string>
|
||||
<string name="data_storage_space_description">%1$s GB ledig • %2$s GB totalt</string>
|
||||
<string name="shared_string_select_folder">Velg mappe</string>
|
||||
<string name="change_osmand_data_folder_question">Endre OsmAnd-datamappe\?</string>
|
||||
<string name="move_maps_to_new_destination">Flytt til det nye målet</string>
|
||||
<string name="routing_attr_width_name">Breddebegrensning</string>
|
||||
<string name="routing_attr_width_description">Velg tillatt kjøretøybredde på ruter.</string>
|
||||
<string name="avoid_in_routing_descr_">Unngå visse ruter og veityper</string>
|
||||
<string name="app_mode_utv">Side om side</string>
|
||||
<string name="shared_string_calculate">Beregn</string>
|
||||
<string name="shared_string_osmand_usage">OsmAnd-bruk</string>
|
||||
<string name="shared_sting_tiles">Flis</string>
|
||||
<string name="shared_string_maps">Kart</string>
|
||||
<string name="shared_string_memory_tb_desc">%1$s TB</string>
|
||||
<string name="shared_string_memory_gb_desc">%1$s GB</string>
|
||||
<string name="shared_string_memory_mb_desc">%1$s MB</string>
|
||||
<string name="shared_string_memory_kb_desc">%1$s KB</string>
|
||||
</resources>
|
|
@ -3300,8 +3300,8 @@ Reprezentuje obszar: %1$s x %2$s</string>
|
|||
<string name="change_data_storage_full_description">Przenieść pliki danych OsmAnd do nowego położenia\?
|
||||
\n%1$s > %2$s</string>
|
||||
<string name="enter_path_to_folder">Proszę wprowadzić ścieżkę do katalogu</string>
|
||||
<string name="shared_string_select_folder">Wybierz folder</string>
|
||||
<string name="paste_Osmand_data_folder_path">Wklej ścieżkę do folderu z danymi OsmAnd</string>
|
||||
<string name="shared_string_select_folder">Wybierz katalog</string>
|
||||
<string name="paste_Osmand_data_folder_path">Wklej ścieżkę do katalogu z danymi OsmAnd</string>
|
||||
<string name="change_osmand_data_folder_question">Zmienić katalog danych OsmAnd\?</string>
|
||||
<string name="move_maps_to_new_destination">Przenieś do nowego miejsca przeznaczenia</string>
|
||||
<string name="internal_app_storage_description">Wewnętrzna pamięć masowa, ukryta przed użytkownikiem i innymi aplikacjami, dzięki czemu nikt oprócz OsmAnd nie może uzyskać dostępu do Twoich danych</string>
|
||||
|
@ -3326,4 +3326,14 @@ Reprezentuje obszar: %1$s x %2$s</string>
|
|||
<string name="routing_attr_width_name">Granica szerokości</string>
|
||||
<string name="routing_attr_width_description">Określ dozwoloną szerokość pojazdu na trasach.</string>
|
||||
<string name="avoid_in_routing_descr_">Unikaj określonych tras i typów dróg</string>
|
||||
<string name="app_mode_utv">Strona po stronie</string>
|
||||
<string name="rendering_attr_piste_difficulty_aerialway_name">Lotnisko</string>
|
||||
<string name="rendering_attr_piste_difficulty_connection_name">Połączenia</string>
|
||||
<string name="shared_string_calculate">Oblicz</string>
|
||||
<string name="shared_string_osmand_usage">Użyj OsmAnd</string>
|
||||
<string name="shared_string_maps">Mapy</string>
|
||||
<string name="shared_string_memory_tb_desc">%1$s TB</string>
|
||||
<string name="shared_string_memory_gb_desc">%1$s GB</string>
|
||||
<string name="shared_string_memory_mb_desc">%1$s MB</string>
|
||||
<string name="shared_string_memory_kb_desc">%1$s KB</string>
|
||||
</resources>
|
|
@ -3726,4 +3726,5 @@
|
|||
<string name="poi_craft_bakery">Padaria</string>
|
||||
<string name="poi_craft_cabinet_maker">Marceneiro</string>
|
||||
<string name="poi_charge">Pagamento</string>
|
||||
<string name="poi_pet_grooming">Cuidado de animais</string>
|
||||
</resources>
|
|
@ -349,7 +349,7 @@
|
|||
<string name="edit_tilesource_successfully">A fonte da quadrícula %1$s foi salva</string>
|
||||
<string name="speak_traffic_warnings">Moderadores de tráfego</string>
|
||||
<string name="context_menu_item_directions_from">Rota a partir daqui</string>
|
||||
<string name="app_mode_default">Explorar</string>
|
||||
<string name="app_mode_default">Explorar mapa</string>
|
||||
<string name="local_indexes_cat_av">Dados de Áudio/Vídeo</string>
|
||||
<string name="stop_routing_confirm">Confirma que quer parar a navegação?</string>
|
||||
<string name="int_hour">h</string>
|
||||
|
@ -359,7 +359,7 @@
|
|||
<string name="shared_string_all">Todos</string>
|
||||
<string name="shared_string_waypoints">Marcos do trajeto</string>
|
||||
<string name="download_additional_maps">Baixar mapas que faltam %1$s (%2$d MB)?</string>
|
||||
<string name="rendering_value_browse_map_name">Explorar</string>
|
||||
<string name="rendering_value_browse_map_name">Explorar mapa</string>
|
||||
<string name="rendering_value_car_name">Carro</string>
|
||||
<string name="rendering_value_bicycle_name">Bicicleta</string>
|
||||
<string name="rendering_value_pedestrian_name">A pé</string>
|
||||
|
@ -2582,7 +2582,7 @@ Pôr do Sol: %2$s</string>
|
|||
<string name="osm_notes">Notas OSM</string>
|
||||
<string name="will_open_tomorrow_at">Abre amanhã às</string>
|
||||
<string name="rendering_attr_hidePOILabels_name">Rótulos POI</string>
|
||||
<string name="day_off_label">desligado</string>
|
||||
<string name="day_off_label">fechado</string>
|
||||
<string name="winter_and_ski_renderer">Inverno e esqui</string>
|
||||
<string name="touring_view_renderer">Vista de turismo</string>
|
||||
<string name="nautical_renderer">Náutico</string>
|
||||
|
@ -3310,4 +3310,12 @@ Pôr do Sol: %2$s</string>
|
|||
<string name="app_mode_utv">Lado a lado</string>
|
||||
<string name="rendering_attr_piste_difficulty_aerialway_name">Maneira aérea</string>
|
||||
<string name="rendering_attr_piste_difficulty_connection_name">Conexão</string>
|
||||
<string name="shared_string_calculate">Calcular</string>
|
||||
<string name="shared_string_osmand_usage">Uso do Osmand</string>
|
||||
<string name="shared_sting_tiles">Quadrículas</string>
|
||||
<string name="shared_string_maps">Mapas</string>
|
||||
<string name="shared_string_memory_tb_desc">%1$s TB</string>
|
||||
<string name="shared_string_memory_gb_desc">%1$s GB</string>
|
||||
<string name="shared_string_memory_mb_desc">%1$s MB</string>
|
||||
<string name="shared_string_memory_kb_desc">%1$s KB</string>
|
||||
</resources>
|
|
@ -208,7 +208,7 @@
|
|||
<string name="search_history_int_streets">Interseção : {0} x {1} dans {2}</string>
|
||||
<string name="search_history_building">Edifício : {0}, {1}, {2}</string>
|
||||
<string name="favorite">Favorito</string>
|
||||
<string name="shared_string_clear_all">Apagar tudo</string>
|
||||
<string name="shared_string_clear_all">Limpar tudo</string>
|
||||
<string name="shared_string_history">Histórico</string>
|
||||
<string name="uploading_data">Enviando dados…</string>
|
||||
<string name="uploading">Enviando…</string>
|
||||
|
@ -3318,4 +3318,14 @@
|
|||
<string name="routing_attr_width_name">Limite de largura</string>
|
||||
<string name="routing_attr_width_description">Especifique o limite permitido de largura do veículo nas rotas.</string>
|
||||
<string name="avoid_in_routing_descr_">Evitar determinadas categorias de rotas e estradas</string>
|
||||
<string name="app_mode_utv">Lado a Lado</string>
|
||||
<string name="rendering_attr_piste_difficulty_connection_name">Conexão</string>
|
||||
<string name="shared_string_calculate">Calcular</string>
|
||||
<string name="shared_string_osmand_usage">Uso de OsmAnd</string>
|
||||
<string name="shared_sting_tiles">Azulejos</string>
|
||||
<string name="shared_string_maps">Mapas</string>
|
||||
<string name="shared_string_memory_tb_desc">%1$s TB</string>
|
||||
<string name="shared_string_memory_gb_desc">%1$s GB</string>
|
||||
<string name="shared_string_memory_mb_desc">%1$s MB</string>
|
||||
<string name="shared_string_memory_kb_desc">%1$s KB</string>
|
||||
</resources>
|
|
@ -603,7 +603,7 @@
|
|||
<string name="poi_crematorium">Крематорий</string>
|
||||
<string name="poi_internet_cafe">Интернет-кафе;Интернет-салон;Киберкафе</string>
|
||||
<string name="poi_bank">Банк</string>
|
||||
<string name="poi_amenity_atm">Банкомат</string>
|
||||
<string name="poi_atm">Банкомат</string>
|
||||
<string name="poi_money_lender">Ростовщик</string>
|
||||
<string name="poi_pawnbroker">Ломбард</string>
|
||||
<string name="poi_bureau_de_change">Обмен валют</string>
|
||||
|
@ -2426,7 +2426,7 @@
|
|||
<string name="poi_inscription_e">Надпись:З</string>
|
||||
<string name="poi_inscription_ne">Надпись:СЗ</string>
|
||||
<string name="poi_construction_yes">В процессе строительства</string>
|
||||
<string name="poi_additional_atm_yes">С банкоматом</string>
|
||||
<string name="poi_atm_yes">С банкоматом;Банкомат</string>
|
||||
<string name="poi_atm_no">Без банкомата</string>
|
||||
<string name="poi_firepit">Место для разведения огня</string>
|
||||
<string name="poi_street_cabinet">Распределительный шкаф</string>
|
||||
|
|
|
@ -3059,11 +3059,11 @@
|
|||
<string name="move_maps">Переместить карты</string>
|
||||
<string name="dont_move_maps">Не перемещать</string>
|
||||
<string name="public_transport_ped_route_title">Маршрут пешком составляет примерно %1$s и он может быть быстрее, чем на общественном транспорте</string>
|
||||
<string name="shared_string_privacy_policy">Политика конфиденциальности</string>
|
||||
<string name="shared_string_privacy_policy">политикой конфиденциальности</string>
|
||||
<string name="help_us_make_osmand_better">Помогите нам сделать OsmAnd лучше!</string>
|
||||
<string name="make_osmand_better_descr">Разрешить OsmAnd собирать и обрабатывать анонимные данные об использовании приложения. Мы не собираем и не храним данные о вашем местоположении или о местоположениях, которые вы просматриваете на карте.
|
||||
<string name="make_osmand_better_descr">"Разрешите OsmAnd собирать и обрабатывать анонимные данные об использовании приложения. Мы не собираем и не храним данные о вашем местоположении или о любых местах, которые вы просматриваете на карте.
|
||||
\n
|
||||
\nВы всегда можете изменить свой выбор в Настройки > Конфиденциальность и безопасность.</string>
|
||||
\nВы можете изменить свой выбор в любое время в Настройки > Конфиденциальность и безопасность."</string>
|
||||
<string name="choose_data_to_share">Выберите тип данных, которыми вы хотите поделиться:</string>
|
||||
<string name="downloaded_maps">Загруженные карты</string>
|
||||
<string name="visited_screens">Посещаемые экраны</string>
|
||||
|
@ -3071,7 +3071,7 @@
|
|||
<string name="collected_data_descr">Список данных, которыми вы хотите поделиться с OsmAnd.</string>
|
||||
<string name="downloaded_maps_collect_descr">Мы собираем эти данные, чтобы понять, какие регионы и страны наиболее популярны.</string>
|
||||
<string name="visited_screens_collect_descr">Мы собираем эти данные, чтобы понять какие функции OsmAnd наиболее популярны.</string>
|
||||
<string name="privacy_and_security_change_descr">Нажимая кнопку \"Разрешить\", вы соглашаетесь с нашими %1$s</string>
|
||||
<string name="privacy_and_security_change_descr">Нажимая кнопку \"Разрешить\", вы соглашаетесь с нашей %1$s</string>
|
||||
<string name="settings_privacy_and_security">Конфиденциальность и безопасность</string>
|
||||
<string name="shared_string_no_thank_you">Нет, спасибо</string>
|
||||
<string name="shared_string_allow">Разрешить</string>
|
||||
|
@ -3224,7 +3224,7 @@
|
|||
<string name="application_profile_changed">Профиль изменён на\"%s\"</string>
|
||||
<string name="configure_profile_info">Все приведенные ниже настройки относятся только к выбранному профилю.</string>
|
||||
<string name="units_and_formats">Единицы измерения и форматы</string>
|
||||
<string name="map_look_descr">иконки, виджеты</string>
|
||||
<string name="map_look_descr">Внешний вид карты</string>
|
||||
<string name="list_of_installed_plugins">Список установленных плагинов</string>
|
||||
<string name="general_settings_profile_descr">Тема приложения, единицы измерения, регион</string>
|
||||
<string name="manage_profiles_descr">Создание, импорт и редактирование профилей</string>
|
||||
|
@ -3239,7 +3239,7 @@
|
|||
<string name="appearance">Внешний вид</string>
|
||||
<string name="configure_navigation">Настроить навигацию</string>
|
||||
<string name="screen_alerts_descr">Оповещения будут отображаться в левом нижнем углу экрана во время навигации.</string>
|
||||
<string name="osmand_settings_descr">Влияет на всё приложение</string>
|
||||
<string name="osmand_settings_descr">Влияют на всё приложение</string>
|
||||
<string name="osmand_settings">Настройки OsmAnd</string>
|
||||
<string name="copy_from_other_profile">Копировать из другого профиля</string>
|
||||
<string name="turn_screen_on">Включить экран</string>
|
||||
|
@ -3258,4 +3258,15 @@
|
|||
<string name="language_and_output">Язык и вывод</string>
|
||||
<string name="change_data_storage_full_description">Переместите файлы данных OsmAnd в новое место назначения\?
|
||||
\n%1$s > %2$s</string>
|
||||
<string name="shared_string_by_default">По умолчанию</string>
|
||||
<string name="data_storage_preference_summary">%1$s • Использовано %2$s ГБ</string>
|
||||
<string name="data_storage_space_description">"Свободно %1$s • %2$s / %3$s ГБ"</string>
|
||||
<string name="enter_path_to_folder">Введите путь к папке</string>
|
||||
<string name="shared_string_select_folder">Выберите папку</string>
|
||||
<string name="paste_Osmand_data_folder_path">Вставить путь к папке с данными OsmAnd</string>
|
||||
<string name="change_osmand_data_folder_question">Изменить папку данных OsmAnd\?</string>
|
||||
<string name="move_maps_to_new_destination">Переместить в новое место назначения</string>
|
||||
<string name="internal_app_storage_description">Внутреннее хранилище, скрытое от пользователя и других приложений, поэтому никто, кроме OsmAnd не может получить доступ к вашим данным</string>
|
||||
<string name="change_data_storage_folder">Изменение папку хранения данных</string>
|
||||
<string name="avoid_in_routing_descr_">Избегать определенные маршруты и типы дорог</string>
|
||||
</resources>
|
|
@ -3271,4 +3271,15 @@
|
|||
<string name="routing_attr_width_name">Genişlik sınırı</string>
|
||||
<string name="routing_attr_width_description">Rotalarda izin verilen araç genişlik sınırını belirtin.</string>
|
||||
<string name="avoid_in_routing_descr_">Belirli rotalardan ve yol türlerinden kaçının</string>
|
||||
<string name="app_mode_utv">Yan yana</string>
|
||||
<string name="rendering_attr_piste_difficulty_aerialway_name">Hava yolu</string>
|
||||
<string name="rendering_attr_piste_difficulty_connection_name">Bağlantı</string>
|
||||
<string name="shared_string_calculate">Hesapla</string>
|
||||
<string name="shared_string_osmand_usage">OsmAnd Kullanımı</string>
|
||||
<string name="shared_sting_tiles">Döşemeler</string>
|
||||
<string name="shared_string_maps">Haritalar</string>
|
||||
<string name="shared_string_memory_tb_desc">%1$s TB</string>
|
||||
<string name="shared_string_memory_gb_desc">%1$s GB</string>
|
||||
<string name="shared_string_memory_mb_desc">%1$s MB</string>
|
||||
<string name="shared_string_memory_kb_desc">%1$s KB</string>
|
||||
</resources>
|
|
@ -2340,7 +2340,7 @@
|
|||
<string name="poi_diaper_table_count">尿布更換台數量</string>
|
||||
<string name="poi_service_bicycle_charging_yes">充電︰有</string>
|
||||
<string name="poi_service_bicycle_charging_no">充電︰沒有</string>
|
||||
<string name="poi_bicycle_repair_station">自行車自行維修站</string>
|
||||
<string name="poi_bicycle_repair_station">自行車維修站;自行車自行維修站</string>
|
||||
<string name="poi_shower_filter_yes">是的</string>
|
||||
<string name="poi_historic_period_classical">歷史時期:古典(新時代 IV,西元 374 年 - 西元 900 年)</string>
|
||||
<string name="poi_historic_period_imperial">歷史時期︰帝國 (新時代 V,西元 900 年 — 西元 1200 年)</string>
|
||||
|
@ -3603,4 +3603,127 @@
|
|||
<string name="poi_historic_tank">歷史坦克</string>
|
||||
<string name="poi_hookah_lounge">水煙休息室</string>
|
||||
<string name="poi_source_biomass">能量來源:生質</string>
|
||||
<string name="poi_snowmobile_filter">雪地摩托車進入</string>
|
||||
<string name="poi_access_bus">巴士進入</string>
|
||||
<string name="poi_access_caravan">露營車進入</string>
|
||||
<string name="poi_access_motorhome">豪華露營車進入</string>
|
||||
<string name="poi_access_trailer">拖車進入</string>
|
||||
<string name="poi_access_motorcycle">摩托車進入</string>
|
||||
<string name="poi_access_moped">非機動車進入</string>
|
||||
<string name="poi_access_mofa">非機動車進入</string>
|
||||
<string name="poi_access_hgv">大貨車進入</string>
|
||||
<string name="poi_access_goods">小貨車進入</string>
|
||||
<string name="poi_access_disabled">無障礙空間</string>
|
||||
<string name="poi_taxi_office">計程車辦公室</string>
|
||||
<string name="poi_vehicle_yes">車輛進入:是</string>
|
||||
<string name="poi_vehicle_private">車輛進入:私人</string>
|
||||
<string name="poi_vehicle_no">車輛進入:否</string>
|
||||
<string name="poi_vehicle_destination">車輛進入:目的地</string>
|
||||
<string name="poi_vehicle_permissive">車輛進入:許可</string>
|
||||
<string name="poi_vehicle_customers">車輛進入:顧客</string>
|
||||
<string name="poi_vehicle_military">車輛進入:軍事</string>
|
||||
<string name="poi_vehicle_delivery">車輛進入:送貨</string>
|
||||
<string name="poi_vehicle_forestry">車輛進入:林業</string>
|
||||
<string name="poi_motorcar_yes">汽車進入:</string>
|
||||
<string name="poi_motorcar_private">汽車進入:私人</string>
|
||||
<string name="poi_motorcar_no">汽車進入:否</string>
|
||||
<string name="poi_motorcar_destination">汽車進入:目的地</string>
|
||||
<string name="poi_motorcar_permissive">汽車進入:許可</string>
|
||||
<string name="poi_motorcar_customers">汽車進入:顧客</string>
|
||||
<string name="poi_motorcar_forestry">汽車進入:林業</string>
|
||||
<string name="poi_motor_vehicle_yes">機動車輛進入:是</string>
|
||||
<string name="poi_motor_vehicle_private">機動車輛進入:私人</string>
|
||||
<string name="poi_motor_vehicle_no">機動車輛進入:否</string>
|
||||
<string name="poi_motor_vehicle_destination">機動車輛進入:目的地</string>
|
||||
<string name="poi_motor_vehicle_permissive">機動車輛進入:許可</string>
|
||||
<string name="poi_motor_vehicle_customers">機動車輛進入:顧庫</string>
|
||||
<string name="poi_motor_vehicle_military">機動車輛進入:軍事</string>
|
||||
<string name="poi_motor_vehicle_delivery">機動車輛進入:送貨</string>
|
||||
<string name="poi_motor_vehicle_forestry">機動車輛進入:林業</string>
|
||||
<string name="poi_motor_vehicle_agricultural">機動車輛進入:農業</string>
|
||||
<string name="poi_hgv_private">大貨車進入:私人</string>
|
||||
<string name="poi_hgv_no">大貨車進入:否</string>
|
||||
<string name="poi_hgv_agricultural">大貨車進入:農業</string>
|
||||
<string name="poi_hgv_discouraged">大貨車進入:不鼓勵</string>
|
||||
<string name="poi_hgv_unsuitable">大貨車進入:不適合</string>
|
||||
<string name="poi_goods_no">小貨車進入:否</string>
|
||||
<string name="poi_motorcycle_private">摩托車進入:私人</string>
|
||||
<string name="poi_motorcycle_no">摩托車進入:否</string>
|
||||
<string name="poi_moped_no">非機動車輛進入:否</string>
|
||||
<string name="poi_mofa_no">非機動車輛進入:否</string>
|
||||
<string name="poi_bicycle_private">腳踏車進入:私人</string>
|
||||
<string name="poi_bicycle_dismount">腳踏車進入:下車</string>
|
||||
<string name="poi_bicycle_destination">腳踏車進入:目的地</string>
|
||||
<string name="poi_bicycle_permissive">腳踏車進入:許可</string>
|
||||
<string name="poi_bicycle_customers">腳踏車進入:顧客</string>
|
||||
<string name="poi_horse_private">馬進入:私人</string>
|
||||
<string name="poi_horse_destination">馬進入:目的地</string>
|
||||
<string name="poi_horse_permissive">馬進入:許可</string>
|
||||
<string name="poi_horse_forestry">馬進入:林業</string>
|
||||
<string name="poi_foot_yes">行人進入:是</string>
|
||||
<string name="poi_foot_private">行人進入:私人</string>
|
||||
<string name="poi_foot_no">行人進入:否</string>
|
||||
<string name="poi_foot_destination">行人進入:目的地</string>
|
||||
<string name="poi_foot_permissive">行人進入:許可</string>
|
||||
<string name="poi_foot_customers">行人進入:顧客</string>
|
||||
<string name="poi_caravan_no">露營車進入:否</string>
|
||||
<string name="poi_motorhome_no">豪華露營車進入:否</string>
|
||||
<string name="poi_trailer_no">拖車進入:否</string>
|
||||
<string name="poi_psv_yes">公車進入:是</string>
|
||||
<string name="poi_psv_designated">公車進入:指定</string>
|
||||
<string name="poi_psv_no">公車進入:否</string>
|
||||
<string name="poi_bus_no">巴士進入:否</string>
|
||||
<string name="poi_tourist_bus_yes">遊覽車進入:是</string>
|
||||
<string name="poi_tourist_bus_designated">遊覽車進入:指定</string>
|
||||
<string name="poi_tourist_bus_no">遊覽車進入:否</string>
|
||||
<string name="poi_coach_yes">長途公車進入:是</string>
|
||||
<string name="poi_coach_no">長途公車進入:否</string>
|
||||
<string name="poi_ski_yes">滑雪進入:是</string>
|
||||
<string name="poi_ski_no">滑雪進入:否</string>
|
||||
<string name="poi_snowmobile_private">雪地摩托車進入:私人</string>
|
||||
<string name="poi_snowmobile_no">雪地摩托車進入:否</string>
|
||||
<string name="poi_agricultural_yes">農用車進入:是</string>
|
||||
<string name="poi_agricultural_no">農用車進入:否</string>
|
||||
<string name="poi_taxi_yes">計程車進入:是</string>
|
||||
<string name="poi_taxi_designated">計程車進入:指定</string>
|
||||
<string name="poi_taxi_no">計程車進入:否</string>
|
||||
<string name="poi_disabled_no">無障礙通道:否</string>
|
||||
<string name="poi_snowmobile_yes">是</string>
|
||||
<string name="poi_snowmobile_designated">指定</string>
|
||||
<string name="poi_snowmobile_permissive">許可</string>
|
||||
<string name="poi_bus_yes">是</string>
|
||||
<string name="poi_bus_designated">指定</string>
|
||||
<string name="poi_caravan_yes">是</string>
|
||||
<string name="poi_caravan_designated">指定</string>
|
||||
<string name="poi_motorhome_yes">是</string>
|
||||
<string name="poi_motorhome_designated">指定</string>
|
||||
<string name="poi_trailer_yes">是</string>
|
||||
<string name="poi_trailer_designated">指定</string>
|
||||
<string name="poi_motorcycle_yes">是</string>
|
||||
<string name="poi_motorcycle_permissive">許可</string>
|
||||
<string name="poi_motorcycle_destination">目的地</string>
|
||||
<string name="poi_motorcycle_designated">指定</string>
|
||||
<string name="poi_moped_yes">是</string>
|
||||
<string name="poi_moped_designated">指定</string>
|
||||
<string name="poi_mofa_yes">是</string>
|
||||
<string name="poi_mofa_designated">指定</string>
|
||||
<string name="poi_hgv_yes">是</string>
|
||||
<string name="poi_hgv_destination">目的地</string>
|
||||
<string name="poi_hgv_permissive">許可</string>
|
||||
<string name="poi_hgv_designated">指定</string>
|
||||
<string name="poi_hgv_delivery">送貨</string>
|
||||
<string name="poi_goods_yes">是</string>
|
||||
<string name="poi_goods_designated">指定</string>
|
||||
<string name="poi_disabled_yes">是</string>
|
||||
<string name="poi_disabled_designated">指定</string>
|
||||
<string name="poi_cellar_entrance">地窖入口</string>
|
||||
<string name="poi_health_food">健康食品</string>
|
||||
<string name="poi_craft_builder">建築師</string>
|
||||
<string name="poi_craft_distillery">酒廠</string>
|
||||
<string name="poi_craft_joiner">木匠</string>
|
||||
<string name="poi_craft_floorer">鋪地板的人</string>
|
||||
<string name="poi_craft_bakery">烘焙坊</string>
|
||||
<string name="poi_craft_cabinet_maker">櫥櫃製造商</string>
|
||||
<string name="poi_charge">充電</string>
|
||||
<string name="poi_pet_grooming">寵物美容</string>
|
||||
</resources>
|
|
@ -1437,7 +1437,7 @@
|
|||
<string name="shared_string_deselect">取消選擇</string>
|
||||
<string name="shared_string_deselect_all">取消全選</string>
|
||||
<string name="shared_string_clear">清除</string>
|
||||
<string name="shared_string_clear_all">全部清除</string>
|
||||
<string name="shared_string_clear_all">清除全部</string>
|
||||
<string name="shared_string_save">儲存</string>
|
||||
<string name="shared_string_save_as_gpx">另存為新的 GPX 檔案</string>
|
||||
<string name="shared_string_rename">更名</string>
|
||||
|
@ -3310,4 +3310,15 @@
|
|||
<string name="routing_attr_width_name">寬度限制</string>
|
||||
<string name="routing_attr_width_description">在路線當指定允許的車輛寬度限制。</string>
|
||||
<string name="avoid_in_routing_descr_">避開特定路線與道路類型</string>
|
||||
<string name="app_mode_utv">並排</string>
|
||||
<string name="rendering_attr_piste_difficulty_aerialway_name">空中航道</string>
|
||||
<string name="rendering_attr_piste_difficulty_connection_name">連線</string>
|
||||
<string name="shared_string_calculate">計算</string>
|
||||
<string name="shared_string_osmand_usage">OsmAnd 用法</string>
|
||||
<string name="shared_sting_tiles">圖磚</string>
|
||||
<string name="shared_string_maps">地圖</string>
|
||||
<string name="shared_string_memory_tb_desc">%1$s TB</string>
|
||||
<string name="shared_string_memory_gb_desc">%1$s GB</string>
|
||||
<string name="shared_string_memory_mb_desc">%1$s MB</string>
|
||||
<string name="shared_string_memory_kb_desc">%1$s KB</string>
|
||||
</resources>
|
|
@ -1054,7 +1054,6 @@
|
|||
<string name="poi_internet_cafe">Internet cafe</string>
|
||||
|
||||
<string name="poi_bank">Bank</string>
|
||||
<string name="poi_amenity_atm">ATM</string>
|
||||
<string name="poi_atm">ATM</string>
|
||||
<string name="poi_payment_terminal">Payment terminal</string>
|
||||
<string name="poi_money_lender">Money lender</string>
|
||||
|
@ -2730,7 +2729,7 @@
|
|||
<string name="poi_inscription_ne">Inscription:NE</string>
|
||||
|
||||
<string name="poi_construction_yes">Under construction</string>
|
||||
<string name="poi_additional_atm_yes">ATM: yes</string>
|
||||
<string name="poi_atm_yes">ATM: yes</string>
|
||||
<string name="poi_atm_no">ATM: no</string>
|
||||
|
||||
<string name="poi_firepit">Firepit</string>
|
||||
|
@ -4110,4 +4109,6 @@
|
|||
|
||||
<string name="poi_charge">Charge</string>
|
||||
|
||||
<string name="poi_pet_grooming">Pet grooming</string>
|
||||
|
||||
</resources>
|
||||
|
|
|
@ -11,11 +11,21 @@
|
|||
Thx - Hardy
|
||||
|
||||
-->
|
||||
|
||||
<string name="shared_string_memory_used_tb_desc">Used %1$s TB</string>
|
||||
<string name="shared_string_memory_used_gb_desc">Used %1$s GB</string>
|
||||
<string name="shared_string_memory_used_mb_desc">Used %1$s MB</string>
|
||||
<string name="shared_string_memory_used_kb_desc">Used %1$s kB</string>
|
||||
<string name="contour_lines_and_hillshade">Contour lines and Hillshade</string>
|
||||
<string name="routing_attr_prefer_unpaved_name">Prefer unpaved roads</string>
|
||||
<string name="routing_attr_prefer_unpaved_description">Prefer unpaved roads.</string>
|
||||
<string name="update_all_maps">Update all maps</string>
|
||||
<string name="update_all_maps_q">Are you sure you want to update all (%1$d) maps?</string>
|
||||
<string name="track_storage_directory">Track Storage Directory</string>
|
||||
<string name="track_storage_directory_descrp">Tracks can be stored in rec folder or in monthly or daily folders.</string>
|
||||
<string name="store_tracks_in_rec_directory">Store recorded tracks in rec folder</string>
|
||||
<string name="store_tracks_in_daily_directories">Store recorded tracks in daily folders</string>
|
||||
<string name="store_tracks_in_daily_directories_descrp">Store recorded tracks in sub-folders per recording day (like 2018-01-01).</string>
|
||||
<string name="shared_string_calculate">Calculate</string>
|
||||
<string name="shared_string_osmand_usage">OsmAnd Usage</string>
|
||||
<string name="shared_sting_tiles">Tiles</string>
|
||||
|
|
|
@ -53,6 +53,11 @@
|
|||
android:layout="@layout/preference_with_descr"
|
||||
android:title="@string/angular_measeurement" />
|
||||
|
||||
<net.osmand.plus.settings.preferences.ListPreferenceEx
|
||||
android:key="default_speed_system"
|
||||
android:layout="@layout/preference_with_descr"
|
||||
android:title="@string/default_speed_system" />
|
||||
|
||||
<Preference
|
||||
android:layout="@layout/simple_divider_item"
|
||||
android:selectable="false" />
|
||||
|
|
|
@ -16,6 +16,7 @@ import android.widget.Toast;
|
|||
import net.osmand.CallbackWithObject;
|
||||
import net.osmand.GPXUtilities;
|
||||
import net.osmand.Location;
|
||||
import net.osmand.plus.activities.MapActivity;
|
||||
import net.osmand.plus.helpers.GpxUiHelper;
|
||||
import net.osmand.plus.routing.RouteProvider.GPXRouteParamsBuilder;
|
||||
|
||||
|
@ -78,6 +79,7 @@ public class OsmAndLocationSimulation {
|
|||
public void onClick(DialogInterface dialog, int which) {
|
||||
boolean gpxNavigation = radioGPX.isChecked();
|
||||
if (gpxNavigation) {
|
||||
boolean nightMode = ma instanceof MapActivity ? app.getDaynightHelper().isNightModeForMapControls() : !app.getSettings().isLightContent();
|
||||
GpxUiHelper.selectGPXFile(ma, false, false, new CallbackWithObject<GPXUtilities.GPXFile[]>() {
|
||||
@Override
|
||||
public boolean processResult(GPXUtilities.GPXFile[] result) {
|
||||
|
@ -88,7 +90,7 @@ public class OsmAndLocationSimulation {
|
|||
}
|
||||
return true;
|
||||
}
|
||||
});
|
||||
}, nightMode);
|
||||
} else {
|
||||
List<Location> currentRoute = app.getRoutingHelper().getCurrentCalculatedRoute();
|
||||
if (currentRoute.isEmpty()) {
|
||||
|
|
|
@ -45,17 +45,11 @@ import net.osmand.util.Algorithms;
|
|||
import org.json.JSONException;
|
||||
import org.json.JSONObject;
|
||||
|
||||
import java.io.BufferedOutputStream;
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.ObjectInputStream;
|
||||
import java.io.ObjectOutputStream;
|
||||
import java.lang.ref.WeakReference;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.Comparator;
|
||||
import java.util.Iterator;
|
||||
|
@ -157,8 +151,8 @@ public class OsmandSettings {
|
|||
private final OsmandApplication ctx;
|
||||
private PreferencesDataStore dataStore;
|
||||
private SettingsAPI settingsAPI;
|
||||
private Object globalPreferences;
|
||||
private Object defaultProfilePreferences;
|
||||
private Object globalPreferences;
|
||||
private Object profilePreferences;
|
||||
private ApplicationMode currentMode;
|
||||
private Map<String, OsmandPreference<?>> registeredPreferences =
|
||||
|
@ -287,7 +281,7 @@ public class OsmandSettings {
|
|||
}
|
||||
}
|
||||
if (metricSystem != null) {
|
||||
METRIC_SYSTEM.set(metricSystem);
|
||||
METRIC_SYSTEM.setModeValue(mode, metricSystem);
|
||||
return true;
|
||||
}
|
||||
} else if (preference == SPEED_SYSTEM) {
|
||||
|
@ -306,7 +300,7 @@ public class OsmandSettings {
|
|||
}
|
||||
}
|
||||
if (speedSystem != null) {
|
||||
SPEED_SYSTEM.set(speedSystem);
|
||||
SPEED_SYSTEM.setModeValue(mode, speedSystem);
|
||||
return true;
|
||||
}
|
||||
} else if (preference instanceof BooleanPreference) {
|
||||
|
@ -396,6 +390,7 @@ public class OsmandSettings {
|
|||
if (aidlApi != null) {
|
||||
aidlApi.loadConnectedApps();
|
||||
OsmandPlugin.updateActivatedPlugins(ctx);
|
||||
ctx.poiFilters.loadSelectedPoiFilters();
|
||||
}
|
||||
|
||||
fireEvent(oldMode);
|
||||
|
@ -1360,9 +1355,9 @@ public class OsmandSettings {
|
|||
}
|
||||
|
||||
|
||||
public final OsmandPreference<Boolean> SHOW_POI_LABEL = new BooleanPreference("show_poi_label", false).makeGlobal();
|
||||
public final OsmandPreference<Boolean> SHOW_POI_LABEL = new BooleanPreference("show_poi_label", false).makeProfile();
|
||||
|
||||
public final OsmandPreference<Boolean> SHOW_MAPILLARY = new BooleanPreference("show_mapillary", false).makeGlobal();
|
||||
public final OsmandPreference<Boolean> SHOW_MAPILLARY = new BooleanPreference("show_mapillary", false).makeProfile();
|
||||
public final OsmandPreference<Boolean> MAPILLARY_FIRST_DIALOG_SHOWN = new BooleanPreference("mapillary_first_dialog_shown", false).makeGlobal();
|
||||
public final OsmandPreference<Boolean> ONLINE_PHOTOS_ROW_COLLAPSED = new BooleanPreference("mapillary_menu_collapsed", false).makeGlobal();
|
||||
public final OsmandPreference<Boolean> WEBGL_SUPPORTED = new BooleanPreference("webgl_supported", true).makeGlobal();
|
||||
|
@ -1499,9 +1494,13 @@ public class OsmandSettings {
|
|||
SAVE_TRACK_TO_GPX.setModeDefaultValue(ApplicationMode.PEDESTRIAN, false);
|
||||
}
|
||||
|
||||
public static final Integer REC_DIRECTORY = 0;
|
||||
public static final Integer MONTHLY_DIRECTORY = 1;
|
||||
public static final Integer DAILY_DIRECTORY = 2;
|
||||
|
||||
public final CommonPreference<Boolean> DISABLE_RECORDING_ONCE_APP_KILLED = new BooleanPreference("disable_recording_once_app_killed", false).makeGlobal();
|
||||
|
||||
public final CommonPreference<Boolean> STORE_TRACKS_IN_MONTHLY_DIRECTORIES = new BooleanPreference("store_tracks_in_monthly_directories", false).makeGlobal();
|
||||
public final CommonPreference<Integer> TRACK_STORAGE_DIRECTORY = new IntPreference("track_storage_directory", 0).makeGlobal();
|
||||
|
||||
// this value string is synchronized with settings_pref.xml preference name
|
||||
public final OsmandPreference<Boolean> FAST_ROUTE_MODE = new BooleanPreference("fast_route_mode", true).makeProfile();
|
||||
|
@ -1798,15 +1797,15 @@ public class OsmandSettings {
|
|||
public final OsmandPreference<Integer> BT_SCO_DELAY = new IntPreference("bt_sco_delay", 1500).makeGlobal().cache();
|
||||
|
||||
// this value string is synchronized with settings_pref.xml preference name
|
||||
public final CommonPreference<Boolean> MAP_ONLINE_DATA = new BooleanPreference("map_online_data", false).makeGlobal();
|
||||
public final CommonPreference<Boolean> MAP_ONLINE_DATA = new BooleanPreference("map_online_data", false).makeProfile();
|
||||
|
||||
public final CommonPreference<String> CONTOUR_LINES_ZOOM = new StringPreference("contour_lines_zoom", null).makeGlobal().cache();
|
||||
|
||||
// this value string is synchronized with settings_pref.xml preference name
|
||||
public final CommonPreference<String> MAP_OVERLAY = new StringPreference("map_overlay", null).makeGlobal().cache();
|
||||
public final CommonPreference<String> MAP_OVERLAY = new StringPreference("map_overlay", null).makeProfile().cache();
|
||||
|
||||
// this value string is synchronized with settings_pref.xml preference name
|
||||
public final CommonPreference<String> MAP_UNDERLAY = new StringPreference("map_underlay", null).makeGlobal().cache();
|
||||
public final CommonPreference<String> MAP_UNDERLAY = new StringPreference("map_underlay", null).makeProfile().cache();
|
||||
|
||||
// this value string is synchronized with settings_pref.xml preference name
|
||||
public final CommonPreference<Integer> MAP_OVERLAY_TRANSPARENCY = new IntPreference("overlay_transparency",
|
||||
|
@ -1818,7 +1817,7 @@ public class OsmandSettings {
|
|||
|
||||
// this value string is synchronized with settings_pref.xml preference name
|
||||
public final CommonPreference<String> MAP_TILE_SOURCES = new StringPreference("map_tile_sources",
|
||||
TileSourceManager.getMapnikSource().getName()).makeGlobal();
|
||||
TileSourceManager.getMapnikSource().getName()).makeProfile();
|
||||
|
||||
public final CommonPreference<LayerTransparencySeekbarMode> LAYER_TRANSPARENCY_SEEKBAR_MODE =
|
||||
new EnumIntPreference<>("layer_transparency_seekbar_mode", LayerTransparencySeekbarMode.UNDEFINED, LayerTransparencySeekbarMode.values());
|
||||
|
@ -1846,7 +1845,7 @@ public class OsmandSettings {
|
|||
MAP_MARKERS_MODE.setModeDefaultValue(ApplicationMode.PEDESTRIAN, MapMarkersMode.TOOLBAR);
|
||||
}
|
||||
|
||||
public final OsmandPreference<Boolean> SHOW_MAP_MARKERS = new BooleanPreference("show_map_markers", true).makeGlobal();
|
||||
public final OsmandPreference<Boolean> SHOW_MAP_MARKERS = new BooleanPreference("show_map_markers", true).makeProfile();
|
||||
|
||||
public final OsmandPreference<Boolean> SHOW_COORDINATES_WIDGET = new BooleanPreference("show_coordinates_widget", false).makeProfile().cache();
|
||||
|
||||
|
@ -2915,7 +2914,7 @@ public class OsmandSettings {
|
|||
public final OsmandPreference<String> LAST_SELECTED_GPX_TRACK_FOR_NEW_POINT = new StringPreference("last_selected_gpx_track_for_new_point", null).makeGlobal().cache();
|
||||
|
||||
// Avoid using this property, probably you need to use PoiFiltersHelper.getSelectedPoiFilters()
|
||||
public final OsmandPreference<String> SELECTED_POI_FILTER_FOR_MAP = new StringPreference("selected_poi_filter_for_map", null).makeGlobal().cache();
|
||||
public final OsmandPreference<String> SELECTED_POI_FILTER_FOR_MAP = new StringPreference("selected_poi_filter_for_map", null).makeProfile().cache();
|
||||
|
||||
public Set<String> getSelectedPoiFilters() {
|
||||
Set<String> result = new LinkedHashSet<>();
|
||||
|
|
|
@ -649,7 +649,7 @@ public class MapActivity extends OsmandActionBarActivity implements DownloadEven
|
|||
}
|
||||
}
|
||||
if (mapContextMenu.isVisible() && mapContextMenu.isClosable()) {
|
||||
if (mapContextMenu.getCurrentMenuState() != MenuState.HEADER_ONLY) {
|
||||
if (mapContextMenu.getCurrentMenuState() != MenuState.HEADER_ONLY && !isLandscapeLayout()) {
|
||||
mapContextMenu.openMenuHeaderOnly();
|
||||
} else {
|
||||
mapContextMenu.close();
|
||||
|
|
|
@ -5,6 +5,7 @@ import android.content.DialogInterface;
|
|||
import android.graphics.drawable.Drawable;
|
||||
import android.support.annotation.Nullable;
|
||||
import android.support.v7.app.AlertDialog;
|
||||
import android.support.v7.view.ContextThemeWrapper;
|
||||
import android.view.View;
|
||||
import android.widget.AdapterView;
|
||||
import android.widget.ArrayAdapter;
|
||||
|
@ -92,12 +93,17 @@ public class MapActivityLayers {
|
|||
private QuickActionRegistry quickActionRegistry;
|
||||
private MeasurementToolLayer measurementToolLayer;
|
||||
|
||||
private boolean nightMode;
|
||||
private int themeRes;
|
||||
|
||||
private StateChangedListener<Integer> transparencyListener;
|
||||
|
||||
public MapActivityLayers(MapActivity activity) {
|
||||
this.activity = activity;
|
||||
this.mapWidgetRegistry = new MapWidgetRegistry(activity.getMyApplication());
|
||||
this.quickActionRegistry = new QuickActionRegistry(activity.getMyApplication().getSettings());
|
||||
this.nightMode = activity.getMyApplication().getDaynightHelper().isNightModeForMapControls();
|
||||
this.themeRes = nightMode ? R.style.OsmandDarkTheme : R.style.OsmandLightTheme;
|
||||
}
|
||||
|
||||
public QuickActionRegistry getQuickActionRegistry() {
|
||||
|
@ -266,7 +272,7 @@ public class MapActivityLayers {
|
|||
return true;
|
||||
}
|
||||
};
|
||||
return GpxUiHelper.selectGPXFiles(files, activity, callbackWithObject);
|
||||
return GpxUiHelper.selectGPXFiles(files, activity, callbackWithObject, themeRes);
|
||||
}
|
||||
|
||||
|
||||
|
@ -283,8 +289,8 @@ public class MapActivityLayers {
|
|||
}
|
||||
list.add(poiFilters.getCustomPOIFilter());
|
||||
|
||||
final ArrayAdapter<ContextMenuItem> listAdapter = adapter.createListAdapter(activity, app.getSettings().isLightContent());
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(activity);
|
||||
final ArrayAdapter<ContextMenuItem> listAdapter = adapter.createListAdapter(activity, !nightMode);
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(new ContextThemeWrapper(activity, themeRes));
|
||||
final ListView listView = new ListView(activity);
|
||||
listView.setDivider(null);
|
||||
listView.setClickable(true);
|
||||
|
@ -361,9 +367,8 @@ public class MapActivityLayers {
|
|||
addFilterToList(adapter, list, f, false);
|
||||
}
|
||||
|
||||
final ArrayAdapter<ContextMenuItem> listAdapter =
|
||||
adapter.createListAdapter(activity, app.getSettings().isLightContent());
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(activity);
|
||||
final ArrayAdapter<ContextMenuItem> listAdapter = adapter.createListAdapter(activity, !nightMode);
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(new ContextThemeWrapper(activity, themeRes));
|
||||
builder.setAdapter(listAdapter, new DialogInterface.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
|
|
|
@ -204,23 +204,25 @@ public class SavingTrackHelper extends SQLiteOpenHelper {
|
|||
File fout = new File(dir, f + ".gpx"); //$NON-NLS-1$
|
||||
if (!data.get(f).isEmpty()) {
|
||||
WptPt pt = data.get(f).findPointToShow();
|
||||
File targetDir = dir;
|
||||
if (ctx.getSettings().STORE_TRACKS_IN_MONTHLY_DIRECTORIES.get()) {
|
||||
String fileName = f + "_" + new SimpleDateFormat("HH-mm_EEE", Locale.US).format(new Date(pt.time)); //$NON-NLS-1$
|
||||
Integer track_storage_directory = ctx.getSettings().TRACK_STORAGE_DIRECTORY.get();
|
||||
if (track_storage_directory != OsmandSettings.REC_DIRECTORY) {
|
||||
SimpleDateFormat dateDirFormat = new SimpleDateFormat("yyyy-MM");
|
||||
if (track_storage_directory == OsmandSettings.DAILY_DIRECTORY) {
|
||||
dateDirFormat = new SimpleDateFormat("yyyy-MM-dd");
|
||||
}
|
||||
String dateDirName = dateDirFormat.format(new Date(pt.time));
|
||||
File dateDir = new File(dir, dateDirName);
|
||||
dateDir.mkdirs();
|
||||
if (dateDir.exists()) {
|
||||
targetDir = dateDir;
|
||||
fileName = dateDirName + File.separator + fileName;
|
||||
}
|
||||
}
|
||||
|
||||
String fileName = f + "_" + new SimpleDateFormat("HH-mm_EEE", Locale.US).format(new Date(pt.time)); //$NON-NLS-1$
|
||||
filenames.add(fileName);
|
||||
fout = new File(targetDir, fileName + ".gpx"); //$NON-NLS-1$
|
||||
fout = new File(dir, fileName + ".gpx"); //$NON-NLS-1$
|
||||
int ind = 1;
|
||||
while (fout.exists()) {
|
||||
fout = new File(targetDir, fileName + "_" + (++ind) + ".gpx"); //$NON-NLS-1$ //$NON-NLS-2$
|
||||
fout = new File(dir, fileName + "_" + (++ind) + ".gpx"); //$NON-NLS-1$ //$NON-NLS-2$
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -745,6 +745,13 @@ public class SettingsNavigationActivity extends SettingsBaseActivity {
|
|||
case NAUTICALMILES_PER_HOUR:
|
||||
ratio[0] = 3600 / OsmAndFormatter.METERS_IN_ONE_NAUTICALMILE;
|
||||
break;
|
||||
case MINUTES_PER_MILE:
|
||||
ratio[0] = 3600 / OsmAndFormatter.METERS_IN_ONE_MILE;
|
||||
speedUnits = activity.getString(R.string.mile_per_hour);
|
||||
break;
|
||||
case METERS_PER_SECOND:
|
||||
ratio[0] = 1;
|
||||
break;
|
||||
}
|
||||
|
||||
float settingsMinSpeed = settings.MIN_SPEED.get();
|
||||
|
|
|
@ -128,7 +128,7 @@ public class MapViewTrackingUtilities implements OsmAndLocationListener, IMapLoc
|
|||
myLocation != null && isSmallSpeedForDirectionOfMovement(myLocation, speedForDirectionOfMovement);
|
||||
if ((settings.ROTATE_MAP.get() == OsmandSettings.ROTATE_MAP_COMPASS || (settings.ROTATE_MAP.get() == OsmandSettings.ROTATE_MAP_BEARING && smallSpeedForDirectionOfMovement)) && !routePlanningMode) {
|
||||
if (Math.abs(MapUtils.degreesDiff(mapView.getRotate(), -val)) > 1.0) {
|
||||
mapView.setRotate(-val);
|
||||
mapView.setRotate(-val, false);
|
||||
}
|
||||
} else if (showViewAngle && headingChanged) {
|
||||
mapView.refreshMap();
|
||||
|
@ -208,7 +208,7 @@ public class MapViewTrackingUtilities implements OsmAndLocationListener, IMapLoc
|
|||
mapView.getAnimatedDraggingThread().startZooming(zoom.first, zoom.second, false);
|
||||
}
|
||||
if (rotation != null) {
|
||||
mapView.setRotate(rotation);
|
||||
mapView.setRotate(rotation, false);
|
||||
}
|
||||
mapView.setLatLon(location.getLatitude(), location.getLongitude());
|
||||
}
|
||||
|
@ -264,7 +264,7 @@ public class MapViewTrackingUtilities implements OsmAndLocationListener, IMapLoc
|
|||
public void updateSettings(){
|
||||
if (mapView != null) {
|
||||
if (settings.ROTATE_MAP.get() == OsmandSettings.ROTATE_MAP_NONE || routePlanningMode) {
|
||||
mapView.setRotate(0);
|
||||
mapView.setRotate(0, true);
|
||||
}
|
||||
mapView.setMapPosition(settings.ROTATE_MAP.get() == OsmandSettings.ROTATE_MAP_BEARING
|
||||
&& !routePlanningMode
|
||||
|
|
|
@ -17,6 +17,7 @@ import net.osmand.plus.OsmandApplication;
|
|||
import net.osmand.plus.OsmandSettings;
|
||||
import net.osmand.plus.R;
|
||||
import net.osmand.plus.activities.SettingsBaseActivity;
|
||||
import net.osmand.plus.render.NativeOsmandLibrary;
|
||||
import net.osmand.util.SunriseSunset;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
|
@ -37,6 +38,15 @@ public class SettingsDevelopmentActivity extends SettingsBaseActivity {
|
|||
cat.addPreference(createCheckBoxPreference(settings.USE_OPENGL_RENDER,
|
||||
R.string.use_opengl_render,R.string.use_opengl_render_descr));
|
||||
|
||||
CheckBoxPreference nativeCheckbox = createCheckBoxPreference(settings.SAFE_MODE, R.string.safe_mode,
|
||||
R.string.safe_mode_description);
|
||||
// disable the checkbox if the library cannot be used
|
||||
if ((NativeOsmandLibrary.isLoaded() && !NativeOsmandLibrary.isSupported()) || settings.NATIVE_RENDERING_FAILED.get()) {
|
||||
nativeCheckbox.setEnabled(false);
|
||||
nativeCheckbox.setChecked(true);
|
||||
}
|
||||
cat.addPreference(nativeCheckbox);
|
||||
|
||||
PreferenceCategory navigation = new PreferenceCategory(this);
|
||||
navigation.setTitle(R.string.routing_settings);
|
||||
cat.addPreference(navigation);
|
||||
|
|
|
@ -9,6 +9,7 @@ import android.support.annotation.NonNull;
|
|||
import android.support.annotation.StringRes;
|
||||
import android.support.v4.content.ContextCompat;
|
||||
import android.support.v7.app.AlertDialog;
|
||||
import android.support.v7.view.ContextThemeWrapper;
|
||||
import android.support.v7.widget.AppCompatCheckedTextView;
|
||||
import android.support.v7.widget.SwitchCompat;
|
||||
import android.view.LayoutInflater;
|
||||
|
@ -114,6 +115,8 @@ public class ConfigureMapMenu {
|
|||
|
||||
public ContextMenuAdapter createListAdapter(final MapActivity ma) {
|
||||
OsmandApplication app = ma.getMyApplication();
|
||||
boolean nightMode = app.getDaynightHelper().isNightModeForMapControls();
|
||||
int themeRes = nightMode ? R.style.OsmandDarkTheme : R.style.OsmandLightTheme;
|
||||
ContextMenuAdapter adapter = new ContextMenuAdapter();
|
||||
adapter.setDefaultLayoutId(R.layout.list_item_icon_and_menu);
|
||||
adapter.addItem(new ContextMenuItem.ItemBuilder()
|
||||
|
@ -138,8 +141,8 @@ public class ConfigureMapMenu {
|
|||
}
|
||||
}
|
||||
}
|
||||
createLayersItems(customRules, adapter, ma);
|
||||
createRenderingAttributeItems(customRules, adapter, ma);
|
||||
createLayersItems(customRules, adapter, ma, themeRes);
|
||||
createRenderingAttributeItems(customRules, adapter, ma, themeRes, nightMode);
|
||||
|
||||
return adapter;
|
||||
}
|
||||
|
@ -284,7 +287,7 @@ public class ConfigureMapMenu {
|
|||
}
|
||||
}
|
||||
|
||||
private void createLayersItems(List<RenderingRuleProperty> customRules, ContextMenuAdapter adapter, final MapActivity activity) {
|
||||
private void createLayersItems(List<RenderingRuleProperty> customRules, ContextMenuAdapter adapter, final MapActivity activity, final int themeRes) {
|
||||
final OsmandApplication app = activity.getMyApplication();
|
||||
final OsmandSettings settings = app.getSettings();
|
||||
LayerMenuListener l = new LayerMenuListener(activity, adapter);
|
||||
|
@ -398,7 +401,7 @@ public class ConfigureMapMenu {
|
|||
}
|
||||
|
||||
private void showTransportDialog(final ArrayAdapter<ContextMenuItem> ad, final int pos) {
|
||||
final AlertDialog.Builder b = new AlertDialog.Builder(activity);
|
||||
final AlertDialog.Builder b = new AlertDialog.Builder(new ContextThemeWrapper(activity, themeRes));
|
||||
b.setTitle(activity.getString(R.string.rendering_category_transport));
|
||||
|
||||
final int[] iconIds = new int[transportPrefs.size()];
|
||||
|
@ -425,7 +428,7 @@ public class ConfigureMapMenu {
|
|||
}
|
||||
}
|
||||
|
||||
adapter = new ArrayAdapter<CharSequence>(activity, R.layout.popup_list_item_icon24_and_menu, R.id.title, vals) {
|
||||
adapter = new ArrayAdapter<CharSequence>(new ContextThemeWrapper(activity, themeRes), R.layout.popup_list_item_icon24_and_menu, R.id.title, vals) {
|
||||
@NonNull
|
||||
@Override
|
||||
public View getView(final int position, View convertView, ViewGroup parent) {
|
||||
|
@ -545,7 +548,8 @@ public class ConfigureMapMenu {
|
|||
}
|
||||
|
||||
private void createRenderingAttributeItems(List<RenderingRuleProperty> customRules,
|
||||
final ContextMenuAdapter adapter, final MapActivity activity) {
|
||||
final ContextMenuAdapter adapter, final MapActivity activity,
|
||||
final int themeRes, final boolean nightMode) {
|
||||
adapter.addItem(new ContextMenuItem.ItemBuilder().setTitleId(R.string.map_widget_map_rendering, activity)
|
||||
.setId(MAP_RENDERING_CATEGORY_ID)
|
||||
.setCategory(true).setLayout(R.layout.list_group_title_with_switch).createItem());
|
||||
|
@ -570,7 +574,7 @@ public class ConfigureMapMenu {
|
|||
public boolean onContextMenuClick(final ArrayAdapter<ContextMenuItem> ad, int itemId,
|
||||
final int pos, boolean isChecked, int[] viewCoordinates) {
|
||||
final OsmandMapTileView view = activity.getMapView();
|
||||
AlertDialog.Builder bld = new AlertDialog.Builder(view.getContext());
|
||||
AlertDialog.Builder bld = new AlertDialog.Builder(new ContextThemeWrapper(view.getContext(), themeRes));
|
||||
bld.setTitle(R.string.daynight);
|
||||
final String[] items = new String[OsmandSettings.DayNightMode.values().length];
|
||||
for (int i = 0; i < items.length; i++) {
|
||||
|
@ -608,7 +612,7 @@ public class ConfigureMapMenu {
|
|||
final int pos, boolean isChecked, int[] viewCoordinates) {
|
||||
final OsmandMapTileView view = activity.getMapView();
|
||||
final OsmandSettings.OsmandPreference<Float> mapDensity = view.getSettings().MAP_DENSITY;
|
||||
final AlertDialog.Builder bld = new AlertDialog.Builder(view.getContext());
|
||||
AlertDialog.Builder bld = new AlertDialog.Builder(new ContextThemeWrapper(view.getContext(), themeRes));
|
||||
int p = (int) (mapDensity.get() * 100);
|
||||
final TIntArrayList tlist = new TIntArrayList(new int[]{25, 33, 50, 75, 100, 125, 150, 200, 300, 400});
|
||||
final List<String> values = new ArrayList<>();
|
||||
|
@ -658,7 +662,7 @@ public class ConfigureMapMenu {
|
|||
}).createItem());
|
||||
|
||||
ContextMenuItem props;
|
||||
props = createRenderingProperty(customRules, adapter, activity, R.drawable.ic_action_intersection, ROAD_STYLE_ATTR, ROAD_STYLE_ID);
|
||||
props = createRenderingProperty(customRules, adapter, activity, R.drawable.ic_action_intersection, ROAD_STYLE_ATTR, ROAD_STYLE_ID, themeRes);
|
||||
if (props != null) {
|
||||
adapter.addItem(props);
|
||||
}
|
||||
|
@ -671,7 +675,7 @@ public class ConfigureMapMenu {
|
|||
public boolean onContextMenuClick(final ArrayAdapter<ContextMenuItem> ad, int itemId,
|
||||
final int pos, boolean isChecked, int[] viewCoordinates) {
|
||||
final OsmandMapTileView view = activity.getMapView();
|
||||
AlertDialog.Builder b = new AlertDialog.Builder(view.getContext());
|
||||
AlertDialog.Builder b = new AlertDialog.Builder(new ContextThemeWrapper(view.getContext(), themeRes));
|
||||
// test old descr as title
|
||||
b.setTitle(R.string.text_size);
|
||||
final Float[] txtValues = new Float[]{0.75f, 1f, 1.25f, 1.5f, 2f, 3f};
|
||||
|
@ -711,7 +715,7 @@ public class ConfigureMapMenu {
|
|||
public boolean onContextMenuClick(final ArrayAdapter<ContextMenuItem> ad, int itemId,
|
||||
final int pos, boolean isChecked, int[] viewCoordinates) {
|
||||
final OsmandMapTileView view = activity.getMapView();
|
||||
final AlertDialog.Builder b = new AlertDialog.Builder(view.getContext());
|
||||
AlertDialog.Builder b = new AlertDialog.Builder(new ContextThemeWrapper(view.getContext(), themeRes));
|
||||
|
||||
b.setTitle(activity.getString(R.string.map_locale));
|
||||
|
||||
|
@ -735,7 +739,7 @@ public class ConfigureMapMenu {
|
|||
}
|
||||
};
|
||||
|
||||
final ArrayAdapter<CharSequence> singleChoiceAdapter = new ArrayAdapter<CharSequence>(activity, R.layout.single_choice_switch_item, R.id.text1, txtValues) {
|
||||
final ArrayAdapter<CharSequence> singleChoiceAdapter = new ArrayAdapter<CharSequence>(new ContextThemeWrapper(view.getContext(), themeRes), R.layout.single_choice_switch_item, R.id.text1, txtValues) {
|
||||
@NonNull
|
||||
@Override
|
||||
public View getView(int position, View convertView, ViewGroup parent) {
|
||||
|
@ -794,17 +798,17 @@ public class ConfigureMapMenu {
|
|||
}).createItem());
|
||||
|
||||
props = createProperties(customRules, null, R.string.rendering_category_transport, R.drawable.ic_action_bus_dark,
|
||||
"transport", null, adapter, activity, true, TRANSPORT_RENDERING_ID);
|
||||
"transport", null, adapter, activity, true, TRANSPORT_RENDERING_ID, themeRes, nightMode);
|
||||
if (props != null) {
|
||||
adapter.addItem(props);
|
||||
}
|
||||
props = createProperties(customRules, null, R.string.rendering_category_details, R.drawable.ic_action_layers_dark,
|
||||
"details", null, adapter, activity, true, DETAILS_ID);
|
||||
"details", null, adapter, activity, true, DETAILS_ID, themeRes, nightMode);
|
||||
if (props != null) {
|
||||
adapter.addItem(props);
|
||||
}
|
||||
props = createProperties(customRules, null, R.string.rendering_category_hide, R.drawable.ic_action_hide,
|
||||
"hide", null, adapter, activity, true, HIDE_ID);
|
||||
"hide", null, adapter, activity, true, HIDE_ID, themeRes, nightMode);
|
||||
if (props != null) {
|
||||
adapter.addItem(props);
|
||||
}
|
||||
|
@ -816,7 +820,7 @@ public class ConfigureMapMenu {
|
|||
}
|
||||
}
|
||||
props = createProperties(customRules, customRulesIncluded, R.string.rendering_category_routes, R.drawable.ic_action_map_routes,
|
||||
"routes", null, adapter, activity, true, ROUTES_ID);
|
||||
"routes", null, adapter, activity, true, ROUTES_ID, themeRes, nightMode);
|
||||
if (props != null) {
|
||||
adapter.addItem(props);
|
||||
}
|
||||
|
@ -824,7 +828,7 @@ public class ConfigureMapMenu {
|
|||
if (getCustomRenderingPropertiesSize(customRules) > 0) {
|
||||
adapter.addItem(new ContextMenuItem.ItemBuilder().setTitleId(R.string.rendering_category_others, activity)
|
||||
.setCategory(true).setLayout(R.layout.list_group_title_with_switch).createItem());
|
||||
createCustomRenderingProperties(adapter, activity, customRules);
|
||||
createCustomRenderingProperties(adapter, activity, customRules, themeRes);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -879,7 +883,9 @@ public class ConfigureMapMenu {
|
|||
final ContextMenuAdapter adapter,
|
||||
final MapActivity activity,
|
||||
final boolean useDescription,
|
||||
final String id) {
|
||||
final String id,
|
||||
final int themeRes,
|
||||
final boolean nightMode) {
|
||||
|
||||
final List<RenderingRuleProperty> ps = new ArrayList<>();
|
||||
final List<OsmandSettings.CommonPreference<Boolean>> prefs = new ArrayList<>();
|
||||
|
@ -928,7 +934,7 @@ public class ConfigureMapMenu {
|
|||
activity.getMapLayers().updateLayers(activity.getMapView());
|
||||
} else {
|
||||
showPreferencesDialog(adapter, a, pos, activity, activity.getString(strId), ps, prefs,
|
||||
useDescription, defaultSettings, true, customRulesIncluded);
|
||||
useDescription, defaultSettings, true, customRulesIncluded, themeRes, nightMode);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
@ -968,7 +974,7 @@ public class ConfigureMapMenu {
|
|||
public boolean onRowItemClick(ArrayAdapter<ContextMenuItem> a, View view, int itemId,
|
||||
int pos) {
|
||||
showPreferencesDialog(adapter, a, pos, activity, activity.getString(strId), ps, prefs,
|
||||
useDescription, defaultSettings, false, customRulesIncluded);
|
||||
useDescription, defaultSettings, false, customRulesIncluded, themeRes, nightMode);
|
||||
return false;
|
||||
}
|
||||
});
|
||||
|
@ -1010,9 +1016,11 @@ public class ConfigureMapMenu {
|
|||
final boolean useDescription,
|
||||
ListStringPreference defaultSettings,
|
||||
boolean useDefault,
|
||||
final List<RenderingRuleProperty> customRulesIncluded) {
|
||||
final List<RenderingRuleProperty> customRulesIncluded,
|
||||
final int themeRes,
|
||||
final boolean nightMode) {
|
||||
|
||||
AlertDialog.Builder bld = new AlertDialog.Builder(activity);
|
||||
AlertDialog.Builder bld = new AlertDialog.Builder(new ContextThemeWrapper(activity, themeRes));
|
||||
boolean[] checkedItems = new boolean[prefs.size()];
|
||||
final boolean[] tempPrefs = new boolean[prefs.size()];
|
||||
for (int i = 0; i < prefs.size(); i++) {
|
||||
|
@ -1095,8 +1103,7 @@ public class ConfigureMapMenu {
|
|||
final OsmandSettings.CommonPreference<String> pref = activity.getMyApplication().getSettings()
|
||||
.getCustomRenderProperty(p.getAttrName());
|
||||
|
||||
LayoutInflater inflater = activity.getLayoutInflater();
|
||||
View spinnerView = inflater.inflate(R.layout.spinner_rule_layout, null);
|
||||
View spinnerView = View.inflate(new ContextThemeWrapper(activity, themeRes), R.layout.spinner_rule_layout, null);
|
||||
TextView title = (TextView) spinnerView.findViewById(R.id.title);
|
||||
final Spinner spinner = (Spinner) spinnerView.findViewById(R.id.spinner);
|
||||
TextView description = (TextView) spinnerView.findViewById(R.id.description);
|
||||
|
@ -1125,7 +1132,7 @@ public class ConfigureMapMenu {
|
|||
p.getPossibleValues()[j]);
|
||||
}
|
||||
|
||||
StringSpinnerArrayAdapter arrayAdapter = new StringSpinnerArrayAdapter(activity);
|
||||
StringSpinnerArrayAdapter arrayAdapter = new StringSpinnerArrayAdapter(activity, nightMode);
|
||||
for (String val : possibleValuesString) {
|
||||
arrayAdapter.add(val);
|
||||
}
|
||||
|
@ -1189,10 +1196,10 @@ public class ConfigureMapMenu {
|
|||
}
|
||||
|
||||
private void createCustomRenderingProperties(final ContextMenuAdapter adapter, final MapActivity activity,
|
||||
List<RenderingRuleProperty> customRules) {
|
||||
List<RenderingRuleProperty> customRules, final int themeRes) {
|
||||
for (final RenderingRuleProperty p : customRules) {
|
||||
if (isPropertyAccepted(p)) {
|
||||
adapter.addItem(createRenderingProperty(adapter, activity, 0, p, CUSTOM_RENDERING_ITEMS_ID_SCHEME + p.getName()));
|
||||
adapter.addItem(createRenderingProperty(adapter, activity, 0, p, CUSTOM_RENDERING_ITEMS_ID_SCHEME + p.getName(), themeRes));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1209,17 +1216,19 @@ public class ConfigureMapMenu {
|
|||
|
||||
private ContextMenuItem createRenderingProperty(final List<RenderingRuleProperty> customRules,
|
||||
final ContextMenuAdapter adapter, final MapActivity activity,
|
||||
@DrawableRes final int icon, final String attrName, String id) {
|
||||
@DrawableRes final int icon, final String attrName, String id,
|
||||
final int themeRes) {
|
||||
for (final RenderingRuleProperty p : customRules) {
|
||||
if (p.getAttrName().equals(attrName)) {
|
||||
return createRenderingProperty(adapter, activity, icon, p, id);
|
||||
return createRenderingProperty(adapter, activity, icon, p, id, themeRes);
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private ContextMenuItem createRenderingProperty(final ContextMenuAdapter adapter, final MapActivity activity,
|
||||
@DrawableRes final int icon, final RenderingRuleProperty p, final String id) {
|
||||
@DrawableRes final int icon, final RenderingRuleProperty p, final String id,
|
||||
final int themeRes) {
|
||||
final OsmandMapTileView view = activity.getMapView();
|
||||
String propertyName = SettingsActivity.getStringPropertyName(view.getContext(), p.getAttrName(),
|
||||
p.getName());
|
||||
|
@ -1259,7 +1268,7 @@ public class ConfigureMapMenu {
|
|||
@Override
|
||||
public boolean onContextMenuClick(final ArrayAdapter<ContextMenuItem> ad,
|
||||
final int itemId, final int pos, boolean isChecked, int[] viewCoordinates) {
|
||||
AlertDialog.Builder b = new AlertDialog.Builder(view.getContext());
|
||||
AlertDialog.Builder b = new AlertDialog.Builder(new ContextThemeWrapper(view.getContext(), themeRes));
|
||||
// test old descr as title
|
||||
b.setTitle(propertyDescr);
|
||||
|
||||
|
@ -1310,13 +1319,13 @@ public class ConfigureMapMenu {
|
|||
|
||||
private class StringSpinnerArrayAdapter extends ArrayAdapter<String> {
|
||||
|
||||
private boolean lightTheme;
|
||||
private boolean nightMode;
|
||||
|
||||
public StringSpinnerArrayAdapter(Context context) {
|
||||
public StringSpinnerArrayAdapter(Context context, boolean nightMode) {
|
||||
super(context, android.R.layout.simple_spinner_item);
|
||||
setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
|
||||
OsmandApplication app = (OsmandApplication )getContext().getApplicationContext();
|
||||
lightTheme = app.getSettings().isLightContent();
|
||||
this.nightMode = nightMode;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -1325,7 +1334,7 @@ public class ConfigureMapMenu {
|
|||
|
||||
String text = getItem(position);
|
||||
label.setText(text);
|
||||
label.setTextColor(!lightTheme ?
|
||||
label.setTextColor(nightMode ?
|
||||
ContextCompat.getColorStateList(getContext(), R.color.text_color_primary_dark) : ContextCompat.getColorStateList(getContext(), R.color.text_color_primary_light));
|
||||
return label;
|
||||
}
|
||||
|
@ -1336,7 +1345,7 @@ public class ConfigureMapMenu {
|
|||
|
||||
String text = getItem(position);
|
||||
label.setText(text);
|
||||
label.setTextColor(!lightTheme ?
|
||||
label.setTextColor(nightMode ?
|
||||
ContextCompat.getColorStateList(getContext(), R.color.text_color_primary_dark) : ContextCompat.getColorStateList(getContext(), R.color.text_color_primary_light));
|
||||
|
||||
return label;
|
||||
|
|
|
@ -19,10 +19,12 @@ import net.osmand.plus.inapp.InAppPurchaseHelper;
|
|||
import net.osmand.util.Algorithms;
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.content.DialogInterface;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.os.Bundle;
|
||||
import android.support.v4.view.MenuItemCompat;
|
||||
import android.support.v7.app.ActionBar;
|
||||
import android.support.v7.app.AlertDialog;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuInflater;
|
||||
|
@ -154,9 +156,23 @@ public class UpdatesIndexFragment extends OsmAndListFragment implements Download
|
|||
updateAllButton.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
if (indexItems.size() > 3) {
|
||||
AlertDialog.Builder dialog = new AlertDialog.Builder(getMyActivity());
|
||||
dialog.setTitle(R.string.update_all_maps);
|
||||
dialog.setMessage(getString(R.string.update_all_maps_q, indexItems.size()));
|
||||
dialog.setNegativeButton(R.string.shared_string_cancel, null);
|
||||
dialog.setPositiveButton(R.string.update, new DialogInterface.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
getMyActivity().startDownload(indexItems.toArray(new IndexItem[indexItems.size()]));
|
||||
}
|
||||
});
|
||||
dialog.create().show();
|
||||
} else {
|
||||
getMyActivity().startDownload(indexItems.toArray(new IndexItem[indexItems.size()]));
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -23,6 +23,7 @@ import android.support.v7.widget.SwitchCompat;
|
|||
import android.text.SpannableString;
|
||||
import android.text.style.StyleSpan;
|
||||
import android.util.TypedValue;
|
||||
import android.view.ContextThemeWrapper;
|
||||
import android.view.Gravity;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
@ -219,7 +220,8 @@ public class GpxUiHelper {
|
|||
}
|
||||
|
||||
public static AlertDialog selectGPXFiles(List<String> selectedGpxList, final Activity activity,
|
||||
final CallbackWithObject<GPXFile[]> callbackWithObject) {
|
||||
final CallbackWithObject<GPXFile[]> callbackWithObject,
|
||||
int dialogThemeRes) {
|
||||
OsmandApplication app = (OsmandApplication) activity.getApplication();
|
||||
final File dir = app.getAppPath(IndexConstants.GPX_INDEX_DIR);
|
||||
final List<GPXInfo> allGpxList = getSortedGPXFilesInfo(dir, selectedGpxList, false);
|
||||
|
@ -229,11 +231,13 @@ public class GpxUiHelper {
|
|||
allGpxList.add(0, new GPXInfo(activity.getString(R.string.show_current_gpx_title), 0, 0));
|
||||
|
||||
final ContextMenuAdapter adapter = createGpxContextMenuAdapter(allGpxList, selectedGpxList, true);
|
||||
return createDialog(activity, true, true, true, callbackWithObject, allGpxList, adapter);
|
||||
return createDialog(activity, true, true, true, callbackWithObject, allGpxList, adapter, dialogThemeRes);
|
||||
}
|
||||
|
||||
public static AlertDialog selectGPXFile(final Activity activity,
|
||||
final boolean showCurrentGpx, final boolean multipleChoice, final CallbackWithObject<GPXFile[]> callbackWithObject) {
|
||||
final boolean showCurrentGpx, final boolean multipleChoice,
|
||||
final CallbackWithObject<GPXFile[]> callbackWithObject, boolean nightMode) {
|
||||
int dialogThemeRes = nightMode ? R.style.OsmandDarkTheme : R.style.OsmandLightTheme;
|
||||
OsmandApplication app = (OsmandApplication) activity.getApplication();
|
||||
final File dir = app.getAppPath(IndexConstants.GPX_INDEX_DIR);
|
||||
final List<GPXInfo> list = getSortedGPXFilesInfo(dir, null, false);
|
||||
|
@ -246,7 +250,7 @@ public class GpxUiHelper {
|
|||
}
|
||||
|
||||
final ContextMenuAdapter adapter = createGpxContextMenuAdapter(list, null, showCurrentGpx);
|
||||
return createDialog(activity, showCurrentGpx, multipleChoice, false, callbackWithObject, list, adapter);
|
||||
return createDialog(activity, showCurrentGpx, multipleChoice, false, callbackWithObject, list, adapter, dialogThemeRes);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
@ -439,11 +443,12 @@ public class GpxUiHelper {
|
|||
final boolean showAppearanceSetting,
|
||||
final CallbackWithObject<GPXFile[]> callbackWithObject,
|
||||
final List<GPXInfo> list,
|
||||
final ContextMenuAdapter adapter) {
|
||||
final ContextMenuAdapter adapter,
|
||||
final int themeRes) {
|
||||
final OsmandApplication app = (OsmandApplication) activity.getApplication();
|
||||
final DateFormat dateFormat = android.text.format.DateFormat.getMediumDateFormat(activity);
|
||||
final File dir = app.getAppPath(IndexConstants.GPX_INDEX_DIR);
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(activity);
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(new ContextThemeWrapper(activity, themeRes));
|
||||
final int layout = R.layout.gpx_track_item;
|
||||
final Map<String, String> gpxAppearanceParams = new HashMap<>();
|
||||
|
||||
|
@ -479,7 +484,7 @@ public class GpxUiHelper {
|
|||
View v = convertView;
|
||||
boolean checkLayout = getItemViewType(position) == 0;
|
||||
if (v == null) {
|
||||
v = activity.getLayoutInflater().inflate(layout, null);
|
||||
v = View.inflate(new ContextThemeWrapper(activity, themeRes), layout, null);
|
||||
}
|
||||
|
||||
if (dataItems == null) {
|
||||
|
@ -546,7 +551,7 @@ public class GpxUiHelper {
|
|||
if (trackWidthProp == null || trackColorProp == null) {
|
||||
builder.setTitle(R.string.show_gpx);
|
||||
} else {
|
||||
final View apprTitleView = activity.getLayoutInflater().inflate(R.layout.select_gpx_appearance_title, null);
|
||||
final View apprTitleView = View.inflate(new ContextThemeWrapper(activity, themeRes), R.layout.select_gpx_appearance_title, null);
|
||||
|
||||
final OsmandSettings.CommonPreference<String> prefWidth
|
||||
= app.getSettings().getCustomRenderProperty(CURRENT_TRACK_WIDTH_ATTR);
|
||||
|
@ -558,14 +563,14 @@ public class GpxUiHelper {
|
|||
apprTitleView.findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
final ListPopupWindow popup = new ListPopupWindow(activity);
|
||||
final ListPopupWindow popup = new ListPopupWindow(new ContextThemeWrapper(activity, themeRes));
|
||||
popup.setAnchorView(apprTitleView);
|
||||
popup.setContentWidth(AndroidUtils.dpToPx(activity, 200f));
|
||||
popup.setModal(true);
|
||||
popup.setDropDownGravity(Gravity.RIGHT | Gravity.TOP);
|
||||
popup.setVerticalOffset(AndroidUtils.dpToPx(activity, -48f));
|
||||
popup.setHorizontalOffset(AndroidUtils.dpToPx(activity, -6f));
|
||||
final GpxAppearanceAdapter gpxApprAdapter = new GpxAppearanceAdapter(activity,
|
||||
final GpxAppearanceAdapter gpxApprAdapter = new GpxAppearanceAdapter(new ContextThemeWrapper(activity, themeRes),
|
||||
gpxAppearanceParams.containsKey(CURRENT_TRACK_COLOR_ATTR) ? gpxAppearanceParams.get(CURRENT_TRACK_COLOR_ATTR) : prefColor.get(),
|
||||
GpxAppearanceAdapter.GpxAppearanceAdapterType.TRACK_WIDTH_COLOR);
|
||||
popup.setAdapter(gpxApprAdapter);
|
||||
|
@ -669,7 +674,7 @@ public class GpxUiHelper {
|
|||
if (position == 0 && showCurrentGpx && item.getSelected()) {
|
||||
OsmandMonitoringPlugin monitoringPlugin = OsmandPlugin.getEnabledPlugin(OsmandMonitoringPlugin.class);
|
||||
if (monitoringPlugin == null) {
|
||||
AlertDialog.Builder confirm = new AlertDialog.Builder(activity);
|
||||
AlertDialog.Builder confirm = new AlertDialog.Builder(new ContextThemeWrapper(activity, themeRes));
|
||||
confirm.setPositiveButton(R.string.shared_string_ok, new DialogInterface.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
|
|
|
@ -376,7 +376,7 @@ public class RoutePreferencesMenu {
|
|||
mapActivity.getRoutingHelper().recalculateRouteDueToSettingsChange();
|
||||
return true;
|
||||
}
|
||||
});
|
||||
}, app.getDaynightHelper().isNightModeForMapControls());
|
||||
}
|
||||
|
||||
private void updateSpinnerItems(final TextView gpxSpinner) {
|
||||
|
|
|
@ -885,7 +885,7 @@ public class MeasurementToolFragment extends BaseOsmAndFragment {
|
|||
}
|
||||
};
|
||||
|
||||
return GpxUiHelper.selectGPXFile(mapActivity, false, false, callbackWithObject);
|
||||
return GpxUiHelper.selectGPXFile(mapActivity, false, false, callbackWithObject, nightMode);
|
||||
}
|
||||
|
||||
private void applyMovePointMode() {
|
||||
|
|
|
@ -42,7 +42,7 @@ public class OnSaveCurrentTrackFragment extends BottomSheetDialogFragment {
|
|||
dismiss();
|
||||
}
|
||||
|
||||
final File f = new File (app.getAppCustomization().getTracksDir() +"/"+ savedGpxName + ".gpx");
|
||||
final File f = new File (app.getAppCustomization().getTracksDir(), savedGpxName + ".gpx");
|
||||
final boolean nightMode = !app.getSettings().isLightContent();
|
||||
final int themeRes = nightMode ? R.style.OsmandDarkTheme : R.style.OsmandLightTheme;
|
||||
View mainView = View
|
||||
|
|
|
@ -16,6 +16,10 @@ import android.preference.PreferenceCategory;
|
|||
import android.preference.PreferenceScreen;
|
||||
import android.view.Window;
|
||||
|
||||
import static net.osmand.plus.OsmandSettings.DAILY_DIRECTORY;
|
||||
import static net.osmand.plus.OsmandSettings.MONTHLY_DIRECTORY;
|
||||
import static net.osmand.plus.OsmandSettings.REC_DIRECTORY;
|
||||
|
||||
|
||||
public class SettingsMonitoringActivity extends SettingsBaseActivity {
|
||||
private CheckBoxPreference routeServiceEnabled;
|
||||
|
@ -119,8 +123,14 @@ public class SettingsMonitoringActivity extends SettingsBaseActivity {
|
|||
R.string.auto_split_recording_descr));
|
||||
cat.addPreference(createCheckBoxPreference(settings.DISABLE_RECORDING_ONCE_APP_KILLED, R.string.disable_recording_once_app_killed,
|
||||
R.string.disable_recording_once_app_killed_descrp));
|
||||
cat.addPreference(createCheckBoxPreference(settings.STORE_TRACKS_IN_MONTHLY_DIRECTORIES, R.string.store_tracks_in_monthly_directories,
|
||||
R.string.store_tracks_in_monthly_directories_descrp));
|
||||
|
||||
Integer[] intValues = new Integer[]{REC_DIRECTORY, MONTHLY_DIRECTORY, DAILY_DIRECTORY};
|
||||
names = new String[intValues.length];
|
||||
names[0] = getString(R.string.store_tracks_in_rec_directory);
|
||||
names[1] = getString(R.string.store_tracks_in_monthly_directories);
|
||||
names[2] = getString(R.string.store_tracks_in_daily_directories);
|
||||
cat.addPreference(createListPreference(settings.TRACK_STORAGE_DIRECTORY, names, intValues,
|
||||
R.string.track_storage_directory, R.string.track_storage_directory_descrp));
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -158,6 +158,7 @@ public class TrackBitmapDrawer {
|
|||
.setLocation(clat, clon)
|
||||
.setZoom(15)
|
||||
.density(density)
|
||||
.setMapDensity(density)
|
||||
.setPixelDimensions(widthPixels, heightPixels, 0.5f, 0.5f);
|
||||
|
||||
rotatedTileBox = boxBuilder.build();
|
||||
|
|
|
@ -369,6 +369,7 @@ public class PoiFiltersHelper {
|
|||
}
|
||||
|
||||
public void loadSelectedPoiFilters() {
|
||||
selectedPoiFilters.clear();
|
||||
Set<String> filters = application.getSettings().getSelectedPoiFilters();
|
||||
for (String f : filters) {
|
||||
PoiUIFilter filter = getFilterById(f);
|
||||
|
|
|
@ -412,7 +412,7 @@ public class RouteOptionsBottomSheet extends MenuBottomSheetDialogFragment {
|
|||
routingHelper.recalculateRouteDueToSettingsChange();
|
||||
return true;
|
||||
}
|
||||
});
|
||||
}, nightMode);
|
||||
}
|
||||
|
||||
private void showOptionsMenu(final TextView gpxSpinner) {
|
||||
|
|
|
@ -48,6 +48,7 @@ public class GeneralProfileSettingsFragment extends BaseSettingsFragment impleme
|
|||
setupUnitsOfLengthPref();
|
||||
setupCoordinatesFormatPref();
|
||||
setupAngularUnitsPref();
|
||||
setupSpeedSystemPref();
|
||||
|
||||
setupKalmanFilterPref();
|
||||
setupMagneticFieldSensorPref();
|
||||
|
@ -202,7 +203,24 @@ public class GeneralProfileSettingsFragment extends BaseSettingsFragment impleme
|
|||
ListPreferenceEx angularUnits = (ListPreferenceEx) findPreference(settings.ANGULAR_UNITS.getId());
|
||||
angularUnits.setEntries(entries);
|
||||
angularUnits.setEntryValues(entryValues);
|
||||
angularUnits.setIcon(getContentIcon(R.drawable.ic_action_angular_unit));
|
||||
angularUnits.setIcon(getIcon(R.drawable.ic_action_angular_unit));
|
||||
}
|
||||
|
||||
private void setupSpeedSystemPref() {
|
||||
OsmandSettings.SpeedConstants[] speedConstants = OsmandSettings.SpeedConstants.values();
|
||||
String[] entries = new String[speedConstants.length];
|
||||
Integer[] entryValues = new Integer[speedConstants.length];
|
||||
|
||||
for (int i = 0; i < entries.length; i++) {
|
||||
entries[i] = speedConstants[i].toHumanString(app);
|
||||
entryValues[i] = speedConstants[i].ordinal();
|
||||
}
|
||||
|
||||
ListPreferenceEx speedSystem = (ListPreferenceEx) findPreference(settings.SPEED_SYSTEM.getId());
|
||||
speedSystem.setEntries(entries);
|
||||
speedSystem.setEntryValues(entryValues);
|
||||
speedSystem.setDescription(R.string.default_speed_system_descr);
|
||||
speedSystem.setIcon(getContentIcon(R.drawable.ic_action_speed));
|
||||
}
|
||||
|
||||
private void setupKalmanFilterPref() {
|
||||
|
|
|
@ -15,7 +15,6 @@ import net.osmand.plus.OsmandSettings.BooleanPreference;
|
|||
import net.osmand.plus.R;
|
||||
import net.osmand.plus.activities.SettingsBaseActivity;
|
||||
import net.osmand.plus.activities.SettingsNavigationActivity;
|
||||
import net.osmand.plus.routepreparationmenu.RoutingOptionsHelper;
|
||||
import net.osmand.plus.routing.RouteProvider;
|
||||
import net.osmand.plus.settings.preferences.ListPreferenceEx;
|
||||
import net.osmand.plus.settings.preferences.MultiSelectBooleanPreference;
|
||||
|
@ -30,6 +29,7 @@ import java.util.Map;
|
|||
import java.util.Set;
|
||||
|
||||
import static net.osmand.plus.activities.SettingsNavigationActivity.getRouter;
|
||||
import static net.osmand.plus.routepreparationmenu.RoutingOptionsHelper.DRIVING_STYLE;
|
||||
|
||||
public class RouteParametersFragment extends BaseSettingsFragment {
|
||||
|
||||
|
@ -43,6 +43,7 @@ public class RouteParametersFragment extends BaseSettingsFragment {
|
|||
|
||||
private List<GeneralRouter.RoutingParameter> avoidParameters = new ArrayList<GeneralRouter.RoutingParameter>();
|
||||
private List<GeneralRouter.RoutingParameter> preferParameters = new ArrayList<GeneralRouter.RoutingParameter>();
|
||||
private List<GeneralRouter.RoutingParameter> drivingStyleParameters = new ArrayList<GeneralRouter.RoutingParameter>();
|
||||
private List<GeneralRouter.RoutingParameter> reliefFactorParameters = new ArrayList<GeneralRouter.RoutingParameter>();
|
||||
private List<GeneralRouter.RoutingParameter> otherRoutingParameters = new ArrayList<GeneralRouter.RoutingParameter>();
|
||||
|
||||
|
@ -118,7 +119,7 @@ public class RouteParametersFragment extends BaseSettingsFragment {
|
|||
clearParameters();
|
||||
if (router != null) {
|
||||
Map<String, GeneralRouter.RoutingParameter> parameters = router.getParameters();
|
||||
if (parameters.containsKey(GeneralRouter.USE_SHORTEST_WAY)) {
|
||||
if (!am.isDerivedRoutingFrom(ApplicationMode.CAR)) {
|
||||
screen.addPreference(fastRoute);
|
||||
}
|
||||
for (Map.Entry<String, GeneralRouter.RoutingParameter> e : parameters.entrySet()) {
|
||||
|
@ -130,14 +131,19 @@ public class RouteParametersFragment extends BaseSettingsFragment {
|
|||
preferParameters.add(routingParameter);
|
||||
} else if (RELIEF_SMOOTHNESS_FACTOR.equals(routingParameter.getGroup())) {
|
||||
reliefFactorParameters.add(routingParameter);
|
||||
} else if (!param.equals(GeneralRouter.USE_SHORTEST_WAY)
|
||||
} else if (DRIVING_STYLE.equals(routingParameter.getGroup())) {
|
||||
drivingStyleParameters.add(routingParameter);
|
||||
} else if ((!param.equals(GeneralRouter.USE_SHORTEST_WAY) || am.isDerivedRoutingFrom(ApplicationMode.CAR))
|
||||
&& !param.equals(GeneralRouter.VEHICLE_HEIGHT)
|
||||
&& !param.equals(GeneralRouter.VEHICLE_WEIGHT)
|
||||
&& !param.equals(GeneralRouter.VEHICLE_WIDTH)
|
||||
&& !RoutingOptionsHelper.DRIVING_STYLE.equals(routingParameter.getGroup())) {
|
||||
&& !param.equals(GeneralRouter.VEHICLE_WIDTH)) {
|
||||
otherRoutingParameters.add(routingParameter);
|
||||
}
|
||||
}
|
||||
if (drivingStyleParameters.size() > 0) {
|
||||
ListPreferenceEx drivingStyleRouting = createRoutingBooleanListPreference(DRIVING_STYLE, drivingStyleParameters);
|
||||
screen.addPreference(drivingStyleRouting);
|
||||
}
|
||||
if (avoidParameters.size() > 0) {
|
||||
MultiSelectBooleanPreference avoidRouting = new MultiSelectBooleanPreference(app);
|
||||
avoidRouting.setKey(AVOID_ROUTING_PARAMETER_PREFIX);
|
||||
|
@ -179,27 +185,8 @@ public class RouteParametersFragment extends BaseSettingsFragment {
|
|||
screen.addPreference(preferRouting);
|
||||
}
|
||||
if (reliefFactorParameters.size() > 0) {
|
||||
String defaultTitle = Algorithms.capitalizeFirstLetterAndLowercase(RELIEF_SMOOTHNESS_FACTOR.replace('_', ' '));
|
||||
String title = SettingsBaseActivity.getRoutingStringPropertyName(app, RELIEF_SMOOTHNESS_FACTOR, defaultTitle);
|
||||
|
||||
Object[] entryValues = new Object[reliefFactorParameters.size()];
|
||||
String[] entries = new String[entryValues.length];
|
||||
|
||||
String selectedParameterId = null;
|
||||
for (int i = 0; i < reliefFactorParameters.size(); i++) {
|
||||
GeneralRouter.RoutingParameter parameter = reliefFactorParameters.get(i);
|
||||
entryValues[i] = parameter.getId();
|
||||
entries[i] = SettingsNavigationActivity.getRoutinParameterTitle(app, parameter);
|
||||
if (SettingsNavigationActivity.isRoutingParameterSelected(settings, am, parameter)) {
|
||||
selectedParameterId = parameter.getId();
|
||||
}
|
||||
}
|
||||
|
||||
ListPreferenceEx reliefFactorRouting = createListPreferenceEx(RELIEF_SMOOTHNESS_FACTOR, entries, entryValues, title, R.layout.preference_with_descr);
|
||||
reliefFactorRouting.setPersistent(false);
|
||||
reliefFactorRouting.setValue(selectedParameterId);
|
||||
ListPreferenceEx reliefFactorRouting = createRoutingBooleanListPreference(RELIEF_SMOOTHNESS_FACTOR, reliefFactorParameters);
|
||||
reliefFactorRouting.setDescription(R.string.relief_smoothness_factor_descr);
|
||||
reliefFactorRouting.setIconSpaceReserved(true);
|
||||
|
||||
screen.addPreference(reliefFactorRouting);
|
||||
}
|
||||
|
@ -243,23 +230,49 @@ public class RouteParametersFragment extends BaseSettingsFragment {
|
|||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||
String key = preference.getKey();
|
||||
|
||||
if (RELIEF_SMOOTHNESS_FACTOR.equals(key)) {
|
||||
if (newValue instanceof String) {
|
||||
if ((RELIEF_SMOOTHNESS_FACTOR.equals(key) || DRIVING_STYLE.equals(key)) && newValue instanceof String) {
|
||||
String selectedParameterId = (String) newValue;
|
||||
for (GeneralRouter.RoutingParameter parameter : reliefFactorParameters) {
|
||||
List<GeneralRouter.RoutingParameter> routingParameters = DRIVING_STYLE.equals(key) ? drivingStyleParameters : reliefFactorParameters;
|
||||
for (GeneralRouter.RoutingParameter parameter : routingParameters) {
|
||||
String parameterId = parameter.getId();
|
||||
SettingsNavigationActivity.setRoutingParameterSelected(settings, getSelectedAppMode(), parameterId, parameter.getDefaultBoolean(), parameterId.equals(selectedParameterId));
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
return super.onPreferenceChange(preference, newValue);
|
||||
}
|
||||
|
||||
private ListPreferenceEx createRoutingBooleanListPreference(String groupKey, List<GeneralRouter.RoutingParameter> routingParameters) {
|
||||
String defaultTitle = Algorithms.capitalizeFirstLetterAndLowercase(groupKey.replace('_', ' '));
|
||||
String title = SettingsBaseActivity.getRoutingStringPropertyName(app, groupKey, defaultTitle);
|
||||
ApplicationMode am = settings.getApplicationMode();
|
||||
|
||||
Object[] entryValues = new Object[routingParameters.size()];
|
||||
String[] entries = new String[entryValues.length];
|
||||
|
||||
String selectedParameterId = null;
|
||||
for (int i = 0; i < routingParameters.size(); i++) {
|
||||
GeneralRouter.RoutingParameter parameter = routingParameters.get(i);
|
||||
entryValues[i] = parameter.getId();
|
||||
entries[i] = SettingsNavigationActivity.getRoutinParameterTitle(app, parameter);
|
||||
if (SettingsNavigationActivity.isRoutingParameterSelected(settings, am, parameter)) {
|
||||
selectedParameterId = parameter.getId();
|
||||
}
|
||||
}
|
||||
|
||||
ListPreferenceEx routingListPref = createListPreferenceEx(groupKey, entries, entryValues, title, R.layout.preference_with_descr);
|
||||
routingListPref.setPersistent(false);
|
||||
routingListPref.setValue(selectedParameterId);
|
||||
routingListPref.setIcon(getRoutingPrefIcon(groupKey));
|
||||
|
||||
return routingListPref;
|
||||
}
|
||||
|
||||
private void clearParameters() {
|
||||
avoidParameters.clear();
|
||||
preferParameters.clear();
|
||||
drivingStyleParameters.clear();
|
||||
reliefFactorParameters.clear();
|
||||
otherRoutingParameters.clear();
|
||||
}
|
||||
|
@ -268,8 +281,12 @@ public class RouteParametersFragment extends BaseSettingsFragment {
|
|||
switch (prefId) {
|
||||
case GeneralRouter.ALLOW_PRIVATE:
|
||||
return getIcon(R.drawable.ic_action_private_access);
|
||||
case GeneralRouter.USE_SHORTEST_WAY:
|
||||
return getContentIcon(R.drawable.ic_action_fuel);
|
||||
case AVOID_ROUTING_PARAMETER_PREFIX:
|
||||
return getContentIcon(R.drawable.ic_action_alert);
|
||||
case DRIVING_STYLE:
|
||||
return getContentIcon(R.drawable.ic_action_bicycle_dark);
|
||||
case "fast_route_mode":
|
||||
return getIcon(R.drawable.ic_action_fastest_route);
|
||||
case "enable_time_conditional_routing":
|
||||
|
|
|
@ -399,10 +399,10 @@ public class OsmandMapTileView implements IMapDownloaderCallback {
|
|||
return getZoom() > LOWEST_ZOOM_TO_ROTATE;
|
||||
}
|
||||
|
||||
public void setRotate(float rotate) {
|
||||
public void setRotate(float rotate, boolean force) {
|
||||
if (isMapRotateEnabled()) {
|
||||
float diff = MapUtils.unifyRotationDiff(rotate, getRotate());
|
||||
if (Math.abs(diff) > 5) { // check smallest rotation
|
||||
if (Math.abs(diff) > 5 || force) { // check smallest rotation
|
||||
animatedDraggingThread.startRotate(rotate);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -38,8 +38,8 @@ import net.osmand.plus.R;
|
|||
import net.osmand.plus.activities.MapActivity;
|
||||
import net.osmand.plus.poi.PoiUIFilter;
|
||||
import net.osmand.plus.render.RenderingIcons;
|
||||
import net.osmand.plus.routing.RoutingHelper;
|
||||
import net.osmand.plus.routing.IRouteInformationListener;
|
||||
import net.osmand.plus.routing.RoutingHelper;
|
||||
import net.osmand.plus.views.MapTextLayer.MapTextProvider;
|
||||
import net.osmand.util.Algorithms;
|
||||
|
||||
|
@ -185,7 +185,6 @@ public class POIMapLayer extends OsmandMapLayer implements ContextMenuLayer.ICon
|
|||
mapTextLayer = view.getLayerByClass(MapTextLayer.class);
|
||||
}
|
||||
|
||||
|
||||
public int getRadiusPoi(RotatedTileBox tb) {
|
||||
int r;
|
||||
final double zoom = tb.getZoom();
|
||||
|
@ -200,6 +199,7 @@ public class POIMapLayer extends OsmandMapLayer implements ContextMenuLayer.ICon
|
|||
} else {
|
||||
r = 18;
|
||||
}
|
||||
|
||||
return (int) (r * view.getScaleCoefficient());
|
||||
}
|
||||
|
||||
|
@ -405,8 +405,13 @@ public class POIMapLayer extends OsmandMapLayer implements ContextMenuLayer.ICon
|
|||
}
|
||||
|
||||
@Override
|
||||
public int getTextShift(Amenity o, RotatedTileBox rb) {
|
||||
return getRadiusPoi(rb);
|
||||
public int getTextShift(Amenity amenity, RotatedTileBox rb) {
|
||||
int radiusPoi = getRadiusPoi(rb);
|
||||
if (isPresentInFullObjects(amenity.getLocation())) {
|
||||
radiusPoi += poiBackground.getHeight() / 2 - poiBackgroundSmall.getHeight() / 2;
|
||||
}
|
||||
|
||||
return radiusPoi;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -64,6 +64,7 @@ public class RulerControlLayer extends OsmandMapLayer {
|
|||
private QuadPoint cacheCenter;
|
||||
private float cacheMapDensity;
|
||||
private OsmandSettings.OsmandPreference<Float> mapDensity;
|
||||
private OsmandSettings.MetricsConstants cacheMetricSystem;
|
||||
private int cacheIntZoom;
|
||||
private double cacheTileX;
|
||||
private double cacheTileY;
|
||||
|
@ -127,7 +128,8 @@ public class RulerControlLayer extends OsmandMapLayer {
|
|||
public void initLayer(final OsmandMapTileView view) {
|
||||
app = mapActivity.getMyApplication();
|
||||
this.view = view;
|
||||
mapDensity = mapActivity.getMyApplication().getSettings().MAP_DENSITY;
|
||||
mapDensity = app.getSettings().MAP_DENSITY;
|
||||
cacheMetricSystem = app.getSettings().METRIC_SYSTEM.get();
|
||||
cacheMapDensity = mapDensity.get();
|
||||
cacheDistances = new ArrayList<>();
|
||||
cacheCenter = new QuadPoint();
|
||||
|
@ -443,10 +445,13 @@ public class RulerControlLayer extends OsmandMapLayer {
|
|||
updateCenter(tb, center);
|
||||
}
|
||||
|
||||
boolean move = tb.getZoom() != cacheIntZoom || Math.abs(tb.getCenterTileX() - cacheTileX) > 1 ||
|
||||
Math.abs(tb.getCenterTileY() - cacheTileY) > 1 || mapDensity.get() != cacheMapDensity;
|
||||
OsmandSettings.MetricsConstants currentMetricSystem = app.getSettings().METRIC_SYSTEM.get();
|
||||
boolean updateCache = tb.getZoom() != cacheIntZoom || Math.abs(tb.getCenterTileX() - cacheTileX) > 1
|
||||
|| Math.abs(tb.getCenterTileY() - cacheTileY) > 1 || mapDensity.get() != cacheMapDensity
|
||||
|| cacheMetricSystem != currentMetricSystem;
|
||||
|
||||
if (!tb.isZoomAnimated() && move) {
|
||||
if (!tb.isZoomAnimated() && updateCache) {
|
||||
cacheMetricSystem = currentMetricSystem;
|
||||
cacheIntZoom = tb.getZoom();
|
||||
cacheTileX = tb.getCenterTileX();
|
||||
cacheTileY = tb.getCenterTileY();
|
||||
|
|
|
@ -92,8 +92,9 @@ public class WikivoyageArticleDialogFragment extends WikiArticleBaseDialogFragme
|
|||
|
||||
setupToolbar((Toolbar) mainView.findViewById(R.id.toolbar));
|
||||
|
||||
int appBarTextColor = nightMode ? R.color.wikivoyage_app_bar_text_dark : R.color.wikivoyage_app_bar_text_light;
|
||||
articleToolbarText = (TextView) mainView.findViewById(R.id.article_toolbar_text);
|
||||
articleToolbarText.setTextColor(ContextCompat.getColor(getContext(), R.color.text_color_primary_dark));
|
||||
articleToolbarText.setTextColor(ContextCompat.getColor(getContext(), appBarTextColor));
|
||||
ColorStateList selectedLangColorStateList = AndroidUtils.createPressedColorStateList(
|
||||
getContext(), nightMode,
|
||||
R.color.icon_color_default_light, R.color.wikivoyage_active_light,
|
||||
|
|