diff --git a/OsmAnd/res/drawable-large-hdpi/map_bicycle_location_bottom.png b/OsmAnd/res/drawable-large-hdpi/map_bicycle_location_bottom.png new file mode 100644 index 0000000000..6db8b74514 Binary files /dev/null and b/OsmAnd/res/drawable-large-hdpi/map_bicycle_location_bottom.png differ diff --git a/OsmAnd/res/drawable-large-hdpi/map_bicycle_location_center.png b/OsmAnd/res/drawable-large-hdpi/map_bicycle_location_center.png new file mode 100644 index 0000000000..09eceefe2a Binary files /dev/null and b/OsmAnd/res/drawable-large-hdpi/map_bicycle_location_center.png differ diff --git a/OsmAnd/res/drawable-large-hdpi/map_bicycle_location_top.png b/OsmAnd/res/drawable-large-hdpi/map_bicycle_location_top.png new file mode 100644 index 0000000000..a499949379 Binary files /dev/null and b/OsmAnd/res/drawable-large-hdpi/map_bicycle_location_top.png differ diff --git a/OsmAnd/res/drawable-large-hdpi/map_car_bearing_bottom.png b/OsmAnd/res/drawable-large-hdpi/map_car_bearing_bottom.png new file mode 100644 index 0000000000..b03171421c Binary files /dev/null and b/OsmAnd/res/drawable-large-hdpi/map_car_bearing_bottom.png differ diff --git a/OsmAnd/res/drawable-large-hdpi/map_car_bearing_center.png b/OsmAnd/res/drawable-large-hdpi/map_car_bearing_center.png new file mode 100644 index 0000000000..906ec0426d Binary files /dev/null and b/OsmAnd/res/drawable-large-hdpi/map_car_bearing_center.png differ diff --git a/OsmAnd/res/drawable-large-hdpi/map_car_bearing_top.png b/OsmAnd/res/drawable-large-hdpi/map_car_bearing_top.png new file mode 100644 index 0000000000..b7fac1773a Binary files /dev/null and b/OsmAnd/res/drawable-large-hdpi/map_car_bearing_top.png differ diff --git a/OsmAnd/res/drawable-large-hdpi/map_car_location_bottom.png b/OsmAnd/res/drawable-large-hdpi/map_car_location_bottom.png new file mode 100644 index 0000000000..88bcceaa28 Binary files /dev/null and b/OsmAnd/res/drawable-large-hdpi/map_car_location_bottom.png differ diff --git a/OsmAnd/res/drawable-large-hdpi/map_car_location_center.png b/OsmAnd/res/drawable-large-hdpi/map_car_location_center.png new file mode 100644 index 0000000000..a6e3ea1a9f Binary files /dev/null and b/OsmAnd/res/drawable-large-hdpi/map_car_location_center.png differ diff --git a/OsmAnd/res/drawable-large-hdpi/map_car_location_top.png b/OsmAnd/res/drawable-large-hdpi/map_car_location_top.png new file mode 100644 index 0000000000..ddd42aaf6b Binary files /dev/null and b/OsmAnd/res/drawable-large-hdpi/map_car_location_top.png differ diff --git a/OsmAnd/res/drawable-large-hdpi/map_default_location_bottom.png b/OsmAnd/res/drawable-large-hdpi/map_default_location_bottom.png new file mode 100644 index 0000000000..375f514475 Binary files /dev/null and b/OsmAnd/res/drawable-large-hdpi/map_default_location_bottom.png differ diff --git a/OsmAnd/res/drawable-large-hdpi/map_default_location_center.png b/OsmAnd/res/drawable-large-hdpi/map_default_location_center.png new file mode 100644 index 0000000000..4367f4c64f Binary files /dev/null and b/OsmAnd/res/drawable-large-hdpi/map_default_location_center.png differ diff --git a/OsmAnd/res/drawable-large-hdpi/map_default_location_top.png b/OsmAnd/res/drawable-large-hdpi/map_default_location_top.png new file mode 100644 index 0000000000..921bdcaab0 Binary files /dev/null and b/OsmAnd/res/drawable-large-hdpi/map_default_location_top.png differ diff --git a/OsmAnd/res/drawable-large-hdpi/map_nautical_bearing_bottom.png b/OsmAnd/res/drawable-large-hdpi/map_nautical_bearing_bottom.png new file mode 100644 index 0000000000..b3819474af Binary files /dev/null and b/OsmAnd/res/drawable-large-hdpi/map_nautical_bearing_bottom.png differ diff --git a/OsmAnd/res/drawable-large-hdpi/map_nautical_bearing_center.png b/OsmAnd/res/drawable-large-hdpi/map_nautical_bearing_center.png new file mode 100644 index 0000000000..ebcfa3dcec Binary files /dev/null and b/OsmAnd/res/drawable-large-hdpi/map_nautical_bearing_center.png differ diff --git a/OsmAnd/res/drawable-large-hdpi/map_nautical_bearing_top.png b/OsmAnd/res/drawable-large-hdpi/map_nautical_bearing_top.png new file mode 100644 index 0000000000..dda27a46f9 Binary files /dev/null and b/OsmAnd/res/drawable-large-hdpi/map_nautical_bearing_top.png differ diff --git a/OsmAnd/res/drawable-large-xhdpi/map_bicycle_location_bottom.png b/OsmAnd/res/drawable-large-xhdpi/map_bicycle_location_bottom.png new file mode 100644 index 0000000000..faa02b03e2 Binary files /dev/null and b/OsmAnd/res/drawable-large-xhdpi/map_bicycle_location_bottom.png differ diff --git a/OsmAnd/res/drawable-large-xhdpi/map_bicycle_location_center.png b/OsmAnd/res/drawable-large-xhdpi/map_bicycle_location_center.png new file mode 100644 index 0000000000..2f34bb4cf4 Binary files /dev/null and b/OsmAnd/res/drawable-large-xhdpi/map_bicycle_location_center.png differ diff --git a/OsmAnd/res/drawable-large-xhdpi/map_bicycle_location_top.png b/OsmAnd/res/drawable-large-xhdpi/map_bicycle_location_top.png new file mode 100644 index 0000000000..ea22e18543 Binary files /dev/null and b/OsmAnd/res/drawable-large-xhdpi/map_bicycle_location_top.png differ diff --git a/OsmAnd/res/drawable-large-xhdpi/map_car_bearing_bottom.png b/OsmAnd/res/drawable-large-xhdpi/map_car_bearing_bottom.png new file mode 100644 index 0000000000..a3e1551495 Binary files /dev/null and b/OsmAnd/res/drawable-large-xhdpi/map_car_bearing_bottom.png differ diff --git a/OsmAnd/res/drawable-large-xhdpi/map_car_bearing_center.png b/OsmAnd/res/drawable-large-xhdpi/map_car_bearing_center.png new file mode 100644 index 0000000000..2e4bd781b7 Binary files /dev/null and b/OsmAnd/res/drawable-large-xhdpi/map_car_bearing_center.png differ diff --git a/OsmAnd/res/drawable-large-xhdpi/map_car_bearing_top.png b/OsmAnd/res/drawable-large-xhdpi/map_car_bearing_top.png new file mode 100644 index 0000000000..a2c15d4fa1 Binary files /dev/null and b/OsmAnd/res/drawable-large-xhdpi/map_car_bearing_top.png differ diff --git a/OsmAnd/res/drawable-large-xhdpi/map_car_location_bottom.png b/OsmAnd/res/drawable-large-xhdpi/map_car_location_bottom.png new file mode 100644 index 0000000000..62dc671ec9 Binary files /dev/null and b/OsmAnd/res/drawable-large-xhdpi/map_car_location_bottom.png differ diff --git a/OsmAnd/res/drawable-large-xhdpi/map_car_location_center.png b/OsmAnd/res/drawable-large-xhdpi/map_car_location_center.png new file mode 100644 index 0000000000..5c51d05a34 Binary files /dev/null and b/OsmAnd/res/drawable-large-xhdpi/map_car_location_center.png differ diff --git a/OsmAnd/res/drawable-large-xhdpi/map_car_location_top.png b/OsmAnd/res/drawable-large-xhdpi/map_car_location_top.png new file mode 100644 index 0000000000..9fb25c73f9 Binary files /dev/null and b/OsmAnd/res/drawable-large-xhdpi/map_car_location_top.png differ diff --git a/OsmAnd/res/drawable-large-xhdpi/map_default_location_bottom.png b/OsmAnd/res/drawable-large-xhdpi/map_default_location_bottom.png new file mode 100644 index 0000000000..07620168aa Binary files /dev/null and b/OsmAnd/res/drawable-large-xhdpi/map_default_location_bottom.png differ diff --git a/OsmAnd/res/drawable-large-xhdpi/map_default_location_center.png b/OsmAnd/res/drawable-large-xhdpi/map_default_location_center.png new file mode 100644 index 0000000000..bb91309b8e Binary files /dev/null and b/OsmAnd/res/drawable-large-xhdpi/map_default_location_center.png differ diff --git a/OsmAnd/res/drawable-large-xhdpi/map_default_location_top.png b/OsmAnd/res/drawable-large-xhdpi/map_default_location_top.png new file mode 100644 index 0000000000..24eea3f8f3 Binary files /dev/null and b/OsmAnd/res/drawable-large-xhdpi/map_default_location_top.png differ diff --git a/OsmAnd/res/drawable-large-xhdpi/map_nautical_bearing_bottom.png b/OsmAnd/res/drawable-large-xhdpi/map_nautical_bearing_bottom.png new file mode 100644 index 0000000000..dd31c7a5d8 Binary files /dev/null and b/OsmAnd/res/drawable-large-xhdpi/map_nautical_bearing_bottom.png differ diff --git a/OsmAnd/res/drawable-large-xhdpi/map_nautical_bearing_center.png b/OsmAnd/res/drawable-large-xhdpi/map_nautical_bearing_center.png new file mode 100644 index 0000000000..44c5ce44d8 Binary files /dev/null and b/OsmAnd/res/drawable-large-xhdpi/map_nautical_bearing_center.png differ diff --git a/OsmAnd/res/drawable-large-xhdpi/map_nautical_bearing_top.png b/OsmAnd/res/drawable-large-xhdpi/map_nautical_bearing_top.png new file mode 100644 index 0000000000..906561c5b8 Binary files /dev/null and b/OsmAnd/res/drawable-large-xhdpi/map_nautical_bearing_top.png differ diff --git a/OsmAnd/res/drawable-large/map_bicycle_location_bottom.png b/OsmAnd/res/drawable-large/map_bicycle_location_bottom.png new file mode 100644 index 0000000000..454127991b Binary files /dev/null and b/OsmAnd/res/drawable-large/map_bicycle_location_bottom.png differ diff --git a/OsmAnd/res/drawable-large/map_bicycle_location_center.png b/OsmAnd/res/drawable-large/map_bicycle_location_center.png new file mode 100644 index 0000000000..189087522d Binary files /dev/null and b/OsmAnd/res/drawable-large/map_bicycle_location_center.png differ diff --git a/OsmAnd/res/drawable-large/map_bicycle_location_top.png b/OsmAnd/res/drawable-large/map_bicycle_location_top.png new file mode 100644 index 0000000000..d3164aaddd Binary files /dev/null and b/OsmAnd/res/drawable-large/map_bicycle_location_top.png differ diff --git a/OsmAnd/res/drawable-large/map_car_bearing_bottom.png b/OsmAnd/res/drawable-large/map_car_bearing_bottom.png new file mode 100644 index 0000000000..ef7476abc9 Binary files /dev/null and b/OsmAnd/res/drawable-large/map_car_bearing_bottom.png differ diff --git a/OsmAnd/res/drawable-large/map_car_bearing_center.png b/OsmAnd/res/drawable-large/map_car_bearing_center.png new file mode 100644 index 0000000000..a64378bdf4 Binary files /dev/null and b/OsmAnd/res/drawable-large/map_car_bearing_center.png differ diff --git a/OsmAnd/res/drawable-large/map_car_bearing_top.png b/OsmAnd/res/drawable-large/map_car_bearing_top.png new file mode 100644 index 0000000000..055bada005 Binary files /dev/null and b/OsmAnd/res/drawable-large/map_car_bearing_top.png differ diff --git a/OsmAnd/res/drawable-large/map_car_location_bottom.png b/OsmAnd/res/drawable-large/map_car_location_bottom.png new file mode 100644 index 0000000000..7abacf999c Binary files /dev/null and b/OsmAnd/res/drawable-large/map_car_location_bottom.png differ diff --git a/OsmAnd/res/drawable-large/map_car_location_center.png b/OsmAnd/res/drawable-large/map_car_location_center.png new file mode 100644 index 0000000000..6bcc605ba3 Binary files /dev/null and b/OsmAnd/res/drawable-large/map_car_location_center.png differ diff --git a/OsmAnd/res/drawable-large/map_car_location_top.png b/OsmAnd/res/drawable-large/map_car_location_top.png new file mode 100644 index 0000000000..15b4bf87da Binary files /dev/null and b/OsmAnd/res/drawable-large/map_car_location_top.png differ diff --git a/OsmAnd/res/drawable-large/map_default_location_bottom.png b/OsmAnd/res/drawable-large/map_default_location_bottom.png new file mode 100644 index 0000000000..ee294b37c5 Binary files /dev/null and b/OsmAnd/res/drawable-large/map_default_location_bottom.png differ diff --git a/OsmAnd/res/drawable-large/map_default_location_center.png b/OsmAnd/res/drawable-large/map_default_location_center.png new file mode 100644 index 0000000000..e0d6878129 Binary files /dev/null and b/OsmAnd/res/drawable-large/map_default_location_center.png differ diff --git a/OsmAnd/res/drawable-large/map_default_location_top.png b/OsmAnd/res/drawable-large/map_default_location_top.png new file mode 100644 index 0000000000..dcb7f61db7 Binary files /dev/null and b/OsmAnd/res/drawable-large/map_default_location_top.png differ diff --git a/OsmAnd/res/drawable-large/map_nautical_bearing_bottom.png b/OsmAnd/res/drawable-large/map_nautical_bearing_bottom.png new file mode 100644 index 0000000000..5418a83afd Binary files /dev/null and b/OsmAnd/res/drawable-large/map_nautical_bearing_bottom.png differ diff --git a/OsmAnd/res/drawable-large/map_nautical_bearing_center.png b/OsmAnd/res/drawable-large/map_nautical_bearing_center.png new file mode 100644 index 0000000000..9e9d79e0c2 Binary files /dev/null and b/OsmAnd/res/drawable-large/map_nautical_bearing_center.png differ diff --git a/OsmAnd/res/drawable-large/map_nautical_bearing_top.png b/OsmAnd/res/drawable-large/map_nautical_bearing_top.png new file mode 100644 index 0000000000..ae8fa022c2 Binary files /dev/null and b/OsmAnd/res/drawable-large/map_nautical_bearing_top.png differ diff --git a/OsmAnd/res/values-de/strings.xml b/OsmAnd/res/values-de/strings.xml index e6e739f0d4..83dd6438de 100644 --- a/OsmAnd/res/values-de/strings.xml +++ b/OsmAnd/res/values-de/strings.xml @@ -3425,5 +3425,5 @@ Lon %2$s Durch das Auswählen von %1$s werden alle Änderungen verlorengehen. Alle Profil-Einstellungen werden auf den Ausgangszustand nach App-Installation zurückgesetzt. Alle Profil-Einstellungen auf den Standard zurücksetzen\? - %1$s: %2$s + %1$s: %2$s \ No newline at end of file diff --git a/OsmAnd/res/values-eo/strings.xml b/OsmAnd/res/values-eo/strings.xml index 82744fcc88..458901cef0 100644 --- a/OsmAnd/res/values-eo/strings.xml +++ b/OsmAnd/res/values-eo/strings.xml @@ -3400,5 +3400,5 @@ Indikas lokon: %1$s x %2$s" Per klaki “%1$s”, ĉiuj viaj ŝanĝoj perdiĝos. Ĉiuj agordoj pri profiloj revenos al la post-instala stato. Ĉu rekomencigi ĉiujn agordojn pri profiloj\? - %1$s: %2$s + %1$s: %2$s \ No newline at end of file diff --git a/OsmAnd/res/values-et/strings.xml b/OsmAnd/res/values-et/strings.xml index 37c6cf0f4b..ad137b0035 100644 --- a/OsmAnd/res/values-et/strings.xml +++ b/OsmAnd/res/values-et/strings.xml @@ -3352,5 +3352,5 @@ Vajutades nupul %1$s kaovad kõik muudatused. Kõik profiiliseaded lähtestatakse paigaldusjärgsesse olekusse. Taasta kõikide profiiliseadete vaikeväärtused\? - %1$s: %2$s + %1$s: %2$s \ No newline at end of file diff --git a/OsmAnd/res/values-fr/strings.xml b/OsmAnd/res/values-fr/strings.xml index 1d1470f839..1eed014f75 100644 --- a/OsmAnd/res/values-fr/strings.xml +++ b/OsmAnd/res/values-fr/strings.xml @@ -3393,5 +3393,5 @@ représentant la zone : %1$s x %2$s En cliquant sur %1$s, toutes vos modifications seront perdues. Tous les paramètres de profil vont être ré-initialisés aux valeurs par défaut. Ré-initialiser tous les paramètres de profil \? - %1$s : %2$s + %1$s : %2$s \ No newline at end of file diff --git a/OsmAnd/res/values-he/strings.xml b/OsmAnd/res/values-he/strings.xml index d76e6ab4f5..3d0b111958 100644 --- a/OsmAnd/res/values-he/strings.xml +++ b/OsmAnd/res/values-he/strings.xml @@ -3411,5 +3411,5 @@ לחיצה על %1$s תוביל לאבדן כל השינויים שערכת. כל הגדרות הפרופיל יאופסו למצב כמו שלאחר ההתקנה. לאפס את הגדרות הפרופיל לבררת המחדל\? - %1$s:‏ %2$s + %1$s:‏ %2$s \ No newline at end of file diff --git a/OsmAnd/res/values-hu/strings.xml b/OsmAnd/res/values-hu/strings.xml index 92b475dce3..b52d8f3b5b 100644 --- a/OsmAnd/res/values-hu/strings.xml +++ b/OsmAnd/res/values-hu/strings.xml @@ -3420,5 +3420,5 @@ Ha szereted az OsmAndot és az OSM-et, és szeretnéd támogatni a fejlődésük Minden profilbeállítás vissza fog állni a telepítést követő állapotba. Minden profil visszaálljon az alapértelmezett helyzetbe\? Családi autó - %1$s: %2$s + %1$s: %2$s \ No newline at end of file diff --git a/OsmAnd/res/values-nb/strings.xml b/OsmAnd/res/values-nb/strings.xml index bd3920c445..2c0bd4e1fb 100644 --- a/OsmAnd/res/values-nb/strings.xml +++ b/OsmAnd/res/values-nb/strings.xml @@ -3427,5 +3427,5 @@ Ved å klikke %1$s vil alle endringene dine gå tapt. Alle profilinnstillinger må tilbakestilles til forvalg. Tilbakestill alle innstillinger til forvalg\? - %1$s: %2$s + %1$s: %2$s \ No newline at end of file diff --git a/OsmAnd/res/values-pl/strings.xml b/OsmAnd/res/values-pl/strings.xml index 06c418ddf6..7352597b2f 100644 --- a/OsmAnd/res/values-pl/strings.xml +++ b/OsmAnd/res/values-pl/strings.xml @@ -3419,5 +3419,5 @@ Reprezentuje obszar: %1$s x %2$s Kliknięcie %1$s spowoduje utratę wszystkich zmian. Wszystkie ustawienia profilu zostaną przywrócone do stanu po instalacji. Czy zresetować wszystkie ustawienia profilu do wartości domyślnych\? - %1$s: %2$s + %1$s: %2$s \ No newline at end of file diff --git a/OsmAnd/res/values-pt-rBR/strings.xml b/OsmAnd/res/values-pt-rBR/strings.xml index a01e9b125e..f59bfef513 100644 --- a/OsmAnd/res/values-pt-rBR/strings.xml +++ b/OsmAnd/res/values-pt-rBR/strings.xml @@ -3407,5 +3407,5 @@ Pôr do Sol: %2$s Ao clicar em %1$s, você perderá todas as suas alterações. Todas as configurações de perfil serão redefinidas para o estado após a instalação. Redefinir todas as configurações de perfil para o padrão\? - %1$s: %2$s + %1$s: %2$s \ No newline at end of file diff --git a/OsmAnd/res/values-ru/strings.xml b/OsmAnd/res/values-ru/strings.xml index a8059e6a5e..b4afe017b8 100644 --- a/OsmAnd/res/values-ru/strings.xml +++ b/OsmAnd/res/values-ru/strings.xml @@ -3412,5 +3412,5 @@ Нажимая %1$s, вы потеряете все свои изменения. Все настройки профиля будут сброшены в значения по умолчанию после установки. Сбросить все настройки профиля в значения по умолчанию\? - %1$s: %2$s + %1$s: %2$s \ No newline at end of file diff --git a/OsmAnd/res/values-sc/strings.xml b/OsmAnd/res/values-sc/strings.xml index ed2d83a643..8bfe1c9441 100644 --- a/OsmAnd/res/values-sc/strings.xml +++ b/OsmAnd/res/values-sc/strings.xml @@ -3420,5 +3420,5 @@ Pro praghere iscrie su còdighe intreu Incarchende %1$s, as a pèrdere totu sas modìficas tuas. Totu sas impostatziones de su profilu ant a torrare a s\'istadu chi teniant in antis de s\'installatzione. Ripristinare totu sas impostatziones de su profilu a sos valores predefinidos\? - %1$s: %2$s + %1$s: %2$s \ No newline at end of file diff --git a/OsmAnd/res/values-sk/strings.xml b/OsmAnd/res/values-sk/strings.xml index f5f60d6089..ca85e0f879 100644 --- a/OsmAnd/res/values-sk/strings.xml +++ b/OsmAnd/res/values-sk/strings.xml @@ -3408,5 +3408,5 @@ Zodpovedá oblasti: %1$s x %2$s Stlačením %1$s stratíte všetky zmeny. Všetky nastavenia profilu budú vrátené do východzieho stavu. Resetovať nastavenia profilu na predvolené hodnoty\? - %1$s: %2$s + %1$s: %2$s \ No newline at end of file diff --git a/OsmAnd/res/values-tr/strings.xml b/OsmAnd/res/values-tr/strings.xml index 73f4099bbf..3330a4402b 100644 --- a/OsmAnd/res/values-tr/strings.xml +++ b/OsmAnd/res/values-tr/strings.xml @@ -3371,5 +3371,5 @@ %1$s\'e tıkladığınızda, tüm değişikliklerinizi kaybedeceksiniz. Tüm profil ayarları kurulumdan sonraki duruma sıfırlanacaktır. Tüm profil ayarları varsayılana sıfırlansın mı\? - %1$s: %2$s + %1$s: %2$s \ No newline at end of file diff --git a/OsmAnd/res/values-uk/strings.xml b/OsmAnd/res/values-uk/strings.xml index 5463825807..1c4480a46b 100644 --- a/OsmAnd/res/values-uk/strings.xml +++ b/OsmAnd/res/values-uk/strings.xml @@ -3411,5 +3411,5 @@ Натискаючи %1$s, ви втратите всі свої зміни. Усі налаштування профілю буде скинуто після встановлення. Скинути всі усталені налаштування профілю\? - %1$s: %2$s + %1$s: %2$s \ No newline at end of file diff --git a/OsmAnd/res/values-zh-rTW/strings.xml b/OsmAnd/res/values-zh-rTW/strings.xml index 225157c1bf..224604bd07 100644 --- a/OsmAnd/res/values-zh-rTW/strings.xml +++ b/OsmAnd/res/values-zh-rTW/strings.xml @@ -3408,5 +3408,5 @@ 點擊 %1$s,您將會失去您所有的變更。 所有設定檔都將被重設為安裝後的狀態。 將所有設定檔重設為預設值? - %1$s:%2$s + %1$s:%2$s \ No newline at end of file diff --git a/OsmAnd/res/values/strings.xml b/OsmAnd/res/values/strings.xml index b270b156a6..89b6bd1019 100644 --- a/OsmAnd/res/values/strings.xml +++ b/OsmAnd/res/values/strings.xml @@ -11,7 +11,8 @@ Thx - Hardy --> - %1$s: %2$s + %1$s %2$s + %1$s: %2$s By clicking %1$s, you will lose all your changes. All profile settings will be reset to the state after installation. Reset all profile settings to default? diff --git a/OsmAnd/src/net/osmand/AndroidUtils.java b/OsmAnd/src/net/osmand/AndroidUtils.java index e960678869..73fcc4108e 100644 --- a/OsmAnd/src/net/osmand/AndroidUtils.java +++ b/OsmAnd/src/net/osmand/AndroidUtils.java @@ -60,6 +60,7 @@ import net.osmand.plus.download.DownloadActivity; import net.osmand.util.Algorithms; import java.io.File; +import java.text.MessageFormat; import java.util.Collections; import java.util.Comparator; import java.util.Date; @@ -76,6 +77,9 @@ import static android.util.TypedValue.COMPLEX_UNIT_SP; public class AndroidUtils { public static final String STRING_PLACEHOLDER = "%s"; + public static final MessageFormat formatKb = new MessageFormat("{0, number,##.#}", Locale.US); + public static final MessageFormat formatGb = new MessageFormat("{0, number,#.##}", Locale.US); + public static final MessageFormat formatMb = new MessageFormat("{0, number,##.#}", Locale.US); /** * @param context @@ -211,16 +215,26 @@ public class AndroidUtils { return DateFormat.getTimeFormat(ctx).format(new Date(time)); } - public static String formatSize(long sizeBytes) { + + public static String formatSize(Context ctx, long sizeBytes) { int sizeKb = (int) ((sizeBytes + 512) >> 10); if (sizeKb > 0) { + + String size = ""; + String numSuffix = "MB"; if (sizeKb > 1 << 20) { - return DownloadActivity.formatGb.format(new Object[]{(float) sizeKb / (1 << 20)}); + size = formatGb.format(new Object[]{(float) sizeKb / (1 << 20)}); + numSuffix = "GB"; } else if (sizeBytes > (100 * (1 << 10))) { - return DownloadActivity.formatMb.format(new Object[]{(float) sizeBytes / (1 << 20)}); + size = formatMb.format(new Object[]{(float) sizeBytes / (1 << 20)}); } else { - return DownloadActivity.formatKb.format(new Object[]{(float) sizeBytes / (1 << 10)}); + size = formatKb.format(new Object[]{(float) sizeBytes / (1 << 10)}); + numSuffix = "kB"; } + if(ctx == null) { + return size + " " + numSuffix; + } + return ctx.getString(R.string.ltr_or_rtl_combine_via_colon, size, numSuffix); } return ""; } diff --git a/OsmAnd/src/net/osmand/plus/audionotes/AudioVideoNotesPlugin.java b/OsmAnd/src/net/osmand/plus/audionotes/AudioVideoNotesPlugin.java index 33a30aa522..8699027ea0 100644 --- a/OsmAnd/src/net/osmand/plus/audionotes/AudioVideoNotesPlugin.java +++ b/OsmAnd/src/net/osmand/plus/audionotes/AudioVideoNotesPlugin.java @@ -467,7 +467,7 @@ public class AudioVideoNotesPlugin extends OsmandPlugin { public String getExtendedDescription(Context ctx) { DateFormat dateFormat = android.text.format.DateFormat.getMediumDateFormat(ctx); String date = dateFormat.format(file.lastModified()); - String size = AndroidUtils.formatSize(file.length()); + String size = AndroidUtils.formatSize(ctx, file.length()); if (isPhoto()) { return date + " • " + size; } diff --git a/OsmAnd/src/net/osmand/plus/dashboard/DashChooseAppDirFragment.java b/OsmAnd/src/net/osmand/plus/dashboard/DashChooseAppDirFragment.java index 0fabf870ec..9026efb2d1 100644 --- a/OsmAnd/src/net/osmand/plus/dashboard/DashChooseAppDirFragment.java +++ b/OsmAnd/src/net/osmand/plus/dashboard/DashChooseAppDirFragment.java @@ -28,6 +28,7 @@ import android.widget.LinearLayout; import android.widget.TextView; import android.widget.Toast; +import net.osmand.AndroidUtils; import net.osmand.ValueHolder; import net.osmand.plus.OsmandApplication; import net.osmand.plus.OsmandSettings; @@ -313,19 +314,10 @@ public class DashChooseAppDirFragment { @SuppressLint("StaticFieldLeak") MoveFilesToDifferentDirectory task = new MoveFilesToDifferentDirectory(activity, currentAppFile, selectedFile) { - private MessageFormat formatMb = new MessageFormat("{0, number,##.#} MB", Locale.US); @NonNull private String getFormattedSize(long sizeBytes) { - int size = (int) ((sizeBytes + 512) >> 10); - if (size >= 0) { - if (size > 100) { - return formatMb.format(new Object[]{(float) size / (1 << 10)}); - } else { - return size + " kB"; - } - } - return ""; + return AndroidUtils.formatSize(activity, sizeBytes); } private void showResultsDialog() { diff --git a/OsmAnd/src/net/osmand/plus/download/DownloadActivity.java b/OsmAnd/src/net/osmand/plus/download/DownloadActivity.java index 6a936817a7..ce3738ff49 100644 --- a/OsmAnd/src/net/osmand/plus/download/DownloadActivity.java +++ b/OsmAnd/src/net/osmand/plus/download/DownloadActivity.java @@ -34,6 +34,7 @@ import android.widget.ProgressBar; import android.widget.TextView; import android.widget.Toast; +import net.osmand.AndroidUtils; import net.osmand.IProgress; import net.osmand.IndexConstants; import net.osmand.PlatformUtil; @@ -103,9 +104,8 @@ public class DownloadActivity extends AbstractDownloadActivity implements Downlo public static final String DOWNLOAD_TAB = "download"; public static final String UPDATES_TAB = "updates"; public static final String REGION_TO_SEARCH = "search_region"; - public static final MessageFormat formatGb = new MessageFormat("{0, number,#.##} GB", Locale.US); - public static final MessageFormat formatMb = new MessageFormat("{0, number,##.#} MB", Locale.US); - public static final MessageFormat formatKb = new MessageFormat("{0, number,##.#} kB", Locale.US); + + private static boolean SUGGESTED_TO_DOWNLOAD_BASEMAP = false; private BannerAndDownloadFreeVersion visibleBanner; @@ -666,11 +666,11 @@ public class DownloadActivity extends AbstractDownloadActivity implements Downlo ProgressBar sizeProgress = (ProgressBar) view.findViewById(R.id.progressBar); File dir = activity.getMyApplication().getAppPath("").getParentFile(); - String size = formatGb.format(new Object[]{0}); + String size = ""; int percent = 0; if (dir.canRead()) { StatFs fs = new StatFs(dir.getAbsolutePath()); - size = formatGb.format(new Object[]{(float) (fs.getAvailableBlocks()) * fs.getBlockSize() / (1 << 30)}); + size = AndroidUtils.formatSize(activity, ((long)fs.getAvailableBlocks()) * fs.getBlockSize()); percent = 100 - fs.getAvailableBlocks() * 100 / fs.getBlockCount(); } sizeProgress.setIndeterminate(false); diff --git a/OsmAnd/src/net/osmand/plus/download/IndexItem.java b/OsmAnd/src/net/osmand/plus/download/IndexItem.java index 4334ef28f1..f5f72e3fed 100644 --- a/OsmAnd/src/net/osmand/plus/download/IndexItem.java +++ b/OsmAnd/src/net/osmand/plus/download/IndexItem.java @@ -89,7 +89,7 @@ public class IndexItem implements Comparable { } public String getSizeDescription(Context ctx) { - return size + " MB"; + return ctx.getString(R.string.ltr_or_rtl_combine_via_colon, size, "MB"); } diff --git a/OsmAnd/src/net/osmand/plus/download/ui/DataStoragePlaceDialogFragment.java b/OsmAnd/src/net/osmand/plus/download/ui/DataStoragePlaceDialogFragment.java index 72bb2a435b..72a262891b 100644 --- a/OsmAnd/src/net/osmand/plus/download/ui/DataStoragePlaceDialogFragment.java +++ b/OsmAnd/src/net/osmand/plus/download/ui/DataStoragePlaceDialogFragment.java @@ -19,6 +19,7 @@ import android.widget.ImageView; import android.widget.TextView; import android.widget.Toast; +import net.osmand.AndroidUtils; import net.osmand.IProgress; import net.osmand.plus.OnDismissDialogFragmentListener; import net.osmand.plus.OsmandApplication; @@ -188,13 +189,9 @@ public class DataStoragePlaceDialogFragment extends BottomSheetDialogFragment { if (dir != null && dir.canRead()) { StatFs fs = new StatFs(dir.getAbsolutePath()); @SuppressWarnings("deprecation") - float size = (float) fs.getAvailableBlocks() * fs.getBlockSize(); + long size = (long) fs.getAvailableBlocks() * fs.getBlockSize(); if (size > 0) { - if (size > 1 << 20) { - sz = DownloadActivity.formatGb.format(new Object[]{size / (1 << 30)}); - } else { - sz = DownloadActivity.formatMb.format(new Object[]{size / (1 << 20)}); - } + sz = AndroidUtils.formatSize(getActivity(), size); } } return sz; diff --git a/OsmAnd/src/net/osmand/plus/download/ui/LocalIndexesFragment.java b/OsmAnd/src/net/osmand/plus/download/ui/LocalIndexesFragment.java index 3c883974cc..291f7b4b60 100644 --- a/OsmAnd/src/net/osmand/plus/download/ui/LocalIndexesFragment.java +++ b/OsmAnd/src/net/osmand/plus/download/ui/LocalIndexesFragment.java @@ -1036,11 +1036,7 @@ public class LocalIndexesFragment extends OsmandExpandableListFragment implement } String sz = ""; if (size > 0) { - if (size > 1 << 20) { - sz = DownloadActivity.formatGb.format(new Object[]{(float) size / (1 << 20)}); - } else { - sz = DownloadActivity.formatMb.format(new Object[]{(float) size / (1 << 10)}); - } + sz = AndroidUtils.formatSize(v.getContext(), size * 1024l); } sizeView.setText(sz); sizeView.setVisibility(View.VISIBLE); @@ -1157,11 +1153,7 @@ public class LocalIndexesFragment extends OsmandExpandableListFragment implement if (builder.length() > 0) { builder.append(" • "); } - if (child.getSize() > 100) { - builder.append(DownloadActivity.formatMb.format(new Object[]{(float) child.getSize() / (1 << 10)})); - } else { - builder.append(child.getSize()).append(" KB"); - } + builder.append(AndroidUtils.formatSize(ctx, child.getSize() * 1024l)); } if (!Algorithms.isEmpty(child.getDescription())) { diff --git a/OsmAnd/src/net/osmand/plus/helpers/GpxUiHelper.java b/OsmAnd/src/net/osmand/plus/helpers/GpxUiHelper.java index 97100d0850..0a769b8396 100644 --- a/OsmAnd/src/net/osmand/plus/helpers/GpxUiHelper.java +++ b/OsmAnd/src/net/osmand/plus/helpers/GpxUiHelper.java @@ -123,8 +123,6 @@ import static net.osmand.plus.OsmAndFormatter.YARDS_IN_ONE_METER; import static net.osmand.plus.UiUtilities.CompoundButtonType.PROFILE_DEPENDENT; import static net.osmand.plus.dialogs.ConfigureMapMenu.CURRENT_TRACK_COLOR_ATTR; import static net.osmand.plus.dialogs.ConfigureMapMenu.CURRENT_TRACK_WIDTH_ATTR; -import static net.osmand.plus.download.DownloadActivity.formatKb; -import static net.osmand.plus.download.DownloadActivity.formatMb; public class GpxUiHelper { @@ -812,11 +810,7 @@ public class GpxUiHelper { String date = ""; String size = ""; if (info.getFileSize() >= 0) { - if (info.getFileSize() > (100 * (1 << 10))) { - size = formatMb.format(new Object[]{(float) info.getFileSize() / (1 << 20)}); - } else { - size = formatKb.format(new Object[]{(float) info.getFileSize() / (1 << 10)}); - } + size = AndroidUtils.formatSize(v.getContext(), info.getFileSize()); } DateFormat df = app.getResourceManager().getDateFormat(); long fd = info.getLastModified(); diff --git a/OsmAnd/src/net/osmand/plus/liveupdates/LiveUpdatesSettingsDialogFragment.java b/OsmAnd/src/net/osmand/plus/liveupdates/LiveUpdatesSettingsDialogFragment.java index bdb09145f6..780cf2f9f4 100644 --- a/OsmAnd/src/net/osmand/plus/liveupdates/LiveUpdatesSettingsDialogFragment.java +++ b/OsmAnd/src/net/osmand/plus/liveupdates/LiveUpdatesSettingsDialogFragment.java @@ -19,6 +19,7 @@ import android.widget.CheckBox; import android.widget.Spinner; import android.widget.TextView; +import net.osmand.AndroidUtils; import net.osmand.PlatformUtil; import net.osmand.plus.OsmandApplication; import net.osmand.plus.OsmandSettings; @@ -104,7 +105,7 @@ public class LiveUpdatesSettingsDialogFragment extends DialogFragment { downloadOverWiFiCheckBox.setChecked(!liveUpdatePreference.get() || downloadViaWiFiPreference.get()); - sizeTextView.setText(getUpdatesSize(fileNameWithoutExtension, changesManager)); + sizeTextView.setText(getUpdatesSize(getMyActivity(), fileNameWithoutExtension, changesManager)); TimeOfDay[] timeOfDays = TimeOfDay.values(); String[] timeOfDaysStrings = new String[timeOfDays.length]; @@ -194,7 +195,7 @@ public class LiveUpdatesSettingsDialogFragment extends DialogFragment { } else { runLiveUpdate(getActivity(), fileName, true); final IncrementalChangesManager changesManager = getMyApplication().getResourceManager().getChangesManager(); - sizeTextView.setText(getUpdatesSize(fileNameWithoutExtension, changesManager)); + sizeTextView.setText(getUpdatesSize(getMyActivity(), fileNameWithoutExtension, changesManager)); dialog.dismiss(); } } @@ -214,17 +215,10 @@ public class LiveUpdatesSettingsDialogFragment extends DialogFragment { } } - private static String getUpdatesSize(String fileNameWithoutExtension, + private static String getUpdatesSize(Context ctx, String fileNameWithoutExtension, IncrementalChangesManager changesManager) { - String size; long updatesSize = changesManager.getUpdatesSize(fileNameWithoutExtension); - updatesSize /= (1 << 10); - if (updatesSize > 100) { - size = DownloadActivity.formatMb.format(new Object[]{(float) updatesSize / (1 << 10)}); - } else { - size = updatesSize + " KB"; - } - return size; + return AndroidUtils.formatSize(ctx, updatesSize); } private LiveUpdatesFragment getLiveUpdatesFragment() { @@ -263,8 +257,10 @@ public class LiveUpdatesSettingsDialogFragment extends DialogFragment { final String fileNameWithoutExtension = Algorithms.getFileNameWithoutExtension(new File(localIndexInfo)); AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); - builder.setMessage(getString(R.string.clear_updates_proposition_message) - + " " + getUpdatesSize(fileNameWithoutExtension, changesManager)) + builder.setMessage( + getString(R.string.ltr_or_rtl_combine_via_space, + getString(R.string.clear_updates_proposition_message), + getUpdatesSize(getContext(), fileNameWithoutExtension, changesManager))) .setPositiveButton(R.string.shared_string_ok, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { diff --git a/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/MapDataMenuController.java b/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/MapDataMenuController.java index f216a847d8..8cf67a83b7 100644 --- a/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/MapDataMenuController.java +++ b/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/MapDataMenuController.java @@ -9,6 +9,7 @@ import android.support.annotation.NonNull; import android.support.v7.app.AlertDialog; import android.widget.Toast; +import net.osmand.AndroidUtils; import net.osmand.IProgress; import net.osmand.IndexConstants; import net.osmand.data.LatLon; @@ -311,11 +312,7 @@ public class MapDataMenuController extends MenuController { } StringBuilder sizeStr = new StringBuilder(); if (localIndexInfo.getSize() >= 0) { - if (localIndexInfo.getSize() > 100) { - sizeStr.append(DownloadActivity.formatMb.format(new Object[]{(float) localIndexInfo.getSize() / (1 << 10)})); - } else { - sizeStr.append(localIndexInfo.getSize()).append(" KB"); - } + sizeStr.append(AndroidUtils.formatSize(mapActivity, localIndexInfo.getSize() * 1024l)); } if (backuped) { if (sizeStr.length() > 0) { diff --git a/OsmAnd/src/net/osmand/plus/myplaces/AvailableGPXFragment.java b/OsmAnd/src/net/osmand/plus/myplaces/AvailableGPXFragment.java index dc4c6bbaa9..a5b0653c5b 100644 --- a/OsmAnd/src/net/osmand/plus/myplaces/AvailableGPXFragment.java +++ b/OsmAnd/src/net/osmand/plus/myplaces/AvailableGPXFragment.java @@ -118,7 +118,6 @@ public class AvailableGPXFragment extends OsmandExpandableListFragment implement private ActionMode actionMode; private LoadGpxTask asyncLoader; private GpxIndexesAdapter allGpxAdapter; - private static MessageFormat formatMb = new MessageFormat("{0, number,##.#} MB", Locale.US); private ContextMenuAdapter optionsMenuAdapter; private AsyncTask operationTask; private GpxSelectionHelper selectedGpxHelper; @@ -1802,12 +1801,9 @@ public class AvailableGPXFragment extends OsmandExpandableListFragment implement v.findViewById(R.id.unknown_section).setVisibility(View.VISIBLE); String date = ""; String size = ""; + if (child.getSize() >= 0) { - if (child.getSize() > 100) { - size = formatMb.format(new Object[]{(float) child.getSize() / (1 << 10)}); - } else { - size = child.getSize() + " kB"; - } + size = AndroidUtils.formatSize(v.getContext(), child.getSize() * 1024l); } DateFormat df = app.getResourceManager().getDateFormat(); long fd = child.getFileDate(); diff --git a/OsmAnd/src/net/osmand/plus/settings/CoordinatesFormatFragment.java b/OsmAnd/src/net/osmand/plus/settings/CoordinatesFormatFragment.java index 44501c7b44..c62ac01ddd 100644 --- a/OsmAnd/src/net/osmand/plus/settings/CoordinatesFormatFragment.java +++ b/OsmAnd/src/net/osmand/plus/settings/CoordinatesFormatFragment.java @@ -77,7 +77,7 @@ public class CoordinatesFormatFragment extends BaseSettingsFragment { String formattedCoordinates = OsmAndFormatter.getFormattedCoordinates(lat, lon, format); if (format == PointDescription.UTM_FORMAT) { SpannableStringBuilder spannableBuilder = new SpannableStringBuilder(); - String combined = getString(R.string.ltr_or_rtl_combine, getString(R.string.shared_string_example), formattedCoordinates); + String combined = getString(R.string.ltr_or_rtl_combine_via_colon, getString(R.string.shared_string_example), formattedCoordinates); spannableBuilder.append(combined); spannableBuilder.append("\n"); spannableBuilder.append(getString(R.string.utm_format_descr)); @@ -105,7 +105,7 @@ public class CoordinatesFormatFragment extends BaseSettingsFragment { return spannableBuilder; } - return getString(R.string.ltr_or_rtl_combine, getString(R.string.shared_string_example), formattedCoordinates); + return getString(R.string.ltr_or_rtl_combine_via_colon, getString(R.string.shared_string_example), formattedCoordinates); } @Override diff --git a/OsmAnd/src/net/osmand/plus/settings/DataStorageFragment.java b/OsmAnd/src/net/osmand/plus/settings/DataStorageFragment.java index 2e357ac497..dd4ef57b7c 100644 --- a/OsmAnd/src/net/osmand/plus/settings/DataStorageFragment.java +++ b/OsmAnd/src/net/osmand/plus/settings/DataStorageFragment.java @@ -341,19 +341,10 @@ public class DataStorageFragment extends BaseSettingsFragment implements DataSto @SuppressLint("StaticFieldLeak") MoveFilesToDifferentDirectory task = new MoveFilesToDifferentDirectory(activity, fromDirectory, toDirectory) { - private MessageFormat formatMb = new MessageFormat("{0, number,##.#} MB", Locale.US); @NonNull private String getFormattedSize(long sizeBytes) { - int size = (int) ((sizeBytes + 512) >> 10); - if (size >= 0) { - if (size > 100) { - return formatMb.format(new Object[]{(float) size / (1 << 10)}); - } else { - return size + " kB"; - } - } - return ""; + return AndroidUtils.formatSize(activity.get(), sizeBytes); } private void showResultsDialog() {