Add osmo plugin
This commit is contained in:
parent
8889571cb8
commit
c5dfc25b4e
12 changed files with 271 additions and 40 deletions
|
@ -106,6 +106,7 @@
|
||||||
<activity android:name="net.osmand.plus.activities.SettingsNavigationActivity" android:configChanges="keyboardHidden|orientation"></activity>
|
<activity android:name="net.osmand.plus.activities.SettingsNavigationActivity" android:configChanges="keyboardHidden|orientation"></activity>
|
||||||
<activity android:name="net.osmand.plus.monitoring.SettingsMonitoringActivity" android:configChanges="keyboardHidden|orientation"></activity>
|
<activity android:name="net.osmand.plus.monitoring.SettingsMonitoringActivity" android:configChanges="keyboardHidden|orientation"></activity>
|
||||||
<activity android:name="net.osmand.plus.rastermaps.SettingsRasterMapsActivity" android:configChanges="keyboardHidden|orientation"></activity>
|
<activity android:name="net.osmand.plus.rastermaps.SettingsRasterMapsActivity" android:configChanges="keyboardHidden|orientation"></activity>
|
||||||
|
<activity android:name="net.osmand.plus.osmo.SettingsOsMoActivity" android:configChanges="keyboardHidden|orientation"></activity>
|
||||||
<activity android:name="net.osmand.plus.osmedit.SettingsOsmEditingActivity" android:configChanges="keyboardHidden|orientation"></activity>
|
<activity android:name="net.osmand.plus.osmedit.SettingsOsmEditingActivity" android:configChanges="keyboardHidden|orientation"></activity>
|
||||||
<activity android:name="net.osmand.plus.development.SettingsDevelopmentActivity" android:configChanges="keyboardHidden|orientation"></activity>
|
<activity android:name="net.osmand.plus.development.SettingsDevelopmentActivity" android:configChanges="keyboardHidden|orientation"></activity>
|
||||||
<activity android:name="net.osmand.plus.audionotes.SettingsAudioVideoActivity" android:configChanges="keyboardHidden|orientation"></activity>
|
<activity android:name="net.osmand.plus.audionotes.SettingsAudioVideoActivity" android:configChanges="keyboardHidden|orientation"></activity>
|
||||||
|
|
|
@ -9,6 +9,12 @@
|
||||||
3. All your modified/created strings are in the top of the file (to make easier find what\'s translated).
|
3. All your modified/created strings are in the top of the file (to make easier find what\'s translated).
|
||||||
PLEASE: Have a look at http://code.google.com/p/osmand/wiki/UIConsistency, it may really improve your and our work :-) Thx - Hardy
|
PLEASE: Have a look at http://code.google.com/p/osmand/wiki/UIConsistency, it may really improve your and our work :-) Thx - Hardy
|
||||||
-->
|
-->
|
||||||
|
<string name="osmo_settings_uuid">Unique device id</string>
|
||||||
|
<string name="osmo_settings_descr">View unique device registration key and other monitoring specific settings </string>
|
||||||
|
<string name="osmo_settings">OSMo (OpenStreetMap-Monitoring)</string>
|
||||||
|
<string name="osmo_plugin_description">OpenStreetMap-Monitoring - Advanced Live Monitoring with lots of features for remote control http://osmo.mobi</string>
|
||||||
|
<string name="osmo_plugin_name">OSMo (Advanced Live Monitoring)</string>
|
||||||
|
<string name="osmo_settings">OSMo settings</string>
|
||||||
<string name="always_center_position_on_map">Display position always in center</string>
|
<string name="always_center_position_on_map">Display position always in center</string>
|
||||||
<string name="voice_pref_title">Voice</string>
|
<string name="voice_pref_title">Voice</string>
|
||||||
<string name="misc_pref_title">Miscallenious</string>
|
<string name="misc_pref_title">Miscallenious</string>
|
||||||
|
|
|
@ -705,7 +705,7 @@ public class OsmAndLocationProvider implements SensorEventListener {
|
||||||
scheduleCheckIfGpsLost(location);
|
scheduleCheckIfGpsLost(location);
|
||||||
}
|
}
|
||||||
app.getSavingTrackHelper().updateLocation(location);
|
app.getSavingTrackHelper().updateLocation(location);
|
||||||
app.getLiveMonitoringHelper().updateLocation(location);
|
OsmandPlugin.updateLocationPlugins(location);
|
||||||
// 2. accessibility routing
|
// 2. accessibility routing
|
||||||
navigationInfo.setLocation(location);
|
navigationInfo.setLocation(location);
|
||||||
|
|
||||||
|
@ -736,7 +736,7 @@ public class OsmAndLocationProvider implements SensorEventListener {
|
||||||
// 1. Logging services
|
// 1. Logging services
|
||||||
if (location != null) {
|
if (location != null) {
|
||||||
app.getSavingTrackHelper().updateLocation(location);
|
app.getSavingTrackHelper().updateLocation(location);
|
||||||
app.getLiveMonitoringHelper().updateLocation(location);
|
OsmandPlugin.updateLocationPlugins(location);
|
||||||
}
|
}
|
||||||
// 2. accessibility routing
|
// 2. accessibility routing
|
||||||
navigationInfo.setLocation(location);
|
navigationInfo.setLocation(location);
|
||||||
|
|
|
@ -22,11 +22,11 @@ import net.osmand.plus.GPXUtilities.GPXFile;
|
||||||
import net.osmand.plus.GPXUtilities.WptPt;
|
import net.osmand.plus.GPXUtilities.WptPt;
|
||||||
import net.osmand.plus.access.AccessibilityMode;
|
import net.osmand.plus.access.AccessibilityMode;
|
||||||
import net.osmand.plus.activities.DayNightHelper;
|
import net.osmand.plus.activities.DayNightHelper;
|
||||||
import net.osmand.plus.activities.LiveMonitoringHelper;
|
|
||||||
import net.osmand.plus.activities.SavingTrackHelper;
|
import net.osmand.plus.activities.SavingTrackHelper;
|
||||||
import net.osmand.plus.activities.SettingsActivity;
|
import net.osmand.plus.activities.SettingsActivity;
|
||||||
import net.osmand.plus.api.SQLiteAPI;
|
import net.osmand.plus.api.SQLiteAPI;
|
||||||
import net.osmand.plus.api.SQLiteAPIImpl;
|
import net.osmand.plus.api.SQLiteAPIImpl;
|
||||||
|
import net.osmand.plus.monitoring.LiveMonitoringHelper;
|
||||||
import net.osmand.plus.render.NativeOsmandLibrary;
|
import net.osmand.plus.render.NativeOsmandLibrary;
|
||||||
import net.osmand.plus.render.RendererRegistry;
|
import net.osmand.plus.render.RendererRegistry;
|
||||||
import net.osmand.plus.resources.ResourceManager;
|
import net.osmand.plus.resources.ResourceManager;
|
||||||
|
|
|
@ -5,6 +5,7 @@ import android.content.Intent;
|
||||||
import android.content.pm.PackageManager.NameNotFoundException;
|
import android.content.pm.PackageManager.NameNotFoundException;
|
||||||
import android.preference.PreferenceScreen;
|
import android.preference.PreferenceScreen;
|
||||||
import net.osmand.IProgress;
|
import net.osmand.IProgress;
|
||||||
|
import net.osmand.Location;
|
||||||
import net.osmand.PlatformUtil;
|
import net.osmand.PlatformUtil;
|
||||||
import net.osmand.access.AccessibilityPlugin;
|
import net.osmand.access.AccessibilityPlugin;
|
||||||
import net.osmand.plus.activities.LocalIndexInfo;
|
import net.osmand.plus.activities.LocalIndexInfo;
|
||||||
|
@ -17,6 +18,7 @@ import net.osmand.plus.development.OsmandDevelopmentPlugin;
|
||||||
import net.osmand.plus.distancecalculator.DistanceCalculatorPlugin;
|
import net.osmand.plus.distancecalculator.DistanceCalculatorPlugin;
|
||||||
import net.osmand.plus.monitoring.OsmandMonitoringPlugin;
|
import net.osmand.plus.monitoring.OsmandMonitoringPlugin;
|
||||||
import net.osmand.plus.osmedit.OsmEditingPlugin;
|
import net.osmand.plus.osmedit.OsmEditingPlugin;
|
||||||
|
import net.osmand.plus.osmo.OsMoPlugin;
|
||||||
import net.osmand.plus.osmodroid.OsMoDroidPlugin;
|
import net.osmand.plus.osmodroid.OsMoDroidPlugin;
|
||||||
import net.osmand.plus.parkingpoint.ParkingPositionPlugin;
|
import net.osmand.plus.parkingpoint.ParkingPositionPlugin;
|
||||||
import net.osmand.plus.rastermaps.OsmandRasterMapsPlugin;
|
import net.osmand.plus.rastermaps.OsmandRasterMapsPlugin;
|
||||||
|
@ -75,6 +77,7 @@ public abstract class OsmandPlugin {
|
||||||
installedPlugins.add(new DistanceCalculatorPlugin(app));
|
installedPlugins.add(new DistanceCalculatorPlugin(app));
|
||||||
installedPlugins.add(new AudioVideoNotesPlugin(app));
|
installedPlugins.add(new AudioVideoNotesPlugin(app));
|
||||||
installedPlugins.add(new OsmEditingPlugin(app));
|
installedPlugins.add(new OsmEditingPlugin(app));
|
||||||
|
installedPlugins.add(new OsMoPlugin(app));
|
||||||
installedPlugins.add(new OsmandDevelopmentPlugin(app));
|
installedPlugins.add(new OsmandDevelopmentPlugin(app));
|
||||||
|
|
||||||
|
|
||||||
|
@ -130,7 +133,9 @@ public abstract class OsmandPlugin {
|
||||||
|
|
||||||
public void registerOptionsMenuItems(MapActivity mapActivity, ContextMenuAdapter helper) {}
|
public void registerOptionsMenuItems(MapActivity mapActivity, ContextMenuAdapter helper) {}
|
||||||
|
|
||||||
public void loadLocalIndexes(List<LocalIndexInfo> result, LoadLocalIndexTask loadTask) {};
|
public void loadLocalIndexes(List<LocalIndexInfo> result, LoadLocalIndexTask loadTask) {}
|
||||||
|
|
||||||
|
public void updateLocation(Location location) {}
|
||||||
|
|
||||||
public void contextMenuLocalIndexes(LocalIndexesActivity la, LocalIndexInfo info, ContextMenuAdapter adapter) {};
|
public void contextMenuLocalIndexes(LocalIndexesActivity la, LocalIndexInfo info, ContextMenuAdapter adapter) {};
|
||||||
|
|
||||||
|
@ -300,5 +305,11 @@ public abstract class OsmandPlugin {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void updateLocationPlugins(net.osmand.Location location) {
|
||||||
|
for(OsmandPlugin p : installedPlugins){
|
||||||
|
p.updateLocation(location);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package net.osmand.plus.activities;
|
package net.osmand.plus.monitoring;
|
||||||
|
|
||||||
import java.io.BufferedReader;
|
import java.io.BufferedReader;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
|
@ -13,7 +13,6 @@ import net.osmand.plus.OsmandApplication;
|
||||||
import net.osmand.plus.OsmandPlugin;
|
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.monitoring.OsmandMonitoringPlugin;
|
|
||||||
|
|
||||||
import org.apache.commons.logging.Log;
|
import org.apache.commons.logging.Log;
|
||||||
import org.apache.http.HttpResponse;
|
import org.apache.http.HttpResponse;
|
|
@ -1,5 +1,6 @@
|
||||||
package net.osmand.plus.monitoring;
|
package net.osmand.plus.monitoring;
|
||||||
|
|
||||||
|
import net.osmand.Location;
|
||||||
import net.osmand.plus.ApplicationMode;
|
import net.osmand.plus.ApplicationMode;
|
||||||
import net.osmand.plus.ContextMenuAdapter;
|
import net.osmand.plus.ContextMenuAdapter;
|
||||||
import net.osmand.plus.ContextMenuAdapter.OnContextMenuClick;
|
import net.osmand.plus.ContextMenuAdapter.OnContextMenuClick;
|
||||||
|
@ -36,12 +37,19 @@ public class OsmandMonitoringPlugin extends OsmandPlugin implements MonitoringIn
|
||||||
private OsmandSettings settings;
|
private OsmandSettings settings;
|
||||||
private OsmandApplication app;
|
private OsmandApplication app;
|
||||||
private BaseMapWidget monitoringControl;
|
private BaseMapWidget monitoringControl;
|
||||||
|
private LiveMonitoringHelper liveMonitoringHelper;
|
||||||
|
|
||||||
public OsmandMonitoringPlugin(OsmandApplication app) {
|
public OsmandMonitoringPlugin(OsmandApplication app) {
|
||||||
this.app = app;
|
this.app = app;
|
||||||
|
liveMonitoringHelper = new LiveMonitoringHelper(app);
|
||||||
ApplicationMode.regWidget("monitoring", (ApplicationMode[])null);
|
ApplicationMode.regWidget("monitoring", (ApplicationMode[])null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateLocation(Location location) {
|
||||||
|
liveMonitoringHelper.updateLocation(location);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean init(OsmandApplication app) {
|
public boolean init(OsmandApplication app) {
|
||||||
settings = app.getSettings();
|
settings = app.getSettings();
|
||||||
|
|
118
OsmAnd/src/net/osmand/plus/osmo/OsMoPlugin.java
Normal file
118
OsmAnd/src/net/osmand/plus/osmo/OsMoPlugin.java
Normal file
|
@ -0,0 +1,118 @@
|
||||||
|
package net.osmand.plus.osmo;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
|
||||||
|
import net.osmand.Location;
|
||||||
|
import net.osmand.PlatformUtil;
|
||||||
|
import net.osmand.plus.ContextMenuAdapter;
|
||||||
|
import net.osmand.plus.ContextMenuAdapter.OnContextMenuClick;
|
||||||
|
import net.osmand.plus.OsmandApplication;
|
||||||
|
import net.osmand.plus.OsmandPlugin;
|
||||||
|
import net.osmand.plus.R;
|
||||||
|
import net.osmand.plus.activities.SettingsActivity;
|
||||||
|
import net.osmand.plus.views.MonitoringInfoControl;
|
||||||
|
import net.osmand.plus.views.MonitoringInfoControl.MonitoringInfoControlServices;
|
||||||
|
import net.osmand.plus.views.OsmandMapTileView;
|
||||||
|
|
||||||
|
import org.apache.commons.logging.Log;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.content.DialogInterface;
|
||||||
|
import android.content.Intent;
|
||||||
|
import android.preference.Preference;
|
||||||
|
import android.preference.Preference.OnPreferenceClickListener;
|
||||||
|
import android.preference.PreferenceScreen;
|
||||||
|
import android.provider.Settings;
|
||||||
|
|
||||||
|
public class OsMoPlugin extends OsmandPlugin implements MonitoringInfoControlServices {
|
||||||
|
|
||||||
|
private OsmandApplication app;
|
||||||
|
public static final String ID = "osmand.osmodroid.v2";
|
||||||
|
private static final Log log = PlatformUtil.getLog(OsMoPlugin.class);
|
||||||
|
private OsMoService service;
|
||||||
|
|
||||||
|
public OsMoPlugin(final OsmandApplication app){
|
||||||
|
service = new OsMoService();
|
||||||
|
this.app = app;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean init(final OsmandApplication app) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateLocation(Location location) {
|
||||||
|
if(service.isActive()) {
|
||||||
|
try {
|
||||||
|
service.sendCoordinate(location.getLatitude(), location.getLongitude(), location.getAccuracy(),
|
||||||
|
(float) location.getAltitude(), location.getSpeed(), location.getBearing());
|
||||||
|
} catch (IOException e) {
|
||||||
|
log.error(e.getMessage(), e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String getUUID(Context ctx) {
|
||||||
|
return Settings.Secure.getString(ctx.getContentResolver(), Settings.Secure.ANDROID_ID);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getDescription() {
|
||||||
|
return app.getString(R.string.osmo_plugin_description);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getName() {
|
||||||
|
return app.getString(R.string.osmo_plugin_name) ;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void addMonitorActions(ContextMenuAdapter qa, MonitoringInfoControl li, OsmandMapTileView view) {
|
||||||
|
final boolean off = service.isActive();
|
||||||
|
qa.item(off ? R.string.osmodroid_mode_off : R.string.osmodroid_mode_on
|
||||||
|
)
|
||||||
|
.icon(off ? R.drawable.monitoring_rec_inactive : R.drawable.monitoring_rec_big)
|
||||||
|
.listen(new OnContextMenuClick() {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onContextMenuClick(int itemId, int pos, boolean isChecked, DialogInterface dialog) {
|
||||||
|
try {
|
||||||
|
String response;
|
||||||
|
if (off) {
|
||||||
|
response = service.activate(getUUID(app));
|
||||||
|
} else {
|
||||||
|
response = service.deactivate();
|
||||||
|
}
|
||||||
|
app.showToastMessage(response);
|
||||||
|
} catch (Exception e) {
|
||||||
|
app.showToastMessage(app.getString(R.string.error_io_error) + ": " + e.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}).reg();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void settingsActivityCreate(final SettingsActivity activity, PreferenceScreen screen) {
|
||||||
|
Preference grp = new Preference(activity);
|
||||||
|
grp.setOnPreferenceClickListener(new OnPreferenceClickListener() {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean onPreferenceClick(Preference preference) {
|
||||||
|
activity.startActivity(new Intent(activity, SettingsOsMoActivity.class));
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
grp.setSummary(R.string.osmo_settings_descr);
|
||||||
|
grp.setTitle(R.string.osmo_settings);
|
||||||
|
grp.setKey("osmo_settings");
|
||||||
|
screen.addPreference(grp);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getId() {
|
||||||
|
return ID;
|
||||||
|
}
|
||||||
|
}
|
52
OsmAnd/src/net/osmand/plus/osmo/OsMoService.java
Normal file
52
OsmAnd/src/net/osmand/plus/osmo/OsMoService.java
Normal file
|
@ -0,0 +1,52 @@
|
||||||
|
package net.osmand.plus.osmo;
|
||||||
|
|
||||||
|
import java.io.BufferedReader;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.InputStreamReader;
|
||||||
|
import java.io.OutputStreamWriter;
|
||||||
|
import java.net.URL;
|
||||||
|
import java.net.URLConnection;
|
||||||
|
|
||||||
|
public class OsMoService {
|
||||||
|
private static String TRACKER_URL = "ws://srv.osmo.mobi";
|
||||||
|
private URLConnection conn;
|
||||||
|
private OutputStreamWriter out;
|
||||||
|
private BufferedReader in;
|
||||||
|
|
||||||
|
public boolean isActive() {
|
||||||
|
return conn != null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String activate(String hash) throws IOException {
|
||||||
|
URL tu = new URL(TRACKER_URL);
|
||||||
|
conn = tu.openConnection();
|
||||||
|
conn.connect();
|
||||||
|
in = new BufferedReader(new InputStreamReader(conn.getInputStream(), "UTF-8"));
|
||||||
|
out = new OutputStreamWriter(conn.getOutputStream(), "UTF-8");
|
||||||
|
|
||||||
|
String t = sendCommand("auth|"+hash);
|
||||||
|
t += sendCommand("session_open");
|
||||||
|
return t;
|
||||||
|
}
|
||||||
|
|
||||||
|
private String sendCommand(String s) throws IOException {
|
||||||
|
if(s.endsWith("\n")) {
|
||||||
|
s += "\n";
|
||||||
|
}
|
||||||
|
out.write(s);
|
||||||
|
return in.readLine();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void sendCoordinate(double lat, double lon, float hdop, float alt, float speed, float bearing) throws IOException {
|
||||||
|
sendCommand("p|"+lat+":"+lon+":"+hdop+":"+alt+":"+speed+":"+bearing);
|
||||||
|
}
|
||||||
|
|
||||||
|
public String deactivate() throws IOException {
|
||||||
|
String t = sendCommand("session_close");
|
||||||
|
in.close();
|
||||||
|
out.close();
|
||||||
|
conn = null;
|
||||||
|
return t;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
38
OsmAnd/src/net/osmand/plus/osmo/SettingsOsMoActivity.java
Normal file
38
OsmAnd/src/net/osmand/plus/osmo/SettingsOsMoActivity.java
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
package net.osmand.plus.osmo;
|
||||||
|
|
||||||
|
|
||||||
|
import net.osmand.plus.R;
|
||||||
|
import net.osmand.plus.activities.SettingsBaseActivity;
|
||||||
|
import android.os.Bundle;
|
||||||
|
import android.preference.Preference;
|
||||||
|
import android.preference.PreferenceScreen;
|
||||||
|
import android.provider.Settings;
|
||||||
|
|
||||||
|
public class SettingsOsMoActivity extends SettingsBaseActivity {
|
||||||
|
|
||||||
|
public static final String MORE_VALUE = "MORE_VALUE";
|
||||||
|
public static final String DEFINE_EDIT = "DEFINE_EDIT";
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onCreate(Bundle savedInstanceState) {
|
||||||
|
super.onCreate(savedInstanceState);
|
||||||
|
getSupportActionBar().setTitle(R.string.online_map_settings);
|
||||||
|
PreferenceScreen grp = getPreferenceScreen();
|
||||||
|
|
||||||
|
Preference pref = new Preference(this);
|
||||||
|
pref.setTitle(R.string.osmo_settings_uuid);
|
||||||
|
pref.setSummary(OsMoPlugin.getUUID(this));
|
||||||
|
|
||||||
|
grp.addPreference(pref);
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void updateAllSettings() {
|
||||||
|
super.updateAllSettings();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
|
@ -161,12 +161,12 @@ public class OsMoDroidPlugin extends OsmandPlugin implements MonitoringInfoContr
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getDescription() {
|
public String getDescription() {
|
||||||
return app.getString(R.string.osmodroid_plugin_description);
|
return app.getString(R.string.osmodroid_plugin_description) + "\n External application.";
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getName() {
|
public String getName() {
|
||||||
return app.getString(R.string.osmodroid_plugin_name);
|
return app.getString(R.string.osmodroid_plugin_name) + " (external)";
|
||||||
}
|
}
|
||||||
|
|
||||||
// test
|
// test
|
||||||
|
|
|
@ -1,42 +1,40 @@
|
||||||
package net.osmand.plus.osmodroid;
|
package net.osmand.plus.osmodroid;
|
||||||
|
|
||||||
|
|
||||||
import net.osmand.data.LatLon;
|
import net.osmand.data.LatLon;
|
||||||
|
|
||||||
public class OsMoDroidPoint {
|
public class OsMoDroidPoint {
|
||||||
@Override
|
@Override
|
||||||
public boolean equals(Object o) {
|
public boolean equals(Object o) {
|
||||||
|
|
||||||
if((o instanceof OsMoDroidPoint) && this.id == ((OsMoDroidPoint)o).id )
|
if ((o instanceof OsMoDroidPoint) && this.id == ((OsMoDroidPoint) o).id) {
|
||||||
{
|
return true;
|
||||||
return true;
|
} else {
|
||||||
}
|
return false;
|
||||||
else
|
}
|
||||||
{
|
}
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
LatLon latlon;
|
LatLon latlon;
|
||||||
LatLon prevlatlon;
|
LatLon prevlatlon;
|
||||||
String name;
|
String name;
|
||||||
String description;
|
String description;
|
||||||
int id;
|
int id;
|
||||||
int layerId;
|
int layerId;
|
||||||
String speed="";
|
String speed = "";
|
||||||
String color="AAAAAA";
|
String color = "AAAAAA";
|
||||||
|
|
||||||
public OsMoDroidPoint(float objectLat, float objectLon, String objectName, String objectDescription, int objectId, int layerId ,String speed, String color) {
|
public OsMoDroidPoint(float objectLat, float objectLon, String objectName, String objectDescription, int objectId,
|
||||||
this.latlon=new LatLon(objectLat, objectLon);
|
int layerId, String speed, String color) {
|
||||||
this.name=objectName;
|
this.latlon = new LatLon(objectLat, objectLon);
|
||||||
this.description=objectDescription;
|
this.name = objectName;
|
||||||
this.id=objectId;
|
this.description = objectDescription;
|
||||||
this.layerId=layerId;
|
this.id = objectId;
|
||||||
if(speed!=null){ this.speed=speed;}
|
this.layerId = layerId;
|
||||||
if(color!=null){ this.color=color;}
|
if (speed != null) {
|
||||||
}
|
this.speed = speed;
|
||||||
|
}
|
||||||
|
if (color != null) {
|
||||||
|
this.color = color;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue