Merge branch 'master' of https://github.com/osmandapp/Osmand
This commit is contained in:
commit
76fe221d9c
74 changed files with 2073 additions and 619 deletions
BIN
OsmAnd/res/drawable-hdpi/map_pin_context_menu.png
Normal file
BIN
OsmAnd/res/drawable-hdpi/map_pin_context_menu.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.9 KiB |
BIN
OsmAnd/res/drawable-mdpi/map_pin_context_menu.png
Normal file
BIN
OsmAnd/res/drawable-mdpi/map_pin_context_menu.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.9 KiB |
BIN
OsmAnd/res/drawable-xhdpi/map_pin_context_menu.png
Normal file
BIN
OsmAnd/res/drawable-xhdpi/map_pin_context_menu.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.7 KiB |
BIN
OsmAnd/res/drawable-xxhdpi/map_pin_context_menu.png
Normal file
BIN
OsmAnd/res/drawable-xxhdpi/map_pin_context_menu.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 6.7 KiB |
12
OsmAnd/res/drawable/bg_map_context_menu_dark.xml
Normal file
12
OsmAnd/res/drawable/bg_map_context_menu_dark.xml
Normal file
|
@ -0,0 +1,12 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item>
|
||||
<nine-patch android:src="@drawable/bottom_shadow" />
|
||||
</item>
|
||||
<item>
|
||||
<shape>
|
||||
<solid
|
||||
android:color="@color/bg_color_dark" />
|
||||
</shape>
|
||||
</item>
|
||||
</layer-list>
|
12
OsmAnd/res/drawable/bg_map_context_menu_light.xml
Normal file
12
OsmAnd/res/drawable/bg_map_context_menu_light.xml
Normal file
|
@ -0,0 +1,12 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item>
|
||||
<nine-patch android:src="@drawable/bottom_shadow" />
|
||||
</item>
|
||||
<item>
|
||||
<shape>
|
||||
<solid
|
||||
android:color="@color/bg_color_light" />
|
||||
</shape>
|
||||
</item>
|
||||
</layer-list>
|
|
@ -4,6 +4,7 @@
|
|||
xmlns:osmand="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:theme="?attr/new_app_theme">
|
||||
|
||||
<LinearLayout
|
||||
|
@ -32,7 +33,7 @@
|
|||
android:layout_marginLeft="16dp"
|
||||
android:layout_marginRight="16dp"
|
||||
android:text="@string/tag_poi_name"
|
||||
android:textColor="@color/dashboard_black"
|
||||
android:textColor="?android:attr/textColorPrimary"
|
||||
android:textSize="@dimen/default_desc_text_size"
|
||||
osmand:typeface="@string/font_roboto_regular"/>
|
||||
|
||||
|
@ -47,9 +48,10 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="16dp"
|
||||
android:layout_marginRight="16dp"
|
||||
android:textColor="@color/dashboard_black"
|
||||
android:textColor="?android:attr/textColorPrimary"
|
||||
android:textSize="@dimen/default_desc_text_size"
|
||||
osmand:typeface="@string/font_roboto_medium"/>
|
||||
osmand:typeface="@string/font_roboto_medium"
|
||||
tools:text="poi name"/>
|
||||
</LinearLayout>
|
||||
|
||||
<View
|
||||
|
@ -69,7 +71,7 @@
|
|||
android:layout_marginLeft="16dp"
|
||||
android:layout_marginRight="16dp"
|
||||
android:text="@string/tag_poi_amenity"
|
||||
android:textColor="@color/dashboard_black"
|
||||
android:textColor="?android:attr/textColorPrimary"
|
||||
android:textSize="@dimen/default_desc_text_size"
|
||||
osmand:typeface="@string/font_roboto_regular"/>
|
||||
|
||||
|
@ -84,9 +86,10 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="16dp"
|
||||
android:layout_marginRight="16dp"
|
||||
android:textColor="@color/dashboard_black"
|
||||
android:textColor="?android:attr/textColorPrimary"
|
||||
android:textSize="@dimen/default_desc_text_size"
|
||||
osmand:typeface="@string/font_roboto_medium"/>
|
||||
osmand:typeface="@string/font_roboto_medium"
|
||||
tools:text="landmark"/>
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
|
||||
|
|
|
@ -25,14 +25,13 @@
|
|||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="0"
|
||||
android:background="@android:color/white"
|
||||
android:background="?attr/bg_map_context_menu"
|
||||
android:orientation="vertical">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/context_menu_top_view"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@android:color/white"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<LinearLayout
|
||||
|
@ -43,19 +42,20 @@
|
|||
|
||||
<ImageView
|
||||
android:id="@+id/context_menu_icon_view"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:layout_marginStart="14dp"
|
||||
android:layout_marginLeft="14dp"
|
||||
android:tint="@color/color_unknown"
|
||||
android:scaleType="center"
|
||||
android:layout_marginStart="12dp"
|
||||
android:layout_marginLeft="12dp"
|
||||
android:src="@drawable/ic_action_building_number"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:layout_marginTop="16dp"
|
||||
android:layout_marginBottom="16dp"
|
||||
android:orientation="vertical">
|
||||
|
@ -68,6 +68,7 @@
|
|||
android:layout_marginRight="12dp"
|
||||
android:text="@string/search_address_building"
|
||||
android:textSize="@dimen/default_list_text_size_large"
|
||||
android:textColor="?android:textColorPrimary"
|
||||
android:textStyle="bold"/>
|
||||
|
||||
<TextView
|
||||
|
@ -78,26 +79,42 @@
|
|||
android:layout_marginRight="12dp"
|
||||
android:layout_marginTop="3dp"
|
||||
android:text="@string/other_location"
|
||||
android:textColor="@color/secondary_text_disabled_material_light"
|
||||
android:textSize="@dimen/default_list_text_size"/>
|
||||
android:textColor="?android:textColorSecondary"
|
||||
android:textSize="@dimen/default_desc_text_size"/>
|
||||
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/context_menu_close_btn_layout"
|
||||
android:orientation="horizontal"
|
||||
android:layout_width="32dp"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/context_menu_close_btn_view"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="top"
|
||||
android:layout_marginTop="12dp"
|
||||
android:scaleType="center"
|
||||
android:src="@drawable/ic_action_remove_dark"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1px"
|
||||
android:background="#c9c9c9"/>
|
||||
android:layout_height="1dp"
|
||||
android:background="?attr/dashboard_divider"/>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/context_menu_buttons"
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="64dp"
|
||||
android:layout_gravity="bottom"
|
||||
android:background="@android:color/white">
|
||||
android:layout_gravity="bottom">
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/context_menu_route_button"
|
||||
|
@ -107,13 +124,12 @@
|
|||
android:layout_weight="1"
|
||||
android:scaleType="center"
|
||||
android:background="?attr/dashboard_button"
|
||||
android:src="@drawable/map_directions"
|
||||
android:tint="@color/actionbar_dark_color"/>
|
||||
android:src="@drawable/map_directions"/>
|
||||
|
||||
<View
|
||||
android:layout_width="1px"
|
||||
android:layout_height="match_parent"
|
||||
android:background="#c9c9c9"/>
|
||||
android:layout_width="1dp"
|
||||
android:background="?attr/dashboard_divider"/>
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/context_menu_fav_button"
|
||||
|
@ -123,13 +139,12 @@
|
|||
android:layout_weight="1"
|
||||
android:scaleType="center"
|
||||
android:background="?attr/dashboard_button"
|
||||
android:src="@drawable/ic_action_fav_dark"
|
||||
android:tint="@color/actionbar_dark_color"/>
|
||||
android:src="@drawable/ic_action_fav_dark"/>
|
||||
|
||||
<View
|
||||
android:layout_width="1px"
|
||||
android:layout_height="match_parent"
|
||||
android:background="#c9c9c9"/>
|
||||
android:layout_width="1dp"
|
||||
android:background="?attr/dashboard_divider"/>
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/context_menu_share_button"
|
||||
|
@ -139,13 +154,12 @@
|
|||
android:layout_weight="1"
|
||||
android:scaleType="center"
|
||||
android:background="?attr/dashboard_button"
|
||||
android:src="@drawable/abc_ic_menu_share_mtrl_alpha"
|
||||
android:tint="@color/actionbar_dark_color"/>
|
||||
android:src="@drawable/abc_ic_menu_share_mtrl_alpha"/>
|
||||
|
||||
<View
|
||||
android:layout_width="1px"
|
||||
android:layout_height="match_parent"
|
||||
android:background="#c9c9c9"/>
|
||||
android:layout_width="1dp"
|
||||
android:background="?attr/dashboard_divider"/>
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/context_menu_more_button"
|
||||
|
@ -155,10 +169,24 @@
|
|||
android:layout_weight="1"
|
||||
android:scaleType="center"
|
||||
android:background="?attr/dashboard_button"
|
||||
android:src="@drawable/ic_action_core_overflow_dark"
|
||||
android:tint="@color/actionbar_dark_color"/>
|
||||
android:src="@drawable/ic_action_core_overflow_dark"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/context_menu_bottom_view"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1dp"
|
||||
android:background="?attr/dashboard_divider"/>
|
||||
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
|
@ -5,46 +5,52 @@
|
|||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:layout_marginLeft="5dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="wrap_content"
|
||||
android:text="@string/osb_comment_dialog_message" />
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="5dp"
|
||||
android:text="@string/osb_comment_dialog_message"/>
|
||||
|
||||
<EditText
|
||||
android:id="@+id/messageEditText"
|
||||
android:minLines="1"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="5dp"
|
||||
android:layout_marginRight="5dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="fill_parent"
|
||||
android:inputType="textMultiLine" />
|
||||
android:inputType="textMultiLine"
|
||||
android:minLines="1"/>
|
||||
|
||||
<CheckBox
|
||||
android:id="@+id/closeChangeSetCheckBox"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="5dp"
|
||||
android:text="@string/close_changeset"/>
|
||||
|
||||
<TextView
|
||||
android:layout_marginLeft="5dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="wrap_content"
|
||||
android:text="@string/user_name" />
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="5dp"
|
||||
android:text="@string/user_name"/>
|
||||
|
||||
<EditText
|
||||
android:id="@+id/userNameEditText"
|
||||
android:layout_marginLeft="5dp"
|
||||
android:layout_marginRight="5dp"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="fill_parent" />
|
||||
android:layout_marginLeft="5dp"
|
||||
android:layout_marginRight="5dp"/>
|
||||
|
||||
|
||||
<TextView
|
||||
android:layout_marginLeft="5dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="wrap_content"
|
||||
android:text="@string/user_password" />
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="5dp"
|
||||
android:text="@string/user_password"/>
|
||||
|
||||
<EditText
|
||||
android:id="@+id/passwordEditText"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="5dp"
|
||||
android:layout_marginRight="5dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="fill_parent"
|
||||
android:inputType="textPassword" />
|
||||
android:inputType="textPassword"/>
|
||||
</LinearLayout>
|
||||
|
|
|
@ -2084,4 +2084,8 @@
|
|||
<string name="av_locations">Месцазнаходжаньні</string>
|
||||
<string name="number_of_rows_in_dash">Колькасьць радкоў на галоўным экране %1$s</string>
|
||||
<string name="tag_poi_amenity">грамадзкі аб\'ект</string>
|
||||
</resources>
|
||||
<string name="poi_action_delete">выдаліць</string>
|
||||
<string name="working_days">Працоўныя дні</string>
|
||||
<string name="recent_places">Нядаўнія месцы</string>
|
||||
<string name="favourites">Упадабанае</string>
|
||||
</resources>
|
||||
|
|
|
@ -1139,4 +1139,9 @@
|
|||
<string name="poi_denomination_maronite">Maronita</string>
|
||||
<string name="poi_denomination_mahayana">Budisme mahayana</string>
|
||||
|
||||
<string name="poi_landfill_waste_nuclear">Residus radioactius</string>
|
||||
<string name="poi_brownfield">Camp per rehabilitar</string>
|
||||
<string name="poi_start_date">Data d\'inici</string>
|
||||
<string name="poi_wheelchair">Cadira de rodes</string>
|
||||
|
||||
</resources>
|
||||
|
|
|
@ -1151,4 +1151,28 @@
|
|||
<string name="poi_denomination_united">United Church of Christ</string>
|
||||
<string name="poi_denomination_uniting">Uniting kirken</string>
|
||||
<string name="poi_denomination_scientist">Kristen Videnskab</string>
|
||||
<string name="poi_landfill_waste_nuclear">Atomaffald</string>
|
||||
<string name="poi_start_date">Startdato</string>
|
||||
<string name="poi_wheelchair">Kørestol</string>
|
||||
|
||||
<string name="poi_content_silage">Ensilage (indhold)</string>
|
||||
<string name="poi_content_water">Vand (indhold)</string>
|
||||
<string name="poi_content_slurry">Gylle (indhold)</string>
|
||||
<string name="poi_content_oil">Olie (indhold)</string>
|
||||
<string name="poi_content_fuel">Brændstof (indhold)</string>
|
||||
<string name="poi_content_manure">Gødning (indhold)</string>
|
||||
<string name="poi_content_wine">Vin (indhold)</string>
|
||||
<string name="poi_content_sewage">Spildevand (indhold)</string>
|
||||
<string name="poi_content_gas">Gas (indhold)</string>
|
||||
<string name="poi_content_biomass">Biomasse (indhold)</string>
|
||||
<string name="poi_content_wastewater">Afløbsvand (indhold)</string>
|
||||
<string name="poi_content_crop">Afgrøde (indhold)</string>
|
||||
<string name="poi_content_fodder">Foder (indhold)</string>
|
||||
<string name="poi_content_beer">Øl (indhold)</string>
|
||||
<string name="poi_content_salt">Salt (indhold)</string>
|
||||
<string name="poi_content_grain">Korn (indhold)</string>
|
||||
|
||||
<string name="poi_bunker_silo">Plansilo</string>
|
||||
<string name="poi_brownfield">Forladt industrigrund</string>
|
||||
<string name="poi_greenfield">Byggemodning</string>
|
||||
</resources>
|
||||
|
|
|
@ -2124,4 +2124,8 @@
|
|||
<string name="poi_dialog_poi_type">IP type</string>
|
||||
<string name="number_of_rows_in_dash">Antal rækker %1$s</string>
|
||||
<string name="please_specify_poi_type">Angiv IP type.</string>
|
||||
</resources>
|
||||
<string name="working_days">Arbejdsdage</string>
|
||||
<string name="recent_places">Seneste steder</string>
|
||||
<string name="favourites">Favoritter</string>
|
||||
<string name="poi_action_delete">slet</string>
|
||||
</resources>
|
||||
|
|
|
@ -72,7 +72,7 @@
|
|||
<string name="poi_boutique">Boutique de moda</string>
|
||||
<string name="poi_carpet">Alfombras</string>
|
||||
<string name="poi_charity">Negocio benéfico</string>
|
||||
<string name="poi_chemist">Perfumería</string>
|
||||
<string name="poi_chemist">Higiene personal</string>
|
||||
<string name="poi_clothes">Negocio de ropa</string>
|
||||
<string name="poi_child_clothes">Ropa infantil</string>
|
||||
<string name="poi_shoes">Zapatería</string>
|
||||
|
@ -92,7 +92,7 @@
|
|||
<string name="poi_gas">Gas líquido</string>
|
||||
<string name="poi_general">Pulpería</string>
|
||||
<string name="poi_gift">Regalería</string>
|
||||
<string name="poi_glaziery">Cristalería</string>
|
||||
<string name="poi_glaziery">Vidriería</string>
|
||||
<string name="poi_hardware">Ferretería</string>
|
||||
<string name="poi_hearing_aids">Audífonos</string>
|
||||
<string name="poi_herbalist">Herboristería</string>
|
||||
|
@ -861,7 +861,7 @@
|
|||
<string name="poi_furnace">Artículos de calefacción</string>
|
||||
<string name="poi_garden_furniture">Almacén de jardinería</string>
|
||||
<string name="poi_leather">Marroquinería</string>
|
||||
<string name="poi_tyres">Gomería</string>
|
||||
<string name="poi_tyres">Neumáticos</string>
|
||||
<string name="poi_watches">Relojería (watches)</string>
|
||||
<string name="poi_games">Juegos</string>
|
||||
<string name="poi_model">Modelos a escala</string>
|
||||
|
@ -1133,4 +1133,28 @@
|
|||
<string name="poi_denomination_uniting">Uniendo</string>
|
||||
<string name="poi_denomination_wesleyan">Wesleyan</string>
|
||||
<string name="poi_denomination_shingon_shu">Budismo shingon</string>
|
||||
<string name="poi_landfill_waste_nuclear">Desperdicios nucleares</string>
|
||||
<string name="poi_start_date">Fecha de inicio</string>
|
||||
<string name="poi_wheelchair">Silla de rueda</string>
|
||||
|
||||
<string name="poi_content_silage">Ensilado (contenido)</string>
|
||||
<string name="poi_content_water">Agua (contenido)</string>
|
||||
<string name="poi_content_oil">Petróleo (contenido)</string>
|
||||
<string name="poi_content_fuel">Combustible (contenido)</string>
|
||||
<string name="poi_content_manure">Estiércol (contenido)</string>
|
||||
<string name="poi_content_wine">Vino (contenido)</string>
|
||||
<string name="poi_content_sewage">Agua residual (contenido)</string>
|
||||
<string name="poi_content_gas">Gas (contenido)</string>
|
||||
<string name="poi_content_biomass">Biomasa (contenido)</string>
|
||||
<string name="poi_content_wastewater">Agua residual (contenido)</string>
|
||||
<string name="poi_content_crop">Cultivo (contenido)</string>
|
||||
<string name="poi_content_fodder">Forraje (contenido)</string>
|
||||
<string name="poi_content_beer">Cerveza (contenido)</string>
|
||||
<string name="poi_content_salt">Sal (contenido)</string>
|
||||
<string name="poi_content_grain">Cereal (contenido)</string>
|
||||
|
||||
<string name="poi_bunker_silo">Silo bunker</string>
|
||||
<string name="poi_content_slurry">Mezcla (contenido)</string>
|
||||
<string name="poi_brownfield">Terreno abandonado</string>
|
||||
<string name="poi_greenfield">Suelo urbanizable</string>
|
||||
</resources>
|
||||
|
|
|
@ -512,19 +512,19 @@
|
|||
<string name="fav_point_dublicate">Nombre de punto favorito duplicado</string>
|
||||
<string name="fav_point_dublicate_message">El nombre del favorito elegido ya está en uso, se cambió a %1$s para evitar duplicación.</string>
|
||||
<string name="text_size_descr">Define el tamaño del texto en el mapa.</string>
|
||||
<string name="tip_navigation_t">"Para recibir indicaciones hasta un lugar, o bien mantén pulsado sobre el mismo en el mapa, (luego pulsa sobre su descripción y selecciona \'Indicaciones a\'), o selecciona \'Indicaciones a\' luego de pulsar sobre una entrada en una lista de resultados de búsqueda o de favoritos.
|
||||
<string name="tip_navigation_t">"Para recibir indicaciones hasta un lugar, o bien mantén pulsado sobre el mismo en el mapa, (luego pulsa sobre su descripción y selecciona \'Ir hasta\'), o selecciona \'Ir hasta\' luego de pulsar sobre una entrada en una lista de resultados de búsqueda o de favoritos.
|
||||
\n\nEl destino se marca en el mapa como una bandera y OsmAnd muestra la distancia y la dirección al mismo (triángulo naranja).
|
||||
\n\nPuede elegir \'Iniciar Navegación\', lo que implica que OsmAnd te guiará, te dará indicaciones vocales (si están activas), etc. O puede elegir \'Mostrar ruta\', y solamente mostrará la ruta, sin indicaciones ni reajustes según se mueva.
|
||||
\n\nPara mostrar una ruta al destino desde cualquier punto diferente de la posición actual, selecciónelo posteriormente en el mapa y pulsa \'Indicaciones desde\'.
|
||||
\n\nSi usa \'Indicaciones desde\' y luego \'Iniciar Navegación\', OsmAnd cambiará a su ubicación actual tan pronto como la conozca (por lo que se puede usar para iniciar la ruta antes de conocer la ubicación real). Por otro lado, \'Indicaciones desde\' y \'Mostrar ruta\' no realizará actualizaciones de la ruta mostrada. "</string>
|
||||
<string name="tip_search_t">"Puede buscar lugares directamente en el mapa vía \'Usar ubicación\'→\'Buscar cerca de aquí\', o mediante la pantalla de búsqueda vía \'Menú\'→\'Buscar\'.
|
||||
\n\nPara mostrar una ruta al destino desde cualquier punto diferente de la posición actual, selecciónelo posteriormente en el mapa y pulsa \'Ir desde\'.
|
||||
\n\nSi usa \'Ir desde\' y luego \'Iniciar Navegación\', OsmAnd cambiará a su ubicación actual tan pronto como la conozca (por lo que se puede usar para iniciar la ruta antes de conocer la ubicación real). Por otro lado, \'Ir desde\' y \'Mostrar ruta\' no realizará actualizaciones de la ruta mostrada. "</string>
|
||||
<string name="tip_search_t">"Puede buscar lugares directamente en el mapa vía \'Usar ubicación\'→\'Buscar cerca\', o mediante la pantalla de búsqueda vía \'Menú\'→\'Buscar\'.
|
||||
\n\nLa pantalla de búsqueda proporciona plantillas para buscar:
|
||||
\n\t* por dirección
|
||||
\n\t* por coordenadas
|
||||
\n\t* como PDI (por tipo o por nombre)
|
||||
\n\t* por su historial de búsquedas
|
||||
\n\t* o en sus favoritos predefinidos.
|
||||
\n\nPara los puntos encontrados, se ofrece un menú contextual o barra de acciones con opciones como \'Indicaciones a\' o \'Mostrar en mapa\', etc. "</string>
|
||||
\n\nPara los puntos encontrados, se ofrece un menú contextual o barra de acciones con opciones como \'Ir hasta\' o \'Mostrar en mapa\', etc. "</string>
|
||||
<string name="background_service_is_enabled_question">El modo reposo, aún está funcionando. ¿Quiere interrumpirlo también?</string>
|
||||
<string name="sleep_mode_stop_dialog">¿Interrumpir el modo reposo del GPS?</string>
|
||||
<string name="save_global_track_interval_descr">Elige el intervalo de registro para la grabación de trazas general (activar mediante el control de grabación GPX en el mapa)</string>
|
||||
|
@ -712,8 +712,8 @@
|
|||
<string name="clear_intermediate_points">Quitar puntos intermedios</string>
|
||||
<string name="keep_intermediate_points">Mantener puntos intermedios</string>
|
||||
<string name="new_directions_point_dialog">Ya definió puntos intermedios.</string>
|
||||
<string name="context_menu_item_directions_to">Indicaciones a</string>
|
||||
<string name="context_menu_item_directions_from">Indicaciones desde</string>
|
||||
<string name="context_menu_item_directions_to">Ir hasta</string>
|
||||
<string name="context_menu_item_directions_from">Ir desde</string>
|
||||
<string name="route_descr_map_location">"Mapa: "</string>
|
||||
<string name="route_descr_lat_lon">Lat %1$.3f, Lon %2$.3f</string>
|
||||
<string name="route_descr_current_location">Posición actual</string>
|
||||
|
@ -1196,7 +1196,7 @@
|
|||
<string name="vector_maps_may_display_faster_on_some_devices">Los mapas vectoriales pueden mostrarse más rápido. Puede no funcionar correctamente en algunos dispositivos.</string>
|
||||
<string name="play_commands_of_currently_selected_voice">Reproduce indicaciones de voz elegidas</string>
|
||||
<string name="native_rendering">Dibujo nativo</string>
|
||||
<string name="test_voice_prompts">Probar indicaciones de voz</string>
|
||||
<string name="test_voice_prompts">Probar avisos de voz</string>
|
||||
<string name="switch_to_raster_map_to_see">No existe mapa vectorial sin conexión presente en esta ubicación. Puede descargar uno en Opciones (Gestionar mapas), o cambiar al mapa en línea (para esto, activar el complemento de mapas en línea).</string>
|
||||
<string name="tip_recent_changes_0_7_2_t">"Cambios en 0.7.2 :
|
||||
\n\t- Dibujo nativo para todos los dispositivos
|
||||
|
@ -1313,8 +1313,8 @@
|
|||
<string name="index_name_oceania">Oceanía</string>
|
||||
<string name="index_name_other">Mapas mundiales y temáticos</string>
|
||||
<string name="index_name_wiki">Wikipedia mundial</string>
|
||||
<string name="index_name_voice">Indicaciones de voz (grabado, funciones limitadas)</string>
|
||||
<string name="index_name_tts_voice">Indicaciones de voz (sintetizado TTS, preferido)</string>
|
||||
<string name="index_name_voice">Avisos de voz (grabado, funciones limitadas)</string>
|
||||
<string name="index_name_tts_voice">Avisos de voz (sintetizado TTS, preferido)</string>
|
||||
<string name="amenity_type_osmwiki">Wikipedia (sin conexión)</string>
|
||||
<string name="amenity_type_user_defined">Definido por el usuario</string>
|
||||
<string name="fav_export_confirmation">Ya existe un archivo anterior con favoritos exportados. ¿Quiere sustituirlo?</string>
|
||||
|
@ -1409,7 +1409,7 @@
|
|||
<string name="search_position_current_location">Ubicación actual…</string>
|
||||
<string name="search_position_map_view">Vista actual del mapa</string>
|
||||
<string name="select_search_position">Origen:</string>
|
||||
<string name="context_menu_item_search">Buscar cerca de aquí</string>
|
||||
<string name="context_menu_item_search">Buscar cerca</string>
|
||||
<string name="tip_recent_changes_0_6_7_t">"Cambios en 0.6.7 :
|
||||
\n\t- Gestor de datos descargados (descargar, borrar, activar/desactivar datos descargados directamente en OsmAnd)
|
||||
\n\t- Puntos y grupos favoritos (categorizar, borrar, gestionar favoritos)
|
||||
|
@ -1634,7 +1634,7 @@
|
|||
<string name="transport_searching_route">Resultados de transporte ({0} al destino):</string>
|
||||
<string name="transport_search_again">Reiniciar búsqueda de transporte</string>
|
||||
<string name="voice">Voz grabada</string>
|
||||
<string name="voices">Indicaciones de voz</string>
|
||||
<string name="voices">Avisos de voz</string>
|
||||
<string name="no_vector_map_loaded">Los mapas vectoriales no están cargados</string>
|
||||
<string name="map_route_by_gpx">Navegar usando GPX</string>
|
||||
<string name="gpx_files_not_found">Sin archivos GPX en la carpeta de trazas</string>
|
||||
|
@ -2044,4 +2044,8 @@
|
|||
<string name="poi_dialog_poi_type">Tipo de PDI</string>
|
||||
<string name="number_of_rows_in_dash">Número de filas en el panel %1$s</string>
|
||||
<string name="please_specify_poi_type">Especifica el tipo de PDI.</string>
|
||||
</resources>
|
||||
<string name="working_days">Días laborales</string>
|
||||
<string name="recent_places">Lugares recientes</string>
|
||||
<string name="favourites">Favoritos</string>
|
||||
<string name="poi_action_delete">borrar</string>
|
||||
</resources>
|
||||
|
|
|
@ -1136,4 +1136,28 @@
|
|||
<string name="poi_denomination_shaktism">Shaktismo</string>
|
||||
<string name="poi_denomination_wesleyan">Wesleyan</string>
|
||||
<string name="poi_denomination_shingon_shu">Budismo Shingon</string>
|
||||
<string name="poi_landfill_waste_nuclear">Residuos nucleares</string>
|
||||
<string name="poi_bunker_silo">Silo bunker</string>
|
||||
<string name="poi_start_date">Fecha de inicio</string>
|
||||
<string name="poi_wheelchair">Silla de rueda</string>
|
||||
|
||||
<string name="poi_content_silage">Ensilado (contenido)</string>
|
||||
<string name="poi_content_water">Agua (contenido)</string>
|
||||
<string name="poi_content_slurry">Mezcla (contenido)</string>
|
||||
<string name="poi_content_oil">Aceite (contenido)</string>
|
||||
<string name="poi_content_fuel">Combustible (contenido)</string>
|
||||
<string name="poi_content_manure">Estiércol (contenido)</string>
|
||||
<string name="poi_content_wine">Vino (contenido)</string>
|
||||
<string name="poi_content_sewage">Aguas residuales (contenido)</string>
|
||||
<string name="poi_content_gas">Gas (contenido)</string>
|
||||
<string name="poi_content_biomass">Biomasa (contenido)</string>
|
||||
<string name="poi_content_wastewater">Aguas residuales (contenido)</string>
|
||||
<string name="poi_content_crop">Cultivo (contenido)</string>
|
||||
<string name="poi_content_fodder">Forraje (contenido)</string>
|
||||
<string name="poi_content_beer">Cerveza (contenido)</string>
|
||||
<string name="poi_content_salt">Sal (contenido)</string>
|
||||
<string name="poi_content_grain">Cereal (contenido)</string>
|
||||
|
||||
<string name="poi_brownfield">Terreno abandonado</string>
|
||||
<string name="poi_greenfield">Suelo urbanizable</string>
|
||||
</resources>
|
||||
|
|
|
@ -2182,4 +2182,7 @@
|
|||
<string name="poi_dialog_poi_type">Tipo de PDI</string>
|
||||
<string name="number_of_rows_in_dash">Número de filas en el panel %1$s</string>
|
||||
<string name="please_specify_poi_type">Especifica tipo de PDI.</string>
|
||||
<string name="working_days">Días laborales</string>
|
||||
<string name="recent_places">Lugares recientes</string>
|
||||
<string name="favourites">Favoritos</string>
|
||||
</resources>
|
||||
|
|
|
@ -2139,4 +2139,10 @@ Afghanistan, Albanie, Algérie, Allemagne, Andorre, Angola, Anguilla, Antigua-et
|
|||
<string name="add_opening_hours">Ajouter des heures d\'ouverture</string>
|
||||
<string name="poi_dialog_poi_type">Type de PI</string>
|
||||
<string name="av_locations">Positions</string>
|
||||
</resources>
|
||||
<string name="poi_action_delete">Supprimer</string>
|
||||
<string name="contact_info">Contact</string>
|
||||
<string name="please_specify_poi_type">Merci d\'indiquer un type de PI.</string>
|
||||
<string name="working_days">Jours travaillés</string>
|
||||
<string name="recent_places">Emplacements récents</string>
|
||||
<string name="favourites">Favoris</string>
|
||||
</resources>
|
||||
|
|
|
@ -382,4 +382,399 @@
|
|||
<string name="poi_anime">Tenda de anime</string>
|
||||
<string name="poi_bag">Tenda de bolsos</string>
|
||||
<string name="poi_hardware">Ferraxería</string>
|
||||
<string name="poi_shop">Tenda</string>
|
||||
<string name="poi_shop_food">Tenda de comida</string>
|
||||
<string name="poi_emergency">Urxencias</string>
|
||||
<string name="poi_transportation">Transporte</string>
|
||||
<string name="poi_road_obstacle">Obstáculo na estrada</string>
|
||||
<string name="poi_filling_station">Gasolineira</string>
|
||||
<string name="poi_personal_transport">Transporte privado</string>
|
||||
<string name="poi_public_transport">Transporte público</string>
|
||||
<string name="poi_air_transport">Transporte aéreo</string>
|
||||
<string name="poi_water_transport">Transporte acuático</string>
|
||||
<string name="poi_bicycle_transport">Transporte en bicicleta</string>
|
||||
<string name="poi_aerialway_transport">Transporte polo aire</string>
|
||||
<string name="poi_node_networks">Nodos de rede de sendeiros/bicicletas</string>
|
||||
<string name="poi_hiking_routes">Rutas de sendeirismo</string>
|
||||
<string name="poi_power">Enerxía</string>
|
||||
<string name="poi_communication">Comunicación</string>
|
||||
<string name="poi_education">Educación</string>
|
||||
<string name="poi_administrative">Administración</string>
|
||||
<string name="poi_healthcare">Sanidade</string>
|
||||
<string name="poi_office">Oficina</string>
|
||||
<string name="poi_sport">Deporte</string>
|
||||
<string name="poi_tourism">Turismo</string>
|
||||
<string name="poi_sightseeing">Visitas turísticas</string>
|
||||
<string name="poi_internet_access">Acceso a Internet</string>
|
||||
<string name="poi_entertainment">Lecer</string>
|
||||
<string name="poi_club">Club</string>
|
||||
<string name="poi_sustenance">Comida</string>
|
||||
<string name="poi_cafe_and_restaurant">Café e restaurante</string>
|
||||
<string name="poi_finance">Finanzas</string>
|
||||
<string name="poi_natural">Natural</string>
|
||||
<string name="poi_seamark">Náutico</string>
|
||||
<string name="poi_osmwiki">Wikipedia</string>
|
||||
<string name="poi_user_defined_other">Definido polo usuario</string>
|
||||
|
||||
<string name="poi_cheese">Tenda de queixos</string>
|
||||
<string name="poi_chocolate">Chocolataría</string>
|
||||
<string name="poi_coffee">Cafetaría</string>
|
||||
<string name="poi_pasta">Tenda de pasta</string>
|
||||
<string name="poi_camera">Cámaras e lentes</string>
|
||||
<string name="poi_fashion">Tenda de moda</string>
|
||||
<string name="poi_music">Tenda de música</string>
|
||||
<string name="poi_optician">Optometría</string>
|
||||
<string name="poi_tyres">Tenda de pneumáticos</string>
|
||||
<string name="poi_watches">Reloxaría</string>
|
||||
<string name="poi_games">Xogos</string>
|
||||
<string name="poi_model">Modelismo</string>
|
||||
<string name="poi_trophy">Trofeos, medallas</string>
|
||||
<string name="poi_video_games">Videoxogos</string>
|
||||
<string name="poi_pyrotechnics">Pirotecnia</string>
|
||||
<string name="poi_weapons">Armaría</string>
|
||||
<string name="poi_perfumery">Perfumaría</string>
|
||||
|
||||
<string name="poi_toll_booth">Portaxe</string>
|
||||
<string name="poi_fuel_diesel">Diesel</string>
|
||||
<string name="poi_fuel_biodiesel">Biodiesel</string>
|
||||
<string name="poi_fuel_octane_80">Octano 80</string>
|
||||
<string name="poi_fuel_octane_91">Octano 91</string>
|
||||
<string name="poi_fuel_octane_92">Octano 92</string>
|
||||
<string name="poi_fuel_octane_95">Octano 95</string>
|
||||
<string name="poi_fuel_octane_98">Octano 98</string>
|
||||
<string name="poi_fuel_octane_100">Octano 100</string>
|
||||
<string name="poi_fuel_ethanol">Etanol</string>
|
||||
<string name="poi_fuel_methanol">Metanol</string>
|
||||
<string name="poi_fuel_lh2">Hidróxeno líquido</string>
|
||||
<string name="poi_fuel_electricity">Electricidade</string>
|
||||
<string name="poi_bus_stop">Parada de autobús</string>
|
||||
<string name="poi_tram_stop">Parada de tranvía</string>
|
||||
<string name="poi_bus_station">Estación de autobuses</string>
|
||||
<string name="poi_railway_station">Estación ferroviaria</string>
|
||||
<string name="poi_ferry_terminal">Terminal de ferris</string>
|
||||
<string name="poi_observation_tower">Atalaia</string>
|
||||
<string name="poi_bell_tower">Campanario</string>
|
||||
<string name="poi_recycling_centre">Centro</string>
|
||||
<string name="poi_recycling_glass">Vidro</string>
|
||||
<string name="poi_recycling_container">Contedor</string>
|
||||
<string name="poi_recycling_paper">Papel</string>
|
||||
<string name="poi_recycling_clothes">Roupa</string>
|
||||
<string name="poi_recycling_cans">Latas</string>
|
||||
<string name="poi_recycling_glass_bottles">Botellas de vidro</string>
|
||||
<string name="poi_recycling_plastic">Plástico</string>
|
||||
<string name="poi_recycling_batteries">Baterías</string>
|
||||
<string name="poi_recycling_plastic_bottles">Botellas de plástico</string>
|
||||
<string name="poi_recycling_green_waste">Orgánico</string>
|
||||
<string name="poi_recycling_waste">Residuos (bolsas negras)</string>
|
||||
<string name="poi_recycling_newspaper">Prensa</string>
|
||||
<string name="poi_recycling_cartons">Cartóns</string>
|
||||
<string name="poi_recycling_cardboard">Cartón</string>
|
||||
<string name="poi_recycling_magazines">Revistas</string>
|
||||
<string name="poi_recycling_wood">Madeira</string>
|
||||
<string name="poi_recycling_books">Libros</string>
|
||||
<string name="poi_recycling_shoes">Zapatos</string>
|
||||
<string name="poi_recycling_aluminium">Aluminio</string>
|
||||
<string name="poi_recycling_organic">Orgánico</string>
|
||||
<string name="poi_recycling_beverage_cartons">Cartóns de bebidas</string>
|
||||
<string name="poi_recycling_fluorescent_tubes">Tubos fluorescentes</string>
|
||||
<string name="poi_recycling_metal">Metal</string>
|
||||
<string name="poi_recycling_cooking_oil">Aceite de cociña</string>
|
||||
<string name="poi_recycling_engine_oil">Aceite de motor</string>
|
||||
<string name="poi_recycling_plastic_bags">Bolsas de plástico</string>
|
||||
<string name="poi_recycling_mobile_phones">Teléfonos móbiles</string>
|
||||
<string name="poi_recycling_computers">Computadores</string>
|
||||
<string name="poi_recycling_tyres">Pneumáticos</string>
|
||||
<string name="poi_recycling_tv_monitor">TV, monitores</string>
|
||||
<string name="poi_recycling_tetrapak">Tetrapak</string>
|
||||
<string name="poi_recycling_cds">CD</string>
|
||||
<string name="poi_recycling_bottles">Botellas</string>
|
||||
<string name="poi_recycling_cork">Rolla</string>
|
||||
<string name="poi_recycling_printer_cartridges">Cartuchos de impresora</string>
|
||||
<string name="poi_recycling_paint">Pintura</string>
|
||||
<string name="poi_recycling_compost">Compost</string>
|
||||
<string name="poi_recycling_christmas_trees">Árbores de Nadal</string>
|
||||
<string name="poi_recycling_furniture">Mobiliario</string>
|
||||
<string name="poi_recycling_diapers">Cueiros</string>
|
||||
<string name="poi_recycling_car_batteries">Baterías de automoción</string>
|
||||
<string name="poi_recycling_cars">Coches</string>
|
||||
<string name="poi_recycling_bicycles">Bicicletas</string>
|
||||
|
||||
<string name="poi_landfill_waste_nuclear">Residuos nucleares</string>
|
||||
<string name="poi_industrial">Zona industrial</string>
|
||||
<string name="poi_man_made">Artificial</string>
|
||||
<string name="poi_water_supply">Subministro de auga</string>
|
||||
<string name="poi_emergency_access_point">Punto de acceso de emerxencia</string>
|
||||
|
||||
<string name="poi_recycling_fridge_and_freezer">Neveira e conxelador</string>
|
||||
<string name="poi_meadow">Lameiro</string>
|
||||
<string name="poi_canal">Canle</string>
|
||||
<string name="poi_pier">Peirao</string>
|
||||
<string name="poi_tower">Torre</string>
|
||||
<string name="poi_radar">Radar</string>
|
||||
<string name="poi_crane">Guindastre</string>
|
||||
<string name="poi_reservoir">Encoro</string>
|
||||
<string name="poi_silo">Silo</string>
|
||||
<string name="poi_storage_tank">Tanque de almacenamento</string>
|
||||
|
||||
<string name="poi_country">País</string>
|
||||
<string name="poi_capital">Capital</string>
|
||||
<string name="poi_isolated_dwelling">Vivenda aillada</string>
|
||||
<string name="poi_residential">Zona residencial</string>
|
||||
|
||||
<string name="poi_speech_therapist">Foniatra</string>
|
||||
<string name="poi_political_party">Sede política</string>
|
||||
<string name="poi_notary">Notaría</string>
|
||||
<string name="poi_running_track">Pista de atletismo</string>
|
||||
<string name="poi_bicycle_track">Ciclovía</string>
|
||||
<string name="poi_athletics">Atletismo</string>
|
||||
<string name="poi_canoe">Canoa</string>
|
||||
<string name="poi_scuba_diving">Mergullo con botella</string>
|
||||
<string name="poi_equestrian">Equitación</string>
|
||||
<string name="poi_field_hockey">Campo de hóquei</string>
|
||||
<string name="poi_racquet">Raqueta</string>
|
||||
<string name="poi_sailing">Vela</string>
|
||||
<string name="poi_skating">Patinaxe</string>
|
||||
<string name="poi_memorial">Monumento</string>
|
||||
<string name="poi_historic_cannon">Canón histórico</string>
|
||||
<string name="poi_rune_stone">Pedra con runas</string>
|
||||
<string name="poi_historic_ship">Embarcación histórica</string>
|
||||
<string name="poi_historic_mine">Mina histórica</string>
|
||||
<string name="poi_aquarium">Acuario</string>
|
||||
<string name="poi_tourism_attraction">Atracción turística</string>
|
||||
<string name="poi_attraction_carousel">Carrusel</string>
|
||||
<string name="poi_attraction_maze">Labirinto</string>
|
||||
<string name="poi_attraction_roller_coaster">Montaña rusa</string>
|
||||
<string name="poi_attraction_slide">Tobogán</string>
|
||||
<string name="poi_apartment">Apartamento</string>
|
||||
<string name="poi_religion_voodoo">Vodú</string>
|
||||
<string name="poi_religion_spiritualist">Espiritualista</string>
|
||||
<string name="poi_religion_bahai">Bahai</string>
|
||||
<string name="poi_religion_scientologist">Ciencioloxía</string>
|
||||
<string name="poi_religion_pagan">Pagá</string>
|
||||
<string name="poi_religion_tenrikyo">Tenrikyo</string>
|
||||
<string name="poi_denomination_catholic">Católica</string>
|
||||
<string name="poi_denomination_baptist">Baptista</string>
|
||||
<string name="poi_denomination_roman_catholic">Católica romana</string>
|
||||
<string name="poi_denomination_orthodox">Ortodoxa</string>
|
||||
<string name="poi_denomination_lutheran">Luterana</string>
|
||||
<string name="poi_denomination_sunni">Sunnita</string>
|
||||
<string name="poi_denomination_protestant">Protestante</string>
|
||||
<string name="poi_denomination_methodist">Metodista</string>
|
||||
<string name="poi_denomination_anglican">Anglicana</string>
|
||||
<string name="poi_denomination_presbyterian">Presbiteriana</string>
|
||||
<string name="poi_denomination_evangelical">Evanxélica</string>
|
||||
<string name="poi_denomination_russian_orthodox">Ortodoxa rusa</string>
|
||||
<string name="poi_denomination_pentecostal">Pentecostal</string>
|
||||
<string name="poi_denomination_mormon">Mormona</string>
|
||||
<string name="poi_denomination_jehovahs_witness">Testemuña de Xehová</string>
|
||||
<string name="poi_denomination_greek_orthodox">Ortodoxa grega</string>
|
||||
<string name="poi_denomination_reformed">Reformada</string>
|
||||
<string name="poi_denomination_seventh_day_adventist">Adventista do Sétimo Día</string>
|
||||
<string name="poi_denomination_new_apostolic">Nova apostólica</string>
|
||||
<string name="poi_denomination_church_of_england">Igrexa de Inglaterra</string>
|
||||
<string name="poi_denomination_episcopal">Epicospaliana</string>
|
||||
<string name="poi_denomination_shia">Shiita</string>
|
||||
<string name="poi_denomination_greek_catholic">Católica grega</string>
|
||||
<string name="poi_denomination_tibetan">Tibetá</string>
|
||||
<string name="poi_denomination_united_reformed">Reformada unida</string>
|
||||
<string name="poi_denomination_church_of_scotland">Igrexa de Escocia</string>
|
||||
<string name="poi_denomination_salvation_army">Exército de Salvación</string>
|
||||
<string name="poi_denomination_mennonite">Mennonita</string>
|
||||
<string name="poi_denomination_quaker">Quáquera</string>
|
||||
<string name="poi_denomination_bulgarian_orthodox">Ortodoxa búlgara</string>
|
||||
<string name="poi_denomination_assemblies_of_god">Asembleas de Deus</string>
|
||||
<string name="poi_denomination_adventist">Adventista</string>
|
||||
<string name="poi_denomination_nazarene">Nazarena</string>
|
||||
<string name="poi_denomination_united_methodist">Metodista unida</string>
|
||||
<string name="poi_denomination_congregational">Congregacionista</string>
|
||||
<string name="poi_denomination_old_believers">Antigos Crentes</string>
|
||||
<string name="poi_denomination_serbian_orthodox">Ortodoxa serbia</string>
|
||||
<string name="poi_denomination_spiritist">Espiritista</string>
|
||||
<string name="poi_denomination_armenian_apostolic">Apostólica armenia</string>
|
||||
<string name="poi_denomination_apostolic">Apostólica</string>
|
||||
<string name="poi_denomination_church_of_christ">Igrexa de Cristo</string>
|
||||
<string name="poi_denomination_georgian_orthodox">Ortodoxa xeorxiana</string>
|
||||
<string name="poi_denomination_scientist">Científica</string>
|
||||
<string name="poi_denomination_romanian_orthodox">Ortodoxa romanesa</string>
|
||||
<string name="poi_denomination_unitarian">Unitaria</string>
|
||||
<string name="poi_denomination_coptic_orthodox">Ortodoxa copta</string>
|
||||
<string name="poi_denomination_wesleyan">Wesleyana</string>
|
||||
<string name="poi_denomination_maronite">Maronita</string>
|
||||
<string name="poi_internet_access_public">Acceso á Internet: público</string>
|
||||
<string name="poi_internet_access_wired">Acceso á Internet: con fíos</string>
|
||||
<string name="poi_internet_access_service">Acceso á Internet: servizo</string>
|
||||
|
||||
<string name="poi_internet_access_terminal">Acceso á Internet: terminal</string>
|
||||
<string name="poi_internet_access_wlan">Acceso á Internet: rede local sen fíos</string>
|
||||
<string name="poi_denomination_mahayana">Mahayana</string>
|
||||
|
||||
<string name="poi_viewpoint">Miradoiro</string>
|
||||
<string name="poi_locality">Localidade</string>
|
||||
<string name="poi_rest_area">Área de descanso</string>
|
||||
|
||||
<string name="poi_sport_motor">Deporte de motor</string>
|
||||
<string name="poi_boundary_stone">Marco</string>
|
||||
<string name="poi_general_tourist_attraction_yes">Atracción turística xeral</string>
|
||||
<string name="poi_attraction_amusement_ride">Atracción de feira</string>
|
||||
<string name="poi_lodging">Aloxamento</string>
|
||||
<string name="poi_guest_house">Pensión</string>
|
||||
<string name="poi_religion_zoroastrian">Zoroastriana</string>
|
||||
|
||||
<string name="poi_denomination_united">Unida</string>
|
||||
<string name="poi_denomination_iglesia_ni_cristo">Iglesia ni cristo</string>
|
||||
<string name="poi_denomination_latter_day_saints">Santos dos Últimos Días</string>
|
||||
<string name="poi_denomination_united_church_of_christ">Igrexa Unida de Cristo</string>
|
||||
<string name="poi_tomb">Tumba</string>
|
||||
<string name="poi_piste">Pista</string>
|
||||
<string name="poi_piste_downhill">Pista de esquí</string>
|
||||
<string name="poi_piste_nordic">Pista de esquí nórdico</string>
|
||||
<string name="poi_ski_rental">Alugueiro de esquís</string>
|
||||
|
||||
<string name="poi_gallery">Galería de arte</string>
|
||||
<string name="poi_stripclub">Club de striptease</string>
|
||||
<string name="poi_ski_resort">Estación de esquí</string>
|
||||
<string name="poi_dog_park">Parque para cans</string>
|
||||
<string name="poi_harbour">Porto</string>
|
||||
<string name="poi_bench">Banco</string>
|
||||
<string name="poi_craft_agricultural_engines">Motores agrícolas</string>
|
||||
<string name="poi_craft_beekeeper">Apicultor</string>
|
||||
<string name="poi_craft_optician">Óptico</string>
|
||||
<string name="poi_shower">Ducha</string>
|
||||
<string name="poi_smoking_area">Zona de fumadores</string>
|
||||
<string name="poi_stone">Pelouro notábel</string>
|
||||
<string name="poi_valley">Val</string>
|
||||
<string name="poi_water">Auga</string>
|
||||
<string name="poi_wood">Bosque</string>
|
||||
<string name="poi_tree">Árbore</string>
|
||||
<string name="poi_beacon">Baliza</string>
|
||||
<string name="poi_dyke">Dique</string>
|
||||
<string name="poi_mooring">Amarre</string>
|
||||
<string name="poi_military_landuse">Zona militar</string>
|
||||
<string name="poi_military_nuclear_explosion_site">Lugar de explosión nuclear</string>
|
||||
|
||||
<string name="poi_wiki_place">Wikipedia</string>
|
||||
<string name="poi_wiki_lang_en">Wiki en inglés</string>
|
||||
<string name="poi_wiki_lang_ar">Wiki en árabe</string>
|
||||
<string name="poi_wiki_lang_be">Wiki en bielorruso</string>
|
||||
<string name="poi_wiki_lang_bg">Wiki en búlgaro</string>
|
||||
<string name="poi_wiki_lang_ca">Wiki en catalán</string>
|
||||
<string name="poi_wiki_lang_ceb">Wiki en cebuano</string>
|
||||
<string name="poi_wiki_lang_cs">Wiki en checo</string>
|
||||
<string name="poi_wiki_lang_da">Wiki en dinamarqués</string>
|
||||
<string name="poi_wiki_lang_de">Wiki en alemán</string>
|
||||
<string name="poi_wiki_lang_el">Wiki en grego</string>
|
||||
<string name="poi_wiki_lang_et">Wiki en estoniano</string>
|
||||
<string name="poi_wiki_lang_es">Wiki en español</string>
|
||||
<string name="poi_wiki_lang_fi">Wiki en finlandés</string>
|
||||
<string name="poi_wiki_lang_fr">Wiki en francés</string>
|
||||
<string name="poi_wiki_lang_gl">Wiki en galego</string>
|
||||
<string name="poi_wiki_lang_he">Wiki en hebreo</string>
|
||||
<string name="poi_wiki_lang_hi">Wiki en hindi</string>
|
||||
<string name="poi_wiki_lang_hr">Wiki en croata</string>
|
||||
<string name="poi_wiki_lang_ht">Wiki en haitiano</string>
|
||||
<string name="poi_wiki_lang_hu">Wiki en húngaro</string>
|
||||
<string name="poi_wiki_lang_id">Wiki en indonesio</string>
|
||||
<string name="poi_wiki_lang_it">Wiki en italiano</string>
|
||||
<string name="poi_wiki_lang_ja">Wiki en xaponés</string>
|
||||
<string name="poi_wiki_lang_ko">Wiki en coreano</string>
|
||||
<string name="poi_wiki_lang_lt">Wiki en lituano</string>
|
||||
<string name="poi_wiki_lang_lv">Wiki en letón</string>
|
||||
<string name="poi_wiki_lang_ms">Wiki en malaio</string>
|
||||
<string name="poi_wiki_lang_new">Wiki en newar</string>
|
||||
<string name="poi_wiki_lang_nl">Wiki en holandés</string>
|
||||
<string name="poi_wiki_lang_nn">Wiki en noruegués nynorsk</string>
|
||||
<string name="poi_wiki_lang_no">Wiki en noruegués</string>
|
||||
<string name="poi_wiki_lang_pl">Wiki en polaco</string>
|
||||
<string name="poi_wiki_lang_pt">Wiki en portugués</string>
|
||||
<string name="poi_wiki_lang_ro">Wiki en romanés</string>
|
||||
<string name="poi_wiki_lang_ru">Wiki en ruso</string>
|
||||
<string name="poi_wiki_lang_sk">Wiki en eslovaco</string>
|
||||
<string name="poi_wiki_lang_sl">Wiki en esloveno</string>
|
||||
<string name="poi_wiki_lang_sr">Wiki en serbio</string>
|
||||
<string name="poi_wiki_lang_sv">Wiki en sueco</string>
|
||||
<string name="poi_wiki_lang_sw">Wiki en suahili</string>
|
||||
<string name="poi_wiki_lang_te">Wiki en telugu</string>
|
||||
<string name="poi_wiki_lang_th">Wiki en tailandés</string>
|
||||
<string name="poi_wiki_lang_tr">Wiki en turco</string>
|
||||
<string name="poi_wiki_lang_uk">Wiki en ucraíno</string>
|
||||
<string name="poi_wiki_lang_vi">Wiki en vietnamita</string>
|
||||
<string name="poi_wiki_lang_vo">Wiki en volapük</string>
|
||||
<string name="poi_wiki_lang_zh">Wiki en chinés</string>
|
||||
|
||||
<string name="poi_barrier_entrance">Entrada</string>
|
||||
<string name="poi_entrance_main">Entrada principal</string>
|
||||
<string name="poi_entrance">Entrada</string>
|
||||
<string name="poi_entrance_exit">Saída</string>
|
||||
|
||||
<string name="poi_opening_hours">Horario de apertura</string>
|
||||
<string name="poi_description">Descrición</string>
|
||||
<string name="poi_phone">Teléfono</string>
|
||||
<string name="poi_website">Sitio web</string>
|
||||
<string name="poi_email">Correo electrónico</string>
|
||||
<string name="poi_fax">Fax</string>
|
||||
<string name="poi_facebook">Facebook</string>
|
||||
<string name="poi_twitter">Twitter</string>
|
||||
<string name="poi_skype">Skype</string>
|
||||
<string name="poi_youtube">Youtube</string>
|
||||
<string name="poi_instagram">Instagram</string>
|
||||
<string name="poi_vk">Vkontakte</string>
|
||||
<string name="poi_google_plus">Google+</string>
|
||||
<string name="poi_mobile">Móbil</string>
|
||||
<string name="poi_maxheight">Altura máxima</string>
|
||||
<string name="poi_maxweight">Peso máximo</string>
|
||||
<string name="poi_abandoned">Abandonado</string>
|
||||
<string name="poi_abandoned_poi">Obxecto abandonado</string>
|
||||
<string name="poi_disused">En desuso</string>
|
||||
|
||||
<string name="poi_brand">Marca</string>
|
||||
<string name="poi_drinking_water_yes">Auga potábel</string>
|
||||
<string name="poi_drinking_water_no">Auga non potábel</string>
|
||||
<string name="poi_supervised_yes">Vixiado</string>
|
||||
<string name="poi_supervised_no">Non vixiado</string>
|
||||
<string name="poi_seasonal_yes">Temporal</string>
|
||||
<string name="poi_seasonal_no">Non temporal</string>
|
||||
<string name="poi_seasonal_dry_season">Estación seca</string>
|
||||
<string name="poi_seasonal_wet_season">Estación húmida</string>
|
||||
<string name="poi_seasonal_spring">Primavera</string>
|
||||
<string name="poi_seasonal_summer">Verán</string>
|
||||
<string name="poi_seasonal_autumn">Outono</string>
|
||||
<string name="poi_seasonal_winter">Inverno</string>
|
||||
<string name="poi_crossing_traffic_signals">Con sinais de tráfico</string>
|
||||
<string name="poi_crossing_uncontrolled">Sen control</string>
|
||||
<string name="poi_crossing_unmarked">Sen marcas</string>
|
||||
<string name="poi_start_date">Data de inicio</string>
|
||||
<string name="poi_wheelchair">Cadeira de rodas</string>
|
||||
|
||||
<string name="poi_access_private">Acceso privado</string>
|
||||
<string name="poi_access_no">Sen acceso</string>
|
||||
<string name="poi_access_permissive">Acceso permisivo</string>
|
||||
<string name="poi_access_customers">Acceso para clientes</string>
|
||||
<string name="poi_access_delivery">Acceso para entregas</string>
|
||||
<string name="poi_access_agricultural">Acceso agrícola</string>
|
||||
|
||||
<string name="poi_content_water">Auga (contido)</string>
|
||||
<string name="poi_content_fuel">Combustíbel (contido)</string>
|
||||
<string name="poi_content_wine">Viño (contido)</string>
|
||||
<string name="poi_content_biomass">Biomasa (contido)</string>
|
||||
<string name="poi_content_crop">Colleita (contido)</string>
|
||||
<string name="poi_content_fodder">Forraxe (contido)</string>
|
||||
<string name="poi_content_beer">Cervexa (contido)</string>
|
||||
<string name="poi_content_salt">Sal (contido)</string>
|
||||
<string name="poi_scuba_diving_shop">Tenda de materiais de mergullo con botella</string>
|
||||
<string name="poi_car_repair">Taller de automoción</string>
|
||||
<string name="poi_recycling_low_energy_bulbs">Lámpadas de baixo consumo</string>
|
||||
<string name="poi_club_ethnic">Club étnico</string>
|
||||
<string name="poi_club_nature">Club da natureza</string>
|
||||
<string name="poi_club_shooting">Club de tiro</string>
|
||||
<string name="poi_club_tourism">Club turista</string>
|
||||
<string name="poi_collection_times">Horario de recollida</string>
|
||||
<string name="poi_building">Edificio</string>
|
||||
|
||||
<string name="poi_content_grain">Gran (contido)</string>
|
||||
|
||||
<string name="poi_animal_shelter_dog">Canceira</string>
|
||||
<string name="poi_animal_shelter_cat">Refuxio para gatos</string>
|
||||
<string name="poi_animal_shelter_dog_cat">Refuxio para cans e gatos</string>
|
||||
<string name="poi_animal_shelter_bird">Refuxio para aves</string>
|
||||
|
||||
</resources>
|
||||
|
|
|
@ -442,7 +442,7 @@
|
|||
<string name="context_menu_item_directions_from">Indicacións desde</string>
|
||||
<string name="route_descr_map_location">"Mapa: "</string>
|
||||
<string name="route_descr_lat_lon">Lat %1$.3f, lon %2$.3f</string>
|
||||
<string name="route_descr_current_location">Posición actaul</string>
|
||||
<string name="route_descr_current_location">Posición actual</string>
|
||||
<string name="route_to">Para:</string>
|
||||
<string name="route_via">Pasando por:</string>
|
||||
<string name="route_from">Desde:</string>
|
||||
|
@ -606,7 +606,7 @@
|
|||
<string name="shared_string_control_start">Comezar</string>
|
||||
<string name="map_widget_av_notes">Notas de son/vídeo</string>
|
||||
<string name="osmand_srtm_short_description_80_chars">Engadido de OsmAnd para curvas de nivel sen conexión</string>
|
||||
<string name="osmand_srtm_long_description_1000_chars">Este engadido fornece curvas de nivel que poden ser mostradas nos mapas sen conexión de OsmAnd. Os datos globais (entre os 70 graos norte e os 70 graos sul) están baseados nas medicións de SRTM (Misión Topográfica con Radar da Lanzadeira Espacial) e ASTER (Radiómetro Espacial Avanzado de Emisión Térmica e Reflexión) e instrumentos de imaxes a bordo do Terra, o satélite máis importante do Sistema de Observación Terrestre da NASA. ASTER é un esforzo cooperativo entre a NASA, o Ministerio de Economía do Xapón, Comercio e Industria (METI) e Sistemas Espaciais Xaponeses (J-spaceystems).</string>
|
||||
<string name="osmand_srtm_long_description_1000_chars">"Este engadido fornece unha capa de sobreposición de curvas de nivel e unha capa de sombras de altitude (relevo) que poden ser mostradas nos mapas sen conexión de OsmAnd. Esta funcionalidade pode ser moi apreciada por atletas, camiñantes, sendeiristas e calqueira que teña interese pola estrutura de relevo da paisaxe.\n\nOs datos globais (entre os 70 graos norte e os 70 graos sul) están baseados nas medicións de SRTM (Misión Topográfica con Radar da Lanzadeira Espacial) e ASTER (Radiómetro Espacial Avanzado de Emisión Térmica e Reflexión) e instrumentos de imaxes a bordo do Terra, o satélite máis importante do Sistema de Observación Terrestre da NASA. ASTER é un esforzo cooperativo entre a NASA, o Ministerio de Economía do Xapón, Comercio e Industria (METI) e Sistemas Espaciais Xaponeses (J-spaceystems). "</string>
|
||||
<string name="map_widget_distancemeasurement">Medición de distancias</string>
|
||||
<string name="audionotes_location_not_defined">A situación que asociar coa nota aínda non foi definida. Con «Empregar a situación...» pódeselle asignar unha nota á situación indicada</string>
|
||||
|
||||
|
@ -615,8 +615,8 @@
|
|||
<string name="audionotes_plugin_name">Notas de son/vídeo</string>
|
||||
<string name="index_srtm_parts">partes</string>
|
||||
<string name="index_srtm_ele">Curvas de nivel</string>
|
||||
<string name="srtm_plugin_description">Facilita a descarga de curvas de nivel e sombreados sen conexión («Configuración» → «Xestionar os ficheiros de mapas» → «Descargar» → Seleccione o tipo de mapa que desexe).</string>
|
||||
<string name="srtm_plugin_name">Engadido de curvas de nivel</string>
|
||||
<string name="srtm_plugin_description">"Este engadido fornece unha capa de sobreposición de curvas de nivel e unha capa de sombras de altitude (relevo) que poden ser mostradas nos mapas sen conexión de OsmAnd. Esta funcionalidade pode ser moi apreciada por atletas, camiñantes, sendeiristas e calqueira que teña interese pola estrutura de relevo da paisaxe.\n\nOs datos globais (entre os 70 graos norte e os 70 graos sul) están baseados nas medicións de SRTM (Misión Topográfica con Radar da Lanzadeira Espacial) e ASTER (Radiómetro Espacial Avanzado de Emisión Térmica e Reflexión) e instrumentos de imaxes a bordo do Terra, o satélite máis importante do Sistema de Observación Terrestre da NASA. ASTER é un esforzo cooperativo entre a NASA, o Ministerio de Economía do Xapón, Comercio e Industria (METI) e Sistemas Espaciais Xaponeses (J-spaceystems). "</string>
|
||||
<string name="srtm_plugin_name">Curvas de nivel</string>
|
||||
<string name="download_select_map_types">Outros mapas</string>
|
||||
<string name="download_roads_only_item">Só as estradas</string>
|
||||
<string name="download_srtm_maps">Curvas de nivel</string>
|
||||
|
@ -767,7 +767,7 @@
|
|||
|
||||
|
||||
<string name="map_widget_parking">Aparcamento</string>
|
||||
<string name="map_widget_monitoring">Gravación de GPX</string>
|
||||
<string name="map_widget_monitoring">Rexistro de GPX</string>
|
||||
<string name="map_widget_speed">Velocidade</string>
|
||||
<string name="map_widget_distance">Destino</string>
|
||||
<string name="map_widget_altitude">Altitude</string>
|
||||
|
@ -822,7 +822,7 @@
|
|||
<string name="osmand_parking_am">AM</string>
|
||||
<string name="osmand_parking_position_name">Punto de aparcamento</string>
|
||||
<string name="osmand_parking_plugin_description">Este engadido permite almacenar a situación do coche aparcado.</string>
|
||||
<string name="osmand_parking_plugin_name">Engadido de posición de aparcamento</string>
|
||||
<string name="osmand_parking_plugin_name">Posición de aparcamento</string>
|
||||
<string name="context_menu_item_add_parking_point">Marcar como posición de aparcamento</string>
|
||||
<string name="context_menu_item_delete_parking_point">Eliminar un marcador de aparcamento</string>
|
||||
<string name="gpxup_public">Público</string>
|
||||
|
@ -865,7 +865,7 @@
|
|||
<string name="local_indexes_cat_tile">Mapas con conexión e en teselas</string>
|
||||
<string name="local_indexes_cat_map">Mapas sen conexión (vectoriais)</string>
|
||||
<string name="index_settings_descr">Descargar e xestionar ficheiros de mapas sen conexión almacenados no dispositivo</string>
|
||||
<string name="map_online_plugin_is_not_installed">Activar o engadido de mapas con conexión para seleccionar diferentes fontes de mapas</string>
|
||||
<string name="map_online_plugin_is_not_installed">Activar o engadido de mapas con conexión para seleccionar fontes de mapas diferentes</string>
|
||||
<string name="map_online_data">Mapas con conexión e en teselas</string>
|
||||
<string name="map_online_data_descr">Empregar mapas con conexión (descargar e gardar temporalmente as teselas no cartón SD)</string>
|
||||
<string name="online_map_settings">Mapas con conexión</string>
|
||||
|
@ -950,7 +950,7 @@
|
|||
<string name="right">á dereita</string>
|
||||
<string name="back_right">atrás á dereita</string>
|
||||
<string name="back">atrás</string>
|
||||
<string name="back_left">Atrás á esquerda</string>
|
||||
<string name="back_left">atrás á esquerda</string>
|
||||
<string name="left">á esquerda</string>
|
||||
<string name="front_left">adiante á esquerda</string>
|
||||
<string name="oclock">en punto</string>
|
||||
|
@ -1015,7 +1015,7 @@
|
|||
\n\t- Other small features "</string>
|
||||
<string name="free_version_message">Esta versión gratuíta do OsmAnd está limitada a %1$s descargas e non admite artigos da Wikipedia sen conexión.</string>
|
||||
<string name="free_version_title">Versión libre</string>
|
||||
<string name="poi_context_menu_showdescription">Mostrar a descrición dos puntos de interese (PDI)</string>
|
||||
<string name="poi_context_menu_showdescription">Mostrar a descrición do punto de interese (PDI)</string>
|
||||
<string name="index_name_north_america">Norteamérica</string>
|
||||
<string name="index_name_us">Norteamérica - Estados Unidos</string>
|
||||
<string name="index_name_central_america">América Central</string>
|
||||
|
@ -1492,7 +1492,7 @@
|
|||
<string name="searching">A buscar…</string>
|
||||
<string name="searching_address">A buscar o enderezo…</string>
|
||||
<string name="search_osm_nominatim">Busca con conexión empregando OSM Nominatim</string>
|
||||
<string name="hint_search_online">Número da casa, rúa, cidade</string>
|
||||
<string name="hint_search_online">Busca na rede: Número da casa, rúa, cidade</string>
|
||||
<string name="search_offline_address">Busca sen conexión</string>
|
||||
<string name="search_online_address">Busca con conexión</string>
|
||||
<string name="max_level_download_tile">Max. online zoom</string>
|
||||
|
@ -1956,4 +1956,46 @@
|
|||
<string name="please_specify_poi_type">Indique o tipo de PDI.</string>
|
||||
<string name="shared_string_deselect">Anular a selección</string>
|
||||
<string name="shared_string_deselect_all">Non seleccionar nada</string>
|
||||
<string name="osm_edit_context_menu_delete">Eliminar edición de OSM</string>
|
||||
<string name="rendering_attr_OSMMapperAssistant_name">Axudante de creación de mapas de OSM</string>
|
||||
<string name="osm_changes_added_to_local_edits">Os cambios en OSM foron engadidos ao conxunto de cambios local</string>
|
||||
<string name="osmand_parking_overdue">vencido</string>
|
||||
<string name="action_create">Creacción de acción</string>
|
||||
<string name="action_modify">Modificación de acción</string>
|
||||
<string name="action_delete">Eliminación de acción</string>
|
||||
<string name="shared_string_export">Exportar</string>
|
||||
<string name="shared_string_unexpected_error">Produciuse un erro inesperado</string>
|
||||
<string name="shared_string_action_template">Acción {0}</string>
|
||||
<string name="shared_string_collapse">Contraer</string>
|
||||
<string name="shared_string_address">Enderezo</string>
|
||||
<string name="shared_string_logoff">Pechar a sesión</string>
|
||||
<string name="rename_failed">Non foi posíbel cambiar o nome</string>
|
||||
<string name="days_behind">días de atraso</string>
|
||||
<string name="rendering_attr_pisteGrooming_name">Coidado de pistas</string>
|
||||
<string name="nautical_maps_missing">Para poder mostrar mapas náuticos hai que descargar o mapa especial sen conexión</string>
|
||||
<string name="edit_group">Editar o grupo</string>
|
||||
<string name="parking_place">Lugar de aparcamento</string>
|
||||
<string name="version_settings_descr">Descargar versións nocturnas</string>
|
||||
<string name="version_settings">Construcións (versións)</string>
|
||||
<string name="voices">Indicacións con voz</string>
|
||||
<string name="poi_action_delete">eliminar</string>
|
||||
<string name="use_fast_recalculation">Recálculo automático da ruta</string>
|
||||
<string name="failed_to_upload">Non foi posíbel enviar</string>
|
||||
<string name="opening_at">Abre ás</string>
|
||||
<string name="closing_at">Pecha ás</string>
|
||||
<string name="add_opening_hours">Engadir as horas de apertura</string>
|
||||
<string name="working_days">Días laborábeis</string>
|
||||
<string name="recent_places">Lugares recentes</string>
|
||||
<string name="favourites">Favoritos</string>
|
||||
<string name="av_locations">Lugares</string>
|
||||
<string name="rendering_value_boldOutline_name">Bordo groso</string>
|
||||
<string name="lang_nv">Navaho</string>
|
||||
<string name="disable_recording_once_app_killed_descrp">Detén o rexistro de GPX cando se mata o aplicativo (mediante apps recentes). A indicación do modo de durmir de OsmAnd desaparece da barra de notificacións de Android).</string>
|
||||
<string name="agps_info">Información de A-GPS</string>
|
||||
<string name="agps_data_last_downloaded">Datos de A-GPS descargados por última vez: %1$s</string>
|
||||
<string name="delay_to_start_navigation_descr">Indicar o tempo de agarda durante o que ficar na pantalla de planificación de rutas</string>
|
||||
<string name="delay_to_start_navigation">Iniciar a navegación paso a paso despois de…</string>
|
||||
<string name="parking_place_limited">Tempo de aparcamento limitado a</string>
|
||||
<string name="plugin_nautical_name">Vista de mapa náutico</string>
|
||||
<string name="save_track_to_gpx_globally_headline">Rexistro de pistas baixo petición</string>
|
||||
</resources>
|
||||
|
|
|
@ -2166,4 +2166,8 @@ Si consiglia di aggiungere uno o più punti intermedi per migliorarne le prestaz
|
|||
<string name="poi_dialog_poi_type">Tipo di PDI</string>
|
||||
<string name="number_of_rows_in_dash">Numero di righe del cruscotto %1$s</string>
|
||||
<string name="please_specify_poi_type">Per favore specifica il tipo si PDI.</string>
|
||||
<string name="poi_action_delete">Elimina</string>
|
||||
<string name="working_days">Giorni lavorativi</string>
|
||||
<string name="recent_places">Luoghi recenti</string>
|
||||
<string name="favourites">Preferiti</string>
|
||||
</resources>
|
||||
|
|
|
@ -2127,4 +2127,6 @@
|
|||
<string name="closing_at">Darbo pabaiga</string>
|
||||
<string name="contact_info">Kontaktinė informacija</string>
|
||||
<string name="please_specify_poi_type">Prašome nurodyti LV tipą.</string>
|
||||
</resources>
|
||||
<string name="poi_action_delete">trinti</string>
|
||||
<string name="working_days">Darbo dienos</string>
|
||||
</resources>
|
||||
|
|
|
@ -2213,4 +2213,6 @@ Afganistan, Afryka Południowa, Albania, Algieria, Andora, Angola, Anguilla, Ant
|
|||
<string name="offline_maps_and_navigation">Mapy offline\ni nawigacja</string>
|
||||
<string name="please_specify_poi_type">Proszę określić typ POI.</string>
|
||||
<string name="number_of_rows_in_dash">Ilość wierszy na ekranie głównym %1$s</string>
|
||||
<string name="description">Opis</string>
|
||||
<string name="poi_dialog_poi_type">Rodzaj POI</string>
|
||||
</resources>
|
||||
|
|
|
@ -1134,4 +1134,28 @@
|
|||
<string name="poi_denomination_mahayana">Mahayana</string>
|
||||
|
||||
<string name="poi_denomination_united">Unida</string>
|
||||
<string name="poi_landfill_waste_nuclear">Resíduos nucleares</string>
|
||||
<string name="poi_brownfield">Terreno abandonado</string>
|
||||
<string name="poi_greenfield">Terreno virgem</string>
|
||||
<string name="poi_start_date">Data de início</string>
|
||||
<string name="poi_wheelchair">Cadeirante</string>
|
||||
|
||||
<string name="poi_bunker_silo">Silo de abrigo</string>
|
||||
<string name="poi_content_silage">Silagem (conteúdo)</string>
|
||||
<string name="poi_content_water">Água (conteúdo)</string>
|
||||
<string name="poi_content_slurry">Chorume (conteúdo)</string>
|
||||
<string name="poi_content_oil">Óleo (conteúdo)</string>
|
||||
<string name="poi_content_fuel">Combustível (conteúdo)</string>
|
||||
<string name="poi_content_manure">Estrume (conteúdo)</string>
|
||||
<string name="poi_content_wine">Vinho (conteúdo)</string>
|
||||
<string name="poi_content_sewage">Esgoto (conteúdo)</string>
|
||||
<string name="poi_content_gas">Gás (conteúdo)</string>
|
||||
<string name="poi_content_biomass">Biomassa (conteúdo)</string>
|
||||
<string name="poi_content_wastewater">Águas residuais (conteúdo)</string>
|
||||
<string name="poi_content_crop">Colheita (conteúdo)</string>
|
||||
<string name="poi_content_fodder">Forragens (conteúdo)</string>
|
||||
<string name="poi_content_beer">Cerveja (conteúdo)</string>
|
||||
<string name="poi_content_salt">Sal (conteúdo)</string>
|
||||
<string name="poi_content_grain">Grão (conteúdo)</string>
|
||||
|
||||
</resources>
|
||||
|
|
|
@ -526,7 +526,7 @@
|
|||
<string name="always_center_position_on_map">Sempre centralizar a posição no mapa</string>
|
||||
<string name="voice_pref_title">Voz</string>
|
||||
<string name="misc_pref_title">Diversos</string>
|
||||
<string name="localization_pref_title">Posição</string>
|
||||
<string name="localization_pref_title">Localização</string>
|
||||
<string name="index_item_nation_addresses">endereços nacionais</string>
|
||||
<string name="index_item_world_altitude_correction">Correção de altitude mundial</string>
|
||||
<string name="index_item_world_seamarks">Marcas marítimas mundiais</string>
|
||||
|
@ -1813,4 +1813,8 @@
|
|||
<string name="number_of_rows_in_dash">Número de linhas no traço de %1$s</string>
|
||||
<string name="tag_poi_amenity">facilidade</string>
|
||||
<string name="please_specify_poi_type">Por favor, especifique tipo de POI.</string>
|
||||
</resources>
|
||||
<string name="working_days">Dias úteis</string>
|
||||
<string name="recent_places">Locais recentes</string>
|
||||
<string name="favourites">Favoritos</string>
|
||||
<string name="poi_action_delete">apagar</string>
|
||||
</resources>
|
||||
|
|
|
@ -2071,4 +2071,23 @@
|
|||
<string name="offline_maps_and_navigation">Офлайн карты\nи Навигация</string>
|
||||
<string name="building_number">Номер дома</string>
|
||||
<string name="rendering_attr_pisteGrooming_name">Тип лыжной трассы</string>
|
||||
</resources>
|
||||
<string name="download_live_updates">Автоматическое обновление</string>
|
||||
<string name="dahboard_options_dialog_title">Настройки домашней страницы</string>
|
||||
<string name="shared_string_card_was_hidden">Карточка была скрыта</string>
|
||||
<string name="commit_poi">Зафиксировать POI</string>
|
||||
<string name="tab_title_basic">Основные</string>
|
||||
<string name="tab_title_advanced">Расширенные</string>
|
||||
<string name="next_proceed">Следующий</string>
|
||||
<string name="opening_at">Открытие в</string>
|
||||
<string name="closing_at">Закрытие в</string>
|
||||
<string name="tag_poi_name">название</string>
|
||||
<string name="contact_info">Контактная информация</string>
|
||||
<string name="description">Описание</string>
|
||||
<string name="add_opening_hours">Добавить часы работы</string>
|
||||
<string name="poi_dialog_poi_type">Тип POI</string>
|
||||
<string name="number_of_rows_in_dash">Количество строк на странице %1$s</string>
|
||||
<string name="please_specify_poi_type">Пожалуйста, укажите тип POI.</string>
|
||||
<string name="rendering_value_boldOutline_name">Жирный контур</string>
|
||||
<string name="working_days">Рабочие дни</string>
|
||||
<string name="favourites">Избранное</string>
|
||||
</resources>
|
||||
|
|
|
@ -2078,4 +2078,8 @@
|
|||
<string name="tag_poi_amenity">atratzione</string>
|
||||
<string name="please_specify_poi_type">Dislinda casta de PDI.</string>
|
||||
<string name="number_of_rows_in_dash">Nùmeru de rigas in su pannellu %1$s</string>
|
||||
</resources>
|
||||
<string name="poi_action_delete">burra</string>
|
||||
<string name="working_days">Dies de traballu</string>
|
||||
<string name="recent_places">Logos reghentes</string>
|
||||
<string name="favourites">Prefèrridos</string>
|
||||
</resources>
|
||||
|
|
|
@ -903,8 +903,8 @@
|
|||
<string name="poi_remove_confirm_template">Vymazať {0} (zadajte komentár) ?</string>
|
||||
<string name="poi_remove_title">Vymazať POI</string>
|
||||
<string name="poi_remove_success">POI bol úspešne vymazaný</string>
|
||||
<string name="poi_action_add">Pridať</string>
|
||||
<string name="poi_action_change">Zmeniť</string>
|
||||
<string name="poi_action_add">pridať</string>
|
||||
<string name="poi_action_change">zmeniť</string>
|
||||
<string name="poi_action_succeded_template">Akcia: {0} úspešne ukončená.</string>
|
||||
<string name="poi_error_unexpected_template">Vyskytla sa neočakávaná chyba počas vykonávania akcie: {0}.</string>
|
||||
<string name="poi_error_io_error_template">Vyskytla sa vstupno/výstupná chyba počas vykonávania akcie: {0}.</string>
|
||||
|
@ -2278,4 +2278,8 @@ Afganistan, Albánsko, Alžírsko, Andora, Angola, Anguilla, Antigua a Barbuda,
|
|||
<string name="poi_dialog_poi_type">Typ bodu záujmu</string>
|
||||
<string name="number_of_rows_in_dash">Počet riadkov v pomlčke %1$s</string>
|
||||
<string name="please_specify_poi_type">Prosím zadajte typ bodu záujmu.</string>
|
||||
<string name="poi_action_delete">odstrániť</string>
|
||||
<string name="working_days">Pracovné dni</string>
|
||||
<string name="recent_places">História miest</string>
|
||||
<string name="favourites">Obľúbené</string>
|
||||
</resources>
|
||||
|
|
|
@ -1962,4 +1962,20 @@
|
|||
<string name="routing_attr_avoid_shuttle_train_name">Izogni se vožnji z vlakom</string>
|
||||
<string name="routing_attr_avoid_shuttle_train_description">Izogni se vožnji z vlakom</string>
|
||||
<string name="offline_maps_and_navigation">Zemljevidi za delo brez\npovezave in navigacijo</string>
|
||||
<string name="favourites">Priljubljene</string>
|
||||
<string name="av_locations_descr">Datoteka GPX z opombami</string>
|
||||
<string name="av_locations">Mesta</string>
|
||||
<string name="poi_action_delete">izbriši</string>
|
||||
<string name="tab_title_basic">Osnovno</string>
|
||||
<string name="tab_title_advanced">Napredno</string>
|
||||
<string name="tag_poi_name">ime</string>
|
||||
<string name="tag_poi_amenity">prednost</string>
|
||||
<string name="contact_info">Podatki stika</string>
|
||||
<string name="description">Opis</string>
|
||||
<string name="add_opening_hours">Dodaj odpiralni čas</string>
|
||||
<string name="poi_dialog_poi_type">Vrsta točke POI</string>
|
||||
<string name="number_of_rows_in_dash">Število vrstic v %1$s</string>
|
||||
<string name="please_specify_poi_type">Določiti je treba vrsto točke POI.</string>
|
||||
<string name="working_days">Delovni dnevi</string>
|
||||
<string name="recent_places">Nedavna mesta</string>
|
||||
</resources>
|
||||
|
|
|
@ -1988,6 +1988,10 @@
|
|||
<string name="commit_poi">Skicka in POI</string>
|
||||
<string name="tag_poi_name">namn</string>
|
||||
<string name="tag_poi_amenity">service</string>
|
||||
<string name="number_of_rows_in_dash">Antal rader i panel %1$s</string>
|
||||
<string name="number_of_rows_in_dash">Antal rader i panelen: %1$s</string>
|
||||
<string name="please_specify_poi_type">Ange typ av POI.</string>
|
||||
</resources>
|
||||
<string name="favourites">Favoriter</string>
|
||||
<string name="working_days">Arbetsdagar</string>
|
||||
<string name="recent_places">Nyliga platser</string>
|
||||
<string name="poi_action_delete">ta bort</string>
|
||||
</resources>
|
||||
|
|
|
@ -682,4 +682,357 @@
|
|||
<string name="poi_denomination_dutch_reformed">Hollanda Reformu</string>
|
||||
<string name="poi_denomination_apostolic">Apostolik</string>
|
||||
<string name="poi_denomination_reform">Reform</string>
|
||||
</resources>
|
||||
<string name="poi_denomination_latter_day_saints">İkinci gün azizleri</string>
|
||||
<string name="poi_denomination_church_of_christ">İsa kilisesi</string>
|
||||
<string name="poi_denomination_united_church_of_christ">Birleşik isa kilisesi</string>
|
||||
<string name="poi_denomination_georgian_orthodox">Gürcü ortodoks</string>
|
||||
<string name="poi_denomination_scientist">Bilim adamı</string>
|
||||
<string name="poi_denomination_romanian_orthodox">Romanya ortodoks</string>
|
||||
<string name="poi_denomination_ethiopian_orthodox_tewahedo">Etiyopya Ortodoks Habeş</string>
|
||||
<string name="poi_denomination_unitarian">Üniteryan</string>
|
||||
<string name="poi_denomination_coptic_orthodox">Koptik ortodoks</string>
|
||||
<string name="poi_denomination_wesleyan">Wesleyan</string>
|
||||
<string name="poi_denomination_shaktism">Saktism</string>
|
||||
<string name="poi_denomination_shingon_shu">Shingon shu</string>
|
||||
<string name="poi_denomination_maronite">Maronit</string>
|
||||
<string name="poi_denomination_mahayana">Mahayana</string>
|
||||
|
||||
<string name="poi_internet_access_wlan">İnternet erişimi: wlan</string>
|
||||
<string name="poi_internet_access_terminal">İnternet erişimi: terminal</string>
|
||||
<string name="poi_internet_access_wired">İnternet erişimi: kablolu</string>
|
||||
<string name="poi_internet_access_public">İnternet erişimi: halka açık</string>
|
||||
<string name="poi_internet_access_service">İnternet erişimi: hizmet</string>
|
||||
|
||||
<string name="poi_monastery">Manastır</string>
|
||||
<string name="poi_historic_monastery">Tarihi Manastır</string>
|
||||
<string name="poi_religious">Dini alan</string>
|
||||
<string name="poi_wayside_cross">Wayside çapraz</string>
|
||||
<string name="poi_wayside_shrine">Yolkenarı tapınağı</string>
|
||||
<string name="poi_information">Turistik bilgiler</string>
|
||||
<string name="poi_clock">Saat</string>
|
||||
<string name="poi_travel_agent">Seyahat acentesi</string>
|
||||
<string name="poi_viewpoint">Bakış açısı</string>
|
||||
<string name="poi_camp_site">Kamp alanı</string>
|
||||
<string name="poi_caravan_site">Karavan alanı</string>
|
||||
<string name="poi_picnic_site">Piknik alanı</string>
|
||||
<string name="poi_picnic_table">Piknik masası</string>
|
||||
<string name="poi_hot_spring">Kaplıca</string>
|
||||
<string name="poi_geyser">Sıcak su kaynağı</string>
|
||||
<string name="poi_cemetery">Mezarlık</string>
|
||||
<string name="poi_grave_yard">Mezarlık</string>
|
||||
<string name="poi_tomb">Mezar</string>
|
||||
<string name="poi_shelter">Barınak</string>
|
||||
<string name="poi_funicular">Füniküler</string>
|
||||
<string name="poi_resort">Resort</string>
|
||||
<string name="poi_hanami">Hanami</string>
|
||||
<string name="poi_wine_cellar">Şarap mahzeni</string>
|
||||
<string name="poi_winery">Şaraphane</string>
|
||||
|
||||
<string name="poi_club_art">Sanat Kulübü</string>
|
||||
<string name="poi_club_astronomy">Astronomi kulübü</string>
|
||||
<string name="poi_club_computer">Bilgisayar Kulübü</string>
|
||||
<string name="poi_club_board_games">Masa oyunları kulübü</string>
|
||||
<string name="poi_club_motorcycle">Motosiklet Kulübü</string>
|
||||
<string name="poi_club_sport">Spor Kulübü</string>
|
||||
<string name="poi_club_game">Oyun Kulübü</string>
|
||||
<string name="poi_club_automobile">Otomobil kulübü</string>
|
||||
<string name="poi_club_chess">Satranç Kulübü</string>
|
||||
<string name="poi_club_cinema">Sinema kulübü</string>
|
||||
<string name="poi_club_fan">Fan kulüp</string>
|
||||
<string name="poi_club_fishing">Balıkçılık Kulübü</string>
|
||||
<string name="poi_club_veterans">Gaziler kulübü</string>
|
||||
<string name="poi_club_linux">Linux kulübü</string>
|
||||
<string name="poi_club_theatre">Tiyatro Kulübü</string>
|
||||
<string name="poi_club_history"/>
|
||||
<string name="poi_club_music">Müzik kulübü</string>
|
||||
<string name="poi_club_ethnic">Etnik kulüb</string>
|
||||
<string name="poi_club_nature">Doğa kulübü</string>
|
||||
<string name="poi_club_photography">Fotoğrafçılık Kulübü</string>
|
||||
<string name="poi_club_hunting">Avcılık Kulübü</string>
|
||||
<string name="poi_club_shooting">Atıcılık Kulübü</string>
|
||||
<string name="poi_club_tourism">Turizm kulübü</string>
|
||||
<string name="poi_club_charity">Yardım kulübü</string>
|
||||
|
||||
<string name="poi_piste">Bakırlı</string>
|
||||
<string name="poi_piste_downhill">Yokuş aşağı pisti</string>
|
||||
<string name="poi_piste_nordic">İskandinav pisti</string>
|
||||
<string name="poi_piste_skitour">Kayak pisti</string>
|
||||
<string name="poi_piste_hike">Yürüyüş pisti</string>
|
||||
<string name="poi_piste_sleigh">Kızak pisti</string>
|
||||
<string name="poi_piste_sled">Kızak pisti</string>
|
||||
<string name="poi_piste_snow_park">Kar parkı</string>
|
||||
<string name="poi_piste_playground">Oyun pisti</string>
|
||||
<string name="poi_piste_ice_skate">Buz pateni</string>
|
||||
<string name="poi_ski_rental">Kayak kiralama</string>
|
||||
|
||||
<string name="poi_library">Kütüphane</string>
|
||||
<string name="poi_arts_centre">Sanat Merkezi</string>
|
||||
<string name="poi_cinema">Sinema</string>
|
||||
<string name="poi_community_centre">Topluluk merkezi</string>
|
||||
<string name="poi_social_centre">Sosyal merkez</string>
|
||||
<string name="poi_theatre">Tiyatro</string>
|
||||
<string name="poi_circus">Sirk</string>
|
||||
<string name="poi_gallery">Sanat Galerisi</string>
|
||||
<string name="poi_dance_floor">Dans pisti</string>
|
||||
<string name="poi_nightclub">Gece kulübü</string>
|
||||
<string name="poi_stripclub">Striptiz kulübü</string>
|
||||
<string name="poi_ski_resort">Kayak Merkezi</string>
|
||||
<string name="poi_beach_resort">Beach resort</string>
|
||||
<string name="poi_dog_park">Köpek Parkı</string>
|
||||
<string name="poi_leisure_fishing">Balık tutma yeri</string>
|
||||
<string name="poi_hunting_stand">Avcılık standı</string>
|
||||
<string name="poi_harbour">Liman</string>
|
||||
<string name="poi_marina">Marina</string>
|
||||
<string name="poi_miniature_golf">Minyatür golf</string>
|
||||
<string name="poi_playground">Oyun alanı</string>
|
||||
<string name="poi_bench">Tezgah</string>
|
||||
<string name="poi_swimming_pool">Yüzme Havuzu</string>
|
||||
<string name="poi_water_park">Su Parkı</string>
|
||||
<string name="poi_park">Park</string>
|
||||
<string name="poi_recreation_ground">Rekreasyon alanı</string>
|
||||
<string name="poi_village_green">Yeşil köy</string>
|
||||
<string name="poi_trail_riding_station">İz sürme istasyonu</string>
|
||||
|
||||
<string name="poi_cafe">Cafe</string>
|
||||
<string name="poi_biergarten">Biergarten</string>
|
||||
<string name="poi_restaurant">Restoran</string>
|
||||
<string name="poi_bar">Bar</string>
|
||||
<string name="poi_pub">Pub</string>
|
||||
<string name="poi_barbecue">Mangal</string>
|
||||
|
||||
<string name="poi_craft_agricultural_engines">Tarımsal motorlar</string>
|
||||
<string name="poi_craft_blacksmith">Demirci</string>
|
||||
<string name="poi_craft_brewery">Bira fabrikası</string>
|
||||
<string name="poi_craft_boatbuilder">Boat builder</string>
|
||||
<string name="poi_craft_bookbinder">Ciltçi</string>
|
||||
<string name="poi_craft_carpenter">Marangoz</string>
|
||||
<string name="poi_craft_carpet_layer">Halı katmanı</string>
|
||||
<string name="poi_craft_caterer">Yemek Servisi</string>
|
||||
<string name="poi_craft_clockmaker">Saatçi</string>
|
||||
<string name="poi_craft_dressmaker">Terzi</string>
|
||||
<string name="poi_craft_electrician">Elektrikçi</string>
|
||||
<string name="poi_craft_gardener">Bahçıvan</string>
|
||||
<string name="poi_craft_glaziery">Cam el sanatları</string>
|
||||
<string name="poi_craft_handicraft">El sanatları</string>
|
||||
<string name="poi_craft_hvac">Isıtma, havalandırma, Klima</string>
|
||||
<string name="poi_craft_insulation">Yalıtım</string>
|
||||
<string name="poi_craft_jeweller">Kuyumcu</string>
|
||||
<string name="poi_craft_painter">Ressam</string>
|
||||
<string name="poi_craft_parquet_layer">Parke katmanı</string>
|
||||
<string name="poi_craft_photographer">Fotoğrafçı</string>
|
||||
<string name="poi_craft_photographic_laboratory">Fotoğraf Laboratuvarı</string>
|
||||
<string name="poi_craft_plasterer">Sıvacı</string>
|
||||
<string name="poi_craft_plumber">Tesisatçı</string>
|
||||
<string name="poi_craft_pottery">Seramik el sanatları</string>
|
||||
<string name="poi_craft_rigger">Donatıcı</string>
|
||||
<string name="poi_craft_saddler">Saraciye</string>
|
||||
<string name="poi_craft_sailmaker">Marinanıza</string>
|
||||
<string name="poi_craft_sawmill">Kereste fabrikası</string>
|
||||
<string name="poi_craft_scaffolder">İskele</string>
|
||||
<string name="poi_craft_sculptor">Heykeltıraş</string>
|
||||
<string name="poi_craft_shoemaker">Kunduracı</string>
|
||||
<string name="poi_craft_stand_builder">Stand Oluşturucu</string>
|
||||
<string name="poi_craft_stonemason">Taş Ustası</string>
|
||||
<string name="poi_craft_sun_protection">Güneş koruma sanatı</string>
|
||||
<string name="poi_craft_sweep">Süpürme</string>
|
||||
<string name="poi_craft_tailor">Terzi</string>
|
||||
<string name="poi_craft_tiler">Kiremitçi</string>
|
||||
<string name="poi_craft_tinsmith">Tenekeci</string>
|
||||
<string name="poi_craft_upholsterer">Döşemeci</string>
|
||||
<string name="poi_craft_watchmaker">Saatçi</string>
|
||||
<string name="poi_craft_window_construction">Pencere İnşaat</string>
|
||||
|
||||
<string name="poi_funeral_directors">Cenaze yönetmenleri</string>
|
||||
<string name="poi_craft_computer">Bilgisayar zanaat</string>
|
||||
<string name="poi_beauty">Güzellik Salonu</string>
|
||||
<string name="poi_beauty_salon_nails">Tırnak salonu</string>
|
||||
<string name="poi_hairdresser">Kuaför</string>
|
||||
<string name="poi_massage">Masaj salonu</string>
|
||||
<string name="poi_tattoo">Dövme salonu</string>
|
||||
<string name="poi_dry_cleaning">Kuru Temizleme</string>
|
||||
<string name="poi_car_rental">Kiralık Araba</string>
|
||||
<string name="poi_car_sharing">Araba paylaşımı</string>
|
||||
<string name="poi_boat_sharing">Tekne paylaşımı</string>
|
||||
<string name="poi_dock">Liman</string>
|
||||
<string name="poi_cutline">Cutline</string>
|
||||
<string name="poi_toilets">Tuvalet</string>
|
||||
<string name="poi_brothel">Genelev</string>
|
||||
<string name="poi_smoking_area">Sigara içme alanı</string>
|
||||
<string name="poi_mortuary">Morg</string>
|
||||
<string name="poi_crematorium">Ölü yakma yeri</string>
|
||||
<string name="poi_internet_cafe">İnternet kafe</string>
|
||||
|
||||
<string name="poi_bank">Banka</string>
|
||||
<string name="poi_atm">Bankamatik</string>
|
||||
<string name="poi_payment_terminal">Ödeme terminali</string>
|
||||
<string name="poi_money_lender">Borç para veren</string>
|
||||
<string name="poi_pawnbroker">Tefeci</string>
|
||||
<string name="poi_bureau_de_change">Büro de değişiklik</string>
|
||||
<string name="poi_accountant">Muhasebeci</string>
|
||||
<string name="poi_bitcoin_yes">Bitcoin ödeme</string>
|
||||
|
||||
<string name="poi_cave_entrance">Mağara girişi</string>
|
||||
<string name="poi_peak">Dağın tepesi</string>
|
||||
<string name="poi_saddle">Eyer</string>
|
||||
<string name="poi_volcano">Volkan</string>
|
||||
<string name="poi_crater">Krater</string>
|
||||
<string name="poi_ridge">Sırt</string>
|
||||
<string name="poi_glacier">Buzul</string>
|
||||
<string name="poi_sinkhole">Düden</string>
|
||||
<string name="poi_waterfall">Şelale</string>
|
||||
<string name="poi_river">Irmak</string>
|
||||
<string name="poi_stream">Akış</string>
|
||||
<string name="poi_rapids">Nehrin akıntılı yeri</string>
|
||||
<string name="poi_stone">Dikkate değer taş</string>
|
||||
<string name="poi_cape">Pelerin</string>
|
||||
<string name="poi_beach">Plaj</string>
|
||||
<string name="poi_water">Su</string>
|
||||
<string name="poi_wetland">Sulak</string>
|
||||
<string name="poi_wood">Ahşap</string>
|
||||
<string name="poi_tree">Ağaç</string>
|
||||
<string name="poi_nature_reserve">Doğal rezerv</string>
|
||||
<string name="poi_strait">Boğaz</string>
|
||||
<string name="poi_island">Ada</string>
|
||||
<string name="poi_beacon">Fener</string>
|
||||
<string name="poi_beacon_cardinal">Kardinal işareti</string>
|
||||
<string name="poi_beacon_lateral">Yanal işaret</string>
|
||||
<string name="poi_beacon_safe_water">Güvenli su feneri</string>
|
||||
<string name="poi_beacon_special_purpose">Özel amaçlı fener</string>
|
||||
<string name="poi_seamark_building">Seamark binası</string>
|
||||
<string name="poi_seamark_bridge">Deniz işaret köprüsü</string>
|
||||
<string name="poi_buoy_cardinal">Kardinal şamandıra</string>
|
||||
<string name="poi_buoy_safe_water">Güvenli su şamandrası</string>
|
||||
<string name="poi_buoy_special_purpose">Özel amaçlı şamandıra</string>
|
||||
<string name="poi_daymark">Daymark</string>
|
||||
<string name="poi_distance_mark">Mesafe işareti</string>
|
||||
<string name="poi_dry_dock">Havuz</string>
|
||||
<string name="poi_dyke">Lezbiyen</string>
|
||||
<string name="poi_landmark">Simgesel Yapı</string>
|
||||
<string name="poi_seamark_light">Deniz işareti, ışık</string>
|
||||
<string name="poi_seamark_light_major">Deniz işareti, büyük ışık</string>
|
||||
<string name="poi_seamark_light_minor">Deniz işareti, küçük ışık</string>
|
||||
<string name="poi_seamark_light_float">Deniz işareti, şamandıra ışık</string>
|
||||
<string name="poi_seamark_light_vessel">Deniz işareti, gemi ışığı</string>
|
||||
<string name="poi_mooring">Demirleme</string>
|
||||
<string name="poi_notice">Deniz işareti, uyarı</string>
|
||||
<string name="poi_pile">Yığın</string>
|
||||
<string name="poi_radar_transponder">Deniz işareti, radar transponder</string>
|
||||
<string name="poi_radio_station">Deniz işareti, radyo istasyonu</string>
|
||||
<string name="poi_small_craft_facility">Küçük tekne tesisi</string>
|
||||
<string name="poi_topmark">Deniz işareti, topmark</string>
|
||||
<string name="poi_seamark_rock">Deniz işareti, taş</string>
|
||||
<string name="poi_seamark_wreck">Deniz işareti, batık</string>
|
||||
|
||||
<string name="poi_military_landuse">Askeri bölge</string>
|
||||
<string name="poi_military_airfield">Askeri Havaalanı</string>
|
||||
<string name="poi_military_bunker">Askeri sığınak</string>
|
||||
<string name="poi_military_barracks">Kışla</string>
|
||||
<string name="poi_military_danger_area">Tehlike alanı</string>
|
||||
<string name="poi_military_range">Askeri aralığı</string>
|
||||
<string name="poi_military_office">Askeri Bürosu</string>
|
||||
<string name="poi_military_naval_base">Askeri deniz üssü</string>
|
||||
<string name="poi_military_nuclear_explosion_site">Nükleer patlama alanı</string>
|
||||
|
||||
<string name="poi_wiki_place">Vikipedi</string>
|
||||
<string name="poi_wiki_lang_en">İngilizce wiki</string>
|
||||
<string name="poi_wiki_lang_ar">Arapça wiki</string>
|
||||
<string name="poi_wiki_lang_be">Belarus wiki</string>
|
||||
<string name="poi_wiki_lang_bg">Bulgar wiki</string>
|
||||
<string name="poi_wiki_lang_ca">Katalan wiki</string>
|
||||
<string name="poi_wiki_lang_ceb">Sebuanca wiki</string>
|
||||
<string name="poi_wiki_lang_cs">Çek wiki</string>
|
||||
<string name="poi_wiki_lang_da">Danimarka wiki</string>
|
||||
<string name="poi_wiki_lang_el">Yunan wiki</string>
|
||||
<string name="poi_wiki_lang_gl">Galiçyaca wiki</string>
|
||||
<string name="poi_wiki_lang_he">İbranice wiki</string>
|
||||
<string name="poi_wiki_lang_hi">Hintçe wiki</string>
|
||||
<string name="poi_wiki_lang_hr">Hırvat wiki</string>
|
||||
<string name="poi_wiki_lang_ht">Haiti wiki</string>
|
||||
<string name="poi_wiki_lang_hu">Macar wiki</string>
|
||||
<string name="poi_wiki_lang_id">Endonezya wiki</string>
|
||||
<string name="poi_wiki_lang_it">İtalyan wiki</string>
|
||||
<string name="poi_wiki_lang_lv">Letonca wiki</string>
|
||||
<string name="poi_wiki_lang_ms">Malay wiki</string>
|
||||
<string name="poi_wiki_lang_new">Newar wiki</string>
|
||||
<string name="poi_wiki_lang_nl">Hollandalı wiki</string>
|
||||
<string name="poi_wiki_lang_nn">Norveç Nynorsk wiki</string>
|
||||
<string name="poi_wiki_lang_no">Norveç wiki</string>
|
||||
<string name="poi_wiki_lang_pl">Lehçe wiki</string>
|
||||
<string name="poi_wiki_lang_ro">Romen wiki</string>
|
||||
<string name="poi_wiki_lang_ru">Rus wiki</string>
|
||||
<string name="poi_wiki_lang_sl">Sloven wiki</string>
|
||||
<string name="poi_wiki_lang_sw">Swahili wiki</string>
|
||||
<string name="poi_wiki_lang_zh">Çin wiki</string>
|
||||
|
||||
<string name="poi_bollard">İskele babası</string>
|
||||
<string name="poi_cycle_barrier">Çevrim bariyeri</string>
|
||||
<string name="poi_motorcycle_barrier">Motosiklet bariyer</string>
|
||||
<string name="poi_block">Blok</string>
|
||||
<string name="poi_bus_trap">Otobüs tuzağı</string>
|
||||
<string name="poi_cattle_grid">Sığır ızgara</string>
|
||||
<string name="poi_full_height_turnstile">Tam yükseklikte turnike</string>
|
||||
<string name="poi_bump_gate">Çarpma kapı</string>
|
||||
<string name="poi_general_barrier">Genel bariyer</string>
|
||||
<string name="poi_stile">Stil</string>
|
||||
<string name="poi_kissing_gate">Öpüşme kapısı</string>
|
||||
<string name="poi_sally_port">Sally bağlantı noktası</string>
|
||||
<string name="poi_lcn_ref">Yerel döngüsü düğüm ağ</string>
|
||||
<string name="poi_iwn_ref">Uluslararası yürüyüş ağ düğümü</string>
|
||||
<string name="poi_nwn_ref">Ulusal yürüyüş ağ düğümü</string>
|
||||
<string name="poi_rwn_ref">Bölgesel yürüyüş ağ düğümü</string>
|
||||
<string name="poi_lwn_ref">Yerel yürüyüş ağ düğümü</string>
|
||||
|
||||
<string name="poi_route_hiking_iwn_poi">Uluslararası yürüyüş rotası</string>
|
||||
<string name="poi_route_hiking_nwn_poi">Ulusal yürüyüş rotası</string>
|
||||
<string name="poi_route_hiking_rwn_poi">Bölgesel yürüme rotası</string>
|
||||
<string name="poi_route_hiking_lwn_poi">Yerel yürüyüş rotası</string>
|
||||
<string name="poi_route_hiking_ref_poi">Yürüyüş yolu başvurusu</string>
|
||||
|
||||
<string name="poi_opening_hours"/>
|
||||
<string name="poi_collection_times">Koleksiyon kez</string>
|
||||
<string name="poi_description">Açıklama</string>
|
||||
<string name="poi_phone">Telefon</string>
|
||||
<string name="poi_website">İnternet sitesi</string>
|
||||
<string name="poi_fax">Faks</string>
|
||||
<string name="poi_youtube">YouTube</string>
|
||||
<string name="poi_instagram">Instagram</string>
|
||||
<string name="poi_vk">VKontakte</string>
|
||||
<string name="poi_google_plus">Google +</string>
|
||||
<string name="poi_mobile">Mobil</string>
|
||||
<string name="poi_maxweight">Maksimum ağırlık</string>
|
||||
<string name="poi_abandoned">Terk edilmiş</string>
|
||||
<string name="poi_abandoned_poi">Terk edilmiş nesne</string>
|
||||
<string name="poi_disused">Terkedilmiş</string>
|
||||
|
||||
<string name="poi_operator">Operatör</string>
|
||||
<string name="poi_fee_yes">Ücrete tabi</string>
|
||||
<string name="poi_fee_no">Ücretsiz</string>
|
||||
<string name="poi_drinking_water_yes">İçme suyu</string>
|
||||
<string name="poi_supervised_yes">Denetimli</string>
|
||||
<string name="poi_supervised_no">Denetimsiz</string>
|
||||
<string name="poi_seasonal_summer"/>
|
||||
<string name="poi_seasonal_autumn">Sonbahar</string>
|
||||
<string name="poi_seasonal_winter">Kış</string>
|
||||
<string name="poi_crossing_traffic_signals">Trafik işaretleri ile</string>
|
||||
<string name="poi_crossing_uncontrolled">Kontrolsüz</string>
|
||||
<string name="poi_crossing_unmarked">İşaretlenmemiş</string>
|
||||
|
||||
<string name="poi_access_private">Özel erişim</string>
|
||||
<string name="poi_access_no">Erişim yok</string>
|
||||
<string name="poi_access_destination">Hedef erişimi</string>
|
||||
<string name="poi_enforcement_traffic_signals">Uygulama: trafik sinyalleri</string>
|
||||
<string name="poi_enforcement_maxspeed">Uygulama: maks hız</string>
|
||||
<string name="poi_enforcement_maxheight">Uygulama: maks ağırlık</string>
|
||||
<string name="poi_enforcement_mindistance">Uygulama: min uzunluk</string>
|
||||
<string name="poi_enforcement_check">Uygulama: kontrol</string>
|
||||
<string name="poi_enforcement_access">Uygulama: erişim</string>
|
||||
<string name="poi_enforcement_toll">Uygulama: ücretli</string>
|
||||
|
||||
<string name="poi_animal_shelter_dog">Köpekler için barınak</string>
|
||||
<string name="poi_animal_shelter_cat">Kediler için barınak</string>
|
||||
<string name="poi_animal_shelter_dog_cat">Kediler ve köpekler için barınak</string>
|
||||
<string name="poi_animal_shelter_bird">Kuşlar için barınak</string>
|
||||
|
||||
<string name="poi_building">Bina</string>
|
||||
|
||||
</resources>
|
||||
|
|
|
@ -1132,4 +1132,28 @@
|
|||
<string name="poi_denomination_maronite">馬若恩教派</string>
|
||||
<string name="poi_denomination_mahayana">大乘佛教</string>
|
||||
|
||||
<string name="poi_landfill_waste_nuclear">核廢料</string>
|
||||
<string name="poi_brownfield">棕地</string>
|
||||
<string name="poi_greenfield">未開發地</string>
|
||||
<string name="poi_bunker_silo">燃料貯塔</string>
|
||||
<string name="poi_start_date">開始日期</string>
|
||||
<string name="poi_wheelchair">輪椅</string>
|
||||
|
||||
<string name="poi_content_silage">青貯飼料 (內容)</string>
|
||||
<string name="poi_content_water">水 (內容)</string>
|
||||
<string name="poi_content_slurry">礦泥 (內容)</string>
|
||||
<string name="poi_content_oil">油 (內容)</string>
|
||||
<string name="poi_content_fuel">燃料 (內容)</string>
|
||||
<string name="poi_content_manure">肥料 (內容)</string>
|
||||
<string name="poi_content_wine">酒 (內容)</string>
|
||||
<string name="poi_content_sewage">污水 (內容)</string>
|
||||
<string name="poi_content_gas">瓦斯 (內容)</string>
|
||||
<string name="poi_content_biomass">生物質 (內容)</string>
|
||||
<string name="poi_content_wastewater">污水 (內容)</string>
|
||||
<string name="poi_content_crop">農作物 (內容)</string>
|
||||
<string name="poi_content_fodder">飼料 (內容)</string>
|
||||
<string name="poi_content_beer">啤酒 (內容)</string>
|
||||
<string name="poi_content_salt">鹽 (內容)</string>
|
||||
<string name="poi_content_grain">榖物 (內容)</string>
|
||||
|
||||
</resources>
|
||||
|
|
|
@ -2101,4 +2101,8 @@
|
|||
<string name="poi_dialog_poi_type">興趣點類型</string>
|
||||
<string name="number_of_rows_in_dash">在長劃 %1$s 的行數</string>
|
||||
<string name="please_specify_poi_type">請指定興趣點類型。</string>
|
||||
<string name="poi_action_delete">删除</string>
|
||||
<string name="working_days">工作日</string>
|
||||
<string name="recent_places">最近的地點</string>
|
||||
<string name="favourites">我的最愛</string>
|
||||
</resources>
|
||||
|
|
|
@ -11,7 +11,8 @@
|
|||
<attr name="expandable_list_background" format="color"/>
|
||||
<attr name="bg_color" format="reference" />
|
||||
<attr name="bg_card" format="reference" />
|
||||
|
||||
<attr name="bg_map_context_menu" format="reference" />
|
||||
|
||||
<attr name="dashboard_divider" format="reference" />
|
||||
<attr name="dashboard_button" format="reference" />
|
||||
|
||||
|
|
|
@ -2190,6 +2190,7 @@ Afghanistan, Albania, Algeria, Andorra, Angola, Anguilla, Antigua and Barbuda, A
|
|||
<string name="poi_remove_success">POI was successfully deleted</string>
|
||||
<string name="poi_action_add">add</string>
|
||||
<string name="poi_action_change">change</string>
|
||||
<string name="poi_action_delete">delete</string>
|
||||
<string name="poi_action_succeded_template">Action {0} completed successfully.</string>
|
||||
<string name="poi_error_unexpected_template">Unexpected error occurred while performing action {0}.</string>
|
||||
<string name="poi_error_io_error_template">I/O error occurred while performing action {0}.</string>
|
||||
|
@ -2256,4 +2257,7 @@ Afghanistan, Albania, Algeria, Andorra, Angola, Anguilla, Antigua and Barbuda, A
|
|||
<string name="poi_dialog_poi_type">POI Type</string>
|
||||
<string name="number_of_rows_in_dash">Number of rows in dash %1$s</string>
|
||||
<string name="please_specify_poi_type">Please specify POI type.</string>
|
||||
<string name="working_days">Working days</string>
|
||||
<string name="recent_places">Recent places</string>
|
||||
<string name="favourites">Favourites</string>
|
||||
</resources>
|
||||
|
|
|
@ -66,6 +66,7 @@
|
|||
<item name="actionBarStyle">@style/Widget.Styled.ActionBarLight</item>
|
||||
<item name="bg_color">@color/bg_color_light</item>
|
||||
<item name="bg_card">@drawable/bg_card_light</item>
|
||||
<item name="bg_map_context_menu">@drawable/bg_map_context_menu_light</item>
|
||||
<item name="dashboard_divider">@color/dashboard_divider_light</item>
|
||||
<item name="dashboard_button">@drawable/dashboard_button_light</item>
|
||||
<item name="search_background">@color/search_background_dark</item>
|
||||
|
@ -160,6 +161,7 @@
|
|||
<item name="actionBarStyle">@style/Widget.Styled.ActionBarDark</item>
|
||||
<item name="bg_color">@color/bg_color_dark</item>
|
||||
<item name="bg_card">@drawable/bg_card_dark</item>
|
||||
<item name="bg_map_context_menu">@drawable/bg_map_context_menu_dark</item>
|
||||
<item name="dashboard_divider">@color/dashboard_divider_dark</item>
|
||||
<item name="dashboard_button">@drawable/dashboard_button_dark</item>
|
||||
<item name="search_background">@color/color_white</item>
|
||||
|
|
|
@ -1,5 +1,18 @@
|
|||
package net.osmand.plus;
|
||||
|
||||
import android.app.AlertDialog;
|
||||
import android.content.Context;
|
||||
|
||||
import net.osmand.PlatformUtil;
|
||||
import net.osmand.data.FavouritePoint;
|
||||
import net.osmand.plus.GPXUtilities.GPXFile;
|
||||
import net.osmand.plus.GPXUtilities.WptPt;
|
||||
import net.osmand.plus.api.SQLiteAPI.SQLiteConnection;
|
||||
import net.osmand.plus.api.SQLiteAPI.SQLiteCursor;
|
||||
import net.osmand.util.Algorithms;
|
||||
|
||||
import org.apache.tools.bzip2.CBZip2OutputStream;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.FileOutputStream;
|
||||
|
@ -12,19 +25,6 @@ import java.util.List;
|
|||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import net.osmand.PlatformUtil;
|
||||
import net.osmand.data.FavouritePoint;
|
||||
import net.osmand.plus.GPXUtilities.GPXFile;
|
||||
import net.osmand.plus.GPXUtilities.WptPt;
|
||||
import net.osmand.plus.api.SQLiteAPI.SQLiteConnection;
|
||||
import net.osmand.plus.api.SQLiteAPI.SQLiteCursor;
|
||||
import net.osmand.util.Algorithms;
|
||||
|
||||
import org.apache.tools.bzip2.CBZip2OutputStream;
|
||||
|
||||
import android.app.AlertDialog;
|
||||
import android.content.Context;
|
||||
|
||||
public class FavouritesDbHelper {
|
||||
|
||||
public interface FavoritesUpdatedListener {
|
||||
|
@ -173,7 +173,7 @@ public class FavouritesDbHelper {
|
|||
return true;
|
||||
}
|
||||
|
||||
public static AlertDialog.Builder checkDublicates(FavouritePoint p, FavouritesDbHelper fdb, Context uiContext) {
|
||||
public static AlertDialog.Builder checkDuplicates(FavouritePoint p, FavouritesDbHelper fdb, Context uiContext) {
|
||||
boolean emoticons = false;
|
||||
String index = "";
|
||||
int number = 0;
|
||||
|
|
|
@ -38,7 +38,6 @@ public class NavigationService extends Service implements LocationListener {
|
|||
// global id don't conflict with others
|
||||
private final static int NOTIFICATION_SERVICE_ID = 5;
|
||||
public final static String OSMAND_STOP_SERVICE_ACTION = "OSMAND_STOP_SERVICE_ACTION"; //$NON-NLS-1$
|
||||
public final static String OSMAND_SAVE_SERVICE_ACTION = "OSMAND_SAVE_SERVICE_ACTION";
|
||||
public static int USED_BY_NAVIGATION = 1;
|
||||
public static int USED_BY_GPX = 2;
|
||||
public static int USED_BY_LIVE = 4;
|
||||
|
@ -176,26 +175,23 @@ public class NavigationService extends Service implements LocationListener {
|
|||
if (settings.SAVE_GLOBAL_TRACK_TO_GPX.get()) {
|
||||
settings.SAVE_GLOBAL_TRACK_TO_GPX.set(false);
|
||||
}
|
||||
OsMoPlugin plugin = OsmandPlugin.getEnabledPlugin(OsMoPlugin.class);
|
||||
if (plugin != null) {
|
||||
if (plugin.getTracker().isEnabledTracker()) {
|
||||
plugin.getTracker().disableTracker();
|
||||
OsMoPlugin osmoPlugin = OsmandPlugin.getEnabledPlugin(OsMoPlugin.class);
|
||||
if (osmoPlugin != null) {
|
||||
if (osmoPlugin.getTracker().isEnabledTracker()) {
|
||||
osmoPlugin.getTracker().disableTracker();
|
||||
}
|
||||
}
|
||||
OsmandMonitoringPlugin monitoringPlugin =
|
||||
OsmandPlugin.getEnabledPlugin(OsmandMonitoringPlugin.class);
|
||||
if (monitoringPlugin != null) {
|
||||
monitoringPlugin.stopRecording();
|
||||
}
|
||||
NavigationService.this.stopSelf();
|
||||
}
|
||||
|
||||
};
|
||||
registerReceiver(broadcastReceiver, new IntentFilter(OSMAND_STOP_SERVICE_ACTION));
|
||||
saveBroadcastReceiver = new BroadcastReceiver() {
|
||||
@Override
|
||||
public void onReceive(Context context, Intent intent) {
|
||||
final OsmandMonitoringPlugin plugin = OsmandPlugin
|
||||
.getEnabledPlugin(OsmandMonitoringPlugin.class);
|
||||
plugin.saveCurrentTrack();
|
||||
}
|
||||
};
|
||||
registerReceiver(saveBroadcastReceiver, new IntentFilter(OSMAND_SAVE_SERVICE_ACTION));
|
||||
|
||||
|
||||
//Show currently active wake-up interval
|
||||
int soi = settings.SERVICE_OFF_INTERVAL.get();
|
||||
|
@ -215,14 +211,6 @@ public class NavigationService extends Service implements LocationListener {
|
|||
// notification.flags = Notification.FLAG_NO_CLEAR;
|
||||
// startForeground(NOTIFICATION_SERVICE_ID, notification);
|
||||
|
||||
String stop = getResources().getString(R.string.shared_string_control_stop);
|
||||
Intent stopIntent = new Intent(OSMAND_STOP_SERVICE_ACTION);
|
||||
PendingIntent stopPendingIntent = PendingIntent.getBroadcast(this, 0, stopIntent,
|
||||
PendingIntent.FLAG_UPDATE_CURRENT);
|
||||
String pause = getResources().getString(R.string.shared_string_save);
|
||||
Intent saveIntent = new Intent(OSMAND_SAVE_SERVICE_ACTION);
|
||||
PendingIntent savePendingIntent = PendingIntent.getBroadcast(this, 0, saveIntent,
|
||||
PendingIntent.FLAG_UPDATE_CURRENT);
|
||||
Intent contentIntent = new Intent(this, MapActivity.class);
|
||||
PendingIntent contentPendingIntent = PendingIntent.getActivity(this, 0, contentIntent,
|
||||
PendingIntent.FLAG_UPDATE_CURRENT);
|
||||
|
|
|
@ -1,37 +1,5 @@
|
|||
package net.osmand.plus.activities;
|
||||
|
||||
import gnu.trove.list.array.TIntArrayList;
|
||||
|
||||
import java.io.File;
|
||||
import java.text.MessageFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashSet;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.LinkedHashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import net.osmand.access.AccessibleToast;
|
||||
import net.osmand.data.FavouritePoint;
|
||||
import net.osmand.data.LatLon;
|
||||
import net.osmand.data.PointDescription;
|
||||
import net.osmand.plus.FavouritesDbHelper;
|
||||
import net.osmand.plus.FavouritesDbHelper.FavoriteGroup;
|
||||
import net.osmand.plus.GPXUtilities;
|
||||
import net.osmand.plus.GPXUtilities.GPXFile;
|
||||
import net.osmand.plus.IconsCache;
|
||||
import net.osmand.plus.OsmAndFormatter;
|
||||
import net.osmand.plus.OsmandApplication;
|
||||
import net.osmand.plus.OsmandSettings;
|
||||
import net.osmand.plus.R;
|
||||
import net.osmand.plus.TargetPointsHelper;
|
||||
import net.osmand.plus.base.FavoriteImageDrawable;
|
||||
import net.osmand.plus.dialogs.DirectionsDialogs;
|
||||
import net.osmand.plus.helpers.AndroidUiHelper;
|
||||
import net.osmand.plus.helpers.ColorDialogs;
|
||||
import net.osmand.plus.myplaces.FavoritesActivity;
|
||||
import net.osmand.util.MapUtils;
|
||||
import android.app.Activity;
|
||||
import android.app.AlertDialog;
|
||||
import android.app.AlertDialog.Builder;
|
||||
|
@ -69,6 +37,39 @@ import android.widget.Spinner;
|
|||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
|
||||
import net.osmand.access.AccessibleToast;
|
||||
import net.osmand.data.FavouritePoint;
|
||||
import net.osmand.data.LatLon;
|
||||
import net.osmand.data.PointDescription;
|
||||
import net.osmand.plus.FavouritesDbHelper;
|
||||
import net.osmand.plus.FavouritesDbHelper.FavoriteGroup;
|
||||
import net.osmand.plus.GPXUtilities;
|
||||
import net.osmand.plus.GPXUtilities.GPXFile;
|
||||
import net.osmand.plus.IconsCache;
|
||||
import net.osmand.plus.OsmAndFormatter;
|
||||
import net.osmand.plus.OsmandApplication;
|
||||
import net.osmand.plus.OsmandSettings;
|
||||
import net.osmand.plus.R;
|
||||
import net.osmand.plus.TargetPointsHelper;
|
||||
import net.osmand.plus.base.FavoriteImageDrawable;
|
||||
import net.osmand.plus.dialogs.DirectionsDialogs;
|
||||
import net.osmand.plus.helpers.AndroidUiHelper;
|
||||
import net.osmand.plus.helpers.ColorDialogs;
|
||||
import net.osmand.plus.myplaces.FavoritesActivity;
|
||||
import net.osmand.util.MapUtils;
|
||||
|
||||
import java.io.File;
|
||||
import java.text.MessageFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashSet;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.LinkedHashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import gnu.trove.list.array.TIntArrayList;
|
||||
|
||||
|
||||
public class FavoritesTreeFragment extends OsmandExpandableListFragment {
|
||||
|
||||
|
@ -187,9 +188,9 @@ public class FavoritesTreeFragment extends OsmandExpandableListFragment {
|
|||
return true;
|
||||
}
|
||||
|
||||
public static boolean editPoint(Context ctx, final FavouritePoint point, final Runnable callback) {
|
||||
public static boolean editPoint(final Context ctx, final FavouritePoint point, final Runnable callback) {
|
||||
OsmandApplication app = (OsmandApplication) ctx.getApplicationContext();
|
||||
Builder builder = new AlertDialog.Builder(ctx);
|
||||
final Builder builder = new AlertDialog.Builder(ctx);
|
||||
builder.setTitle(R.string.favourites_context_menu_edit);
|
||||
final View v = LayoutInflater.from(ctx).inflate(R.layout.favorite_edit_dialog,
|
||||
null, false);
|
||||
|
@ -212,13 +213,33 @@ public class FavoritesTreeFragment extends OsmandExpandableListFragment {
|
|||
builder.setPositiveButton(R.string.shared_string_apply, new DialogInterface.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
boolean edited = helper.editFavouriteName(point, editText.getText().toString().trim(), cat.getText()
|
||||
.toString(), editDescr.getText().toString());
|
||||
if (edited && callback != null) {
|
||||
callback.run();
|
||||
|
||||
}
|
||||
final String newName = editText.getText().toString().trim();
|
||||
point.setName(newName);
|
||||
point.setCategory(cat.getText().toString());
|
||||
point.setDescription(editDescr.getText().toString());
|
||||
AlertDialog.Builder builder1 = helper.checkDuplicates(point, helper, ctx);
|
||||
|
||||
if (builder1 != null) {
|
||||
builder1.setPositiveButton(R.string.shared_string_ok, new DialogInterface.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
boolean edited = helper.editFavouriteName(point,
|
||||
point.getName(), cat.getText().toString(),
|
||||
editDescr.getText().toString());
|
||||
if (edited && callback != null) {
|
||||
callback.run();
|
||||
}
|
||||
}
|
||||
});
|
||||
builder1.create().show();
|
||||
} else {
|
||||
boolean edited = helper.editFavouriteName(point,
|
||||
newName, cat.getText().toString(),
|
||||
editDescr.getText().toString());
|
||||
if (edited && callback != null) {
|
||||
callback.run();
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
builder.create().show();
|
||||
|
@ -467,7 +488,8 @@ public class FavoritesTreeFragment extends OsmandExpandableListFragment {
|
|||
|
||||
private void enableSelectionMode(boolean selectionMode) {
|
||||
this.selectionMode = selectionMode;
|
||||
((FavoritesActivity)getActivity()).setToolbarVisibility(!selectionMode);
|
||||
((FavoritesActivity)getActivity()).setToolbarVisibility(!selectionMode &&
|
||||
AndroidUiHelper.isOrientationPortrait(getActivity()));
|
||||
}
|
||||
|
||||
protected void openChangeGroupDialog(final FavoriteGroup group) {
|
||||
|
|
|
@ -106,7 +106,7 @@ public class MapActivityActions implements DialogProvider {
|
|||
new ShareLocation(mapActivity).run();
|
||||
}
|
||||
|
||||
public void showNavigationContextMenuPoint(final double latitude, final double longitude, Object selectedObj) {
|
||||
public void showNavigationContextMenuPoint(final double latitude, final double longitude) {
|
||||
final ContextMenuAdapter adapter = new ContextMenuAdapter(mapActivity);
|
||||
|
||||
if(!mapActivity.getRoutingHelper().isFollowingMode() && !mapActivity.getRoutingHelper().isRoutePlanningMode()) {
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
package net.osmand.plus.activities;
|
||||
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map.Entry;
|
||||
import android.content.DialogInterface;
|
||||
import android.content.Intent;
|
||||
import android.support.v7.app.AlertDialog;
|
||||
import android.widget.ListAdapter;
|
||||
import android.widget.Toast;
|
||||
|
||||
import net.osmand.CallbackWithObject;
|
||||
import net.osmand.ResultMatcher;
|
||||
|
@ -12,7 +13,6 @@ import net.osmand.StateChangedListener;
|
|||
import net.osmand.access.AccessibleToast;
|
||||
import net.osmand.map.ITileSource;
|
||||
import net.osmand.map.TileSourceManager.TileSourceTemplate;
|
||||
import net.osmand.osm.PoiCategory;
|
||||
import net.osmand.plus.ContextMenuAdapter;
|
||||
import net.osmand.plus.ContextMenuAdapter.Item;
|
||||
import net.osmand.plus.GPXUtilities.GPXFile;
|
||||
|
@ -47,12 +47,11 @@ import net.osmand.plus.views.RouteLayer;
|
|||
import net.osmand.plus.views.TransportInfoLayer;
|
||||
import net.osmand.plus.views.TransportStopsLayer;
|
||||
import net.osmand.plus.views.mapwidgets.MapWidgetRegistry;
|
||||
import android.app.AlertDialog;
|
||||
import android.app.AlertDialog.Builder;
|
||||
import android.content.DialogInterface;
|
||||
import android.content.Intent;
|
||||
import android.widget.ListAdapter;
|
||||
import android.widget.Toast;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map.Entry;
|
||||
|
||||
/**
|
||||
* Object is responsible to maintain layers using by map activity
|
||||
|
@ -259,7 +258,7 @@ public class MapActivityLayers {
|
|||
addFilterToList(adapter, list, f);
|
||||
}
|
||||
|
||||
Builder builder = new AlertDialog.Builder(activity);
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(activity);
|
||||
ListAdapter listAdapter = adapter.createListAdapter(activity, app.getSettings().isLightContent());
|
||||
builder.setAdapter(listAdapter, new DialogInterface.OnClickListener(){
|
||||
@Override
|
||||
|
@ -321,7 +320,7 @@ public class MapActivityLayers {
|
|||
|
||||
final List<Entry<String, String>> entriesMapList = new ArrayList<Entry<String, String>>(entriesMap.entrySet());
|
||||
|
||||
Builder builder = new AlertDialog.Builder(activity);
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(activity);
|
||||
|
||||
String selectedTileSourceKey = settings.MAP_TILE_SOURCES.get();
|
||||
|
||||
|
|
|
@ -1,51 +1,5 @@
|
|||
package net.osmand.plus.audionotes;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.lang.reflect.Constructor;
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.Comparator;
|
||||
import java.util.Iterator;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import net.osmand.AndroidUtils;
|
||||
import net.osmand.IProgress;
|
||||
import net.osmand.IndexConstants;
|
||||
import net.osmand.Location;
|
||||
import net.osmand.PlatformUtil;
|
||||
import net.osmand.access.AccessibleAlertBuilder;
|
||||
import net.osmand.access.AccessibleToast;
|
||||
import net.osmand.data.DataTileManager;
|
||||
import net.osmand.data.PointDescription;
|
||||
import net.osmand.plus.ApplicationMode;
|
||||
import net.osmand.plus.ContextMenuAdapter;
|
||||
import net.osmand.plus.ContextMenuAdapter.OnContextMenuClick;
|
||||
import net.osmand.plus.OsmandApplication;
|
||||
import net.osmand.plus.OsmandPlugin;
|
||||
import net.osmand.plus.OsmandSettings;
|
||||
import net.osmand.plus.OsmandSettings.CommonPreference;
|
||||
import net.osmand.plus.OsmandSettings.OsmandPreference;
|
||||
import net.osmand.plus.R;
|
||||
import net.osmand.plus.activities.MapActivity;
|
||||
import net.osmand.plus.activities.SavingTrackHelper;
|
||||
import net.osmand.plus.activities.TabActivity.TabItem;
|
||||
import net.osmand.plus.dashboard.tools.DashFragmentData;
|
||||
import net.osmand.plus.monitoring.OsmandMonitoringPlugin;
|
||||
import net.osmand.plus.myplaces.FavoritesActivity;
|
||||
import net.osmand.plus.views.MapInfoLayer;
|
||||
import net.osmand.plus.views.OsmandMapTileView;
|
||||
import net.osmand.plus.views.mapwidgets.TextInfoWidget;
|
||||
import net.osmand.util.Algorithms;
|
||||
import net.osmand.util.GeoPointParserUtil.GeoParsedPoint;
|
||||
import net.osmand.util.MapUtils;
|
||||
|
||||
import org.apache.commons.logging.Log;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.app.Dialog;
|
||||
import android.content.ComponentName;
|
||||
|
@ -81,6 +35,52 @@ import android.widget.ArrayAdapter;
|
|||
import android.widget.ImageView;
|
||||
import android.widget.Toast;
|
||||
|
||||
import net.osmand.AndroidUtils;
|
||||
import net.osmand.IProgress;
|
||||
import net.osmand.IndexConstants;
|
||||
import net.osmand.Location;
|
||||
import net.osmand.PlatformUtil;
|
||||
import net.osmand.access.AccessibleAlertBuilder;
|
||||
import net.osmand.access.AccessibleToast;
|
||||
import net.osmand.data.DataTileManager;
|
||||
import net.osmand.data.PointDescription;
|
||||
import net.osmand.plus.ApplicationMode;
|
||||
import net.osmand.plus.ContextMenuAdapter;
|
||||
import net.osmand.plus.ContextMenuAdapter.OnContextMenuClick;
|
||||
import net.osmand.plus.OsmandApplication;
|
||||
import net.osmand.plus.OsmandPlugin;
|
||||
import net.osmand.plus.OsmandSettings;
|
||||
import net.osmand.plus.OsmandSettings.CommonPreference;
|
||||
import net.osmand.plus.OsmandSettings.OsmandPreference;
|
||||
import net.osmand.plus.R;
|
||||
import net.osmand.plus.activities.MapActivity;
|
||||
import net.osmand.plus.activities.SavingTrackHelper;
|
||||
import net.osmand.plus.activities.TabActivity.TabItem;
|
||||
import net.osmand.plus.dashboard.tools.DashFragmentData;
|
||||
import net.osmand.plus.monitoring.OsmandMonitoringPlugin;
|
||||
import net.osmand.plus.myplaces.FavoritesActivity;
|
||||
import net.osmand.plus.views.MapInfoLayer;
|
||||
import net.osmand.plus.views.OsmandMapTileView;
|
||||
import net.osmand.plus.views.mapwidgets.TextInfoWidget;
|
||||
import net.osmand.util.Algorithms;
|
||||
import net.osmand.util.GeoPointParserUtil.GeoParsedPoint;
|
||||
import net.osmand.util.MapUtils;
|
||||
|
||||
import org.apache.commons.logging.Log;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.lang.reflect.Constructor;
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.Comparator;
|
||||
import java.util.Iterator;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
|
||||
public class AudioVideoNotesPlugin extends OsmandPlugin {
|
||||
|
||||
|
@ -1303,6 +1303,6 @@ public class AudioVideoNotesPlugin extends OsmandPlugin {
|
|||
@Override
|
||||
public DashFragmentData getCardFragment() {
|
||||
return new DashFragmentData(DashAudioVideoNotesFragment.TAG,
|
||||
DashAudioVideoNotesFragment.class, getName(), 10);
|
||||
DashAudioVideoNotesFragment.class, R.string.audionotes_plugin_name, 10);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -26,6 +26,7 @@ import android.widget.ImageButton;
|
|||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
|
||||
import net.osmand.PlatformUtil;
|
||||
import net.osmand.data.PointDescription;
|
||||
import net.osmand.plus.GPXUtilities;
|
||||
import net.osmand.plus.GPXUtilities.GPXFile;
|
||||
|
@ -44,6 +45,8 @@ import net.osmand.plus.helpers.AndroidUiHelper;
|
|||
import net.osmand.plus.myplaces.FavoritesActivity;
|
||||
import net.osmand.util.Algorithms;
|
||||
|
||||
import org.apache.commons.logging.Log;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
|
@ -54,6 +57,8 @@ import java.util.List;
|
|||
* Created by Denis on 18.02.2015.
|
||||
*/
|
||||
public class NotesFragment extends OsmAndListFragment {
|
||||
private static final Log LOG = PlatformUtil.getLog(NotesFragment.class);
|
||||
|
||||
AudioVideoNotesPlugin plugin;
|
||||
List<AudioVideoNotesPlugin.Recording> items;
|
||||
NotesAdapter listAdapter;
|
||||
|
@ -161,7 +166,8 @@ public class NotesFragment extends OsmAndListFragment {
|
|||
private void enableSelectionMode(boolean selectionMode) {
|
||||
this.selectionMode = selectionMode;
|
||||
getView().findViewById(R.id.select_all).setVisibility(selectionMode? View.VISIBLE : View.GONE);
|
||||
((FavoritesActivity)getActivity()).setToolbarVisibility(!selectionMode);
|
||||
((FavoritesActivity)getActivity()).setToolbarVisibility(!selectionMode &&
|
||||
AndroidUiHelper.isOrientationPortrait(getActivity()));
|
||||
}
|
||||
|
||||
private void updateSelectionTitle(ActionMode m){
|
||||
|
@ -271,6 +277,7 @@ public class NotesFragment extends OsmAndListFragment {
|
|||
|
||||
@Override
|
||||
public boolean onCreateActionMode(final ActionMode mode, Menu menu) {
|
||||
LOG.debug("onCreateActionMode");
|
||||
if(type == MODE_SHARE) {
|
||||
listAdapter.insert(shareLocationFile, 0);
|
||||
}
|
||||
|
@ -302,16 +309,19 @@ public class NotesFragment extends OsmAndListFragment {
|
|||
|
||||
@Override
|
||||
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
|
||||
LOG.debug("onPrepareActionMode");
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onActionItemClicked(ActionMode actionMode, MenuItem menuItem) {
|
||||
LOG.debug("onActionItemClicked");
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDestroyActionMode(ActionMode mode) {
|
||||
LOG.debug("onDestroyActionMode");
|
||||
if(type == MODE_SHARE) {
|
||||
listAdapter.remove(shareLocationFile);
|
||||
}
|
||||
|
|
|
@ -78,25 +78,25 @@ public class DashboardOnMap implements ObservableScrollViewCallbacks {
|
|||
|
||||
private static final DashFragmentData[] fragmentsData = new DashFragmentData[]{
|
||||
new DashFragmentData(DashRateUsFragment.TAG, DashRateUsFragment.class,
|
||||
"Rate us", rateUsShouldShow, true, 0),
|
||||
-1, rateUsShouldShow, true, 0),
|
||||
new DashFragmentData(DashFirstTimeFragment.TAG, DashFirstTimeFragment.class,
|
||||
"First time", firstTimeShouldShow, true, 1),
|
||||
-1, firstTimeShouldShow, true, 1),
|
||||
new DashFragmentData(DashChooseAppDirFragment.TAG, DashChooseAppDirFragment.class,
|
||||
"Choose app dir", chooseAppDirShouldShow, true, 2),
|
||||
-1, chooseAppDirShouldShow, true, 2),
|
||||
new DashFragmentData(DashErrorFragment.TAG, DashErrorFragment.class,
|
||||
"Error", errorShouldShow, true, 3),
|
||||
-1, errorShouldShow, true, 3),
|
||||
new DashFragmentData(DashNavigationFragment.TAG, DashNavigationFragment.class,
|
||||
"Navigation", 4),
|
||||
R.string.tip_navigation, 4),
|
||||
new DashFragmentData(DashWaypointsFragment.TAG, DashWaypointsFragment.class,
|
||||
"Waypoints", 6),
|
||||
R.string.waypoints, 6),
|
||||
new DashFragmentData(DashSearchFragment.TAG, DashSearchFragment.class,
|
||||
"Search", 7),
|
||||
R.string.shared_string_search, 7),
|
||||
new DashFragmentData(DashRecentsFragment.TAG, DashRecentsFragment.class,
|
||||
"Recent places", 8),
|
||||
R.string.recent_places, 8),
|
||||
new DashFragmentData(DashFavoritesFragment.TAG, DashFavoritesFragment.class,
|
||||
"Favourites", defaultShouldShow, false, 9, DashFavoritesFragment.ROW_NUMBER_TAG),
|
||||
R.string.favourites, defaultShouldShow, false, 9, DashFavoritesFragment.ROW_NUMBER_TAG),
|
||||
new DashFragmentData(DashPluginsFragment.TAG, DashPluginsFragment.class,
|
||||
"Plugins", 14)
|
||||
R.string.plugin_settings, 14)
|
||||
};
|
||||
|
||||
private MapActivity mapActivity;
|
||||
|
|
|
@ -10,18 +10,18 @@ import net.osmand.plus.dashboard.DashboardOnMap;
|
|||
public final class DashFragmentData implements Comparable<DashFragmentData> {
|
||||
public final String tag;
|
||||
public final Class<? extends DashBaseFragment> fragmentClass;
|
||||
public final String title;
|
||||
public final int titleStringId;
|
||||
public final ShouldShowFunction shouldShowFunction;
|
||||
public final boolean customDeletionLogic;
|
||||
public final int position;
|
||||
public final String rowNumberTag;
|
||||
|
||||
public DashFragmentData(String tag, Class<? extends DashBaseFragment> fragmentClass,
|
||||
String title, ShouldShowFunction shouldShowFunction,
|
||||
int titleStringId, ShouldShowFunction shouldShowFunction,
|
||||
boolean customDeletionLogic, int position, String rowNumberTag) {
|
||||
this.tag = tag;
|
||||
this.fragmentClass = fragmentClass;
|
||||
this.title = title;
|
||||
this.titleStringId = titleStringId;
|
||||
this.shouldShowFunction = shouldShowFunction;
|
||||
this.customDeletionLogic = customDeletionLogic;
|
||||
this.position = position;
|
||||
|
@ -29,19 +29,19 @@ public final class DashFragmentData implements Comparable<DashFragmentData> {
|
|||
}
|
||||
|
||||
public DashFragmentData(String tag, Class<? extends DashBaseFragment> fragmentClass,
|
||||
String title, ShouldShowFunction shouldShowFunction,
|
||||
int titleStringId, ShouldShowFunction shouldShowFunction,
|
||||
boolean customDeletionLogic, int position) {
|
||||
this(tag, fragmentClass, title, shouldShowFunction, customDeletionLogic, position, null);
|
||||
this(tag, fragmentClass, titleStringId, shouldShowFunction, customDeletionLogic, position, null);
|
||||
}
|
||||
|
||||
public DashFragmentData(String tag, Class<? extends DashBaseFragment> fragmentClass,
|
||||
String title, ShouldShowFunction shouldShowFunction, int position) {
|
||||
this(tag, fragmentClass, title, shouldShowFunction, false, position, null);
|
||||
int titleStringId, ShouldShowFunction shouldShowFunction, int position) {
|
||||
this(tag, fragmentClass, titleStringId, shouldShowFunction, false, position, null);
|
||||
}
|
||||
|
||||
public DashFragmentData(String tag, Class<? extends DashBaseFragment> fragmentClass,
|
||||
String title, int position) {
|
||||
this(tag, fragmentClass, title, new DashboardOnMap.DefaultShouldShow(), false, position,
|
||||
int titleStringId, int position) {
|
||||
this(tag, fragmentClass, titleStringId, new DashboardOnMap.DefaultShouldShow(), false, position,
|
||||
null);
|
||||
}
|
||||
|
||||
|
|
|
@ -229,7 +229,7 @@ public class DashboardSettingsDialogFragment extends DialogFragment {
|
|||
viewHolder.position = position;
|
||||
viewHolder.compoundButton.setTag(viewHolder);
|
||||
viewHolder.compoundButton.setChecked(checkedItems[position]);
|
||||
viewHolder.textView.setText(dashFragmentData.title);
|
||||
viewHolder.textView.setText(dashFragmentData.titleStringId);
|
||||
viewHolder.textView.setTextColor(checkedItems[position] ? textColorPrimary :
|
||||
textColorSecondary);
|
||||
convertView.setTag(viewHolder);
|
||||
|
|
|
@ -130,7 +130,7 @@ public class OsmandDevelopmentPlugin extends OsmandPlugin {
|
|||
public DashFragmentData getCardFragment() {
|
||||
return new DashFragmentData(DashSimulateFragment.TAG,
|
||||
DashSimulateFragment.class,
|
||||
getName(),
|
||||
R.string.debugging_and_development,
|
||||
new DashboardOnMap.DefaultShouldShow(), 15);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,11 +1,22 @@
|
|||
package net.osmand.plus.development;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.LinkedHashSet;
|
||||
import java.util.Set;
|
||||
|
||||
import android.app.ActionBar;
|
||||
import android.app.AlertDialog;
|
||||
import android.app.AlertDialog.Builder;
|
||||
import android.content.DialogInterface;
|
||||
import android.content.pm.ActivityInfo;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.Button;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.LinearLayout.LayoutParams;
|
||||
import android.widget.ScrollView;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
|
||||
import net.osmand.IndexConstants;
|
||||
import net.osmand.access.AccessibleToast;
|
||||
import net.osmand.plus.OsmandApplication;
|
||||
|
@ -15,22 +26,13 @@ import net.osmand.plus.voice.AbstractPrologCommandPlayer;
|
|||
import net.osmand.plus.voice.CommandBuilder;
|
||||
import net.osmand.plus.voice.CommandPlayer;
|
||||
import net.osmand.util.Algorithms;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.LinkedHashSet;
|
||||
import java.util.Set;
|
||||
|
||||
import alice.tuprolog.Struct;
|
||||
import alice.tuprolog.Term;
|
||||
import android.app.ActionBar;
|
||||
import android.app.AlertDialog;
|
||||
import android.app.AlertDialog.Builder;
|
||||
import android.content.DialogInterface;
|
||||
import android.content.pm.ActivityInfo;
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.Button;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.LinearLayout.LayoutParams;
|
||||
import android.widget.ScrollView;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
|
||||
|
||||
/**
|
||||
|
@ -169,23 +171,23 @@ public class TestVoiceActivity extends OsmandActionBarActivity {
|
|||
addButton(ll, "New route has been calculated (150m & 2m5sec)", builder(p).newRouteCalculated(150, 125));
|
||||
addButton(ll, "Route recalculated (23150m & 350sec)", builder(p).routeRecalculated(23150, 350));
|
||||
|
||||
addButton(ll, "In 1520m turn slightly left", builder(p).prepareTurn(AbstractPrologCommandPlayer.A_LEFT_SL, 1520, street(p, "")));
|
||||
addButton(ll, "After 850m turn sharply left onto 'Hauptstra"+"\u00df"+"e', then bear right", builder(p).turn(AbstractPrologCommandPlayer.A_LEFT_SH, 850, street(p, "Hauptstraße")).then().bearRight(street(p, "")));
|
||||
addButton(ll, "Turn left, then after 100m turn slightly right", builder(p).turn(AbstractPrologCommandPlayer.A_LEFT, street(p, "")).then().turn(AbstractPrologCommandPlayer.A_RIGHT_SL, 100, street(p, "")));
|
||||
addButton(ll, "In 3100 turn right onto 'SR 80'", builder(p).prepareTurn(AbstractPrologCommandPlayer.A_RIGHT, 3100, street(p, "SR 80")));
|
||||
addButton(ll, "After 370m turn slightly right onto 'F23' 'Main Street', then bear left", builder(p).turn(AbstractPrologCommandPlayer.A_RIGHT_SL, 370, street(p, "Main Street", "F23")).then().bearLeft(street(p, "")));
|
||||
addButton(ll, "After 1520m turn slightly left", builder(p).prepareTurn(AbstractPrologCommandPlayer.A_LEFT_SL, 1520, street(p, "")));
|
||||
addButton(ll, "In 450m turn sharply left onto 'Hauptstra"+"\u00df"+"e', then bear right", builder(p).turn(AbstractPrologCommandPlayer.A_LEFT_SH, 450, street(p, "Hauptstra<EFBFBD>e")).then().bearRight(street(p, "")));
|
||||
addButton(ll, "Turn left, then in 100m turn slightly right", builder(p).turn(AbstractPrologCommandPlayer.A_LEFT, street(p, "")).then().turn(AbstractPrologCommandPlayer.A_RIGHT_SL, 100, street(p, "")));
|
||||
addButton(ll, "After 3100 turn right onto 'SR 80'", builder(p).prepareTurn(AbstractPrologCommandPlayer.A_RIGHT, 3100, street(p, "SR 80")));
|
||||
addButton(ll, "In 370m turn slightly right onto 'F23' 'Main Street', then bear left", builder(p).turn(AbstractPrologCommandPlayer.A_RIGHT_SL, 370, street(p, "Main Street", "F23")).then().bearLeft(street(p, "")));
|
||||
addButton(ll, "Turn sharply right onto 'Main Street'", builder(p).turn(AbstractPrologCommandPlayer.A_RIGHT_SH, street(p, "Main Street")));
|
||||
|
||||
addButton(ll, "In 1810m keep left ' '", builder(p).prepareTurn(AbstractPrologCommandPlayer.A_LEFT_KEEP, 1810, street(p, "")));
|
||||
addButton(ll, "After 400m keep left ' ' then after 80m keep right 'A1'", builder(p).turn(AbstractPrologCommandPlayer.A_LEFT_KEEP, 400, street(p, "")).then().turn(AbstractPrologCommandPlayer.A_RIGHT_KEEP, 80, street(p,"", "A1")));
|
||||
addButton(ll, "After 1810m keep left ' '", builder(p).prepareTurn(AbstractPrologCommandPlayer.A_LEFT_KEEP, 1810, street(p, "")));
|
||||
addButton(ll, "In 400m keep left ' ' then in 80m keep right 'A1'", builder(p).turn(AbstractPrologCommandPlayer.A_LEFT_KEEP, 400, street(p, "")).then().turn(AbstractPrologCommandPlayer.A_RIGHT_KEEP, 80, street(p,"", "A1")));
|
||||
|
||||
addButton(ll, "In 640m make a U-turn", builder(p).prepareMakeUT(640, street(p, "")));
|
||||
addButton(ll, "After 400m make a U-turn", builder(p).makeUT(400, street(p, "")));
|
||||
addButton(ll, "After 640m make a U-turn", builder(p).prepareMakeUT(640, street(p, "")));
|
||||
addButton(ll, "In 400m make a U-turn", builder(p).makeUT(400, street(p, "")));
|
||||
addButton(ll, "Make a U-turn on 'Riviera'", builder(p).makeUT(street(p, "Riviera")));
|
||||
addButton(ll, "When possible, make a U-turn", builder(p).makeUTwp());
|
||||
|
||||
addButton(ll, "In 1250m enter a roundabout [and take the 3rd exit onto 'Liberty']", builder(p).prepareRoundAbout(1250, 3, street(p,"Liberty")));
|
||||
addButton(ll, "After 450m enter the roundabout and take the 1st exit onto 'Market Square'", builder(p).roundAbout(450, 0, 1, street(p,"", "", "Market Square")));
|
||||
addButton(ll, "After 1250m enter a roundabout [and take the 3rd exit onto 'Liberty']", builder(p).prepareRoundAbout(1250, 3, street(p,"Liberty")));
|
||||
addButton(ll, "In 450m enter the roundabout and take the 1st exit onto 'Market Square'", builder(p).roundAbout(450, 0, 1, street(p,"", "", "Market Square")));
|
||||
addButton(ll, "Roundabout: Take the 2nd exit onto 'Bridge Avenue'", builder(p).roundAbout(0, 2, street(p, "Bridge Avenue")));
|
||||
|
||||
addButton(ll, "Follow the road for 2350m to ' '", builder(p).goAhead(2350, street(p, "")));
|
||||
|
|
|
@ -1,12 +1,16 @@
|
|||
package net.osmand.plus.dialogs;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import android.content.Context;
|
||||
import android.content.DialogInterface;
|
||||
import android.content.DialogInterface.OnMultiChoiceClickListener;
|
||||
import android.content.Intent;
|
||||
import android.support.v7.app.AlertDialog;
|
||||
import android.view.View;
|
||||
import android.widget.ArrayAdapter;
|
||||
import android.widget.Toast;
|
||||
|
||||
import net.osmand.access.AccessibleToast;
|
||||
import net.osmand.core.android.MapRendererContext;
|
||||
import net.osmand.plus.ContextMenuAdapter;
|
||||
import net.osmand.plus.ContextMenuAdapter.OnContextMenuClick;
|
||||
import net.osmand.plus.ContextMenuAdapter.OnRowItemClick;
|
||||
|
@ -20,7 +24,6 @@ import net.osmand.plus.activities.MapActivity;
|
|||
import net.osmand.plus.activities.PluginActivity;
|
||||
import net.osmand.plus.activities.SettingsActivity;
|
||||
import net.osmand.plus.activities.TransportRouteHelper;
|
||||
import net.osmand.plus.dashboard.DashboardOnMap.DashboardType;
|
||||
import net.osmand.plus.poi.PoiUIFilter;
|
||||
import net.osmand.plus.rastermaps.OsmandRasterMapsPlugin;
|
||||
import net.osmand.plus.render.RendererRegistry;
|
||||
|
@ -28,21 +31,18 @@ import net.osmand.plus.views.GPXLayer;
|
|||
import net.osmand.plus.views.OsmandMapTileView;
|
||||
import net.osmand.plus.views.RouteLayer;
|
||||
import net.osmand.plus.views.corenative.NativeCoreContext;
|
||||
import gnu.trove.list.array.TIntArrayList;
|
||||
import net.osmand.core.android.MapRendererContext;
|
||||
import net.osmand.render.RenderingRuleProperty;
|
||||
import net.osmand.render.RenderingRuleStorageProperties;
|
||||
import net.osmand.render.RenderingRulesStorage;
|
||||
import net.osmand.util.Algorithms;
|
||||
import android.app.AlertDialog;
|
||||
import android.app.AlertDialog.Builder;
|
||||
import android.content.Context;
|
||||
import android.content.DialogInterface;
|
||||
import android.content.Intent;
|
||||
import android.content.DialogInterface.OnMultiChoiceClickListener;
|
||||
import android.view.View;
|
||||
import android.widget.ArrayAdapter;
|
||||
import android.widget.Toast;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
|
||||
import gnu.trove.list.array.TIntArrayList;
|
||||
|
||||
public class ConfigureMapMenu {
|
||||
|
||||
|
@ -473,7 +473,7 @@ public class ConfigureMapMenu {
|
|||
|
||||
protected void showPreferencesDialog(final ContextMenuAdapter adapter, final ArrayAdapter<?> a, final int pos, final MapActivity activity,
|
||||
String category, List<RenderingRuleProperty> ps, final List<CommonPreference<Boolean>> prefs) {
|
||||
Builder bld = new AlertDialog.Builder(activity);
|
||||
AlertDialog.Builder bld = new AlertDialog.Builder(activity);
|
||||
boolean[] checkedItems = new boolean[prefs.size()];
|
||||
for (int i = 0; i < prefs.size(); i++) {
|
||||
checkedItems[i] = prefs.get(i).get();
|
||||
|
|
|
@ -135,7 +135,7 @@ public class FavoriteDialogs {
|
|||
point.setName(editText.getText().toString().trim());
|
||||
point.setDescription(description.getText().toString().trim());
|
||||
point.setCategory(categoryStr);
|
||||
Builder bld = FavouritesDbHelper.checkDublicates(point, helper, activity);
|
||||
Builder bld = FavouritesDbHelper.checkDuplicates(point, helper, activity);
|
||||
if(bld != null) {
|
||||
bld.setPositiveButton(R.string.shared_string_ok, new DialogInterface.OnClickListener() {
|
||||
@Override
|
||||
|
|
|
@ -1,12 +1,24 @@
|
|||
package net.osmand.plus.helpers;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.Comparator;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import android.app.Activity;
|
||||
import android.app.Application;
|
||||
import android.app.ProgressDialog;
|
||||
import android.content.DialogInterface;
|
||||
import android.content.DialogInterface.OnClickListener;
|
||||
import android.os.Build;
|
||||
import android.support.v7.app.AlertDialog;
|
||||
import android.util.TypedValue;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.AdapterView;
|
||||
import android.widget.AdapterView.OnItemClickListener;
|
||||
import android.widget.ArrayAdapter;
|
||||
import android.widget.CheckBox;
|
||||
import android.widget.CompoundButton;
|
||||
import android.widget.CompoundButton.OnCheckedChangeListener;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
|
||||
import net.osmand.CallbackWithObject;
|
||||
import net.osmand.IndexConstants;
|
||||
|
@ -20,26 +32,14 @@ import net.osmand.plus.OsmAndFormatter;
|
|||
import net.osmand.plus.OsmandApplication;
|
||||
import net.osmand.plus.R;
|
||||
import net.osmand.util.Algorithms;
|
||||
import android.app.Activity;
|
||||
import android.app.AlertDialog;
|
||||
import android.app.AlertDialog.Builder;
|
||||
import android.app.Application;
|
||||
import android.app.ProgressDialog;
|
||||
import android.content.DialogInterface;
|
||||
import android.content.DialogInterface.OnClickListener;
|
||||
import android.os.Build;
|
||||
import android.util.TypedValue;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.AdapterView;
|
||||
import android.widget.AdapterView.OnItemClickListener;
|
||||
import android.widget.ArrayAdapter;
|
||||
import android.widget.CheckBox;
|
||||
import android.widget.CompoundButton;
|
||||
import android.widget.CompoundButton.OnCheckedChangeListener;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.Comparator;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public class GpxUiHelper {
|
||||
|
||||
|
@ -232,7 +232,7 @@ public class GpxUiHelper {
|
|||
final List<String> list, final ContextMenuAdapter adapter) {
|
||||
final OsmandApplication app = (OsmandApplication) activity.getApplication();
|
||||
final File dir = app.getAppPath(IndexConstants.GPX_INDEX_DIR);
|
||||
Builder b = new AlertDialog.Builder(activity);
|
||||
AlertDialog.Builder b = new AlertDialog.Builder(activity);
|
||||
// final int padding = (int) (12 * activity.getResources().getDisplayMetrics().density + 0.5f);
|
||||
final boolean light = app.getSettings().isLightContent();
|
||||
final int layout;
|
||||
|
|
|
@ -1,7 +1,20 @@
|
|||
package net.osmand.plus.helpers;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import android.app.Activity;
|
||||
import android.content.DialogInterface;
|
||||
import android.content.DialogInterface.OnClickListener;
|
||||
import android.content.DialogInterface.OnDismissListener;
|
||||
import android.os.AsyncTask;
|
||||
import android.support.v4.app.FragmentActivity;
|
||||
import android.support.v7.app.AlertDialog;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.AdapterView;
|
||||
import android.widget.ArrayAdapter;
|
||||
import android.widget.CompoundButton;
|
||||
import android.widget.ImageButton;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import net.osmand.data.LatLon;
|
||||
import net.osmand.data.LocationPoint;
|
||||
|
@ -16,21 +29,9 @@ import net.osmand.plus.helpers.WaypointHelper.LocationPointWrapper;
|
|||
import net.osmand.plus.poi.PoiUIFilter;
|
||||
import net.osmand.plus.views.AnimateDraggingMapThread;
|
||||
import net.osmand.util.MapUtils;
|
||||
import android.app.Activity;
|
||||
import android.app.AlertDialog;
|
||||
import android.content.DialogInterface;
|
||||
import android.content.DialogInterface.OnClickListener;
|
||||
import android.content.DialogInterface.OnDismissListener;
|
||||
import android.os.AsyncTask;
|
||||
import android.support.v4.app.FragmentActivity;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.AdapterView;
|
||||
import android.widget.ArrayAdapter;
|
||||
import android.widget.CompoundButton;
|
||||
import android.widget.ImageButton;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
*/
|
||||
|
|
|
@ -0,0 +1,27 @@
|
|||
package net.osmand.plus.mapcontextmenu;
|
||||
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.view.View;
|
||||
|
||||
import net.osmand.plus.IconsCache;
|
||||
import net.osmand.plus.OsmandApplication;
|
||||
import net.osmand.plus.R;
|
||||
|
||||
public abstract class BottomSectionBuilder {
|
||||
|
||||
protected OsmandApplication app;
|
||||
|
||||
public BottomSectionBuilder(OsmandApplication app) {
|
||||
this.app = app;
|
||||
}
|
||||
|
||||
public abstract void buildSection(View view);
|
||||
|
||||
public Drawable getRowIcon(int iconId) {
|
||||
IconsCache iconsCache = app.getIconsCache();
|
||||
boolean light = app.getSettings().isLightContent();
|
||||
return iconsCache.getIcon(iconId,
|
||||
light ? R.color.icon_color : R.color.icon_color_light);
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,166 @@
|
|||
package net.osmand.plus.mapcontextmenu;
|
||||
|
||||
import android.content.res.Resources;
|
||||
import android.util.AttributeSet;
|
||||
import android.util.TypedValue;
|
||||
import android.view.Gravity;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import net.osmand.data.Amenity;
|
||||
import net.osmand.osm.AbstractPoiType;
|
||||
import net.osmand.osm.MapPoiTypes;
|
||||
import net.osmand.osm.PoiType;
|
||||
import net.osmand.plus.OsmandApplication;
|
||||
import net.osmand.plus.R;
|
||||
import net.osmand.util.Algorithms;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
import static android.util.TypedValue.COMPLEX_UNIT_DIP;
|
||||
|
||||
public class InfoSectionBuilder extends BottomSectionBuilder {
|
||||
|
||||
private final Amenity amenity;
|
||||
|
||||
public InfoSectionBuilder(OsmandApplication app, final Amenity amenity) {
|
||||
super(app);
|
||||
this.amenity = amenity;
|
||||
}
|
||||
|
||||
private void buildRow(View view, int iconId, String text) {
|
||||
|
||||
/*
|
||||
<LinearLayout
|
||||
android:id="@+id/context_menu_top_view"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal">
|
||||
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/context_menu_icon_layout"
|
||||
android:orientation="horizontal"
|
||||
android:layout_width="42dp"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/context_menu_icon_view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:scaleType="center"
|
||||
android:layout_marginStart="12dp"
|
||||
android:layout_marginLeft="12dp"
|
||||
android:src="@drawable/ic_action_building_number"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="16dp"
|
||||
android:layout_marginBottom="16dp"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/context_menu_line1"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="12dp"
|
||||
android:layout_marginRight="12dp"
|
||||
android:text="@string/search_address_building"
|
||||
android:textSize="@dimen/default_list_text_size_large"
|
||||
android:textColor="?android:textColorPrimary"
|
||||
android:textStyle="bold"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1px"
|
||||
android:background="#c9c9c9"/>
|
||||
|
||||
*/
|
||||
|
||||
|
||||
LinearLayout ll = new LinearLayout(view.getContext());
|
||||
ll.setOrientation(LinearLayout.HORIZONTAL);
|
||||
ll.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));
|
||||
|
||||
// Icon
|
||||
LinearLayout llIcon = new LinearLayout(view.getContext());
|
||||
llIcon.setOrientation(LinearLayout.HORIZONTAL);
|
||||
llIcon.setLayoutParams(new LinearLayout.LayoutParams(dpToPx(42f), ViewGroup.LayoutParams.MATCH_PARENT));
|
||||
ll.addView(llIcon);
|
||||
|
||||
ImageView icon = new ImageView(view.getContext());
|
||||
ViewGroup.MarginLayoutParams llIconParams = new ViewGroup.MarginLayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
|
||||
llIconParams.setMargins(dpToPx(12f), 0, 0, 0);
|
||||
//llIconParams.setGravity(Gravity.CENTER_VERTICAL);
|
||||
icon.setLayoutParams(llIconParams);
|
||||
icon.setScaleType(ImageView.ScaleType.CENTER);
|
||||
icon.setImageDrawable(getRowIcon(iconId));
|
||||
llIcon.addView(icon);
|
||||
|
||||
// Text
|
||||
LinearLayout llText = new LinearLayout(view.getContext());
|
||||
llText.setOrientation(LinearLayout.VERTICAL);
|
||||
ViewGroup.MarginLayoutParams llTextParams = new ViewGroup.MarginLayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
|
||||
llTextParams.setMargins(0, dpToPx(4f), 0, dpToPx(4f));
|
||||
llText.setLayoutParams(llTextParams);
|
||||
ll.addView(llText);
|
||||
|
||||
TextView textView = new TextView(view.getContext());
|
||||
ViewGroup.MarginLayoutParams llTextViewParams = new ViewGroup.MarginLayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
|
||||
llTextViewParams.setMargins(dpToPx(10f), 0, dpToPx(10f), 0);
|
||||
llText.setLayoutParams(llTextViewParams);
|
||||
}
|
||||
|
||||
public int dpToPx(float dp) {
|
||||
Resources r = app.getResources();
|
||||
return (int) TypedValue.applyDimension(
|
||||
COMPLEX_UNIT_DIP,
|
||||
dp,
|
||||
r.getDisplayMetrics()
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void buildSection(View view) {
|
||||
|
||||
MapPoiTypes poiTypes = app.getPoiTypes();
|
||||
for(Map.Entry<String, String> e : amenity.getAdditionalInfo().entrySet()) {
|
||||
int iconId = 0;
|
||||
String key = e.getKey();
|
||||
String vl = e.getValue();
|
||||
if(key.startsWith("name:")) {
|
||||
continue;
|
||||
} else if(Amenity.OPENING_HOURS.equals(key)) {
|
||||
iconId = R.drawable.mm_clock; // todo: change icon
|
||||
} else if(Amenity.PHONE.equals(key)) {
|
||||
iconId = R.drawable.mm_amenity_telephone; // todo: change icon
|
||||
} else if(Amenity.WEBSITE.equals(key)) {
|
||||
iconId = R.drawable.mm_internet_access; // todo: change icon
|
||||
} else {
|
||||
iconId = R.drawable.ic_type_info; // todo: change icon
|
||||
AbstractPoiType pt = poiTypes.getAnyPoiAdditionalTypeByKey(e.getKey());
|
||||
if (pt != null) {
|
||||
if(pt instanceof PoiType && !((PoiType) pt).isText()) {
|
||||
vl = pt.getTranslation();
|
||||
} else {
|
||||
vl = /*pt.getTranslation() + ": " + */amenity.unzipContent(e.getValue());
|
||||
}
|
||||
} else {
|
||||
vl = /*Algorithms.capitalizeFirstLetterAndLowercase(e.getKey()) +
|
||||
": " + */amenity.unzipContent(e.getValue());
|
||||
}
|
||||
}
|
||||
|
||||
buildRow(view, iconId, vl);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -14,6 +14,7 @@ import net.osmand.plus.OsmandSettings;
|
|||
import net.osmand.plus.activities.MapActivity;
|
||||
import net.osmand.plus.render.RenderingIcons;
|
||||
import net.osmand.plus.routing.RoutingHelper;
|
||||
import net.osmand.plus.views.OsmandMapLayer;
|
||||
import net.osmand.util.Algorithms;
|
||||
|
||||
public class MapContextMenu {
|
||||
|
@ -24,7 +25,6 @@ public class MapContextMenu {
|
|||
|
||||
private PointDescription pointDescription;
|
||||
private Object object;
|
||||
private ContextMenuAdapter menuAdapter;
|
||||
|
||||
private String foundStreetName;
|
||||
|
||||
|
@ -59,14 +59,13 @@ public class MapContextMenu {
|
|||
|
||||
}
|
||||
|
||||
public void show(PointDescription pointDescription, Object object, ContextMenuAdapter menuAdapter) {
|
||||
public void show(PointDescription pointDescription, Object object) {
|
||||
|
||||
if (isMenuVisible())
|
||||
hide();
|
||||
|
||||
this.pointDescription = pointDescription;
|
||||
this.object = object;
|
||||
this.menuAdapter = menuAdapter;
|
||||
|
||||
acquireStretName();
|
||||
|
||||
|
@ -92,34 +91,37 @@ public class MapContextMenu {
|
|||
}
|
||||
|
||||
public int getLeftIconId() {
|
||||
if (object instanceof Amenity) {
|
||||
String id = null;
|
||||
Amenity o = (Amenity)object;
|
||||
PoiType st = o.getType().getPoiTypeByKeyName(o.getSubType());
|
||||
if (st != null) {
|
||||
if (RenderingIcons.containsSmallIcon(st.getIconKeyName())) {
|
||||
id = st.getIconKeyName();
|
||||
} else if (RenderingIcons.containsSmallIcon(st.getOsmTag() + "_" + st.getOsmValue())) {
|
||||
id = st.getOsmTag() + "_" + st.getOsmValue();
|
||||
if (object != null) {
|
||||
if (object instanceof Amenity) {
|
||||
String id = null;
|
||||
Amenity o = (Amenity) object;
|
||||
PoiType st = o.getType().getPoiTypeByKeyName(o.getSubType());
|
||||
if (st != null) {
|
||||
if (RenderingIcons.containsSmallIcon(st.getIconKeyName())) {
|
||||
id = st.getIconKeyName();
|
||||
} else if (RenderingIcons.containsSmallIcon(st.getOsmTag() + "_" + st.getOsmValue())) {
|
||||
id = st.getOsmTag() + "_" + st.getOsmValue();
|
||||
}
|
||||
}
|
||||
}
|
||||
if (id != null) {
|
||||
Integer resId = RenderingIcons.getResId(id);
|
||||
if (resId != null) {
|
||||
return resId;
|
||||
if (id != null) {
|
||||
Integer resId = RenderingIcons.getResId(id);
|
||||
if (resId != null) {
|
||||
return resId;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
public String getAddressStr() {
|
||||
String res = null;
|
||||
|
||||
if (object instanceof Amenity) {
|
||||
Amenity amenity = (Amenity) object;
|
||||
res = OsmAndFormatter.getPoiStringWithoutType(amenity, settings.MAP_PREFERRED_LOCALE.get());
|
||||
if (object != null) {
|
||||
if (object instanceof Amenity) {
|
||||
Amenity amenity = (Amenity) object;
|
||||
res = OsmAndFormatter.getPoiStringWithoutType(amenity, settings.MAP_PREFERRED_LOCALE.get());
|
||||
}
|
||||
}
|
||||
|
||||
if (Algorithms.isEmpty(res)) {
|
||||
|
@ -132,7 +134,7 @@ public class MapContextMenu {
|
|||
res = typeName;
|
||||
}
|
||||
|
||||
return Algorithms.isEmpty(res) ? "???" : res;
|
||||
return Algorithms.isEmpty(res) ? "Address is unknown yet" : res; // todo: text constant
|
||||
}
|
||||
|
||||
public String getLocationStr() {
|
||||
|
@ -142,12 +144,23 @@ public class MapContextMenu {
|
|||
return foundStreetName;
|
||||
}
|
||||
|
||||
public BottomSectionBuilder getBottomSectionBuilder() {
|
||||
|
||||
if (object != null) {
|
||||
if (object instanceof Amenity) {
|
||||
return new InfoSectionBuilder(app, (Amenity)object);
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public void buttonNavigatePressed() {
|
||||
mapActivity.getMapActions().showNavigationContextMenuPoint(pointDescription.getLat(), pointDescription.getLon(), object);
|
||||
mapActivity.getMapActions().showNavigationContextMenuPoint(pointDescription.getLat(), pointDescription.getLon());
|
||||
}
|
||||
|
||||
public void buttonFavoritePressed() {
|
||||
if (object instanceof FavouritePoint) {
|
||||
if (object != null && object instanceof FavouritePoint) {
|
||||
mapActivity.getMapActions().editFavoritePoint((FavouritePoint)object);
|
||||
} else {
|
||||
mapActivity.getMapActions().addFavouritePoint(pointDescription.getLat(), pointDescription.getLon());
|
||||
|
@ -159,6 +172,13 @@ public class MapContextMenu {
|
|||
}
|
||||
|
||||
public void buttonMorePressed() {
|
||||
final ContextMenuAdapter menuAdapter = new ContextMenuAdapter(mapActivity);
|
||||
if (object != null) {
|
||||
for (OsmandMapLayer layer : mapActivity.getMapView().getLayers()) {
|
||||
layer.populateObjectContextMenu(object, menuAdapter);
|
||||
}
|
||||
}
|
||||
|
||||
mapActivity.getMapActions().contextMenuPoint(pointDescription.getLat(), pointDescription.getLon(), menuAdapter, object);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -10,14 +10,18 @@ import android.view.MotionEvent;
|
|||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.view.animation.DecelerateInterpolator;
|
||||
import android.widget.Button;
|
||||
import android.widget.ImageButton;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import net.osmand.PlatformUtil;
|
||||
import net.osmand.plus.IconsCache;
|
||||
import net.osmand.plus.OsmandApplication;
|
||||
import net.osmand.plus.R;
|
||||
import net.osmand.plus.activities.MapActivity;
|
||||
import net.osmand.plus.activities.search.SearchActivity;
|
||||
|
||||
import org.apache.commons.logging.Log;
|
||||
|
||||
|
@ -122,6 +126,10 @@ public class MapContextMenuFragment extends Fragment {
|
|||
}
|
||||
});
|
||||
|
||||
// Left icon
|
||||
IconsCache iconsCache = getMyApplication().getIconsCache();
|
||||
boolean light = getMyApplication().getSettings().isLightContent();
|
||||
|
||||
int iconId = MapContextMenu.getInstance().getLeftIconId();
|
||||
|
||||
final View iconLayout = view.findViewById(R.id.context_menu_icon_layout);
|
||||
|
@ -129,16 +137,34 @@ public class MapContextMenuFragment extends Fragment {
|
|||
if (iconId == 0) {
|
||||
iconLayout.setVisibility(View.GONE);
|
||||
} else {
|
||||
iconView.setImageResource(iconId);
|
||||
iconView.setImageDrawable(iconsCache.getIcon(iconId,
|
||||
light ? R.color.icon_color : R.color.icon_color_light));
|
||||
}
|
||||
|
||||
// Text line 1
|
||||
TextView line1 = (TextView) view.findViewById(R.id.context_menu_line1);
|
||||
line1.setText(MapContextMenu.getInstance().getAddressStr());
|
||||
|
||||
// Text line 2
|
||||
TextView line2 = (TextView) view.findViewById(R.id.context_menu_line2);
|
||||
line2.setText(MapContextMenu.getInstance().getLocationStr());
|
||||
|
||||
// Close button
|
||||
final ImageView closeButtonView = (ImageView)view.findViewById(R.id.context_menu_close_btn_view);
|
||||
closeButtonView.setImageDrawable(iconsCache.getIcon(R.drawable.ic_action_remove_dark,
|
||||
light ? R.color.actionbar_dark_color : R.color.actionbar_light_color));
|
||||
closeButtonView.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
((MapActivity)getActivity()).getMapLayers().getContextMenuLayer().hideMapContextMenuMarker();
|
||||
dismissMenu();
|
||||
}
|
||||
});
|
||||
|
||||
// Action buttons
|
||||
final ImageButton buttonNavigate = (ImageButton) view.findViewById(R.id.context_menu_route_button);
|
||||
buttonNavigate.setImageDrawable(iconsCache.getIcon(R.drawable.map_directions,
|
||||
light ? R.color.actionbar_dark_color : R.color.actionbar_light_color));
|
||||
buttonNavigate.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
|
@ -147,6 +173,8 @@ public class MapContextMenuFragment extends Fragment {
|
|||
});
|
||||
|
||||
final ImageButton buttonFavorite = (ImageButton) view.findViewById(R.id.context_menu_fav_button);
|
||||
buttonFavorite.setImageDrawable(iconsCache.getIcon(R.drawable.ic_action_fav_dark,
|
||||
light ? R.color.actionbar_dark_color : R.color.actionbar_light_color));
|
||||
buttonFavorite.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
|
@ -155,6 +183,8 @@ public class MapContextMenuFragment extends Fragment {
|
|||
});
|
||||
|
||||
final ImageButton buttonShare = (ImageButton) view.findViewById(R.id.context_menu_share_button);
|
||||
buttonShare.setImageDrawable(iconsCache.getIcon(R.drawable.abc_ic_menu_share_mtrl_alpha,
|
||||
light ? R.color.actionbar_dark_color : R.color.actionbar_light_color));
|
||||
buttonShare.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
|
@ -163,6 +193,8 @@ public class MapContextMenuFragment extends Fragment {
|
|||
});
|
||||
|
||||
final ImageButton buttonMore = (ImageButton) view.findViewById(R.id.context_menu_more_button);
|
||||
buttonMore.setImageDrawable(iconsCache.getIcon(R.drawable.ic_action_core_overflow_dark,
|
||||
light ? R.color.actionbar_dark_color : R.color.actionbar_light_color));
|
||||
buttonMore.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
|
@ -170,6 +202,14 @@ public class MapContextMenuFragment extends Fragment {
|
|||
}
|
||||
});
|
||||
|
||||
// Bottom view
|
||||
BottomSectionBuilder bottomSectionBuilder = MapContextMenu.getInstance().getBottomSectionBuilder();
|
||||
if (bottomSectionBuilder != null) {
|
||||
View bottomView = view.findViewById(R.id.context_menu_bottom_view);
|
||||
bottomSectionBuilder.buildSection(bottomView);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
Toolbar toolbar = (Toolbar) view.findViewById(R.id.toolbar);
|
||||
toolbar.setTitle(R.string.poi_create_title);
|
||||
|
@ -215,6 +255,13 @@ public class MapContextMenuFragment extends Fragment {
|
|||
getActivity().getSupportFragmentManager().popBackStack();
|
||||
}
|
||||
|
||||
public OsmandApplication getMyApplication() {
|
||||
if (getActivity() == null) {
|
||||
return null;
|
||||
}
|
||||
return (OsmandApplication) getActivity().getApplication();
|
||||
}
|
||||
|
||||
public static void showInstance(final MapActivity mapActivity) {
|
||||
MapContextMenuFragment fragment = new MapContextMenuFragment();
|
||||
mapActivity.getSupportFragmentManager().beginTransaction()
|
||||
|
|
|
@ -1,8 +1,29 @@
|
|||
package net.osmand.plus.monitoring;
|
||||
|
||||
import gnu.trove.list.array.TIntArrayList;
|
||||
|
||||
import java.util.List;
|
||||
import android.app.Activity;
|
||||
import android.app.AlertDialog;
|
||||
import android.app.AlertDialog.Builder;
|
||||
import android.app.NotificationManager;
|
||||
import android.app.PendingIntent;
|
||||
import android.content.BroadcastReceiver;
|
||||
import android.content.Context;
|
||||
import android.content.DialogInterface;
|
||||
import android.content.DialogInterface.OnClickListener;
|
||||
import android.content.Intent;
|
||||
import android.content.IntentFilter;
|
||||
import android.support.v4.app.NotificationCompat;
|
||||
import android.util.DisplayMetrics;
|
||||
import android.view.View;
|
||||
import android.view.WindowManager;
|
||||
import android.widget.ArrayAdapter;
|
||||
import android.widget.CheckBox;
|
||||
import android.widget.CompoundButton;
|
||||
import android.widget.CompoundButton.OnCheckedChangeListener;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.LinearLayout.LayoutParams;
|
||||
import android.widget.SeekBar;
|
||||
import android.widget.SeekBar.OnSeekBarChangeListener;
|
||||
import android.widget.TextView;
|
||||
|
||||
import net.osmand.Location;
|
||||
import net.osmand.ValueHolder;
|
||||
|
@ -23,27 +44,15 @@ import net.osmand.plus.views.MapInfoLayer;
|
|||
import net.osmand.plus.views.OsmandMapLayer.DrawSettings;
|
||||
import net.osmand.plus.views.OsmandMapTileView;
|
||||
import net.osmand.plus.views.mapwidgets.TextInfoWidget;
|
||||
import android.app.Activity;
|
||||
import android.app.AlertDialog;
|
||||
import android.app.AlertDialog.Builder;
|
||||
import android.content.Context;
|
||||
import android.content.DialogInterface;
|
||||
import android.content.DialogInterface.OnClickListener;
|
||||
import android.util.DisplayMetrics;
|
||||
import android.view.View;
|
||||
import android.view.WindowManager;
|
||||
import android.widget.ArrayAdapter;
|
||||
import android.widget.CheckBox;
|
||||
import android.widget.CompoundButton;
|
||||
import android.widget.CompoundButton.OnCheckedChangeListener;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.LinearLayout.LayoutParams;
|
||||
import android.widget.SeekBar;
|
||||
import android.widget.SeekBar.OnSeekBarChangeListener;
|
||||
import android.widget.TextView;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import gnu.trove.list.array.TIntArrayList;
|
||||
|
||||
public class OsmandMonitoringPlugin extends OsmandPlugin {
|
||||
private static final String ID = "osmand.monitoring";
|
||||
private static final int notificationId = ID.hashCode();
|
||||
public final static String OSMAND_SAVE_SERVICE_ACTION = "OSMAND_SAVE_SERVICE_ACTION";
|
||||
private OsmandSettings settings;
|
||||
private OsmandApplication app;
|
||||
private TextInfoWidget monitoringControl;
|
||||
|
@ -328,6 +337,10 @@ public class OsmandMonitoringPlugin extends OsmandPlugin {
|
|||
public void stopRecording(){
|
||||
settings.SAVE_GLOBAL_TRACK_TO_GPX.set(false);
|
||||
if (app.getNavigationService() != null) {
|
||||
NotificationManager mNotificationManager =
|
||||
(NotificationManager) app.getNavigationService()
|
||||
.getSystemService(Context.NOTIFICATION_SERVICE);
|
||||
mNotificationManager.cancel(notificationId);
|
||||
app.getNavigationService().stopIfNeeded(app, NavigationService.USED_BY_GPX);
|
||||
}
|
||||
}
|
||||
|
@ -366,7 +379,39 @@ public class OsmandMonitoringPlugin extends OsmandPlugin {
|
|||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
String stop = map.getResources().getString(R.string.shared_string_control_stop);
|
||||
Intent stopIntent = new Intent(NavigationService.OSMAND_STOP_SERVICE_ACTION);
|
||||
PendingIntent stopPendingIntent = PendingIntent.getBroadcast(map, 0, stopIntent,
|
||||
PendingIntent.FLAG_UPDATE_CURRENT);
|
||||
String save = map.getResources().getString(R.string.shared_string_save);
|
||||
Intent saveIntent = new Intent(OSMAND_SAVE_SERVICE_ACTION);
|
||||
PendingIntent savePendingIntent = PendingIntent.getBroadcast(map, 0, saveIntent,
|
||||
PendingIntent.FLAG_UPDATE_CURRENT);
|
||||
|
||||
BroadcastReceiver saveBroadcastReceiver = new BroadcastReceiver() {
|
||||
@Override
|
||||
public void onReceive(Context context, Intent intent) {
|
||||
final OsmandMonitoringPlugin plugin = OsmandPlugin
|
||||
.getEnabledPlugin(OsmandMonitoringPlugin.class);
|
||||
if (plugin != null) {
|
||||
plugin.saveCurrentTrack();
|
||||
}
|
||||
}
|
||||
};
|
||||
map.registerReceiver(saveBroadcastReceiver, new IntentFilter(OSMAND_SAVE_SERVICE_ACTION));
|
||||
|
||||
final NotificationCompat.Builder notificationBuilder =
|
||||
new android.support.v7.app.NotificationCompat.Builder(map)
|
||||
.setContentTitle(map.getResources().getString(R.string.map_widget_monitoring))
|
||||
.setSmallIcon(R.drawable.ic_action_polygom_dark)
|
||||
// .setLargeIcon(Helpers.getBitmap(R.drawable.mirakel, getBaseContext()))
|
||||
.setOngoing(true)
|
||||
.addAction(R.drawable.ic_action_rec_stop, stop, stopPendingIntent)
|
||||
.addAction(R.drawable.ic_action_save, save, savePendingIntent);
|
||||
NotificationManager mNotificationManager =
|
||||
(NotificationManager) map.getSystemService(Context.NOTIFICATION_SERVICE);
|
||||
mNotificationManager.notify(notificationId, notificationBuilder.build());
|
||||
}
|
||||
|
||||
public static void showIntervalChooseDialog(final Context uiCtx, final String patternMsg,
|
||||
|
@ -465,6 +510,7 @@ public class OsmandMonitoringPlugin extends OsmandPlugin {
|
|||
|
||||
@Override
|
||||
public DashFragmentData getCardFragment() {
|
||||
return new DashFragmentData(DashTrackFragment.TAG, DashTrackFragment.class, getName(), 11);
|
||||
return new DashFragmentData(DashTrackFragment.TAG, DashTrackFragment.class,
|
||||
R.string.record_plugin_name, 11);
|
||||
}
|
||||
}
|
|
@ -1,14 +1,6 @@
|
|||
package net.osmand.plus.monitoring;
|
||||
|
||||
|
||||
import android.view.Window;
|
||||
import net.osmand.plus.NavigationService;
|
||||
import net.osmand.plus.OsmAndTaskManager.OsmAndTaskRunnable;
|
||||
import net.osmand.plus.OsmandApplication;
|
||||
import net.osmand.plus.OsmandSettings;
|
||||
import net.osmand.plus.R;
|
||||
import net.osmand.plus.activities.SavingTrackHelper;
|
||||
import net.osmand.plus.activities.SettingsBaseActivity;
|
||||
import android.content.BroadcastReceiver;
|
||||
import android.content.ComponentName;
|
||||
import android.content.Context;
|
||||
|
@ -21,6 +13,15 @@ import android.preference.Preference.OnPreferenceChangeListener;
|
|||
import android.preference.Preference.OnPreferenceClickListener;
|
||||
import android.preference.PreferenceCategory;
|
||||
import android.preference.PreferenceScreen;
|
||||
import android.view.Window;
|
||||
|
||||
import net.osmand.plus.NavigationService;
|
||||
import net.osmand.plus.OsmAndTaskManager.OsmAndTaskRunnable;
|
||||
import net.osmand.plus.OsmandApplication;
|
||||
import net.osmand.plus.OsmandSettings;
|
||||
import net.osmand.plus.R;
|
||||
import net.osmand.plus.activities.SavingTrackHelper;
|
||||
import net.osmand.plus.activities.SettingsBaseActivity;
|
||||
|
||||
|
||||
public class SettingsMonitoringActivity extends SettingsBaseActivity {
|
||||
|
|
|
@ -424,7 +424,8 @@ public class AvailableGPXFragment extends OsmandExpandableListFragment {
|
|||
private void enableSelectionMode(boolean selectionMode) {
|
||||
this.selectionMode = selectionMode;
|
||||
if (AndroidUiHelper.isOrientationPortrait(getActivity())) {
|
||||
((FavoritesActivity) getActivity()).setToolbarVisibility(!selectionMode);
|
||||
((FavoritesActivity) getActivity()).setToolbarVisibility(!selectionMode &&
|
||||
AndroidUiHelper.isOrientationPortrait(getActivity()));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,28 +1,24 @@
|
|||
package net.osmand.plus.osmedit;
|
||||
|
||||
import android.app.AlertDialog;
|
||||
import android.app.Dialog;
|
||||
import android.app.ProgressDialog;
|
||||
import android.content.DialogInterface;
|
||||
import android.os.Bundle;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.v4.app.DialogFragment;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.Button;
|
||||
import android.widget.EditText;
|
||||
import android.widget.ImageButton;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import net.osmand.data.PointDescription;
|
||||
import net.osmand.plus.OsmandPlugin;
|
||||
import net.osmand.plus.OsmandSettings;
|
||||
import net.osmand.plus.ProgressImplementation;
|
||||
import net.osmand.plus.R;
|
||||
import net.osmand.plus.activities.MapActivity;
|
||||
import net.osmand.plus.dashboard.DashBaseFragment;
|
||||
import net.osmand.plus.osmedit.dialogs.SendPoiDialogFragment;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
@ -32,7 +28,8 @@ import java.util.Map;
|
|||
* Created by Denis
|
||||
* on 20.01.2015.
|
||||
*/
|
||||
public class DashOsmEditsFragment extends DashBaseFragment {
|
||||
public class DashOsmEditsFragment extends DashBaseFragment
|
||||
implements SendPoiDialogFragment.ProgressDialogPoiUploader {
|
||||
public static final String TAG = "DASH_OSM_EDITS_FRAGMENT";
|
||||
|
||||
OsmEditingPlugin plugin;
|
||||
|
@ -96,7 +93,7 @@ public class DashOsmEditsFragment extends DashBaseFragment {
|
|||
@Override
|
||||
public void onClick(View v) {
|
||||
if (point.getGroup() == OsmPoint.Group.POI) {
|
||||
SendPoiDialogFragment.createInstance((OpenstreetmapPoint) point)
|
||||
SendPoiDialogFragment.createInstance(new OsmPoint[] {point})
|
||||
.show(getChildFragmentManager(), "SendPoiDialogFragment");
|
||||
} else {
|
||||
uploadItem(point);
|
||||
|
@ -123,22 +120,23 @@ public class DashOsmEditsFragment extends DashBaseFragment {
|
|||
}
|
||||
}
|
||||
|
||||
// TODO: 9/7/15 Redesign osm notes.
|
||||
private void uploadItem(final OsmPoint point) {
|
||||
AlertDialog.Builder b = new AlertDialog.Builder(getActivity());
|
||||
b.setMessage(getString(R.string.local_osm_changes_upload_all_confirm, 1));
|
||||
b.setPositiveButton(R.string.shared_string_yes, new DialogInterface.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
showProgressDialog(point);
|
||||
showProgressDialog(new OsmPoint[] {point}, false);
|
||||
}
|
||||
});
|
||||
b.setNegativeButton(R.string.shared_string_cancel, null);
|
||||
b.show();
|
||||
}
|
||||
|
||||
private void showProgressDialog(OsmPoint point) {
|
||||
public void showProgressDialog(OsmPoint[] points, boolean closeChangeSet) {
|
||||
OpenstreetmapRemoteUtil remotepoi = new OpenstreetmapRemoteUtil(getActivity());
|
||||
OsmPoint[] toUpload = new OsmPoint[]{point};
|
||||
OsmPoint[] toUpload = points;
|
||||
OsmBugsRemoteUtil remotebug = new OsmBugsRemoteUtil(getMyApplication());
|
||||
ProgressDialog dialog = ProgressImplementation.createProgressDialog(getActivity(),
|
||||
getString(R.string.uploading), getString(R.string.local_openstreetmap_uploading),
|
||||
|
@ -162,7 +160,7 @@ public class DashOsmEditsFragment extends DashBaseFragment {
|
|||
}
|
||||
};
|
||||
UploadOpenstreetmapPointAsyncTask uploadTask = new UploadOpenstreetmapPointAsyncTask(dialog,
|
||||
listener, plugin, remotepoi, remotebug, toUpload.length);
|
||||
listener, plugin, remotepoi, remotebug, toUpload.length, closeChangeSet);
|
||||
uploadTask.execute(toUpload);
|
||||
dialog.show();
|
||||
}
|
||||
|
@ -199,43 +197,4 @@ public class DashOsmEditsFragment extends DashBaseFragment {
|
|||
}
|
||||
}
|
||||
|
||||
public static class SendPoiDialogFragment extends DialogFragment {
|
||||
public static final String OPENSTREETMAP_POINT = "openstreetmap_point";
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public Dialog onCreateDialog(Bundle savedInstanceState) {
|
||||
final OpenstreetmapPoint poi = (OpenstreetmapPoint) getArguments().getSerializable(OPENSTREETMAP_POINT);
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
|
||||
View view = getActivity().getLayoutInflater().inflate(R.layout.send_poi_dialog, null);
|
||||
final EditText messageEditText = (EditText) view.findViewById(R.id.messageEditText);
|
||||
final EditText userNameEditText = (EditText) view.findViewById(R.id.userNameEditText);
|
||||
final EditText passwordEditText = (EditText) view.findViewById(R.id.passwordEditText);
|
||||
|
||||
final OsmandSettings settings = ((MapActivity) getActivity()).getMyApplication().getSettings();
|
||||
userNameEditText.setText(settings.USER_NAME.get());
|
||||
passwordEditText.setText(settings.USER_PASSWORD.get());
|
||||
builder.setTitle(R.string.commit_poi)
|
||||
.setView(view)
|
||||
.setPositiveButton(R.string.shared_string_ok, new DialogInterface.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
settings.USER_NAME.set(userNameEditText.getText().toString());
|
||||
settings.USER_PASSWORD.set(passwordEditText.getText().toString());
|
||||
poi.setComment(messageEditText.getText().toString());
|
||||
((DashOsmEditsFragment) getParentFragment()).showProgressDialog(poi);
|
||||
}
|
||||
})
|
||||
.setNegativeButton(R.string.shared_string_cancel, null);
|
||||
return builder.create();
|
||||
}
|
||||
|
||||
public static SendPoiDialogFragment createInstance(OpenstreetmapPoint poi) {
|
||||
SendPoiDialogFragment fragment = new SendPoiDialogFragment();
|
||||
Bundle bundle = new Bundle();
|
||||
bundle.putSerializable(OPENSTREETMAP_POINT, poi);
|
||||
fragment.setArguments(bundle);
|
||||
return fragment;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -419,7 +419,12 @@ public class EditPoiFragment extends DialogFragment {
|
|||
final Runnable successAction,
|
||||
final Activity activity,
|
||||
final OpenstreetmapUtil openstreetmapUtil) {
|
||||
LOG.debug("commitNode(" + "action=" + action + ", n=" + n + ", info=" + info
|
||||
+ ", comment=" + comment + ", closeChangeSet=" + closeChangeSet
|
||||
+ ", successAction=" + successAction + ", activity=" + activity
|
||||
+ ", openstreetmapUtil=" + openstreetmapUtil + ")");
|
||||
if (info == null && OsmPoint.Action.CREATE != action) {
|
||||
|
||||
AccessibleToast.makeText(activity, activity.getResources().getString(R.string.poi_error_info_not_loaded), Toast.LENGTH_LONG).show();
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -13,5 +13,4 @@ public interface OpenstreetmapUtil {
|
|||
public void closeChangeSet();
|
||||
|
||||
public Node loadNode(Amenity n);
|
||||
|
||||
}
|
||||
|
|
|
@ -348,6 +348,7 @@ public class OsmEditingPlugin extends OsmandPlugin {
|
|||
|
||||
@Override
|
||||
public DashFragmentData getCardFragment() {
|
||||
return new DashFragmentData(DashOsmEditsFragment.TAG, DashOsmEditsFragment.class, getName(), 13);
|
||||
return new DashFragmentData(DashOsmEditsFragment.TAG, DashOsmEditsFragment.class,
|
||||
R.string.osm_settings, 13);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -42,6 +42,7 @@ import net.osmand.plus.activities.OsmandActionBarActivity;
|
|||
import net.osmand.plus.dialogs.DirectionsDialogs;
|
||||
import net.osmand.plus.helpers.AndroidUiHelper;
|
||||
import net.osmand.plus.myplaces.FavoritesActivity;
|
||||
import net.osmand.plus.osmedit.dialogs.SendPoiDialogFragment;
|
||||
|
||||
import org.xmlpull.v1.XmlSerializer;
|
||||
|
||||
|
@ -56,7 +57,8 @@ import java.util.List;
|
|||
* Created by Denis
|
||||
* on 06.03.2015.
|
||||
*/
|
||||
public class OsmEditsFragment extends OsmAndListFragment {
|
||||
public class OsmEditsFragment extends OsmAndListFragment
|
||||
implements SendPoiDialogFragment.ProgressDialogPoiUploader {
|
||||
OsmEditingPlugin plugin;
|
||||
|
||||
private OsmEditsAdapter listAdapter;
|
||||
|
@ -285,7 +287,8 @@ public class OsmEditsFragment extends OsmAndListFragment {
|
|||
private void enableSelectionMode(boolean selectionMode) {
|
||||
this.selectionMode = selectionMode;
|
||||
getView().findViewById(R.id.select_all).setVisibility(selectionMode ? View.VISIBLE : View.GONE);
|
||||
((FavoritesActivity) getActivity()).setToolbarVisibility(!selectionMode);
|
||||
((FavoritesActivity) getActivity()).setToolbarVisibility(!selectionMode &&
|
||||
AndroidUiHelper.isOrientationPortrait(getActivity()));
|
||||
}
|
||||
|
||||
public OsmandActionBarActivity getActionBarActivity() {
|
||||
|
@ -488,11 +491,13 @@ public class OsmEditsFragment extends OsmAndListFragment {
|
|||
}
|
||||
|
||||
private void uploadItems(final OsmPoint[] items) {
|
||||
UploadOsmEditsConfirmDialogFragment.createInstance(items).show(getChildFragmentManager(),
|
||||
UploadOsmEditsConfirmDialogFragment.TAG);
|
||||
SendPoiDialogFragment.createInstance(items).show(getChildFragmentManager(),
|
||||
SendPoiDialogFragment.TAG);
|
||||
// UploadOsmEditsConfirmDialogFragment.createInstancee(items).show(getChildFragmentManager(),
|
||||
// UploadOsmEditsConfirmDialogFragment.TAG);
|
||||
}
|
||||
|
||||
private void showUploadItemsProgressDialog(OsmPoint[] toUpload) {
|
||||
public void showProgressDialog(OsmPoint[] points, boolean closeChangeSet) {
|
||||
ProgressDialog dialog = ProgressImplementation.createProgressDialog(
|
||||
getActivity(),
|
||||
getString(R.string.uploading),
|
||||
|
@ -501,8 +506,8 @@ public class OsmEditsFragment extends OsmAndListFragment {
|
|||
OsmEditsUploadListener listener = new OsmEditsUploadListenerHelper(getActivity(),
|
||||
getString(R.string.local_openstreetmap_were_uploaded));
|
||||
UploadOpenstreetmapPointAsyncTask uploadTask = new UploadOpenstreetmapPointAsyncTask(
|
||||
dialog, listener, plugin, remotepoi, remotebug, toUpload.length);
|
||||
uploadTask.execute(toUpload);
|
||||
dialog, listener, plugin, remotepoi, remotebug, points.length, closeChangeSet);
|
||||
uploadTask.execute(points);
|
||||
|
||||
dialog.show();
|
||||
}
|
||||
|
@ -676,36 +681,36 @@ public class OsmEditsFragment extends OsmAndListFragment {
|
|||
}
|
||||
}
|
||||
|
||||
public static class UploadOsmEditsConfirmDialogFragment extends DialogFragment {
|
||||
public static final String TAG = "UploadOsmEditsConfirmDialogFragment";
|
||||
private static final String POINTS_ARRAY = "points_list";
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public Dialog onCreateDialog(Bundle savedInstanceState) {
|
||||
final OsmPoint[] points = (OsmPoint[]) getArguments().getSerializable(POINTS_ARRAY);
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
|
||||
builder.setMessage(
|
||||
getString(R.string.local_osm_changes_upload_all_confirm, points.length));
|
||||
builder.setPositiveButton(R.string.shared_string_yes,
|
||||
new DialogInterface.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
((OsmEditsFragment) getParentFragment())
|
||||
.showUploadItemsProgressDialog(points);
|
||||
}
|
||||
});
|
||||
builder.setNegativeButton(R.string.shared_string_cancel, null);
|
||||
return builder.create();
|
||||
}
|
||||
|
||||
public static UploadOsmEditsConfirmDialogFragment createInstance(OsmPoint[] points) {
|
||||
UploadOsmEditsConfirmDialogFragment fragment =
|
||||
new UploadOsmEditsConfirmDialogFragment();
|
||||
Bundle args = new Bundle();
|
||||
args.putSerializable(POINTS_ARRAY, points);
|
||||
fragment.setArguments(args);
|
||||
return fragment;
|
||||
}
|
||||
}
|
||||
// public static class UploadOsmEditsConfirmDialogFragment extends DialogFragment {
|
||||
// public static final String TAG = "UploadOsmEditsConfirmDialogFragment";
|
||||
// private static final String POINTS_ARRAY = "points_list";
|
||||
//
|
||||
// @NonNull
|
||||
// @Override
|
||||
// public Dialog onCreateDialog(Bundle savedInstanceState) {
|
||||
// final OsmPoint[] points = (OsmPoint[]) getArguments().getSerializable(POINTS_ARRAY);
|
||||
// AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
|
||||
// builder.setMessage(
|
||||
// getString(R.string.local_osm_changes_upload_all_confirm, points.length));
|
||||
// builder.setPositiveButton(R.string.shared_string_yes,
|
||||
// new DialogInterface.OnClickListener() {
|
||||
// @Override
|
||||
// public void onClick(DialogInterface dialog, int which) {
|
||||
// ((OsmEditsFragment) getParentFragment())
|
||||
// .showUploadItemsProgressDialog(points);
|
||||
// }
|
||||
// });
|
||||
// builder.setNegativeButton(R.string.shared_string_cancel, null);
|
||||
// return builder.create();
|
||||
// }
|
||||
//
|
||||
// public static UploadOsmEditsConfirmDialogFragment createInstance(OsmPoint[] points) {
|
||||
// UploadOsmEditsConfirmDialogFragment fragment =
|
||||
// new UploadOsmEditsConfirmDialogFragment();
|
||||
// Bundle args = new Bundle();
|
||||
// args.putSerializable(POINTS_ARRAY, points);
|
||||
// fragment.setArguments(args);
|
||||
// return fragment;
|
||||
// }
|
||||
// }
|
||||
}
|
||||
|
|
|
@ -94,7 +94,7 @@ public class OsmEditsUploadListenerHelper implements OsmEditsUploadListener {
|
|||
resources.getString(R.string.local_openstreetmap_uploading),
|
||||
ProgressDialog.STYLE_HORIZONTAL).getDialog();
|
||||
UploadOpenstreetmapPointAsyncTask uploadTask = new UploadOpenstreetmapPointAsyncTask(
|
||||
dialog, helper, plugin, remotepoi, remotebug, toUpload.length);
|
||||
dialog, helper, plugin, remotepoi, remotebug, toUpload.length, false);
|
||||
uploadTask.execute(toUpload);
|
||||
|
||||
dialog.show();
|
||||
|
|
|
@ -23,19 +23,22 @@ public class UploadOpenstreetmapPointAsyncTask
|
|||
private boolean interruptUploading = false;
|
||||
private OsmEditsUploadListener listener;
|
||||
private OsmEditingPlugin plugin;
|
||||
private final boolean closeChangeSet;
|
||||
|
||||
public UploadOpenstreetmapPointAsyncTask(ProgressDialog progress,
|
||||
OsmEditsUploadListener listener,
|
||||
OsmEditingPlugin plugin,
|
||||
OpenstreetmapRemoteUtil remotepoi,
|
||||
OsmBugsRemoteUtil remotebug,
|
||||
int listSize) {
|
||||
int listSize,
|
||||
boolean closeChangeSet) {
|
||||
this.progress = progress;
|
||||
this.plugin = plugin;
|
||||
this.remotepoi = remotepoi;
|
||||
this.remotebug = remotebug;
|
||||
this.listSize = listSize;
|
||||
this.listener = listener;
|
||||
this.closeChangeSet = closeChangeSet;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -52,7 +55,8 @@ public class UploadOpenstreetmapPointAsyncTask
|
|||
if (OsmPoint.Action.CREATE != p.getAction()) {
|
||||
entityInfo = remotepoi.loadNode(p.getEntity());
|
||||
}
|
||||
Node n = remotepoi.commitNodeImpl(p.getAction(), p.getEntity(), entityInfo, p.getComment(), false);
|
||||
Node n = remotepoi.commitNodeImpl(p.getAction(), p.getEntity(), entityInfo,
|
||||
p.getComment(), closeChangeSet);
|
||||
if (n != null) {
|
||||
plugin.getDBPOI().deletePOI(p);
|
||||
publishProgress(p);
|
||||
|
|
|
@ -7,22 +7,15 @@ import android.os.Bundle;
|
|||
import android.support.annotation.NonNull;
|
||||
import android.support.v4.app.DialogFragment;
|
||||
import android.support.v7.app.AlertDialog;
|
||||
import android.widget.CheckBox;
|
||||
import android.widget.EditText;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.Toast;
|
||||
|
||||
import net.osmand.access.AccessibleToast;
|
||||
import net.osmand.data.Amenity;
|
||||
import net.osmand.osm.edit.Node;
|
||||
import net.osmand.plus.OsmandApplication;
|
||||
import net.osmand.plus.OsmandPlugin;
|
||||
import net.osmand.plus.OsmandSettings;
|
||||
import net.osmand.plus.R;
|
||||
import net.osmand.plus.activities.MapActivity;
|
||||
import net.osmand.plus.osmedit.EditPoiFragment;
|
||||
import net.osmand.plus.osmedit.OpenstreetmapLocalUtil;
|
||||
import net.osmand.plus.osmedit.OpenstreetmapRemoteUtil;
|
||||
import net.osmand.plus.osmedit.OpenstreetmapUtil;
|
||||
import net.osmand.plus.osmedit.OsmEditingPlugin;
|
||||
import net.osmand.plus.osmedit.OsmPoint;
|
||||
|
@ -38,47 +31,31 @@ public class DeletePoiDialogFragment extends DialogFragment {
|
|||
public Dialog onCreateDialog(Bundle savedInstanceState) {
|
||||
final Activity activity = getActivity();
|
||||
|
||||
OsmandSettings settings = ((OsmandApplication) activity.getApplication()).getSettings();
|
||||
OsmEditingPlugin plugin = OsmandPlugin.getPlugin(OsmEditingPlugin.class);
|
||||
final OpenstreetmapUtil mOpenstreetmapUtil;
|
||||
if (settings.OFFLINE_EDITION.get() || !settings.isInternetConnectionAvailable(true)) {
|
||||
mOpenstreetmapUtil = new OpenstreetmapLocalUtil(plugin, activity);
|
||||
} else if (!settings.isInternetConnectionAvailable(true)) {
|
||||
mOpenstreetmapUtil = new OpenstreetmapLocalUtil(plugin, activity);
|
||||
} else {
|
||||
mOpenstreetmapUtil = new OpenstreetmapRemoteUtil(activity);
|
||||
}
|
||||
mOpenstreetmapUtil = new OpenstreetmapLocalUtil(plugin, activity);
|
||||
|
||||
final Bundle args = getArguments();
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(activity);
|
||||
builder.setTitle(R.string.poi_remove_title);
|
||||
LinearLayout ll = new LinearLayout(activity);
|
||||
ll.setPadding(4, 2, 4, 0);
|
||||
ll.setOrientation(LinearLayout.VERTICAL);
|
||||
final EditText comment = new EditText(activity);
|
||||
comment.setText(R.string.poi_remove_title);
|
||||
ll.addView(comment);
|
||||
final CheckBox closeChangeset;
|
||||
closeChangeset = new CheckBox(activity);
|
||||
closeChangeset.setText(R.string.close_changeset);
|
||||
ll.addView(closeChangeset);
|
||||
builder.setView(ll);
|
||||
builder.setTitle(R.string.poi_remove_title);;
|
||||
builder.setNegativeButton(R.string.shared_string_cancel, null);
|
||||
builder.setPositiveButton(R.string.shared_string_delete, new DialogInterface.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
Node n = (Node) args.getSerializable(KEY_AMENITY_NODE);
|
||||
String c = comment.getText().toString();
|
||||
EditPoiFragment.commitNode(OsmPoint.Action.DELETE, n, mOpenstreetmapUtil.getEntityInfo(), c,
|
||||
closeChangeset == null ? false : closeChangeset.isSelected(), new Runnable() {
|
||||
Node node = (Node) args.getSerializable(KEY_AMENITY_NODE);
|
||||
EditPoiFragment.commitNode(OsmPoint.Action.DELETE, node,
|
||||
mOpenstreetmapUtil.getEntityInfo(), null, false,
|
||||
new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
AccessibleToast.makeText(activity, R.string.poi_remove_success, Toast.LENGTH_LONG).show();
|
||||
AccessibleToast.makeText(activity, R.string.poi_remove_success,
|
||||
Toast.LENGTH_LONG).show();
|
||||
if (activity instanceof MapActivity) {
|
||||
((MapActivity) activity).getMapView().refreshMap(true);
|
||||
}
|
||||
}
|
||||
}, getActivity(), mOpenstreetmapUtil);
|
||||
},
|
||||
getActivity(), mOpenstreetmapUtil);
|
||||
}
|
||||
});
|
||||
return builder.create();
|
||||
|
|
|
@ -46,7 +46,7 @@ public class OpeningHoursDaysDialogFragment extends DialogFragment {
|
|||
final int pos = (d + 5) % 7;
|
||||
dayToShow[i] = item.getDays()[pos];
|
||||
}
|
||||
builder.setTitle("Working days");
|
||||
builder.setTitle(getResources().getString(R.string.working_days));
|
||||
builder.setMultiChoiceItems(daysToShow, dayToShow, new DialogInterface.OnMultiChoiceClickListener() {
|
||||
|
||||
@Override
|
||||
|
|
|
@ -74,13 +74,18 @@ public class OpeningHoursHoursDialogFragment extends DialogFragment {
|
|||
float density = getActivity().getResources().getDisplayMetrics().density;
|
||||
int paddingInPx = (int) (paddingInDp * density);
|
||||
|
||||
final TypedValue textColorTypedValue = new TypedValue();
|
||||
getActivity().getTheme().resolveAttribute(android.R.attr.textColorPrimary,
|
||||
textColorTypedValue, true);
|
||||
int textColor = textColorTypedValue.data;
|
||||
|
||||
TextView titleTextView = new TextView(getActivity());
|
||||
titleTextView.setText(isStart ? getActivity().getString(R.string.opening_at)
|
||||
: getActivity().getString(R.string.closing_at));
|
||||
titleTextView.setPadding(paddingInPx, paddingInPx, paddingInPx, paddingInPx);
|
||||
titleTextView.setGravity(Gravity.CENTER_VERTICAL);
|
||||
titleTextView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 18);
|
||||
titleTextView.setTextColor(getActivity().getResources().getColor(R.color.color_black));
|
||||
titleTextView.setTextColor(textColor);
|
||||
Typeface typeface = titleTextView.getTypeface();
|
||||
titleTextView.setTypeface(typeface, Typeface.BOLD);
|
||||
builder.setCustomTitle(titleTextView);
|
||||
|
|
|
@ -0,0 +1,78 @@
|
|||
package net.osmand.plus.osmedit.dialogs;
|
||||
|
||||
import android.app.AlertDialog;
|
||||
import android.app.Dialog;
|
||||
import android.content.DialogInterface;
|
||||
import android.os.Bundle;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.v4.app.DialogFragment;
|
||||
import android.view.View;
|
||||
import android.widget.CheckBox;
|
||||
import android.widget.EditText;
|
||||
|
||||
import net.osmand.plus.OsmandApplication;
|
||||
import net.osmand.plus.OsmandSettings;
|
||||
import net.osmand.plus.R;
|
||||
import net.osmand.plus.osmedit.OpenstreetmapPoint;
|
||||
import net.osmand.plus.osmedit.OsmPoint;
|
||||
|
||||
public class SendPoiDialogFragment extends DialogFragment {
|
||||
public static final String TAG = "SendPoiDialogFragment";
|
||||
public static final String OPENSTREETMAP_POINT = "openstreetmap_point";
|
||||
private static String comment;
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public Dialog onCreateDialog(Bundle savedInstanceState) {
|
||||
final OsmPoint[] poi = (OsmPoint[]) getArguments().getSerializable(OPENSTREETMAP_POINT);
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
|
||||
View view = getActivity().getLayoutInflater().inflate(R.layout.send_poi_dialog, null);
|
||||
final EditText messageEditText = (EditText) view.findViewById(R.id.messageEditText);
|
||||
final EditText userNameEditText = (EditText) view.findViewById(R.id.userNameEditText);
|
||||
final EditText passwordEditText = (EditText) view.findViewById(R.id.passwordEditText);
|
||||
final CheckBox closeChangeSetCheckBox =
|
||||
(CheckBox) view.findViewById(R.id.closeChangeSetCheckBox);
|
||||
messageEditText.setText(comment);
|
||||
final OsmandSettings settings = ((OsmandApplication) getActivity().getApplication())
|
||||
.getSettings();
|
||||
userNameEditText.setText(settings.USER_NAME.get());
|
||||
passwordEditText.setText(settings.USER_PASSWORD.get());
|
||||
|
||||
final ProgressDialogPoiUploader progressDialogPoiUploader =
|
||||
(ProgressDialogPoiUploader) getParentFragment();
|
||||
|
||||
builder.setTitle(R.string.commit_poi)
|
||||
.setView(view)
|
||||
.setPositiveButton(R.string.shared_string_ok, new DialogInterface.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
comment = messageEditText.getText().toString();
|
||||
settings.USER_NAME.set(userNameEditText.getText().toString());
|
||||
settings.USER_PASSWORD.set(passwordEditText.getText().toString());
|
||||
for (OsmPoint osmPoint : poi) {
|
||||
if (osmPoint.getGroup() == OsmPoint.Group.POI) {
|
||||
((OpenstreetmapPoint) osmPoint)
|
||||
.setComment(comment);
|
||||
break;
|
||||
}
|
||||
}
|
||||
progressDialogPoiUploader.showProgressDialog(poi,
|
||||
closeChangeSetCheckBox.isChecked());
|
||||
}
|
||||
})
|
||||
.setNegativeButton(R.string.shared_string_cancel, null);
|
||||
return builder.create();
|
||||
}
|
||||
|
||||
public static SendPoiDialogFragment createInstance(OsmPoint[] points) {
|
||||
SendPoiDialogFragment fragment = new SendPoiDialogFragment();
|
||||
Bundle bundle = new Bundle();
|
||||
bundle.putSerializable(OPENSTREETMAP_POINT, points);
|
||||
fragment.setArguments(bundle);
|
||||
return fragment;
|
||||
}
|
||||
|
||||
public interface ProgressDialogPoiUploader {
|
||||
void showProgressDialog(OsmPoint[] points, boolean closeChangeSet);
|
||||
}
|
||||
}
|
|
@ -1,12 +1,10 @@
|
|||
package net.osmand.plus.osmo;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.net.URL;
|
||||
import java.util.Arrays;
|
||||
import android.app.Activity;
|
||||
import android.content.Intent;
|
||||
import android.os.AsyncTask;
|
||||
import android.view.View;
|
||||
import android.widget.ArrayAdapter;
|
||||
|
||||
import net.osmand.IndexConstants;
|
||||
import net.osmand.Location;
|
||||
|
@ -38,11 +36,13 @@ import org.apache.commons.logging.Log;
|
|||
import org.json.JSONException;
|
||||
import org.json.JSONObject;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Intent;
|
||||
import android.os.AsyncTask;
|
||||
import android.view.View;
|
||||
import android.widget.ArrayAdapter;
|
||||
import java.io.File;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.net.URL;
|
||||
import java.util.Arrays;
|
||||
|
||||
public class OsMoPlugin extends OsmandPlugin implements OsMoReactor {
|
||||
|
||||
|
@ -533,6 +533,7 @@ public class OsMoPlugin extends OsmandPlugin implements OsMoReactor {
|
|||
|
||||
@Override
|
||||
public DashFragmentData getCardFragment() {
|
||||
return new DashFragmentData(DashOsMoFragment.TAG, DashOsMoFragment.class, getName(), 12);
|
||||
return new DashFragmentData(DashOsMoFragment.TAG, DashOsMoFragment.class,
|
||||
R.string.osmo_plugin_name, 12);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,7 +1,20 @@
|
|||
package net.osmand.plus.parkingpoint;
|
||||
|
||||
|
||||
import java.util.Calendar;
|
||||
import android.app.Activity;
|
||||
import android.app.AlertDialog;
|
||||
import android.app.AlertDialog.Builder;
|
||||
import android.app.Dialog;
|
||||
import android.content.DialogInterface;
|
||||
import android.content.Intent;
|
||||
import android.text.format.DateFormat;
|
||||
import android.text.format.Time;
|
||||
import android.view.View;
|
||||
import android.widget.ArrayAdapter;
|
||||
import android.widget.CheckBox;
|
||||
import android.widget.ImageButton;
|
||||
import android.widget.TextView;
|
||||
import android.widget.TimePicker;
|
||||
|
||||
import net.osmand.data.LatLon;
|
||||
import net.osmand.plus.ApplicationMode;
|
||||
|
@ -20,20 +33,8 @@ import net.osmand.plus.views.MapInfoLayer;
|
|||
import net.osmand.plus.views.OsmandMapLayer.DrawSettings;
|
||||
import net.osmand.plus.views.OsmandMapTileView;
|
||||
import net.osmand.plus.views.mapwidgets.TextInfoWidget;
|
||||
import android.app.Activity;
|
||||
import android.app.AlertDialog;
|
||||
import android.app.AlertDialog.Builder;
|
||||
import android.app.Dialog;
|
||||
import android.content.DialogInterface;
|
||||
import android.content.Intent;
|
||||
import android.text.format.DateFormat;
|
||||
import android.text.format.Time;
|
||||
import android.view.View;
|
||||
import android.widget.ArrayAdapter;
|
||||
import android.widget.CheckBox;
|
||||
import android.widget.ImageButton;
|
||||
import android.widget.TextView;
|
||||
import android.widget.TimePicker;
|
||||
|
||||
import java.util.Calendar;
|
||||
|
||||
/**
|
||||
*
|
||||
|
@ -563,6 +564,7 @@ public class ParkingPositionPlugin extends OsmandPlugin {
|
|||
|
||||
@Override
|
||||
public DashFragmentData getCardFragment() {
|
||||
return new DashFragmentData(DashParkingFragment.TAG, DashParkingFragment.class, getName(), 5);
|
||||
return new DashFragmentData(DashParkingFragment.TAG, DashParkingFragment.class,
|
||||
R.string.osmand_parking_plugin_name, 5);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -127,8 +127,8 @@ public class VoiceRouter {
|
|||
PREPARE_LONG_DISTANCE_END = 3000 + 1000; // [ 90 sec @ 120 km/h]
|
||||
PREPARE_DISTANCE = 1500; // [125 sec]
|
||||
PREPARE_DISTANCE_END = 1200; // [100 sec]
|
||||
TURN_IN_DISTANCE = 390; // 30 sec
|
||||
TURN_IN_DISTANCE_END = 195; // 15 sec
|
||||
TURN_IN_DISTANCE = 300; // 23 sec
|
||||
TURN_IN_DISTANCE_END = 210; // 16 sec
|
||||
TURN_DISTANCE = 50; // 7 sec
|
||||
TURN_DEFAULT_SPEED = 7f; // 25 km/h
|
||||
DEFAULT_SPEED = 13; // 48 km/h
|
||||
|
@ -158,13 +158,13 @@ public class VoiceRouter {
|
|||
} else {
|
||||
DEFAULT_SPEED = router.getAppMode().getDefaultSpeed();
|
||||
TURN_DEFAULT_SPEED = DEFAULT_SPEED / 2;
|
||||
PREPARE_LONG_DISTANCE = (int) (DEFAULT_SPEED * 305);
|
||||
PREPARE_LONG_DISTANCE = (int) (DEFAULT_SPEED * 270);
|
||||
// Do not play:
|
||||
PREPARE_LONG_DISTANCE_END = (int) (DEFAULT_SPEED * 225) * 2;
|
||||
PREPARE_DISTANCE = (int) (DEFAULT_SPEED * 125);
|
||||
PREPARE_DISTANCE_END = (int) (DEFAULT_SPEED * 100);
|
||||
TURN_IN_DISTANCE = (int) (DEFAULT_SPEED * 30);
|
||||
TURN_IN_DISTANCE_END = (int) (DEFAULT_SPEED * 14);
|
||||
PREPARE_LONG_DISTANCE_END = (int) (DEFAULT_SPEED * 230) * 2;
|
||||
PREPARE_DISTANCE = (int) (DEFAULT_SPEED * 115);
|
||||
PREPARE_DISTANCE_END = (int) (DEFAULT_SPEED * 92);
|
||||
TURN_IN_DISTANCE = (int) (DEFAULT_SPEED * 23);
|
||||
TURN_IN_DISTANCE_END = (int) (DEFAULT_SPEED * 16);
|
||||
TURN_DISTANCE = (int) (DEFAULT_SPEED * 7);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,14 +4,9 @@ import android.app.AlertDialog;
|
|||
import android.app.AlertDialog.Builder;
|
||||
import android.content.DialogInterface;
|
||||
import android.content.DialogInterface.OnClickListener;
|
||||
import android.graphics.Bitmap;
|
||||
import android.graphics.BitmapFactory;
|
||||
import android.graphics.Canvas;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.Paint;
|
||||
import android.graphics.PointF;
|
||||
import android.graphics.PorterDuff;
|
||||
import android.graphics.PorterDuffColorFilter;
|
||||
import android.graphics.Rect;
|
||||
import android.os.Build;
|
||||
import android.text.Html;
|
||||
|
@ -35,6 +30,7 @@ import java.util.Iterator;
|
|||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
import java.util.Objects;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
|
||||
public class ContextMenuLayer extends OsmandMapLayer {
|
||||
|
@ -68,6 +64,7 @@ public class ContextMenuLayer extends OsmandMapLayer {
|
|||
private LatLon latLon;
|
||||
private String description;
|
||||
private Map<Object, IContextMenuProvider> selectedObjects = new ConcurrentHashMap<Object, IContextMenuProvider>();
|
||||
private Object selectedObj;
|
||||
|
||||
private TextView textView;
|
||||
private ImageView closeButton;
|
||||
|
@ -78,10 +75,8 @@ public class ContextMenuLayer extends OsmandMapLayer {
|
|||
private float scaleCoefficient = 1;
|
||||
private CallbackWithObject<LatLon> selectOnMap = null;
|
||||
|
||||
private Bitmap mapContextMarker;
|
||||
private boolean showMapContextMarker;
|
||||
|
||||
private Paint mapMarkerPaintIcon;
|
||||
private boolean showContextMarker;
|
||||
private ImageView contextMarker;
|
||||
|
||||
public ContextMenuLayer(MapActivity activity){
|
||||
this.activity = activity;
|
||||
|
@ -130,11 +125,14 @@ public class ContextMenuLayer extends OsmandMapLayer {
|
|||
closeButton.setImageDrawable(view.getResources().getDrawable(R.drawable.headliner_close));
|
||||
closeButton.setClickable(true);
|
||||
|
||||
showMapContextMarker = false;
|
||||
mapMarkerPaintIcon = new Paint();
|
||||
mapMarkerPaintIcon.setColorFilter(new PorterDuffColorFilter(activity.getResources().getColor(R.color.osmand_orange), PorterDuff.Mode.SRC_IN));
|
||||
mapContextMarker = BitmapFactory.decodeResource(view.getResources(), R.drawable.ic_action_marker2);
|
||||
|
||||
showContextMarker = false;
|
||||
contextMarker = new ImageView(view.getContext());
|
||||
contextMarker.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
|
||||
contextMarker.setImageDrawable(view.getResources().getDrawable(R.drawable.map_pin_context_menu));
|
||||
contextMarker.setClickable(true);
|
||||
int minw = contextMarker.getDrawable().getMinimumWidth();
|
||||
int minh = contextMarker.getDrawable().getMinimumHeight();
|
||||
contextMarker.layout(0, 0, minw, minh);
|
||||
|
||||
if(latLon != null){
|
||||
setLocation(latLon, description);
|
||||
|
@ -153,8 +151,10 @@ public class ContextMenuLayer extends OsmandMapLayer {
|
|||
int x = (int) box.getPixXFromLatLon(latLon.getLatitude(), latLon.getLongitude());
|
||||
int y = (int) box.getPixYFromLatLon(latLon.getLatitude(), latLon.getLongitude());
|
||||
|
||||
if (showMapContextMarker)
|
||||
canvas.drawBitmap(mapContextMarker, x - mapContextMarker.getWidth() / 2, y - mapContextMarker.getHeight(), mapMarkerPaintIcon);
|
||||
if (showContextMarker) {
|
||||
canvas.translate(x - contextMarker.getWidth() / 2, y - contextMarker.getHeight());
|
||||
contextMarker.draw(canvas);
|
||||
}
|
||||
|
||||
textView.setTextColor(nightMode != null && nightMode.isNightMode() ? Color.GRAY : Color.WHITE);
|
||||
if (textView.getText().length() > 0) {
|
||||
|
@ -201,15 +201,15 @@ public class ContextMenuLayer extends OsmandMapLayer {
|
|||
}
|
||||
|
||||
public void showMapContextMenuMarker() {
|
||||
if (!showMapContextMarker) {
|
||||
showMapContextMarker = true;
|
||||
if (!showContextMarker) {
|
||||
showContextMarker = true;
|
||||
view.refreshMap();
|
||||
}
|
||||
}
|
||||
|
||||
public void hideMapContextMenuMarker() {
|
||||
if (showMapContextMarker) {
|
||||
showMapContextMarker = false;
|
||||
if (showContextMarker) {
|
||||
showContextMarker = false;
|
||||
view.refreshMap();
|
||||
}
|
||||
}
|
||||
|
@ -271,12 +271,19 @@ public class ContextMenuLayer extends OsmandMapLayer {
|
|||
}
|
||||
LatLon latLon = selectObjectsForContextMenu(tileBox, point);
|
||||
if (latLon != null) {
|
||||
String description = getSelectedObjectDescription();
|
||||
setLocation(latLon, description);
|
||||
if (selectedObjects.size() == 1) {
|
||||
setLocation(null, "");
|
||||
selectedObj = selectedObjects.keySet().iterator().next();
|
||||
showMapContextMenu(selectedObj, latLon);
|
||||
} else if (selectedObjects.size() > 1) {
|
||||
showContextMenuForSelectedObjects(latLon);
|
||||
}
|
||||
} else {
|
||||
setLocation(null, "");
|
||||
final double lat = tileBox.getLatFromPixel((int) point.x, (int) point.y);
|
||||
final double lon = tileBox.getLonFromPixel((int) point.x, (int) point.y);
|
||||
setLocation(new LatLon(lat, lon), null);
|
||||
showMapContextMenu(null, new LatLon(lat, lon));
|
||||
//setLocation(new LatLon(lat, lon), null);
|
||||
}
|
||||
view.refreshMap();
|
||||
return true;
|
||||
|
@ -337,7 +344,7 @@ public class ContextMenuLayer extends OsmandMapLayer {
|
|||
}
|
||||
|
||||
public int pressedInTextView(RotatedTileBox tb, float px, float py) {
|
||||
if (latLon != null) {
|
||||
if (latLon != null && textView.getText().length() > 0) {
|
||||
Rect bs = textView.getBackground().getBounds();
|
||||
Rect closes = closeButton.getDrawable().getBounds();
|
||||
int dx = (int) (px - tb.getPixXFromLatLon(latLon.getLatitude(), latLon.getLongitude()));
|
||||
|
@ -354,7 +361,19 @@ public class ContextMenuLayer extends OsmandMapLayer {
|
|||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
public boolean pressedContextMarker(RotatedTileBox tb, float px, float py) {
|
||||
if (latLon != null && showContextMarker) {
|
||||
Rect bs = contextMarker.getDrawable().getBounds();
|
||||
int dx = (int) (px - tb.getPixXFromLatLon(latLon.getLatitude(), latLon.getLongitude()));
|
||||
int dy = (int) (py - tb.getPixYFromLatLon(latLon.getLatitude(), latLon.getLongitude()));
|
||||
int bx = dx + bs.width() / 2;
|
||||
int by = dy + bs.height();
|
||||
return (bs.contains(bx, by));
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public String getSelectedObjectName(){
|
||||
return getSelectedObjectInfo(true);
|
||||
}
|
||||
|
@ -404,6 +423,11 @@ public class ContextMenuLayer extends OsmandMapLayer {
|
|||
|
||||
@Override
|
||||
public boolean onSingleTap(PointF point, RotatedTileBox tileBox) {
|
||||
if (pressedContextMarker(tileBox, point.x, point.y)) {
|
||||
showMapContextMenu(selectedObj, latLon);
|
||||
return true;
|
||||
}
|
||||
|
||||
boolean nativeMode = (Build.VERSION.SDK_INT >= 14) || view.getSettings().SCROLL_MAP_BY_GESTURES.get();
|
||||
int val = pressedInTextView(tileBox, point.x, point.y);
|
||||
if(selectOnMap != null) {
|
||||
|
@ -429,12 +453,11 @@ public class ContextMenuLayer extends OsmandMapLayer {
|
|||
LatLon latLon = selectObjectsForContextMenu(tileBox, point);
|
||||
if (latLon != null) {
|
||||
if (selectedObjects.size() == 1) {
|
||||
Object selectedObj = selectedObjects.keySet().iterator().next();
|
||||
showMapContextMenu(selectedObj, latLon, null);
|
||||
} else {
|
||||
String description = getSelectedObjectDescription();
|
||||
setLocation(latLon, description);
|
||||
view.refreshMap();
|
||||
setLocation(null, "");
|
||||
selectedObj = selectedObjects.keySet().iterator().next();
|
||||
showMapContextMenu(selectedObj, latLon);
|
||||
} else if (selectedObjects.size() > 1) {
|
||||
showContextMenuForSelectedObjects(latLon);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -458,34 +481,32 @@ public class ContextMenuLayer extends OsmandMapLayer {
|
|||
builder.setItems(d, new OnClickListener() {
|
||||
@Override
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
Object selectedObj = s.get(which);
|
||||
for (OsmandMapLayer layer : view.getLayers()) {
|
||||
layer.populateObjectContextMenu(selectedObj, menuAdapter);
|
||||
}
|
||||
showMapContextMenu(selectedObj, l, menuAdapter);
|
||||
//activity.getMapActions().contextMenuPoint(l.getLatitude(), l.getLongitude(), menuAdapter, selectedObj);
|
||||
selectedObj = s.get(which);
|
||||
showMapContextMenu(selectedObj, l);
|
||||
}
|
||||
});
|
||||
builder.show();
|
||||
} else {
|
||||
Object selectedObj = selectedObjects.keySet().iterator().next();
|
||||
for (OsmandMapLayer layer : view.getLayers()) {
|
||||
layer.populateObjectContextMenu(selectedObj, menuAdapter);
|
||||
}
|
||||
|
||||
showMapContextMenu(selectedObj, l, menuAdapter);
|
||||
//activity.getMapActions().contextMenuPoint(l.getLatitude(), l.getLongitude(), menuAdapter, selectedObj);
|
||||
selectedObj = selectedObjects.keySet().iterator().next();
|
||||
showMapContextMenu(selectedObj, l);
|
||||
}
|
||||
}
|
||||
|
||||
private void showMapContextMenu(Object obj, LatLon latLon, final ContextMenuAdapter menuAdapter) {
|
||||
PointDescription pointDescription = selectedObjects.get(obj).getObjectName(obj);
|
||||
pointDescription.setLat(latLon.getLatitude());
|
||||
pointDescription.setLon(latLon.getLongitude());
|
||||
this.latLon = latLon;
|
||||
private void showMapContextMenu(Object obj, LatLon latLon) {
|
||||
PointDescription pointDescription;
|
||||
if (obj != null) {
|
||||
IContextMenuProvider typedObj = selectedObjects.get(obj);
|
||||
pointDescription = typedObj.getObjectName(obj);
|
||||
LatLon objLocation = typedObj.getObjectLocation(obj);
|
||||
pointDescription.setLat(objLocation.getLatitude());
|
||||
pointDescription.setLon(objLocation.getLongitude());
|
||||
} else {
|
||||
pointDescription = new PointDescription(latLon.getLatitude(), latLon.getLongitude());
|
||||
}
|
||||
this.latLon = new LatLon(pointDescription.getLat(), pointDescription.getLon());
|
||||
|
||||
showMapContextMenuMarker();
|
||||
MapContextMenu.getInstance().show(pointDescription, obj, menuAdapter);
|
||||
MapContextMenu.getInstance().show(pointDescription, obj);
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue