Merge branch 'master' of https://afedasenka@github.com/osmandapp/Osmand.git
This commit is contained in:
commit
0441b77952
50 changed files with 1489 additions and 891 deletions
|
@ -16,7 +16,8 @@ public class ToDoConstants {
|
||||||
// Polish UI with new building address search ...(Better completely new address search)
|
// Polish UI with new building address search ...(Better completely new address search)
|
||||||
// Search for city in all indexes
|
// Search for city in all indexes
|
||||||
// Test GeoIndexActivity
|
// Test GeoIndexActivity
|
||||||
// TODO images in the map index ?
|
// TODO images in the map index ?
|
||||||
|
// Plugin OsmEditingPlugin Send GPX files
|
||||||
|
|
||||||
|
|
||||||
// == Osmand application (TODO 127) ==
|
// == Osmand application (TODO 127) ==
|
||||||
|
|
|
@ -416,9 +416,9 @@
|
||||||
<filter minzoom="13" textSize="12" textColor="#6699cc" textWrapWidth="20" tag="landuse" value="reservoir"/>
|
<filter minzoom="13" textSize="12" textColor="#6699cc" textWrapWidth="20" tag="landuse" value="reservoir"/>
|
||||||
|
|
||||||
<!-- Railroad -->
|
<!-- Railroad -->
|
||||||
<filter minzoom="14" maxzoom="14" textSize="12" textHaloRadius="1" textColor="#6666ff" textBold="true" textDy="7" tag="railway" value="station"/>
|
<filter minzoom="14" maxzoom="14" textSize="12" textColor="#6666ff" textHaloRadius="1" textBold="true" textDy="7" tag="railway" value="station"/>
|
||||||
<filter minzoom="15" textSize="13" textColor="#6666ff" textHaloRadius="1" textBold="true" textDy="7" tag="railway" value="station"/>
|
<filter minzoom="15" textSize="13" textColor="#6666ff" textHaloRadius="1" textBold="true" textDy="7" tag="railway" value="station"/>
|
||||||
<filter minzoom="14" maxzoom="14" textSize="12" textColor="#6666ff" textHaloRadius="1" textDy="7" tag="railway" value="halt"/>
|
<filter minzoom="14" maxzoom="14" textSize="12" textColor="#6666ff" textHaloRadius="1" textDy="7" tag="railway" value="halt"/>
|
||||||
<filter minzoom="15" textSize="12" textColor="#6666ff" textHaloRadius="1" textDy="7" tag="railway" value="halt"/>
|
<filter minzoom="15" textSize="12" textColor="#6666ff" textHaloRadius="1" textDy="7" tag="railway" value="halt"/>
|
||||||
<filter minzoom="15" textSize="12" textColor="#6666ff" textHaloRadius="1" textDy="7" tag="railway" value="tram_stop"/>
|
<filter minzoom="15" textSize="12" textColor="#6666ff" textHaloRadius="1" textDy="7" tag="railway" value="tram_stop"/>
|
||||||
|
|
||||||
|
@ -1049,7 +1049,7 @@
|
||||||
<filter minzoom="13" maxzoom="13" strokeWidth="6"/>
|
<filter minzoom="13" maxzoom="13" strokeWidth="6"/>
|
||||||
<!-- Bridges -->
|
<!-- Bridges -->
|
||||||
<filter layer="1" color="#000000" shadowRadius="0" cap="BUTT" cap_2="SQUARE">
|
<filter layer="1" color="#000000" shadowRadius="0" cap="BUTT" cap_2="SQUARE">
|
||||||
<filter minzoom="13" maxzoom="14" strokeWidth="8" strokeWidth_2="6"/>
|
<filter minzoom="14" maxzoom="14" strokeWidth="8" strokeWidth_2="6"/>
|
||||||
<filter minzoom="15" maxzoom="15" strokeWidth="10" strokeWidth_2="8"/>
|
<filter minzoom="15" maxzoom="15" strokeWidth="10" strokeWidth_2="8"/>
|
||||||
<filter minzoom="16" maxzoom="16" strokeWidth="12" strokeWidth_2="10"/>
|
<filter minzoom="16" maxzoom="16" strokeWidth="12" strokeWidth_2="10"/>
|
||||||
<filter minzoom="17" maxzoom="17" strokeWidth="15" strokeWidth_2="13"/>
|
<filter minzoom="17" maxzoom="17" strokeWidth="15" strokeWidth_2="13"/>
|
||||||
|
@ -1072,15 +1072,10 @@
|
||||||
<filter tag="highway" value="unclassified"/>
|
<filter tag="highway" value="unclassified"/>
|
||||||
<filter tag="highway" value="residential"/>
|
<filter tag="highway" value="residential"/>
|
||||||
<groupFilter color="#ffffff" color_2="#ffffff" shadowRadius="1" cap="ROUND">
|
<groupFilter color="#ffffff" color_2="#ffffff" shadowRadius="1" cap="ROUND">
|
||||||
<filter hmRendered="true" minzoom="12" maxzoom="12" strokeWidth="3">
|
|
||||||
<filter nightMode="true" color="#9F9F9F" color_2="#9F9F9F"/>
|
|
||||||
</filter>
|
|
||||||
<filter minzoom="13" maxzoom="13" strokeWidth="2" shadowRadius="0">
|
|
||||||
<filter nightMode="true" color="#9F9F9F" color_2="#9F9F9F"/>
|
|
||||||
</filter>
|
|
||||||
<!-- Bridges -->
|
<!-- Bridges -->
|
||||||
<filter layer="1" color="#000000" shadowRadius="0" cap="BUTT" cap_2="SQUARE">
|
<filter layer="1" color="#000000" shadowRadius="0" cap="BUTT" cap_2="SQUARE">
|
||||||
<filter minzoom="14" maxzoom="14" strokeWidth="8" strokeWidth_2="6"/>
|
<filter hmRendered="true" minzoom="14" maxzoom="14" strokeWidth="8" strokeWidth_2="6"/>
|
||||||
|
<filter minzoom="14" maxzoom="14" strokeWidth="5" strokeWidth_2="3"/>
|
||||||
<filter minzoom="15" maxzoom="15" strokeWidth="10" strokeWidth_2="8"/>
|
<filter minzoom="15" maxzoom="15" strokeWidth="10" strokeWidth_2="8"/>
|
||||||
<filter minzoom="16" maxzoom="16" strokeWidth="12" strokeWidth_2="10"/>
|
<filter minzoom="16" maxzoom="16" strokeWidth="12" strokeWidth_2="10"/>
|
||||||
<filter minzoom="17" maxzoom="17" strokeWidth="15" strokeWidth_2="13"/>
|
<filter minzoom="17" maxzoom="17" strokeWidth="15" strokeWidth_2="13"/>
|
||||||
|
@ -1088,6 +1083,10 @@
|
||||||
<groupFilter nightMode="true" color="#ffffff" color_2="#9F9F9F"/>
|
<groupFilter nightMode="true" color="#ffffff" color_2="#9F9F9F"/>
|
||||||
</filter>
|
</filter>
|
||||||
<filter>
|
<filter>
|
||||||
|
<filter hmRendered="true" minzoom="12" maxzoom="12" strokeWidth="3"/>
|
||||||
|
<filter hmRendered="true" minzoom="13" maxzoom="13" strokeWidth="4"/>
|
||||||
|
<filter hmRendered="true" minzoom="14" maxzoom="14" strokeWidth="6"/>
|
||||||
|
<filter minzoom="13" maxzoom="13" strokeWidth="2" shadowRadius="0"/>
|
||||||
<filter minzoom="14" maxzoom="14" strokeWidth="3" shadowRadius="0"/>
|
<filter minzoom="14" maxzoom="14" strokeWidth="3" shadowRadius="0"/>
|
||||||
<filter minzoom="15" maxzoom="15" strokeWidth="8"/>
|
<filter minzoom="15" maxzoom="15" strokeWidth="8"/>
|
||||||
<filter minzoom="16" maxzoom="16" strokeWidth="10"/>
|
<filter minzoom="16" maxzoom="16" strokeWidth="10"/>
|
||||||
|
@ -1107,11 +1106,9 @@
|
||||||
<filter tag="highway" value="living_street"/>
|
<filter tag="highway" value="living_street"/>
|
||||||
<filter tag="highway" value="pedestrian"/>
|
<filter tag="highway" value="pedestrian"/>
|
||||||
<groupFilter color="#ececec" color_2="#ececec" shadowRadius="1" cap="ROUND">
|
<groupFilter color="#ececec" color_2="#ececec" shadowRadius="1" cap="ROUND">
|
||||||
<filter hmRendered="true" minzoom="13" maxzoom="13" strokeWidth="2"/>
|
|
||||||
<filter hmRendered="true" minzoom="14" maxzoom="14" strokeWidth="3"/>
|
|
||||||
<!-- Bridges -->
|
<!-- Bridges -->
|
||||||
<filter layer="1" color="#000000" shadowRadius="0" cap="BUTT" cap_2="SQUARE">
|
<filter layer="1" color="#000000" shadowRadius="0" cap="BUTT" cap_2="SQUARE">
|
||||||
<filter hmRendered="true" minzoom="13" maxzoom="14" strokeWidth="5" strokeWidth_2="3"/>
|
<filter hmRendered="true" minzoom="14" maxzoom="14" strokeWidth="5" strokeWidth_2="3"/>
|
||||||
<filter minzoom="15" maxzoom="15" strokeWidth="6" strokeWidth_2="4"/>
|
<filter minzoom="15" maxzoom="15" strokeWidth="6" strokeWidth_2="4"/>
|
||||||
<filter minzoom="16" maxzoom="16" strokeWidth="7" strokeWidth_2="5"/>
|
<filter minzoom="16" maxzoom="16" strokeWidth="7" strokeWidth_2="5"/>
|
||||||
<filter minzoom="17" maxzoom="17" strokeWidth="10" strokeWidth_2="8"/>
|
<filter minzoom="17" maxzoom="17" strokeWidth="10" strokeWidth_2="8"/>
|
||||||
|
@ -1119,6 +1116,8 @@
|
||||||
<groupFilter nightMode="true" color="#ffffff"/>
|
<groupFilter nightMode="true" color="#ffffff"/>
|
||||||
</filter>
|
</filter>
|
||||||
<filter>
|
<filter>
|
||||||
|
<filter hmRendered="true" minzoom="13" maxzoom="13" strokeWidth="2"/>
|
||||||
|
<filter hmRendered="true" minzoom="14" maxzoom="14" strokeWidth="3"/>
|
||||||
<filter minzoom="15" maxzoom="15" strokeWidth="4"/>
|
<filter minzoom="15" maxzoom="15" strokeWidth="4"/>
|
||||||
<filter minzoom="16" maxzoom="16" strokeWidth="5"/>
|
<filter minzoom="16" maxzoom="16" strokeWidth="5"/>
|
||||||
<filter minzoom="17" maxzoom="17" strokeWidth="8"/>
|
<filter minzoom="17" maxzoom="17" strokeWidth="8"/>
|
||||||
|
@ -1130,50 +1129,63 @@
|
||||||
|
|
||||||
<group>
|
<group>
|
||||||
<filter tag="highway" value="track" color="#996600" pathEffect="6_3" color_3="#996600" pathEffect_3="6_3">
|
<filter tag="highway" value="track" color="#996600" pathEffect="6_3" color_3="#996600" pathEffect_3="6_3">
|
||||||
|
<filter appMode="pedestrian" hmRendered="true" minzoom="14" strokeWidth="2" pathEffect="10_3" strokeWidth_3="2" pathEffect_3="10_3"/>
|
||||||
<filter appMode="pedestrian" minzoom="15" strokeWidth="2" pathEffect="10_3" strokeWidth_3="2" pathEffect_3="10_3"/>
|
<filter appMode="pedestrian" minzoom="15" strokeWidth="2" pathEffect="10_3" strokeWidth_3="2" pathEffect_3="10_3"/>
|
||||||
<filter hmRendered="true" minzoom="12" maxzoom="12" strokeWidth="0.5" strokeWidth_3="0.5"/>
|
<filter hmRendered="true" minzoom="12" maxzoom="12" strokeWidth="0.5" strokeWidth_3="0.5"/>
|
||||||
|
<filter hmRendered="true" minzoom="13" strokeWidth="1" strokeWidth_3="1"/>
|
||||||
<filter minzoom="14" strokeWidth="1" strokeWidth_3="1"/>
|
<filter minzoom="14" strokeWidth="1" strokeWidth_3="1"/>
|
||||||
</filter>
|
</filter>
|
||||||
|
|
||||||
<!-- byway is deprecated tag, describes UK-only road. Proper tag should be highway=track or highway=path -->
|
<!-- byway is deprecated tag, describes UK-only road. Proper tag should be highway=track or highway=path -->
|
||||||
<filter tag="highway" value="byway" color="#996600" pathEffect="6_3" color_3="#996600" pathEffect_3="6_3">
|
<filter tag="highway" value="byway" color="#996600" pathEffect="6_3" color_3="#996600" pathEffect_3="6_3">
|
||||||
<filter appMode="bicycle" minzoom="14" strokeWidth="2" pathEffect="10_3" strokeWidth_3="2" pathEffect_3="10_3"/>
|
<filter appMode="pedestrian" hmRendered="true" minzoom="14" strokeWidth="2" pathEffect="10_3" strokeWidth_3="2" pathEffect_3="10_3"/>
|
||||||
<filter appMode="pedestrian" minzoom="15" strokeWidth="2" pathEffect="10_3" strokeWidth_3="2" pathEffect_3="10_3"/>
|
<filter appMode="pedestrian" minzoom="15" strokeWidth="2" pathEffect="10_3" strokeWidth_3="2" pathEffect_3="10_3"/>
|
||||||
<filter minzoom="12" strokeWidth="1" strokeWidth_3="1"/>
|
<filter appMode="bicycle" minzoom="14" strokeWidth="2" pathEffect="10_3" strokeWidth_3="2" pathEffect_3="10_3"/>
|
||||||
|
<filter hmRendered="true" minzoom="12" maxzoom="12" strokeWidth="0.5" strokeWidth_3="0.5"/>
|
||||||
|
<filter hmRendered="true" minzoom="13" strokeWidth="1" strokeWidth_3="1"/>
|
||||||
|
<filter minzoom="14" strokeWidth="1" strokeWidth_3="1"/>
|
||||||
</filter>
|
</filter>
|
||||||
|
|
||||||
<group>
|
<group>
|
||||||
<filter tag="highway" value="path" color="#000000" pathEffect="6_3" color_3="#000000" pathEffect_3="6_3">
|
<filter tag="highway" value="path" color="#000000" pathEffect="6_3" color_3="#000000" pathEffect_3="6_3">
|
||||||
|
<filter appMode="pedestrian" hmRendered="true" minzoom="14" strokeWidth="2" pathEffect="10_3" strokeWidth_3="2" pathEffect_3="10_3"/>
|
||||||
<filter appMode="pedestrian" minzoom="15" strokeWidth="2" pathEffect="10_3" strokeWidth_3="2" pathEffect_3="10_3"/>
|
<filter appMode="pedestrian" minzoom="15" strokeWidth="2" pathEffect="10_3" strokeWidth_3="2" pathEffect_3="10_3"/>
|
||||||
<filter hmRendered="true" minzoom="12" maxzoom="12" strokeWidth="0.5" strokeWidth_3="0.5"/>
|
<filter hmRendered="true" minzoom="12" maxzoom="12" strokeWidth="0.5" strokeWidth_3="0.5"/>
|
||||||
<filter minzoom="13" strokeWidth="1" strokeWidth_3="1"/>
|
<filter hmRendered="true" minzoom="13" strokeWidth="1" strokeWidth_3="1"/>
|
||||||
|
<filter minzoom="14" strokeWidth="1" strokeWidth_3="1"/>
|
||||||
</filter>
|
</filter>
|
||||||
<groupFilter nightMode="true" color="#787878" color_3="#787878"/>
|
<groupFilter nightMode="true" color="#787878" color_3="#787878"/>
|
||||||
</group>
|
</group>
|
||||||
|
|
||||||
<filter tag="highway" value="cycleway" color="#0000ff" pathEffect="2_2" color_3="#0000ff" pathEffect_3="2_2">
|
<filter tag="highway" value="cycleway" color="#0000ff" pathEffect="2_2" color_3="#0000ff" pathEffect_3="2_2">
|
||||||
<filter appMode="bicycle" minzoom="14" strokeWidth="2" pathEffect="10_3" strokeWidth_3="2" pathEffect_3="10_3"/>
|
<filter appMode="bicycle" minzoom="14" strokeWidth="2" pathEffect="10_3" strokeWidth_3="2" pathEffect_3="10_3"/>
|
||||||
|
<filter appMode="pedestrian" hmRendered="true" minzoom="14" strokeWidth="2" pathEffect="10_3" strokeWidth_3="2" pathEffect_3="10_3"/>
|
||||||
<filter hmRendered="true" minzoom="12" maxzoom="12" strokeWidth="0.5" strokeWidth_3="0.5"/>
|
<filter hmRendered="true" minzoom="12" maxzoom="12" strokeWidth="0.5" strokeWidth_3="0.5"/>
|
||||||
<filter minzoom="14" strokeWidth="1" strokeWidth_3="1"/>
|
<filter hmRendered="true" minzoom="13" strokeWidth="1" strokeWidth_3="1"/>
|
||||||
|
<filter minzoom="14" strokeWidth="1" strokeWidth_3="1"/>
|
||||||
</filter>
|
</filter>
|
||||||
|
|
||||||
<filter tag="highway" value="footway" color="#fa5073" pathEffect="2_2" color_3="#fa5073" pathEffect_3="2_2">
|
<filter tag="highway" value="footway" color="#fa5073" pathEffect="2_2" color_3="#fa5073" pathEffect_3="2_2">
|
||||||
<filter appMode="pedestrian" minzoom="16" strokeWidth="2" pathEffect="10_3" strokeWidth_3="2" pathEffect_3="10_3"/>
|
<filter appMode="pedestrian" hmRendered="true" minzoom="14" strokeWidth="2" pathEffect="10_3" strokeWidth_3="2" pathEffect_3="10_3"/>
|
||||||
|
<filter appMode="pedestrian" minzoom="15" strokeWidth="2" pathEffect="10_3" strokeWidth_3="2" pathEffect_3="10_3"/>
|
||||||
<filter hmRendered="true" minzoom="12" maxzoom="12" strokeWidth="0.5" strokeWidth_3="0.5"/>
|
<filter hmRendered="true" minzoom="12" maxzoom="12" strokeWidth="0.5" strokeWidth_3="0.5"/>
|
||||||
<filter hmRendered="true" minzoom="13" maxzoom="14" strokeWidth="1" strokeWidth_3="1"/>
|
<filter hmRendered="true" minzoom="13" strokeWidth="1" strokeWidth_3="1"/>
|
||||||
<filter minzoom="15" strokeWidth="1" strokeWidth_3="1"/>
|
<filter minzoom="16" strokeWidth="1" strokeWidth_3="1"/>
|
||||||
</filter>
|
</filter>
|
||||||
|
|
||||||
<filter tag="highway" value="steps" color="#fa5073" pathEffect="1_2" color_3="#fa5073" pathEffect_3="1_2">
|
<filter tag="highway" value="steps" color="#fa5073" pathEffect="1_2" color_3="#fa5073" pathEffect_3="1_2">
|
||||||
<filter appMode="pedestrian" minzoom="16" strokeWidth="4" pathEffect="2_2" strokeWidth_3="4" pathEffect_3="2_2"/>
|
<filter appMode="pedestrian" hmRendered="true" minzoom="14" strokeWidth="4" pathEffect="2_2" strokeWidth_3="4" pathEffect_3="2_2"/>
|
||||||
|
<filter appMode="pedestrian" minzoom="15" strokeWidth="4" pathEffect="2_2" strokeWidth_3="4" pathEffect_3="2_2"/>
|
||||||
<filter hmRendered="true" minzoom="14" strokeWidth="4" strokeWidth_3="4"/>
|
<filter hmRendered="true" minzoom="14" strokeWidth="4" strokeWidth_3="4"/>
|
||||||
<filter minzoom="16" strokeWidth="4" strokeWidth_3="4"/>
|
<filter minzoom="16" strokeWidth="4" strokeWidth_3="4"/>
|
||||||
</filter>
|
</filter>
|
||||||
|
|
||||||
<filter tag="highway" value="bridleway" color="#339900" pathEffect="2_2" color_3="#339900" pathEffect_3="2_2">
|
<filter tag="highway" value="bridleway" color="#339900" pathEffect="2_2" color_3="#339900" pathEffect_3="2_2">
|
||||||
|
<filter appMode="pedestrian" hmRendered="true" minzoom="14" strokeWidth="2" pathEffect="10_3" strokeWidth_3="2" pathEffect_3="10_3"/>
|
||||||
<filter appMode="pedestrian" minzoom="15" strokeWidth="2" pathEffect="10_3" strokeWidth_3="2" pathEffect_3="10_3"/>
|
<filter appMode="pedestrian" minzoom="15" strokeWidth="2" pathEffect="10_3" strokeWidth_3="2" pathEffect_3="10_3"/>
|
||||||
<filter hmRendered="true" minzoom="12" maxzoom="12" strokeWidth="0.5" strokeWidth_3="0.5"/>
|
<filter hmRendered="true" minzoom="12" maxzoom="12" strokeWidth="0.5" strokeWidth_3="0.5"/>
|
||||||
<filter minzoom="13" strokeWidth="1" strokeWidth_3="1"/>
|
<filter hmRendered="true" minzoom="13" strokeWidth="1" strokeWidth_3="1"/>
|
||||||
|
<filter minzoom="16" strokeWidth="1" strokeWidth_3="1"/>
|
||||||
</filter>
|
</filter>
|
||||||
|
|
||||||
<!-- Bridges -->
|
<!-- Bridges -->
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
<uses-permission android:name="android.permission.WAKE_LOCK"></uses-permission>
|
<uses-permission android:name="android.permission.WAKE_LOCK"></uses-permission>
|
||||||
|
|
||||||
<application android:icon="@drawable/icon" android:label="@string/app_name" android:theme="@style/OsmandTheme"
|
<application android:icon="@drawable/icon" android:label="@string/app_name" android:theme="@style/OsmandTheme"
|
||||||
android:debuggable="true" android:name="net.osmand.plus.OsmandApplication"
|
android:debuggable="true" android:name=".OsmandApplication"
|
||||||
android:backupAgent="net.osmand.plus.OsmandBackupAgent" android:restoreAnyVersion="true">
|
android:backupAgent="net.osmand.plus.OsmandBackupAgent" android:restoreAnyVersion="true">
|
||||||
<activity android:name="net.osmand.plus.activities.MainMenuActivity"
|
<activity android:name="net.osmand.plus.activities.MainMenuActivity"
|
||||||
android:label="@string/app_name">
|
android:label="@string/app_name">
|
||||||
|
@ -64,11 +64,11 @@
|
||||||
<data android:scheme="geo"></data>
|
<data android:scheme="geo"></data>
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
</activity>
|
</activity>
|
||||||
<activity android:name="net.osmand.plus.activities.TestVoiceActivity"></activity>
|
<activity android:name="net.osmand.plus.development.TestVoiceActivity"></activity>
|
||||||
<activity android:name="net.osmand.plus.activities.LocalIndexesActivity" android:label="@string/local_index_descr_title"></activity>
|
<activity android:name="net.osmand.plus.activities.LocalIndexesActivity" android:label="@string/local_index_descr_title"></activity>
|
||||||
<activity android:name="net.osmand.plus.activities.LocalOpenstreetmapActivity" android:label="@string/local_openstreetmap_descr_title"></activity>
|
<activity android:name="net.osmand.plus.osmedit.LocalOpenstreetmapActivity" android:label="@string/local_openstreetmap_descr_title"></activity>
|
||||||
|
|
||||||
<service android:process="net.osmand.plus" android:label="@string/process_navigation_service" android:name="net.osmand.plus.NavigationService">
|
<service android:process="net.osmand.plus" android:label="@string/process_navigation_service" android:name=".NavigationService">
|
||||||
<intent-filter><action android:name="net.osmand.plus.NavigationService"></action></intent-filter>
|
<intent-filter><action android:name="net.osmand.plus.NavigationService"></action></intent-filter>
|
||||||
</service>
|
</service>
|
||||||
<receiver android:name="net.osmand.plus.OnNavigationServiceAlarmReceiver"/>
|
<receiver android:name="net.osmand.plus.OnNavigationServiceAlarmReceiver"/>
|
||||||
|
@ -81,7 +81,7 @@
|
||||||
<action android:name="com.android.vending.INSTALL_REFERRER" />
|
<action android:name="com.android.vending.INSTALL_REFERRER" />
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
</receiver>
|
</receiver>
|
||||||
<activity android:name="net.osmand.plus.activities.OsmandBidForFixActivity"></activity>
|
<activity android:name=".activities.OsmandBidForFixActivity"></activity>
|
||||||
|
|
||||||
|
|
||||||
</application>
|
</application>
|
||||||
|
|
|
@ -2,12 +2,12 @@
|
||||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent"
|
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent"
|
||||||
android:layout_height="wrap_content" android:orientation="vertical">
|
android:layout_height="wrap_content" android:orientation="vertical">
|
||||||
<LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal"
|
<LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal"
|
||||||
android:layout_marginLeft="3dp" >
|
android:layout_marginLeft="4dp" >
|
||||||
<ImageView android:layout_marginLeft="4dp" android:id="@+id/plugin_icon" android:layout_width="wrap_content" android:layout_height="wrap_content"/>
|
<ImageView android:id="@+id/plugin_icon" android:layout_width="wrap_content" android:layout_height="wrap_content"/>
|
||||||
<TextView android:id="@+id/plugin_name" android:gravity="center_horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content"
|
<TextView android:layout_marginLeft="5dp" android:id="@+id/plugin_name" android:gravity="center_horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content"
|
||||||
android:textSize="17sp"></TextView>
|
android:textSize="18sp"></TextView>
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
<TextView android:id="@+id/plugin_descr" android:layout_width="fill_parent" android:layout_marginLeft="5dp"
|
<TextView android:id="@+id/plugin_descr" android:layout_width="fill_parent" android:layout_marginLeft="5dp"
|
||||||
android:maxLines="7" android:layout_height="wrap_content" android:textSize="15sp" ></TextView>
|
android:maxLines="7" android:layout_height="wrap_content" android:textSize="16sp" ></TextView>
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
|
@ -158,10 +158,6 @@
|
||||||
<string name="profile_settings">Nastavení profilu</string>
|
<string name="profile_settings">Nastavení profilu</string>
|
||||||
<string name="settings_preset">Uživatelský profil</string>
|
<string name="settings_preset">Uživatelský profil</string>
|
||||||
<string name="settings_preset_descr">Vyberte profil aplikace. (V každém profilu je možno upravit mapy, sledování a navigaci.)</string>
|
<string name="settings_preset_descr">Vyberte profil aplikace. (V každém profilu je možno upravit mapy, sledování a navigaci.)</string>
|
||||||
<string name="rendering_settings">- Mapa</string>
|
|
||||||
<string name="rendering_settings_descr">Nastavení zdroje mapy a způsobu vykreslování</string>
|
|
||||||
<string name="appearance_settings">- Zobrazení</string>
|
|
||||||
<string name="appearance_settings_descr">Nastavení vzhledu a chování aplikace a zobrazení mapy</string>
|
|
||||||
<string name="monitor_preferences">- Záznam trasy</string>
|
<string name="monitor_preferences">- Záznam trasy</string>
|
||||||
<string name="monitor_preferences_descr">Nastavení záznamu trasy na SD kartu</string>
|
<string name="monitor_preferences_descr">Nastavení záznamu trasy na SD kartu</string>
|
||||||
<string name="routing_settings">- Navigace</string>
|
<string name="routing_settings">- Navigace</string>
|
||||||
|
@ -615,8 +611,6 @@
|
||||||
<string name="map_overlay_descr">
|
<string name="map_overlay_descr">
|
||||||
Vyberte mapu zobrazenou nad základní mapou
|
Vyberte mapu zobrazenou nad základní mapou
|
||||||
</string>
|
</string>
|
||||||
<string name="map_vector_data">Vektorové mapy</string>
|
|
||||||
<string name="map_vector_data_descr">Použít stažené vektorové mapy</string>
|
|
||||||
<string name="tile_source_already_installed">
|
<string name="tile_source_already_installed">
|
||||||
Mapa je již nainstalovaná, aktualizuji nastavení
|
Mapa je již nainstalovaná, aktualizuji nastavení
|
||||||
</string>
|
</string>
|
||||||
|
|
|
@ -158,10 +158,6 @@
|
||||||
<string name="profile_settings">Profilspezifische Einstellungen</string>
|
<string name="profile_settings">Profilspezifische Einstellungen</string>
|
||||||
<string name="settings_preset">Nutzerprofil</string>
|
<string name="settings_preset">Nutzerprofil</string>
|
||||||
<string name="settings_preset_descr">Verwendungszweck. (Einstellungen für Karten, Logging und Navigation werden für jedes Profil separat gespeichert.)</string>
|
<string name="settings_preset_descr">Verwendungszweck. (Einstellungen für Karten, Logging und Navigation werden für jedes Profil separat gespeichert.)</string>
|
||||||
<string name="rendering_settings">- Kartenkonfiguration</string>
|
|
||||||
<string name="rendering_settings_descr">Kartenquellen und -parametrisierung</string>
|
|
||||||
<string name="appearance_settings">- Anzeigenkonfiguration</string>
|
|
||||||
<string name="appearance_settings_descr">Kartendarstellung und Anzeigeelemente</string>
|
|
||||||
<string name="monitor_preferences">- Positions-Logging</string>
|
<string name="monitor_preferences">- Positions-Logging</string>
|
||||||
<string name="monitor_preferences_descr">Positions-Logging konfigurieren</string>
|
<string name="monitor_preferences_descr">Positions-Logging konfigurieren</string>
|
||||||
<string name="routing_settings">- Navigation</string>
|
<string name="routing_settings">- Navigation</string>
|
||||||
|
@ -406,8 +402,6 @@
|
||||||
<string name="default_none">Keine</string>
|
<string name="default_none">Keine</string>
|
||||||
<string name="map_overlay">Overlay-Karte</string>
|
<string name="map_overlay">Overlay-Karte</string>
|
||||||
<string name="map_overlay_descr">Wähle Overlay-Karte</string>
|
<string name="map_overlay_descr">Wähle Overlay-Karte</string>
|
||||||
<string name="map_vector_data">Offline-Vektor-Karten</string>
|
|
||||||
<string name="map_vector_data_descr">Verwende Offline-Vektor-Karten</string>
|
|
||||||
<string name="tile_source_already_installed">Karte schon installiert, Einstellungen werden aktualisiert</string>
|
<string name="tile_source_already_installed">Karte schon installiert, Einstellungen werden aktualisiert</string>
|
||||||
<string name="select_tile_source_to_install">Kartenauswahl (Installation oder Update)</string>
|
<string name="select_tile_source_to_install">Kartenauswahl (Installation oder Update)</string>
|
||||||
<string name="internet_not_available">Internet Verbindung erforderlich aber nicht verfügbar</string>
|
<string name="internet_not_available">Internet Verbindung erforderlich aber nicht verfügbar</string>
|
||||||
|
|
|
@ -67,10 +67,6 @@
|
||||||
<string name="profile_settings">Opciones específicas por perfil</string>
|
<string name="profile_settings">Opciones específicas por perfil</string>
|
||||||
<string name="settings_preset">Perfil de usuario</string>
|
<string name="settings_preset">Perfil de usuario</string>
|
||||||
<string name="settings_preset_descr">Selecciona un perfil de uso. (Las opciones de Mapa, Seguimiento y Navegación puede cambiarse para cada perfil)</string>
|
<string name="settings_preset_descr">Selecciona un perfil de uso. (Las opciones de Mapa, Seguimiento y Navegación puede cambiarse para cada perfil)</string>
|
||||||
<string name="rendering_settings">- Configuración de Mapa</string>
|
|
||||||
<string name="rendering_settings_descr">Configura los mapas y los orígenes de mapas</string>
|
|
||||||
<string name="appearance_settings">- Aspecto de mapas</string>
|
|
||||||
<string name="appearance_settings_descr">Configura la presentación de mapas</string>
|
|
||||||
<string name="monitor_preferences">- Seguimiento</string>
|
<string name="monitor_preferences">- Seguimiento</string>
|
||||||
<string name="monitor_preferences_descr">Especifica los parámetros de seguimiento</string>
|
<string name="monitor_preferences_descr">Especifica los parámetros de seguimiento</string>
|
||||||
<string name="routing_settings">- Navegación</string>
|
<string name="routing_settings">- Navegación</string>
|
||||||
|
@ -319,8 +315,6 @@
|
||||||
<string name="default_none">Ninguno</string>
|
<string name="default_none">Ninguno</string>
|
||||||
<string name="map_overlay">Mapa superpuesto</string>
|
<string name="map_overlay">Mapa superpuesto</string>
|
||||||
<string name="map_overlay_descr">Elija mapa superpuesto</string>
|
<string name="map_overlay_descr">Elija mapa superpuesto</string>
|
||||||
<string name="map_vector_data">Mapas descargados</string>
|
|
||||||
<string name="map_vector_data_descr">Usar mapas vectoriales descargados</string>
|
|
||||||
<string name="tile_source_already_installed">El mapa ya está instalado, se actualizarán las opciones</string>
|
<string name="tile_source_already_installed">El mapa ya está instalado, se actualizarán las opciones</string>
|
||||||
<string name="select_tile_source_to_install">Seleccione mapas (teselas) a instalar o actualizar</string>
|
<string name="select_tile_source_to_install">Seleccione mapas (teselas) a instalar o actualizar</string>
|
||||||
<string name="internet_not_available">No está disponible la conexión a Internet que se necesita para la operación</string>
|
<string name="internet_not_available">No está disponible la conexión a Internet que se necesita para la operación</string>
|
||||||
|
|
|
@ -67,10 +67,6 @@
|
||||||
<string name="profile_settings">Paramètres de profil</string>
|
<string name="profile_settings">Paramètres de profil</string>
|
||||||
<string name="settings_preset">Profil d\'utilisation</string>
|
<string name="settings_preset">Profil d\'utilisation</string>
|
||||||
<string name="settings_preset_descr">Sélectionner un profil d\'utilisation. (Pour chaque profil, il est possible de configurer une source de carte, le suivi et la navigation, voir plus bas.)</string>
|
<string name="settings_preset_descr">Sélectionner un profil d\'utilisation. (Pour chaque profil, il est possible de configurer une source de carte, le suivi et la navigation, voir plus bas.)</string>
|
||||||
<string name="rendering_settings">- Sources de carte</string>
|
|
||||||
<string name="rendering_settings_descr">Configurer la source et les propriétés des cartes</string>
|
|
||||||
<string name="appearance_settings">- Style d\'affichage</string>
|
|
||||||
<string name="appearance_settings_descr">Configurer le style de l\'affichage de la carte</string>
|
|
||||||
<string name="monitor_preferences">- Traces</string>
|
<string name="monitor_preferences">- Traces</string>
|
||||||
<string name="monitor_preferences_descr">Configurer les paramètres d\'enregistrement du parcours</string>
|
<string name="monitor_preferences_descr">Configurer les paramètres d\'enregistrement du parcours</string>
|
||||||
<string name="routing_settings">- Navigation</string>
|
<string name="routing_settings">- Navigation</string>
|
||||||
|
@ -306,8 +302,6 @@
|
||||||
<string name="default_none">Aucune</string>
|
<string name="default_none">Aucune</string>
|
||||||
<string name="map_overlay">Sur-couche de la carte</string>
|
<string name="map_overlay">Sur-couche de la carte</string>
|
||||||
<string name="map_overlay_descr">Chosir la carte en sur-couche</string>
|
<string name="map_overlay_descr">Chosir la carte en sur-couche</string>
|
||||||
<string name="map_vector_data">Cartes vectorielles</string>
|
|
||||||
<string name="map_vector_data_descr">Utiliser les cartes vectorielles téléchargées</string>
|
|
||||||
<string name="tile_source_already_installed">Carte déjà installée, paramètres seront mis à jour</string>
|
<string name="tile_source_already_installed">Carte déjà installée, paramètres seront mis à jour</string>
|
||||||
<string name="select_tile_source_to_install">Sélectioner les cartes à installer ou mettre à jour</string>
|
<string name="select_tile_source_to_install">Sélectioner les cartes à installer ou mettre à jour</string>
|
||||||
<string name="internet_not_available">Connexion Internet nécessaire pour cette opération non disponible</string>
|
<string name="internet_not_available">Connexion Internet nécessaire pour cette opération non disponible</string>
|
||||||
|
|
|
@ -150,10 +150,6 @@
|
||||||
<string name="profile_settings">Felhasználási módnak megfelelő beállítások</string>
|
<string name="profile_settings">Felhasználási módnak megfelelő beállítások</string>
|
||||||
<string name="settings_preset">Felhasználási mód</string>
|
<string name="settings_preset">Felhasználási mód</string>
|
||||||
<string name="settings_preset_descr">Felhasználási mód kiválasztása. (Minden módban a térkép, útvonalrögzítés és navigáció beállításai alább személyre szabhatók.)</string>
|
<string name="settings_preset_descr">Felhasználási mód kiválasztása. (Minden módban a térkép, útvonalrögzítés és navigáció beállításai alább személyre szabhatók.)</string>
|
||||||
<string name="rendering_settings">- Térképbeállítások</string>
|
|
||||||
<string name="rendering_settings_descr">Térképbeállítások és térképforrások</string>
|
|
||||||
<string name="appearance_settings">- Térkép megjelenítés</string>
|
|
||||||
<string name="appearance_settings_descr">Térkép megjelenésének beállításai</string>
|
|
||||||
<string name="monitor_preferences">- Útvonalrögzítés</string>
|
<string name="monitor_preferences">- Útvonalrögzítés</string>
|
||||||
<string name="monitor_preferences_descr">Útvonalrögzítés beállításai</string>
|
<string name="monitor_preferences_descr">Útvonalrögzítés beállításai</string>
|
||||||
<string name="routing_settings">- Navigáció</string>
|
<string name="routing_settings">- Navigáció</string>
|
||||||
|
@ -402,8 +398,6 @@
|
||||||
<string name="default_none">Nincs</string>
|
<string name="default_none">Nincs</string>
|
||||||
<string name="map_overlay">Rátét térkép</string>
|
<string name="map_overlay">Rátét térkép</string>
|
||||||
<string name="map_overlay_descr">Rátét térkép kiválasztás</string>
|
<string name="map_overlay_descr">Rátét térkép kiválasztás</string>
|
||||||
<string name="map_vector_data">Vektoros térképek</string>
|
|
||||||
<string name="map_vector_data_descr">Letöltött vektoros térképek használata</string>
|
|
||||||
<string name="tile_source_already_installed">A térkép már telepítve van, a beállítások frissítésre kerülnek</string>
|
<string name="tile_source_already_installed">A térkép már telepítve van, a beállítások frissítésre kerülnek</string>
|
||||||
<string name="select_tile_source_to_install">Térkép kiválasztása telepítéshez, frissítéshez</string>
|
<string name="select_tile_source_to_install">Térkép kiválasztása telepítéshez, frissítéshez</string>
|
||||||
<string name="internet_not_available">A művelet elvégzéséhez internetelérés szükséges</string>
|
<string name="internet_not_available">A művelet elvégzéséhez internetelérés szükséges</string>
|
||||||
|
|
|
@ -51,10 +51,6 @@
|
||||||
<string name="profile_settings">Impostazioni particolari per il profilo</string>
|
<string name="profile_settings">Impostazioni particolari per il profilo</string>
|
||||||
<string name="settings_preset">Profilo d\'uso</string>
|
<string name="settings_preset">Profilo d\'uso</string>
|
||||||
<string name="settings_preset_descr">Seleziona un profilo d\'uso. (Ogni impostazione del profilo per la Mappa, Tracking, e Navigazione può essere personalizzato sotto.)</string>
|
<string name="settings_preset_descr">Seleziona un profilo d\'uso. (Ogni impostazione del profilo per la Mappa, Tracking, e Navigazione può essere personalizzato sotto.)</string>
|
||||||
<string name="rendering_settings">Configura mappa</string>
|
|
||||||
<string name="rendering_settings_descr">Configura mappe e sorgenti delle mappe</string>
|
|
||||||
<string name="appearance_settings">Aspetto della mappa</string>
|
|
||||||
<string name="appearance_settings_descr">Configura l\'aspetto della mappa</string>
|
|
||||||
<string name="monitor_preferences">Tracking</string>
|
<string name="monitor_preferences">Tracking</string>
|
||||||
<string name="monitor_preferences_descr">Specifica le impostazioni di tracking</string>
|
<string name="monitor_preferences_descr">Specifica le impostazioni di tracking</string>
|
||||||
<string name="routing_settings">Navigazione</string>
|
<string name="routing_settings">Navigazione</string>
|
||||||
|
@ -300,8 +296,6 @@
|
||||||
<string name="default_none">Nessuna</string>
|
<string name="default_none">Nessuna</string>
|
||||||
<string name="map_overlay">Mappa di overlay</string>
|
<string name="map_overlay">Mappa di overlay</string>
|
||||||
<string name="map_overlay_descr">Scegli mappa di overlay</string>
|
<string name="map_overlay_descr">Scegli mappa di overlay</string>
|
||||||
<string name="map_vector_data">Mappe vettoriali offline</string>
|
|
||||||
<string name="map_vector_data_descr">Usa le mappe vettoriali scaricate</string>
|
|
||||||
<string name="tile_source_already_installed">La mappa è già installata, verrà aggiornata</string>
|
<string name="tile_source_already_installed">La mappa è già installata, verrà aggiornata</string>
|
||||||
<string name="select_tile_source_to_install">Seleziona le mappe (tile) da installare o aggiornare</string>
|
<string name="select_tile_source_to_install">Seleziona le mappe (tile) da installare o aggiornare</string>
|
||||||
<string name="internet_not_available">Connessione internet richiesta ma non disponibile</string>
|
<string name="internet_not_available">Connessione internet richiesta ma non disponibile</string>
|
||||||
|
|
|
@ -68,8 +68,6 @@ name="internet_connection_required_for_online_route">オンライン経路案内
|
||||||
<string name="default_none">無し</string>
|
<string name="default_none">無し</string>
|
||||||
<string name="map_overlay">オーバーレイマップ</string>
|
<string name="map_overlay">オーバーレイマップ</string>
|
||||||
<string name="map_overlay_descr">オーバーレイマップを選択</string>
|
<string name="map_overlay_descr">オーバーレイマップを選択</string>
|
||||||
<string name="map_vector_data">オフラインベクターマップ</string>
|
|
||||||
<string name="map_vector_data_descr">ダウンロードしたベクターマップを使用</string>
|
|
||||||
<string name="tile_source_already_installed">マップは既に
|
<string name="tile_source_already_installed">マップは既に
|
||||||
インストール済です、設定を更新します</string>
|
インストール済です、設定を更新します</string>
|
||||||
<string name="select_tile_source_to_install">インストールまたは
|
<string name="select_tile_source_to_install">インストールまたは
|
||||||
|
@ -308,8 +306,7 @@ MB)をダウンロードしますか?</string>
|
||||||
|
|
||||||
<string name="general_settings_descr">インターネット利用、表示オプション、その他の構成</string>
|
<string name="general_settings_descr">インターネット利用、表示オプション、その他の構成</string>
|
||||||
<string name="general_settings">全般設定</string>
|
<string name="general_settings">全般設定</string>
|
||||||
<string name="rendering_settings_descr">マップソースと外観の構成</string>
|
|
||||||
<string name="rendering_settings">- マップ</string>
|
|
||||||
<string name="index_settings_descr">オフライン用のデータを取得/更新</string>
|
<string name="index_settings_descr">オフライン用のデータを取得/更新</string>
|
||||||
<string name="index_settings">オフラインデータ</string>
|
<string name="index_settings">オフラインデータ</string>
|
||||||
<string name="osmand_service">背景サービス</string>
|
<string name="osmand_service">背景サービス</string>
|
||||||
|
|
|
@ -158,10 +158,6 @@
|
||||||
<string name="profile_settings">특정 설정 프로파일</string>
|
<string name="profile_settings">특정 설정 프로파일</string>
|
||||||
<string name="settings_preset">사용자 프로파일</string>
|
<string name="settings_preset">사용자 프로파일</string>
|
||||||
<string name="settings_preset_descr">사용자 프로파일을 선택합니다. (각 프로파일의 맵, 트래킹, 네비게이션 설정은 아래처럼 지정할 수 있습니다.)</string>
|
<string name="settings_preset_descr">사용자 프로파일을 선택합니다. (각 프로파일의 맵, 트래킹, 네비게이션 설정은 아래처럼 지정할 수 있습니다.)</string>
|
||||||
<string name="rendering_settings">- 맵 설정</string>
|
|
||||||
<string name="rendering_settings_descr">맵과 맵 소스를 설정합니다</string>
|
|
||||||
<string name="appearance_settings">- 맵 모양</string>
|
|
||||||
<string name="appearance_settings_descr">맵 모양을 설정합니다</string>
|
|
||||||
<string name="monitor_preferences">- 트래킹</string>
|
<string name="monitor_preferences">- 트래킹</string>
|
||||||
<string name="monitor_preferences_descr">트래킹 옵션을 설정합니다</string>
|
<string name="monitor_preferences_descr">트래킹 옵션을 설정합니다</string>
|
||||||
<string name="routing_settings">- 네비게이션</string>
|
<string name="routing_settings">- 네비게이션</string>
|
||||||
|
@ -408,8 +404,6 @@
|
||||||
<string name="default_none">없음</string>
|
<string name="default_none">없음</string>
|
||||||
<string name="map_overlay">오버레이 맵</string>
|
<string name="map_overlay">오버레이 맵</string>
|
||||||
<string name="map_overlay_descr">오버레이 맵을 선택합니다</string>
|
<string name="map_overlay_descr">오버레이 맵을 선택합니다</string>
|
||||||
<string name="map_vector_data">오프라인 벡터 맵</string>
|
|
||||||
<string name="map_vector_data_descr">다운로드한 벡터 맵을 사용합니다</string>
|
|
||||||
<string name="tile_source_already_installed">맵이 이미 설치되어, 설정이 갱신될 것입니다</string>
|
<string name="tile_source_already_installed">맵이 이미 설치되어, 설정이 갱신될 것입니다</string>
|
||||||
<string name="select_tile_source_to_install">설치 또는 갱신할 (타일) 맵을 선택합니다</string>
|
<string name="select_tile_source_to_install">설치 또는 갱신할 (타일) 맵을 선택합니다</string>
|
||||||
<string name="internet_not_available">동작에 필요한 인터넷 연결이 되지 않습니다</string>
|
<string name="internet_not_available">동작에 필요한 인터넷 연결이 되지 않습니다</string>
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
<string name="test_voice_prompts">Test stem-instructies</string>
|
<string name="test_voice_prompts">Test stem-instructies</string>
|
||||||
<string name="switch_to_raster_map_to_see">Geen offline vectorkaart aanwezig voor deze locatie. Je kan deze downloaden via Instellingen (Offline gegevens), of overschakelen naar online kaarten.</string>
|
<string name="switch_to_raster_map_to_see">Geen offline vectorkaart aanwezig voor deze locatie. Je kan deze downloaden via Instellingen (Offline gegevens), of overschakelen naar online kaarten.</string>
|
||||||
<string name="tip_recent_changes_0_7_2_t">Wijzigingen in 0.7.2 :
|
<string name="tip_recent_changes_0_7_2_t">Wijzigingen in 0.7.2 :
|
||||||
\n\t- Interne kaartgeneratie voor alle apparaten
|
\n\t- Interne kaartgeneratie op alle apparaten
|
||||||
\n\t- Offline interessepunt-bewerking
|
\n\t- Offline interessepunt-bewerking
|
||||||
\n\t- Toegankelijkheidsopties
|
\n\t- Toegankelijkheidsopties
|
||||||
\n\t- Veel bugs opgelost
|
\n\t- Veel bugs opgelost
|
||||||
|
@ -135,10 +135,10 @@
|
||||||
<string name="index_name_europe">Europa</string>
|
<string name="index_name_europe">Europa</string>
|
||||||
<string name="index_name_france">Europa - Frankrijk</string>
|
<string name="index_name_france">Europa - Frankrijk</string>
|
||||||
<string name="index_name_germany">Europa - Duitsland</string>
|
<string name="index_name_germany">Europa - Duitsland</string>
|
||||||
<string name="index_name_russia">Europa/Azi렭 Rusland</string>
|
<string name="index_name_russia">Europa/Azië - Rusland</string>
|
||||||
<string name="index_name_africa">Afrika</string>
|
<string name="index_name_africa">Afrika</string>
|
||||||
<string name="index_name_asia">Azi뼯</string>
|
<string name="index_name_asia">Azië</string>
|
||||||
<string name="index_name_oceania">Oceani뼯</string>
|
<string name="index_name_oceania">Oceanië</string>
|
||||||
<string name="index_name_other">Wereldkaart en topografische kaart</string>
|
<string name="index_name_other">Wereldkaart en topografische kaart</string>
|
||||||
<string name="index_name_wiki">Wereldwijde Wikipedia</string>
|
<string name="index_name_wiki">Wereldwijde Wikipedia</string>
|
||||||
<string name="index_name_voice">Stembestanden (opnamen)</string>
|
<string name="index_name_voice">Stembestanden (opnamen)</string>
|
||||||
|
@ -150,10 +150,6 @@
|
||||||
<string name="profile_settings">Profielspecifieke instellingen</string>
|
<string name="profile_settings">Profielspecifieke instellingen</string>
|
||||||
<string name="settings_preset">Gebruiksprofiel</string>
|
<string name="settings_preset">Gebruiksprofiel</string>
|
||||||
<string name="settings_preset_descr">Selecteer een profiel. (Elke profielinstelling, kaart, tracking en navigatie kan hieronder ingesteld worden.)</string>
|
<string name="settings_preset_descr">Selecteer een profiel. (Elke profielinstelling, kaart, tracking en navigatie kan hieronder ingesteld worden.)</string>
|
||||||
<string name="rendering_settings">- Kaartconfiguratie</string>
|
|
||||||
<string name="rendering_settings_descr">Configureer kaarten en kaartbronnen</string>
|
|
||||||
<string name="appearance_settings">- Kaartpresentatie</string>
|
|
||||||
<string name="appearance_settings_descr">Configureer kaartpresentatie</string>
|
|
||||||
<string name="monitor_preferences">- Tracking</string>
|
<string name="monitor_preferences">- Tracking</string>
|
||||||
<string name="monitor_preferences_descr">Specifieke tracking-instellingen</string>
|
<string name="monitor_preferences_descr">Specifieke tracking-instellingen</string>
|
||||||
<string name="routing_settings">- Navigatie</string>
|
<string name="routing_settings">- Navigatie</string>
|
||||||
|
@ -190,7 +186,7 @@
|
||||||
<string name="tip_osm_improve">Verbeter OSM gegevens</string>
|
<string name="tip_osm_improve">Verbeter OSM gegevens</string>
|
||||||
<string name="tip_osm_improve_t">\tOsmAnd gebruikt kaarten, gebaseerd op Openstreetmap.org (OSM) gegevens en kan -behalve voor kaartweergave en navigatie- gebruikt worden om de kwaliteit van OSM gegevens te verbeteren. U kunt eenvoudig met een paar klikken interessepunten of OSM foutrapporten uploaden!
|
<string name="tip_osm_improve_t">\tOsmAnd gebruikt kaarten, gebaseerd op Openstreetmap.org (OSM) gegevens en kan -behalve voor kaartweergave en navigatie- gebruikt worden om de kwaliteit van OSM gegevens te verbeteren. U kunt eenvoudig met een paar klikken interessepunten of OSM foutrapporten uploaden!
|
||||||
\n\tHiervoor moet u eerst uw OSM login informatie opgeven bij \'Instellingen\' -> \'Algemene instellingen\' -> \'OSM\'.
|
\n\tHiervoor moet u eerst uw OSM login informatie opgeven bij \'Instellingen\' -> \'Algemene instellingen\' -> \'OSM\'.
|
||||||
\n\tOm een nieuw interessepunt toe te voegen, gebruik de optie \'Cre즲 interessepunt\' in het kaartcontextmenu. Vervolg met het ingeven van de informatie over het interessepunt bij \'Cre즲 interessepunt\' en sla deze wijziging op.
|
\n\tOm een nieuw interessepunt toe te voegen, gebruik de optie \'Creëer interessepunt\' in het kaartcontextmenu. Vervolg met het ingeven van de informatie over het interessepunt bij \'Creëer interessepunt\' en sla deze wijziging op.
|
||||||
\n\tFouten in de kaarten kunnen direct worden gerapporteerd via OSM bug, de OSM groep kan het probleem dan sneller oplossen.
|
\n\tFouten in de kaarten kunnen direct worden gerapporteerd via OSM bug, de OSM groep kan het probleem dan sneller oplossen.
|
||||||
\n\Om een fout te rapporteren, gebruik de optie \'Open OSM bug\' in het kaartcontextmenu. Geef daar een gedetailleerde beschrijving van het probleem en stuur het op met de \'Toevoegen\' knop.
|
\n\Om een fout te rapporteren, gebruik de optie \'Open OSM bug\' in het kaartcontextmenu. Geef daar een gedetailleerde beschrijving van het probleem en stuur het op met de \'Toevoegen\' knop.
|
||||||
\n\tEr is een Internetverbinding nodig voor het aanmelden van bugs en interessepunten.</string>
|
\n\tEr is een Internetverbinding nodig voor het aanmelden van bugs en interessepunten.</string>
|
||||||
|
@ -252,7 +248,7 @@
|
||||||
<string name="file_can_not_be_renamed">Bestandsnaam kan niet worden gewijzigd.</string>
|
<string name="file_can_not_be_renamed">Bestandsnaam kan niet worden gewijzigd.</string>
|
||||||
<string name="file_with_name_already_exists">Er bestaat al een bestand met die naam.</string>
|
<string name="file_with_name_already_exists">Er bestaat al een bestand met die naam.</string>
|
||||||
<string name="gpx_navigation">GPX route</string>
|
<string name="gpx_navigation">GPX route</string>
|
||||||
<string name="poi_query_by_name_matches_categories">Meerdere interessepunt categorie쮠gevonden in zoekaktie :</string>
|
<string name="poi_query_by_name_matches_categories">Meerdere interessepunt categorieën gevonden in zoekaktie :</string>
|
||||||
<string name="data_to_search_poi_not_available">Locale gegevens voor het zoeken van interessepunten is niet aanwezig.</string>
|
<string name="data_to_search_poi_not_available">Locale gegevens voor het zoeken van interessepunten is niet aanwezig.</string>
|
||||||
<string name="poi_filter_by_name">Zoek op naam</string>
|
<string name="poi_filter_by_name">Zoek op naam</string>
|
||||||
<string name="old_poi_file_should_be_deleted">Het interessepuntenbestand \'%1$s\' is redundant en kan worden verwijderd.</string>
|
<string name="old_poi_file_should_be_deleted">Het interessepuntenbestand \'%1$s\' is redundant en kan worden verwijderd.</string>
|
||||||
|
@ -361,9 +357,9 @@
|
||||||
<string name="installing_new_resources">Installeren nieuwe gegevens…</string>
|
<string name="installing_new_resources">Installeren nieuwe gegevens…</string>
|
||||||
<string name="internet_connection_required_for_online_route">Een online route-service is geselecteerd, maar er is geen internetverbinding beschikbaar.</string>
|
<string name="internet_connection_required_for_online_route">Een online route-service is geselecteerd, maar er is geen internetverbinding beschikbaar.</string>
|
||||||
<string name="tts_language_not_supported_title">Taal niet ondersteund</string>
|
<string name="tts_language_not_supported_title">Taal niet ondersteund</string>
|
||||||
<string name="tts_language_not_supported">De geselecteerde taal is niet ondersteund door de ge௳talleerde Android stemgenerator. Wilt u een andere stemgenerator zoeken in de Market? Anders wordt de huidige stemgenerator gebruikt.</string>
|
<string name="tts_language_not_supported">De geselecteerde taal is niet ondersteund door de geïnstalleerde Android stemgenerator. Wilt u een andere stemgenerator zoeken in de Market? Anders wordt de huidige stemgenerator gebruikt.</string>
|
||||||
<string name="tts_missing_language_data_title">Ontbrekende gegevens</string>
|
<string name="tts_missing_language_data_title">Ontbrekende gegevens</string>
|
||||||
<string name="tts_missing_language_data">Geen gegevens voor de geselecteerde taal ge௳talleerd. Wilt u naar de Market gaan om deze te installeren?</string>
|
<string name="tts_missing_language_data">Geen gegevens voor de geselecteerde taal geïnstalleerd. Wilt u naar de Market gaan om deze te installeren?</string>
|
||||||
<string name="gpx_option_reverse_route">Keer GPX richting om</string>
|
<string name="gpx_option_reverse_route">Keer GPX richting om</string>
|
||||||
<string name="gpx_option_destination_point">Gebruik huidige bestemming</string>
|
<string name="gpx_option_destination_point">Gebruik huidige bestemming</string>
|
||||||
<string name="gpx_option_from_start_point">Toon het gehele spoor</string>
|
<string name="gpx_option_from_start_point">Toon het gehele spoor</string>
|
||||||
|
@ -386,9 +382,7 @@
|
||||||
<string name="default_none">Geen</string>
|
<string name="default_none">Geen</string>
|
||||||
<string name="map_overlay">Overlay kaart</string>
|
<string name="map_overlay">Overlay kaart</string>
|
||||||
<string name="map_overlay_descr">Selecteer overlay kaart</string>
|
<string name="map_overlay_descr">Selecteer overlay kaart</string>
|
||||||
<string name="map_vector_data">Offline vectorkaarten</string>
|
<string name="tile_source_already_installed">Kaart is al geïnstalleerd, instellingen worden geactualiseerd</string>
|
||||||
<string name="map_vector_data_descr">Gebruik downloaded vectorkaarten</string>
|
|
||||||
<string name="tile_source_already_installed">Kaart is al ge௳talleerd, instellingen worden geactualiseerd</string>
|
|
||||||
<string name="select_tile_source_to_install">Selecteer (kaartsegment) kaarten om te installeren of te actualiseren</string>
|
<string name="select_tile_source_to_install">Selecteer (kaartsegment) kaarten om te installeren of te actualiseren</string>
|
||||||
<string name="internet_not_available">De benodigde Internetverbinding voor deze actie is niet beschikbaar</string>
|
<string name="internet_not_available">De benodigde Internetverbinding voor deze actie is niet beschikbaar</string>
|
||||||
<string name="install_more">Installeer meer…</string>
|
<string name="install_more">Installeer meer…</string>
|
||||||
|
@ -398,8 +392,8 @@
|
||||||
\n\tDe beschikbaarheid van updates wordt weergegeven in de volgende kleuren:
|
\n\tDe beschikbaarheid van updates wordt weergegeven in de volgende kleuren:
|
||||||
\n\t\'Groen\' - De gegevens op uw apparaat en op de server zijn identiek
|
\n\t\'Groen\' - De gegevens op uw apparaat en op de server zijn identiek
|
||||||
\n\t\'Blauw\' - Er is een update beschikbaar op de server
|
\n\t\'Blauw\' - Er is een update beschikbaar op de server
|
||||||
\n\t\'Donker Groen\' - gedeactiveerde kaart: is up to date
|
\n\t\'Donker Groen\' - gedeactiveerde kaart, deze is up-to-date
|
||||||
\n\t\'Donker Blauw\' - gedeactiveerde kaart: Er is een update beschikbaar
|
\n\t\'Donker Blauw\' - gedeactiveerde kaart, er is een update beschikbaar
|
||||||
</string>
|
</string>
|
||||||
<string name="level_to_switch_vector_raster_descr">Minimum zoomniveau om vectorkaarten inplaats van (raster)kaartsegmenten te gebruiken.</string>
|
<string name="level_to_switch_vector_raster_descr">Minimum zoomniveau om vectorkaarten inplaats van (raster)kaartsegmenten te gebruiken.</string>
|
||||||
<string name="level_to_switch_vector_raster">Min. vector zoomniveau</string>
|
<string name="level_to_switch_vector_raster">Min. vector zoomniveau</string>
|
||||||
|
@ -407,7 +401,7 @@
|
||||||
<string name="tip_location_sharing_t">\tU kunt de locatie van interessepunten op uw tocht delen met familie of vrienden.
|
<string name="tip_location_sharing_t">\tU kunt de locatie van interessepunten op uw tocht delen met familie of vrienden.
|
||||||
\n\tOm een locatie te delen:
|
\n\tOm een locatie te delen:
|
||||||
\n\tGebruik het \'Kaart contextmenu\' -> \'Deel locatie\' menu.
|
\n\tGebruik het \'Kaart contextmenu\' -> \'Deel locatie\' menu.
|
||||||
\n\tSelecteer dan de methode van delen van uw locatie. De opties zijn: E-Mail, SMS(tekst), of kopieer de locatieco<EFBFBD><EFBFBD>naten naar het prikbord.</string>
|
\n\tSelecteer dan de methode van delen van uw locatie. De opties zijn: E-Mail, SMS(tekst), of kopieer de locatiecoördinaten naar het prikbord.</string>
|
||||||
<string name="tip_favorites">Favorieten</string>
|
<string name="tip_favorites">Favorieten</string>
|
||||||
<string name="tip_favorites_t">\tVaak gebruikte punten kunnen worden bewaard als Favorieten.
|
<string name="tip_favorites_t">\tVaak gebruikte punten kunnen worden bewaard als Favorieten.
|
||||||
\n\tOm een punt als Favoriet te bewaren, ga naar het kaartcontextmenu, selecteer de optie \'Voeg toe aan favorieten\' en geef het dan een naam. Nadat het bewaard is, is het te toegankelijk via \'Hoofdmenu\' -> \'Favorieten\'.
|
\n\tOm een punt als Favoriet te bewaren, ga naar het kaartcontextmenu, selecteer de optie \'Voeg toe aan favorieten\' en geef het dan een naam. Nadat het bewaard is, is het te toegankelijk via \'Hoofdmenu\' -> \'Favorieten\'.
|
||||||
|
@ -426,7 +420,7 @@
|
||||||
\n\tOsmAnd ondersteunt ook eigen kaartbronnen.</string>
|
\n\tOsmAnd ondersteunt ook eigen kaartbronnen.</string>
|
||||||
<string name="tip_app_mode">Gebruikersprofiel</string>
|
<string name="tip_app_mode">Gebruikersprofiel</string>
|
||||||
<string name="tip_app_mode_t">\tOsmAnd ondersteunt verschillende (aanpasbare) programmaprofielen voor verschillende toepassingen.
|
<string name="tip_app_mode_t">\tOsmAnd ondersteunt verschillende (aanpasbare) programmaprofielen voor verschillende toepassingen.
|
||||||
\n\tU kunt profielen wijzigen in \'Menu\' -> \'Instellingen\' -> \'Gebruikersprofiel\', of bij het cre쳥n van een route.</string>
|
\n\tU kunt profielen wijzigen in \'Menu\' -> \'Instellingen\' -> \'Gebruikersprofiel\', of bij het creëren van een route.</string>
|
||||||
<string name="tip_navigation">Navigatie</string>
|
<string name="tip_navigation">Navigatie</string>
|
||||||
<string name="tip_navigation_t">\tVoordat u een navigatie start (routing), moet u eerst een bestemming kiezen. Druk daarna op \'Menu\' -> \'Navigeer\' op de kaart en selecteer het type navigatie.</string>
|
<string name="tip_navigation_t">\tVoordat u een navigatie start (routing), moet u eerst een bestemming kiezen. Druk daarna op \'Menu\' -> \'Navigeer\' op de kaart en selecteer het type navigatie.</string>
|
||||||
<string name="tip_search">Zoeken</string>
|
<string name="tip_search">Zoeken</string>
|
||||||
|
@ -434,7 +428,7 @@
|
||||||
\n\tDoor in het hoofdmenu op \'Zoeken\' te drukken, worden de zoekacties geopend. Voor elk gevonden resultaat, biedt het contextmenu 2 opties: \'Selecteer als bestemming\' of \'Toon op kaart\'.</string>
|
\n\tDoor in het hoofdmenu op \'Zoeken\' te drukken, worden de zoekacties geopend. Voor elk gevonden resultaat, biedt het contextmenu 2 opties: \'Selecteer als bestemming\' of \'Toon op kaart\'.</string>
|
||||||
<string name="tip_map_context_menu">Kaart-ContextMenu</string>
|
<string name="tip_map_context_menu">Kaart-ContextMenu</string>
|
||||||
<string name="tip_map_context_menu_t">\tHet kaart-contextmenu is beschikbaar door een lange druk op de kaart of door op de trackball knop te drukken.
|
<string name="tip_map_context_menu_t">\tHet kaart-contextmenu is beschikbaar door een lange druk op de kaart of door op de trackball knop te drukken.
|
||||||
\n\tDit toont een venster met de puntco<EFBFBD><EFBFBD>naten. Om de kaart-contextmenu dialoog te openen, druk er op. (Een lange druk verbergt het venster weer)
|
\n\tDit toont een venster met de puntcoördinaten. Om de kaart-contextmenu dialoog te openen, druk er op. (Een lange druk verbergt het venster weer)
|
||||||
\n\tHet kaart-contextmenu bevat alle acties met betrekking tot een punt (locatie).</string>
|
\n\tHet kaart-contextmenu bevat alle acties met betrekking tot een punt (locatie).</string>
|
||||||
<string name="tip_initial">Tips and Trucs</string>
|
<string name="tip_initial">Tips and Trucs</string>
|
||||||
<string name="tip_initial_t">\tOsmAnd is a navigatieprogramma met vele features.
|
<string name="tip_initial_t">\tOsmAnd is a navigatieprogramma met vele features.
|
||||||
|
@ -479,10 +473,10 @@
|
||||||
<string name="amenity_type_sustenance">Horeca</string>
|
<string name="amenity_type_sustenance">Horeca</string>
|
||||||
<string name="amenity_type_tourism">Toerisme</string>
|
<string name="amenity_type_tourism">Toerisme</string>
|
||||||
<string name="amenity_type_transportation">Vervoer</string>
|
<string name="amenity_type_transportation">Vervoer</string>
|
||||||
<string name="indexing_address">adres wordt geexeerd…</string>
|
<string name="indexing_address">adres wordt geïndexeerd…</string>
|
||||||
<string name="indexing_map">kaart wordt geexeerd…</string>
|
<string name="indexing_map">kaart wordt geïndexeerd…</string>
|
||||||
<string name="indexing_poi">interessepunt wordt geexeerd…</string>
|
<string name="indexing_poi">interessepunt wordt geïndexeerd…</string>
|
||||||
<string name="indexing_transport">vervoer wordt geexeerd…</string>
|
<string name="indexing_transport">vervoer wordt geïndexeerd…</string>
|
||||||
<string name="input_output_error">datatransportfout opgetreden</string>
|
<string name="input_output_error">datatransportfout opgetreden</string>
|
||||||
<string name="km">km</string>
|
<string name="km">km</string>
|
||||||
<string name="km_h">km/u</string>
|
<string name="km_h">km/u</string>
|
||||||
|
@ -504,15 +498,15 @@
|
||||||
<string name="specified_dir_doesnt_exist">Kan de opgegeven directory niet vinden.</string>
|
<string name="specified_dir_doesnt_exist">Kan de opgegeven directory niet vinden.</string>
|
||||||
<string name="application_dir">Opslagdirectory</string>
|
<string name="application_dir">Opslagdirectory</string>
|
||||||
<string name="application_dir_change_warning">Wijziging van de opslagdirectory verplaatst of verwijdert de gegevens niet. Dit moet u afzonderlijk en buiten OsmAnd doen. Toch doorgaan?</string>
|
<string name="application_dir_change_warning">Wijziging van de opslagdirectory verplaatst of verwijdert de gegevens niet. Dit moet u afzonderlijk en buiten OsmAnd doen. Toch doorgaan?</string>
|
||||||
<string name="osmand_net_previously_installed">Een oudere OsmAnd versie is al ge௳talleerd. Alle offline gegevens worden ondersteund door het nieuwe programma, maar Favorieten moeten worden ge칰orteerd in het oude programma en later worden geரorteerd door het nieuwe.</string>
|
<string name="osmand_net_previously_installed">Een oudere OsmAnd versie is al geïnstalleerd. Alle offline gegevens worden ondersteund door het nieuwe programma, maar Favorieten moeten worden geëxporteerd in het oude programma en later worden geïmporteerd door het nieuwe.</string>
|
||||||
<string name="build_installed">Versie {0} succesvol ge௳talleerd ({1}).</string>
|
<string name="build_installed">Versie {0} succesvol geïnstalleerd ({1}).</string>
|
||||||
<string name="downloading_build">Downloading versie…</string>
|
<string name="downloading_build">Downloading versie…</string>
|
||||||
<string name="install_selected_build">Doorgaan met de installatie van OsmAnd - {0} van {1} {2} MB ?</string>
|
<string name="install_selected_build">Doorgaan met de installatie van OsmAnd - {0} van {1} {2} MB ?</string>
|
||||||
<string name="loading_builds_failed">Het ophalen van de lijst van OsmAndversies is mislukt</string>
|
<string name="loading_builds_failed">Het ophalen van de lijst van OsmAndversies is mislukt</string>
|
||||||
<string name="loading_builds">OsmAnd versies… worden geladen</string>
|
<string name="loading_builds">OsmAnd versies… worden geladen</string>
|
||||||
<string name="select_build_to_install">Selecteer een van de OsmAnd versies om te installeren</string>
|
<string name="select_build_to_install">Selecteer een van de OsmAnd versies om te installeren</string>
|
||||||
<string name="contribution_activity">Speciale actie voor contributie-versies</string>
|
<string name="contribution_activity">Speciale actie voor contributie-versies</string>
|
||||||
<string name="gps_status_app_not_found">GPS Status programma niet ge௳talleerd. Zoeken in Market?</string>
|
<string name="gps_status_app_not_found">GPS Status programma niet geïnstalleerd. Zoeken in Market?</string>
|
||||||
<string name="voice_is_not_available_msg">Stem-begeleiding is niet aanwezig. Ga naar instellingen, selecteer een stem-gegevens pakket, en download deze.</string>
|
<string name="voice_is_not_available_msg">Stem-begeleiding is niet aanwezig. Ga naar instellingen, selecteer een stem-gegevens pakket, en download deze.</string>
|
||||||
<string name="voice_is_not_available_title">Geen stem-begeleiding geselecteerd</string>
|
<string name="voice_is_not_available_title">Geen stem-begeleiding geselecteerd</string>
|
||||||
<string name="daynight_mode_day">Dag</string>
|
<string name="daynight_mode_day">Dag</string>
|
||||||
|
@ -574,7 +568,7 @@
|
||||||
<string name="rotate_map_to_bearing_descr">Selecteer hoe de kaart roteert</string>
|
<string name="rotate_map_to_bearing_descr">Selecteer hoe de kaart roteert</string>
|
||||||
<string name="rotate_map_to_bearing">Kaartrotatie</string>
|
<string name="rotate_map_to_bearing">Kaartrotatie</string>
|
||||||
<string name="show_route">Route-details</string>
|
<string name="show_route">Route-details</string>
|
||||||
<string name="fav_imported_sucessfully">Favorieten succesvol geரorteerd</string>
|
<string name="fav_imported_sucessfully">Favorieten succesvol geïmporteerd</string>
|
||||||
<string name="fav_file_to_load_not_found">GPX bestand met favorieten niet gevonden op {0}</string>
|
<string name="fav_file_to_load_not_found">GPX bestand met favorieten niet gevonden op {0}</string>
|
||||||
<string name="fav_saved_sucessfully">Favorieten succesvol opgeslagen in {0}</string>
|
<string name="fav_saved_sucessfully">Favorieten succesvol opgeslagen in {0}</string>
|
||||||
<string name="no_fav_to_save">Geen favorieten om op te slaan</string>
|
<string name="no_fav_to_save">Geen favorieten om op te slaan</string>
|
||||||
|
@ -595,7 +589,7 @@
|
||||||
<string name="layer_poi">interessepunt…</string>
|
<string name="layer_poi">interessepunt…</string>
|
||||||
<string name="layer_map">Kaartbron…</string>
|
<string name="layer_map">Kaartbron…</string>
|
||||||
<string name="menu_layers">Definieer beeld</string>
|
<string name="menu_layers">Definieer beeld</string>
|
||||||
<string name="continue_follow_previous_route">Vorige route was niet be쪮digd. Doorgaan met die route?</string>
|
<string name="continue_follow_previous_route">Vorige route was niet beëindigd. Doorgaan met die route?</string>
|
||||||
<string name="context_menu_item_search_poi">Zoek interessepunt</string>
|
<string name="context_menu_item_search_poi">Zoek interessepunt</string>
|
||||||
<string name="context_menu_item_show_route">Toon route vanaf hier</string>
|
<string name="context_menu_item_show_route">Toon route vanaf hier</string>
|
||||||
<string name="use_trackball_descr">Gebruik trackball om de kaart te verschuiven</string>
|
<string name="use_trackball_descr">Gebruik trackball om de kaart te verschuiven</string>
|
||||||
|
@ -648,7 +642,7 @@
|
||||||
<string name="map_orientation_default">Zelfde als apparaat-instelling</string>
|
<string name="map_orientation_default">Zelfde als apparaat-instelling</string>
|
||||||
<string name="map_orientation_portrait">Staand</string>
|
<string name="map_orientation_portrait">Staand</string>
|
||||||
<string name="map_orientation_landscape">Liggend</string>
|
<string name="map_orientation_landscape">Liggend</string>
|
||||||
<string name="map_screen_orientation">Kaartscherm-ori쯴atie</string>
|
<string name="map_screen_orientation">Kaartscherm-oriëntatie</string>
|
||||||
<string name="map_screen_orientation_descr">Selecteer scherm-orientation</string>
|
<string name="map_screen_orientation_descr">Selecteer scherm-orientation</string>
|
||||||
<string name="opening_hours_not_supported">Openingtijden-formaat kan niet gewijzigd worden</string>
|
<string name="opening_hours_not_supported">Openingtijden-formaat kan niet gewijzigd worden</string>
|
||||||
<string name="add_new_rule">Voeg nieuwe regel toe</string>
|
<string name="add_new_rule">Voeg nieuwe regel toe</string>
|
||||||
|
@ -737,7 +731,7 @@
|
||||||
<string name="empty_route_calculated">Fout: berekende route is leeg</string>
|
<string name="empty_route_calculated">Fout: berekende route is leeg</string>
|
||||||
<string name="new_route_calculated_dist">Nieuwe route berekend, afstand</string>
|
<string name="new_route_calculated_dist">Nieuwe route berekend, afstand</string>
|
||||||
<string name="arrived_at_destination">U bent aangekomen op uw bestemming</string>
|
<string name="arrived_at_destination">U bent aangekomen op uw bestemming</string>
|
||||||
<string name="invalid_locations">Co<EFBFBD><EFBFBD>naten zijn ongeldig!</string>
|
<string name="invalid_locations">Coördinaten zijn ongeldig!</string>
|
||||||
<string name="go_back_to_osmand">Ga terug naar de OsmAnd kaart</string>
|
<string name="go_back_to_osmand">Ga terug naar de OsmAnd kaart</string>
|
||||||
<string name="close">Sluiten</string>
|
<string name="close">Sluiten</string>
|
||||||
<string name="loading_data">Gegevens worden geladen…</string>
|
<string name="loading_data">Gegevens worden geladen…</string>
|
||||||
|
@ -800,7 +794,7 @@
|
||||||
<string name="show_location">Toon locatie</string>
|
<string name="show_location">Toon locatie</string>
|
||||||
<string name="map_preferences">Kaart</string>
|
<string name="map_preferences">Kaart</string>
|
||||||
<string name="settings_activity">Instellingen</string>
|
<string name="settings_activity">Instellingen</string>
|
||||||
<string name="show_gps_coordinates_text">Toon GPS co<EFBFBD><EFBFBD>naten op kaart</string>
|
<string name="show_gps_coordinates_text">Toon GPS coördinaten op kaart</string>
|
||||||
<string name="use_internet_to_download_tile">Gebruik het Internet om ontbrekende kaartsegmenten te downloaden</string>
|
<string name="use_internet_to_download_tile">Gebruik het Internet om ontbrekende kaartsegmenten te downloaden</string>
|
||||||
<string name="app_description">Navigatieprogramma</string>
|
<string name="app_description">Navigatieprogramma</string>
|
||||||
<string name="exit_Button">Afsluiten</string>
|
<string name="exit_Button">Afsluiten</string>
|
||||||
|
@ -843,7 +837,7 @@
|
||||||
<string name="context_menu_item_add_favorite">Voeg toe aan favorieten</string>
|
<string name="context_menu_item_add_favorite">Voeg toe aan favorieten</string>
|
||||||
<string name="context_menu_item_update_map">Actualiseer kaart</string>
|
<string name="context_menu_item_update_map">Actualiseer kaart</string>
|
||||||
<string name="context_menu_item_open_bug">Open OSM bug</string>
|
<string name="context_menu_item_open_bug">Open OSM bug</string>
|
||||||
<string name="context_menu_item_create_poi">Cre즲 interessepunt</string>
|
<string name="context_menu_item_create_poi">Creëer interessepunt</string>
|
||||||
<string name="default_buttons_yes">Ja</string>
|
<string name="default_buttons_yes">Ja</string>
|
||||||
<string name="default_buttons_cancel">Annuleer</string>
|
<string name="default_buttons_cancel">Annuleer</string>
|
||||||
<string name="default_buttons_apply">Toepassen</string>
|
<string name="default_buttons_apply">Toepassen</string>
|
||||||
|
@ -873,7 +867,7 @@
|
||||||
<string name="osb_close_dialog_success">Bug is afgesloten</string>
|
<string name="osb_close_dialog_success">Bug is afgesloten</string>
|
||||||
<string name="osb_close_dialog_error">Fout opgetreden: bug is niet afgesloten</string>
|
<string name="osb_close_dialog_error">Fout opgetreden: bug is niet afgesloten</string>
|
||||||
<string name="poi_edit_title">Bewerk interessepunt</string>
|
<string name="poi_edit_title">Bewerk interessepunt</string>
|
||||||
<string name="poi_create_title">Cre즲 interessepunt</string>
|
<string name="poi_create_title">Creëer interessepunt</string>
|
||||||
<string name="poi_error_poi_not_found">Punt niet gevonden of voorziening is niet een enkel punt</string>
|
<string name="poi_error_poi_not_found">Punt niet gevonden of voorziening is niet een enkel punt</string>
|
||||||
<string name="poi_remove_confirm_template">Verwijderen {0} (geef commentaar)?</string>
|
<string name="poi_remove_confirm_template">Verwijderen {0} (geef commentaar)?</string>
|
||||||
<string name="poi_remove_title">Verwijder interessepunt</string>
|
<string name="poi_remove_title">Verwijder interessepunt</string>
|
||||||
|
|
|
@ -18,8 +18,6 @@
|
||||||
<string name="show_altitude_info">Pokaż wysokość</string>
|
<string name="show_altitude_info">Pokaż wysokość</string>
|
||||||
<string name="use_transparent_map_theme_descr">Użyj przezroczystych kontrolek mapy</string>
|
<string name="use_transparent_map_theme_descr">Użyj przezroczystych kontrolek mapy</string>
|
||||||
<string name="use_transparent_map_theme">Przezroczysty styl</string>
|
<string name="use_transparent_map_theme">Przezroczysty styl</string>
|
||||||
<string name="appearance_settings_descr">Konfiguruj wygląd aplikacji</string>
|
|
||||||
<string name="appearance_settings">- Wygląd</string>
|
|
||||||
<string name="native_library_not_supported">Biblioteka renderowania natywnego nie jest obsługiwana na tym urządzeniu.</string>
|
<string name="native_library_not_supported">Biblioteka renderowania natywnego nie jest obsługiwana na tym urządzeniu.</string>
|
||||||
<string name="init_native_library">Inicjalizacja biblioteki renderowania natywnego…</string>
|
<string name="init_native_library">Inicjalizacja biblioteki renderowania natywnego…</string>
|
||||||
|
|
||||||
|
@ -203,8 +201,6 @@
|
||||||
<string name="default_none">Brak</string>
|
<string name="default_none">Brak</string>
|
||||||
<string name="map_overlay">Nakładka</string>
|
<string name="map_overlay">Nakładka</string>
|
||||||
<string name="map_overlay_descr">Wybierz nakładkę (overlay)</string>
|
<string name="map_overlay_descr">Wybierz nakładkę (overlay)</string>
|
||||||
<string name="map_vector_data">Wektorowe mapy offline</string>
|
|
||||||
<string name="map_vector_data_descr">Użyj pobranych map wektorowych</string>
|
|
||||||
<string name="tile_source_already_installed">Mapa jest już zainstalowana, ustawienia zostaną zaktualizowane</string>
|
<string name="tile_source_already_installed">Mapa jest już zainstalowana, ustawienia zostaną zaktualizowane</string>
|
||||||
<string name="select_tile_source_to_install">Zaznacz mapy (kafelkowe) do zainstalowania lub zaktualizowania</string>
|
<string name="select_tile_source_to_install">Zaznacz mapy (kafelkowe) do zainstalowania lub zaktualizowania</string>
|
||||||
<string name="internet_not_available">Połączenie internetowe, wymagane dla tej operacji, jest niedostępne</string>
|
<string name="internet_not_available">Połączenie internetowe, wymagane dla tej operacji, jest niedostępne</string>
|
||||||
|
@ -370,8 +366,6 @@
|
||||||
|
|
||||||
<string name="general_settings_descr">Skonfiguruj użycie Internetu, opcje wyświetlania i inne</string>
|
<string name="general_settings_descr">Skonfiguruj użycie Internetu, opcje wyświetlania i inne</string>
|
||||||
<string name="general_settings">Ustawienia główne</string>
|
<string name="general_settings">Ustawienia główne</string>
|
||||||
<string name="rendering_settings_descr">Skonfiguruj źródło mapy i wygląd</string>
|
|
||||||
<string name="rendering_settings">- Mapy</string>
|
|
||||||
<string name="index_settings_descr">Pobierz/zarządzaj mapami i danymi offline</string>
|
<string name="index_settings_descr">Pobierz/zarządzaj mapami i danymi offline</string>
|
||||||
<string name="index_settings">Dane offline</string>
|
<string name="index_settings">Dane offline</string>
|
||||||
<string name="osmand_service">Usługa w tle</string>
|
<string name="osmand_service">Usługa w tle</string>
|
||||||
|
|
|
@ -59,8 +59,6 @@
|
||||||
<string name="reload">Atualizar</string>
|
<string name="reload">Atualizar</string>
|
||||||
<string name="general_settings_descr">Configurar o uso da Internet, opções de visualização, e mais</string>
|
<string name="general_settings_descr">Configurar o uso da Internet, opções de visualização, e mais</string>
|
||||||
<string name="general_settings">Configurações Gerais</string>
|
<string name="general_settings">Configurações Gerais</string>
|
||||||
<string name="rendering_settings_descr">Configurar a origem do mapa e sua aparência</string>
|
|
||||||
<string name="rendering_settings">- Mapas</string>
|
|
||||||
<string name="index_settings_descr">Obter ou atualizar dados para uso offline</string>
|
<string name="index_settings_descr">Obter ou atualizar dados para uso offline</string>
|
||||||
<string name="index_settings">Dados offline</string>
|
<string name="index_settings">Dados offline</string>
|
||||||
<string name="osmand_service">Serviço de segundo plano</string>
|
<string name="osmand_service">Serviço de segundo plano</string>
|
||||||
|
|
|
@ -108,8 +108,7 @@
|
||||||
<string name="show_altitude_info">Показывать высоты</string>
|
<string name="show_altitude_info">Показывать высоты</string>
|
||||||
<string name="use_transparent_map_theme_descr">Использовать прозрачные информационные элементы на карте</string>
|
<string name="use_transparent_map_theme_descr">Использовать прозрачные информационные элементы на карте</string>
|
||||||
<string name="use_transparent_map_theme">Прозрачная тема</string>
|
<string name="use_transparent_map_theme">Прозрачная тема</string>
|
||||||
<string name="appearance_settings_descr">Настроить внешний вид карты</string>
|
|
||||||
<string name="appearance_settings">- Внешний вид</string>
|
|
||||||
<string name="native_library_not_supported">Нативная библиотека не поддерживается на этом устройстве.</string>
|
<string name="native_library_not_supported">Нативная библиотека не поддерживается на этом устройстве.</string>
|
||||||
<string name="init_native_library">Инициализация нативной библиотеки…</string>
|
<string name="init_native_library">Инициализация нативной библиотеки…</string>
|
||||||
<string name="choose_auto_follow_route">Настройки автовозрата карты</string>
|
<string name="choose_auto_follow_route">Настройки автовозрата карты</string>
|
||||||
|
@ -273,8 +272,6 @@
|
||||||
<string name="default_none">Нет</string>
|
<string name="default_none">Нет</string>
|
||||||
<string name="map_overlay">Карта покрытия</string>
|
<string name="map_overlay">Карта покрытия</string>
|
||||||
<string name="map_overlay_descr">Выберите слой для покрытия основной карты</string>
|
<string name="map_overlay_descr">Выберите слой для покрытия основной карты</string>
|
||||||
<string name="map_vector_data">Векторные карты</string>
|
|
||||||
<string name="map_vector_data_descr">Использовать загруженные векторные карты</string>
|
|
||||||
<string name="tile_source_already_installed">Карта уже установлена, настройки будут обновлены</string>
|
<string name="tile_source_already_installed">Карта уже установлена, настройки будут обновлены</string>
|
||||||
<string name="select_tile_source_to_install">Выберите карты для установки или обновления</string>
|
<string name="select_tile_source_to_install">Выберите карты для установки или обновления</string>
|
||||||
<string name="internet_not_available">Интернет соединение не доступно</string>
|
<string name="internet_not_available">Интернет соединение не доступно</string>
|
||||||
|
@ -409,9 +406,7 @@
|
||||||
<string name="reload">Перезагрузить</string>
|
<string name="reload">Перезагрузить</string>
|
||||||
<string name="general_settings_descr">Настроить использование интернета, выбрать ориентацию экрана, вращение карты и другое</string>
|
<string name="general_settings_descr">Настроить использование интернета, выбрать ориентацию экрана, вращение карты и другое</string>
|
||||||
<string name="general_settings">Общие</string>
|
<string name="general_settings">Общие</string>
|
||||||
<string name="rendering_settings_descr">Выбрать источник карты и конфигурацию</string>
|
<string name="index_settings_descr">Загрузить и обновить данные для офлайн использования</string>
|
||||||
<string name="rendering_settings">- Настройка карты</string>
|
|
||||||
<string name="index_settings_descr">Загрузить и обновить данные для офлайн использования</string>
|
|
||||||
<string name="index_settings">Данные</string>
|
<string name="index_settings">Данные</string>
|
||||||
<string name="osmand_service">Фоновый режим</string>
|
<string name="osmand_service">Фоновый режим</string>
|
||||||
<string name="osmand_service_descr">Запустить OsmAnd в фоновом режиме для записи трека и навигации</string>
|
<string name="osmand_service_descr">Запустить OsmAnd в фоновом режиме для записи трека и навигации</string>
|
||||||
|
|
|
@ -1,5 +1,16 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
<resources>
|
<resources>
|
||||||
|
<string name="plugins_screen">Zásuvné moduly</string>
|
||||||
|
<string name="select_plugin_to_activate">Ťuknutím na zásuvný modul ho aktivujete. Pre aplikovanie zmien je vyžadovaný reštart aplikácie.</string>
|
||||||
|
<string name="prefs_plugins_descr">Zás. moduly povoľujú extra funkcie vstavané do aplikácie ako stopovanie, mapové dlaždice, funkcie šetrenia batérie, prístupnosť a mnoho iného.</string>
|
||||||
|
<string name="prefs_plugins">Zásuvné moduly</string>
|
||||||
|
<string name="tip_recent_changes_0_8_0_t">Zmeny v 0.8.0 :
|
||||||
|
\n\t- Funkcia zásuvných modulov
|
||||||
|
\n\t- Podpora nových offline mapových dát
|
||||||
|
\n\t- Mnoho opravených chýb
|
||||||
|
</string>
|
||||||
|
<string name="osm_editing_plugin_description">Tento zás. modul je zameraný na zlepšovanie OSM kvality. Umožňuje zbierať/upravovať OSM POI objekty, otvoriť/komentovať OSM chyby a odosielať zaznamenané GPX (vyžaduje OSM prihlásenie).</string>
|
||||||
|
<string name="osm_editing_plugin_name">Osm upravovanie</string>
|
||||||
<string name="vector_maps_may_display_faster_on_some_devices">Vektorové mapy môžu byť zobrazované rýchlejšie. Nemusí správne fungovať na niektorých zariadeniach.</string>
|
<string name="vector_maps_may_display_faster_on_some_devices">Vektorové mapy môžu byť zobrazované rýchlejšie. Nemusí správne fungovať na niektorých zariadeniach.</string>
|
||||||
<string name="simulate_route_progression_manually">Ručné simulovanie priebehu cesty</string>
|
<string name="simulate_route_progression_manually">Ručné simulovanie priebehu cesty</string>
|
||||||
<string name="play_commands_of_currently_selected_voice">Prehranie povelov pre aktuálne zvolený hlas</string>
|
<string name="play_commands_of_currently_selected_voice">Prehranie povelov pre aktuálne zvolený hlas</string>
|
||||||
|
@ -178,8 +189,7 @@
|
||||||
<string name="use_transparent_map_theme_descr">Použije priehľadné ovládače mapy</string>
|
<string name="use_transparent_map_theme_descr">Použije priehľadné ovládače mapy</string>
|
||||||
<string name="use_transparent_map_theme">Priehľadná téma</string>
|
<string name="use_transparent_map_theme">Priehľadná téma</string>
|
||||||
|
|
||||||
<string name="appearance_settings_descr">Konfiguruje mapové zobrazenie</string>
|
|
||||||
<string name="appearance_settings">- Vzhľad mapy</string>
|
|
||||||
<string name="native_library_not_supported">Natívna knižnica nie je podporovaná na tomto zariadení.</string>
|
<string name="native_library_not_supported">Natívna knižnica nie je podporovaná na tomto zariadení.</string>
|
||||||
<string name="init_native_library">Inicializácia natívnej knižnice…</string>
|
<string name="init_native_library">Inicializácia natívnej knižnice…</string>
|
||||||
<string name="choose_auto_follow_route">Automatické nasledovanie</string>
|
<string name="choose_auto_follow_route">Automatické nasledovanie</string>
|
||||||
|
@ -361,8 +371,6 @@
|
||||||
<string name="default_none">Žiadna</string>
|
<string name="default_none">Žiadna</string>
|
||||||
<string name="map_overlay">Prekrývacia mapa</string>
|
<string name="map_overlay">Prekrývacia mapa</string>
|
||||||
<string name="map_overlay_descr">Výber mapy na prekrytie</string>
|
<string name="map_overlay_descr">Výber mapy na prekrytie</string>
|
||||||
<string name="map_vector_data">Offline vektorové mapy</string>
|
|
||||||
<string name="map_vector_data_descr">Použitie stiahnutých vektorových máp</string>
|
|
||||||
<string name="tile_source_already_installed">Mapa je už nainštalovaná, nastavenia budú zaktualizované</string>
|
<string name="tile_source_already_installed">Mapa je už nainštalovaná, nastavenia budú zaktualizované</string>
|
||||||
<string name="select_tile_source_to_install">Vyberte mapy na inštaláciu alebo aktualizáciu</string>
|
<string name="select_tile_source_to_install">Vyberte mapy na inštaláciu alebo aktualizáciu</string>
|
||||||
<string name="internet_not_available">Internetové pripojenie potrebné pre operáciu nie je dostupné</string>
|
<string name="internet_not_available">Internetové pripojenie potrebné pre operáciu nie je dostupné</string>
|
||||||
|
@ -525,8 +533,6 @@
|
||||||
|
|
||||||
<string name="general_settings_descr">Konfigurácia zobrazenia a iných globálnych nastavení</string>
|
<string name="general_settings_descr">Konfigurácia zobrazenia a iných globálnych nastavení</string>
|
||||||
<string name="general_settings">Všeobecné nastavenia</string>
|
<string name="general_settings">Všeobecné nastavenia</string>
|
||||||
<string name="rendering_settings_descr">Konfigurácia mapy a mapových zdrojov</string>
|
|
||||||
<string name="rendering_settings">- Konfigurácia mapy</string>
|
|
||||||
<string name="index_settings_descr">Stiahnutie a správa offline máp a iných údajov ako sú GPX stopy</string>
|
<string name="index_settings_descr">Stiahnutie a správa offline máp a iných údajov ako sú GPX stopy</string>
|
||||||
<string name="index_settings">Offline údaje</string>
|
<string name="index_settings">Offline údaje</string>
|
||||||
<string name="osmand_service">Služba na pozadí</string>
|
<string name="osmand_service">Služba na pozadí</string>
|
||||||
|
|
|
@ -190,8 +190,6 @@ Translator: Le Viet Thanh; email: lethanhx2k@gmail.com -->
|
||||||
<string name="default_none">Không</string>
|
<string name="default_none">Không</string>
|
||||||
<string name="map_overlay">Chồng phủ bản đồ</string>
|
<string name="map_overlay">Chồng phủ bản đồ</string>
|
||||||
<string name="map_overlay_descr">Chọn bản đồ cần chồng phủ</string>
|
<string name="map_overlay_descr">Chọn bản đồ cần chồng phủ</string>
|
||||||
<string name="map_vector_data">Bản đồ vector Offline</string>
|
|
||||||
<string name="map_vector_data_descr">Sử dụng bản đồ vector đã tải</string>
|
|
||||||
<string name="tile_source_already_installed">Bản đồ đã được cài, các thiết lập sẽ được cập nhật</string>
|
<string name="tile_source_already_installed">Bản đồ đã được cài, các thiết lập sẽ được cập nhật</string>
|
||||||
<string name="select_tile_source_to_install">Chọn bản đồ cần cài đặt hoặc cập nhật</string>
|
<string name="select_tile_source_to_install">Chọn bản đồ cần cài đặt hoặc cập nhật</string>
|
||||||
<string name="internet_not_available">Không vào được Internet</string>
|
<string name="internet_not_available">Không vào được Internet</string>
|
||||||
|
@ -366,8 +364,6 @@ Translator: Le Viet Thanh; email: lethanhx2k@gmail.com -->
|
||||||
|
|
||||||
<string name="general_settings_descr">Các thiết lập chung cho ứng dụng</string>
|
<string name="general_settings_descr">Các thiết lập chung cho ứng dụng</string>
|
||||||
<string name="general_settings">Thiết lập chung</string>
|
<string name="general_settings">Thiết lập chung</string>
|
||||||
<string name="rendering_settings_descr">Các thiết lập và hiển thị cho bản đồ</string>
|
|
||||||
<string name="rendering_settings">- Bản đồ</string>
|
|
||||||
<string name="index_settings_descr">Tải và Quản lý bản đồ Offline hoặc các dữ liệu khác(GPX)</string>
|
<string name="index_settings_descr">Tải và Quản lý bản đồ Offline hoặc các dữ liệu khác(GPX)</string>
|
||||||
<string name="index_settings">Dữ liệu Offline</string>
|
<string name="index_settings">Dữ liệu Offline</string>
|
||||||
<string name="osmand_service">Chạy ngầm</string>
|
<string name="osmand_service">Chạy ngầm</string>
|
||||||
|
|
|
@ -1,22 +1,51 @@
|
||||||
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
||||||
<resources>
|
<resources>
|
||||||
<string name="plugins_screen">Plugins</string>
|
<!--
|
||||||
<string name="select_plugin_to_activate">Touch a plugin item to activate it. Application restart is needed to take an effect.</string>
|
Disclaimer :
|
||||||
<string name="prefs_plugins_descr">Plugins enable extra functionality builtin in the application such as Tracking, Tile Maps, Battery Saving features, Accessibility and many others.</string>
|
If you are going to translate strings, please make sure :
|
||||||
<string name="prefs_plugins">Plugins</string>
|
1. There is no duplicate strings by name
|
||||||
|
2. Every apostrophe is started with quote (look others).
|
||||||
|
If you are making/correcting english translations make sure :
|
||||||
|
1. All your modified/created strings are in the top of the file (to make easier find what's translated).
|
||||||
|
-->
|
||||||
|
<string name="map_online_plugin_is_not_installed">Enable online maps plugin to select different map sources</string>
|
||||||
|
<string name="map_online_data">Online maps</string>
|
||||||
|
<string name="map_online_data_descr">Use online maps (download and save them on sdcard)</string>
|
||||||
|
<string name="online_map_settings">Online Map</string>
|
||||||
|
<string name="online_map_settings_descr">Configure online or cached tile map sources</string>
|
||||||
|
<string name="map_settings">- Map Settings</string>
|
||||||
|
<string name="map_settings_descr">Configure the map display</string>
|
||||||
|
|
||||||
|
<string name="osmand_rastermaps_plugin_description">This plugin facilitates using a variety of online or cached tile maps as base map or as overlay / underlay maps. The maps can also be prepared offline and copied to the Osmand folder.</string>
|
||||||
|
<string name="osmand_rastermaps_plugin_name">Online Maps</string>
|
||||||
|
<string name="osmand_background_plugin_description">This plugin allows navigating and tracking in power saving (screen off) mode. It runs a background service periodically waking up the GPS to record a track point or give a navigation prompt.</string>
|
||||||
|
<string name="osmand_background_plugin_name">Screen Off Features</string>
|
||||||
|
<string name="osmand_accessibility_description">This plugin configures special accessibility features.</string>
|
||||||
|
<string name="osmand_accessibility_name">Accessibility</string>
|
||||||
|
<string name="extra_settings">Extra settings</string>
|
||||||
|
<string name="osmand_monitoring_description">This plugin facilitates recording your trips to GPX files or live monitoring using a web service.</string>
|
||||||
|
<string name="osmand_monitoring_name">Tracking + Monitoring</string>
|
||||||
|
<string name="osmand_extra_settings_description">This plugin facilitates extra customization of the map appearance enables more device-specific settings.</string>
|
||||||
|
<string name="osmand_extra_settings_name">Extra Settings</string>
|
||||||
|
<string name="osmand_development_plugin_description">This plugin enables development and debugging features like animated navigation or rendering performance display.</string>
|
||||||
|
<string name="osmand_development_plugin_name">Osmand Development</string>
|
||||||
|
<string name="plugins_screen">Plugin Manager</string>
|
||||||
|
<string name="select_plugin_to_activate">Touch a Plugin to activate or deactivate it. (Restarting Osmand may be required.)</string>
|
||||||
|
<string name="prefs_plugins_descr">Plugins provide extra functionality already contained in the application like tracking, tile maps, screen off mode, accessibility settings, and others.</string>
|
||||||
|
<string name="prefs_plugins">Plugin Manager</string>
|
||||||
<string name="tip_recent_changes_0_8_0_t">Changes in 0.8.0 :
|
<string name="tip_recent_changes_0_8_0_t">Changes in 0.8.0 :
|
||||||
\n\t- Plugin functionality
|
\n\t- Plugin functionality
|
||||||
\n\t- New offline map data support
|
\n\t- New offline map data support
|
||||||
\n\t- Lots of bug fixes
|
\n\t- Lots of bug fixes
|
||||||
</string>
|
</string>
|
||||||
<string name="osm_editing_plugin_description">This plugin is intented to improve OSM quality. It allows to collect/modify OSM POI objects, open/comment OSM bugs and send recorded GPX (requires OSM credentials).</string>
|
<string name="osm_editing_plugin_description">This plugin facilitates OSM feedback. It allows to collect/modify OSM POI objects, open/comment OSM bugs, and contribute recorded GPX files (requires OSM credentials).</string>
|
||||||
<string name="osm_editing_plugin_name">Osm Editing</string>
|
<string name="osm_editing_plugin_name">Osm Editing</string>
|
||||||
<string name="vector_maps_may_display_faster_on_some_devices">Vector maps may display faster. May not work well on some devices.</string>
|
<string name="vector_maps_may_display_faster_on_some_devices">Vector maps may display faster. May not work well on some devices.</string>
|
||||||
<string name="simulate_route_progression_manually">Simulate route progression manually</string>
|
<string name="simulate_route_progression_manually">Simulate route progression manually</string>
|
||||||
<string name="play_commands_of_currently_selected_voice">Play commands of currently selected voice</string>
|
<string name="play_commands_of_currently_selected_voice">Play commands of currently selected voice</string>
|
||||||
<string name="debugging_and_development">OsmAnd debugging and development</string>
|
<string name="debugging_and_development">OsmAnd debugging and development</string>
|
||||||
<string name="native_rendering">Native rendering</string>
|
<string name="native_rendering">Native rendering</string>
|
||||||
<string name="animate_routing">Animate routing</string>
|
<string name="animate_routing">Animate navigation</string>
|
||||||
<string name="test_voice_prompts">Test voice prompts</string>
|
<string name="test_voice_prompts">Test voice prompts</string>
|
||||||
<string name="switch_to_raster_map_to_see">No offline vector map present for this location. You can download one in Settings (Offline data), or switch to online maps.</string>
|
<string name="switch_to_raster_map_to_see">No offline vector map present for this location. You can download one in Settings (Offline data), or switch to online maps.</string>
|
||||||
<string name="tip_recent_changes_0_7_2_t">Changes in 0.7.2 :
|
<string name="tip_recent_changes_0_7_2_t">Changes in 0.7.2 :
|
||||||
|
@ -130,11 +159,11 @@
|
||||||
<string name="local_openstreetmap_settings_descr">Show and manage OSM POIs noted in local database</string>
|
<string name="local_openstreetmap_settings_descr">Show and manage OSM POIs noted in local database</string>
|
||||||
|
|
||||||
<string name="live_monitoring_descr">Send tracking to a specified web service</string>
|
<string name="live_monitoring_descr">Send tracking to a specified web service</string>
|
||||||
<string name="live_monitoring">Online Live Tracking</string>
|
<string name="live_monitoring">Online live tracking</string>
|
||||||
<string name="live_monitoring_interval_descr">Specify Live Tracking interval</string>
|
<string name="live_monitoring_interval_descr">Specify live tracking interval</string>
|
||||||
<string name="live_monitoring_interval">Live Tracking interval</string>
|
<string name="live_monitoring_interval">Live tracking interval</string>
|
||||||
<string name="live_monitoring_url_descr">Specify the web address with parameter syntax : lat={0}, lon={1}, timestamp={2}, hdop={3}, altitude={4}, speed={5}</string>
|
<string name="live_monitoring_url_descr">Specify the web address with parameter syntax : lat={0}, lon={1}, timestamp={2}, hdop={3}, altitude={4}, speed={5}</string>
|
||||||
<string name="live_monitoring_url">Live Tracking web address</string>
|
<string name="live_monitoring_url">Live tracking web address</string>
|
||||||
<string name="gpx_monitoring_disabled_warn">Please enable \'Log track to GPX\' Tracking settings</string>
|
<string name="gpx_monitoring_disabled_warn">Please enable \'Log track to GPX\' Tracking settings</string>
|
||||||
<string name="show_current_gpx_title">Show current track</string>
|
<string name="show_current_gpx_title">Show current track</string>
|
||||||
<string name="tip_recent_changes_0_7_0_t">Changes in 0.7.0 :
|
<string name="tip_recent_changes_0_7_0_t">Changes in 0.7.0 :
|
||||||
|
@ -169,16 +198,13 @@
|
||||||
<string name="profile_settings">Profile Specific Settings</string>
|
<string name="profile_settings">Profile Specific Settings</string>
|
||||||
<string name="settings_preset">User Profile</string>
|
<string name="settings_preset">User Profile</string>
|
||||||
<string name="settings_preset_descr">Select a user profile. Each profile contains specific settings, which can be customized below.</string>
|
<string name="settings_preset_descr">Select a user profile. Each profile contains specific settings, which can be customized below.</string>
|
||||||
<string name="rendering_settings">- Map configuration</string>
|
|
||||||
<string name="rendering_settings_descr">Configure maps and map sources</string>
|
|
||||||
<string name="appearance_settings">- Map appearance</string>
|
|
||||||
<string name="appearance_settings_descr">Configure map display</string>
|
|
||||||
<string name="monitor_preferences">- Tracking</string>
|
<string name="monitor_preferences">- Tracking</string>
|
||||||
<string name="monitor_preferences_descr">Specify tracking settings</string>
|
<string name="monitor_preferences_descr">Specify tracking settings</string>
|
||||||
<string name="routing_settings">- Navigation</string>
|
<string name="routing_settings">- Navigation</string>
|
||||||
<string name="routing_settings_descr">Specify navigation options</string>
|
<string name="routing_settings_descr">Specify navigation options</string>
|
||||||
<string name="global_settings">Global Settings</string>
|
<string name="global_settings">Global Settings</string>
|
||||||
<string name="index_settings">Offline Data</string>
|
<string name="index_settings">Offline Data (Download)</string>
|
||||||
<string name="index_settings_descr">Download and manage offline maps and other data such as GPX tracks</string>
|
<string name="index_settings_descr">Download and manage offline maps and other data such as GPX tracks</string>
|
||||||
<string name="general_settings">General Settings</string>
|
<string name="general_settings">General Settings</string>
|
||||||
<string name="general_settings_descr">Configure global settings</string>
|
<string name="general_settings_descr">Configure global settings</string>
|
||||||
|
@ -187,7 +213,7 @@
|
||||||
<string name="user_name_descr">Needed for openstreetmap.org submissions</string>
|
<string name="user_name_descr">Needed for openstreetmap.org submissions</string>
|
||||||
<string name="user_password">Your OSM password</string>
|
<string name="user_password">Your OSM password</string>
|
||||||
<string name="user_password_descr">Needed for openstreetmap.org submissions</string>
|
<string name="user_password_descr">Needed for openstreetmap.org submissions</string>
|
||||||
<string name="osmand_service">Background settings</string>
|
<string name="osmand_service">Background Settings</string>
|
||||||
<string name="osmand_service_descr">Use to run OsmAnd while screen is off</string>
|
<string name="osmand_service_descr">Use to run OsmAnd while screen is off</string>
|
||||||
|
|
||||||
|
|
||||||
|
@ -419,8 +445,6 @@
|
||||||
<string name="default_none">None</string>
|
<string name="default_none">None</string>
|
||||||
<string name="map_overlay">Overlay map</string>
|
<string name="map_overlay">Overlay map</string>
|
||||||
<string name="map_overlay_descr">Choose overlay map</string>
|
<string name="map_overlay_descr">Choose overlay map</string>
|
||||||
<string name="map_vector_data">Offline vector maps</string>
|
|
||||||
<string name="map_vector_data_descr">Use downloaded vector maps</string>
|
|
||||||
<string name="tile_source_already_installed">Map is already installed, settings will be updated</string>
|
<string name="tile_source_already_installed">Map is already installed, settings will be updated</string>
|
||||||
<string name="select_tile_source_to_install">Select (tile) maps to install or update</string>
|
<string name="select_tile_source_to_install">Select (tile) maps to install or update</string>
|
||||||
<string name="internet_not_available">Internet connection required for operation is not available</string>
|
<string name="internet_not_available">Internet connection required for operation is not available</string>
|
||||||
|
|
|
@ -2,71 +2,20 @@
|
||||||
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
<PreferenceCategory android:title="@string/profile_settings" android:key="profile_dep_cat">
|
<PreferenceCategory android:title="@string/profile_settings" android:key="profile_dep_cat">
|
||||||
<ListPreference android:summary="@string/settings_preset_descr" android:title="@string/settings_preset" android:key="application_mode"></ListPreference>
|
<ListPreference android:summary="@string/settings_preset_descr" android:title="@string/settings_preset" android:key="application_mode"></ListPreference>
|
||||||
|
<PreferenceScreen android:key="appearance_settings" android:title="@string/map_settings" android:summary="@string/map_settings_descr">
|
||||||
<PreferenceScreen android:key="map_settings" android:title="@string/rendering_settings" android:summary="@string/rendering_settings_descr">
|
<ListPreference android:key="rotate_map" android:title="@string/rotate_map_to_bearing" android:summary="@string/rotate_map_to_bearing_descr"></ListPreference>
|
||||||
<PreferenceCategory android:title="@string/pref_raster_map">
|
<ListPreference android:key="daynight_mode" android:title="@string/daynight" android:summary="@string/daynight_descr"></ListPreference>
|
||||||
<CheckBoxPreference android:summary="@string/map_vector_data_descr" android:title="@string/map_vector_data"
|
<CheckBoxPreference android:key="show_view_angle" android:title="@string/show_view_angle" android:summary="@string/show_view_angle_descr"></CheckBoxPreference>
|
||||||
android:key="map_vector_data"></CheckBoxPreference>
|
<CheckBoxPreference android:title="@string/auto_zoom_map" android:summary="@string/auto_zoom_map_descr" android:key="auto_zoom_map"></CheckBoxPreference>
|
||||||
<ListPreference android:title="@string/map_tile_source" android:summary="@string/map_tile_source_descr" android:key="map_tile_sources"></ListPreference>
|
<CheckBoxPreference android:summary="@string/use_english_names_descr" android:title="@string/use_english_names"
|
||||||
<CheckBoxPreference android:key="use_internet_to_download_tiles" android:title="@string/use_internet" android:summary="@string/use_internet_to_download_tile"></CheckBoxPreference>
|
android:key="use_english_names"></CheckBoxPreference>
|
||||||
<!-- try without, Issue 823:
|
<CheckBoxPreference android:key="show_altitude_info" android:title="@string/show_altitude_info" android:summary="@string/show_altitude_info_descr"/>
|
||||||
<ListPreference android:title="@string/max_level_download_tile" android:summary="@string/max_level_download_tile_descr"
|
|
||||||
android:key="max_level_download_tile"></ListPreference>
|
|
||||||
-->
|
|
||||||
<ListPreference android:title="@string/level_to_switch_vector_raster" android:summary="@string/level_to_switch_vector_raster_descr"
|
|
||||||
android:key="level_to_switch_vector_raster"></ListPreference>
|
|
||||||
</PreferenceCategory>
|
|
||||||
<PreferenceCategory android:title="@string/pref_overlay">
|
|
||||||
<ListPreference android:title="@string/map_overlay" android:summary="@string/map_overlay_descr" android:key="map_overlay"></ListPreference>
|
|
||||||
<ListPreference android:title="@string/map_underlay" android:summary="@string/map_underlay_descr" android:key="map_underlay"></ListPreference>
|
|
||||||
<net.osmand.plus.views.SeekBarPreference android:key="overlay_transparency" android:defaultValue="0" android:max="255"
|
|
||||||
android:dialogMessage="@string/modify_transparency" android:title="@string/overlay_transparency" android:summary="@string/overlay_transparency_descr"/>
|
|
||||||
<net.osmand.plus.views.SeekBarPreference android:key="map_transparency" android:defaultValue="0" android:max="255"
|
|
||||||
android:dialogMessage="@string/modify_transparency" android:title="@string/map_transparency" android:summary="@string/map_transparency_descr"/>
|
|
||||||
</PreferenceCategory>
|
|
||||||
<PreferenceCategory android:title="@string/pref_vector_map">
|
<PreferenceCategory android:title="@string/pref_vector_map">
|
||||||
<ListPreference android:key="renderer" android:title="@string/renderers" android:summary="@string/renderers_descr"></ListPreference>
|
<ListPreference android:key="renderer" android:title="@string/renderers" android:summary="@string/renderers_descr"></ListPreference>
|
||||||
<ListPreference android:key="map_text_size" android:title="@string/map_text_size" android:summary="@string/map_text_size_descr"/>
|
<ListPreference android:key="map_text_size" android:title="@string/map_text_size" android:summary="@string/map_text_size_descr"/>
|
||||||
</PreferenceCategory>
|
</PreferenceCategory>
|
||||||
<PreferenceCategory android:title="@string/pref_vector_rendering" android:key="custom_vector_rendering">
|
|
||||||
</PreferenceCategory>
|
|
||||||
</PreferenceScreen>
|
</PreferenceScreen>
|
||||||
|
|
||||||
|
|
||||||
<PreferenceScreen android:key="appearance_settings" android:title="@string/appearance_settings" android:summary="@string/appearance_settings_descr">
|
|
||||||
<ListPreference android:key="daynight_mode" android:title="@string/daynight" android:summary="@string/daynight_descr"></ListPreference>
|
|
||||||
<ListPreference android:key="rotate_map" android:title="@string/rotate_map_to_bearing" android:summary="@string/rotate_map_to_bearing_descr"></ListPreference>
|
|
||||||
<CheckBoxPreference android:title="@string/auto_zoom_map" android:summary="@string/auto_zoom_map_descr" android:key="auto_zoom_map"></CheckBoxPreference>
|
|
||||||
<ListPreference android:key="position_on_map" android:title="@string/position_on_map" android:summary="@string/position_on_map_descr"></ListPreference>
|
|
||||||
<CheckBoxPreference android:key="show_view_angle" android:title="@string/show_view_angle" android:summary="@string/show_view_angle_descr"></CheckBoxPreference>
|
|
||||||
<CheckBoxPreference android:summary="@string/use_english_names_descr" android:title="@string/use_english_names"
|
|
||||||
android:key="use_english_names"></CheckBoxPreference>
|
|
||||||
<CheckBoxPreference android:key="show_altitude_info" android:title="@string/show_altitude_info" android:summary="@string/show_altitude_info_descr"/>
|
|
||||||
<CheckBoxPreference android:key="transparent_map_theme" android:title="@string/use_transparent_map_theme" android:summary="@string/use_transparent_map_theme_descr"/>
|
|
||||||
<CheckBoxPreference android:key="fluorescent_overlays" android:title="@string/use_fluorescent_overlays" android:summary="@string/use_fluorescent_overlays_descr"/>
|
|
||||||
<CheckBoxPreference android:key="show_ruler" android:title="@string/show_ruler_level" android:summary="@string/show_ruler_level_descr"/>
|
|
||||||
</PreferenceScreen>
|
|
||||||
|
|
||||||
|
|
||||||
<PreferenceScreen android:key = "monitor_settings" android:title="@string/monitor_preferences" android:summary="@string/monitor_preferences_descr">
|
|
||||||
<PreferenceCategory android:title="@string/save_track_to_gpx">
|
|
||||||
<CheckBoxPreference android:summary="@string/save_track_to_gpx_descrp" android:title="@string/save_track_to_gpx"
|
|
||||||
android:key="save_track_to_gpx"></CheckBoxPreference>
|
|
||||||
<ListPreference android:summary="@string/save_track_interval_descr" android:title="@string/save_track_interval"
|
|
||||||
android:key="save_track_interval"></ListPreference>
|
|
||||||
<Preference android:summary="@string/save_current_track_descr" android:title="@string/save_current_track" android:key="save_current_track"></Preference>
|
|
||||||
</PreferenceCategory>
|
|
||||||
<PreferenceCategory android:title="@string/live_monitoring">
|
|
||||||
<CheckBoxPreference android:summary="@string/live_monitoring_descr" android:title="@string/live_monitoring"
|
|
||||||
android:key="live_monitoring"></CheckBoxPreference>
|
|
||||||
<EditTextPreference android:summary="@string/live_monitoring_url_descr" android:title="@string/live_monitoring_url"
|
|
||||||
android:key="live_monitoring_url"/>
|
|
||||||
<ListPreference android:summary="@string/live_monitoring_interval_descr" android:title="@string/live_monitoring_interval"
|
|
||||||
android:key="live_monitoring_interval"></ListPreference>
|
|
||||||
</PreferenceCategory>
|
|
||||||
</PreferenceScreen>
|
|
||||||
|
|
||||||
|
|
||||||
<PreferenceScreen android:key="routing_settings" android:title="@string/routing_settings" android:summary="@string/routing_settings_descr">
|
<PreferenceScreen android:key="routing_settings" android:title="@string/routing_settings" android:summary="@string/routing_settings_descr">
|
||||||
<ListPreference android:title="@string/router_service" android:key="router_service" android:summary="@string/router_service_descr"></ListPreference>
|
<ListPreference android:title="@string/router_service" android:key="router_service" android:summary="@string/router_service_descr"></ListPreference>
|
||||||
<CheckBoxPreference android:summary="@string/fast_route_mode_descr" android:title="@string/fast_route_mode"
|
<CheckBoxPreference android:summary="@string/fast_route_mode_descr" android:title="@string/fast_route_mode"
|
||||||
|
@ -84,67 +33,19 @@
|
||||||
</PreferenceCategory>
|
</PreferenceCategory>
|
||||||
|
|
||||||
|
|
||||||
<PreferenceCategory android:title="@string/global_settings">
|
<PreferenceCategory android:title="@string/global_settings" android:key="global_settings" >
|
||||||
<Preference android:title="@string/index_settings" android:key="local_indexes" android:summary="@string/index_settings_descr"></Preference>
|
<Preference android:title="@string/index_settings" android:key="local_indexes" android:summary="@string/index_settings_descr"></Preference>
|
||||||
|
|
||||||
|
|
||||||
<PreferenceScreen android:key="general_settings" android:title="@string/general_settings" android:summary="@string/general_settings_descr">
|
<PreferenceScreen android:key="general_settings" android:title="@string/general_settings" android:summary="@string/general_settings_descr">
|
||||||
<PreferenceCategory android:title="@string/global_app_settings">
|
<PreferenceCategory android:title="@string/global_app_settings">
|
||||||
<ListPreference android:key="map_screen_orientation" android:title="@string/map_screen_orientation" android:summary="@string/map_screen_orientation_descr"></ListPreference>
|
<ListPreference android:key="map_screen_orientation" android:title="@string/map_screen_orientation" android:summary="@string/map_screen_orientation_descr"></ListPreference>
|
||||||
<CheckBoxPreference android:key="use_high_res_maps" android:title="@string/use_high_res_maps" android:summary="@string/use_high_res_maps_descr"></CheckBoxPreference>
|
|
||||||
<ListPreference android:key="preferred_locale" android:title="@string/preferred_locale" android:summary="@string/preferred_locale_descr"></ListPreference>
|
<ListPreference android:key="preferred_locale" android:title="@string/preferred_locale" android:summary="@string/preferred_locale_descr"></ListPreference>
|
||||||
<ListPreference android:key="default_metric_system" android:title="@string/unit_of_length" android:summary="@string/unit_of_length_descr"></ListPreference>
|
<ListPreference android:key="default_metric_system" android:title="@string/unit_of_length" android:summary="@string/unit_of_length_descr"></ListPreference>
|
||||||
<ListPreference android:key="audio_stream" android:title="@string/choose_audio_stream"
|
<CheckBoxPreference android:key="native_rendering" android:title="@string/native_rendering" android:summary="@string/vector_maps_may_display_faster_on_some_devices"></CheckBoxPreference>
|
||||||
android:summary="@string/choose_audio_stream_descr"></ListPreference>
|
|
||||||
<CheckBoxPreference android:key="use_trackball_for_movements" android:title="@string/use_trackball" android:summary="@string/use_trackball_descr"></CheckBoxPreference>
|
|
||||||
<EditTextPreference android:title="@string/application_dir" android:key="external_storage_dir"></EditTextPreference>
|
<EditTextPreference android:title="@string/application_dir" android:key="external_storage_dir"></EditTextPreference>
|
||||||
</PreferenceCategory>
|
</PreferenceCategory>
|
||||||
<PreferenceCategory android:title="@string/osm_settings">
|
|
||||||
<!--
|
|
||||||
<CheckBoxPreference android:key="show_osm_bugs" android:title="@string/show_osm_bugs"
|
|
||||||
android:summary="@string/show_osm_bugs_descr"></CheckBoxPreference>
|
|
||||||
-->
|
|
||||||
<EditTextPreference android:title="@string/user_name" android:summary="@string/user_name_descr" android:key="user_name"></EditTextPreference>
|
|
||||||
<EditTextPreference android:title="@string/user_password" android:password="true" android:summary="@string/user_password_descr"
|
|
||||||
android:key="user_password"></EditTextPreference>
|
|
||||||
<CheckBoxPreference android:summary="@string/offline_poi_edition_descr" android:title="@string/offline_poi_edition"
|
|
||||||
android:key="offline_poi_edition"></CheckBoxPreference>
|
|
||||||
<Preference android:title="@string/local_openstreetmap_settings" android:key="local_openstreetmap_points" android:summary="@string/local_openstreetmap_settings_descr"></Preference>
|
|
||||||
</PreferenceCategory>
|
|
||||||
<PreferenceCategory android:title="@string/debugging_and_development">
|
|
||||||
<CheckBoxPreference android:key="native_rendering" android:title="@string/native_rendering" android:summary="@string/vector_maps_may_display_faster_on_some_devices"></CheckBoxPreference>
|
|
||||||
<CheckBoxPreference android:summary="@string/trace_rendering_descr" android:title="@string/trace_rendering"
|
|
||||||
android:key="debug_rendering"></CheckBoxPreference>
|
|
||||||
<CheckBoxPreference android:key="animate_routing" android:title="@string/animate_routing" android:summary="@string/simulate_route_progression_manually"></CheckBoxPreference>
|
|
||||||
<Preference android:key="test_voice_commands" android:summary="@string/play_commands_of_currently_selected_voice" android:title="@string/test_voice_prompts"></Preference>
|
|
||||||
</PreferenceCategory>
|
|
||||||
</PreferenceScreen>
|
</PreferenceScreen>
|
||||||
|
|
||||||
<Preference android:title="@string/prefs_plugins" android:summary="@string/prefs_plugins_descr" android:key="plugins"/>
|
<Preference android:title="@string/prefs_plugins" android:summary="@string/prefs_plugins_descr" android:key="plugins"/>
|
||||||
|
|
||||||
<PreferenceScreen android:title="@string/osmand_service" android:summary="@string/osmand_service_descr">
|
|
||||||
<CheckBoxPreference android:summary="@string/background_router_service_descr" android:title="@string/background_router_service"
|
|
||||||
android:key="service_off_enabled"></CheckBoxPreference>
|
|
||||||
<ListPreference android:key="service_off_provider" android:title="@string/background_service_provider" android:summary="@string/background_service_provider_descr"></ListPreference>
|
|
||||||
<ListPreference android:key="service_off_interval" android:title="@string/background_service_int" android:summary="@string/background_service_int_descr"></ListPreference>
|
|
||||||
<ListPreference android:key="service_off_wait_interval" android:title="@string/background_service_wait_int"
|
|
||||||
android:summary="@string/background_service_wait_int_descr"></ListPreference>
|
|
||||||
</PreferenceScreen>
|
|
||||||
|
|
||||||
<PreferenceScreen android:key="accessibility_preferences" android:title="@string/accessibility_preferences" android:summary="@string/accessibility_preferences_descr">
|
|
||||||
<ListPreference android:summary="@string/accessibility_mode_descr" android:title="@string/accessibility_mode" android:key="accessibility_mode"></ListPreference>
|
|
||||||
<PreferenceCategory android:key="accessibility_options">
|
|
||||||
<ListPreference android:summary="@string/settings_direction_style_descr" android:title="@string/settings_direction_style" android:key="direction_style"></ListPreference>
|
|
||||||
<CheckBoxPreference android:key="zoom_by_trackball" android:title="@string/zoom_by_trackball" android:summary="@string/zoom_by_trackball_descr"></CheckBoxPreference>
|
|
||||||
<CheckBoxPreference android:key="scroll_map_by_gestures" android:title="@string/scroll_map_by_gestures" android:summary="@string/scroll_map_by_gestures_descr"></CheckBoxPreference>
|
|
||||||
<CheckBoxPreference android:key="use_short_object_names" android:title="@string/use_short_object_names" android:summary="@string/use_short_object_names_descr"></CheckBoxPreference>
|
|
||||||
<CheckBoxPreference android:key="accessibility_extensions" android:title="@string/accessibility_extensions" android:summary="@string/accessibility_extensions_descr"></CheckBoxPreference>
|
|
||||||
</PreferenceCategory>
|
|
||||||
</PreferenceScreen>
|
|
||||||
|
|
||||||
<Preference android:title="@string/support_new_features" android:key="bidforfix">
|
|
||||||
</Preference>
|
|
||||||
</PreferenceCategory>
|
</PreferenceCategory>
|
||||||
|
<Preference android:title="@string/support_new_features" android:key="bidforfix"/>
|
||||||
|
|
||||||
</PreferenceScreen>
|
</PreferenceScreen>
|
||||||
|
|
115
OsmAnd/src/net/osmand/access/AccessibilityPlugin.java
Normal file
115
OsmAnd/src/net/osmand/access/AccessibilityPlugin.java
Normal file
|
@ -0,0 +1,115 @@
|
||||||
|
package net.osmand.access;
|
||||||
|
|
||||||
|
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.activities.SettingsActivity;
|
||||||
|
import android.preference.ListPreference;
|
||||||
|
import android.preference.Preference;
|
||||||
|
import android.preference.Preference.OnPreferenceChangeListener;
|
||||||
|
import android.preference.PreferenceCategory;
|
||||||
|
import android.preference.PreferenceScreen;
|
||||||
|
|
||||||
|
public class AccessibilityPlugin extends OsmandPlugin {
|
||||||
|
private static final String ID = "osmand.accessibility";
|
||||||
|
private OsmandSettings settings;
|
||||||
|
private OsmandApplication app;
|
||||||
|
private ListPreference accessibilityModePreference;
|
||||||
|
private ListPreference directionStylePreference;
|
||||||
|
|
||||||
|
public AccessibilityPlugin(OsmandApplication app) {
|
||||||
|
this.app = app;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean init(OsmandApplication app) {
|
||||||
|
settings = app.getSettings();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getId() {
|
||||||
|
return ID;
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public String getDescription() {
|
||||||
|
return app.getString(R.string.osmand_accessibility_description);
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public String getName() {
|
||||||
|
return app.getString(R.string.osmand_accessibility_name);
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public void registerLayers(MapActivity activity) {
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void settingsActivityUpdate(SettingsActivity activity) {
|
||||||
|
if(accessibilityModePreference != null) {
|
||||||
|
accessibilityModePreference.setSummary(app.getString(R.string.accessibility_mode_descr) + " [" + settings.ACCESSIBILITY_MODE.get().toHumanString(app) + "]");
|
||||||
|
}
|
||||||
|
if(directionStylePreference != null) {
|
||||||
|
directionStylePreference.setSummary(app.getString(R.string.settings_direction_style_descr) + " [" + settings.DIRECTION_STYLE.get().toHumanString(app) + "]");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void settingsActivityCreate(final SettingsActivity activity, final PreferenceScreen screen) {
|
||||||
|
PreferenceScreen grp = screen.getPreferenceManager().createPreferenceScreen(activity);
|
||||||
|
grp.setTitle(R.string.accessibility_preferences);
|
||||||
|
grp.setSummary(R.string.accessibility_preferences_descr);
|
||||||
|
grp.setKey("accessibility_preferences");
|
||||||
|
((PreferenceCategory)screen.findPreference("global_settings")).addPreference(grp);
|
||||||
|
|
||||||
|
String[] entries = new String[AccessibilityMode.values().length];
|
||||||
|
for (int i = 0; i < entries.length; i++) {
|
||||||
|
entries[i] = AccessibilityMode.values()[i].toHumanString(activity);
|
||||||
|
}
|
||||||
|
accessibilityModePreference = activity.createListPreference(settings.ACCESSIBILITY_MODE, entries, AccessibilityMode.values(),
|
||||||
|
R.string.accessibility_mode, R.string.accessibility_mode_descr);
|
||||||
|
accessibilityModePreference.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
|
||||||
|
@Override
|
||||||
|
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||||
|
PreferenceCategory accessibilityOptions = ((PreferenceCategory)(screen.findPreference("accessibility_options")));
|
||||||
|
if (accessibilityOptions != null)
|
||||||
|
accessibilityOptions.setEnabled(app.accessibilityEnabled());
|
||||||
|
accessibilityModePreference.setSummary(app.getString(R.string.accessibility_mode_descr) + " [" + settings.ACCESSIBILITY_MODE.get().toHumanString(app) + "]");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
grp.addPreference(accessibilityModePreference);
|
||||||
|
PreferenceCategory cat = new PreferenceCategory(activity);
|
||||||
|
cat.setKey("accessibility_options");
|
||||||
|
grp.addPreference(cat);
|
||||||
|
|
||||||
|
entries = new String[RelativeDirectionStyle.values().length];
|
||||||
|
for (int i = 0; i < entries.length; i++) {
|
||||||
|
entries[i] = RelativeDirectionStyle.values()[i].toHumanString(activity);
|
||||||
|
}
|
||||||
|
directionStylePreference = activity.createListPreference(settings.DIRECTION_STYLE, entries, RelativeDirectionStyle.values(),
|
||||||
|
R.string.settings_direction_style, R.string.settings_direction_style_descr);
|
||||||
|
directionStylePreference.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
|
||||||
|
@Override
|
||||||
|
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||||
|
directionStylePreference.setSummary(app.getString(R.string.settings_direction_style_descr) + " [" + settings.DIRECTION_STYLE.get().toHumanString(app) + "]");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
cat.addPreference(directionStylePreference);
|
||||||
|
|
||||||
|
cat.addPreference(activity.createCheckBoxPreference(settings.ZOOM_BY_TRACKBALL, R.string.zoom_by_trackball,
|
||||||
|
R.string.zoom_by_trackball_descr));
|
||||||
|
cat.addPreference(activity.createCheckBoxPreference(settings.SCROLL_MAP_BY_GESTURES, R.string.scroll_map_by_gestures,
|
||||||
|
R.string.scroll_map_by_gestures_descr));
|
||||||
|
cat.addPreference(activity.createCheckBoxPreference(settings.ZOOM_BY_TRACKBALL, R.string.use_short_object_names,
|
||||||
|
R.string.use_short_object_names_descr));
|
||||||
|
cat.addPreference(activity.createCheckBoxPreference(settings.ACCESSIBILITY_EXTENSIONS, R.string.accessibility_extensions,
|
||||||
|
R.string.accessibility_extensions));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
|
@ -1,15 +1,17 @@
|
||||||
package net.osmand.plus;
|
package net.osmand.plus;
|
||||||
|
|
||||||
|
import gnu.trove.list.array.TIntArrayList;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
import gnu.trove.list.array.TIntArrayList;
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
import android.content.DialogInterface;
|
||||||
|
|
||||||
public class ContextMenuAdapter {
|
public class ContextMenuAdapter {
|
||||||
|
|
||||||
public interface OnContextMenuClick {
|
public interface OnContextMenuClick {
|
||||||
|
|
||||||
public void onContextMenuClick(int itemId, int pos, boolean isChecked);
|
public void onContextMenuClick(int itemId, int pos, boolean isChecked, DialogInterface dialog);
|
||||||
}
|
}
|
||||||
|
|
||||||
private final Context ctx;
|
private final Context ctx;
|
||||||
|
|
|
@ -7,9 +7,18 @@ import java.util.Set;
|
||||||
|
|
||||||
import org.apache.commons.logging.Log;
|
import org.apache.commons.logging.Log;
|
||||||
|
|
||||||
|
import android.preference.PreferenceScreen;
|
||||||
|
|
||||||
import net.osmand.LogUtil;
|
import net.osmand.LogUtil;
|
||||||
|
import net.osmand.access.AccessibilityPlugin;
|
||||||
import net.osmand.plus.activities.MapActivity;
|
import net.osmand.plus.activities.MapActivity;
|
||||||
|
import net.osmand.plus.activities.SettingsActivity;
|
||||||
|
import net.osmand.plus.background.OsmandBackgroundServicePlugin;
|
||||||
|
import net.osmand.plus.development.OsmandDevelopmentPlugin;
|
||||||
|
import net.osmand.plus.extrasettings.OsmandExtraSettings;
|
||||||
|
import net.osmand.plus.monitoring.OsmandMonitoringPlugin;
|
||||||
import net.osmand.plus.osmedit.OsmEditingPlugin;
|
import net.osmand.plus.osmedit.OsmEditingPlugin;
|
||||||
|
import net.osmand.plus.rastermaps.OsmandRasterMapsPlugin;
|
||||||
import net.osmand.plus.views.OsmandMapTileView;
|
import net.osmand.plus.views.OsmandMapTileView;
|
||||||
|
|
||||||
public abstract class OsmandPlugin {
|
public abstract class OsmandPlugin {
|
||||||
|
@ -34,10 +43,20 @@ public abstract class OsmandPlugin {
|
||||||
*/
|
*/
|
||||||
public abstract boolean init(OsmandApplication app);
|
public abstract boolean init(OsmandApplication app);
|
||||||
|
|
||||||
|
public void disable(OsmandApplication app) {};
|
||||||
|
|
||||||
|
|
||||||
public static void initPlugins(OsmandApplication app) {
|
public static void initPlugins(OsmandApplication app) {
|
||||||
OsmandSettings settings = app.getSettings();
|
OsmandSettings settings = app.getSettings();
|
||||||
|
OsmandRasterMapsPlugin rasterMapsPlugin = new OsmandRasterMapsPlugin(app);
|
||||||
|
installedPlugins.add(rasterMapsPlugin);
|
||||||
|
installedPlugins.add(new OsmandMonitoringPlugin(app));
|
||||||
installedPlugins.add(new OsmEditingPlugin(app));
|
installedPlugins.add(new OsmEditingPlugin(app));
|
||||||
|
installedPlugins.add(new OsmandBackgroundServicePlugin(app));
|
||||||
|
installedPlugins.add(new AccessibilityPlugin(app));
|
||||||
|
installedPlugins.add(new OsmandExtraSettings(app));
|
||||||
|
installedPlugins.add(new OsmandDevelopmentPlugin(app));
|
||||||
|
|
||||||
Set<String> enabledPlugins = settings.getEnabledPlugins();
|
Set<String> enabledPlugins = settings.getEnabledPlugins();
|
||||||
for (OsmandPlugin plugin : installedPlugins) {
|
for (OsmandPlugin plugin : installedPlugins) {
|
||||||
if (enabledPlugins.contains(plugin.getId())) {
|
if (enabledPlugins.contains(plugin.getId())) {
|
||||||
|
@ -52,17 +71,21 @@ public abstract class OsmandPlugin {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
public static boolean enablePlugin(OsmandApplication app, OsmandPlugin plugin, boolean enable) {
|
||||||
* ????
|
if (enable) {
|
||||||
*/
|
if (!plugin.init(app)) {
|
||||||
public abstract void updateLayers(OsmandMapTileView mapView);
|
return false;
|
||||||
|
}
|
||||||
public static void refreshLayers(OsmandMapTileView mapView) {
|
activePlugins.add(plugin);
|
||||||
for (OsmandPlugin plugin : activePlugins) {
|
} else {
|
||||||
plugin.updateLayers(mapView);
|
plugin.disable(app);
|
||||||
|
activePlugins.remove(plugin);
|
||||||
}
|
}
|
||||||
|
app.getSettings().enablePlugin(plugin.getId(), enable);
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void updateLayers(OsmandMapTileView mapView, MapActivity activity) {};
|
||||||
|
|
||||||
public abstract void registerLayers(MapActivity activity);
|
public abstract void registerLayers(MapActivity activity);
|
||||||
|
|
||||||
|
@ -74,10 +97,21 @@ public abstract class OsmandPlugin {
|
||||||
|
|
||||||
public void mapActivityDestroy(MapActivity activity) { }
|
public void mapActivityDestroy(MapActivity activity) { }
|
||||||
|
|
||||||
|
public void settingsActivityCreate(SettingsActivity activity, PreferenceScreen screen) {}
|
||||||
|
|
||||||
public abstract void registerLayerContextMenuActions(OsmandMapTileView mapView, ContextMenuAdapter adapter);
|
public void settingsActivityDestroy(final SettingsActivity activity){}
|
||||||
|
|
||||||
public abstract void registerMapContextMenuActions(MapActivity mapActivity, double latitude, double longitude, ContextMenuAdapter adapter, Object selectedObj);
|
public void settingsActivityUpdate(final SettingsActivity activity){}
|
||||||
|
|
||||||
|
public void registerLayerContextMenuActions(OsmandMapTileView mapView, ContextMenuAdapter adapter, MapActivity mapActivity) {}
|
||||||
|
|
||||||
|
public void registerMapContextMenuActions(MapActivity mapActivity, double latitude, double longitude, ContextMenuAdapter adapter, Object selectedObj) {}
|
||||||
|
|
||||||
|
public static void refreshLayers(OsmandMapTileView mapView, MapActivity activity) {
|
||||||
|
for (OsmandPlugin plugin : activePlugins) {
|
||||||
|
plugin.updateLayers(mapView, activity);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static List<OsmandPlugin> getAvailablePlugins(){
|
public static List<OsmandPlugin> getAvailablePlugins(){
|
||||||
return installedPlugins;
|
return installedPlugins;
|
||||||
|
@ -122,6 +156,25 @@ public abstract class OsmandPlugin {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static void onSettingsActivityCreate(SettingsActivity activity, PreferenceScreen screen) {
|
||||||
|
for (OsmandPlugin plugin : activePlugins) {
|
||||||
|
plugin.settingsActivityCreate(activity, screen);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void onSettingsActivityDestroy(SettingsActivity activity) {
|
||||||
|
for (OsmandPlugin plugin : activePlugins) {
|
||||||
|
plugin.settingsActivityDestroy(activity);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void onSettingsActivityUpdate(SettingsActivity activity) {
|
||||||
|
for (OsmandPlugin plugin : activePlugins) {
|
||||||
|
plugin.settingsActivityUpdate(activity);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public static void createLayers(OsmandMapTileView mapView, MapActivity activity) {
|
public static void createLayers(OsmandMapTileView mapView, MapActivity activity) {
|
||||||
for (OsmandPlugin plugin : activePlugins) {
|
for (OsmandPlugin plugin : activePlugins) {
|
||||||
plugin.registerLayers(activity);
|
plugin.registerLayers(activity);
|
||||||
|
@ -134,9 +187,10 @@ public abstract class OsmandPlugin {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void registerLayerContextMenu(OsmandMapTileView mapView, ContextMenuAdapter adapter) {
|
public static void registerLayerContextMenu(OsmandMapTileView mapView, ContextMenuAdapter adapter, MapActivity mapActivity) {
|
||||||
for (OsmandPlugin plugin : activePlugins) {
|
for (OsmandPlugin plugin : activePlugins) {
|
||||||
plugin.registerLayerContextMenuActions(mapView, adapter);
|
plugin.registerLayerContextMenuActions(mapView, adapter, mapActivity);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -545,8 +545,6 @@ public class OsmandSettings {
|
||||||
public final OsmandPreference<Boolean> OFFLINE_POI_EDITION =
|
public final OsmandPreference<Boolean> OFFLINE_POI_EDITION =
|
||||||
new BooleanPreference("offline_poi_edition", false, true);
|
new BooleanPreference("offline_poi_edition", false, true);
|
||||||
|
|
||||||
public static final String LOCAL_OPENSTREETMAP_POINTS = "local_openstreetmap_points";
|
|
||||||
|
|
||||||
|
|
||||||
// this value string is synchronized with settings_pref.xml preference name
|
// this value string is synchronized with settings_pref.xml preference name
|
||||||
public final CommonPreference<DayNightMode> DAYNIGHT_MODE =
|
public final CommonPreference<DayNightMode> DAYNIGHT_MODE =
|
||||||
|
@ -575,11 +573,6 @@ public class OsmandSettings {
|
||||||
|
|
||||||
// this value string is synchronized with settings_pref.xml preference name
|
// this value string is synchronized with settings_pref.xml preference name
|
||||||
public final CommonPreference<Boolean> SAVE_TRACK_TO_GPX = new BooleanPreference("save_track_to_gpx", false, false);
|
public final CommonPreference<Boolean> SAVE_TRACK_TO_GPX = new BooleanPreference("save_track_to_gpx", false, false);
|
||||||
{
|
|
||||||
SAVE_TRACK_TO_GPX.setModeDefaultValue(ApplicationMode.CAR, true);
|
|
||||||
SAVE_TRACK_TO_GPX.setModeDefaultValue(ApplicationMode.BICYCLE, true);
|
|
||||||
SAVE_TRACK_TO_GPX.setModeDefaultValue(ApplicationMode.PEDESTRIAN, true);
|
|
||||||
}
|
|
||||||
|
|
||||||
// this value string is synchronized with settings_pref.xml preference name
|
// this value string is synchronized with settings_pref.xml preference name
|
||||||
public final OsmandPreference<Boolean> FAST_ROUTE_MODE = new BooleanPreference("fast_route_mode", true, false);
|
public final OsmandPreference<Boolean> FAST_ROUTE_MODE = new BooleanPreference("fast_route_mode", true, false);
|
||||||
|
@ -691,24 +684,24 @@ public class OsmandSettings {
|
||||||
}
|
}
|
||||||
|
|
||||||
// this value string is synchronized with settings_pref.xml preference name
|
// this value string is synchronized with settings_pref.xml preference name
|
||||||
public final CommonPreference<Boolean> MAP_VECTOR_DATA = new BooleanPreference("map_vector_data",
|
public final CommonPreference<Boolean> MAP_ONLINE_DATA = new BooleanPreference("map_online_data",
|
||||||
false, false);
|
false, true);
|
||||||
|
|
||||||
// this value string is synchronized with settings_pref.xml preference name
|
// this value string is synchronized with settings_pref.xml preference name
|
||||||
public final CommonPreference<String> MAP_OVERLAY = new StringPreference("map_overlay",
|
public final CommonPreference<String> MAP_OVERLAY = new StringPreference("map_overlay",
|
||||||
null, false);
|
null, true);
|
||||||
|
|
||||||
// this value string is synchronized with settings_pref.xml preference name
|
// this value string is synchronized with settings_pref.xml preference name
|
||||||
public final CommonPreference<String> MAP_UNDERLAY = new StringPreference("map_underlay",
|
public final CommonPreference<String> MAP_UNDERLAY = new StringPreference("map_underlay",
|
||||||
null, false);
|
null, true);
|
||||||
|
|
||||||
// this value string is synchronized with settings_pref.xml preference name
|
// this value string is synchronized with settings_pref.xml preference name
|
||||||
public final CommonPreference<Integer> MAP_OVERLAY_TRANSPARENCY = new IntPreference("overlay_transparency",
|
public final CommonPreference<Integer> MAP_OVERLAY_TRANSPARENCY = new IntPreference("overlay_transparency",
|
||||||
200, false);
|
200, true);
|
||||||
|
|
||||||
// this value string is synchronized with settings_pref.xml preference name
|
// this value string is synchronized with settings_pref.xml preference name
|
||||||
public final CommonPreference<Integer> MAP_TRANSPARENCY = new IntPreference("map_transparency",
|
public final CommonPreference<Integer> MAP_TRANSPARENCY = new IntPreference("map_transparency",
|
||||||
255, false);
|
255, true);
|
||||||
|
|
||||||
// this value string is synchronized with settings_pref.xml preference name
|
// this value string is synchronized with settings_pref.xml preference name
|
||||||
public final CommonPreference<String> MAP_TILE_SOURCES = new StringPreference("map_tile_sources",
|
public final CommonPreference<String> MAP_TILE_SOURCES = new StringPreference("map_tile_sources",
|
||||||
|
|
|
@ -620,11 +620,6 @@ public class DownloadIndexActivity extends OsmandExpandableListActivity {
|
||||||
if (vectorMapsToReindex) {
|
if (vectorMapsToReindex) {
|
||||||
ResourceManager manager = getMyApplication().getResourceManager();
|
ResourceManager manager = getMyApplication().getResourceManager();
|
||||||
List<String> warnings = manager.indexingMaps(progress);
|
List<String> warnings = manager.indexingMaps(progress);
|
||||||
if (warnings.isEmpty() && !settings.MAP_VECTOR_DATA.get()) {
|
|
||||||
warnings.add(getString(R.string.binary_map_download_success));
|
|
||||||
// Is it proper way to switch every tome to vector data?
|
|
||||||
settings.MAP_VECTOR_DATA.set(true);
|
|
||||||
}
|
|
||||||
if (!warnings.isEmpty()) {
|
if (!warnings.isEmpty()) {
|
||||||
return warnings.get(0);
|
return warnings.get(0);
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,13 +13,15 @@ import java.util.Set;
|
||||||
import net.osmand.Algoritms;
|
import net.osmand.Algoritms;
|
||||||
import net.osmand.GPXUtilities.WptPt;
|
import net.osmand.GPXUtilities.WptPt;
|
||||||
import net.osmand.IProgress;
|
import net.osmand.IProgress;
|
||||||
import net.osmand.OpenstreetmapRemoteUtil;
|
|
||||||
import net.osmand.access.AccessibleToast;
|
import net.osmand.access.AccessibleToast;
|
||||||
|
import net.osmand.plus.OsmandPlugin;
|
||||||
import net.osmand.plus.OsmandSettings;
|
import net.osmand.plus.OsmandSettings;
|
||||||
import net.osmand.plus.R;
|
import net.osmand.plus.R;
|
||||||
import net.osmand.plus.ResourceManager;
|
import net.osmand.plus.ResourceManager;
|
||||||
import net.osmand.plus.activities.LocalIndexHelper.LocalIndexInfo;
|
import net.osmand.plus.activities.LocalIndexHelper.LocalIndexInfo;
|
||||||
import net.osmand.plus.activities.LocalIndexHelper.LocalIndexType;
|
import net.osmand.plus.activities.LocalIndexHelper.LocalIndexType;
|
||||||
|
import net.osmand.plus.development.OsmandDevelopmentPlugin;
|
||||||
|
import net.osmand.plus.osmedit.OpenstreetmapRemoteUtil;
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.app.AlertDialog;
|
import android.app.AlertDialog;
|
||||||
import android.app.AlertDialog.Builder;
|
import android.app.AlertDialog.Builder;
|
||||||
|
@ -166,7 +168,9 @@ public class LocalIndexesActivity extends OsmandExpandableListActivity {
|
||||||
final List<Integer> menu = new ArrayList<Integer>();
|
final List<Integer> menu = new ArrayList<Integer>();
|
||||||
if(info.getType() == LocalIndexType.GPX_DATA){
|
if(info.getType() == LocalIndexType.GPX_DATA){
|
||||||
menu.add(R.string.show_gpx_route);
|
menu.add(R.string.show_gpx_route);
|
||||||
menu.add(R.string.local_index_mi_upload_gpx);
|
if(OsmandPlugin.getEnabledPlugin(OsmandDevelopmentPlugin.class) instanceof OsmandDevelopmentPlugin) {
|
||||||
|
menu.add(R.string.local_index_mi_upload_gpx);
|
||||||
|
}
|
||||||
descriptionLoader = new LoadLocalIndexDescriptionTask();
|
descriptionLoader = new LoadLocalIndexDescriptionTask();
|
||||||
descriptionLoader.execute(info);
|
descriptionLoader.execute(info);
|
||||||
}
|
}
|
||||||
|
@ -442,6 +446,7 @@ public class LocalIndexesActivity extends OsmandExpandableListActivity {
|
||||||
if (!isCancelled()) {
|
if (!isCancelled()) {
|
||||||
String warning = null;
|
String warning = null;
|
||||||
File file = new File(info.getPathToData());
|
File file = new File(info.getPathToData());
|
||||||
|
// FIXME should be plugin functionality and do not use remote util directly
|
||||||
warning = new OpenstreetmapRemoteUtil(LocalIndexesActivity.this, null).uploadGPXFile(tagstring, description, visibility, file);
|
warning = new OpenstreetmapRemoteUtil(LocalIndexesActivity.this, null).uploadGPXFile(tagstring, description, visibility, file);
|
||||||
total++;
|
total++;
|
||||||
if (warning == null) {
|
if (warning == null) {
|
||||||
|
@ -557,7 +562,9 @@ public class LocalIndexesActivity extends OsmandExpandableListActivity {
|
||||||
menu.add(0, R.string.local_index_mi_restore, 1, getString(R.string.local_index_mi_restore)+"...");
|
menu.add(0, R.string.local_index_mi_restore, 1, getString(R.string.local_index_mi_restore)+"...");
|
||||||
menu.add(0, R.string.local_index_mi_delete, 2, getString(R.string.local_index_mi_delete)+"...");
|
menu.add(0, R.string.local_index_mi_delete, 2, getString(R.string.local_index_mi_delete)+"...");
|
||||||
menu.add(0, R.string.local_index_mi_reload, 3, R.string.local_index_mi_reload);
|
menu.add(0, R.string.local_index_mi_reload, 3, R.string.local_index_mi_reload);
|
||||||
menu.add(0, R.string.local_index_mi_upload_gpx, 4, getString(R.string.local_index_mi_upload_gpx)+"...");
|
if(OsmandPlugin.getEnabledPlugin(OsmandDevelopmentPlugin.class) instanceof OsmandDevelopmentPlugin) {
|
||||||
|
menu.add(0, R.string.local_index_mi_upload_gpx, 4, getString(R.string.local_index_mi_upload_gpx)+"...");
|
||||||
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -164,16 +164,6 @@ public class MapActivity extends AccessibleActivity implements IMapLocationListe
|
||||||
startProgressDialog = new ProgressDialog(this);
|
startProgressDialog = new ProgressDialog(this);
|
||||||
startProgressDialog.setCancelable(true);
|
startProgressDialog.setCancelable(true);
|
||||||
((OsmandApplication) getApplication()).checkApplicationIsBeingInitialized(this, startProgressDialog);
|
((OsmandApplication) getApplication()).checkApplicationIsBeingInitialized(this, startProgressDialog);
|
||||||
// Do some action on close
|
|
||||||
startProgressDialog.setOnDismissListener(new DialogInterface.OnDismissListener() {
|
|
||||||
@Override
|
|
||||||
public void onDismiss(DialogInterface dialog) {
|
|
||||||
OsmandApplication app = ((OsmandApplication) getApplication());
|
|
||||||
if (settings.MAP_VECTOR_DATA.get() && app.getResourceManager().getRenderer().isEmpty()) {
|
|
||||||
AccessibleToast.makeText(MapActivity.this, getString(R.string.no_vector_map_loaded), Toast.LENGTH_LONG).show();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
parseLaunchIntentLocation();
|
parseLaunchIntentLocation();
|
||||||
|
|
||||||
mapView = (OsmandMapTileView) findViewById(R.id.MapView);
|
mapView = (OsmandMapTileView) findViewById(R.id.MapView);
|
||||||
|
@ -183,7 +173,14 @@ public class MapActivity extends AccessibleActivity implements IMapLocationListe
|
||||||
showAndHideMapPosition();
|
showAndHideMapPosition();
|
||||||
return MapActivity.this.onTrackballEvent(e);
|
return MapActivity.this.onTrackballEvent(e);
|
||||||
}
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// Do some action on close
|
||||||
|
startProgressDialog.setOnDismissListener(new DialogInterface.OnDismissListener() {
|
||||||
|
@Override
|
||||||
|
public void onDismiss(DialogInterface dialog) {
|
||||||
|
mapView.refreshMap();
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
getMyApplication().getResourceManager().getMapTileDownloader().addDownloaderCallback(new IMapDownloaderCallback(){
|
getMyApplication().getResourceManager().getMapTileDownloader().addDownloaderCallback(new IMapDownloaderCallback(){
|
||||||
|
@ -260,7 +257,6 @@ public class MapActivity extends AccessibleActivity implements IMapLocationListe
|
||||||
setVolumeControlStream(AudioManager.STREAM_MUSIC);
|
setVolumeControlStream(AudioManager.STREAM_MUSIC);
|
||||||
}
|
}
|
||||||
|
|
||||||
mapLayers.updateMapSource(mapView, null);
|
|
||||||
updateApplicationModeSettings();
|
updateApplicationModeSettings();
|
||||||
|
|
||||||
mapLayers.getPoiMapLayer().setFilter(settings.getPoiFilterForMap((OsmandApplication) getApplication()));
|
mapLayers.getPoiMapLayer().setFilter(settings.getPoiFilterForMap((OsmandApplication) getApplication()));
|
||||||
|
@ -1001,7 +997,7 @@ public class MapActivity extends AccessibleActivity implements IMapLocationListe
|
||||||
registerUnregisterSensor(getLastKnownLocation());
|
registerUnregisterSensor(getLastKnownLocation());
|
||||||
mapLayers.getMapInfoLayer().applyTheme();
|
mapLayers.getMapInfoLayer().applyTheme();
|
||||||
mapLayers.updateLayers(mapView);
|
mapLayers.updateLayers(mapView);
|
||||||
mapLayers.updateMapSource(mapView, settings.MAP_TILE_SOURCES);
|
|
||||||
getMyApplication().getDaynightHelper().setDayNightMode(settings.DAYNIGHT_MODE.get());
|
getMyApplication().getDaynightHelper().setDayNightMode(settings.DAYNIGHT_MODE.get());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -200,7 +200,7 @@ public class MapActivityActions implements DialogProvider {
|
||||||
return b.create();
|
return b.create();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void addWaypoint(final double latitude, final double longitude){
|
public void addWaypoint(final double latitude, final double longitude){
|
||||||
String name = mapActivity.getMapLayers().getContextMenuLayer().getSelectedObjectName();
|
String name = mapActivity.getMapLayers().getContextMenuLayer().getSelectedObjectName();
|
||||||
enhance(dialogBundle,latitude,longitude, name);
|
enhance(dialogBundle,latitude,longitude, name);
|
||||||
mapActivity.showDialog(DIALOG_ADD_WAYPOINT);
|
mapActivity.showDialog(DIALOG_ADD_WAYPOINT);
|
||||||
|
@ -234,58 +234,13 @@ public class MapActivityActions implements DialogProvider {
|
||||||
return builder.create();
|
return builder.create();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void reloadTile(final int zoom, final double latitude, final double longitude){
|
public void reloadTile(final int zoom, final double latitude, final double longitude){
|
||||||
enhance(dialogBundle,latitude,longitude,zoom);
|
enhance(dialogBundle,latitude,longitude,zoom);
|
||||||
mapActivity.showDialog(DIALOG_RELOAD_TITLE);
|
mapActivity.showDialog(DIALOG_RELOAD_TITLE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private Dialog createReloadTitleDialog(final Bundle args) {
|
|
||||||
Builder builder = new AccessibleAlertBuilder(mapActivity);
|
|
||||||
builder.setMessage(R.string.context_menu_item_update_map_confirm);
|
|
||||||
builder.setNegativeButton(R.string.default_buttons_cancel, null);
|
|
||||||
final OsmandMapTileView mapView = mapActivity.getMapView();
|
|
||||||
builder.setPositiveButton(R.string.context_menu_item_update_map, new DialogInterface.OnClickListener(){
|
|
||||||
@Override
|
|
||||||
public void onClick(DialogInterface dialog, int which) {
|
|
||||||
int zoom = args.getInt(KEY_ZOOM);
|
|
||||||
BaseMapLayer mainLayer = mapView.getMainLayer();
|
|
||||||
if(!(mainLayer instanceof MapTileLayer) || !((MapTileLayer) mainLayer).isVisible()){
|
|
||||||
AccessibleToast.makeText(mapActivity, R.string.maps_could_not_be_downloaded, Toast.LENGTH_SHORT).show();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
final ITileSource mapSource = ((MapTileLayer) mainLayer).getMap();
|
|
||||||
if(mapSource == null || !mapSource.couldBeDownloadedFromInternet()){
|
|
||||||
AccessibleToast.makeText(mapActivity, R.string.maps_could_not_be_downloaded, Toast.LENGTH_SHORT).show();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
Rect pixRect = new Rect(0, 0, mapView.getWidth(), mapView.getHeight());
|
|
||||||
RectF tilesRect = new RectF();
|
|
||||||
mapView.calculateTileRectangle(pixRect, mapView.getCenterPointX(), mapView.getCenterPointY(),
|
|
||||||
mapView.getXTile(), mapView.getYTile(), tilesRect);
|
|
||||||
int left = (int) FloatMath.floor(tilesRect.left);
|
|
||||||
int top = (int) FloatMath.floor(tilesRect.top);
|
|
||||||
int width = (int) (FloatMath.ceil(tilesRect.right) - left);
|
|
||||||
int height = (int) (FloatMath.ceil(tilesRect.bottom) - top);
|
|
||||||
for (int i = 0; i <width; i++) {
|
|
||||||
for (int j = 0; j< height; j++) {
|
|
||||||
((OsmandApplication)mapActivity.getApplication()).getResourceManager().
|
|
||||||
clearTileImageForMap(null, mapSource, i + left, j + top, zoom);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
mapView.refreshMap();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
builder.setNeutralButton(R.string.context_menu_item_update_poi, new DialogInterface.OnClickListener(){
|
|
||||||
@Override
|
|
||||||
public void onClick(DialogInterface dialog, int which) {
|
|
||||||
updatePoiDb(args.getInt(KEY_ZOOM), args.getDouble(KEY_LATITUDE), args.getDouble(KEY_LONGITUDE));
|
|
||||||
}
|
|
||||||
});
|
|
||||||
return builder.create();
|
|
||||||
}
|
|
||||||
|
|
||||||
protected String getString(int res){
|
protected String getString(int res){
|
||||||
return mapActivity.getString(res);
|
return mapActivity.getString(res);
|
||||||
|
@ -726,13 +681,8 @@ public class MapActivityActions implements DialogProvider {
|
||||||
adapter.registerItem(R.string.context_menu_item_search);
|
adapter.registerItem(R.string.context_menu_item_search);
|
||||||
adapter.registerItem(R.string.context_menu_item_add_favorite);
|
adapter.registerItem(R.string.context_menu_item_add_favorite);
|
||||||
adapter.registerItem(R.string.context_menu_item_share_location);
|
adapter.registerItem(R.string.context_menu_item_share_location);
|
||||||
adapter.registerItem(R.string.context_menu_item_add_waypoint);
|
|
||||||
OsmandPlugin.registerMapContextMenu(mapActivity, latitude, longitude, adapter, selectedObj);
|
|
||||||
|
|
||||||
if (mapView.getMainLayer() instanceof MapTileLayer) {
|
OsmandPlugin.registerMapContextMenu(mapActivity, latitude, longitude, adapter, selectedObj);
|
||||||
adapter.registerItem(R.string.context_menu_item_update_map);
|
|
||||||
adapter.registerItem(R.string.context_menu_item_download_map);
|
|
||||||
}
|
|
||||||
|
|
||||||
builder.setItems(adapter.getItemNames(), new DialogInterface.OnClickListener() {
|
builder.setItems(adapter.getItemNames(), new DialogInterface.OnClickListener() {
|
||||||
|
|
||||||
|
@ -741,7 +691,7 @@ public class MapActivityActions implements DialogProvider {
|
||||||
int standardId = adapter.getItemId(which );
|
int standardId = adapter.getItemId(which );
|
||||||
OnContextMenuClick click = adapter.getClickAdapter(which);
|
OnContextMenuClick click = adapter.getClickAdapter(which);
|
||||||
if(click != null) {
|
if(click != null) {
|
||||||
click.onContextMenuClick(standardId, which, false);
|
click.onContextMenuClick(standardId, which, false, dialog);
|
||||||
} else if (standardId == R.string.context_menu_item_navigate_point) {
|
} else if (standardId == R.string.context_menu_item_navigate_point) {
|
||||||
mapActivity.navigateToPoint(new LatLon(latitude, longitude));
|
mapActivity.navigateToPoint(new LatLon(latitude, longitude));
|
||||||
} else if (standardId == R.string.context_menu_item_show_route) {
|
} else if (standardId == R.string.context_menu_item_show_route) {
|
||||||
|
@ -756,18 +706,60 @@ public class MapActivityActions implements DialogProvider {
|
||||||
addFavouritePoint(latitude, longitude);
|
addFavouritePoint(latitude, longitude);
|
||||||
} else if (standardId == R.string.context_menu_item_share_location) {
|
} else if (standardId == R.string.context_menu_item_share_location) {
|
||||||
shareLocation(latitude, longitude, mapView.getZoom());
|
shareLocation(latitude, longitude, mapView.getZoom());
|
||||||
} else if (standardId == R.string.context_menu_item_add_waypoint) {
|
}
|
||||||
addWaypoint(latitude, longitude);
|
|
||||||
} else if (standardId == R.string.context_menu_item_update_map) {
|
|
||||||
reloadTile(mapView.getZoom(), latitude, longitude);
|
|
||||||
} else if (standardId == R.string.context_menu_item_download_map) {
|
|
||||||
DownloadTilesDialog dlg = new DownloadTilesDialog(mapActivity, (OsmandApplication) mapActivity.getApplication(), mapView);
|
|
||||||
dlg.openDialog();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
builder.create().show();
|
builder.create().show();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private Dialog createReloadTitleDialog(final Bundle args) {
|
||||||
|
Builder builder = new AccessibleAlertBuilder(mapActivity);
|
||||||
|
builder.setMessage(R.string.context_menu_item_update_map_confirm);
|
||||||
|
builder.setNegativeButton(R.string.default_buttons_cancel, null);
|
||||||
|
final OsmandMapTileView mapView = mapActivity.getMapView();
|
||||||
|
builder.setPositiveButton(R.string.context_menu_item_update_map, new DialogInterface.OnClickListener(){
|
||||||
|
@Override
|
||||||
|
public void onClick(DialogInterface dialog, int which) {
|
||||||
|
int zoom = args.getInt(KEY_ZOOM);
|
||||||
|
BaseMapLayer mainLayer = mapView.getMainLayer();
|
||||||
|
if(!(mainLayer instanceof MapTileLayer) || !((MapTileLayer) mainLayer).isVisible()){
|
||||||
|
AccessibleToast.makeText(mapActivity, R.string.maps_could_not_be_downloaded, Toast.LENGTH_SHORT).show();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
final ITileSource mapSource = ((MapTileLayer) mainLayer).getMap();
|
||||||
|
if(mapSource == null || !mapSource.couldBeDownloadedFromInternet()){
|
||||||
|
AccessibleToast.makeText(mapActivity, R.string.maps_could_not_be_downloaded, Toast.LENGTH_SHORT).show();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
Rect pixRect = new Rect(0, 0, mapView.getWidth(), mapView.getHeight());
|
||||||
|
RectF tilesRect = new RectF();
|
||||||
|
mapView.calculateTileRectangle(pixRect, mapView.getCenterPointX(), mapView.getCenterPointY(),
|
||||||
|
mapView.getXTile(), mapView.getYTile(), tilesRect);
|
||||||
|
int left = (int) FloatMath.floor(tilesRect.left);
|
||||||
|
int top = (int) FloatMath.floor(tilesRect.top);
|
||||||
|
int width = (int) (FloatMath.ceil(tilesRect.right) - left);
|
||||||
|
int height = (int) (FloatMath.ceil(tilesRect.bottom) - top);
|
||||||
|
for (int i = 0; i <width; i++) {
|
||||||
|
for (int j = 0; j< height; j++) {
|
||||||
|
((OsmandApplication)mapActivity.getApplication()).getResourceManager().
|
||||||
|
clearTileImageForMap(null, mapSource, i + left, j + top, zoom);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
mapView.refreshMap();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
builder.setNeutralButton(R.string.context_menu_item_update_poi, new DialogInterface.OnClickListener(){
|
||||||
|
@Override
|
||||||
|
public void onClick(DialogInterface dialog, int which) {
|
||||||
|
updatePoiDb(args.getInt(KEY_ZOOM), args.getDouble(KEY_LATITUDE), args.getDouble(KEY_LONGITUDE));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return builder.create();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Dialog onCreateDialog(int id) {
|
public Dialog onCreateDialog(int id) {
|
||||||
|
|
|
@ -10,7 +10,6 @@ import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Map.Entry;
|
import java.util.Map.Entry;
|
||||||
|
|
||||||
import net.osmand.Algoritms;
|
|
||||||
import net.osmand.CallbackWithObject;
|
import net.osmand.CallbackWithObject;
|
||||||
import net.osmand.GPXUtilities;
|
import net.osmand.GPXUtilities;
|
||||||
import net.osmand.GPXUtilities.GPXFile;
|
import net.osmand.GPXUtilities.GPXFile;
|
||||||
|
@ -32,10 +31,9 @@ import net.osmand.plus.PoiFiltersHelper;
|
||||||
import net.osmand.plus.R;
|
import net.osmand.plus.R;
|
||||||
import net.osmand.plus.ResourceManager;
|
import net.osmand.plus.ResourceManager;
|
||||||
import net.osmand.plus.SQLiteTileSource;
|
import net.osmand.plus.SQLiteTileSource;
|
||||||
import net.osmand.plus.render.MapRenderRepositories;
|
import net.osmand.plus.rastermaps.OsmandRasterMapsPlugin;
|
||||||
import net.osmand.plus.render.MapVectorLayer;
|
import net.osmand.plus.render.MapVectorLayer;
|
||||||
import net.osmand.plus.routing.RoutingHelper;
|
import net.osmand.plus.routing.RoutingHelper;
|
||||||
import net.osmand.plus.views.BaseMapLayer;
|
|
||||||
import net.osmand.plus.views.ContextMenuLayer;
|
import net.osmand.plus.views.ContextMenuLayer;
|
||||||
import net.osmand.plus.views.FavoritesLayer;
|
import net.osmand.plus.views.FavoritesLayer;
|
||||||
import net.osmand.plus.views.GPXLayer;
|
import net.osmand.plus.views.GPXLayer;
|
||||||
|
@ -81,8 +79,6 @@ public class MapActivityLayers {
|
||||||
// the order of layer should be preserved ! when you are inserting new layer
|
// the order of layer should be preserved ! when you are inserting new layer
|
||||||
private MapTileLayer mapTileLayer;
|
private MapTileLayer mapTileLayer;
|
||||||
private MapVectorLayer mapVectorLayer;
|
private MapVectorLayer mapVectorLayer;
|
||||||
private MapTileLayer overlayLayer;
|
|
||||||
private MapTileLayer underlayLayer;
|
|
||||||
private GPXLayer gpxLayer;
|
private GPXLayer gpxLayer;
|
||||||
private RouteLayer routeLayer;
|
private RouteLayer routeLayer;
|
||||||
private POIMapLayer poiMapLayer;
|
private POIMapLayer poiMapLayer;
|
||||||
|
@ -109,9 +105,7 @@ public class MapActivityLayers {
|
||||||
|
|
||||||
RoutingHelper routingHelper = ((OsmandApplication) getApplication()).getRoutingHelper();
|
RoutingHelper routingHelper = ((OsmandApplication) getApplication()).getRoutingHelper();
|
||||||
|
|
||||||
underlayLayer = new MapTileLayer(false);
|
|
||||||
// mapView.addLayer(underlayLayer, -0.5f);
|
// mapView.addLayer(underlayLayer, -0.5f);
|
||||||
|
|
||||||
mapTileLayer = new MapTileLayer(true);
|
mapTileLayer = new MapTileLayer(true);
|
||||||
mapView.addLayer(mapTileLayer, 0.0f);
|
mapView.addLayer(mapTileLayer, 0.0f);
|
||||||
mapView.setMainLayer(mapTileLayer);
|
mapView.setMainLayer(mapTileLayer);
|
||||||
|
@ -120,7 +114,6 @@ public class MapActivityLayers {
|
||||||
mapVectorLayer = new MapVectorLayer(mapTileLayer);
|
mapVectorLayer = new MapVectorLayer(mapTileLayer);
|
||||||
mapView.addLayer(mapVectorLayer, 0.5f);
|
mapView.addLayer(mapVectorLayer, 0.5f);
|
||||||
|
|
||||||
overlayLayer = new MapTileLayer(false);
|
|
||||||
// mapView.addLayer(overlayLayer, 0.7f);
|
// mapView.addLayer(overlayLayer, 0.7f);
|
||||||
|
|
||||||
// 0.9 gpx layer
|
// 0.9 gpx layer
|
||||||
|
@ -167,6 +160,7 @@ public class MapActivityLayers {
|
||||||
|
|
||||||
public void updateLayers(OsmandMapTileView mapView){
|
public void updateLayers(OsmandMapTileView mapView){
|
||||||
OsmandSettings settings = getApplication().getSettings();
|
OsmandSettings settings = getApplication().getSettings();
|
||||||
|
updateMapSource(mapView, settings.MAP_TILE_SOURCES);
|
||||||
if(mapView.getLayers().contains(transportStopsLayer) != settings.SHOW_TRANSPORT_OVER_MAP.get()){
|
if(mapView.getLayers().contains(transportStopsLayer) != settings.SHOW_TRANSPORT_OVER_MAP.get()){
|
||||||
if(settings.SHOW_TRANSPORT_OVER_MAP.get()){
|
if(settings.SHOW_TRANSPORT_OVER_MAP.get()){
|
||||||
mapView.addLayer(transportStopsLayer, 5);
|
mapView.addLayer(transportStopsLayer, 5);
|
||||||
|
@ -191,7 +185,7 @@ public class MapActivityLayers {
|
||||||
mapView.removeLayer(favoritesLayer);
|
mapView.removeLayer(favoritesLayer);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
OsmandPlugin.refreshLayers(mapView);
|
OsmandPlugin.refreshLayers(mapView, activity);
|
||||||
updateGPXLayer();
|
updateGPXLayer();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -199,30 +193,20 @@ public class MapActivityLayers {
|
||||||
OsmandSettings settings = getApplication().getSettings();
|
OsmandSettings settings = getApplication().getSettings();
|
||||||
|
|
||||||
// update transparency
|
// update transparency
|
||||||
overlayLayer.setAlpha(settings.MAP_OVERLAY_TRANSPARENCY.get());
|
|
||||||
int mapTransparency = settings.MAP_UNDERLAY.get() == null ? 255 : settings.MAP_TRANSPARENCY.get();
|
int mapTransparency = settings.MAP_UNDERLAY.get() == null ? 255 : settings.MAP_TRANSPARENCY.get();
|
||||||
mapTileLayer.setAlpha(mapTransparency);
|
mapTileLayer.setAlpha(mapTransparency);
|
||||||
mapVectorLayer.setAlpha(mapTransparency);
|
mapVectorLayer.setAlpha(mapTransparency);
|
||||||
|
|
||||||
// update overlay layer
|
|
||||||
updateLayer(mapView, settings, overlayLayer, settings.MAP_OVERLAY, 0.7f, settings.MAP_OVERLAY == settingsToWarnAboutMap);
|
|
||||||
updateLayer(mapView, settings, underlayLayer, settings.MAP_UNDERLAY, -0.5f, settings.MAP_UNDERLAY == settingsToWarnAboutMap);
|
|
||||||
|
|
||||||
boolean vectorData = settings.MAP_VECTOR_DATA.get();
|
|
||||||
OsmandApplication app = ((OsmandApplication)getApplication());
|
|
||||||
ResourceManager rm = app.getResourceManager();
|
|
||||||
if(vectorData && !app.isApplicationInitializing()){
|
|
||||||
if(rm.getRenderer().isEmpty()){
|
|
||||||
AccessibleToast.makeText(activity, activity.getString(R.string.no_vector_map_loaded), Toast.LENGTH_LONG).show();
|
|
||||||
vectorData = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
ITileSource newSource = settings.getMapTileSource(settings.MAP_TILE_SOURCES == settingsToWarnAboutMap);
|
ITileSource newSource = settings.getMapTileSource(settings.MAP_TILE_SOURCES == settingsToWarnAboutMap);
|
||||||
ITileSource oldMap = mapTileLayer.getMap();
|
ITileSource oldMap = mapTileLayer.getMap();
|
||||||
if(oldMap instanceof SQLiteTileSource){
|
if (newSource != oldMap) {
|
||||||
((SQLiteTileSource)oldMap).closeDB();
|
if (oldMap instanceof SQLiteTileSource) {
|
||||||
|
((SQLiteTileSource) oldMap).closeDB();
|
||||||
|
}
|
||||||
|
mapTileLayer.setMap(newSource);
|
||||||
}
|
}
|
||||||
mapTileLayer.setMap(newSource);
|
|
||||||
|
boolean vectorData = !settings.MAP_ONLINE_DATA.get();
|
||||||
mapTileLayer.setVisible(!vectorData);
|
mapTileLayer.setVisible(!vectorData);
|
||||||
mapVectorLayer.setVisible(vectorData);
|
mapVectorLayer.setVisible(vectorData);
|
||||||
if(vectorData){
|
if(vectorData){
|
||||||
|
@ -232,24 +216,10 @@ public class MapActivityLayers {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void updateLayer(OsmandMapTileView mapView, OsmandSettings settings,
|
|
||||||
MapTileLayer layer, CommonPreference<String> preference, float layerOrder, boolean warnWhenSelected) {
|
|
||||||
ITileSource overlay = settings.getTileSourceByName(preference.get(), warnWhenSelected);
|
|
||||||
if(!Algoritms.objectEquals(overlay, layer.getMap())){
|
|
||||||
if(overlay == null){
|
|
||||||
mapView.removeLayer(layer);
|
|
||||||
} else {
|
|
||||||
mapView.addLayer(layer, layerOrder);
|
|
||||||
}
|
|
||||||
layer.setMap(overlay);
|
|
||||||
mapView.refreshMap();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void openLayerSelectionDialog(final OsmandMapTileView mapView){
|
public void openLayerSelectionDialog(final OsmandMapTileView mapView){
|
||||||
final OsmandSettings settings = getApplication().getSettings();
|
final OsmandSettings settings = getApplication().getSettings();
|
||||||
final ContextMenuAdapter adapter = new ContextMenuAdapter(activity);
|
final ContextMenuAdapter adapter = new ContextMenuAdapter(activity);
|
||||||
adapter.registerSelectedItem(R.string.layer_map, -1, R.drawable.list_activities_map_src);
|
|
||||||
adapter.registerSelectedItem(R.string.layer_poi, settings.SHOW_POI_OVER_MAP.get() ? 1 : 0,
|
adapter.registerSelectedItem(R.string.layer_poi, settings.SHOW_POI_OVER_MAP.get() ? 1 : 0,
|
||||||
R.drawable.list_activities_poi);
|
R.drawable.list_activities_poi);
|
||||||
adapter.registerSelectedItem(R.string.layer_poi_label, settings.SHOW_POI_LABEL.get() ? 1 : 0,
|
adapter.registerSelectedItem(R.string.layer_poi_label, settings.SHOW_POI_LABEL.get() ? 1 : 0,
|
||||||
|
@ -270,12 +240,7 @@ public class MapActivityLayers {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
adapter.registerSelectedItem(R.string.layer_overlay, overlayLayer.getMap() != null ? 1 : 0,
|
OsmandPlugin.registerLayerContextMenu(mapView, adapter, activity);
|
||||||
R.drawable.list_activities_overlay_map);
|
|
||||||
adapter.registerSelectedItem(R.string.layer_underlay, underlayLayer.getMap() != null ? 1 : 0,
|
|
||||||
R.drawable.list_activities_underlay_map);
|
|
||||||
|
|
||||||
OsmandPlugin.registerLayerContextMenu(mapView, adapter);
|
|
||||||
|
|
||||||
|
|
||||||
final OnMultiChoiceClickListener listener = new DialogInterface.OnMultiChoiceClickListener() {
|
final OnMultiChoiceClickListener listener = new DialogInterface.OnMultiChoiceClickListener() {
|
||||||
|
@ -284,10 +249,7 @@ public class MapActivityLayers {
|
||||||
int itemId = adapter.getItemId(item);
|
int itemId = adapter.getItemId(item);
|
||||||
OnContextMenuClick clck = adapter.getClickAdapter(item);
|
OnContextMenuClick clck = adapter.getClickAdapter(item);
|
||||||
if(clck != null) {
|
if(clck != null) {
|
||||||
clck.onContextMenuClick(itemId, item, isChecked);
|
clck.onContextMenuClick(itemId, item, isChecked, dialog);
|
||||||
} else if (itemId == R.string.layer_map) {
|
|
||||||
dialog.dismiss();
|
|
||||||
selectMapLayer(mapView);
|
|
||||||
} else if(itemId == R.string.layer_poi){
|
} else if(itemId == R.string.layer_poi){
|
||||||
if(isChecked){
|
if(isChecked){
|
||||||
selectPOIFilterLayer(mapView);
|
selectPOIFilterLayer(mapView);
|
||||||
|
@ -311,24 +273,6 @@ public class MapActivityLayers {
|
||||||
transportInfoLayer.setVisible(isChecked);
|
transportInfoLayer.setVisible(isChecked);
|
||||||
} else if(itemId == R.string.layer_transport){
|
} else if(itemId == R.string.layer_transport){
|
||||||
settings.SHOW_TRANSPORT_OVER_MAP.set(isChecked);
|
settings.SHOW_TRANSPORT_OVER_MAP.set(isChecked);
|
||||||
} else if(itemId == R.string.layer_overlay){
|
|
||||||
if(overlayLayer.getMap() != null){
|
|
||||||
settings.MAP_OVERLAY.set(null);
|
|
||||||
updateMapSource(mapView, null);
|
|
||||||
} else {
|
|
||||||
dialog.dismiss();
|
|
||||||
selectMapOverlayLayer(mapView, settings.MAP_OVERLAY, settings.MAP_OVERLAY_TRANSPARENCY,
|
|
||||||
overlayLayer);
|
|
||||||
}
|
|
||||||
} else if(itemId == R.string.layer_underlay){
|
|
||||||
if(underlayLayer.getMap() != null){
|
|
||||||
settings.MAP_UNDERLAY.set(null);
|
|
||||||
updateMapSource(mapView, null);
|
|
||||||
} else {
|
|
||||||
dialog.dismiss();
|
|
||||||
selectMapOverlayLayer(mapView, settings.MAP_UNDERLAY,settings.MAP_TRANSPARENCY,
|
|
||||||
mapTileLayer, mapVectorLayer);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
updateLayers(mapView);
|
updateLayers(mapView);
|
||||||
mapView.refreshMap();
|
mapView.refreshMap();
|
||||||
|
@ -561,10 +505,15 @@ public class MapActivityLayers {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void selectMapLayer(final OsmandMapTileView mapView){
|
public void selectMapLayer(final OsmandMapTileView mapView){
|
||||||
|
if(OsmandPlugin.getEnabledPlugin(OsmandRasterMapsPlugin.class) == null) {
|
||||||
|
AccessibleToast.makeText(activity, R.string.map_online_plugin_is_not_installed, Toast.LENGTH_LONG).show();
|
||||||
|
return;
|
||||||
|
}
|
||||||
final OsmandSettings settings = getApplication().getSettings();
|
final OsmandSettings settings = getApplication().getSettings();
|
||||||
|
|
||||||
final LinkedHashMap<String, String> entriesMap = new LinkedHashMap<String, String>();
|
final LinkedHashMap<String, String> entriesMap = new LinkedHashMap<String, String>();
|
||||||
|
|
||||||
|
|
||||||
final String layerOsmVector = "LAYER_OSM_VECTOR";
|
final String layerOsmVector = "LAYER_OSM_VECTOR";
|
||||||
final String layerInstallMore = "LAYER_INSTALL_MORE";
|
final String layerInstallMore = "LAYER_INSTALL_MORE";
|
||||||
|
|
||||||
|
@ -579,7 +528,7 @@ public class MapActivityLayers {
|
||||||
String selectedTileSourceKey = settings.MAP_TILE_SOURCES.get();
|
String selectedTileSourceKey = settings.MAP_TILE_SOURCES.get();
|
||||||
|
|
||||||
int selectedItem = -1;
|
int selectedItem = -1;
|
||||||
if (settings.MAP_VECTOR_DATA.get()) {
|
if (!settings.MAP_ONLINE_DATA.get()) {
|
||||||
selectedItem = 0;
|
selectedItem = 0;
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
|
@ -608,13 +557,7 @@ public class MapActivityLayers {
|
||||||
public void onClick(DialogInterface dialog, int which) {
|
public void onClick(DialogInterface dialog, int which) {
|
||||||
String layerKey = entriesMapList.get(which).getKey();
|
String layerKey = entriesMapList.get(which).getKey();
|
||||||
if (layerKey.equals(layerOsmVector)) {
|
if (layerKey.equals(layerOsmVector)) {
|
||||||
MapRenderRepositories r = ((OsmandApplication) getApplication()).getResourceManager().getRenderer();
|
settings.MAP_ONLINE_DATA.set(false);
|
||||||
if (r.isEmpty()) {
|
|
||||||
AccessibleToast.makeText(activity, getString(R.string.no_vector_map_loaded), Toast.LENGTH_LONG).show();
|
|
||||||
return;
|
|
||||||
} else {
|
|
||||||
settings.MAP_VECTOR_DATA.set(true);
|
|
||||||
}
|
|
||||||
updateMapSource(mapView, null);
|
updateMapSource(mapView, null);
|
||||||
} else if (layerKey.equals(layerInstallMore)) {
|
} else if (layerKey.equals(layerInstallMore)) {
|
||||||
SettingsActivity.installMapLayers(activity, new ResultMatcher<TileSourceTemplate>() {
|
SettingsActivity.installMapLayers(activity, new ResultMatcher<TileSourceTemplate>() {
|
||||||
|
@ -625,7 +568,7 @@ public class MapActivityLayers {
|
||||||
if(object == null){
|
if(object == null){
|
||||||
if(count == 1){
|
if(count == 1){
|
||||||
settings.MAP_TILE_SOURCES.set(template.getName());
|
settings.MAP_TILE_SOURCES.set(template.getName());
|
||||||
settings.MAP_VECTOR_DATA.set(false);
|
settings.MAP_ONLINE_DATA.set(true);
|
||||||
updateMapSource(mapView, settings.MAP_TILE_SOURCES);
|
updateMapSource(mapView, settings.MAP_TILE_SOURCES);
|
||||||
} else {
|
} else {
|
||||||
selectMapLayer(mapView);
|
selectMapLayer(mapView);
|
||||||
|
@ -644,7 +587,7 @@ public class MapActivityLayers {
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
settings.MAP_TILE_SOURCES.set(layerKey);
|
settings.MAP_TILE_SOURCES.set(layerKey);
|
||||||
settings.MAP_VECTOR_DATA.set(false);
|
settings.MAP_ONLINE_DATA.set(true);
|
||||||
updateMapSource(mapView, settings.MAP_TILE_SOURCES);
|
updateMapSource(mapView, settings.MAP_TILE_SOURCES);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -655,62 +598,6 @@ public class MapActivityLayers {
|
||||||
builder.show();
|
builder.show();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void selectMapOverlayLayer(final OsmandMapTileView mapView,
|
|
||||||
final CommonPreference<String> mapPref, final CommonPreference<Integer> transparencyPref,
|
|
||||||
final BaseMapLayer... transparencyToChange){
|
|
||||||
final OsmandSettings settings = getApplication().getSettings();
|
|
||||||
Map<String, String> entriesMap = settings.getTileSourceEntries();
|
|
||||||
final ArrayList<String> keys = new ArrayList<String>(entriesMap.keySet());
|
|
||||||
Builder builder = new AlertDialog.Builder(activity);
|
|
||||||
final String[] items = new String[entriesMap.size() + 1];
|
|
||||||
int i = 0;
|
|
||||||
for(String it : entriesMap.values()){
|
|
||||||
items[i++] = it;
|
|
||||||
}
|
|
||||||
|
|
||||||
items[i] = getString(R.string.install_more);
|
|
||||||
builder.setSingleChoiceItems(items, -1, new DialogInterface.OnClickListener(){
|
|
||||||
@Override
|
|
||||||
public void onClick(DialogInterface dialog, int which) {
|
|
||||||
if (which == items.length - 1){
|
|
||||||
SettingsActivity.installMapLayers(activity, new ResultMatcher<TileSourceTemplate>() {
|
|
||||||
TileSourceTemplate template = null;
|
|
||||||
int count = 0;
|
|
||||||
@Override
|
|
||||||
public boolean publish(TileSourceTemplate object) {
|
|
||||||
if(object == null){
|
|
||||||
if(count == 1){
|
|
||||||
mapPref.set(template.getName());
|
|
||||||
mapControlsLayer.showAndHideTransparencyBar(transparencyPref, transparencyToChange);
|
|
||||||
updateMapSource(mapView, mapPref);
|
|
||||||
} else {
|
|
||||||
selectMapOverlayLayer(mapView, mapPref, transparencyPref, transparencyToChange);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
count ++;
|
|
||||||
template = object;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean isCancelled() {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
mapPref.set(keys.get(which));
|
|
||||||
mapControlsLayer.showAndHideTransparencyBar(transparencyPref, transparencyToChange);
|
|
||||||
updateMapSource(mapView, mapPref);
|
|
||||||
}
|
|
||||||
|
|
||||||
dialog.dismiss();
|
|
||||||
}
|
|
||||||
|
|
||||||
});
|
|
||||||
builder.show();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
private String getString(int resId) {
|
private String getString(int resId) {
|
||||||
return activity.getString(resId);
|
return activity.getString(resId);
|
||||||
|
@ -739,6 +626,18 @@ public class MapActivityLayers {
|
||||||
return mapInfoLayer;
|
return mapInfoLayer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public MapControlsLayer getMapControlsLayer() {
|
||||||
|
return mapControlsLayer;
|
||||||
|
}
|
||||||
|
|
||||||
|
public MapTileLayer getMapTileLayer() {
|
||||||
|
return mapTileLayer;
|
||||||
|
}
|
||||||
|
|
||||||
|
public MapVectorLayer getMapVectorLayer() {
|
||||||
|
return mapVectorLayer;
|
||||||
|
}
|
||||||
|
|
||||||
public POIMapLayer getPoiMapLayer() {
|
public POIMapLayer getPoiMapLayer() {
|
||||||
return poiMapLayer;
|
return poiMapLayer;
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,6 +17,7 @@ import android.widget.ArrayAdapter;
|
||||||
import android.widget.ImageView;
|
import android.widget.ImageView;
|
||||||
import android.widget.ListView;
|
import android.widget.ListView;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
import android.widget.Toast;
|
||||||
|
|
||||||
public class PluginsActivity extends OsmandListActivity {
|
public class PluginsActivity extends OsmandListActivity {
|
||||||
|
|
||||||
|
@ -45,14 +46,16 @@ public class PluginsActivity extends OsmandListActivity {
|
||||||
protected void onListItemClick(ListView l, View v, int position, long id) {
|
protected void onListItemClick(ListView l, View v, int position, long id) {
|
||||||
super.onListItemClick(l, v, position, id);
|
super.onListItemClick(l, v, position, id);
|
||||||
OsmandPlugin item = getListAdapter().getItem(position);
|
OsmandPlugin item = getListAdapter().getItem(position);
|
||||||
boolean enable = true;
|
boolean enable = !restartPlugins.contains(item.getId());
|
||||||
if(restartPlugins.contains(item.getId())) {
|
|
||||||
restartPlugins.remove(item.getId());
|
boolean ok = OsmandPlugin.enablePlugin(((OsmandApplication) getApplication()), item, enable);
|
||||||
enable = false;
|
if (ok) {
|
||||||
} else {
|
if (!enable) {
|
||||||
restartPlugins.add(item.getId());
|
restartPlugins.remove(item.getId());
|
||||||
|
} else {
|
||||||
|
restartPlugins.add(item.getId());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
((OsmandApplication) getApplication()).getSettings().enablePlugin(item.getId(), enable);
|
|
||||||
getListAdapter().notifyDataSetInvalidated();
|
getListAdapter().notifyDataSetInvalidated();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -86,9 +89,9 @@ public class PluginsActivity extends OsmandListActivity {
|
||||||
description.setText(plugin.getDescription());
|
description.setText(plugin.getDescription());
|
||||||
boolean enabled = enabledPlugins.contains(plugin.getId());
|
boolean enabled = enabledPlugins.contains(plugin.getId());
|
||||||
boolean toBeEnabled = restartPlugins.contains(plugin.getId());
|
boolean toBeEnabled = restartPlugins.contains(plugin.getId());
|
||||||
description.setTextColor(toBeEnabled? colorGreen : Color.GRAY);
|
description.setTextColor(toBeEnabled? colorGreen : Color.LTGRAY);
|
||||||
nameView.setTextColor(toBeEnabled? colorGreen : Color.GRAY);
|
nameView.setTextColor(toBeEnabled? colorGreen : Color.LTGRAY);
|
||||||
description.setTypeface(enabled? Typeface.DEFAULT_BOLD : Typeface.DEFAULT);
|
// description.setTypeface(enabled? Typeface.DEFAULT_BOLD : Typeface.DEFAULT);
|
||||||
nameView.setTypeface(enabled? Typeface.DEFAULT_BOLD : Typeface.DEFAULT);
|
nameView.setTypeface(enabled? Typeface.DEFAULT_BOLD : Typeface.DEFAULT);
|
||||||
|
|
||||||
return row;
|
return row;
|
||||||
|
|
|
@ -12,13 +12,11 @@ import java.util.Set;
|
||||||
|
|
||||||
import net.osmand.ResultMatcher;
|
import net.osmand.ResultMatcher;
|
||||||
import net.osmand.Version;
|
import net.osmand.Version;
|
||||||
import net.osmand.access.AccessibilityMode;
|
|
||||||
import net.osmand.access.AccessibleToast;
|
import net.osmand.access.AccessibleToast;
|
||||||
import net.osmand.access.RelativeDirectionStyle;
|
|
||||||
import net.osmand.map.TileSourceManager;
|
import net.osmand.map.TileSourceManager;
|
||||||
import net.osmand.map.TileSourceManager.TileSourceTemplate;
|
import net.osmand.map.TileSourceManager.TileSourceTemplate;
|
||||||
import net.osmand.plus.NavigationService;
|
|
||||||
import net.osmand.plus.OsmandApplication;
|
import net.osmand.plus.OsmandApplication;
|
||||||
|
import net.osmand.plus.OsmandPlugin;
|
||||||
import net.osmand.plus.OsmandSettings;
|
import net.osmand.plus.OsmandSettings;
|
||||||
import net.osmand.plus.OsmandSettings.CommonPreference;
|
import net.osmand.plus.OsmandSettings.CommonPreference;
|
||||||
import net.osmand.plus.OsmandSettings.DayNightMode;
|
import net.osmand.plus.OsmandSettings.DayNightMode;
|
||||||
|
@ -27,7 +25,6 @@ import net.osmand.plus.OsmandSettings.OsmandPreference;
|
||||||
import net.osmand.plus.ProgressDialogImplementation;
|
import net.osmand.plus.ProgressDialogImplementation;
|
||||||
import net.osmand.plus.R;
|
import net.osmand.plus.R;
|
||||||
import net.osmand.plus.ResourceManager;
|
import net.osmand.plus.ResourceManager;
|
||||||
import net.osmand.plus.render.MapRenderRepositories;
|
|
||||||
import net.osmand.plus.render.NativeOsmandLibrary;
|
import net.osmand.plus.render.NativeOsmandLibrary;
|
||||||
import net.osmand.plus.routing.RouteProvider.RouteService;
|
import net.osmand.plus.routing.RouteProvider.RouteService;
|
||||||
import net.osmand.plus.views.SeekBarPreference;
|
import net.osmand.plus.views.SeekBarPreference;
|
||||||
|
@ -37,16 +34,10 @@ import android.app.Activity;
|
||||||
import android.app.AlertDialog;
|
import android.app.AlertDialog;
|
||||||
import android.app.AlertDialog.Builder;
|
import android.app.AlertDialog.Builder;
|
||||||
import android.app.ProgressDialog;
|
import android.app.ProgressDialog;
|
||||||
import android.content.BroadcastReceiver;
|
|
||||||
import android.content.ComponentName;
|
|
||||||
import android.content.Context;
|
|
||||||
import android.content.DialogInterface;
|
import android.content.DialogInterface;
|
||||||
import android.content.DialogInterface.OnClickListener;
|
import android.content.DialogInterface.OnClickListener;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.IntentFilter;
|
|
||||||
import android.content.pm.ActivityInfo;
|
import android.content.pm.ActivityInfo;
|
||||||
import android.location.LocationManager;
|
|
||||||
import android.media.AudioManager;
|
|
||||||
import android.os.AsyncTask;
|
import android.os.AsyncTask;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.preference.CheckBoxPreference;
|
import android.preference.CheckBoxPreference;
|
||||||
|
@ -67,30 +58,21 @@ public class SettingsActivity extends PreferenceActivity implements OnPreference
|
||||||
public static final int SCREEN_NAVIGATION_SETTINGS = 2;
|
public static final int SCREEN_NAVIGATION_SETTINGS = 2;
|
||||||
public static final int SCREEN_MONITORING_SETTINGS = 3;
|
public static final int SCREEN_MONITORING_SETTINGS = 3;
|
||||||
|
|
||||||
private static final String MORE_VALUE = "MORE_VALUE";
|
public static final String SCREEN_ID_GENERAL_SETTINGS = "general_settings";
|
||||||
|
public static final String SCREEN_ID_NAVIGATION_SETTINGS = "routing_settings";
|
||||||
|
public static final String SCREEN_ID_MONITORING_SETTINGS = "monitor_settings";
|
||||||
|
public static final String MORE_VALUE = "MORE_VALUE";
|
||||||
|
|
||||||
private Preference saveCurrentTrack;
|
|
||||||
private Preference testVoiceCommands;
|
|
||||||
private Preference localOpenstreetmapPoints;
|
|
||||||
private Preference bidforfix;
|
private Preference bidforfix;
|
||||||
private Preference plugins;
|
private Preference plugins;
|
||||||
|
|
||||||
private EditTextPreference applicationDir;
|
private EditTextPreference applicationDir;
|
||||||
private ListPreference applicationModePreference;
|
private ListPreference applicationModePreference;
|
||||||
private ListPreference tileSourcePreference;
|
|
||||||
private ListPreference overlayPreference;
|
|
||||||
private ListPreference underlayPreference;
|
|
||||||
|
|
||||||
private ListPreference dayNightModePreference;
|
private ListPreference dayNightModePreference;
|
||||||
private ListPreference routerServicePreference;
|
private ListPreference routerServicePreference;
|
||||||
|
|
||||||
private ListPreference accessibilityModePreference;
|
public ProgressDialog progressDlg;
|
||||||
private ListPreference directionStylePreference;
|
|
||||||
|
|
||||||
private CheckBoxPreference routeServiceEnabled;
|
|
||||||
private BroadcastReceiver broadcastReceiver;
|
|
||||||
|
|
||||||
private ProgressDialog progressDlg;
|
|
||||||
|
|
||||||
private OsmandSettings osmandSettings;
|
private OsmandSettings osmandSettings;
|
||||||
|
|
||||||
|
@ -102,7 +84,7 @@ public class SettingsActivity extends PreferenceActivity implements OnPreference
|
||||||
|
|
||||||
private Map<String, Map<String, ?>> listPrefValues = new LinkedHashMap<String, Map<String, ?>>();
|
private Map<String, Map<String, ?>> listPrefValues = new LinkedHashMap<String, Map<String, ?>>();
|
||||||
|
|
||||||
private CheckBoxPreference registerBooleanPreference(OsmandPreference<Boolean> b, PreferenceScreen screen){
|
public CheckBoxPreference registerBooleanPreference(OsmandPreference<Boolean> b, PreferenceScreen screen){
|
||||||
CheckBoxPreference p = (CheckBoxPreference) screen.findPreference(b.getId());
|
CheckBoxPreference p = (CheckBoxPreference) screen.findPreference(b.getId());
|
||||||
p.setOnPreferenceChangeListener(this);
|
p.setOnPreferenceChangeListener(this);
|
||||||
screenPreferences.put(b.getId(), p);
|
screenPreferences.put(b.getId(), p);
|
||||||
|
@ -110,15 +92,49 @@ public class SettingsActivity extends PreferenceActivity implements OnPreference
|
||||||
return p;
|
return p;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void registerSeekBarPreference(OsmandPreference<Integer> b, PreferenceScreen screen){
|
public CheckBoxPreference createCheckBoxPreference(OsmandPreference<Boolean> b, int title, int summary){
|
||||||
|
CheckBoxPreference p = new CheckBoxPreference(this);
|
||||||
|
p.setTitle(title);
|
||||||
|
p.setSummary(summary);
|
||||||
|
p.setOnPreferenceChangeListener(this);
|
||||||
|
screenPreferences.put(b.getId(), p);
|
||||||
|
booleanPreferences.put(b.getId(), b);
|
||||||
|
return p;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void registerSeekBarPreference(OsmandPreference<Integer> b, PreferenceScreen screen){
|
||||||
SeekBarPreference p = (SeekBarPreference) screen.findPreference(b.getId());
|
SeekBarPreference p = (SeekBarPreference) screen.findPreference(b.getId());
|
||||||
p.setOnPreferenceChangeListener(this);
|
p.setOnPreferenceChangeListener(this);
|
||||||
screenPreferences.put(b.getId(), p);
|
screenPreferences.put(b.getId(), p);
|
||||||
seekBarPreferences.put(b.getId(), b);
|
seekBarPreferences.put(b.getId(), b);
|
||||||
}
|
}
|
||||||
|
|
||||||
private <T> void registerListPreference(OsmandPreference<T> b, PreferenceScreen screen, String[] names, T[] values){
|
public SeekBarPreference createSeekBarPreference(OsmandPreference<Integer> b, int title, int summary, int dialogTextId,
|
||||||
|
int defValue, int maxValue){
|
||||||
|
SeekBarPreference p = new SeekBarPreference(this, dialogTextId, defValue, maxValue);
|
||||||
|
p.setTitle(title);
|
||||||
|
p.setSummary(summary);
|
||||||
|
p.setOnPreferenceChangeListener(this);
|
||||||
|
screenPreferences.put(b.getId(), p);
|
||||||
|
seekBarPreferences.put(b.getId(), b);
|
||||||
|
return p;
|
||||||
|
}
|
||||||
|
|
||||||
|
public <T> void registerListPreference(OsmandPreference<T> b, PreferenceScreen screen, String[] names, T[] values){
|
||||||
ListPreference p = (ListPreference) screen.findPreference(b.getId());
|
ListPreference p = (ListPreference) screen.findPreference(b.getId());
|
||||||
|
prepareListPreference(b, names, values, p);
|
||||||
|
}
|
||||||
|
|
||||||
|
public <T> ListPreference createListPreference(OsmandPreference<T> b, String[] names, T[] values, int title, int summary){
|
||||||
|
ListPreference p = new ListPreference(this);
|
||||||
|
p.setTitle(title);
|
||||||
|
p.setDialogTitle(title);
|
||||||
|
p.setSummary(summary);
|
||||||
|
prepareListPreference(b, names, values, p);
|
||||||
|
return p;
|
||||||
|
}
|
||||||
|
|
||||||
|
private <T> void prepareListPreference(OsmandPreference<T> b, String[] names, T[] values, ListPreference p) {
|
||||||
p.setOnPreferenceChangeListener(this);
|
p.setOnPreferenceChangeListener(this);
|
||||||
LinkedHashMap<String, Object> vals = new LinkedHashMap<String, Object>();
|
LinkedHashMap<String, Object> vals = new LinkedHashMap<String, Object>();
|
||||||
screenPreferences.put(b.getId(), p);
|
screenPreferences.put(b.getId(), p);
|
||||||
|
@ -130,14 +146,26 @@ public class SettingsActivity extends PreferenceActivity implements OnPreference
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void registerEditTextPreference(OsmandPreference<String> b, PreferenceScreen screen){
|
public void registerEditTextPreference(OsmandPreference<String> b, PreferenceScreen screen){
|
||||||
EditTextPreference p = (EditTextPreference) screen.findPreference(b.getId());
|
EditTextPreference p = (EditTextPreference) screen.findPreference(b.getId());
|
||||||
p.setOnPreferenceChangeListener(this);
|
p.setOnPreferenceChangeListener(this);
|
||||||
screenPreferences.put(b.getId(), p);
|
screenPreferences.put(b.getId(), p);
|
||||||
editTextPreferences.put(b.getId(), b);
|
editTextPreferences.put(b.getId(), b);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void registerTimeListPreference(OsmandPreference<Integer> b, PreferenceScreen screen, int[] seconds, int[] minutes, int coeff){
|
public EditTextPreference createEditTextPreference(OsmandPreference<String> b, int title, int summary){
|
||||||
|
EditTextPreference p = new EditTextPreference(this);
|
||||||
|
p.setTitle(title);
|
||||||
|
p.setDialogTitle(title);
|
||||||
|
p.setSummary(summary);
|
||||||
|
p.setOnPreferenceChangeListener(this);
|
||||||
|
screenPreferences.put(b.getId(), p);
|
||||||
|
editTextPreferences.put(b.getId(), b);
|
||||||
|
return p;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void registerTimeListPreference(OsmandPreference<Integer> b, PreferenceScreen screen, int[] seconds, int[] minutes, int coeff){
|
||||||
int minutesLength = minutes == null? 0 : minutes.length;
|
int minutesLength = minutes == null? 0 : minutes.length;
|
||||||
int secondsLength = seconds == null? 0 : seconds.length;
|
int secondsLength = seconds == null? 0 : seconds.length;
|
||||||
Integer[] ints = new Integer[secondsLength + minutesLength];
|
Integer[] ints = new Integer[secondsLength + minutesLength];
|
||||||
|
@ -153,6 +181,22 @@ public class SettingsActivity extends PreferenceActivity implements OnPreference
|
||||||
registerListPreference(b, screen, intDescriptions, ints);
|
registerListPreference(b, screen, intDescriptions, ints);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public ListPreference createTimeListPreference(OsmandPreference<Integer> b, int[] seconds, int[] minutes, int coeff, int title, int summary){
|
||||||
|
int minutesLength = minutes == null? 0 : minutes.length;
|
||||||
|
int secondsLength = seconds == null? 0 : seconds.length;
|
||||||
|
Integer[] ints = new Integer[secondsLength + minutesLength];
|
||||||
|
String[] intDescriptions = new String[ints.length];
|
||||||
|
for (int i = 0; i < secondsLength; i++) {
|
||||||
|
ints[i] = seconds[i] * coeff;
|
||||||
|
intDescriptions[i] = seconds[i] + " " + getString(R.string.int_seconds); //$NON-NLS-1$
|
||||||
|
}
|
||||||
|
for (int i = 0; i < minutesLength; i++) {
|
||||||
|
ints[secondsLength + i] = (minutes[i] * 60) * coeff;
|
||||||
|
intDescriptions[secondsLength + i] = minutes[i] + " " + getString(R.string.int_min); //$NON-NLS-1$
|
||||||
|
}
|
||||||
|
return createListPreference(b, intDescriptions, ints, title, summary);
|
||||||
|
}
|
||||||
|
|
||||||
private Set<String> getVoiceFiles(){
|
private Set<String> getVoiceFiles(){
|
||||||
// read available voice data
|
// read available voice data
|
||||||
File extStorage = osmandSettings.extendOsmandPath(ResourceManager.VOICE_PATH);
|
File extStorage = osmandSettings.extendOsmandPath(ResourceManager.VOICE_PATH);
|
||||||
|
@ -181,45 +225,23 @@ public class SettingsActivity extends PreferenceActivity implements OnPreference
|
||||||
|
|
||||||
// BidForFixHelper bidForFixHelper = getMyApplication().getBidForFix();
|
// BidForFixHelper bidForFixHelper = getMyApplication().getBidForFix();
|
||||||
// bidForFixHelper.generatePreferenceList(screen, getString(R.string.support_new_features), this);
|
// bidForFixHelper.generatePreferenceList(screen, getString(R.string.support_new_features), this);
|
||||||
|
OsmandPlugin.onSettingsActivityCreate(this, screen);
|
||||||
|
|
||||||
registerBooleanPreference(osmandSettings.SHOW_VIEW_ANGLE,screen);
|
registerBooleanPreference(osmandSettings.SHOW_VIEW_ANGLE,screen);
|
||||||
registerBooleanPreference(osmandSettings.USE_TRACKBALL_FOR_MOVEMENTS,screen);
|
|
||||||
registerBooleanPreference(osmandSettings.ZOOM_BY_TRACKBALL,screen);
|
|
||||||
registerBooleanPreference(osmandSettings.SCROLL_MAP_BY_GESTURES,screen);
|
|
||||||
registerBooleanPreference(osmandSettings.USE_SHORT_OBJECT_NAMES,screen);
|
|
||||||
registerBooleanPreference(osmandSettings.ACCESSIBILITY_EXTENSIONS,screen);
|
|
||||||
registerBooleanPreference(osmandSettings.USE_HIGH_RES_MAPS,screen);
|
|
||||||
registerBooleanPreference(osmandSettings.USE_ENGLISH_NAMES,screen);
|
registerBooleanPreference(osmandSettings.USE_ENGLISH_NAMES,screen);
|
||||||
registerBooleanPreference(osmandSettings.AUTO_ZOOM_MAP,screen);
|
registerBooleanPreference(osmandSettings.AUTO_ZOOM_MAP,screen);
|
||||||
// try without AUTO_FOLLOW_ROUTE_NAV (see forum discussion 'Simplify our navigation preference menu')
|
|
||||||
//registerBooleanPreference(osmandSettings.AUTO_FOLLOW_ROUTE_NAV,screen);
|
|
||||||
registerBooleanPreference(osmandSettings.SAVE_TRACK_TO_GPX,screen);
|
|
||||||
registerBooleanPreference(osmandSettings.LIVE_MONITORING,screen);
|
|
||||||
registerBooleanPreference(osmandSettings.DEBUG_RENDERING_INFO,screen);
|
|
||||||
registerBooleanPreference(osmandSettings.FAST_ROUTE_MODE,screen);
|
registerBooleanPreference(osmandSettings.FAST_ROUTE_MODE,screen);
|
||||||
registerBooleanPreference(osmandSettings.USE_OSMAND_ROUTING_SERVICE_ALWAYS,screen);
|
registerBooleanPreference(osmandSettings.USE_OSMAND_ROUTING_SERVICE_ALWAYS,screen);
|
||||||
registerBooleanPreference(osmandSettings.USE_INTERNET_TO_DOWNLOAD_TILES,screen);
|
|
||||||
registerBooleanPreference(osmandSettings.MAP_VECTOR_DATA,screen);
|
|
||||||
registerBooleanPreference(osmandSettings.TRANSPARENT_MAP_THEME,screen);
|
|
||||||
registerBooleanPreference(osmandSettings.TEST_ANIMATE_ROUTING,screen);
|
|
||||||
registerBooleanPreference(osmandSettings.SHOW_ALTITUDE_INFO,screen);
|
registerBooleanPreference(osmandSettings.SHOW_ALTITUDE_INFO,screen);
|
||||||
registerBooleanPreference(osmandSettings.FLUORESCENT_OVERLAYS,screen);
|
|
||||||
registerBooleanPreference(osmandSettings.SHOW_RULER,screen);
|
|
||||||
CheckBoxPreference nativeCheckbox = registerBooleanPreference(osmandSettings.NATIVE_RENDERING,screen);
|
CheckBoxPreference nativeCheckbox = registerBooleanPreference(osmandSettings.NATIVE_RENDERING,screen);
|
||||||
//disable the checkbox if the library cannot be used
|
//disable the checkbox if the library cannot be used
|
||||||
if ((NativeOsmandLibrary.isLoaded() && !NativeOsmandLibrary.isSupported()) ||
|
if ((NativeOsmandLibrary.isLoaded() && !NativeOsmandLibrary.isSupported()) ||
|
||||||
osmandSettings.NATIVE_RENDERING_FAILED.get()) {
|
osmandSettings.NATIVE_RENDERING_FAILED.get()) {
|
||||||
nativeCheckbox.setEnabled(false);
|
nativeCheckbox.setEnabled(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
registerEditTextPreference(osmandSettings.USER_NAME, screen);
|
|
||||||
registerEditTextPreference(osmandSettings.USER_PASSWORD, screen);
|
|
||||||
registerBooleanPreference(osmandSettings.OFFLINE_POI_EDITION, screen);
|
|
||||||
registerEditTextPreference(osmandSettings.LIVE_MONITORING_URL, screen);
|
|
||||||
|
|
||||||
|
|
||||||
registerSeekBarPreference(osmandSettings.MAP_OVERLAY_TRANSPARENCY, screen);
|
|
||||||
registerSeekBarPreference(osmandSettings.MAP_TRANSPARENCY, screen);
|
|
||||||
|
|
||||||
// List preferences
|
// List preferences
|
||||||
registerListPreference(osmandSettings.ROTATE_MAP, screen,
|
registerListPreference(osmandSettings.ROTATE_MAP, screen,
|
||||||
|
@ -230,14 +252,6 @@ public class SettingsActivity extends PreferenceActivity implements OnPreference
|
||||||
new String[] {getString(R.string.map_orientation_portrait), getString(R.string.map_orientation_landscape), getString(R.string.map_orientation_default)},
|
new String[] {getString(R.string.map_orientation_portrait), getString(R.string.map_orientation_landscape), getString(R.string.map_orientation_default)},
|
||||||
new Integer[] {ActivityInfo.SCREEN_ORIENTATION_PORTRAIT, ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE, ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED});
|
new Integer[] {ActivityInfo.SCREEN_ORIENTATION_PORTRAIT, ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE, ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED});
|
||||||
|
|
||||||
registerListPreference(osmandSettings.POSITION_ON_MAP, screen,
|
|
||||||
new String[] {getString(R.string.position_on_map_center), getString(R.string.position_on_map_bottom)},
|
|
||||||
new Integer[] {OsmandSettings.CENTER_CONSTANT, OsmandSettings.BOTTOM_CONSTANT});
|
|
||||||
|
|
||||||
registerListPreference(osmandSettings.AUDIO_STREAM_GUIDANCE, screen,
|
|
||||||
new String[] {getString(R.string.voice_stream_music), getString(R.string.voice_stream_notification),
|
|
||||||
getString(R.string.voice_stream_voice_call)},
|
|
||||||
new Integer[] {AudioManager.STREAM_MUSIC, AudioManager.STREAM_NOTIFICATION, AudioManager.STREAM_VOICE_CALL});
|
|
||||||
|
|
||||||
entries = new String[DayNightMode.values().length];
|
entries = new String[DayNightMode.values().length];
|
||||||
for(int i=0; i<entries.length; i++){
|
for(int i=0; i<entries.length; i++){
|
||||||
|
@ -245,34 +259,24 @@ public class SettingsActivity extends PreferenceActivity implements OnPreference
|
||||||
}
|
}
|
||||||
registerListPreference(osmandSettings.DAYNIGHT_MODE, screen, entries, DayNightMode.values());
|
registerListPreference(osmandSettings.DAYNIGHT_MODE, screen, entries, DayNightMode.values());
|
||||||
|
|
||||||
entries = new String[MetricsConstants.values().length];
|
MetricsConstants[] mvls = new MetricsConstants[] {MetricsConstants.KILOMETERS_AND_METERS, MetricsConstants.MILES_AND_FOOTS}; //MetricsConstants.values();
|
||||||
|
entries = new String[mvls.length];
|
||||||
for(int i=0; i<entries.length; i++){
|
for(int i=0; i<entries.length; i++){
|
||||||
entries[i] = MetricsConstants.values()[i].toHumanString(this);
|
entries[i] = mvls[i].toHumanString(this);
|
||||||
}
|
}
|
||||||
registerListPreference(osmandSettings.METRIC_SYSTEM, screen, entries, MetricsConstants.values());
|
registerListPreference(osmandSettings.METRIC_SYSTEM, screen, entries, mvls);
|
||||||
|
|
||||||
//getResources().getAssets().getLocales();
|
//getResources().getAssets().getLocales();
|
||||||
entrieValues = new String[] { "", "en", "cs", "de", "es", "fr", "hu", "it", "jp", "nl", "pl", "pt", "ru", "sk", "vi" };
|
entrieValues = new String[] { "",
|
||||||
entries = new String[entrieValues.length];
|
"en", "cs", "de", "es", "fr", "hu", "it", "jp", "nl", "pl", "pt", "ru", "sk", "vi" };
|
||||||
entries[0] = getString(R.string.system_locale);
|
entries = new String[] { getString(R.string.system_locale),
|
||||||
for (int i = 1; i < entries.length; i++) {
|
"English", "Czech", "German", "Spanish", "French", "Hungarian", "Italian", "Japanese", "Dutch", "Polish", "Portuguese", "Russian", "Slovak", "Vietnamese" };;
|
||||||
entries[i] = entrieValues[i];
|
|
||||||
}
|
|
||||||
registerListPreference(osmandSettings.PREFERRED_LOCALE, screen, entries, entrieValues);
|
registerListPreference(osmandSettings.PREFERRED_LOCALE, screen, entries, entrieValues);
|
||||||
|
|
||||||
int startZoom = 12;
|
|
||||||
int endZoom = 19;
|
|
||||||
entries = new String[endZoom - startZoom + 1];
|
|
||||||
Integer[] intValues = new Integer[endZoom - startZoom + 1];
|
|
||||||
for (int i = startZoom; i <= endZoom; i++) {
|
|
||||||
entries[i - startZoom] = i + ""; //$NON-NLS-1$
|
|
||||||
intValues[i - startZoom] = i ;
|
|
||||||
}
|
|
||||||
// try without, Issue 823:
|
|
||||||
// registerListPreference(osmandSettings.MAX_LEVEL_TO_DOWNLOAD_TILE, screen, entries, intValues);
|
|
||||||
|
|
||||||
|
|
||||||
intValues = new Integer[] { 0, 5, 10, 15, 20, 25, 30, 45, 60, 90};
|
|
||||||
|
Integer[] intValues = new Integer[] { 0, 5, 10, 15, 20, 25, 30, 45, 60, 90};
|
||||||
entries = new String[intValues.length];
|
entries = new String[intValues.length];
|
||||||
entries[0] = getString(R.string.auto_follow_route_never);
|
entries[0] = getString(R.string.auto_follow_route_never);
|
||||||
for (int i = 1; i < intValues.length; i++) {
|
for (int i = 1; i < intValues.length; i++) {
|
||||||
|
@ -286,31 +290,7 @@ public class SettingsActivity extends PreferenceActivity implements OnPreference
|
||||||
entries[i] = (int) (floatValues[i] * 100) +" %";
|
entries[i] = (int) (floatValues[i] * 100) +" %";
|
||||||
}
|
}
|
||||||
registerListPreference(osmandSettings.MAP_TEXT_SIZE, screen, entries, floatValues);
|
registerListPreference(osmandSettings.MAP_TEXT_SIZE, screen, entries, floatValues);
|
||||||
|
|
||||||
entries = new String[AccessibilityMode.values().length];
|
|
||||||
for(int i=0; i<entries.length; i++){
|
|
||||||
entries[i] = AccessibilityMode.values()[i].toHumanString(this);
|
|
||||||
}
|
|
||||||
registerListPreference(osmandSettings.ACCESSIBILITY_MODE, screen, entries, AccessibilityMode.values());
|
|
||||||
|
|
||||||
entries = new String[RelativeDirectionStyle.values().length];
|
|
||||||
for(int i=0; i<entries.length; i++){
|
|
||||||
entries[i] = RelativeDirectionStyle.values()[i].toHumanString(this);
|
|
||||||
}
|
|
||||||
registerListPreference(osmandSettings.DIRECTION_STYLE, screen, entries, RelativeDirectionStyle.values());
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
startZoom = 1;
|
|
||||||
endZoom = 18;
|
|
||||||
entries = new String[endZoom - startZoom + 1];
|
|
||||||
intValues = new Integer[endZoom - startZoom + 1];
|
|
||||||
for (int i = startZoom; i <= endZoom; i++) {
|
|
||||||
entries[i - startZoom] = i + ""; //$NON-NLS-1$
|
|
||||||
intValues[i - startZoom] = i ;
|
|
||||||
}
|
|
||||||
registerListPreference(osmandSettings.LEVEL_TO_SWITCH_VECTOR_RASTER, screen, entries, intValues);
|
|
||||||
|
|
||||||
entries = new String[RouteService.values().length];
|
entries = new String[RouteService.values().length];
|
||||||
for(int i=0; i<entries.length; i++){
|
for(int i=0; i<entries.length; i++){
|
||||||
entries[i] = RouteService.values()[i].getName();
|
entries[i] = RouteService.values()[i].getName();
|
||||||
|
@ -319,19 +299,6 @@ public class SettingsActivity extends PreferenceActivity implements OnPreference
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
entries = new String[]{getString(R.string.gps_provider), getString(R.string.network_provider)};
|
|
||||||
entrieValues = new String[]{LocationManager.GPS_PROVIDER, LocationManager.NETWORK_PROVIDER};
|
|
||||||
registerListPreference(osmandSettings.SERVICE_OFF_PROVIDER, screen, entries, entrieValues);
|
|
||||||
|
|
||||||
registerTimeListPreference(osmandSettings.SAVE_TRACK_INTERVAL, screen, new int[]{1, 2, 3, 5, 10, 15, 20, 30}, new int[]{1, 2, 3, 5}, 1);
|
|
||||||
registerTimeListPreference(osmandSettings.LIVE_MONITORING_INTERVAL, screen, new int[]{1, 2, 3, 5, 10, 15, 20, 30}, new int[]{1, 2, 3, 5}, 1);
|
|
||||||
registerTimeListPreference(osmandSettings.SERVICE_OFF_INTERVAL, screen,
|
|
||||||
new int[]{0, 30, 45, 60}, new int[]{2, 3, 5, 10, 15, 30, 45, 60, 90}, 1000);
|
|
||||||
registerTimeListPreference(osmandSettings.SERVICE_OFF_WAIT_INTERVAL, screen,
|
|
||||||
new int[]{15, 30, 45, 60, 90}, new int[]{2, 3, 5, 10}, 1000);
|
|
||||||
|
|
||||||
|
|
||||||
entries = new String[ApplicationMode.values().length];
|
entries = new String[ApplicationMode.values().length];
|
||||||
for(int i=0; i<entries.length; i++){
|
for(int i=0; i<entries.length; i++){
|
||||||
entries[i] = ApplicationMode.values()[i].toHumanString(this);
|
entries[i] = ApplicationMode.values()[i].toHumanString(this);
|
||||||
|
@ -347,48 +314,21 @@ public class SettingsActivity extends PreferenceActivity implements OnPreference
|
||||||
applicationModePreference = (ListPreference) screen.findPreference(osmandSettings.APPLICATION_MODE.getId());
|
applicationModePreference = (ListPreference) screen.findPreference(osmandSettings.APPLICATION_MODE.getId());
|
||||||
applicationModePreference.setOnPreferenceChangeListener(this);
|
applicationModePreference.setOnPreferenceChangeListener(this);
|
||||||
|
|
||||||
tileSourcePreference = (ListPreference) screen.findPreference(osmandSettings.MAP_TILE_SOURCES.getId());
|
|
||||||
tileSourcePreference.setOnPreferenceChangeListener(this);
|
|
||||||
overlayPreference = (ListPreference) screen.findPreference(osmandSettings.MAP_OVERLAY.getId());
|
|
||||||
overlayPreference.setOnPreferenceChangeListener(this);
|
|
||||||
underlayPreference = (ListPreference) screen.findPreference(osmandSettings.MAP_UNDERLAY.getId());
|
|
||||||
underlayPreference.setOnPreferenceChangeListener(this);
|
|
||||||
|
|
||||||
dayNightModePreference = (ListPreference) screen.findPreference(osmandSettings.DAYNIGHT_MODE.getId());
|
dayNightModePreference = (ListPreference) screen.findPreference(osmandSettings.DAYNIGHT_MODE.getId());
|
||||||
dayNightModePreference.setOnPreferenceChangeListener(this);
|
dayNightModePreference.setOnPreferenceChangeListener(this);
|
||||||
routerServicePreference = (ListPreference) screen.findPreference(osmandSettings.ROUTER_SERVICE.getId());
|
routerServicePreference = (ListPreference) screen.findPreference(osmandSettings.ROUTER_SERVICE.getId());
|
||||||
routerServicePreference.setOnPreferenceChangeListener(this);
|
routerServicePreference.setOnPreferenceChangeListener(this);
|
||||||
|
|
||||||
accessibilityModePreference = (ListPreference)screen.findPreference(osmandSettings.ACCESSIBILITY_MODE.getId());
|
|
||||||
accessibilityModePreference.setOnPreferenceChangeListener(this);
|
|
||||||
directionStylePreference = (ListPreference)screen.findPreference(osmandSettings.DIRECTION_STYLE.getId());
|
|
||||||
directionStylePreference.setOnPreferenceChangeListener(this);
|
|
||||||
|
|
||||||
Preference localIndexes =(Preference) screen.findPreference(OsmandSettings.LOCAL_INDEXES);
|
Preference localIndexes =(Preference) screen.findPreference(OsmandSettings.LOCAL_INDEXES);
|
||||||
localIndexes.setOnPreferenceClickListener(this);
|
localIndexes.setOnPreferenceClickListener(this);
|
||||||
saveCurrentTrack =(Preference) screen.findPreference(OsmandSettings.SAVE_CURRENT_TRACK);
|
|
||||||
saveCurrentTrack.setOnPreferenceClickListener(this);
|
|
||||||
testVoiceCommands =(Preference) screen.findPreference("test_voice_commands");
|
|
||||||
testVoiceCommands.setOnPreferenceClickListener(this);
|
|
||||||
routeServiceEnabled =(CheckBoxPreference) screen.findPreference(OsmandSettings.SERVICE_OFF_ENABLED);
|
|
||||||
routeServiceEnabled.setOnPreferenceChangeListener(this);
|
|
||||||
applicationDir = (EditTextPreference) screen.findPreference(OsmandSettings.EXTERNAL_STORAGE_DIR);
|
applicationDir = (EditTextPreference) screen.findPreference(OsmandSettings.EXTERNAL_STORAGE_DIR);
|
||||||
applicationDir.setOnPreferenceChangeListener(this);
|
applicationDir.setOnPreferenceChangeListener(this);
|
||||||
localOpenstreetmapPoints = (Preference) screen.findPreference(OsmandSettings.LOCAL_OPENSTREETMAP_POINTS);
|
|
||||||
localOpenstreetmapPoints.setOnPreferenceClickListener(this);
|
|
||||||
bidforfix = (Preference) screen.findPreference("bidforfix");
|
bidforfix = (Preference) screen.findPreference("bidforfix");
|
||||||
bidforfix.setOnPreferenceClickListener(this);
|
bidforfix.setOnPreferenceClickListener(this);
|
||||||
plugins = (Preference) screen.findPreference("plugins");
|
plugins = (Preference) screen.findPreference("plugins");
|
||||||
plugins.setOnPreferenceClickListener(this);
|
plugins.setOnPreferenceClickListener(this);
|
||||||
|
|
||||||
broadcastReceiver = new BroadcastReceiver(){
|
|
||||||
@Override
|
|
||||||
public void onReceive(Context context, Intent intent) {
|
|
||||||
routeServiceEnabled.setChecked(false);
|
|
||||||
}
|
|
||||||
|
|
||||||
};
|
|
||||||
registerReceiver(broadcastReceiver, new IntentFilter(NavigationService.OSMAND_STOP_SERVICE_ACTION));
|
|
||||||
|
|
||||||
|
|
||||||
Intent intent = getIntent();
|
Intent intent = getIntent();
|
||||||
|
@ -396,11 +336,11 @@ public class SettingsActivity extends PreferenceActivity implements OnPreference
|
||||||
int s = intent.getIntExtra(INTENT_KEY_SETTINGS_SCREEN, 0);
|
int s = intent.getIntExtra(INTENT_KEY_SETTINGS_SCREEN, 0);
|
||||||
String pref = null;
|
String pref = null;
|
||||||
if(s == SCREEN_GENERAL_SETTINGS){
|
if(s == SCREEN_GENERAL_SETTINGS){
|
||||||
pref = "general_settings";
|
pref = SCREEN_ID_GENERAL_SETTINGS;
|
||||||
} else if(s == SCREEN_NAVIGATION_SETTINGS){
|
} else if(s == SCREEN_NAVIGATION_SETTINGS){
|
||||||
pref = "routing_settings";
|
pref = SCREEN_ID_NAVIGATION_SETTINGS;
|
||||||
} else if(s == SCREEN_MONITORING_SETTINGS){
|
} else if(s == SCREEN_MONITORING_SETTINGS){
|
||||||
pref = "monitor_settings";
|
pref = SCREEN_ID_MONITORING_SETTINGS;
|
||||||
}
|
}
|
||||||
if(pref != null){
|
if(pref != null){
|
||||||
Preference toOpen = screen.findPreference(pref);
|
Preference toOpen = screen.findPreference(pref);
|
||||||
|
@ -414,29 +354,31 @@ public class SettingsActivity extends PreferenceActivity implements OnPreference
|
||||||
private void createCustomRenderingProperties(boolean update) {
|
private void createCustomRenderingProperties(boolean update) {
|
||||||
RenderingRulesStorage renderer = getMyApplication().getRendererRegistry().getCurrentSelectedRenderer();
|
RenderingRulesStorage renderer = getMyApplication().getRendererRegistry().getCurrentSelectedRenderer();
|
||||||
PreferenceCategory cat = (PreferenceCategory) findPreference("custom_vector_rendering");
|
PreferenceCategory cat = (PreferenceCategory) findPreference("custom_vector_rendering");
|
||||||
cat.removeAll();
|
if (cat != null) {
|
||||||
if(renderer != null){
|
cat.removeAll();
|
||||||
for(RenderingRuleProperty p : renderer.PROPS.getCustomRules()){
|
if (renderer != null) {
|
||||||
CommonPreference<String> custom = getMyApplication().getSettings().getCustomRenderProperty(p.getAttrName());
|
for (RenderingRuleProperty p : renderer.PROPS.getCustomRules()) {
|
||||||
ListPreference lp = new ListPreference(this);
|
CommonPreference<String> custom = getMyApplication().getSettings().getCustomRenderProperty(p.getAttrName());
|
||||||
lp.setOnPreferenceChangeListener(this);
|
ListPreference lp = new ListPreference(this);
|
||||||
lp.setKey(custom.getId());
|
lp.setOnPreferenceChangeListener(this);
|
||||||
lp.setTitle(p.getName());
|
lp.setKey(custom.getId());
|
||||||
lp.setSummary(p.getDescription());
|
lp.setTitle(p.getName());
|
||||||
cat.addPreference(lp);
|
lp.setSummary(p.getDescription());
|
||||||
|
cat.addPreference(lp);
|
||||||
LinkedHashMap<String, Object> vals = new LinkedHashMap<String, Object>();
|
|
||||||
screenPreferences.put(custom.getId(), lp);
|
LinkedHashMap<String, Object> vals = new LinkedHashMap<String, Object>();
|
||||||
listPreferences.put(custom.getId(), custom);
|
screenPreferences.put(custom.getId(), lp);
|
||||||
listPrefValues.put(custom.getId(), vals);
|
listPreferences.put(custom.getId(), custom);
|
||||||
String[] names = p.getPossibleValues();
|
listPrefValues.put(custom.getId(), vals);
|
||||||
for(int i=0; i<names.length; i++){
|
String[] names = p.getPossibleValues();
|
||||||
vals.put(names[i], names[i]);
|
for (int i = 0; i < names.length; i++) {
|
||||||
|
vals.put(names[i], names[i]);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
if (update) {
|
||||||
|
updateAllSettings();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
|
||||||
if(update) {
|
|
||||||
updateAllSettings();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -476,8 +418,8 @@ public class SettingsActivity extends PreferenceActivity implements OnPreference
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onDestroy() {
|
protected void onDestroy() {
|
||||||
|
OsmandPlugin.onSettingsActivityDestroy(this);
|
||||||
super.onDestroy();
|
super.onDestroy();
|
||||||
unregisterReceiver(broadcastReceiver);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void updateAllSettings(){
|
public void updateAllSettings(){
|
||||||
|
@ -514,83 +456,16 @@ public class SettingsActivity extends PreferenceActivity implements OnPreference
|
||||||
pref.setText(s.get());
|
pref.setText(s.get());
|
||||||
}
|
}
|
||||||
|
|
||||||
// Specific properties
|
OsmandPlugin.onSettingsActivityUpdate(this);
|
||||||
routeServiceEnabled.setChecked(getMyApplication().getNavigationService() != null);
|
|
||||||
|
|
||||||
updateTileSourceSummary();
|
|
||||||
|
|
||||||
updateApplicationDirTextAndSummary();
|
updateApplicationDirTextAndSummary();
|
||||||
|
|
||||||
applicationModePreference.setTitle(getString(R.string.settings_preset) + " [" + osmandSettings.APPLICATION_MODE.get().toHumanString(this) + "]");
|
applicationModePreference.setTitle(getString(R.string.settings_preset) + " [" + osmandSettings.APPLICATION_MODE.get().toHumanString(this) + "]");
|
||||||
dayNightModePreference.setSummary(getString(R.string.daynight_descr) + " [" + osmandSettings.DAYNIGHT_MODE.get().toHumanString(this) + "]");
|
dayNightModePreference.setSummary(getString(R.string.daynight_descr) + " [" + osmandSettings.DAYNIGHT_MODE.get().toHumanString(this) + "]");
|
||||||
routerServicePreference.setSummary(getString(R.string.router_service_descr) + " [" + osmandSettings.ROUTER_SERVICE.get() + "]");
|
routerServicePreference.setSummary(getString(R.string.router_service_descr) + " [" + osmandSettings.ROUTER_SERVICE.get() + "]");
|
||||||
|
|
||||||
accessibilityModePreference.setSummary(getString(R.string.accessibility_mode_descr) + " [" + osmandSettings.ACCESSIBILITY_MODE.get().toHumanString(this) + "]");
|
|
||||||
directionStylePreference.setSummary(getString(R.string.settings_direction_style_descr) + " [" + osmandSettings.DIRECTION_STYLE.get().toHumanString(this) + "]");
|
|
||||||
|
|
||||||
/*
|
|
||||||
// TODO: Add Profile name to screen title (only, not to Preference title) of Profile specific settings
|
|
||||||
PreferenceScreen screen = getPreferenceScreen();
|
|
||||||
if (screen.getKey().toString().equals("map_settings")) {
|
|
||||||
screen.setTitle(getString(R.string.rendering_settings) + " [" + ApplicationMode.toHumanString(osmandSettings.APPLICATION_MODE.get(), this) + "]");
|
|
||||||
} else if (screen.getKey().toString().equals("appearance_settings")) {
|
|
||||||
screen.setTitle(getString(R.string.appearance_settings) + " [" + ApplicationMode.toHumanString(osmandSettings.APPLICATION_MODE.get(), this) + "]");
|
|
||||||
} else if (screen.getKey().toString().equals("monitor_settings")) {
|
|
||||||
screen.setTitle(getString(R.string.monitor_preferences) + " [" + ApplicationMode.toHumanString(osmandSettings.APPLICATION_MODE.get(), this) + "]");
|
|
||||||
} else if (screen.getKey().toString().equals("routing_settings")) {
|
|
||||||
screen.setTitle(getString(R.string.routing_settings) + " [" + ApplicationMode.toHumanString(osmandSettings.APPLICATION_MODE.get(), this) + "]");
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void updateTileSourceSummary() {
|
|
||||||
fillTileSourcesToPreference(tileSourcePreference, osmandSettings.MAP_TILE_SOURCES.get(), false);
|
|
||||||
fillTileSourcesToPreference(overlayPreference, osmandSettings.MAP_OVERLAY.get(), true);
|
|
||||||
fillTileSourcesToPreference(underlayPreference, osmandSettings.MAP_UNDERLAY.get(), true);
|
|
||||||
|
|
||||||
// String mapName = " " + osmandSettings.MAP_TILE_SOURCES.get(); //$NON-NLS-1$
|
|
||||||
// String summary = tileSourcePreference.getSummary().toString();
|
|
||||||
// if (summary.lastIndexOf(':') != -1) {
|
|
||||||
// summary = summary.substring(0, summary.lastIndexOf(':') + 1);
|
|
||||||
// }
|
|
||||||
// tileSourcePreference.setSummary(summary + mapName);
|
|
||||||
tileSourcePreference.setSummary(getString(R.string.map_tile_source_descr) + " [" + osmandSettings.MAP_TILE_SOURCES.get() + "]");
|
|
||||||
overlayPreference.setSummary(getString(R.string.map_overlay_descr) + " [" + osmandSettings.MAP_OVERLAY.get() + "]");
|
|
||||||
underlayPreference.setSummary(getString(R.string.map_underlay_descr) + " [" + osmandSettings.MAP_UNDERLAY.get() + "]");
|
|
||||||
}
|
|
||||||
|
|
||||||
private void fillTileSourcesToPreference(ListPreference tileSourcePreference, String value, boolean addNone) {
|
|
||||||
Map<String, String> entriesMap = osmandSettings.getTileSourceEntries();
|
|
||||||
int add = addNone ? 1 : 0;
|
|
||||||
String[] entries = new String[entriesMap.size() + 1 + add];
|
|
||||||
String[] values = new String[entriesMap.size() + 1 + add];
|
|
||||||
int ki = 0;
|
|
||||||
if(addNone){
|
|
||||||
entries[ki] = getString(R.string.default_none);
|
|
||||||
values[ki] = "";
|
|
||||||
ki++;
|
|
||||||
}
|
|
||||||
if (value == null) {
|
|
||||||
value = "";
|
|
||||||
}
|
|
||||||
|
|
||||||
for(Map.Entry<String, String> es : entriesMap.entrySet()){
|
|
||||||
entries[ki] = es.getValue();
|
|
||||||
values[ki] = es.getKey();
|
|
||||||
ki++;
|
|
||||||
}
|
|
||||||
entries[ki] = getString(R.string.install_more);
|
|
||||||
values[ki] = MORE_VALUE;
|
|
||||||
fill(tileSourcePreference, entries, values, value);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
private void fill(ListPreference component, String[] list, String[] values, String selected) {
|
|
||||||
component.setEntries(list);
|
|
||||||
component.setEntryValues(values);
|
|
||||||
component.setValue(selected);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
@Override
|
@Override
|
||||||
|
@ -602,13 +477,6 @@ public class SettingsActivity extends PreferenceActivity implements OnPreference
|
||||||
OsmandPreference<String> editPref = editTextPreferences.get(preference.getKey());
|
OsmandPreference<String> editPref = editTextPreferences.get(preference.getKey());
|
||||||
if(boolPref != null){
|
if(boolPref != null){
|
||||||
boolPref.set((Boolean)newValue);
|
boolPref.set((Boolean)newValue);
|
||||||
if (boolPref.getId().equals(osmandSettings.MAP_VECTOR_DATA.getId())) {
|
|
||||||
MapRenderRepositories r = ((OsmandApplication)getApplication()).getResourceManager().getRenderer();
|
|
||||||
if(r.isEmpty()){
|
|
||||||
AccessibleToast.makeText(this, getString(R.string.no_vector_map_loaded), Toast.LENGTH_LONG).show();
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (boolPref.getId().equals(osmandSettings.NATIVE_RENDERING.getId())) {
|
if (boolPref.getId().equals(osmandSettings.NATIVE_RENDERING.getId())) {
|
||||||
if(((Boolean)newValue).booleanValue()) {
|
if(((Boolean)newValue).booleanValue()) {
|
||||||
loadNativeLibrary();
|
loadNativeLibrary();
|
||||||
|
@ -649,13 +517,6 @@ public class SettingsActivity extends PreferenceActivity implements OnPreference
|
||||||
dayNightModePreference.setSummary(getString(R.string.daynight_descr) + " [" + osmandSettings.DAYNIGHT_MODE.get().toHumanString(this) + "]");
|
dayNightModePreference.setSummary(getString(R.string.daynight_descr) + " [" + osmandSettings.DAYNIGHT_MODE.get().toHumanString(this) + "]");
|
||||||
} else if (listPref.getId().equals(osmandSettings.ROUTER_SERVICE.getId())) {
|
} else if (listPref.getId().equals(osmandSettings.ROUTER_SERVICE.getId())) {
|
||||||
routerServicePreference.setSummary(getString(R.string.router_service_descr) + " [" + osmandSettings.ROUTER_SERVICE.get() + "]");
|
routerServicePreference.setSummary(getString(R.string.router_service_descr) + " [" + osmandSettings.ROUTER_SERVICE.get() + "]");
|
||||||
} else if (listPref.getId().equals(osmandSettings.ACCESSIBILITY_MODE.getId())) {
|
|
||||||
PreferenceCategory accessibilityOptions = ((PreferenceCategory)(getPreferenceScreen().findPreference("accessibility_options")));
|
|
||||||
if (accessibilityOptions != null)
|
|
||||||
accessibilityOptions.setEnabled(getMyApplication().accessibilityEnabled());
|
|
||||||
accessibilityModePreference.setSummary(getString(R.string.accessibility_mode_descr) + " [" + osmandSettings.ACCESSIBILITY_MODE.get().toHumanString(this) + "]");
|
|
||||||
} else if (listPref.getId().equals(osmandSettings.DIRECTION_STYLE.getId())) {
|
|
||||||
directionStylePreference.setSummary(getString(R.string.settings_direction_style_descr) + " [" + osmandSettings.DIRECTION_STYLE.get().toHumanString(this) + "]");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (listPref.getId().equals(osmandSettings.RENDERER.getId())) {
|
if (listPref.getId().equals(osmandSettings.RENDERER.getId())) {
|
||||||
|
@ -669,48 +530,6 @@ public class SettingsActivity extends PreferenceActivity implements OnPreference
|
||||||
} else if(preference == applicationDir){
|
} else if(preference == applicationDir){
|
||||||
warnAboutChangingStorage((String) newValue);
|
warnAboutChangingStorage((String) newValue);
|
||||||
return false;
|
return false;
|
||||||
} else if (preference == routeServiceEnabled) {
|
|
||||||
Intent serviceIntent = new Intent(this, NavigationService.class);
|
|
||||||
if ((Boolean) newValue) {
|
|
||||||
ComponentName name = startService(serviceIntent);
|
|
||||||
if (name == null) {
|
|
||||||
routeServiceEnabled.setChecked(getMyApplication().getNavigationService() != null);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if(!stopService(serviceIntent)){
|
|
||||||
routeServiceEnabled.setChecked(getMyApplication().getNavigationService() != null);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else if (preference == tileSourcePreference || preference == overlayPreference
|
|
||||||
|| preference == underlayPreference) {
|
|
||||||
if(MORE_VALUE.equals(newValue)){
|
|
||||||
SettingsActivity.installMapLayers(this, new ResultMatcher<TileSourceTemplate>() {
|
|
||||||
@Override
|
|
||||||
public boolean isCancelled() { return false;}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean publish(TileSourceTemplate object) {
|
|
||||||
if(object == null){
|
|
||||||
updateTileSourceSummary();
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
} else if(preference == tileSourcePreference){
|
|
||||||
osmandSettings.MAP_TILE_SOURCES.set((String) newValue);
|
|
||||||
updateTileSourceSummary();
|
|
||||||
} else {
|
|
||||||
if(((String) newValue).length() == 0){
|
|
||||||
newValue = null;
|
|
||||||
}
|
|
||||||
if(preference == underlayPreference){
|
|
||||||
osmandSettings.MAP_UNDERLAY.set(((String) newValue));
|
|
||||||
underlayPreference.setSummary(getString(R.string.map_underlay_descr) + " [" + osmandSettings.MAP_UNDERLAY.get() + "]");
|
|
||||||
} else if(preference == overlayPreference){
|
|
||||||
osmandSettings.MAP_OVERLAY.set(((String) newValue));
|
|
||||||
overlayPreference.setSummary(getString(R.string.map_overlay_descr) + " [" + osmandSettings.MAP_OVERLAY.get() + "]");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -849,20 +668,6 @@ public class SettingsActivity extends PreferenceActivity implements OnPreference
|
||||||
if(preference.getKey().equals(OsmandSettings.LOCAL_INDEXES)){
|
if(preference.getKey().equals(OsmandSettings.LOCAL_INDEXES)){
|
||||||
startActivity(new Intent(this, LocalIndexesActivity.class));
|
startActivity(new Intent(this, LocalIndexesActivity.class));
|
||||||
return true;
|
return true;
|
||||||
} else if(preference == testVoiceCommands){
|
|
||||||
startActivity(new Intent(this, TestVoiceActivity.class));
|
|
||||||
return true;
|
|
||||||
} else if(preference == saveCurrentTrack){
|
|
||||||
SavingTrackHelper helper = new SavingTrackHelper(this);
|
|
||||||
if (helper.hasDataToSave()) {
|
|
||||||
saveCurrentTracks();
|
|
||||||
} else {
|
|
||||||
helper.close();
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
} else if(preference == localOpenstreetmapPoints){
|
|
||||||
startActivity(new Intent(this, LocalOpenstreetmapActivity.class));
|
|
||||||
return true;
|
|
||||||
} else if(preference == bidforfix){
|
} else if(preference == bidforfix){
|
||||||
startActivity(new Intent(this, OsmandBidForFixActivity.class));
|
startActivity(new Intent(this, OsmandBidForFixActivity.class));
|
||||||
return true;
|
return true;
|
||||||
|
@ -873,26 +678,6 @@ public class SettingsActivity extends PreferenceActivity implements OnPreference
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void saveCurrentTracks() {
|
|
||||||
progressDlg = ProgressDialog.show(this, getString(R.string.saving_gpx_tracks), getString(R.string.saving_gpx_tracks), true);
|
|
||||||
final ProgressDialogImplementation impl = new ProgressDialogImplementation(progressDlg);
|
|
||||||
impl.setRunnable("SavingGPX", new Runnable() { //$NON-NLS-1$
|
|
||||||
@Override
|
|
||||||
public void run() {
|
|
||||||
try {
|
|
||||||
SavingTrackHelper helper = new SavingTrackHelper(SettingsActivity.this);
|
|
||||||
helper.saveDataToGpx();
|
|
||||||
helper.close();
|
|
||||||
} finally {
|
|
||||||
if (progressDlg != null) {
|
|
||||||
progressDlg.dismiss();
|
|
||||||
progressDlg = null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
impl.run();
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void installMapLayers(final Activity activity, final ResultMatcher<TileSourceTemplate> result){
|
public static void installMapLayers(final Activity activity, final ResultMatcher<TileSourceTemplate> result){
|
||||||
final OsmandSettings settings = ((OsmandApplication) activity.getApplication()).getSettings();
|
final OsmandSettings settings = ((OsmandApplication) activity.getApplication()).getSettings();
|
||||||
|
|
|
@ -0,0 +1,120 @@
|
||||||
|
package net.osmand.plus.background;
|
||||||
|
|
||||||
|
import net.osmand.plus.NavigationService;
|
||||||
|
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.activities.SettingsActivity;
|
||||||
|
import android.content.BroadcastReceiver;
|
||||||
|
import android.content.ComponentName;
|
||||||
|
import android.content.Context;
|
||||||
|
import android.content.Intent;
|
||||||
|
import android.content.IntentFilter;
|
||||||
|
import android.location.LocationManager;
|
||||||
|
import android.preference.CheckBoxPreference;
|
||||||
|
import android.preference.Preference;
|
||||||
|
import android.preference.Preference.OnPreferenceChangeListener;
|
||||||
|
import android.preference.PreferenceCategory;
|
||||||
|
import android.preference.PreferenceScreen;
|
||||||
|
|
||||||
|
public class OsmandBackgroundServicePlugin extends OsmandPlugin {
|
||||||
|
private static final String ID = "osmand.backgroundservice";
|
||||||
|
private OsmandSettings settings;
|
||||||
|
private OsmandApplication app;
|
||||||
|
private BroadcastReceiver broadcastReceiver;
|
||||||
|
private CheckBoxPreference routeServiceEnabled;
|
||||||
|
|
||||||
|
public OsmandBackgroundServicePlugin(OsmandApplication app) {
|
||||||
|
this.app = app;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean init(OsmandApplication app) {
|
||||||
|
settings = app.getSettings();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getId() {
|
||||||
|
return ID;
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public String getDescription() {
|
||||||
|
return app.getString(R.string.osmand_background_plugin_description);
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public String getName() {
|
||||||
|
return app.getString(R.string.osmand_background_plugin_name);
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public void registerLayers(MapActivity activity) {
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void settingsActivityDestroy(final SettingsActivity activity){
|
||||||
|
if(broadcastReceiver != null) {
|
||||||
|
activity.unregisterReceiver(broadcastReceiver);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void settingsActivityUpdate(final SettingsActivity activity){
|
||||||
|
if(routeServiceEnabled != null) {
|
||||||
|
routeServiceEnabled.setChecked(app.getNavigationService() != null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void settingsActivityCreate(final SettingsActivity activity, PreferenceScreen screen) {
|
||||||
|
PreferenceScreen grp = screen.getPreferenceManager().createPreferenceScreen(activity);
|
||||||
|
grp.setTitle(R.string.osmand_service);
|
||||||
|
grp.setSummary(R.string.osmand_service_descr);
|
||||||
|
((PreferenceCategory) screen.findPreference("global_settings")).addPreference(grp);
|
||||||
|
|
||||||
|
routeServiceEnabled = new CheckBoxPreference(activity);
|
||||||
|
broadcastReceiver = new BroadcastReceiver(){
|
||||||
|
@Override
|
||||||
|
public void onReceive(Context context, Intent intent) {
|
||||||
|
routeServiceEnabled.setChecked(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
};
|
||||||
|
activity.registerReceiver(broadcastReceiver, new IntentFilter(NavigationService.OSMAND_STOP_SERVICE_ACTION));
|
||||||
|
routeServiceEnabled.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||||
|
Intent serviceIntent = new Intent(activity, NavigationService.class);
|
||||||
|
if ((Boolean) newValue) {
|
||||||
|
ComponentName name = activity.startService(serviceIntent);
|
||||||
|
if (name == null) {
|
||||||
|
routeServiceEnabled.setChecked(app.getNavigationService() != null);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if(!activity.stopService(serviceIntent)){
|
||||||
|
routeServiceEnabled.setChecked(app.getNavigationService() != null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
routeServiceEnabled.setTitle(R.string.background_router_service);
|
||||||
|
routeServiceEnabled.setSummary(R.string.background_router_service_descr);
|
||||||
|
routeServiceEnabled.setKey("service_off_enabled");
|
||||||
|
grp.addPreference(routeServiceEnabled);
|
||||||
|
|
||||||
|
String[] entries = new String[]{app.getString(R.string.gps_provider), app.getString(R.string.network_provider)};
|
||||||
|
String[] entrieValues = new String[]{LocationManager.GPS_PROVIDER, LocationManager.NETWORK_PROVIDER};
|
||||||
|
grp.addPreference(activity.createListPreference(settings.SERVICE_OFF_PROVIDER, entries, entrieValues,
|
||||||
|
R.string.background_service_provider, R.string.background_service_provider_descr));
|
||||||
|
|
||||||
|
grp.addPreference(activity.createTimeListPreference(settings.SERVICE_OFF_INTERVAL,new int[]{0, 30, 45, 60}, new int[]{2, 3, 5, 10, 15, 30, 45, 60, 90}, 1000,
|
||||||
|
R.string.background_service_int, R.string.background_service_int_descr));
|
||||||
|
grp.addPreference(activity.createTimeListPreference(settings.SERVICE_OFF_WAIT_INTERVAL,new int[]{15, 30, 45, 60, 90}, new int[]{2, 3, 5, 10}, 1000,
|
||||||
|
R.string.background_service_wait_int, R.string.background_service_wait_int_descr));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,76 @@
|
||||||
|
package net.osmand.plus.development;
|
||||||
|
|
||||||
|
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.activities.SettingsActivity;
|
||||||
|
import android.content.Intent;
|
||||||
|
import android.preference.CheckBoxPreference;
|
||||||
|
import android.preference.Preference;
|
||||||
|
import android.preference.Preference.OnPreferenceClickListener;
|
||||||
|
import android.preference.PreferenceCategory;
|
||||||
|
import android.preference.PreferenceScreen;
|
||||||
|
|
||||||
|
public class OsmandDevelopmentPlugin extends OsmandPlugin {
|
||||||
|
private static final String ID = "osmand.development";
|
||||||
|
private OsmandSettings settings;
|
||||||
|
private OsmandApplication app;
|
||||||
|
|
||||||
|
public OsmandDevelopmentPlugin(OsmandApplication app) {
|
||||||
|
this.app = app;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean init(OsmandApplication app) {
|
||||||
|
settings = app.getSettings();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getId() {
|
||||||
|
return ID;
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public String getDescription() {
|
||||||
|
return app.getString(R.string.osmand_development_plugin_description);
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public String getName() {
|
||||||
|
return app.getString(R.string.osmand_development_plugin_name);
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public void registerLayers(MapActivity activity) {
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void settingsActivityCreate(final SettingsActivity activity, PreferenceScreen screen) {
|
||||||
|
PreferenceScreen general = (PreferenceScreen) screen.findPreference(SettingsActivity.SCREEN_ID_GENERAL_SETTINGS);
|
||||||
|
|
||||||
|
PreferenceCategory cat = new PreferenceCategory(app);
|
||||||
|
cat.setTitle(R.string.debugging_and_development);
|
||||||
|
general.addPreference(cat);
|
||||||
|
|
||||||
|
CheckBoxPreference dbg = activity.createCheckBoxPreference(settings.DEBUG_RENDERING_INFO,
|
||||||
|
R.string.trace_rendering, R.string.trace_rendering_descr);
|
||||||
|
cat.addPreference(dbg);
|
||||||
|
CheckBoxPreference animate = activity.createCheckBoxPreference(settings.TEST_ANIMATE_ROUTING,
|
||||||
|
R.string.animate_routing, R.string.simulate_route_progression_manually);
|
||||||
|
cat.addPreference(animate);
|
||||||
|
|
||||||
|
Preference pref = new Preference(app);
|
||||||
|
pref.setTitle(R.string.test_voice_prompts);
|
||||||
|
pref.setSummary(R.string.play_commands_of_currently_selected_voice);
|
||||||
|
pref.setKey("test_voice_commands");
|
||||||
|
pref.setOnPreferenceClickListener(new OnPreferenceClickListener() {
|
||||||
|
@Override
|
||||||
|
public boolean onPreferenceClick(Preference preference) {
|
||||||
|
activity.startActivity(new Intent(activity, TestVoiceActivity.class));
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
cat.addPreference(pref);
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,7 +1,7 @@
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
package net.osmand.plus.activities;
|
package net.osmand.plus.development;
|
||||||
|
|
||||||
import net.osmand.access.AccessibleToast;
|
import net.osmand.access.AccessibleToast;
|
||||||
import net.osmand.plus.OsmandApplication;
|
import net.osmand.plus.OsmandApplication;
|
|
@ -0,0 +1,89 @@
|
||||||
|
package net.osmand.plus.extrasettings;
|
||||||
|
|
||||||
|
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.activities.SettingsActivity;
|
||||||
|
import android.media.AudioManager;
|
||||||
|
import android.preference.ListPreference;
|
||||||
|
import android.preference.PreferenceCategory;
|
||||||
|
import android.preference.PreferenceScreen;
|
||||||
|
|
||||||
|
public class OsmandExtraSettings extends OsmandPlugin {
|
||||||
|
private static final String ID = "osmand.extrasettings";
|
||||||
|
private OsmandSettings settings;
|
||||||
|
private OsmandApplication app;
|
||||||
|
|
||||||
|
public OsmandExtraSettings(OsmandApplication app) {
|
||||||
|
this.app = app;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean init(OsmandApplication app) {
|
||||||
|
settings = app.getSettings();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getId() {
|
||||||
|
return ID;
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public String getDescription() {
|
||||||
|
return app.getString(R.string.osmand_extra_settings_description);
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public String getName() {
|
||||||
|
return app.getString(R.string.osmand_extra_settings_name);
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public void registerLayers(MapActivity activity) {
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void settingsActivityCreate(final SettingsActivity activity, PreferenceScreen screen) {
|
||||||
|
PreferenceScreen general = (PreferenceScreen) screen.findPreference(SettingsActivity.SCREEN_ID_GENERAL_SETTINGS);
|
||||||
|
|
||||||
|
PreferenceCategory cat = new PreferenceCategory(app);
|
||||||
|
cat.setTitle(R.string.extra_settings);
|
||||||
|
general.addPreference(cat);
|
||||||
|
|
||||||
|
cat.addPreference(activity.createCheckBoxPreference(settings.USE_HIGH_RES_MAPS,
|
||||||
|
R.string.use_high_res_maps, R.string.use_high_res_maps_descr));
|
||||||
|
cat.addPreference(activity.createCheckBoxPreference(settings.USE_TRACKBALL_FOR_MOVEMENTS,
|
||||||
|
R.string.use_trackball, R.string.use_trackball_descr));
|
||||||
|
|
||||||
|
ListPreference lp = activity.createListPreference(settings.AUDIO_STREAM_GUIDANCE,
|
||||||
|
new String[] {app.getString(R.string.voice_stream_music), app.getString(R.string.voice_stream_notification),
|
||||||
|
app.getString(R.string.voice_stream_voice_call)},
|
||||||
|
new Integer[] {AudioManager.STREAM_MUSIC, AudioManager.STREAM_NOTIFICATION, AudioManager.STREAM_VOICE_CALL},
|
||||||
|
R.string.choose_audio_stream, R.string.choose_audio_stream_descr);
|
||||||
|
cat.addPreference(lp);
|
||||||
|
|
||||||
|
|
||||||
|
PreferenceScreen appearance = (PreferenceScreen) screen.findPreference("appearance_settings");
|
||||||
|
cat = new PreferenceCategory(app);
|
||||||
|
cat.setTitle(R.string.extra_settings);
|
||||||
|
appearance.addPreference(cat);
|
||||||
|
|
||||||
|
cat.addPreference(activity.createCheckBoxPreference(settings.TRANSPARENT_MAP_THEME,
|
||||||
|
R.string.use_transparent_map_theme, R.string.use_transparent_map_theme_descr));
|
||||||
|
cat.addPreference(activity.createCheckBoxPreference(settings.SHOW_RULER,
|
||||||
|
R.string.show_ruler_level, R.string.show_ruler_level_descr));
|
||||||
|
cat.addPreference(activity.createCheckBoxPreference(settings.FLUORESCENT_OVERLAYS,
|
||||||
|
R.string.use_fluorescent_overlays, R.string.use_fluorescent_overlays_descr));
|
||||||
|
|
||||||
|
cat.addPreference(activity.createListPreference(settings.POSITION_ON_MAP,
|
||||||
|
new String[] { activity.getString(R.string.position_on_map_center), activity.getString(R.string.position_on_map_bottom) },
|
||||||
|
new Integer[] { OsmandSettings.CENTER_CONSTANT, OsmandSettings.BOTTOM_CONSTANT }, R.string.position_on_map,
|
||||||
|
R.string.position_on_map_descr));
|
||||||
|
|
||||||
|
PreferenceCategory vectorSettings = new PreferenceCategory(app);
|
||||||
|
vectorSettings.setTitle(R.string.pref_vector_rendering);
|
||||||
|
vectorSettings.setKey("custom_vector_rendering");
|
||||||
|
appearance.addPreference(vectorSettings);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,140 @@
|
||||||
|
package net.osmand.plus.monitoring;
|
||||||
|
|
||||||
|
import net.osmand.plus.ContextMenuAdapter;
|
||||||
|
import net.osmand.plus.OsmandApplication;
|
||||||
|
import net.osmand.plus.OsmandPlugin;
|
||||||
|
import net.osmand.plus.OsmandSettings;
|
||||||
|
import net.osmand.plus.ProgressDialogImplementation;
|
||||||
|
import net.osmand.plus.R;
|
||||||
|
import net.osmand.plus.ContextMenuAdapter.OnContextMenuClick;
|
||||||
|
import net.osmand.plus.activities.ApplicationMode;
|
||||||
|
import net.osmand.plus.activities.MapActivity;
|
||||||
|
import net.osmand.plus.activities.SavingTrackHelper;
|
||||||
|
import net.osmand.plus.activities.SettingsActivity;
|
||||||
|
import android.app.ProgressDialog;
|
||||||
|
import android.content.DialogInterface;
|
||||||
|
import android.preference.Preference;
|
||||||
|
import android.preference.Preference.OnPreferenceClickListener;
|
||||||
|
import android.preference.PreferenceCategory;
|
||||||
|
import android.preference.PreferenceScreen;
|
||||||
|
|
||||||
|
public class OsmandMonitoringPlugin extends OsmandPlugin {
|
||||||
|
private static final String ID = "osmand.monitoring";
|
||||||
|
private OsmandSettings settings;
|
||||||
|
private OsmandApplication app;
|
||||||
|
|
||||||
|
public OsmandMonitoringPlugin(OsmandApplication app) {
|
||||||
|
this.app = app;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean init(OsmandApplication app) {
|
||||||
|
settings = app.getSettings();
|
||||||
|
settings.SAVE_TRACK_TO_GPX.setModeDefaultValue(ApplicationMode.CAR, true);
|
||||||
|
settings.SAVE_TRACK_TO_GPX.setModeDefaultValue(ApplicationMode.BICYCLE, true);
|
||||||
|
settings.SAVE_TRACK_TO_GPX.setModeDefaultValue(ApplicationMode.PEDESTRIAN, true);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getId() {
|
||||||
|
return ID;
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public String getDescription() {
|
||||||
|
return app.getString(R.string.osmand_monitoring_description);
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public String getName() {
|
||||||
|
return app.getString(R.string.osmand_monitoring_name);
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public void registerLayers(MapActivity activity) {
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void registerMapContextMenuActions(final MapActivity mapActivity, final double latitude, final double longitude, ContextMenuAdapter adapter,
|
||||||
|
Object selectedObj) {
|
||||||
|
OnContextMenuClick listener = new OnContextMenuClick() {
|
||||||
|
@Override
|
||||||
|
public void onContextMenuClick(int resId, int pos, boolean isChecked, DialogInterface dialog) {
|
||||||
|
if (resId == R.string.context_menu_item_add_waypoint) {
|
||||||
|
mapActivity.getMapActions().addWaypoint(latitude, longitude);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
adapter.registerItem(R.string.context_menu_item_add_waypoint, 0, listener, -1);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void settingsActivityCreate(final SettingsActivity activity, PreferenceScreen screen) {
|
||||||
|
PreferenceScreen grp = screen.getPreferenceManager().createPreferenceScreen(activity);
|
||||||
|
grp.setTitle(R.string.monitor_preferences);
|
||||||
|
grp.setSummary(R.string.monitor_preferences_descr);
|
||||||
|
grp.setKey("monitor_settings");
|
||||||
|
((PreferenceCategory) screen.findPreference("profile_dep_cat")).addPreference(grp);
|
||||||
|
|
||||||
|
PreferenceCategory cat = new PreferenceCategory(activity);
|
||||||
|
cat.setTitle(R.string.save_track_to_gpx);
|
||||||
|
grp.addPreference(cat);
|
||||||
|
|
||||||
|
cat.addPreference(activity.createCheckBoxPreference(settings.SAVE_TRACK_TO_GPX, R.string.save_track_to_gpx,
|
||||||
|
R.string.save_track_to_gpx_descrp));
|
||||||
|
|
||||||
|
cat.addPreference(activity.createTimeListPreference(settings.SAVE_TRACK_INTERVAL, new int[] { 1, 2, 3, 5, 10, 15, 20, 30 },
|
||||||
|
new int[] { 1, 2, 3, 5 }, 1, R.string.save_track_interval, R.string.save_track_interval_descr));
|
||||||
|
|
||||||
|
Preference pref = new Preference(activity);
|
||||||
|
pref.setTitle(R.string.save_current_track);
|
||||||
|
pref.setSummary(R.string.save_current_track_descr);
|
||||||
|
pref.setOnPreferenceClickListener(new OnPreferenceClickListener() {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean onPreferenceClick(Preference preference) {
|
||||||
|
SavingTrackHelper helper = new SavingTrackHelper(activity);
|
||||||
|
if (helper.hasDataToSave()) {
|
||||||
|
saveCurrentTracks(activity);
|
||||||
|
} else {
|
||||||
|
helper.close();
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
cat.addPreference(pref);
|
||||||
|
|
||||||
|
cat = new PreferenceCategory(activity);
|
||||||
|
cat.setTitle(R.string.live_monitoring);
|
||||||
|
grp.addPreference(cat);
|
||||||
|
|
||||||
|
cat.addPreference(activity.createCheckBoxPreference(settings.LIVE_MONITORING, R.string.live_monitoring,
|
||||||
|
R.string.live_monitoring_descr));
|
||||||
|
cat.addPreference(activity.createEditTextPreference(settings.LIVE_MONITORING_URL, R.string.live_monitoring_url,
|
||||||
|
R.string.live_monitoring_url_descr));
|
||||||
|
|
||||||
|
cat.addPreference(activity.createTimeListPreference(settings.LIVE_MONITORING_INTERVAL, new int[] { 1, 2, 3, 5, 10, 15, 20, 30 },
|
||||||
|
new int[] { 1, 2, 3, 5 }, 1, R.string.live_monitoring_interval, R.string.live_monitoring_interval_descr));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void saveCurrentTracks(final SettingsActivity activity) {
|
||||||
|
activity.progressDlg = ProgressDialog.show(activity, activity.getString(R.string.saving_gpx_tracks), activity.getString(R.string.saving_gpx_tracks), true);
|
||||||
|
final ProgressDialogImplementation impl = new ProgressDialogImplementation(activity.progressDlg);
|
||||||
|
impl.setRunnable("SavingGPX", new Runnable() { //$NON-NLS-1$
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
try {
|
||||||
|
SavingTrackHelper helper = new SavingTrackHelper(activity);
|
||||||
|
helper.saveDataToGpx();
|
||||||
|
helper.close();
|
||||||
|
} finally {
|
||||||
|
if (activity.progressDlg != null) {
|
||||||
|
activity.progressDlg.dismiss();
|
||||||
|
activity.progressDlg = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
impl.run();
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,4 +1,5 @@
|
||||||
package net.osmand;
|
package net.osmand.plus.osmedit;
|
||||||
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
|
@ -7,9 +7,6 @@ import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
import net.osmand.OpenstreetmapLocalUtil;
|
|
||||||
import net.osmand.OpenstreetmapRemoteUtil;
|
|
||||||
import net.osmand.OpenstreetmapUtil;
|
|
||||||
import net.osmand.OsmAndFormatter;
|
import net.osmand.OsmAndFormatter;
|
||||||
import net.osmand.access.AccessibleToast;
|
import net.osmand.access.AccessibleToast;
|
||||||
import net.osmand.data.Amenity;
|
import net.osmand.data.Amenity;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package net.osmand.plus.activities;
|
package net.osmand.plus.osmedit;
|
||||||
|
|
||||||
import java.text.MessageFormat;
|
import java.text.MessageFormat;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
@ -7,18 +7,15 @@ import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import net.osmand.LogUtil;
|
import net.osmand.LogUtil;
|
||||||
import net.osmand.OpenstreetmapPoint;
|
|
||||||
import net.osmand.OpenstreetmapRemoteUtil;
|
|
||||||
import net.osmand.OpenstreetmapUtil;
|
|
||||||
import net.osmand.access.AccessibleToast;
|
import net.osmand.access.AccessibleToast;
|
||||||
import net.osmand.osm.EntityInfo;
|
import net.osmand.osm.EntityInfo;
|
||||||
import net.osmand.osm.Node;
|
import net.osmand.osm.Node;
|
||||||
import net.osmand.plus.AmenityIndexRepositoryOdb;
|
import net.osmand.plus.AmenityIndexRepositoryOdb;
|
||||||
import net.osmand.plus.OpenstreetmapsDbHelper;
|
|
||||||
import net.osmand.plus.OsmandApplication;
|
|
||||||
import net.osmand.plus.OsmandSettings;
|
import net.osmand.plus.OsmandSettings;
|
||||||
import net.osmand.plus.ProgressDialogImplementation;
|
import net.osmand.plus.ProgressDialogImplementation;
|
||||||
import net.osmand.plus.R;
|
import net.osmand.plus.R;
|
||||||
|
import net.osmand.plus.activities.MapActivity;
|
||||||
|
import net.osmand.plus.activities.OsmandExpandableListActivity;
|
||||||
import android.app.Dialog;
|
import android.app.Dialog;
|
||||||
import android.app.ProgressDialog;
|
import android.app.ProgressDialog;
|
||||||
import android.content.DialogInterface;
|
import android.content.DialogInterface;
|
||||||
|
@ -199,7 +196,7 @@ public class LocalOpenstreetmapActivity extends OsmandExpandableListActivity {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return new Integer(uploaded);
|
return Integer.valueOf(uploaded);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
|
@ -1,7 +1,9 @@
|
||||||
package net.osmand;
|
package net.osmand.plus.osmedit;
|
||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
|
||||||
|
import net.osmand.LogUtil;
|
||||||
import net.osmand.data.Amenity;
|
import net.osmand.data.Amenity;
|
||||||
import net.osmand.data.AmenityType;
|
import net.osmand.data.AmenityType;
|
||||||
import net.osmand.osm.EntityInfo;
|
import net.osmand.osm.EntityInfo;
|
||||||
|
@ -9,7 +11,6 @@ import net.osmand.osm.MapRenderingTypes;
|
||||||
import net.osmand.osm.MapUtils;
|
import net.osmand.osm.MapUtils;
|
||||||
import net.osmand.osm.Node;
|
import net.osmand.osm.Node;
|
||||||
import net.osmand.osm.OSMSettings.OSMTagKey;
|
import net.osmand.osm.OSMSettings.OSMTagKey;
|
||||||
import net.osmand.plus.OpenstreetmapsDbHelper;
|
|
||||||
|
|
||||||
import org.apache.commons.logging.Log;
|
import org.apache.commons.logging.Log;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package net.osmand;
|
package net.osmand.plus.osmedit;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package net.osmand;
|
package net.osmand.plus.osmedit;
|
||||||
|
|
||||||
import java.io.BufferedReader;
|
import java.io.BufferedReader;
|
||||||
import java.io.BufferedWriter;
|
import java.io.BufferedWriter;
|
||||||
|
@ -18,6 +18,10 @@ import java.util.HashMap;
|
||||||
import java.util.LinkedHashMap;
|
import java.util.LinkedHashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
import net.osmand.Algoritms;
|
||||||
|
import net.osmand.Base64;
|
||||||
|
import net.osmand.LogUtil;
|
||||||
|
import net.osmand.Version;
|
||||||
import net.osmand.access.AccessibleToast;
|
import net.osmand.access.AccessibleToast;
|
||||||
import net.osmand.data.Amenity;
|
import net.osmand.data.Amenity;
|
||||||
import net.osmand.osm.Entity;
|
import net.osmand.osm.Entity;
|
|
@ -1,4 +1,4 @@
|
||||||
package net.osmand;
|
package net.osmand.plus.osmedit;
|
||||||
|
|
||||||
import net.osmand.data.Amenity;
|
import net.osmand.data.Amenity;
|
||||||
import net.osmand.osm.EntityInfo;
|
import net.osmand.osm.EntityInfo;
|
|
@ -1,11 +1,9 @@
|
||||||
package net.osmand.plus;
|
package net.osmand.plus.osmedit;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import net.osmand.OpenstreetmapPoint;
|
|
||||||
import net.osmand.OpenstreetmapRemoteUtil;
|
|
||||||
import net.osmand.osm.Node;
|
import net.osmand.osm.Node;
|
||||||
import net.osmand.osm.OSMSettings.OSMTagKey;
|
import net.osmand.osm.OSMSettings.OSMTagKey;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
|
@ -457,7 +457,7 @@ public class OsmBugsLayer extends OsmandMapLayer implements IContextMenuProvider
|
||||||
OnContextMenuClick listener = new OnContextMenuClick() {
|
OnContextMenuClick listener = new OnContextMenuClick() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onContextMenuClick(int itemId, int pos, boolean isChecked) {
|
public void onContextMenuClick(int itemId, int pos, boolean isChecked, DialogInterface dialog) {
|
||||||
if (itemId == R.string.osb_comment_menu_item) {
|
if (itemId == R.string.osb_comment_menu_item) {
|
||||||
commentBug(bug);
|
commentBug(bug);
|
||||||
} else if (itemId == R.string.osb_close_menu_item) {
|
} else if (itemId == R.string.osb_close_menu_item) {
|
||||||
|
|
|
@ -1,5 +1,14 @@
|
||||||
package net.osmand.plus.osmedit;
|
package net.osmand.plus.osmedit;
|
||||||
|
|
||||||
|
import android.content.DialogInterface;
|
||||||
|
import android.content.Intent;
|
||||||
|
import android.preference.CheckBoxPreference;
|
||||||
|
import android.preference.EditTextPreference;
|
||||||
|
import android.preference.Preference;
|
||||||
|
import android.preference.Preference.OnPreferenceClickListener;
|
||||||
|
import android.preference.PreferenceCategory;
|
||||||
|
import android.preference.PreferenceScreen;
|
||||||
|
import android.text.InputType;
|
||||||
import net.osmand.data.Amenity;
|
import net.osmand.data.Amenity;
|
||||||
import net.osmand.plus.ContextMenuAdapter;
|
import net.osmand.plus.ContextMenuAdapter;
|
||||||
import net.osmand.plus.ContextMenuAdapter.OnContextMenuClick;
|
import net.osmand.plus.ContextMenuAdapter.OnContextMenuClick;
|
||||||
|
@ -8,6 +17,7 @@ import net.osmand.plus.OsmandPlugin;
|
||||||
import net.osmand.plus.OsmandSettings;
|
import net.osmand.plus.OsmandSettings;
|
||||||
import net.osmand.plus.R;
|
import net.osmand.plus.R;
|
||||||
import net.osmand.plus.activities.MapActivity;
|
import net.osmand.plus.activities.MapActivity;
|
||||||
|
import net.osmand.plus.activities.SettingsActivity;
|
||||||
import net.osmand.plus.views.OsmandMapTileView;
|
import net.osmand.plus.views.OsmandMapTileView;
|
||||||
|
|
||||||
public class OsmEditingPlugin extends OsmandPlugin {
|
public class OsmEditingPlugin extends OsmandPlugin {
|
||||||
|
@ -34,7 +44,7 @@ public class OsmEditingPlugin extends OsmandPlugin {
|
||||||
private EditingPOIActivity poiActions;
|
private EditingPOIActivity poiActions;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateLayers(OsmandMapTileView mapView){
|
public void updateLayers(OsmandMapTileView mapView, MapActivity activity){
|
||||||
if(mapView.getLayers().contains(osmBugsLayer) != settings.SHOW_OSM_BUGS.get()){
|
if(mapView.getLayers().contains(osmBugsLayer) != settings.SHOW_OSM_BUGS.get()){
|
||||||
if(settings.SHOW_OSM_BUGS.get()){
|
if(settings.SHOW_OSM_BUGS.get()){
|
||||||
mapView.addLayer(osmBugsLayer, 2);
|
mapView.addLayer(osmBugsLayer, 2);
|
||||||
|
@ -54,7 +64,37 @@ public class OsmEditingPlugin extends OsmandPlugin {
|
||||||
poiActions = new EditingPOIActivity(activity);
|
poiActions = new EditingPOIActivity(activity);
|
||||||
activity.addDialogProvider(poiActions);
|
activity.addDialogProvider(poiActions);
|
||||||
activity.addDialogProvider(osmBugsLayer);
|
activity.addDialogProvider(osmBugsLayer);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void settingsActivityCreate(final SettingsActivity activity, PreferenceScreen screen) {
|
||||||
|
PreferenceScreen general = (PreferenceScreen) screen.findPreference(SettingsActivity.SCREEN_ID_GENERAL_SETTINGS);
|
||||||
|
PreferenceCategory cat = new PreferenceCategory(app);
|
||||||
|
cat.setTitle(R.string.osm_settings);
|
||||||
|
general.addPreference(cat);
|
||||||
|
|
||||||
|
EditTextPreference userName = activity.createEditTextPreference(settings.USER_NAME, R.string.user_name, R.string.user_name_descr);
|
||||||
|
cat.addPreference(userName);
|
||||||
|
EditTextPreference pwd = activity.createEditTextPreference(settings.USER_PASSWORD, R.string.user_password, R.string.user_password_descr);
|
||||||
|
pwd.getEditText().setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);
|
||||||
|
cat.addPreference(pwd);
|
||||||
|
|
||||||
|
CheckBoxPreference poiEdit = activity.createCheckBoxPreference(settings.OFFLINE_POI_EDITION,
|
||||||
|
R.string.offline_poi_edition, R.string.offline_poi_edition_descr);
|
||||||
|
cat.addPreference(poiEdit);
|
||||||
|
|
||||||
|
Preference pref = new Preference(app);
|
||||||
|
pref.setTitle(R.string.local_openstreetmap_settings);
|
||||||
|
pref.setSummary(R.string.local_openstreetmap_settings_descr);
|
||||||
|
pref.setKey("local_openstreetmap_points");
|
||||||
|
pref.setOnPreferenceClickListener(new OnPreferenceClickListener() {
|
||||||
|
@Override
|
||||||
|
public boolean onPreferenceClick(Preference preference) {
|
||||||
|
activity.startActivity(new Intent(activity, LocalOpenstreetmapActivity.class));
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
cat.addPreference(pref);
|
||||||
}
|
}
|
||||||
|
|
||||||
public EditingPOIActivity getPoiActions() {
|
public EditingPOIActivity getPoiActions() {
|
||||||
|
@ -69,7 +109,7 @@ public class OsmEditingPlugin extends OsmandPlugin {
|
||||||
OnContextMenuClick alist = new OnContextMenuClick() {
|
OnContextMenuClick alist = new OnContextMenuClick() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onContextMenuClick(int resId, int pos, boolean isChecked) {
|
public void onContextMenuClick(int resId, int pos, boolean isChecked, DialogInterface dialog) {
|
||||||
if (resId == R.string.poi_context_menu_delete) {
|
if (resId == R.string.poi_context_menu_delete) {
|
||||||
getPoiActions().showDeleteDialog(a);
|
getPoiActions().showDeleteDialog(a);
|
||||||
} else if (resId == R.string.poi_context_menu_modify) {
|
} else if (resId == R.string.poi_context_menu_modify) {
|
||||||
|
@ -83,7 +123,7 @@ public class OsmEditingPlugin extends OsmandPlugin {
|
||||||
OnContextMenuClick listener = new OnContextMenuClick() {
|
OnContextMenuClick listener = new OnContextMenuClick() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onContextMenuClick(int resId, int pos, boolean isChecked) {
|
public void onContextMenuClick(int resId, int pos, boolean isChecked, DialogInterface dialog) {
|
||||||
if (resId == R.string.context_menu_item_create_poi) {
|
if (resId == R.string.context_menu_item_create_poi) {
|
||||||
poiActions.showCreateDialog(latitude, longitude);
|
poiActions.showCreateDialog(latitude, longitude);
|
||||||
} else if (resId == R.string.context_menu_item_open_bug) {
|
} else if (resId == R.string.context_menu_item_open_bug) {
|
||||||
|
@ -96,12 +136,12 @@ public class OsmEditingPlugin extends OsmandPlugin {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void registerLayerContextMenuActions(OsmandMapTileView mapView, ContextMenuAdapter adapter) {
|
public void registerLayerContextMenuActions(OsmandMapTileView mapView, ContextMenuAdapter adapter, MapActivity mapActivity) {
|
||||||
adapter.registerSelectedItem(R.string.layer_osm_bugs, settings.SHOW_OSM_BUGS.get() ? 1 : 0, R.drawable.list_activities_osm_bugs,
|
adapter.registerSelectedItem(R.string.layer_osm_bugs, settings.SHOW_OSM_BUGS.get() ? 1 : 0, R.drawable.list_activities_osm_bugs,
|
||||||
new OnContextMenuClick() {
|
new OnContextMenuClick() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onContextMenuClick(int itemId, int pos, boolean isChecked) {
|
public void onContextMenuClick(int itemId, int pos, boolean isChecked, DialogInterface dialog) {
|
||||||
if (itemId == R.string.layer_osm_bugs) {
|
if (itemId == R.string.layer_osm_bugs) {
|
||||||
settings.SHOW_OSM_BUGS.set(isChecked);
|
settings.SHOW_OSM_BUGS.set(isChecked);
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,398 @@
|
||||||
|
package net.osmand.plus.rastermaps;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
import net.osmand.Algoritms;
|
||||||
|
import net.osmand.ResultMatcher;
|
||||||
|
import net.osmand.map.ITileSource;
|
||||||
|
import net.osmand.map.TileSourceManager.TileSourceTemplate;
|
||||||
|
import net.osmand.plus.ContextMenuAdapter;
|
||||||
|
import net.osmand.plus.OsmandApplication;
|
||||||
|
import net.osmand.plus.OsmandPlugin;
|
||||||
|
import net.osmand.plus.OsmandSettings;
|
||||||
|
import net.osmand.plus.R;
|
||||||
|
import net.osmand.plus.ContextMenuAdapter.OnContextMenuClick;
|
||||||
|
import net.osmand.plus.OsmandSettings.CommonPreference;
|
||||||
|
import net.osmand.plus.activities.DownloadTilesDialog;
|
||||||
|
import net.osmand.plus.activities.MapActivity;
|
||||||
|
import net.osmand.plus.activities.MapActivityLayers;
|
||||||
|
import net.osmand.plus.activities.SettingsActivity;
|
||||||
|
import net.osmand.plus.views.BaseMapLayer;
|
||||||
|
import net.osmand.plus.views.MapTileLayer;
|
||||||
|
import net.osmand.plus.views.OsmandMapTileView;
|
||||||
|
import net.osmand.plus.views.SeekBarPreference;
|
||||||
|
import android.app.AlertDialog;
|
||||||
|
import android.app.AlertDialog.Builder;
|
||||||
|
import android.content.DialogInterface;
|
||||||
|
import android.preference.CheckBoxPreference;
|
||||||
|
import android.preference.ListPreference;
|
||||||
|
import android.preference.Preference;
|
||||||
|
import android.preference.Preference.OnPreferenceChangeListener;
|
||||||
|
import android.preference.PreferenceCategory;
|
||||||
|
import android.preference.PreferenceGroup;
|
||||||
|
import android.preference.PreferenceScreen;
|
||||||
|
|
||||||
|
public class OsmandRasterMapsPlugin extends OsmandPlugin {
|
||||||
|
private static final String ID = "osmand.rastermaps";
|
||||||
|
private OsmandSettings settings;
|
||||||
|
private OsmandApplication app;
|
||||||
|
private ListPreference tileSourcePreference;
|
||||||
|
private ListPreference overlayPreference;
|
||||||
|
private ListPreference underlayPreference;
|
||||||
|
|
||||||
|
private MapTileLayer overlayLayer;
|
||||||
|
private MapTileLayer underlayLayer;
|
||||||
|
|
||||||
|
public OsmandRasterMapsPlugin(OsmandApplication app) {
|
||||||
|
this.app = app;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean init(OsmandApplication app) {
|
||||||
|
settings = app.getSettings();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getId() {
|
||||||
|
return ID;
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public String getDescription() {
|
||||||
|
return app.getString(R.string.osmand_rastermaps_plugin_description);
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public String getName() {
|
||||||
|
return app.getString(R.string.osmand_rastermaps_plugin_name);
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public void registerLayers(MapActivity activity) {
|
||||||
|
underlayLayer = new MapTileLayer(false);
|
||||||
|
// mapView.addLayer(underlayLayer, -0.5f);
|
||||||
|
overlayLayer = new MapTileLayer(false);
|
||||||
|
// mapView.addLayer(overlayLayer, 0.7f);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateLayers(OsmandMapTileView mapView, MapActivity activity) {
|
||||||
|
updateMapLayers(mapView, null, activity.getMapLayers());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void updateMapLayers(OsmandMapTileView mapView, CommonPreference<String> settingsToWarnAboutMap,
|
||||||
|
final MapActivityLayers layers) {
|
||||||
|
overlayLayer.setAlpha(settings.MAP_OVERLAY_TRANSPARENCY.get());
|
||||||
|
updateLayer(mapView, settings, overlayLayer, settings.MAP_OVERLAY, 0.7f, settings.MAP_OVERLAY == settingsToWarnAboutMap);
|
||||||
|
updateLayer(mapView, settings, underlayLayer, settings.MAP_UNDERLAY, -0.5f, settings.MAP_UNDERLAY == settingsToWarnAboutMap);
|
||||||
|
layers.updateMapSource(mapView, settingsToWarnAboutMap);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void updateLayer(OsmandMapTileView mapView, OsmandSettings settings,
|
||||||
|
MapTileLayer layer, CommonPreference<String> preference, float layerOrder, boolean warnWhenSelected) {
|
||||||
|
ITileSource overlay = settings.getTileSourceByName(preference.get(), warnWhenSelected);
|
||||||
|
if(!Algoritms.objectEquals(overlay, layer.getMap())){
|
||||||
|
if(overlay == null){
|
||||||
|
mapView.removeLayer(layer);
|
||||||
|
} else {
|
||||||
|
mapView.addLayer(layer, layerOrder);
|
||||||
|
}
|
||||||
|
layer.setMap(overlay);
|
||||||
|
mapView.refreshMap();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void selectMapOverlayLayer(final OsmandMapTileView mapView,
|
||||||
|
final CommonPreference<String> mapPref, final CommonPreference<Integer> transparencyPref,
|
||||||
|
final MapActivity activity,
|
||||||
|
final BaseMapLayer... transparencyToChange){
|
||||||
|
final OsmandSettings settings = app.getSettings();
|
||||||
|
final MapActivityLayers layers = activity.getMapLayers();
|
||||||
|
Map<String, String> entriesMap = settings.getTileSourceEntries();
|
||||||
|
final ArrayList<String> keys = new ArrayList<String>(entriesMap.keySet());
|
||||||
|
Builder builder = new AlertDialog.Builder(activity);
|
||||||
|
final String[] items = new String[entriesMap.size() + 1];
|
||||||
|
int i = 0;
|
||||||
|
for(String it : entriesMap.values()){
|
||||||
|
items[i++] = it;
|
||||||
|
}
|
||||||
|
|
||||||
|
items[i] = app.getString(R.string.install_more);
|
||||||
|
builder.setSingleChoiceItems(items, -1, new DialogInterface.OnClickListener(){
|
||||||
|
@Override
|
||||||
|
public void onClick(DialogInterface dialog, int which) {
|
||||||
|
if (which == items.length - 1){
|
||||||
|
SettingsActivity.installMapLayers(activity, new ResultMatcher<TileSourceTemplate>() {
|
||||||
|
TileSourceTemplate template = null;
|
||||||
|
int count = 0;
|
||||||
|
@Override
|
||||||
|
public boolean publish(TileSourceTemplate object) {
|
||||||
|
if(object == null){
|
||||||
|
if(count == 1){
|
||||||
|
mapPref.set(template.getName());
|
||||||
|
layers.getMapControlsLayer().showAndHideTransparencyBar(transparencyPref, transparencyToChange);
|
||||||
|
updateMapLayers(mapView, mapPref, layers);
|
||||||
|
} else {
|
||||||
|
selectMapOverlayLayer(mapView, mapPref, transparencyPref, activity, transparencyToChange);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
count ++;
|
||||||
|
template = object;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isCancelled() {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
mapPref.set(keys.get(which));
|
||||||
|
layers.getMapControlsLayer().showAndHideTransparencyBar(transparencyPref, transparencyToChange);
|
||||||
|
updateMapLayers(mapView, mapPref, layers);
|
||||||
|
}
|
||||||
|
dialog.dismiss();
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
builder.show();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void registerLayerContextMenuActions(final OsmandMapTileView mapView, ContextMenuAdapter adapter, final MapActivity mapActivity) {
|
||||||
|
final MapActivityLayers layers = mapActivity.getMapLayers();
|
||||||
|
OnContextMenuClick listener = new OnContextMenuClick() {
|
||||||
|
@Override
|
||||||
|
public void onContextMenuClick(int itemId, int pos, boolean isChecked, DialogInterface dialog) {
|
||||||
|
if (itemId == R.string.layer_map) {
|
||||||
|
dialog.dismiss();
|
||||||
|
layers.selectMapLayer(mapView);
|
||||||
|
} else if(itemId == R.string.layer_overlay){
|
||||||
|
if(overlayLayer.getMap() != null){
|
||||||
|
settings.MAP_OVERLAY.set(null);
|
||||||
|
updateMapLayers(mapView, null, layers);
|
||||||
|
} else {
|
||||||
|
dialog.dismiss();
|
||||||
|
selectMapOverlayLayer(mapView, settings.MAP_OVERLAY, settings.MAP_OVERLAY_TRANSPARENCY, mapActivity,
|
||||||
|
overlayLayer);
|
||||||
|
}
|
||||||
|
} else if(itemId == R.string.layer_underlay){
|
||||||
|
if(underlayLayer.getMap() != null){
|
||||||
|
settings.MAP_UNDERLAY.set(null);
|
||||||
|
updateMapLayers(mapView, null, layers);
|
||||||
|
} else {
|
||||||
|
dialog.dismiss();
|
||||||
|
selectMapOverlayLayer(mapView, settings.MAP_UNDERLAY,settings.MAP_TRANSPARENCY,
|
||||||
|
mapActivity, layers.getMapTileLayer(), layers.getMapVectorLayer());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
adapter.registerSelectedItem(R.string.layer_map, -1, R.drawable.list_activities_map_src, listener, 0);
|
||||||
|
adapter.registerSelectedItem(R.string.layer_overlay, overlayLayer.getMap() != null ? 1 : 0,
|
||||||
|
R.drawable.list_activities_overlay_map, listener, -1);
|
||||||
|
adapter.registerSelectedItem(R.string.layer_underlay, underlayLayer.getMap() != null ? 1 : 0,
|
||||||
|
R.drawable.list_activities_underlay_map, listener, -1);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void registerMapContextMenuActions(final MapActivity mapActivity, final double latitude, final double longitude, ContextMenuAdapter adapter,
|
||||||
|
Object selectedObj) {
|
||||||
|
final OsmandMapTileView mapView = mapActivity.getMapView();
|
||||||
|
if (mapView.getMainLayer() instanceof MapTileLayer) {
|
||||||
|
OnContextMenuClick listener = new OnContextMenuClick() {
|
||||||
|
@Override
|
||||||
|
public void onContextMenuClick(int resId, int pos, boolean isChecked, DialogInterface dialog) {
|
||||||
|
if (resId == R.string.context_menu_item_update_map) {
|
||||||
|
mapActivity.getMapActions().reloadTile(mapView.getZoom(), latitude, longitude);
|
||||||
|
} else if (resId == R.string.context_menu_item_download_map) {
|
||||||
|
DownloadTilesDialog dlg = new DownloadTilesDialog(mapActivity, (OsmandApplication) mapActivity.getApplication(), mapView);
|
||||||
|
dlg.openDialog();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
adapter.registerItem(R.string.context_menu_item_update_map, 0, listener, -1);
|
||||||
|
adapter.registerItem(R.string.context_menu_item_download_map, 0, listener, -1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void settingsActivityUpdate(SettingsActivity activity) {
|
||||||
|
updateTileSourceSummary();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void settingsActivityCreate(final SettingsActivity activity, PreferenceScreen screen) {
|
||||||
|
PreferenceGroup general = (PreferenceGroup) screen.findPreference("global_settings");
|
||||||
|
|
||||||
|
PreferenceGroup grp = screen.getPreferenceManager().createPreferenceScreen(activity);
|
||||||
|
grp.setSummary(R.string.online_map_settings_descr);
|
||||||
|
grp.setTitle(R.string.online_map_settings);
|
||||||
|
grp.setKey("map_settings");
|
||||||
|
grp.setOrder(0);
|
||||||
|
general.addPreference(grp);
|
||||||
|
|
||||||
|
|
||||||
|
OnPreferenceChangeListener listener = createPreferenceListener(activity);
|
||||||
|
|
||||||
|
PreferenceCategory cat = new PreferenceCategory(activity);
|
||||||
|
cat.setTitle(R.string.pref_raster_map);
|
||||||
|
grp.addPreference(cat);
|
||||||
|
|
||||||
|
CheckBoxPreference mapVectorData = activity.createCheckBoxPreference(settings.MAP_ONLINE_DATA,
|
||||||
|
R.string.map_online_data, R.string.map_online_data_descr);
|
||||||
|
// final OnPreferenceChangeListener parent = mapVectorData.getOnPreferenceChangeListener();
|
||||||
|
// MapRenderRepositories r = app.getResourceManager().getRenderer();
|
||||||
|
// if(r.isEmpty()){
|
||||||
|
// AccessibleToast.makeText(this, app.getString(R.string.no_vector_map_loaded), Toast.LENGTH_LONG).show();
|
||||||
|
// return false;
|
||||||
|
// }
|
||||||
|
cat.addPreference(mapVectorData);
|
||||||
|
|
||||||
|
tileSourcePreference = new ListPreference(activity);
|
||||||
|
tileSourcePreference.setSummary(R.string.map_tile_source_descr);
|
||||||
|
tileSourcePreference.setTitle(R.string.map_tile_source);
|
||||||
|
tileSourcePreference.setOnPreferenceChangeListener(listener);
|
||||||
|
cat.addPreference(tileSourcePreference);
|
||||||
|
|
||||||
|
cat.addPreference(activity.createCheckBoxPreference(settings.USE_INTERNET_TO_DOWNLOAD_TILES,
|
||||||
|
R.string.use_internet, R.string.use_internet_to_download_tile));
|
||||||
|
|
||||||
|
int startZoom = 1;
|
||||||
|
int endZoom = 18;
|
||||||
|
String[] entries = new String[endZoom - startZoom + 1];
|
||||||
|
Integer[] intValues = new Integer[endZoom - startZoom + 1];
|
||||||
|
for (int i = startZoom; i <= endZoom; i++) {
|
||||||
|
entries[i - startZoom] = i + ""; //$NON-NLS-1$
|
||||||
|
intValues[i - startZoom] = i ;
|
||||||
|
}
|
||||||
|
ListPreference lp = activity.createListPreference(settings.LEVEL_TO_SWITCH_VECTOR_RASTER,
|
||||||
|
entries, intValues, R.string.level_to_switch_vector_raster, R.string.level_to_switch_vector_raster_descr);
|
||||||
|
cat.addPreference(lp);
|
||||||
|
|
||||||
|
// try without, Issue 823:
|
||||||
|
// int startZoom = 12;
|
||||||
|
// int endZoom = 19;
|
||||||
|
// entries = new String[endZoom - startZoom + 1];
|
||||||
|
// Integer[] intValues = new Integer[endZoom - startZoom + 1];
|
||||||
|
// for (int i = startZoom; i <= endZoom; i++) {
|
||||||
|
// entries[i - startZoom] = i + ""; //$NON-NLS-1$
|
||||||
|
// intValues[i - startZoom] = i ;
|
||||||
|
// }
|
||||||
|
// registerListPreference(osmandSettings.MAX_LEVEL_TO_DOWNLOAD_TILE, screen, entries, intValues);
|
||||||
|
|
||||||
|
|
||||||
|
cat = new PreferenceCategory(activity);
|
||||||
|
cat.setTitle(R.string.pref_overlay);
|
||||||
|
grp.addPreference(cat);
|
||||||
|
|
||||||
|
overlayPreference = new ListPreference(activity);
|
||||||
|
overlayPreference.setSummary(R.string.map_overlay_descr);
|
||||||
|
overlayPreference.setTitle(R.string.map_overlay);
|
||||||
|
overlayPreference.setOnPreferenceChangeListener(listener);
|
||||||
|
cat.addPreference(overlayPreference);
|
||||||
|
underlayPreference = new ListPreference(activity);
|
||||||
|
underlayPreference.setSummary(R.string.map_underlay_descr);
|
||||||
|
underlayPreference.setTitle(R.string.map_underlay);
|
||||||
|
underlayPreference.setOnPreferenceChangeListener(listener);
|
||||||
|
cat.addPreference(underlayPreference);
|
||||||
|
|
||||||
|
SeekBarPreference sp = activity.createSeekBarPreference(settings.MAP_OVERLAY_TRANSPARENCY, R.string.overlay_transparency, R.string.overlay_transparency_descr,
|
||||||
|
R.string.modify_transparency, 0, 255);
|
||||||
|
cat.addPreference(sp);
|
||||||
|
sp = activity.createSeekBarPreference(settings.MAP_TRANSPARENCY, R.string.map_transparency, R.string.map_transparency_descr,
|
||||||
|
R.string.modify_transparency, 0, 255);
|
||||||
|
cat.addPreference(sp);
|
||||||
|
}
|
||||||
|
|
||||||
|
private OnPreferenceChangeListener createPreferenceListener(final SettingsActivity activity) {
|
||||||
|
return new OnPreferenceChangeListener() {
|
||||||
|
@Override
|
||||||
|
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||||
|
if (preference == tileSourcePreference || preference == overlayPreference
|
||||||
|
|| preference == underlayPreference) {
|
||||||
|
if(SettingsActivity.MORE_VALUE.equals(newValue)){
|
||||||
|
SettingsActivity.installMapLayers(activity, new ResultMatcher<TileSourceTemplate>() {
|
||||||
|
@Override
|
||||||
|
public boolean isCancelled() { return false;}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean publish(TileSourceTemplate object) {
|
||||||
|
if(object == null){
|
||||||
|
updateTileSourceSummary();
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else if(preference == tileSourcePreference){
|
||||||
|
settings.MAP_TILE_SOURCES.set((String) newValue);
|
||||||
|
updateTileSourceSummary();
|
||||||
|
} else {
|
||||||
|
if(((String) newValue).length() == 0){
|
||||||
|
newValue = null;
|
||||||
|
}
|
||||||
|
if(preference == underlayPreference){
|
||||||
|
settings.MAP_UNDERLAY.set(((String) newValue));
|
||||||
|
underlayPreference.setSummary(app.getString(R.string.map_underlay_descr) + " [" + settings.MAP_UNDERLAY.get() + "]");
|
||||||
|
} else if(preference == overlayPreference){
|
||||||
|
settings.MAP_OVERLAY.set(((String) newValue));
|
||||||
|
overlayPreference.setSummary(app.getString(R.string.map_overlay_descr) + " [" + settings.MAP_OVERLAY.get() + "]");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
private void updateTileSourceSummary() {
|
||||||
|
if (tileSourcePreference != null) {
|
||||||
|
fillTileSourcesToPreference(tileSourcePreference, settings.MAP_TILE_SOURCES.get(), false);
|
||||||
|
fillTileSourcesToPreference(overlayPreference, settings.MAP_OVERLAY.get(), true);
|
||||||
|
fillTileSourcesToPreference(underlayPreference, settings.MAP_UNDERLAY.get(), true);
|
||||||
|
|
||||||
|
// String mapName = " " + settings.MAP_TILE_SOURCES.get(); //$NON-NLS-1$
|
||||||
|
// String summary = tileSourcePreference.getSummary().toString();
|
||||||
|
// if (summary.lastIndexOf(':') != -1) {
|
||||||
|
// summary = summary.substring(0, summary.lastIndexOf(':') + 1);
|
||||||
|
// }
|
||||||
|
// tileSourcePreference.setSummary(summary + mapName);
|
||||||
|
tileSourcePreference.setSummary(app.getString(R.string.map_tile_source_descr) + " [" + settings.MAP_TILE_SOURCES.get() + "]");
|
||||||
|
overlayPreference.setSummary(app.getString(R.string.map_overlay_descr) + " [" + settings.MAP_OVERLAY.get() + "]");
|
||||||
|
underlayPreference.setSummary(app.getString(R.string.map_underlay_descr) + " [" + settings.MAP_UNDERLAY.get() + "]");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void fillTileSourcesToPreference(ListPreference tileSourcePreference, String value, boolean addNone) {
|
||||||
|
Map<String, String> entriesMap = settings.getTileSourceEntries();
|
||||||
|
int add = addNone ? 1 : 0;
|
||||||
|
String[] entries = new String[entriesMap.size() + 1 + add];
|
||||||
|
String[] values = new String[entriesMap.size() + 1 + add];
|
||||||
|
int ki = 0;
|
||||||
|
if (addNone) {
|
||||||
|
entries[ki] = app.getString(R.string.default_none);
|
||||||
|
values[ki] = "";
|
||||||
|
ki++;
|
||||||
|
}
|
||||||
|
if (value == null) {
|
||||||
|
value = "";
|
||||||
|
}
|
||||||
|
|
||||||
|
for (Map.Entry<String, String> es : entriesMap.entrySet()) {
|
||||||
|
entries[ki] = es.getValue();
|
||||||
|
values[ki] = es.getKey();
|
||||||
|
ki++;
|
||||||
|
}
|
||||||
|
entries[ki] = app.getString(R.string.install_more);
|
||||||
|
values[ki] = SettingsActivity.MORE_VALUE;
|
||||||
|
fill(tileSourcePreference, entries, values, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void fill(ListPreference component, String[] list, String[] values, String selected) {
|
||||||
|
component.setEntries(list);
|
||||||
|
component.setEntryValues(values);
|
||||||
|
component.setValue(selected);
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,6 +1,5 @@
|
||||||
package net.osmand.plus.render;
|
package net.osmand.plus.render;
|
||||||
|
|
||||||
import net.osmand.access.AccessibleToast;
|
|
||||||
import net.osmand.osm.MapUtils;
|
import net.osmand.osm.MapUtils;
|
||||||
import net.osmand.plus.ResourceManager;
|
import net.osmand.plus.ResourceManager;
|
||||||
import net.osmand.plus.RotatedTileBox;
|
import net.osmand.plus.RotatedTileBox;
|
||||||
|
@ -85,19 +84,17 @@ public class MapVectorLayer extends BaseMapLayer {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onDraw(Canvas canvas, RectF latLonBounds, RectF tilesRect, DrawSettings drawSettings) {
|
public void onDraw(Canvas canvas, RectF latLonBounds, RectF tilesRect, DrawSettings drawSettings) {
|
||||||
if(!visible){
|
if (!visible) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if(!isVectorDataVisible() && tileLayer != null){
|
if (!isVectorDataVisible() && tileLayer != null) {
|
||||||
tileLayer.drawTileMap(canvas, tilesRect);
|
tileLayer.drawTileMap(canvas, tilesRect);
|
||||||
resourceManager.getRenderer().interruptLoadingMap();
|
resourceManager.getRenderer().interruptLoadingMap();
|
||||||
} else {
|
} else {
|
||||||
if (!view.isZooming()) {
|
if (!view.isZooming()) {
|
||||||
pixRect.set(0, 0, view.getWidth(), view.getHeight());
|
pixRect.set(0, 0, view.getWidth(), view.getHeight());
|
||||||
updateRotatedTileBox();
|
updateRotatedTileBox();
|
||||||
//TODO passing of nithMode and appMode could be probably something more general? These are
|
if (resourceManager.updateRenderedMapNeeded(rotatedTileBox, drawSettings)) {
|
||||||
//renderer properties, so, we should check if renderer properties are changed somehow...
|
|
||||||
if (resourceManager.updateRenderedMapNeeded(rotatedTileBox,drawSettings)) {
|
|
||||||
// pixRect.set(-view.getWidth(), -view.getHeight() / 2, 2 * view.getWidth(), 3 * view.getHeight() / 2);
|
// pixRect.set(-view.getWidth(), -view.getHeight() / 2, 2 * view.getWidth(), 3 * view.getHeight() / 2);
|
||||||
pixRect.set(-view.getWidth() / 3, -view.getHeight() / 4, 4 * view.getWidth() / 3, 5 * view.getHeight() / 4);
|
pixRect.set(-view.getWidth() / 3, -view.getHeight() / 4, 4 * view.getWidth() / 3, 5 * view.getHeight() / 4);
|
||||||
updateRotatedTileBox();
|
updateRotatedTileBox();
|
||||||
|
@ -105,7 +102,7 @@ public class MapVectorLayer extends BaseMapLayer {
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
MapRenderRepositories renderer = resourceManager.getRenderer();
|
MapRenderRepositories renderer = resourceManager.getRenderer();
|
||||||
drawRenderedMap(canvas, renderer.getBitmap(), renderer.getBitmapLocation());
|
drawRenderedMap(canvas, renderer.getBitmap(), renderer.getBitmapLocation());
|
||||||
drawRenderedMap(canvas, renderer.getPrevBitmap(), renderer.getPrevBmpLocation());
|
drawRenderedMap(canvas, renderer.getPrevBitmap(), renderer.getPrevBmpLocation());
|
||||||
|
@ -113,7 +110,8 @@ public class MapVectorLayer extends BaseMapLayer {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void drawRenderedMap(Canvas canvas, Bitmap bmp, RotatedTileBox bmpLoc) {
|
private boolean drawRenderedMap(Canvas canvas, Bitmap bmp, RotatedTileBox bmpLoc) {
|
||||||
|
boolean shown = false;
|
||||||
if (bmp != null && bmpLoc != null) {
|
if (bmp != null && bmpLoc != null) {
|
||||||
float rot = bmpLoc.getRotate();
|
float rot = bmpLoc.getRotate();
|
||||||
float mult = (float) MapUtils.getPowZoom(view.getZoom() - bmpLoc.getZoom());
|
float mult = (float) MapUtils.getPowZoom(view.getZoom() - bmpLoc.getZoom());
|
||||||
|
@ -134,9 +132,11 @@ public class MapVectorLayer extends BaseMapLayer {
|
||||||
* view.getTileSize());
|
* view.getTileSize());
|
||||||
if(!bmp.isRecycled()){
|
if(!bmp.isRecycled()){
|
||||||
canvas.drawBitmap(bmp, null, destImage, paintImg);
|
canvas.drawBitmap(bmp, null, destImage, paintImg);
|
||||||
|
shown = true;
|
||||||
}
|
}
|
||||||
canvas.rotate(rot, view.getCenterPointX(), view.getCenterPointY());
|
canvas.rotate(rot, view.getCenterPointX(), view.getCenterPointY());
|
||||||
}
|
}
|
||||||
|
return shown;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -21,6 +21,7 @@ import net.osmand.plus.render.RenderingIcons;
|
||||||
import android.app.AlertDialog;
|
import android.app.AlertDialog;
|
||||||
import android.app.AlertDialog.Builder;
|
import android.app.AlertDialog.Builder;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
import android.content.DialogInterface;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.graphics.Bitmap;
|
import android.graphics.Bitmap;
|
||||||
import android.graphics.Canvas;
|
import android.graphics.Canvas;
|
||||||
|
@ -302,7 +303,7 @@ public class POIMapLayer extends OsmandMapLayer implements ContextMenuLayer.ICon
|
||||||
final Amenity a = (Amenity) o;
|
final Amenity a = (Amenity) o;
|
||||||
OnContextMenuClick listener = new ContextMenuAdapter.OnContextMenuClick() {
|
OnContextMenuClick listener = new ContextMenuAdapter.OnContextMenuClick() {
|
||||||
@Override
|
@Override
|
||||||
public void onContextMenuClick(int itemId, int pos, boolean isChecked) {
|
public void onContextMenuClick(int itemId, int pos, boolean isChecked, DialogInterface dialog) {
|
||||||
if (itemId == R.string.poi_context_menu_call) {
|
if (itemId == R.string.poi_context_menu_call) {
|
||||||
try {
|
try {
|
||||||
Intent intent = new Intent(Intent.ACTION_VIEW);
|
Intent intent = new Intent(Intent.ACTION_VIEW);
|
||||||
|
|
|
@ -61,6 +61,25 @@ public class SeekBarPreference extends DialogPreference implements
|
||||||
maxValue = attrs.getAttributeIntValue(ANDROID_NS, MAX_VALUE_ID, 100);
|
maxValue = attrs.getAttributeIntValue(ANDROID_NS, MAX_VALUE_ID, 100);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Default constructor.
|
||||||
|
*
|
||||||
|
* @param context
|
||||||
|
* The application context.
|
||||||
|
* @param attrs
|
||||||
|
* The attribute set, containing the text, title, values, and
|
||||||
|
* range for the slider dialog.
|
||||||
|
*/
|
||||||
|
public SeekBarPreference(final Context context, int dialogTextId, int defValue, int maxValue) {
|
||||||
|
super(context, null);
|
||||||
|
this.context = context;
|
||||||
|
dialogText = context.getResources().getString(dialogTextId);
|
||||||
|
valueText = null;
|
||||||
|
this.defaultValue = defValue;
|
||||||
|
this.maxValue = maxValue;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
public int getMax() {
|
public int getMax() {
|
||||||
return maxValue;
|
return maxValue;
|
||||||
|
@ -120,7 +139,7 @@ public class SeekBarPreference extends DialogPreference implements
|
||||||
if (shouldPersist()) {
|
if (shouldPersist()) {
|
||||||
persistInt(valueToSave);
|
persistInt(valueToSave);
|
||||||
}
|
}
|
||||||
callChangeListener(new Integer(valueToSave));
|
callChangeListener(Integer.valueOf(valueToSave));
|
||||||
} else {
|
} else {
|
||||||
this.valueToSave = value;
|
this.valueToSave = value;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue