Update plugin structure
This commit is contained in:
parent
355234e155
commit
80d6e6ea82
20 changed files with 225 additions and 90 deletions
|
@ -17,6 +17,7 @@ public class ToDoConstants {
|
|||
// Search for city in all indexes
|
||||
// Test GeoIndexActivity
|
||||
// TODO images in the map index ?
|
||||
// Plugin OsmEditingPlugin Send GPX files
|
||||
|
||||
|
||||
// == Osmand application (TODO 127) ==
|
||||
|
|
|
@ -64,9 +64,9 @@
|
|||
<data android:scheme="geo"></data>
|
||||
</intent-filter>
|
||||
</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.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">
|
||||
<intent-filter><action android:name="net.osmand.plus.NavigationService"></action></intent-filter>
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
||||
<resources>
|
||||
<string name="osmand_development_plugin_description">This plugin enables development features (animate routing) and display additional information such as rendering time.</string>
|
||||
<string name="osmand_development_plugin_name">Osmand Development</string>
|
||||
<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>
|
||||
<string name="select_plugin_to_activate">Touch a plugin item to activate it. To take an effect application restart may require.</string>
|
||||
<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>
|
||||
<string name="prefs_plugins">Plugins</string>
|
||||
<string name="tip_recent_changes_0_8_0_t">Changes in 0.8.0 :
|
||||
|
|
|
@ -94,30 +94,12 @@
|
|||
<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="default_metric_system" android:title="@string/unit_of_length" android:summary="@string/unit_of_length_descr"></ListPreference>
|
||||
<CheckBoxPreference android:key="native_rendering" android:title="@string/native_rendering" android:summary="@string/vector_maps_may_display_faster_on_some_devices"></CheckBoxPreference>
|
||||
<ListPreference android:key="audio_stream" android:title="@string/choose_audio_stream"
|
||||
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>
|
||||
</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>
|
||||
|
||||
<Preference android:title="@string/prefs_plugins" android:summary="@string/prefs_plugins_descr" android:key="plugins"/>
|
||||
|
|
|
@ -7,8 +7,12 @@ import java.util.Set;
|
|||
|
||||
import org.apache.commons.logging.Log;
|
||||
|
||||
import android.preference.PreferenceScreen;
|
||||
|
||||
import net.osmand.LogUtil;
|
||||
import net.osmand.plus.activities.MapActivity;
|
||||
import net.osmand.plus.activities.SettingsActivity;
|
||||
import net.osmand.plus.development.OsmandDevelopmentPlugin;
|
||||
import net.osmand.plus.osmedit.OsmEditingPlugin;
|
||||
import net.osmand.plus.views.OsmandMapTileView;
|
||||
|
||||
|
@ -38,6 +42,8 @@ public abstract class OsmandPlugin {
|
|||
public static void initPlugins(OsmandApplication app) {
|
||||
OsmandSettings settings = app.getSettings();
|
||||
installedPlugins.add(new OsmEditingPlugin(app));
|
||||
installedPlugins.add(new OsmandDevelopmentPlugin(app));
|
||||
|
||||
Set<String> enabledPlugins = settings.getEnabledPlugins();
|
||||
for (OsmandPlugin plugin : installedPlugins) {
|
||||
if (enabledPlugins.contains(plugin.getId())) {
|
||||
|
@ -52,17 +58,23 @@ public abstract class OsmandPlugin {
|
|||
}
|
||||
}
|
||||
|
||||
public static boolean enablePlugin(OsmandApplication app, OsmandPlugin plugin, boolean enable) {
|
||||
if (enable) {
|
||||
if (!plugin.init(app)) {
|
||||
return false;
|
||||
}
|
||||
activePlugins.add(plugin);
|
||||
} else {
|
||||
activePlugins.remove(plugin);
|
||||
}
|
||||
app.getSettings().enablePlugin(plugin.getId(), enable);
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* ????
|
||||
*/
|
||||
public abstract void updateLayers(OsmandMapTileView mapView);
|
||||
|
||||
public static void refreshLayers(OsmandMapTileView mapView) {
|
||||
for (OsmandPlugin plugin : activePlugins) {
|
||||
plugin.updateLayers(mapView);
|
||||
}
|
||||
}
|
||||
|
||||
public void updateLayers(OsmandMapTileView mapView) {};
|
||||
|
||||
public abstract void registerLayers(MapActivity activity);
|
||||
|
||||
|
@ -74,10 +86,17 @@ public abstract class OsmandPlugin {
|
|||
|
||||
public void mapActivityDestroy(MapActivity activity) { }
|
||||
|
||||
public void settingsActivityCreate(SettingsActivity activity, PreferenceScreen screen) {}
|
||||
|
||||
public abstract void registerLayerContextMenuActions(OsmandMapTileView mapView, ContextMenuAdapter adapter);
|
||||
public void registerLayerContextMenuActions(OsmandMapTileView mapView, ContextMenuAdapter adapter) {}
|
||||
|
||||
public abstract void registerMapContextMenuActions(MapActivity mapActivity, double latitude, double longitude, ContextMenuAdapter adapter, Object selectedObj);
|
||||
public void registerMapContextMenuActions(MapActivity mapActivity, double latitude, double longitude, ContextMenuAdapter adapter, Object selectedObj) {}
|
||||
|
||||
public static void refreshLayers(OsmandMapTileView mapView) {
|
||||
for (OsmandPlugin plugin : activePlugins) {
|
||||
plugin.updateLayers(mapView);
|
||||
}
|
||||
}
|
||||
|
||||
public static List<OsmandPlugin> getAvailablePlugins(){
|
||||
return installedPlugins;
|
||||
|
@ -122,6 +141,13 @@ public abstract class OsmandPlugin {
|
|||
}
|
||||
|
||||
|
||||
public static void onSettingsActivityCreate(SettingsActivity activity, PreferenceScreen screen) {
|
||||
for (OsmandPlugin plugin : activePlugins) {
|
||||
plugin.settingsActivityCreate(activity, screen);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public static void createLayers(OsmandMapTileView mapView, MapActivity activity) {
|
||||
for (OsmandPlugin plugin : activePlugins) {
|
||||
plugin.registerLayers(activity);
|
||||
|
@ -139,4 +165,5 @@ public abstract class OsmandPlugin {
|
|||
plugin.registerLayerContextMenuActions(mapView, adapter);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -545,8 +545,6 @@ public class OsmandSettings {
|
|||
public final OsmandPreference<Boolean> OFFLINE_POI_EDITION =
|
||||
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
|
||||
public final CommonPreference<DayNightMode> DAYNIGHT_MODE =
|
||||
|
|
|
@ -13,13 +13,13 @@ import java.util.Set;
|
|||
import net.osmand.Algoritms;
|
||||
import net.osmand.GPXUtilities.WptPt;
|
||||
import net.osmand.IProgress;
|
||||
import net.osmand.OpenstreetmapRemoteUtil;
|
||||
import net.osmand.access.AccessibleToast;
|
||||
import net.osmand.plus.OsmandSettings;
|
||||
import net.osmand.plus.R;
|
||||
import net.osmand.plus.ResourceManager;
|
||||
import net.osmand.plus.activities.LocalIndexHelper.LocalIndexInfo;
|
||||
import net.osmand.plus.activities.LocalIndexHelper.LocalIndexType;
|
||||
import net.osmand.plus.osmedit.OpenstreetmapRemoteUtil;
|
||||
import android.app.Activity;
|
||||
import android.app.AlertDialog;
|
||||
import android.app.AlertDialog.Builder;
|
||||
|
@ -442,6 +442,7 @@ public class LocalIndexesActivity extends OsmandExpandableListActivity {
|
|||
if (!isCancelled()) {
|
||||
String warning = null;
|
||||
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);
|
||||
total++;
|
||||
if (warning == null) {
|
||||
|
|
|
@ -17,6 +17,7 @@ import android.widget.ArrayAdapter;
|
|||
import android.widget.ImageView;
|
||||
import android.widget.ListView;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
|
||||
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) {
|
||||
super.onListItemClick(l, v, position, id);
|
||||
OsmandPlugin item = getListAdapter().getItem(position);
|
||||
boolean enable = true;
|
||||
if(restartPlugins.contains(item.getId())) {
|
||||
restartPlugins.remove(item.getId());
|
||||
enable = false;
|
||||
} else {
|
||||
restartPlugins.add(item.getId());
|
||||
boolean enable = !restartPlugins.contains(item.getId());
|
||||
|
||||
boolean ok = OsmandPlugin.enablePlugin(((OsmandApplication) getApplication()), item, enable);
|
||||
if (ok) {
|
||||
if (!enable) {
|
||||
restartPlugins.remove(item.getId());
|
||||
} else {
|
||||
restartPlugins.add(item.getId());
|
||||
}
|
||||
}
|
||||
((OsmandApplication) getApplication()).getSettings().enablePlugin(item.getId(), enable);
|
||||
getListAdapter().notifyDataSetInvalidated();
|
||||
}
|
||||
|
||||
|
|
|
@ -19,6 +19,7 @@ import net.osmand.map.TileSourceManager;
|
|||
import net.osmand.map.TileSourceManager.TileSourceTemplate;
|
||||
import net.osmand.plus.NavigationService;
|
||||
import net.osmand.plus.OsmandApplication;
|
||||
import net.osmand.plus.OsmandPlugin;
|
||||
import net.osmand.plus.OsmandSettings;
|
||||
import net.osmand.plus.OsmandSettings.CommonPreference;
|
||||
import net.osmand.plus.OsmandSettings.DayNightMode;
|
||||
|
@ -67,11 +68,13 @@ public class SettingsActivity extends PreferenceActivity implements OnPreference
|
|||
public static final int SCREEN_NAVIGATION_SETTINGS = 2;
|
||||
public static final int SCREEN_MONITORING_SETTINGS = 3;
|
||||
|
||||
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";
|
||||
|
||||
private static final String MORE_VALUE = "MORE_VALUE";
|
||||
|
||||
private Preference saveCurrentTrack;
|
||||
private Preference testVoiceCommands;
|
||||
private Preference localOpenstreetmapPoints;
|
||||
private Preference bidforfix;
|
||||
private Preference plugins;
|
||||
|
||||
|
@ -102,7 +105,7 @@ public class SettingsActivity extends PreferenceActivity implements OnPreference
|
|||
|
||||
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());
|
||||
p.setOnPreferenceChangeListener(this);
|
||||
screenPreferences.put(b.getId(), p);
|
||||
|
@ -110,14 +113,14 @@ public class SettingsActivity extends PreferenceActivity implements OnPreference
|
|||
return p;
|
||||
}
|
||||
|
||||
private void registerSeekBarPreference(OsmandPreference<Integer> b, PreferenceScreen screen){
|
||||
public void registerSeekBarPreference(OsmandPreference<Integer> b, PreferenceScreen screen){
|
||||
SeekBarPreference p = (SeekBarPreference) screen.findPreference(b.getId());
|
||||
p.setOnPreferenceChangeListener(this);
|
||||
screenPreferences.put(b.getId(), p);
|
||||
seekBarPreferences.put(b.getId(), b);
|
||||
}
|
||||
|
||||
private <T> void registerListPreference(OsmandPreference<T> b, PreferenceScreen screen, String[] names, T[] values){
|
||||
public <T> void registerListPreference(OsmandPreference<T> b, PreferenceScreen screen, String[] names, T[] values){
|
||||
ListPreference p = (ListPreference) screen.findPreference(b.getId());
|
||||
p.setOnPreferenceChangeListener(this);
|
||||
LinkedHashMap<String, Object> vals = new LinkedHashMap<String, Object>();
|
||||
|
@ -130,14 +133,34 @@ 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());
|
||||
p.setOnPreferenceChangeListener(this);
|
||||
screenPreferences.put(b.getId(), p);
|
||||
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.setSummary(summary);
|
||||
p.setOnPreferenceChangeListener(this);
|
||||
screenPreferences.put(b.getId(), p);
|
||||
editTextPreferences.put(b.getId(), b);
|
||||
return p;
|
||||
}
|
||||
|
||||
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 registerTimeListPreference(OsmandPreference<Integer> b, PreferenceScreen screen, int[] seconds, int[] minutes, int coeff){
|
||||
int minutesLength = minutes == null? 0 : minutes.length;
|
||||
int secondsLength = seconds == null? 0 : seconds.length;
|
||||
Integer[] ints = new Integer[secondsLength + minutesLength];
|
||||
|
@ -181,6 +204,7 @@ public class SettingsActivity extends PreferenceActivity implements OnPreference
|
|||
|
||||
// BidForFixHelper bidForFixHelper = getMyApplication().getBidForFix();
|
||||
// bidForFixHelper.generatePreferenceList(screen, getString(R.string.support_new_features), this);
|
||||
OsmandPlugin.onSettingsActivityCreate(this, screen);
|
||||
|
||||
registerBooleanPreference(osmandSettings.SHOW_VIEW_ANGLE,screen);
|
||||
registerBooleanPreference(osmandSettings.USE_TRACKBALL_FOR_MOVEMENTS,screen);
|
||||
|
@ -191,17 +215,13 @@ public class SettingsActivity extends PreferenceActivity implements OnPreference
|
|||
registerBooleanPreference(osmandSettings.USE_HIGH_RES_MAPS,screen);
|
||||
registerBooleanPreference(osmandSettings.USE_ENGLISH_NAMES,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.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.FLUORESCENT_OVERLAYS,screen);
|
||||
registerBooleanPreference(osmandSettings.SHOW_RULER,screen);
|
||||
|
@ -212,9 +232,7 @@ public class SettingsActivity extends PreferenceActivity implements OnPreference
|
|||
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);
|
||||
|
||||
|
||||
|
@ -368,14 +386,10 @@ public class SettingsActivity extends PreferenceActivity implements OnPreference
|
|||
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.setOnPreferenceChangeListener(this);
|
||||
localOpenstreetmapPoints = (Preference) screen.findPreference(OsmandSettings.LOCAL_OPENSTREETMAP_POINTS);
|
||||
localOpenstreetmapPoints.setOnPreferenceClickListener(this);
|
||||
bidforfix = (Preference) screen.findPreference("bidforfix");
|
||||
bidforfix.setOnPreferenceClickListener(this);
|
||||
plugins = (Preference) screen.findPreference("plugins");
|
||||
|
@ -396,11 +410,11 @@ public class SettingsActivity extends PreferenceActivity implements OnPreference
|
|||
int s = intent.getIntExtra(INTENT_KEY_SETTINGS_SCREEN, 0);
|
||||
String pref = null;
|
||||
if(s == SCREEN_GENERAL_SETTINGS){
|
||||
pref = "general_settings";
|
||||
pref = SCREEN_ID_GENERAL_SETTINGS;
|
||||
} else if(s == SCREEN_NAVIGATION_SETTINGS){
|
||||
pref = "routing_settings";
|
||||
pref = SCREEN_ID_NAVIGATION_SETTINGS;
|
||||
} else if(s == SCREEN_MONITORING_SETTINGS){
|
||||
pref = "monitor_settings";
|
||||
pref = SCREEN_ID_MONITORING_SETTINGS;
|
||||
}
|
||||
if(pref != null){
|
||||
Preference toOpen = screen.findPreference(pref);
|
||||
|
@ -849,9 +863,6 @@ public class SettingsActivity extends PreferenceActivity implements OnPreference
|
|||
if(preference.getKey().equals(OsmandSettings.LOCAL_INDEXES)){
|
||||
startActivity(new Intent(this, LocalIndexesActivity.class));
|
||||
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()) {
|
||||
|
@ -860,9 +871,6 @@ public class SettingsActivity extends PreferenceActivity implements OnPreference
|
|||
helper.close();
|
||||
}
|
||||
return true;
|
||||
} else if(preference == localOpenstreetmapPoints){
|
||||
startActivity(new Intent(this, LocalOpenstreetmapActivity.class));
|
||||
return true;
|
||||
} else if(preference == bidforfix){
|
||||
startActivity(new Intent(this, OsmandBidForFixActivity.class));
|
||||
return true;
|
||||
|
|
|
@ -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.plus.OsmandApplication;
|
|
@ -1,4 +1,5 @@
|
|||
package net.osmand;
|
||||
package net.osmand.plus.osmedit;
|
||||
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
|
@ -7,9 +7,6 @@ import java.util.List;
|
|||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import net.osmand.OpenstreetmapLocalUtil;
|
||||
import net.osmand.OpenstreetmapRemoteUtil;
|
||||
import net.osmand.OpenstreetmapUtil;
|
||||
import net.osmand.OsmAndFormatter;
|
||||
import net.osmand.access.AccessibleToast;
|
||||
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.util.ArrayList;
|
||||
|
@ -7,18 +7,15 @@ import java.util.List;
|
|||
import java.util.Map;
|
||||
|
||||
import net.osmand.LogUtil;
|
||||
import net.osmand.OpenstreetmapPoint;
|
||||
import net.osmand.OpenstreetmapRemoteUtil;
|
||||
import net.osmand.OpenstreetmapUtil;
|
||||
import net.osmand.access.AccessibleToast;
|
||||
import net.osmand.osm.EntityInfo;
|
||||
import net.osmand.osm.Node;
|
||||
import net.osmand.plus.AmenityIndexRepositoryOdb;
|
||||
import net.osmand.plus.OpenstreetmapsDbHelper;
|
||||
import net.osmand.plus.OsmandApplication;
|
||||
import net.osmand.plus.OsmandSettings;
|
||||
import net.osmand.plus.ProgressDialogImplementation;
|
||||
import net.osmand.plus.R;
|
||||
import net.osmand.plus.activities.MapActivity;
|
||||
import net.osmand.plus.activities.OsmandExpandableListActivity;
|
||||
import android.app.Dialog;
|
||||
import android.app.ProgressDialog;
|
||||
import android.content.DialogInterface;
|
||||
|
@ -199,7 +196,7 @@ public class LocalOpenstreetmapActivity extends OsmandExpandableListActivity {
|
|||
}
|
||||
}
|
||||
|
||||
return new Integer(uploaded);
|
||||
return Integer.valueOf(uploaded);
|
||||
}
|
||||
|
||||
@Override
|
|
@ -1,7 +1,9 @@
|
|||
package net.osmand;
|
||||
package net.osmand.plus.osmedit;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
|
||||
import net.osmand.LogUtil;
|
||||
import net.osmand.data.Amenity;
|
||||
import net.osmand.data.AmenityType;
|
||||
import net.osmand.osm.EntityInfo;
|
||||
|
@ -9,7 +11,6 @@ import net.osmand.osm.MapRenderingTypes;
|
|||
import net.osmand.osm.MapUtils;
|
||||
import net.osmand.osm.Node;
|
||||
import net.osmand.osm.OSMSettings.OSMTagKey;
|
||||
import net.osmand.plus.OpenstreetmapsDbHelper;
|
||||
|
||||
import org.apache.commons.logging.Log;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package net.osmand;
|
||||
package net.osmand.plus.osmedit;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package net.osmand;
|
||||
package net.osmand.plus.osmedit;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.BufferedWriter;
|
||||
|
@ -18,6 +18,10 @@ import java.util.HashMap;
|
|||
import java.util.LinkedHashMap;
|
||||
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.data.Amenity;
|
||||
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.osm.EntityInfo;
|
|
@ -1,11 +1,9 @@
|
|||
package net.osmand.plus;
|
||||
package net.osmand.plus.osmedit;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
|
||||
import net.osmand.OpenstreetmapPoint;
|
||||
import net.osmand.OpenstreetmapRemoteUtil;
|
||||
import net.osmand.osm.Node;
|
||||
import net.osmand.osm.OSMSettings.OSMTagKey;
|
||||
import android.content.Context;
|
|
@ -1,5 +1,13 @@
|
|||
package net.osmand.plus.osmedit;
|
||||
|
||||
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.plus.ContextMenuAdapter;
|
||||
import net.osmand.plus.ContextMenuAdapter.OnContextMenuClick;
|
||||
|
@ -8,6 +16,7 @@ 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 net.osmand.plus.views.OsmandMapTileView;
|
||||
|
||||
public class OsmEditingPlugin extends OsmandPlugin {
|
||||
|
@ -54,7 +63,37 @@ public class OsmEditingPlugin extends OsmandPlugin {
|
|||
poiActions = new EditingPOIActivity(activity);
|
||||
activity.addDialogProvider(poiActions);
|
||||
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);
|
||||
userName.getEditText().setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);
|
||||
EditTextPreference pwd = activity.createEditTextPreference(settings.USER_PASSWORD, R.string.user_password, R.string.user_password_descr);
|
||||
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() {
|
||||
|
|
Loading…
Reference in a new issue