Created route steps plugin. Registered route steps plugin in Osmand. Created dialog to set if point is alredy visited or not
|
@ -934,6 +934,7 @@ Afghanistan, Albania, Algeria, Andorra, Angola, Anguilla, Antigua and Barbuda, A
|
|||
<string name="osmand_parking_plugin_name">Parking Position Plugin</string>
|
||||
<string name="context_menu_item_add_parking_point">Mark as a parking position</string>
|
||||
<string name="context_menu_item_delete_parking_point">Delete a parking marker</string>
|
||||
<string name="context_menu_item_show_route_points">Show route points</string>
|
||||
<string name="gpxup_public">Public</string>
|
||||
<string name="gpxup_identifiable">Identifiable</string>
|
||||
<string name="gpxup_trackable">Trackable</string>
|
||||
|
|
|
@ -22,6 +22,7 @@ import net.osmand.plus.osmo.OsMoPlugin;
|
|||
import net.osmand.plus.osmodroid.OsMoDroidPlugin;
|
||||
import net.osmand.plus.parkingpoint.ParkingPositionPlugin;
|
||||
import net.osmand.plus.rastermaps.OsmandRasterMapsPlugin;
|
||||
import net.osmand.plus.routesteps.RouteStepsPlugin;
|
||||
import net.osmand.plus.srtmplugin.SRTMPlugin;
|
||||
import net.osmand.plus.views.OsmandMapTileView;
|
||||
import org.apache.commons.logging.Log;
|
||||
|
@ -41,10 +42,11 @@ public abstract class OsmandPlugin {
|
|||
private static final String PARKING_PLUGIN_COMPONENT = "net.osmand.parkingPlugin"; //$NON-NLS-1$
|
||||
private static final String SRTM_PLUGIN_COMPONENT_PAID = "net.osmand.srtmPlugin.paid"; //$NON-NLS-1$
|
||||
private static final String SRTM_PLUGIN_COMPONENT = "net.osmand.srtmPlugin"; //$NON-NLS-1$
|
||||
|
||||
|
||||
private static final String OSMODROID_PLUGIN_COMPONENT = "com.OsMoDroid"; //$NON-NLS-1$
|
||||
|
||||
|
||||
private static final String ROUTE_STEPS_PLUGIN_COMPONENT = "net.osmand.routeStepsPlugin"; //$NON-NLS-1$
|
||||
|
||||
public abstract String getId();
|
||||
|
||||
public abstract String getDescription();
|
||||
|
@ -82,6 +84,10 @@ public abstract class OsmandPlugin {
|
|||
if(!f && Version.isParkingPluginInlined(app)) {
|
||||
installedPlugins.add(parking);
|
||||
}
|
||||
|
||||
final RouteStepsPlugin routeSteps = new RouteStepsPlugin(app);
|
||||
installPlugin(ROUTE_STEPS_PLUGIN_COMPONENT, RouteStepsPlugin.ID, app, routeSteps);
|
||||
|
||||
installPlugin(OSMODROID_PLUGIN_COMPONENT, OsMoDroidPlugin.ID, app, new OsMoDroidPlugin(app));
|
||||
installedPlugins.add(new OsmEditingPlugin(app));
|
||||
installedPlugins.add(new OsmandDevelopmentPlugin(app));
|
||||
|
|
67
OsmAnd/src/net/osmand/plus/routesteps/RouteStepsLayer.java
Normal file
|
@ -0,0 +1,67 @@
|
|||
package net.osmand.plus.routesteps;
|
||||
|
||||
import android.graphics.Canvas;
|
||||
import android.graphics.PointF;
|
||||
import net.osmand.data.LatLon;
|
||||
import net.osmand.data.RotatedTileBox;
|
||||
import net.osmand.plus.activities.MapActivity;
|
||||
import net.osmand.plus.views.ContextMenuLayer;
|
||||
import net.osmand.plus.views.OsmandMapLayer;
|
||||
import net.osmand.plus.views.OsmandMapTileView;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Created by Barsik on 10.06.2014.
|
||||
*/
|
||||
public class RouteStepsLayer extends OsmandMapLayer implements ContextMenuLayer.IContextMenuProvider {
|
||||
|
||||
private final MapActivity map;
|
||||
private RouteStepsPlugin plugin;
|
||||
|
||||
public RouteStepsLayer(MapActivity map, RouteStepsPlugin plugin){
|
||||
this.map = map;
|
||||
this.plugin = plugin;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void collectObjectsFromPoint(PointF point, RotatedTileBox tileBox, List<Object> o) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public LatLon getObjectLocation(Object o) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getObjectDescription(Object o) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getObjectName(Object o) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initLayer(OsmandMapTileView view) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDraw(Canvas canvas, RotatedTileBox tileBox, DrawSettings settings) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void destroyLayer() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean drawInScreenPixels() {
|
||||
return false;
|
||||
}
|
||||
}
|
235
OsmAnd/src/net/osmand/plus/routesteps/RouteStepsPlugin.java
Normal file
|
@ -0,0 +1,235 @@
|
|||
package net.osmand.plus.routesteps;
|
||||
|
||||
import android.app.AlertDialog;
|
||||
import android.app.Dialog;
|
||||
import android.content.DialogInterface;
|
||||
import net.osmand.plus.*;
|
||||
import net.osmand.plus.activities.MapActivity;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* Created by Barsik on 10.06.2014.
|
||||
*/
|
||||
public class RouteStepsPlugin extends OsmandPlugin {
|
||||
|
||||
public static final String ID = "osmand.route.stepsPlugin";
|
||||
|
||||
private static final String VISITED_KEY = "IsVisited";
|
||||
private static final String POINT_KEY = "Point";
|
||||
private static final String CURRENT_ROUTE_KEY = "CurrentRoute";
|
||||
private int routeKey;
|
||||
|
||||
|
||||
private OsmandApplication app;
|
||||
private GPXUtilities.GPXFile gpx;
|
||||
private File file;
|
||||
private GPXUtilities.Route currentRoute;
|
||||
private GPXUtilities.WptPt currentPoint;
|
||||
private int currentPointPos;
|
||||
private RouteStepsLayer routeStepsLayer;
|
||||
private List<GPXUtilities.WptPt> pointsList;
|
||||
private List<Boolean> pointsStatus;
|
||||
|
||||
|
||||
|
||||
public RouteStepsPlugin(OsmandApplication app){
|
||||
this.app = app;
|
||||
this.file = new File("/storage/emulated/0/osmand/tracks/","504.gpx");
|
||||
gpx = GPXUtilities.loadGPXFile(app, file);
|
||||
loadCurrentRoute();
|
||||
pointsList = currentRoute.points;
|
||||
pointsStatus = new ArrayList<Boolean>(pointsList.size());
|
||||
getAllPointsStatus();
|
||||
}
|
||||
|
||||
public void setGpxFile(GPXUtilities.GPXFile file){ this.gpx = file;}
|
||||
|
||||
public void saveGPXFile(){ GPXUtilities.writeGpxFile(file,gpx,app); }
|
||||
|
||||
public void setCurrentPoint(GPXUtilities.WptPt point){
|
||||
currentPoint = point;
|
||||
int number = findPointPosition(point);
|
||||
currentPointPos = number;
|
||||
}
|
||||
|
||||
public void setCurrentPoint(int number){
|
||||
currentPoint = pointsList.get(number);
|
||||
currentPointPos = number;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getId() {
|
||||
return ID;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getDescription() {
|
||||
return "This plugin allows you to view key positions of your route...";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return "Tour Point Plugin";
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean init(OsmandApplication app) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void registerLayers(MapActivity activity) {
|
||||
// remove old if existing after turn
|
||||
if(routeStepsLayer != null) {
|
||||
activity.getMapView().removeLayer(routeStepsLayer);
|
||||
}
|
||||
routeStepsLayer = new RouteStepsLayer(activity, this);
|
||||
activity.getMapView().addLayer(routeStepsLayer, 5.5f);
|
||||
//registerWidget(activity);
|
||||
}
|
||||
|
||||
public List<GPXUtilities.WptPt> getPoints() {return currentRoute.points;}
|
||||
|
||||
public boolean getPointStatus(int numberOfPoint){
|
||||
Map<String, String> map = gpx.getExtensionsToRead();
|
||||
|
||||
String mapKey = routeKey + POINT_KEY + numberOfPoint + VISITED_KEY;
|
||||
if (map.containsKey(mapKey)){
|
||||
String value = map.get(mapKey);
|
||||
return (value.equals("true"));
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
//saves point status value to gpx extention file
|
||||
public void setPointStatus(int numberOfPoint, boolean status){
|
||||
Map<String, String> map = gpx.getExtensionsToWrite();
|
||||
|
||||
String mapKey = routeKey + POINT_KEY + numberOfPoint + VISITED_KEY;
|
||||
if (status){
|
||||
map.put(mapKey, "true");
|
||||
} else {
|
||||
map.put(mapKey, "false");
|
||||
}
|
||||
}
|
||||
|
||||
public GPXUtilities.WptPt getNextPoint(){
|
||||
if (pointsList.size() > currentPointPos +1){
|
||||
return pointsList.get(currentPointPos+1);
|
||||
} else{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
private void loadCurrentRoute() {
|
||||
if (gpx.routes.size() < 1){
|
||||
return;
|
||||
}
|
||||
|
||||
Map<String,String> map = gpx.getExtensionsToRead();
|
||||
if (map.containsKey(CURRENT_ROUTE_KEY)){
|
||||
String routeName = map.get(CURRENT_ROUTE_KEY);
|
||||
int i = 0;
|
||||
for(GPXUtilities.Route route : gpx.routes){
|
||||
if (route.name.equals(routeName)){
|
||||
currentRoute = route;
|
||||
routeKey = i;
|
||||
return;
|
||||
}
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
||||
routeKey = 0;
|
||||
currentRoute = gpx.routes.get(0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void registerMapContextMenuActions(final MapActivity mapActivity,
|
||||
final double latitude, final double longitude,
|
||||
ContextMenuAdapter adapter, Object selectedObj) {
|
||||
|
||||
ContextMenuAdapter.OnContextMenuClick addListener = new ContextMenuAdapter.OnContextMenuClick() {
|
||||
@Override
|
||||
public void onContextMenuClick(int resId, int pos,
|
||||
boolean isChecked, DialogInterface dialog) {
|
||||
if (resId == R.string.context_menu_item_show_route_points) {
|
||||
showStepsDialog(mapActivity);
|
||||
}
|
||||
}
|
||||
};
|
||||
adapter.item(R.string.context_menu_item_show_route_points)
|
||||
.icons( R.drawable.ic_action_parking_dark, R.drawable.ic_action_parking_light).listen(addListener).reg();
|
||||
|
||||
}
|
||||
|
||||
private void getAllPointsStatus(){
|
||||
for(int i=0; i< pointsList.size(); i++){
|
||||
pointsStatus.add(getPointStatus(i));
|
||||
}
|
||||
}
|
||||
|
||||
private void showStepsDialog(MapActivity mapActivity){
|
||||
|
||||
List<String> pointNames = new ArrayList<String>();
|
||||
//this array need to collect user selection during dialogue
|
||||
final List<Boolean> pointsIntermediateState = new ArrayList<Boolean>(pointsStatus);
|
||||
for(GPXUtilities.WptPt point : pointsList){
|
||||
pointNames.add(point.name);
|
||||
}
|
||||
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(mapActivity);
|
||||
builder.setTitle("All available points");
|
||||
builder.setMultiChoiceItems(pointNames.toArray(new String[pointNames.size()]), toPrimitiveArray(pointsIntermediateState), new DialogInterface.OnMultiChoiceClickListener() {
|
||||
@Override
|
||||
public void onClick(DialogInterface dialogInterface, int i, boolean isChecked) {
|
||||
//saving user choice
|
||||
pointsIntermediateState.set(i,isChecked);
|
||||
}
|
||||
});
|
||||
builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(DialogInterface dialogInterface, int i) {
|
||||
for (int j=0; j< pointsIntermediateState.size(); j++){
|
||||
boolean newValue = pointsIntermediateState.get(j);
|
||||
//if values is the same - there's no need to save data
|
||||
if (newValue != pointsStatus.get(j)){
|
||||
setPointStatus(j,newValue);
|
||||
}
|
||||
}
|
||||
pointsStatus = new ArrayList<Boolean>(pointsIntermediateState);
|
||||
}
|
||||
});
|
||||
builder.setNegativeButton("Cancel", null);
|
||||
|
||||
builder.show();
|
||||
|
||||
}
|
||||
|
||||
private boolean[] toPrimitiveArray(final List<Boolean> booleanList) {
|
||||
final boolean[] primitives = new boolean[booleanList.size()];
|
||||
int index = 0;
|
||||
for (Boolean object : booleanList) {
|
||||
primitives[index++] = object;
|
||||
}
|
||||
return primitives;
|
||||
}
|
||||
|
||||
|
||||
private int findPointPosition(GPXUtilities.WptPt point){
|
||||
int i = 0;
|
||||
for (GPXUtilities.WptPt item : pointsList){
|
||||
if (item.equals(point)){
|
||||
return i;
|
||||
}
|
||||
i++;
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
}
|
1
plugins/Osmand-ParkingPlugin/.gitignore
vendored
|
@ -2,3 +2,4 @@ bin
|
|||
gen
|
||||
raw
|
||||
obj
|
||||
*.iml
|
||||
|
|
9
plugins/Osmand-RouteSteps/.classpath
Normal file
|
@ -0,0 +1,9 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="src" path="src"/>
|
||||
<classpathentry kind="src" path="gen"/>
|
||||
<classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
|
||||
<classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
|
||||
<classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.DEPENDENCIES"/>
|
||||
<classpathentry kind="output" path="bin/classes"/>
|
||||
</classpath>
|
5
plugins/Osmand-RouteSteps/.gitignore
vendored
Normal file
|
@ -0,0 +1,5 @@
|
|||
bin
|
||||
gen
|
||||
raw
|
||||
obj
|
||||
*.iml
|
33
plugins/Osmand-RouteSteps/.project
Normal file
|
@ -0,0 +1,33 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>Osmand-ParkingPlugin</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>com.android.ide.eclipse.adt.PreCompilerBuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>com.android.ide.eclipse.adt.ApkBuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>com.android.ide.eclipse.adt.AndroidNature</nature>
|
||||
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
26
plugins/Osmand-RouteSteps/AndroidManifest.xml
Normal file
|
@ -0,0 +1,26 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="net.osmand.routeStepsPlugin"
|
||||
android:versionCode="6"
|
||||
android:versionName="1.0" >
|
||||
|
||||
<uses-sdk android:minSdkVersion="4" android:targetSdkVersion="16" />
|
||||
<uses-feature android:name="android.hardware.touchscreen" android:required="false"/>
|
||||
<supports-screens android:resizeable="true" android:smallScreens="true" android:normalScreens="true" android:largeScreens="true"
|
||||
android:xlargeScreens="true" android:anyDensity="true" />
|
||||
<application
|
||||
android:icon="@drawable/icon"
|
||||
android:label="OsmAnd Parking" >
|
||||
<activity
|
||||
android:name="net.osmand.routeStepsPlugin.RouteStepsActivity"
|
||||
android:label="Route Steps" >
|
||||
|
||||
<!--<intent-filter>-->
|
||||
<!--<action android:name="android.intent.action.MAIN" />-->
|
||||
<!--<category android:name="android.intent.category.LAUNCHER" />-->
|
||||
<!--</intent-filter>-->
|
||||
|
||||
</activity>
|
||||
</application>
|
||||
|
||||
</manifest>
|
20
plugins/Osmand-RouteSteps/proguard-project.txt
Normal file
|
@ -0,0 +1,20 @@
|
|||
# To enable ProGuard in your project, edit project.properties
|
||||
# to define the proguard.config property as described in that file.
|
||||
#
|
||||
# Add project specific ProGuard rules here.
|
||||
# By default, the flags in this file are appended to flags specified
|
||||
# in ${sdk.dir}/tools/proguard/proguard-android.txt
|
||||
# You can edit the include path and order by changing the ProGuard
|
||||
# include property in project.properties.
|
||||
#
|
||||
# For more details, see
|
||||
# http://developer.android.com/guide/developing/tools/proguard.html
|
||||
|
||||
# Add any project specific keep options here:
|
||||
|
||||
# If your project uses WebView with JS, uncomment the following
|
||||
# and specify the fully qualified class name to the JavaScript interface
|
||||
# class:
|
||||
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
|
||||
# public *;
|
||||
#}
|
14
plugins/Osmand-RouteSteps/project.properties
Normal file
|
@ -0,0 +1,14 @@
|
|||
# This file is automatically generated by Android Tools.
|
||||
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
|
||||
#
|
||||
# This file must be checked in Version Control Systems.
|
||||
#
|
||||
# To customize properties used by the Ant build system edit
|
||||
# "ant.properties", and override values to adapt the script to your
|
||||
# project structure.
|
||||
#
|
||||
# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
|
||||
#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
|
||||
|
||||
# Project target.
|
||||
target=android-19
|
BIN
plugins/Osmand-RouteSteps/res/drawable-hdpi/ic_launcher.png
Normal file
After Width: | Height: | Size: 9.2 KiB |
BIN
plugins/Osmand-RouteSteps/res/drawable-hdpi/icon.png
Normal file
After Width: | Height: | Size: 7.1 KiB |
BIN
plugins/Osmand-RouteSteps/res/drawable-ldpi/ic_launcher.png
Normal file
After Width: | Height: | Size: 2.7 KiB |
BIN
plugins/Osmand-RouteSteps/res/drawable-ldpi/icon.png
Normal file
After Width: | Height: | Size: 2.6 KiB |
BIN
plugins/Osmand-RouteSteps/res/drawable-mdpi/ic_launcher.png
Normal file
After Width: | Height: | Size: 5.1 KiB |
BIN
plugins/Osmand-RouteSteps/res/drawable-mdpi/icon.png
Normal file
After Width: | Height: | Size: 4 KiB |
BIN
plugins/Osmand-RouteSteps/res/drawable-xhdpi/ic_launcher.png
Normal file
After Width: | Height: | Size: 14 KiB |
BIN
plugins/Osmand-RouteSteps/res/drawable-xhdpi/icon.png
Normal file
After Width: | Height: | Size: 10 KiB |
13
plugins/Osmand-RouteSteps/res/layout/main.xml
Normal file
|
@ -0,0 +1,13 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="fill_parent" >
|
||||
|
||||
<TextView
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="fill_parent"
|
||||
android:gravity="center_vertical|center_horizontal"
|
||||
android:text="@string/route_steps_plugin_installed"
|
||||
android:textSize="22sp"/>
|
||||
|
||||
</FrameLayout>
|
7
plugins/Osmand-RouteSteps/res/values-af/strings.xml
Normal file
|
@ -0,0 +1,7 @@
|
|||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<resources><string name="default_buttons_no">Nee</string>
|
||||
<string name="default_buttons_yes">Ja</string>
|
||||
<string name="osmand_app_not_found">OsmAnd is nie geïnstalleer nie</string>
|
||||
<string name="app_name">OsmAnd Parkering</string>
|
||||
<string name="route_steps_plugin_installed">OsmAnd Parkering inlegmodule is geïnstalleer en aangeskakel in OsmAnd verstellings.</string>
|
||||
</resources>
|
7
plugins/Osmand-RouteSteps/res/values-ar/strings.xml
Normal file
|
@ -0,0 +1,7 @@
|
|||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<resources><string name="default_buttons_no">ليس</string>
|
||||
<string name="default_buttons_yes">نعم</string>
|
||||
<string name="osmand_app_not_found">لم يتم تثبيت OsmAnd</string>
|
||||
<string name="app_name">وقوف السيارات</string>
|
||||
<string name="route_steps_plugin_installed">يتم تثبيت البرنامج المساعد OsmAnd وقوف السيارات وتمكينها في إعدادات OsmAnd</string>
|
||||
</resources>
|
8
plugins/Osmand-RouteSteps/res/values-bg/strings.xml
Normal file
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="default_buttons_no">Не</string>
|
||||
<string name="default_buttons_yes">Да</string>
|
||||
<string name="osmand_app_not_found">Приложението OsmAnd не е инсталирано</string>
|
||||
<string name="app_name">Добавка Parking за OsmAnd</string>
|
||||
<string name="route_steps_plugin_installed">Добавката Parking е инсталирана и включена в настройките на OsmAnd.</string>
|
||||
</resources>
|
8
plugins/Osmand-RouteSteps/res/values-bs/strings.xml
Normal file
|
@ -0,0 +1,8 @@
|
|||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<resources>
|
||||
<string name="default_buttons_no">Ne</string>
|
||||
<string name="default_buttons_yes">Da</string>
|
||||
<string name="osmand_app_not_found">OsmAnd is not installed</string>
|
||||
<string name="app_name">OsmAnd Parking Plugin</string>
|
||||
<string name="route_steps_plugin_installed">OsmAnd Parking Plugin is installed and enabled in OsmAnd settings.</string>
|
||||
</resources>
|
7
plugins/Osmand-RouteSteps/res/values-ca/strings.xml
Normal file
|
@ -0,0 +1,7 @@
|
|||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<resources><string name="default_buttons_yes">Sí</string>
|
||||
<string name="default_buttons_no">No</string>
|
||||
<string name="osmand_app_not_found">L\'OsmAnd no està instal·lat</string>
|
||||
<string name="app_name">OsmAnd Aparcament</string>
|
||||
<string name="route_steps_plugin_installed">El connector OsmAnd Aparcament està instal·lat i activat a la configuració de l\'OsmAnd.</string>
|
||||
</resources>
|
8
plugins/Osmand-RouteSteps/res/values-cs/strings.xml
Normal file
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="default_buttons_no">Ne</string>
|
||||
<string name="default_buttons_yes">Ano</string>
|
||||
<string name="osmand_app_not_found">OsmAnd není nainstalován</string>
|
||||
<string name="app_name">OsmAnd parkování</string>
|
||||
<string name="route_steps_plugin_installed">OsmAnd modul parkování je nainstalován a aktivován v nastavení OsmAnd.</string>
|
||||
</resources>
|
3
plugins/Osmand-RouteSteps/res/values-cy/strings.xml
Normal file
|
@ -0,0 +1,3 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
</resources>
|
7
plugins/Osmand-RouteSteps/res/values-da/strings.xml
Normal file
|
@ -0,0 +1,7 @@
|
|||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<resources><string name="default_buttons_no">Nej</string>
|
||||
<string name="default_buttons_yes">Ja</string>
|
||||
<string name="osmand_app_not_found">OsmAnd er ikke installeret</string>
|
||||
<string name="app_name">OsmAnd parkering</string>
|
||||
<string name="route_steps_plugin_installed">OsmAnd udvidelsen Parkering er installeret og aktiveret i OsmAnd indstillinger.</string>
|
||||
</resources>
|
7
plugins/Osmand-RouteSteps/res/values-de/strings.xml
Normal file
|
@ -0,0 +1,7 @@
|
|||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<resources><string name="default_buttons_no">Nein</string>
|
||||
<string name="default_buttons_yes">Ja</string>
|
||||
<string name="osmand_app_not_found">OsmAnd ist nicht installiert</string>
|
||||
<string name="app_name">OsmAnd Parkplatz-Plugin</string>
|
||||
<string name="route_steps_plugin_installed">OsmAnd Parkplatz-Plugin wurde installiert und in den OsmAnd-Einstellungen aktiviert.</string>
|
||||
</resources>
|
7
plugins/Osmand-RouteSteps/res/values-es/strings.xml
Normal file
|
@ -0,0 +1,7 @@
|
|||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<resources><string name="default_buttons_no">No</string>
|
||||
<string name="default_buttons_yes">Sí</string>
|
||||
<string name="osmand_app_not_found">OsmAnd no está instalado</string>
|
||||
<string name="app_name">Aparcamiento de OsmAnd</string>
|
||||
<string name="route_steps_plugin_installed">El Plugin Aparcamiento de OsmAnd está instalado y activado en la configuración de OsmAnd.</string>
|
||||
</resources>
|
7
plugins/Osmand-RouteSteps/res/values-eu/strings.xml
Normal file
|
@ -0,0 +1,7 @@
|
|||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<resources><string name="default_buttons_no">Ez</string>
|
||||
<string name="default_buttons_yes">Bai</string>
|
||||
<string name="osmand_app_not_found">OsmAnd ez dago instalatuta</string>
|
||||
<string name="app_name">OsmAnd Parking Plugin</string>
|
||||
<string name="route_steps_plugin_installed">OsmAnd Parking Plugin instalatuta eta aktibatuta dago OsmAnd-en konfigurazioan.</string>
|
||||
</resources>
|
7
plugins/Osmand-RouteSteps/res/values-fa/strings.xml
Normal file
|
@ -0,0 +1,7 @@
|
|||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<resources><string name="default_buttons_yes">بله</string>
|
||||
<string name="default_buttons_no">خیر</string>
|
||||
<string name="osmand_app_not_found">OsmAnd نصب نشده است</string>
|
||||
<string name="app_name">پارکینگ OsmAnd</string>
|
||||
<string name="route_steps_plugin_installed">افزونه پارکینگ OsmAnd نصب شده و در تنظیمات OsmAnd فعال شده است.</string>
|
||||
</resources>
|
8
plugins/Osmand-RouteSteps/res/values-fi/strings.xml
Normal file
|
@ -0,0 +1,8 @@
|
|||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<resources>
|
||||
<string name="default_buttons_no">Ei</string>
|
||||
<string name="default_buttons_yes">Kyllä</string>
|
||||
<string name="osmand_app_not_found">OsmAnd ei ole asennettu</string>
|
||||
<string name="app_name">OsmAnd Parking</string>
|
||||
<string name="route_steps_plugin_installed">OsmAnd Parking lisäosa on asennettu ja aktivoitu OsmAnd:in asetuksista.</string>
|
||||
</resources>
|
7
plugins/Osmand-RouteSteps/res/values-fr/strings.xml
Normal file
|
@ -0,0 +1,7 @@
|
|||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<resources><string name="default_buttons_no">Non</string>
|
||||
<string name="default_buttons_yes">Oui</string>
|
||||
<string name="osmand_app_not_found">OsmAnd n\'est pas installé</string>
|
||||
<string name="app_name">Greffon Parking pour OsmAnd</string>
|
||||
<string name="route_steps_plugin_installed">Le greffon Parking est installé et activé dans les paramètres de OsmAnd.</string>
|
||||
</resources>
|
8
plugins/Osmand-RouteSteps/res/values-he/strings.xml
Normal file
|
@ -0,0 +1,8 @@
|
|||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<resources>
|
||||
<string name="default_buttons_no">לא</string>
|
||||
<string name="default_buttons_yes">כן</string>
|
||||
<string name="osmand_app_not_found">התכנית OsmAnd אינה מותקנת</string>
|
||||
<string name="app_name">חנייה עם OsmAnd</string>
|
||||
<string name="route_steps_plugin_installed">תוסף החנייה של OsmAnd מותקן ומופעל בהגדרות של OsmAnd.</string>
|
||||
</resources>
|
8
plugins/Osmand-RouteSteps/res/values-hi/strings.xml
Normal file
|
@ -0,0 +1,8 @@
|
|||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<resources>
|
||||
<string name="default_buttons_no">नही</string>
|
||||
<string name="default_buttons_yes">हा</string>
|
||||
<string name="osmand_app_not_found">OsmAnd is not installed</string>
|
||||
<string name="app_name">ओएसएमएएनडी पार्किंग प्लगिन</string>
|
||||
<string name="route_steps_plugin_installed">OsmAnd Parking Plugin is installed and enabled in OsmAnd settings.</string>
|
||||
</resources>
|
8
plugins/Osmand-RouteSteps/res/values-hr/strings.xml
Normal file
|
@ -0,0 +1,8 @@
|
|||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<resources>
|
||||
<string name="default_buttons_no">Ne</string>
|
||||
<string name="default_buttons_yes">Da</string>
|
||||
<string name="osmand_app_not_found">OsmAnd nije instaliran</string>
|
||||
<string name="app_name">OsmAnd Parkiralište</string>
|
||||
<string name="route_steps_plugin_installed">OsmAnd dodatak za parkirališta je instaliran i omogućen u OsmAnd postavkama.</string>
|
||||
</resources>
|
8
plugins/Osmand-RouteSteps/res/values-hu/strings.xml
Normal file
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="default_buttons_no">Nem</string>
|
||||
<string name="default_buttons_yes">Igen</string>
|
||||
<string name="osmand_app_not_found">Az OsmAnd nincs feltelepítve</string>
|
||||
<string name="app_name">OsmAnd Parkolás</string>
|
||||
<string name="route_steps_plugin_installed">OsmAnd Parkolási Bővítmény feltelepítve és engedélyezve az OsmAnd beállításaiban.</string>
|
||||
</resources>
|
8
plugins/Osmand-RouteSteps/res/values-hy/strings.xml
Normal file
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="default_buttons_no">No</string>
|
||||
<string name="default_buttons_yes">Yes</string>
|
||||
<string name="osmand_app_not_found">OsmAnd is not installed</string>
|
||||
<string name="app_name">OsmAnd Parking Plugin</string>
|
||||
<string name="route_steps_plugin_installed">OsmAnd Parking Plugin is installed and enabled in OsmAnd settings.</string>
|
||||
</resources>
|
8
plugins/Osmand-RouteSteps/res/values-id/strings.xml
Normal file
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="default_buttons_no">No</string>
|
||||
<string name="default_buttons_yes">Yes</string>
|
||||
<string name="osmand_app_not_found">OsmAnd is not installed</string>
|
||||
<string name="app_name">OsmAnd Parking Plugin</string>
|
||||
<string name="route_steps_plugin_installed">OsmAnd Parking Plugin is installed and enabled in OsmAnd settings.</string>
|
||||
</resources>
|
7
plugins/Osmand-RouteSteps/res/values-it/strings.xml
Normal file
|
@ -0,0 +1,7 @@
|
|||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<resources><string name="default_buttons_no">No</string>
|
||||
<string name="default_buttons_yes">Si</string>
|
||||
<string name="osmand_app_not_found">OsmAnd non è installato</string>
|
||||
<string name="app_name">OsmAnd Parking</string>
|
||||
<string name="route_steps_plugin_installed">Il Plugin Parcheggio per OsmAnd è installato e abilitato nelle impostazioni di OsmAnd.</string>
|
||||
</resources>
|
7
plugins/Osmand-RouteSteps/res/values-ja/strings.xml
Normal file
|
@ -0,0 +1,7 @@
|
|||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<resources><string name="default_buttons_no">いいえ</string>
|
||||
<string name="default_buttons_yes">はい</string>
|
||||
<string name="osmand_app_not_found">OsmAndがインストールされていません</string>
|
||||
<string name="app_name">OsmAnd駐車場</string>
|
||||
<string name="route_steps_plugin_installed">OsmAnd駐車場プラグインはインストールされており、設定は有効です。</string>
|
||||
</resources>
|
8
plugins/Osmand-RouteSteps/res/values-ka/strings.xml
Normal file
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="default_buttons_no">არა</string>
|
||||
<string name="default_buttons_yes">დიახ</string>
|
||||
<string name="osmand_app_not_found">OsmAnd ჩადგმული არაა</string>
|
||||
<string name="app_name">OsmAnd პარკინგი</string>
|
||||
<string name="route_steps_plugin_installed">OsmAnd-ის პარკინგის დამატება ჩადგმულია და ჩართულია პარამეტრებში.</string>
|
||||
</resources>
|
7
plugins/Osmand-RouteSteps/res/values-lt/strings.xml
Normal file
|
@ -0,0 +1,7 @@
|
|||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<resources><string name="default_buttons_no">Ne</string>
|
||||
<string name="default_buttons_yes">Taip</string>
|
||||
<string name="osmand_app_not_found">OsmAnd programa neįdiegta</string>
|
||||
<string name="app_name">OsmAnd parkavimo įskiepis</string>
|
||||
<string name="route_steps_plugin_installed">OsmAnd Parkavimo įskiepis įdiegiamas ir aktyvuojamas OsmAnd nustatymuose.</string>
|
||||
</resources>
|
8
plugins/Osmand-RouteSteps/res/values-lv/strings.xml
Normal file
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="default_buttons_no">Nē</string>
|
||||
<string name="default_buttons_yes">Jā</string>
|
||||
<string name="osmand_app_not_found">OsmAnd nav instalēts</string>
|
||||
<string name="app_name">OsmAnd Parkošanās</string>
|
||||
<string name="route_steps_plugin_installed">OsmAnd parkošanās spraudnis ir instalēts un iespējots OsmAnd uzstādījumos.</string>
|
||||
</resources>
|
3
plugins/Osmand-RouteSteps/res/values-mn/strings.xml
Normal file
|
@ -0,0 +1,3 @@
|
|||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<resources>
|
||||
</resources>
|
8
plugins/Osmand-RouteSteps/res/values-mr/strings.xml
Normal file
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="default_buttons_no">नाही</string>
|
||||
<string name="default_buttons_yes">हो</string>
|
||||
<string name="osmand_app_not_found">ओएसएमएएनडि इन्स्टॉल केलेले नाही</string>
|
||||
<string name="app_name">ओएसएमएएनडि पार्किंग</string>
|
||||
<string name="route_steps_plugin_installed">ओएसएमएएनडि पार्किंग प्लगिन इन्स्टॉल आणि चालू केले आहे.</string>
|
||||
</resources>
|
7
plugins/Osmand-RouteSteps/res/values-nb/strings.xml
Normal file
|
@ -0,0 +1,7 @@
|
|||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<resources><string name="default_buttons_yes">Ja</string>
|
||||
<string name="default_buttons_no">Nei</string>
|
||||
<string name="osmand_app_not_found">OsmAnd er ikke installert</string>
|
||||
<string name="app_name">OsmAnd - parkering</string>
|
||||
<string name="route_steps_plugin_installed">OsmAnd-pluginen er installert og aktivert i innstillingene for OsmAnd.</string>
|
||||
</resources>
|
7
plugins/Osmand-RouteSteps/res/values-nl/strings.xml
Normal file
|
@ -0,0 +1,7 @@
|
|||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<resources><string name="default_buttons_no">Nee</string>
|
||||
<string name="default_buttons_yes">Ja</string>
|
||||
<string name="osmand_app_not_found">OsmAnd is niet geïnstalleerd</string>
|
||||
<string name="app_name">OsmAnd parkeerplugin</string>
|
||||
<string name="route_steps_plugin_installed">OsmAnd parkeerplugin is geïnstalleerd en geactiveerd in de OsmAnd-instellingen.</string>
|
||||
</resources>
|
7
plugins/Osmand-RouteSteps/res/values-pl/strings.xml
Normal file
|
@ -0,0 +1,7 @@
|
|||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<resources><string name="default_buttons_no">Nie</string>
|
||||
<string name="default_buttons_yes">Tak</string>
|
||||
<string name="osmand_app_not_found">Osmand nie jest zainstalowany</string>
|
||||
<string name="app_name">Wtyczka parkowania dla OsmAnd</string>
|
||||
<string name="route_steps_plugin_installed">Wtyczka parkowania jest zainstalowana i włączona w ustawieniach OsmAnd.</string>
|
||||
</resources>
|
7
plugins/Osmand-RouteSteps/res/values-pt/strings.xml
Normal file
|
@ -0,0 +1,7 @@
|
|||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<resources><string name="default_buttons_no">Não</string>
|
||||
<string name="default_buttons_yes">Sim</string>
|
||||
<string name="osmand_app_not_found">Osmand não está instalado</string>
|
||||
<string name="app_name">OsmAnd Parking Plugin</string>
|
||||
<string name="route_steps_plugin_installed">OsmAnd Parking Plugin está instalado e activado nas opções OsmAnd.</string>
|
||||
</resources>
|
7
plugins/Osmand-RouteSteps/res/values-ro/strings.xml
Normal file
|
@ -0,0 +1,7 @@
|
|||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<resources><string name="default_buttons_no">Nu</string>
|
||||
<string name="default_buttons_yes">Da</string>
|
||||
<string name="osmand_app_not_found">OsmAnd nu este instalat</string>
|
||||
<string name="app_name">OsmAnd Parking</string>
|
||||
<string name="route_steps_plugin_installed">Plugin-ul OsmAnd Parking este instalat și activat în setările OsmAnd.</string>
|
||||
</resources>
|
8
plugins/Osmand-RouteSteps/res/values-ru/strings.xml
Normal file
|
@ -0,0 +1,8 @@
|
|||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<resources>
|
||||
<string name="default_buttons_no">Нет</string>
|
||||
<string name="default_buttons_yes">Да</string>
|
||||
<string name="osmand_app_not_found">OsmAnd не установлен</string>
|
||||
<string name="app_name">Плагин парковки OsmAnd</string>
|
||||
<string name="route_steps_plugin_installed">Плагин парковки установлен и включен в настройках OsmAnd.</string>
|
||||
</resources>
|
7
plugins/Osmand-RouteSteps/res/values-sc/strings.xml
Normal file
|
@ -0,0 +1,7 @@
|
|||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<resources><string name="default_buttons_no">Nono</string>
|
||||
<string name="default_buttons_yes">Eja</string>
|
||||
<string name="osmand_app_not_found">OsmAnd no est installau</string>
|
||||
<string name="app_name">OsmAnd Parchezu</string>
|
||||
<string name="route_steps_plugin_installed">OsmAnd Parchezu est installau e insertau in sas impostaduras de OsmAnd.</string>
|
||||
</resources>
|
8
plugins/Osmand-RouteSteps/res/values-sk/strings.xml
Normal file
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="default_buttons_no">Nie</string>
|
||||
<string name="default_buttons_yes">Áno</string>
|
||||
<string name="osmand_app_not_found">Aplikácia OsmAnd nie je nainštalovaná</string>
|
||||
<string name="app_name">OsmAnd parkovanie</string>
|
||||
<string name="route_steps_plugin_installed">Parkovací zásuvný modul pre OsmAnd je nainštalovaný a povolený v nastaveniach aplikácie OsmAnd.</string>
|
||||
</resources>
|
8
plugins/Osmand-RouteSteps/res/values-sl/strings.xml
Normal file
|
@ -0,0 +1,8 @@
|
|||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<resources>
|
||||
<string name="default_buttons_yes">Da</string>
|
||||
<string name="default_buttons_no">Ne</string>
|
||||
<string name="osmand_app_not_found">OsmAnd ni nameščen</string>
|
||||
<string name="app_name">OsmAnd parkiranje</string>
|
||||
<string name="route_steps_plugin_installed">Vtičnik OsmAnd parkiranje je nameščen in omogočen v OsmAnd nastavitvah.</string>
|
||||
</resources>
|
7
plugins/Osmand-RouteSteps/res/values-sq/strings.xml
Normal file
|
@ -0,0 +1,7 @@
|
|||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<resources><string name="default_buttons_no">Jo</string>
|
||||
<string name="default_buttons_yes">Po</string>
|
||||
<string name="osmand_app_not_found">OsmAnd nuk është instaluar</string>
|
||||
<string name="app_name">OsmAnd Parkim</string>
|
||||
<string name="route_steps_plugin_installed">Plugini OsmAnd Parkim është instaluar dhe aktivizuar në OsmAnd settings.</string>
|
||||
</resources>
|
3
plugins/Osmand-RouteSteps/res/values-sr/strings.xml
Normal file
|
@ -0,0 +1,3 @@
|
|||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<resources>
|
||||
</resources>
|
8
plugins/Osmand-RouteSteps/res/values-sv/strings.xml
Normal file
|
@ -0,0 +1,8 @@
|
|||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<resources>
|
||||
<string name="default_buttons_no">Nej</string>
|
||||
<string name="default_buttons_yes">Ja</string>
|
||||
<string name="osmand_app_not_found">OsmAnd är inte installerad</string>
|
||||
<string name="app_name">OsmAnd - parkering</string>
|
||||
<string name="route_steps_plugin_installed">OsmAnd-pluginen Parkering är installerad och aktiverad i inställningarna för OsmAnd.</string>
|
||||
</resources>
|
3
plugins/Osmand-RouteSteps/res/values-tl/strings.xml
Normal file
|
@ -0,0 +1,3 @@
|
|||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<resources>
|
||||
</resources>
|
5
plugins/Osmand-RouteSteps/res/values-tr/strings.xml
Normal file
|
@ -0,0 +1,5 @@
|
|||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<resources>
|
||||
<string name="default_buttons_yes">Evet</string>
|
||||
<string name="default_buttons_no">Hayır</string>
|
||||
</resources>
|
7
plugins/Osmand-RouteSteps/res/values-uk/strings.xml
Normal file
|
@ -0,0 +1,7 @@
|
|||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<resources><string name="default_buttons_no">Ні</string>
|
||||
<string name="default_buttons_yes">Так</string>
|
||||
<string name="osmand_app_not_found">Osmand не встановлено</string>
|
||||
<string name="app_name">Паркування OsmAnd</string>
|
||||
<string name="route_steps_plugin_installed">Плагін Паркування OsmAnd встановлено та увімкнено у налаштуваннях OsmAnd.</string>
|
||||
</resources>
|
7
plugins/Osmand-RouteSteps/res/values-zh-rCN/strings.xml
Normal file
|
@ -0,0 +1,7 @@
|
|||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<resources><string name="default_buttons_yes">是</string>
|
||||
<string name="default_buttons_no">没有</string>
|
||||
<string name="osmand_app_not_found">OsmAnd 未安装</string>
|
||||
<string name="app_name">OsmAnd 停车场</string>
|
||||
<string name="route_steps_plugin_installed">OsmAnd 停车场插件已安装,并已在 OsmAnd 设置中启用。</string>
|
||||
</resources>
|
7
plugins/Osmand-RouteSteps/res/values-zh-rTW/strings.xml
Normal file
|
@ -0,0 +1,7 @@
|
|||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<resources><string name="default_buttons_no">否</string>
|
||||
<string name="default_buttons_yes">是</string>
|
||||
<string name="osmand_app_not_found">OsmAnd 並未安裝</string>
|
||||
<string name="route_steps_plugin_installed">OsmAnd 停車場外掛元件已安裝,並且已在 OsmAnd 設定裡啟用。</string>
|
||||
<string name="app_name">OsmAnd 停車場</string>
|
||||
</resources>
|
8
plugins/Osmand-RouteSteps/res/values/strings.xml
Normal file
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="default_buttons_no">No</string>
|
||||
<string name="default_buttons_yes">Yes</string>
|
||||
<string name="osmand_app_not_found">OsmAnd is not installed</string>
|
||||
<string name="app_name">OsmAnd Route steps</string>
|
||||
<string name="route_steps_plugin_installed">OsmAnd Route Steps Plugin is installed and enabled in OsmAnd settings.</string>
|
||||
</resources>
|
|
@ -0,0 +1,61 @@
|
|||
package net.osmand.routeStepsPlugin;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.app.AlertDialog;
|
||||
import android.content.ActivityNotFoundException;
|
||||
import android.content.ComponentName;
|
||||
import android.content.DialogInterface;
|
||||
import android.content.Intent;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.content.pm.ResolveInfo;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import net.osmand.routeSteps.R;
|
||||
|
||||
public class RouteStepsActivity extends Activity {
|
||||
private static final String OSMAND_COMPONENT = "net.osmand"; //$NON-NLS-1$
|
||||
private static final String OSMAND_COMPONENT_PLUS = "net.osmand.plus"; //$NON-NLS-1$
|
||||
private static final String OSMAND_ACTIVITY = "net.osmand.plus.activities.MainMenuActivity"; //$NON-NLS-1$
|
||||
|
||||
/** Called when the activity is first created. */
|
||||
@Override
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.main);
|
||||
|
||||
Intent intentPlus = new Intent();
|
||||
intentPlus.setComponent(new ComponentName(OSMAND_COMPONENT_PLUS, OSMAND_ACTIVITY));
|
||||
intentPlus.setFlags(Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
|
||||
ResolveInfo resolved = getPackageManager().resolveActivity(intentPlus, PackageManager.MATCH_DEFAULT_ONLY);
|
||||
if(resolved != null) {
|
||||
stopService(intentPlus);
|
||||
startActivity(intentPlus);
|
||||
} else {
|
||||
Intent intentNormal = new Intent();
|
||||
intentNormal.setFlags(Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
|
||||
intentNormal.setComponent(new ComponentName(OSMAND_COMPONENT, OSMAND_ACTIVITY));
|
||||
resolved = getPackageManager().resolveActivity(intentNormal, PackageManager.MATCH_DEFAULT_ONLY);
|
||||
if (resolved != null) {
|
||||
stopService(intentNormal);
|
||||
startActivity(intentNormal);
|
||||
} else {
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(this);
|
||||
builder.setMessage(getString(R.string.osmand_app_not_found));
|
||||
builder.setPositiveButton(getString(R.string.default_buttons_yes), new DialogInterface.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("market://search?q=pname:" + OSMAND_COMPONENT_PLUS));
|
||||
try {
|
||||
stopService(intent);
|
||||
startActivity(intent);
|
||||
} catch (ActivityNotFoundException e) {
|
||||
}
|
||||
}
|
||||
});
|
||||
builder.setNegativeButton(getString(R.string.default_buttons_no), null);
|
||||
builder.show();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|