Merge branch 'master' of ssh://github.com/osmandapp/Osmand

This commit is contained in:
PavelRatushny 2017-11-24 10:29:39 +02:00
commit 1916954f69
15 changed files with 401 additions and 185 deletions

View file

@ -4,7 +4,6 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:descendantFocusability="blocksDescendants"
android:orientation="vertical">
<include

View file

@ -2726,4 +2726,10 @@ Abasta l\'àrea: %1$s x %2$s</string>
<string name="looking_for_tracks_with_waypoints">Recerca de traces amb fites</string>
<string name="empty_state_osm_edits">Crea o modifica objectes OSM</string>
<string name="empty_state_osm_edits_descr">Crea o modifica PDIs OSM, inicia o comenta Notes OSM i aporta traces GPX enregistrades.</string>
<string name="shared_string_deleted">S\'ha esborrat</string>
<string name="shared_string_edited">S\'ha editat</string>
<string name="shared_string_added">S\'ha afegit</string>
<string name="marker_activated">Marcador %s activat.</string>
<string name="one_tap_active_descr">Premeu sobre el marcador en el mapa, arrossegueu-lo al capdavant dels marcadors actius, sense obrir el menú de context.</string>
<string name="empty_state_av_notes">Preneu notes!</string>
</resources>

View file

@ -2845,4 +2845,16 @@ Pokud potřebujete pomoci s aplikací OsmAnd, prosím kontaktujte naši podporu
<string name="tap_on_map_to_hide_interface">Režim celé obrazovky</string>
<string name="show_on_top_bar">Zobrazit na horní liště</string>
<string name="mark_passed">Značka prošlá</string>
<string name="empty_state_osm_edits_descr">Vytvořit nebo upravit OSM POI, otevřít nebo okomentovat OSM poznámky a přispět zaznamenanými GPX soubory.</string>
<string name="shared_string_deleted">Odstraněné</string>
<string name="shared_string_edited">Upravené</string>
<string name="shared_string_added">Přidané</string>
<string name="marker_activated">Značka %s aktivována.</string>
<string name="one_tap_active_descr">Klepněte na značku na mapě, přesuňte ji na první místo v aktivních značkách bez otevření kontextové nabídky.</string>
<string name="empty_state_av_notes">Dělejte si poznámky!</string>
<string name="empty_state_av_notes_desc">Přidejte audio, video nebo fotografickou poznámku pro každý bod na mapě, pomocí nástroje nebo kontextového menu.</string>
<string name="notes_by_date">Poznámky podle datumu</string>
<string name="by_date">Podle datumu</string>
<string name="by_type">Podle typu</string>
<string name="empty_state_markers_active_desc">Klepnutím nebo přidržením označte místa, pak klepněte na tlačítko značky s vlajkou.</string>
</resources>

View file

@ -2180,4 +2180,36 @@
<string name="empty_state_osm_edits">יצירה או שינוי של עצמים ב־OSM</string>
<string name="shared_string_deleted">נמחקה</string>
<string name="shared_string_edited">נערכה</string>
<string name="shared_string_added">נוספה</string>
<string name="marker_activated">הסמן %s הופעל.</string>
<string name="empty_state_av_notes">אפשר לשמור הערות!</string>
<string name="empty_state_av_notes_desc">ניתן להוסיף הערה מסוג שמע, וידאו או תמונה לכל נקודה במפה באמצעות וידג׳ט או תפריט הקשר.</string>
<string name="notes_by_date">הערות לפי תאריך</string>
<string name="by_date">לפי תאריך</string>
<string name="by_type">לפי סוג</string>
<string name="subscribe_email_desc">ניתן להירשם לרשימת הדיוור שלנו כדי לקבל הנחות על היישומון ולקבל עוד 3 הורדות של מפות בחינם!</string>
<string name="depth_contour_descr">ערכות של מפות שמכילות קווי מתאר של עומק הים ונקודות ימיות.</string>
<string name="sea_depth_thanks">תודה לך על רכישת קווי המתאר של עומק הים!</string>
<string name="index_item_depth_contours_osmand_ext">קווי מתאר של עומק הים</string>
<string name="download_depth_countours">קווי מתאר של עומק הים</string>
<string name="nautical_maps">מפות ימיות</string>
<string name="do_not_show_startup_messages">לא להציג הודעות פתיחה</string>
<string name="parking_options">אפשרויות חנייה</string>
<string name="full_version_thanks">תודה לך על רכישת הגרסה המלאה של OsmAnd!</string>
<string name="routing_attr_relief_smoothness_factor_hills_name">הררי</string>
<string name="routing_attr_relief_smoothness_factor_plains_name">פחות הררי</string>
<string name="routing_attr_relief_smoothness_factor_more_plains_name">מישור</string>
<string name="routing_attr_driving_style_speed_name">נתיבים קצרים יותר</string>
<string name="routing_attr_driving_style_balance_name">מאוזן</string>
<string name="relief_smoothness_factor_descr">סוג שטח מועדף: מישורי או הררי.</string>
<string name="shared_string_slope">מדרון</string>
<string name="add_new_folder">הוספת תיקייה חדשה</string>
<string name="points_delete_multiple_succesful">הנקודות נמחקו בהצלחה.</string>
<string name="points_delete_multiple">פעולה זו תוביל למחיקתן של %1$d נקודות. להמשיך?</string>
<string name="route_points_category_name">פניות שיש לקחת בנתיב הזה</string>
<string name="gpx_track">מסלול</string>
<string name="max_speed">מהירות מרבית</string>
<string name="average_speed">מהירות ממוצעת</string>
<string name="shared_string_time_moving">זמן תנועה</string>
<string name="shared_string_max">מרבי</string>
</resources>

View file

@ -3662,4 +3662,7 @@
<string name="poi_enforcement_check">Требование: контроль</string>
<string name="poi_payment_account_cards_no">Карточки не принимаются</string>
<string name="poi_payment_prepaid_ticket_yes">Предоплаченные билеты</string>
<string name="poi_depot">Депо</string>
</resources>

View file

@ -938,7 +938,7 @@
<string name="osb_comment_dialog_author">Автор</string>
<string name="poi_edit_title">Редактирование POI</string>
<string name="poi_create_title">Добавление POI</string>
<string name="poi_error_poi_not_found">Узел не найден или удобство (amenity) состоит из нескольких узлов, что не поддерживается.</string>
<string name="poi_error_poi_not_found">Узел не найден или объект состоит из нескольких узлов, что не поддерживается.</string>
<string name="poi_remove_confirm_template">Вы действительно хотите удалить {0}?</string>
<string name="poi_remove_title">Удаление POI</string>
<string name="poi_remove_success">POI успешно удалена</string>

View file

@ -2871,4 +2871,17 @@ Pro praghere iscrie su còdighe intreu</string>
<string name="active_markers_descr">Issèbera cantos indicadores de diretzione cheres ammustrare.</string>
<string name="shared_string_more_without_dots">Àteru</string>
<string name="looking_for_tracks_with_waypoints">Chirchende rastas cun puntos de coladòrgiu</string>
<string name="empty_state_osm_edits">Crea o modìfica ogetos OSM</string>
<string name="empty_state_osm_edits_descr">Crea o modìfica PDI OSM, aberende o cummentende notas OSM, e contribuende cun documentos GPX registrados.</string>
<string name="shared_string_deleted">Iscantzelladu</string>
<string name="shared_string_edited">Modificadu</string>
<string name="shared_string_added">Annantu</string>
<string name="marker_activated">Marcadore %s ativadu.</string>
<string name="one_tap_active_descr">Incarca in unu marcadore in sa mapa, moe·lu in sa prima positzione in sos marcadores ativos, chene abèrrere su menù contestuale.</string>
<string name="one_tap_active">Ativatzione cun un\'incarcu</string>
<string name="empty_state_av_notes">Piga notas!</string>
<string name="empty_state_av_notes_desc">Annanghe notas sonoras, vìdeos o fotografias a cada puntu in sa mapa, impreende su widget o su menù contestuale.</string>
<string name="notes_by_date">Notas pro data</string>
<string name="by_date">Pro data</string>
<string name="by_type">Pro casta</string>
</resources>

View file

@ -2898,8 +2898,18 @@ Koda predstavlja območje: %1$s x %2$s</string>
<string name="make_active">Označi kot dejavno</string>
<string name="appearance_on_the_map">Videz na zemljevidu</string>
<string name="track_waypoints">Vmesne točke sledi</string>
<string name="favourites_group">Skupina priljubljenih</string>
<string name="favourites_group">Kategorija priljubljenih</string>
<string name="add_group">Dodaj skupino</string>
<string name="empty_state_markers_groups">Uvozi skupine</string>
<string name="shared_string_paste">Prilepi</string>
<string name="empty_state_osm_edits">Ustvari ali spremeni predmete OSM</string>
<string name="shared_string_deleted">Izbrisano</string>
<string name="shared_string_edited">Urejeno</string>
<string name="shared_string_added">Dodano</string>
<string name="by_date">Po datumu</string>
<string name="by_type">Po vrsti</string>
<string name="shared_string_more_without_dots">Več ...</string>
<string name="shared_string_right">Desno</string>
<string name="shared_string_left">Levo</string>
<string name="show_number_pad">Pokaži številčnico</string>
</resources>

View file

@ -1294,10 +1294,10 @@ Nyttjat utrymme är {1} MB.
<string name="osmo_mode_off">Starta OsMo-session</string>
<string name="use_points_as_intermediates">Beräkna rutt mellan punkter</string>
<string name="osmo_auto_send_locations_descr">Starta trippen automatiskt och skicka positioner när appen startats</string>
<string name="osmo_auto_send_locations_descr">Starta trippen automatiskt och skicka positioner när appen startats.</string>
<string name="osmo_auto_send_locations">Starta trippen automatiskt</string>
<string name="osmo_tracker_id">Tracker-ID</string>
<string name="osmo_tracker_id_descr">Tryck för att visa tracker-ID</string>
<string name="osmo_tracker_id_descr">Tryck för att visa tracker-ID.</string>
<string name="osmo_session_token">Sessionsmärke: %1$s</string>
<string name="osmo_auth_pending">Väntar på godkännande…</string>
<string name="osmo_locations_sent">Positioner skickade %1$d (i buffert %2$d)</string>
@ -2067,7 +2067,7 @@ Long %2$s</string>
<string name="poi_dialog_reopen">Öppna igen</string>
<string name="shared_string_commit">Skicka in</string>
<string name="please_specify_poi_type_only_from_list">Ange rätt POI-typ eller hoppa över det</string>
<string name="please_specify_poi_type_only_from_list">Ange rätt POI-typ eller hoppa över det.</string>
<string name="rendering_attr_roadStyle_description">Vägtyp</string>
<string name="osm_edit_reopened_note">Öppnat OSM-anteckning igen</string>
<string name="routing_attr_avoid_stairs_name">Undvik trappor</string>
@ -2082,11 +2082,11 @@ Long %2$s</string>
<string name="av_video_quality_low">Lägsta kvalitet</string>
<string name="av_video_quality_high">Högsta kvalitet</string>
<string name="av_video_quality">Videokvalitet</string>
<string name="av_video_quality_descr">Välj videokvalitet</string>
<string name="av_video_quality_descr">Välj videokvalitet.</string>
<string name="av_audio_format">Ljudformat</string>
<string name="av_audio_format_descr">Välj ljudformat</string>
<string name="av_audio_format_descr">Välj ljudformat.</string>
<string name="av_audio_bitrate">Ljudsamplingshastighet</string>
<string name="av_audio_bitrate_descr">Välj ljudupplösning</string>
<string name="av_audio_bitrate_descr">Välj ljudupplösning.</string>
<string name="no_address_found">Ingen adress angiven</string>
<string name="looking_up_address">Slår upp adressen</string>
<string name="rendering_attr_horseRoutes_name">Hästleder</string>
@ -2101,8 +2101,8 @@ Long %2$s</string>
<string name="no_camera_permission">Appen har inte tillräckliga behörigheter för att komma åt kameran.</string>
<string name="no_microphone_permission">Appen har inte tillräckliga behörigheter för att komma åt mikrofonen.</string>
<string name="select_voice_provider">Välj röstvägledning</string>
<string name="select_voice_provider_descr">Välj eller hämta röstvägledning för ditt språk</string>
<string name="impassable_road_desc">Välj de vägar du vill undvika under navigering</string>
<string name="select_voice_provider_descr">Välj eller hämta röstvägledning för ditt språk.</string>
<string name="impassable_road_desc">Välj de vägar du vill undvika under navigering.</string>
<string name="shared_string_sound">Ljud</string>
<string name="live_updates">Direkt-uppdateringar</string>
<string name="available_maps">Tillgängliga kartor</string>
@ -2148,7 +2148,7 @@ Long %2$s</string>
<string name="select_map_markers">Välj kartmarkörer</string>
<string name="shared_string_reverse_order">Omvänd ordning</string>
<string name="show_map_markers_description">Aktivera kartmarkörer</string>
<string name="show_map_markers_description">Aktivera kartmarkörerna.</string>
<string name="clear_active_markers_q">Vill du ta bort alla aktiva markörer?</string>
<string name="clear_markers_history_q">Vill du radera kartmarkörshistoriken?</string>
<string name="active_markers">Aktiva markörer</string>
@ -2179,17 +2179,17 @@ Detta kräver {3} MB temporärt och {1} MB permanent.
<string name="osm_editors_ranking">Ranglista OSM-redigerare</string>
<string name="osm_live_subscription">OsmAnd Live-prenumeration</string>
<string name="osm_live_subscribe_btn">Prenumerera</string>
<string name="osm_live_email_desc">Vi behöver det för att ge er information och bidrag</string>
<string name="osm_live_email_desc">Krävs för att ge er information om bidrag.</string>
<string name="osm_live_user_public_name">Publikt namn</string>
<string name="osm_live_hide_user_name">Visa inte mitt namn i rapporter</string>
<string name="osm_live_month_cost">Månadskostnad</string>
<string name="osm_live_month_cost_desc">Månadsbetalning</string>
<string name="osm_live_month_cost_desc">Månadsbetalning.</string>
<string name="osm_live_active">Aktiv</string>
<string name="osm_live_not_active">Inaktiv</string>
<string name="osm_live_enter_email">Ange en giltig e-postadress</string>
<string name="osm_live_enter_user_name">Ange publikt namn</string>
<string name="osm_live_thanks">Tack för att du prenumererar på live-uppdateringar!</string>
<string name="osm_live_region_desc">Delar av din donation kommer att skickas till OSM-användare som skickar in kartändringar i det området</string>
<string name="osm_live_region_desc">Delar av din donation kommer att skickas till OSM-användare som skickar in kartändringar i det området.</string>
<string name="osm_live_subscription_settings">Prenumerationsinställningar</string>
<string name="osm_live_ask_for_purchase">Köp en OsmAnd Live-prenumeration först</string>
@ -2219,18 +2219,18 @@ Detta kräver {3} MB temporärt och {1} MB permanent.
\n och ännu mer …</string>
<string name="map_widget_bearing">Relativ bäring</string>
<string name="access_disable_offroute_recalc">Räkna inte om rutten när du lämnat den</string>
<string name="access_disable_offroute_recalc_descr">Förhindrar automatiskt omberäkning av rutten när du lämnat den</string>
<string name="access_disable_offroute_recalc_descr">Förhindrar automatiskt omberäkning av rutten när du lämnat den.</string>
<string name="access_disable_wrong_direction_recalc">Ingen ny beräkning av rutten vid motsatt riktning</string>
<string name="access_disable_wrong_direction_recalc_descr">Förhindrar automatisk omberäkning av rutten när du rör dig i motsatt riktning</string>
<string name="access_disable_wrong_direction_recalc_descr">Förhindrar automatisk omberäkning av rutten när du rör dig i motsatt riktning.</string>
<string name="access_smart_autoannounce">Smart auto-meddelande</string>
<string name="access_smart_autoannounce_descr">Meddela endast när riktningen till målpunkten ändras</string>
<string name="access_smart_autoannounce_descr">Meddela endast när riktningen till målpunkten ändras.</string>
<string name="access_autoannounce_period">Period för auto-meddelande</string>
<string name="access_autoannounce_period_descr">Minsta tidsintervall mellan meddelanden</string>
<string name="access_autoannounce_period_descr">Minsta tidsintervall mellan meddelanden.</string>
<string name="access_default_color">Standardfärg</string>
<string name="access_category_choice">Välj kategori</string>
<string name="access_hint_enter_name">Skriv in namn</string>
<string name="access_hint_enter_category">Skriv in kategori</string>
<string name="access_hint_enter_description">Skriv in beskrivning</string>
<string name="access_hint_enter_description">Skriv in beskrivning.</string>
<string name="access_map_linked_to_location">Kartan är länkad till platsen</string>
<string name="access_collapsed_list">Minimerad lista</string>
<string name="access_expanded_list">Expanderad lista</string>
@ -2264,7 +2264,7 @@ Om du tycker om OsmAnd och OSM och vill stödja dem så är detta ett utmärkt s
<string name="change_markers_position">Ändra markörens position</string>
<string name="app_mode_bus">Buss</string>
<string name="app_mode_train">Tåg</string>
<string name="use_osm_live_routing_description">Aktivera navigering för OsmAnd Live-förändringar</string>
<string name="use_osm_live_routing_description">Aktivera navigering för OsmAnd Live-förändringar.</string>
<string name="use_osm_live_routing">OsmAnd Live-navigering</string>
<string name="lang_kn">Kannada</string>
<string name="lang_en_gb">Engelska (UK)</string>
@ -2272,8 +2272,8 @@ Om du tycker om OsmAnd och OSM och vill stödja dem så är detta ett utmärkt s
<string name="lang_hu_formal">Ungerska (formell)</string>
<string name="lang_es_us">Spanska (amerikansk)</string>
<string name="lang_ast">Asturiska</string>
<string name="access_direction_audio_feedback_descr">Ange riktningen till målet med ljud</string>
<string name="access_direction_haptic_feedback_descr">Ange riktningen till målet med vibration</string>
<string name="access_direction_audio_feedback_descr">Ange riktningen till målet med ljud.</string>
<string name="access_direction_haptic_feedback_descr">Ange riktningen till målet med vibration.</string>
<string name="access_direction_audio_feedback">Riktning (ljudåterkoppling)</string>
<string name="access_direction_haptic_feedback">Riktning (vibrationsåterkoppling)</string>
<string name="shared_string_from">från</string>
@ -2283,7 +2283,7 @@ Om du tycker om OsmAnd och OSM och vill stödja dem så är detta ett utmärkt s
<string name="shared_string_is_open_24_7">Öppet 24/7</string>
<string name="storage_directory_card">Minneskort</string>
<string name="coords_format">Koordinatformat</string>
<string name="coords_format_descr">Format för geografiska koordinater</string>
<string name="coords_format_descr">Format för geografiska koordinater.</string>
<string name="share_history_subject">delad via OsmAnd</string>
<string name="search_categories">Kategorier</string>
<string name="postcode">Postnummer</string>
@ -2324,7 +2324,7 @@ Om du tycker om OsmAnd och OSM och vill stödja dem så är detta ett utmärkt s
<string name="no_update_info">Visa inte uppdateringar</string>
<string name="update_all_maps_now">Vill du uppdatera alla kartor nu?</string>
<string name="routing_attr_short_way_name">Bränslesnål väg</string>
<string name="routing_attr_short_way_description">Använd bränslesnål väg (oftast kortare)</string>
<string name="routing_attr_short_way_description">Använd bränslesnål väg (oftast kortare).</string>
<string name="shared_string_change">Ändra</string>
<string name="get_started">Kom igång</string>
<string name="replace_favorite_confirmation">Är du säker på att du vill ersätta favoriten %1$s?</string>
@ -2340,11 +2340,11 @@ Om du tycker om OsmAnd och OSM och vill stödja dem så är detta ett utmärkt s
<string name="search_my_location">Sök efter min plats</string>
<string name="rendering_attr_contourColorScheme_description">Färgschema för konturer</string>
<string name="save_track_min_speed">Minsta loggningshastighet</string>
<string name="save_track_min_speed_descr">Filter: Välj minsta hastighet som startar loggning av en punkt</string>
<string name="save_track_min_speed_descr">Filter: Välj minsta hastighet som startar loggning av en punkt.</string>
<string name="save_track_min_distance">Loggning av minimal rörelse</string>
<string name="save_track_min_distance_descr">Filter: Ange minsta avstånd från den senaste positionen för att en punkt ska loggas</string>
<string name="save_track_min_distance_descr">Filter: Ange minsta avstånd från den senaste positionen för att en punkt ska loggas.</string>
<string name="save_track_precision">Minsta loggningsprecision</string>
<string name="save_track_precision_descr">Filter: Välj minsta precision som startar loggning av en punkt</string>
<string name="save_track_precision_descr">Filter: Välj minsta precision som startar loggning av en punkt.</string>
<string name="christmas_poi">Jul-POI</string>
<string name="christmas_desc_q">Visa Jul-POI?</string>
<string name="rendering_value_light_brown_name">Ljusbrun</string>
@ -2357,9 +2357,9 @@ Om du tycker om OsmAnd och OSM och vill stödja dem så är detta ett utmärkt s
<string name="shared_string_recorded">Inspelat</string>
<string name="shared_string_record">Spela in</string>
<string name="gpx_logging_no_data">Inga data</string>
<string name="trip_rec_notification_settings_desc">Visa en systemavisering som gör att du kan starta trippinspelning</string>
<string name="trip_rec_notification_settings_desc">Visa en systemavisering som gör att du kan starta trippinspelning.</string>
<string name="routing_attr_allow_motorway_name">Tillåt motorvägar</string>
<string name="routing_attr_allow_motorway_description">Tillåt motorvägar</string>
<string name="routing_attr_allow_motorway_description">Tillåt motorvägar.</string>
<string name="wiki_around">Närliggande Wikipedia-artiklar</string>
<string name="search_map_hint">Sök stad eller region</string>
<string name="route_roundabout_short">Tag den %1$d avfarten och kör</string>
@ -2373,19 +2373,19 @@ Om du tycker om OsmAnd och OSM och vill stödja dem så är detta ett utmärkt s
<string name="osmo_pause_location">Pausa</string>
<string name="osmo_service_running">OsMo-tjänsten är igång</string>
<string name="trip_rec_notification_settings">Aktivera snabbstart av inspelning</string>
<string name="release_2_5">" • Klickbara ikoner på kartan
\n
\n • Kraftfull sökning med POI-filter: Sök t.ex. restauranger efter kvalitet, eller campingplatser med speciellta faciliteter
\n
\n • Ny Topo Map-stil för cyklister och vandrare
\n
\n • Förbättrad trippinspelning
\n
\n • Förbättrade navigationsaviseringar (Android Wear)
\n
\n • Många andra förbättringar och felkorrigeringar
\n
\n och mer … "</string>
<string name="release_2_5">• Klickbara ikoner på kartan
\n
\n • Kraftfull sökning med POI-filter: Sök t.ex. restauranger efter kvalitet, eller campingplatser med speciellta faciliteter
\n
\n • Ny Topo Map-stil för cyklister och vandrare
\n
\n • Förbättrad trippinspelning
\n
\n • Förbättrade navigationsaviseringar (Android Wear)
\n
\n • Många andra förbättringar och felkorrigeringar
\n
\n och mer …</string>
<string name="christmas_desc">Med tanke på den kommande julen och nyåret så kan du välja att visa POI som har med julen att göra: julgranar, julmarknader med mera.</string>
<string name="rendering_attr_contourWidth_name">Bredd på konturlinjer</string>
<string name="rendering_attr_hideWaterPolygons_description">Vatten</string>
@ -2393,19 +2393,19 @@ Om du tycker om OsmAnd och OSM och vill stödja dem så är detta ett utmärkt s
<string name="donation_to_osm_desc">En del av din donation kommer att skickas till OSM-användare som skickar in ändringar till OpenStreetMap. Prenumerationens kostnad fortsätter att vara densamma.</string>
<string name="osm_live_subscription_desc">En prenumeration aktiverar uppdateringar varje timme, dag eller vecka och obegränsade nedladdningar av alla kartor globalt.</string>
<string name="osm_live_banner_desc">Erhåll obegränsade nedladdningar av kartor samt kartuppdateringar oftare än en gång i månaden: varje vecka, varje dag eller varje timme.</string>
<string name="release_2_4">" • Ny mycket kraftfull fritextsökning
\n
\n• Ljudsystem för bil/högtalarintegrering via Blåtand
\n
\n• Förbättrad vägvisning, meddelanderöst och körfält för omdirigering
\n
\n• Förbättrat transportlager med vägrendering.
\n
\n• Fler språkversioner och nu stöd för regionala språk
\n
\n• Många fler förbättringar och felkorrigeringar
\n
\nmed mera… "</string>
<string name="release_2_4">\\022 Ny mycket kraftfull fritextsökning
\n
\n• Ljudsystem för bil/högtalarintegrering via Blåtand
\n
\n• Förbättrad vägvisning, meddelanderöst och körfält för omdirigering
\n
\n• Förbättrat transportlager med vägrendering.
\n
\n• Fler språkversioner och nu stöd för regionala språk
\n
\n• Många fler förbättringar och felkorrigeringar
\n
\nmed mera…</string>
<string name="rendering_value_low_name">Låg</string>
<string name="rendering_attr_contourWidth_description">Bredd på konturlinjer</string>
<string name="rendering_value_high_name">Hög</string>
@ -2477,7 +2477,7 @@ Vänligen tillhandahåll fullständig kod</string>
<string name="average_speed">Medelhastighet</string>
<string name="shared_string_time_moving">Tid i rörelse</string>
<string name="max_speed">Maxhastighet</string>
<string name="no_update_info_desc">Kontrollera inte efter uppdateringar om nya versioner eller rabatter relaterade till OsmAnd</string>
<string name="no_update_info_desc">Kontrollera inte efter uppdateringar om nya versioner eller rabatter relaterade till OsmAnd.</string>
<string name="lang_sr_latn">Serbiska (latin)</string>
<string name="configure_screen_quick_action">Snabbåtgärd</string>
@ -2505,9 +2505,9 @@ Vänligen tillhandahåll fullständig kod</string>
<string name="quick_action_map_overlay_switch">"Kartöverlägget har ändrats till \"%s\"."</string>
<string name="quick_action_btn_tutorial_descr">Tryck länge och dra knappen för att ändra dess position på skärmen</string>
<string name="routing_attr_height_obstacles_name">Använd höjddata</string>
<string name="routing_attr_height_obstacles_description">Använd terränghöjddata från SRTM, ASTER och EU-DEM</string>
<string name="routing_attr_height_obstacles_description">Använd terränghöjddata från SRTM, ASTER och EU-DEM.</string>
<string name="rendering_attr_depthContours_description">Visa djupkonturer och punkter</string>
<string name="rendering_attr_depthContours_description">Visa djupkonturer och punkter.</string>
<string name="shared_string_slope">Sluttning</string>
<string name="altitude_range">Höjdområde</string>
@ -2516,7 +2516,7 @@ Vänligen tillhandahåll fullständig kod</string>
<string name="driving_style_speed">Hastighet</string>
<string name="driving_style_safety">Säkerhet</string>
<string name="relief_smoothness_factor_descr">Favoritterräng: slätt eller kuperat</string>
<string name="relief_smoothness_factor_descr">Favoritterräng: slätt eller kuperat.</string>
<string name="full_version_thanks">Tack för att du köpt den fullständiga versionen av OsmAnd!</string>
<string name="routing_attr_relief_smoothness_factor_hills_name">Kuperat</string>
<string name="routing_attr_relief_smoothness_factor_plains_name">Mindre kuperat</string>
@ -2547,7 +2547,7 @@ Vänligen tillhandahåll fullständig kod</string>
<string name="restart_search">Starta om sökningen</string>
<string name="increase_search_radius">Utöka sökradien</string>
<string name="nothing_found">Hittade ingenting :(</string>
<string name="nothing_found_descr">Ändra sökord eller utöka sökradien</string>
<string name="nothing_found_descr">Ändra sökord eller utöka sökradien.</string>
<string name="sorted_by_distance">Sorterat efter avstånd</string>
<string name="search_favorites">Sök favoriter</string>
<string name="shared_string_plugin">Insticksmodul</string>
@ -2564,7 +2564,7 @@ Vänligen tillhandahåll fullständig kod</string>
<string name="shared_string_visible">Synlig</string>
<string name="online_photos">Online-foton</string>
<string name="shared_string_add_photos">Lägg till foton</string>
<string name="no_photos_descr">Vi har inga foton för denna plats</string>
<string name="no_photos_descr">Vi har inga foton från denna plats.</string>
<string name="mapillary_widget">Mapillary-widget</string>
<string name="mapillary">Mapillary</string>
<string name="shared_string_install">Installera</string>
@ -2583,7 +2583,7 @@ Vänligen tillhandahåll fullständig kod</string>
<string name="shared_string_navigate">Navigera</string>
<string name="shared_string_markers">Markörer</string>
<string name="routing_attr_avoid_ice_roads_fords_name">Undvik isvägar och vadställen</string>
<string name="routing_attr_avoid_ice_roads_fords_description">Undvik isvägar och vadställen</string>
<string name="routing_attr_avoid_ice_roads_fords_description">Undvik isvägar och vadställen.</string>
<string name="my_location">Min plats</string>
<string name="shared_string_sort">Sortera</string>
<string name="is_saved">har sparats</string>
@ -2595,7 +2595,7 @@ Vänligen tillhandahåll fullständig kod</string>
<string name="remove_from_map_markers">Tag bort från Kartmarkörer</string>
<string name="shared_string_list">Lista</string>
<string name="shared_string_groups">Grupper</string>
<string name="passed">Passerade: %1$s</string>
<string name="passed">Senast använt: %1$s</string>
<string name="make_active">Gör aktiv</string>
<string name="today">I dag</string>
<string name="yesterday">I går</string>
@ -2633,13 +2633,13 @@ Vänligen tillhandahåll fullständig kod</string>
<string name="shared_string_finish">Avsluta</string>
<string name="plan_route">Planera rutt</string>
<string name="marker_save_as_track_descr">Exportera dina markörer till en fil:</string>
<string name="group_will_be_removed_after_restart">Gruppen tas bort efter omstart</string>
<string name="group_will_be_removed_after_restart">Gruppen tas bort efter nästa omstart av appen.</string>
<string name="date_added">Datum tillagd</string>
<string name="order_by">Ordna efter:</string>
<string name="all_markers_moved_to_history">Alla kartmarkörer har flyttats till historiken</string>
<string name="marker_moved_to_history">Kartmarkören har flyttats till historiken</string>
<string name="do_not_use_animations">Använd inte animeringar</string>
<string name="do_not_use_animations_descr">Inaktiverar animeringar i appen</string>
<string name="do_not_use_animations_descr">Inaktiverar animeringar i appen.</string>
<string name="line">Linje</string>
<string name="save_as_route_point">Spara som ruttpunkter</string>
<string name="save_as_line">Spara som linje</string>
@ -2655,7 +2655,7 @@ Vänligen tillhandahåll fullständig kod</string>
<string name="mapillary_image">Mapillary-bild</string>
<string name="open_mapillary">Öppna Mapillary</string>
<string name="improve_coverage_mapillary">Förbättra fototäckning med Mapillary</string>
<string name="mapillary_widget_descr">Gör så att du snabbt kan bidraga till Mapillary</string>
<string name="mapillary_widget_descr">Gör så att du snabbt kan bidraga till Mapillary.</string>
<string name="descendingly">nedåt</string>
<string name="ascendingly">uppåt</string>
<string name="marker_moved_to_active">Kartmarkören flyttad till aktiva</string>
@ -2665,8 +2665,8 @@ Vänligen tillhandahåll fullständig kod</string>
<string name="quick_action_show_navigation_finish_dialog">Visa dialogen Navigation avslutad</string>
<string name="store_tracks_in_monthly_directories">Spara inspelade spår i mappar efter månad</string>
<string name="store_tracks_in_monthly_directories_descrp">Spara inspelade spår i undermappar efter inspelad månad (typ 2017-01).</string>
<string name="mapillary_menu_descr_dates">Visa bilder tillagda under en speciell period.</string>
<string name="mapillary_menu_descr_username">Visa bilder tillagda av en speciell användare.</string>
<string name="mapillary_menu_descr_dates">Visa endast tillagda bilder</string>
<string name="mapillary_menu_descr_username">Visa endast bilder tillagda av</string>
<string name="import_gpx_file_description">kan importeras som favoritpunkter eller som spårfil.</string>
<string name="import_as_gpx">Importera som GPX-fil</string>
<string name="import_as_favorites">Importera som favorit</string>

View file

@ -2948,11 +2948,11 @@ OsmAnd (Automated Navigation Directions) 是一個地圖和導航的應用程式
<string name="empty_state_markers_history">\@string/shared_string_history</string>
<string name="shared_string_two"></string>
<string name="shared_string_one"></string>
<string name="distance_indication_descr">選擇如何顯示現行標記的距離。</string>
<string name="distance_indication_descr">選擇如何顯示活動標記的距離。</string>
<string name="active_markers_descr">選擇想顯示多少的方向指標。</string>
<string name="empty_state_markers_history_desc">標記為已通過的標點將顯現在此螢幕上。</string>
<string name="show_guide_line_descr">從您的位置顯示指引路線到現行的標記位置。</string>
<string name="show_arrows_descr">顯示一個或兩個箭頭指示方向到現行的標記。</string>
<string name="show_guide_line_descr">從您的位置顯示指引路線到活動標記位置。</string>
<string name="show_arrows_descr">顯示一個或兩個箭頭指示方向到活動標記。</string>
<string name="shared_string_more_without_dots">更多</string>
<string name="looking_for_tracks_with_waypoints">尋找軌跡跟航點</string>
<string name="empty_state_osm_edits">建立或修改 OSM 物件</string>

View file

@ -3634,4 +3634,6 @@
<string name="poi_charging_station_filter">Charging station</string>
<string name="poi_depot">Depot</string>
</resources>

View file

@ -13,6 +13,7 @@ import android.webkit.WebView;
import android.widget.LinearLayout;
import android.widget.TextView;
import net.osmand.AndroidUtils;
import net.osmand.plus.OsmandPlugin;
import net.osmand.plus.R;
import net.osmand.plus.activities.MapActivity;
@ -40,6 +41,7 @@ public class ContextMenuCardDialogFragment extends BaseOsmAndFragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.context_menu_card_dialog, container, false);
AndroidUtils.addStatusBarPadding21v(getActivity(), view);
if (dialog.getType() == ContextMenuCardDialog.CardDialogType.MAPILLARY) {
view.findViewById(R.id.dialog_layout)
.setBackgroundColor(ContextCompat.getColor(getActivity(), R.color.mapillary_action_bar));
@ -119,11 +121,6 @@ public class ContextMenuCardDialogFragment extends BaseOsmAndFragment {
return -1;
}
@Override
protected boolean isFullScreenAllowed() {
return false;
}
public static void showInstance(ContextMenuCardDialog menu) {
ContextMenuCardDialogFragment fragment = new ContextMenuCardDialogFragment();
fragment.dialog = menu;

View file

@ -18,7 +18,6 @@ import android.view.LayoutInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.widget.TextView;
import android.widget.Toast;
@ -265,10 +264,10 @@ public class MapMarkersDialogFragment extends android.support.v4.app.DialogFragm
public void blurStatusBar() {
if (Build.VERSION.SDK_INT >= 21) {
Window window = getDialog().getWindow();
if (window != null) {
statusBarColor = window.getStatusBarColor();
window.setStatusBarColor(ContextCompat.getColor(getActivity(),
Dialog dialog = getDialog();
if (dialog != null && dialog.getWindow() != null) {
statusBarColor = dialog.getWindow().getStatusBarColor();
dialog.getWindow().setStatusBarColor(ContextCompat.getColor(getActivity(),
lightTheme ? R.color.status_bar_dim_light : R.color.status_bar_dim_dark));
}
}
@ -276,9 +275,9 @@ public class MapMarkersDialogFragment extends android.support.v4.app.DialogFragm
public void clearStatusBar() {
if (Build.VERSION.SDK_INT >= 21 && statusBarColor != -1) {
Window window = getDialog().getWindow();
if (window != null) {
window.setStatusBarColor(statusBarColor);
Dialog dialog = getDialog();
if (dialog != null && dialog.getWindow() != null) {
dialog.getWindow().setStatusBarColor(statusBarColor);
}
}
}

View file

@ -1,14 +1,21 @@
package net.osmand.plus.osmedit;
import android.graphics.Typeface;
import android.graphics.drawable.Drawable;
import android.support.annotation.NonNull;
import android.system.Os;
import android.text.SpannableString;
import android.text.TextUtils;
import android.text.style.StyleSpan;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.CheckBox;
import android.widget.FrameLayout;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import net.osmand.osm.PoiType;
@ -20,18 +27,25 @@ import net.osmand.util.Algorithms;
import java.util.List;
import java.util.Map;
public class OsmEditsAdapter extends ArrayAdapter<OsmPoint> {
public class OsmEditsAdapter extends ArrayAdapter<Object> {
public static final int TYPE_HEADER = 0;
private static final int TYPE_ITEM = 1;
private static final int TYPE_COUNT = 2;
private OsmandApplication app;
private List<Object> items;
private boolean selectionMode;
private List<OsmPoint> selectedOsmEdits;
private boolean portrait;
private OsmEditsAdapterListener listener;
public OsmEditsAdapter(OsmandApplication app, @NonNull List<OsmPoint> points) {
super(app, 0, points);
public OsmEditsAdapter(OsmandApplication app, @NonNull List<Object> items) {
super(app, 0, items);
this.app = app;
this.items = items;
}
public boolean isSelectionMode() {
@ -46,6 +60,10 @@ public class OsmEditsAdapter extends ArrayAdapter<OsmPoint> {
this.selectedOsmEdits = selectedOsmEdits;
}
public void setPortrait(boolean portrait) {
this.portrait = portrait;
}
public void setAdapterListener(OsmEditsAdapterListener listener) {
this.listener = listener;
}
@ -53,69 +71,173 @@ public class OsmEditsAdapter extends ArrayAdapter<OsmPoint> {
@NonNull
@Override
public View getView(int position, View convertView, @NonNull ViewGroup parent) {
View view = convertView;
if (view == null) {
view = LayoutInflater.from(getContext()).inflate(R.layout.note_list_item, parent, false);
OsmEditViewHolder holder = new OsmEditViewHolder(view);
view.setTag(holder);
}
final OsmPoint osmEdit = getItem(position);
if (osmEdit != null) {
final OsmEditViewHolder holder = (OsmEditViewHolder) view.getTag();
holder.titleTextView.setText(OsmEditingPlugin.getName(osmEdit));
holder.descriptionTextView.setText(getDescription(osmEdit));
Drawable icon = getIcon(osmEdit);
if (icon != null) {
holder.icon.setImageDrawable(icon);
if (portrait) {
if (convertView == null) {
if (position == 0) {
convertView = LayoutInflater.from(getContext()).inflate(R.layout.list_item_header, parent, false);
HeaderViewHolder holder = new HeaderViewHolder(convertView);
convertView.setTag(holder);
} else {
convertView = LayoutInflater.from(getContext()).inflate(R.layout.note_list_item, parent, false);
OsmEditViewHolder holder = new OsmEditViewHolder(convertView);
convertView.setTag(holder);
}
}
if (selectionMode) {
holder.optionsImageButton.setVisibility(View.GONE);
holder.selectCheckBox.setVisibility(View.VISIBLE);
holder.selectCheckBox.setChecked(selectedOsmEdits.contains(osmEdit));
holder.icon.setVisibility(View.GONE);
holder.selectCheckBox.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (listener != null) {
listener.onItemSelect(osmEdit, holder.selectCheckBox.isChecked());
}
}
});
if (position == 0) {
bindHeaderViewHolder((HeaderViewHolder) convertView.getTag());
} else {
holder.icon.setVisibility(View.VISIBLE);
holder.optionsImageButton.setVisibility(View.VISIBLE);
holder.selectCheckBox.setVisibility(View.GONE);
final Object item = getItem(position);
if (item instanceof OsmPoint) {
final OsmEditViewHolder holder = (OsmEditViewHolder) convertView.getTag();
bindOsmEditViewHolder(holder, (OsmPoint) item, position);
}
}
holder.optionsImageButton.setImageDrawable(app.getIconsCache().getThemedIcon(R.drawable.ic_overflow_menu_white));
holder.optionsImageButton.setOnClickListener(new View.OnClickListener() {
return convertView;
} else {
int margin = app.getResources().getDimensionPixelSize(R.dimen.content_padding);
int sideMargin = app.getResources().getDisplayMetrics().widthPixels / 10;
FrameLayout fl = new FrameLayout(getContext());
LinearLayout ll = new LinearLayout(getContext());
ll.setOrientation(LinearLayout.VERTICAL);
ll.setBackgroundResource(app.getSettings().isLightContent() ? R.drawable.bg_card_light : R.drawable.bg_card_dark);
fl.addView(ll);
((FrameLayout.LayoutParams) ll.getLayoutParams()).setMargins(sideMargin, margin, sideMargin, margin);
HeaderViewHolder headerViewHolder = new HeaderViewHolder(LayoutInflater.from(getContext()).inflate(R.layout.list_item_header, parent, false));
bindHeaderViewHolder(headerViewHolder);
ll.addView(headerViewHolder.mainView);
for (int i = 0; i < items.size(); i++) {
Object item = getItem(i);
if (item instanceof OsmPoint) {
OsmEditViewHolder viewHolder = new OsmEditViewHolder(LayoutInflater.from(getContext()).inflate(R.layout.note_list_item, parent, false));
bindOsmEditViewHolder(viewHolder, (OsmPoint) item, i);
ll.addView(viewHolder.mainView);
}
}
return fl;
}
}
@Override
public int getCount() {
if (portrait) {
return super.getCount();
} else {
return getHeadersCount();
}
}
@Override
public int getItemViewType(int position) {
Object item = getItem(position);
if (item instanceof OsmPoint) {
return TYPE_ITEM;
}
return (int) item;
}
@Override
public int getViewTypeCount() {
return TYPE_COUNT;
}
private int getHeadersCount() {
int count = 0;
for (int i = 0; i < items.size(); i++) {
Object item = items.get(i);
if (item instanceof Integer) {
count++;
}
}
return count;
}
private void bindHeaderViewHolder(final HeaderViewHolder holder) {
holder.topDivider.setVisibility(portrait ? View.VISIBLE : View.GONE);
holder.title.setText(R.string.your_edits);
holder.checkBox.setChecked(isAllSelected());
if (selectionMode) {
holder.checkBox.setVisibility(View.VISIBLE);
holder.checkBox.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (listener != null) {
listener.onOptionsClick(osmEdit);
listener.onHeaderCheckboxClick(holder.checkBox.isChecked());
}
}
});
holder.mainView.setOnClickListener(new View.OnClickListener() {
} else {
holder.checkBox.setVisibility(View.GONE);
}
}
private void bindOsmEditViewHolder(final OsmEditViewHolder holder, final OsmPoint osmEdit, int position) {
holder.titleTextView.setText(getTitle(osmEdit));
holder.descriptionTextView.setText(getDescription(osmEdit));
Drawable icon = getIcon(osmEdit);
if (icon != null) {
holder.icon.setImageDrawable(icon);
}
if (selectionMode) {
holder.optionsImageButton.setVisibility(View.GONE);
holder.selectCheckBox.setVisibility(View.VISIBLE);
holder.selectCheckBox.setChecked(selectedOsmEdits.contains(osmEdit));
holder.icon.setVisibility(View.GONE);
holder.selectCheckBox.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (selectionMode) {
holder.selectCheckBox.performClick();
} else {
if (listener != null) {
listener.onItemShowMap(osmEdit);
}
if (listener != null) {
listener.onItemSelect(osmEdit, holder.selectCheckBox.isChecked());
}
}
});
boolean showDivider = getCount() > 1 && position != getCount() - 1;
holder.bottomDivider.setVisibility(showDivider ? View.VISIBLE : View.GONE);
} else {
holder.icon.setVisibility(View.VISIBLE);
holder.optionsImageButton.setVisibility(View.VISIBLE);
holder.selectCheckBox.setVisibility(View.GONE);
}
return view;
holder.optionsImageButton.setImageDrawable(app.getIconsCache().getThemedIcon(R.drawable.ic_overflow_menu_white));
holder.optionsImageButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (listener != null) {
listener.onOptionsClick(osmEdit);
}
}
});
holder.mainView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (selectionMode) {
holder.selectCheckBox.performClick();
} else {
if (listener != null) {
listener.onItemShowMap(osmEdit);
}
}
}
});
boolean showDivider = getItemsCount() > 1 && position != getItemsCount() - 1;
holder.bottomDivider.setVisibility(showDivider ? View.VISIBLE : View.GONE);
}
private int getItemsCount() {
return items.size();
}
private SpannableString getTitle(OsmPoint osmPoint) {
SpannableString title = new SpannableString(OsmEditingPlugin.getName(osmPoint));
if (TextUtils.isEmpty(title)) {
title = SpannableString.valueOf(getCategory(osmPoint));
title.setSpan(new StyleSpan(Typeface.ITALIC), 0, title.length(), 0);
}
return title;
}
private Drawable getIcon(OsmPoint point) {
@ -158,6 +280,26 @@ public class OsmEditsAdapter extends ArrayAdapter<OsmPoint> {
return null;
}
private boolean isAllSelected() {
for (int i = 0; i < items.size(); i++) {
Object item = items.get(i);
if (item instanceof OsmPoint) {
if (!selectedOsmEdits.contains(item)) {
return false;
}
}
}
return true;
}
private String getCategory(OsmPoint point) {
String category = "";
if (point.getGroup() == OsmPoint.Group.POI) {
category = ((OpenstreetmapPoint) point).getEntity().getTag(EditPoiData.POI_TYPE_TAG);
}
return category;
}
private String getDescription(OsmPoint point) {
String action = "";
if (point.getAction() == OsmPoint.Action.CREATE) {
@ -170,10 +312,7 @@ public class OsmEditsAdapter extends ArrayAdapter<OsmPoint> {
action = getContext().getString(R.string.shared_string_edited);
}
String category = "";
if (point.getGroup() == OsmPoint.Group.POI) {
category = ((OpenstreetmapPoint) point).getEntity().getTag(EditPoiData.POI_TYPE_TAG);
}
String category = getCategory(point);
String comment = "";
if (point.getGroup() == OsmPoint.Group.BUG) {
@ -197,6 +336,20 @@ public class OsmEditsAdapter extends ArrayAdapter<OsmPoint> {
return description;
}
private class HeaderViewHolder {
View mainView;
View topDivider;
CheckBox checkBox;
TextView title;
HeaderViewHolder(View view) {
mainView = view;
topDivider = view.findViewById(R.id.top_divider);
checkBox = (CheckBox) view.findViewById(R.id.check_box);
title = (TextView) view.findViewById(R.id.title_text_view);
}
}
private class OsmEditViewHolder {
View mainView;
ImageView icon;
@ -219,6 +372,8 @@ public class OsmEditsAdapter extends ArrayAdapter<OsmPoint> {
public interface OsmEditsAdapterListener {
void onHeaderCheckboxClick(boolean checked);
void onItemSelect(OsmPoint point, boolean checked);
void onItemShowMap(OsmPoint point);

View file

@ -21,7 +21,6 @@ import android.view.View;
import android.view.ViewGroup;
import android.view.ViewStub;
import android.widget.ArrayAdapter;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.ListView;
@ -64,7 +63,6 @@ public class OsmEditsFragment extends OsmAndListFragment implements SendPoiDialo
private OsmEditingPlugin plugin;
private View footerView;
private View headerView;
private View emptyView;
private List<OsmPoint> osmEdits = new ArrayList<>();
@ -133,6 +131,12 @@ public class OsmEditsFragment extends OsmAndListFragment implements SendPoiDialo
return listAdapter;
}
private void recreateAdapterData() {
listAdapter.clear();
listAdapter.addAll(createItemsList());
listAdapter.notifyDataSetChanged();
}
private void selectAll() {
for (int i = 0; i < osmEdits.size(); i++) {
OsmPoint point = osmEdits.get(i);
@ -285,7 +289,7 @@ public class OsmEditsFragment extends OsmAndListFragment implements SendPoiDialo
private void updateSelectionMode(ActionMode m) {
updateSelectionTitle(m);
refreshSelectAll();
listAdapter.notifyDataSetChanged();
}
private void updateSelectionTitle(ActionMode m) {
@ -296,28 +300,9 @@ public class OsmEditsFragment extends OsmAndListFragment implements SendPoiDialo
}
}
private void refreshSelectAll() {
View view = getView();
if (view == null) {
return;
}
CheckBox selectAll = (CheckBox) view.findViewById(R.id.check_box);
for (int i = 0; i < osmEdits.size(); i++) {
OsmPoint point = osmEdits.get(i);
if (!osmEditsSelected.contains(point)) {
selectAll.setChecked(false);
return;
}
}
selectAll.setChecked(true);
}
private void enableSelectionMode(boolean selectionMode) {
listAdapter.setSelectionMode(selectionMode);
//noinspection ConstantConditions
if (headerView != null) {
headerView.findViewById(R.id.check_box).setVisibility(selectionMode ? View.VISIBLE : View.GONE);
}
((FavoritesActivity) getActivity()).setToolbarVisibility(!selectionMode && AndroidUiHelper.isOrientationPortrait(getActivity()));
((FavoritesActivity) getActivity()).updateListViewFooter(footerView);
}
@ -348,6 +333,7 @@ public class OsmEditsFragment extends OsmAndListFragment implements SendPoiDialo
}
private void fetchData() {
boolean portrait = AndroidUiHelper.isOrientationPortrait(getActivity());
osmEdits = new ArrayList<>();
List<OpenstreetmapPoint> l1 = plugin.getDBPOI().getOpenstreetmapPoints();
List<OsmNotesPoint> l2 = plugin.getDBBug().getOsmbugsPoints();
@ -357,32 +343,24 @@ public class OsmEditsFragment extends OsmAndListFragment implements SendPoiDialo
listView.setDivider(null);
listView.setEmptyView(emptyView);
if (osmEdits.size() > 0) {
if (footerView == null) {
footerView = getActivity().getLayoutInflater().inflate(R.layout.list_shadow_footer, listView, false);
listView.addFooterView(footerView);
}
if (headerView == null) {
headerView = getActivity().getLayoutInflater().inflate(R.layout.list_item_header, listView, false);
listView.addHeaderView(headerView);
((TextView) headerView.findViewById(R.id.title_text_view)).setText(R.string.your_edits);
final CheckBox selectAll = (CheckBox) headerView.findViewById(R.id.check_box);
selectAll.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (selectAll.isChecked()) {
selectAll();
} else {
deselectAll();
}
updateSelectionTitle(actionMode);
}
});
}
if (osmEdits.size() > 0 && footerView == null && portrait) {
footerView = getActivity().getLayoutInflater().inflate(R.layout.list_shadow_footer, listView, false);
listView.addFooterView(footerView);
}
listAdapter = new OsmEditsAdapter(getMyApplication(), osmEdits);
List<Object> items = createItemsList();
listAdapter = new OsmEditsAdapter(getMyApplication(), items);
listAdapter.setSelectedOsmEdits(osmEditsSelected);
listAdapter.setAdapterListener(new OsmEditsAdapter.OsmEditsAdapterListener() {
@Override
public void onHeaderCheckboxClick(boolean checked) {
if (checked) {
selectAll();
} else {
deselectAll();
}
updateSelectionTitle(actionMode);
}
@Override
public void onItemSelect(OsmPoint point, boolean checked) {
if (checked) {
@ -403,9 +381,19 @@ public class OsmEditsFragment extends OsmAndListFragment implements SendPoiDialo
openPopUpMenu(note);
}
});
listAdapter.setPortrait(portrait);
listView.setAdapter(listAdapter);
}
private List<Object> createItemsList() {
List<Object> items = new ArrayList<>();
if (!osmEdits.isEmpty()) {
items.add(OsmEditsAdapter.TYPE_HEADER);
items.addAll(osmEdits);
}
return items;
}
private void showBugDialog(final OsmNotesPoint point) {
final View view = LayoutInflater.from(getActivity()).inflate(R.layout.open_bug, null);
view.findViewById(R.id.user_name_field).setVisibility(View.GONE);
@ -527,7 +515,7 @@ public class OsmEditsFragment extends OsmAndListFragment implements SendPoiDialo
osmEdits.remove(osmPoint);
}
}
listAdapter.notifyDataSetChanged();
recreateAdapterData();
}
};
dialog.show(getActivity().getSupportFragmentManager(), ProgressDialogFragment.TAG);
@ -546,7 +534,7 @@ public class OsmEditsFragment extends OsmAndListFragment implements SendPoiDialo
private void deletePoint(OsmPoint osmPoint) {
osmEdits.remove(osmPoint);
listAdapter.notifyDataSetChanged();
recreateAdapterData();
}
private void notifyDataSetChanged() {