Fix errors
This commit is contained in:
parent
0c523a5226
commit
0b6738e356
10 changed files with 129 additions and 66 deletions
|
@ -3,6 +3,8 @@ package net.osmand.osm;
|
|||
import java.io.FileInputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import net.osmand.PlatformUtil;
|
||||
|
||||
|
@ -14,6 +16,7 @@ public class MapPoiTypes {
|
|||
private static MapPoiTypes DEFAULT_INSTANCE = null;
|
||||
private static final Log log = PlatformUtil.getLog(MapRenderingTypes.class);
|
||||
private String resourceName;
|
||||
private List<PoiCategory> categories = new ArrayList<PoiCategory>();
|
||||
|
||||
public MapPoiTypes(String fileName){
|
||||
this.resourceName = fileName;
|
||||
|
@ -38,20 +41,30 @@ public class MapPoiTypes {
|
|||
XmlPullParser parser = PlatformUtil.newXMLPullParser();
|
||||
int tok;
|
||||
parser.setInput(is, "UTF-8");
|
||||
String parentCategory = null;
|
||||
String poiParentCategory = null;
|
||||
String poiParentPrefix = null;
|
||||
String order = null;
|
||||
PoiCategory lastCategory = null;
|
||||
PoiFilter lastFilter = null;
|
||||
while ((tok = parser.next()) != XmlPullParser.END_DOCUMENT) {
|
||||
if (tok == XmlPullParser.START_TAG) {
|
||||
String name = parser.getName();
|
||||
if (name.equals("category")) { //$NON-NLS-1$
|
||||
parentCategory = parser.getAttributeValue("","name");
|
||||
poiParentCategory = parser.getAttributeValue("","poi_category");
|
||||
if (name.equals("category")) {
|
||||
lastCategory = new PoiCategory(this, parser.getAttributeValue("","name"));
|
||||
categories.add(lastCategory);
|
||||
} else if(name.equals("poi_type")){
|
||||
PoiType tp = new PoiType(this,
|
||||
lastCategory, parser.getAttributeValue("","name"));
|
||||
lastCategory.addPoiType(tp);
|
||||
if(lastFilter != null) {
|
||||
lastFilter.addPoiType(tp);
|
||||
}
|
||||
}
|
||||
} else if (tok == XmlPullParser.END_TAG) {
|
||||
String name = parser.getName();
|
||||
if (name.equals("poi_filter")) {
|
||||
lastFilter = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
log.info("Time to init " + (System.currentTimeMillis() - time)); //$NON-NLS-1$
|
||||
log.info("Time to init poi types" + (System.currentTimeMillis() - time)); //$NON-NLS-1$
|
||||
is.close();
|
||||
} catch (IOException e) {
|
||||
log.error("Unexpected error", e); //$NON-NLS-1$
|
||||
|
|
|
@ -1,21 +1,19 @@
|
|||
package net.osmand.osm;
|
||||
|
||||
public class PoiCategory {
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
private String name;
|
||||
private String translationName;
|
||||
private MapPoiTypes poiTypes;
|
||||
public class PoiCategory extends PoiFilter {
|
||||
|
||||
public PoiCategory(MapPoiTypes poiTypes){
|
||||
this.poiTypes = poiTypes;
|
||||
private List<PoiFilter> poiFilters = new ArrayList<PoiFilter>();
|
||||
|
||||
public PoiCategory(MapPoiTypes registry, String keyName){
|
||||
super(registry, keyName);
|
||||
}
|
||||
|
||||
public String getTranslationName() {
|
||||
return translationName;
|
||||
public void addPoiType(PoiFilter poi) {
|
||||
poiFilters.add(poi);
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
42
OsmAnd-java/src/net/osmand/osm/PoiFilter.java
Normal file
42
OsmAnd-java/src/net/osmand/osm/PoiFilter.java
Normal file
|
@ -0,0 +1,42 @@
|
|||
package net.osmand.osm;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public class PoiFilter {
|
||||
|
||||
private String keyName;
|
||||
private String translationName;
|
||||
private MapPoiTypes registry;
|
||||
private List<PoiType> poiTypes = new ArrayList<PoiType>();
|
||||
private Map<String, PoiType> map = new LinkedHashMap<String, PoiType>();
|
||||
|
||||
public PoiFilter(MapPoiTypes registry, String keyName){
|
||||
this.registry = registry;
|
||||
this.keyName = keyName;
|
||||
}
|
||||
|
||||
public String getTranslationName() {
|
||||
return translationName;
|
||||
}
|
||||
|
||||
public void addPoiType(PoiType type) {
|
||||
if(!map.containsKey(type.getName())) {
|
||||
poiTypes.add(type);
|
||||
map.put(type.getName(), type);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public List<PoiType> getPoiTypes() {
|
||||
return poiTypes;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return keyName;
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -7,9 +7,10 @@ public class PoiType {
|
|||
private MapPoiTypes poiTypes;
|
||||
private PoiCategory category;
|
||||
|
||||
public PoiType(MapPoiTypes poiTypes, PoiCategory category){
|
||||
public PoiType(MapPoiTypes poiTypes, PoiCategory category, String name){
|
||||
this.poiTypes = poiTypes;
|
||||
this.category = category;
|
||||
name = name;
|
||||
}
|
||||
|
||||
public String getTranslationName() {
|
||||
|
|
|
@ -166,6 +166,10 @@ public class NetworkUtils {
|
|||
}
|
||||
}
|
||||
|
||||
public static Proxy getProxy() {
|
||||
return proxy;
|
||||
}
|
||||
|
||||
public static HttpURLConnection getHttpURLConnection(String urlString) throws MalformedURLException, IOException {
|
||||
return getHttpURLConnection(new URL(urlString));
|
||||
}
|
||||
|
|
|
@ -9,6 +9,9 @@
|
|||
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
|
||||
-->
|
||||
<string name="proxy_pref_title">Proxy</string>
|
||||
<string name="proxy_pref_descr">Setup a proxy internet communication</string>
|
||||
<string name="settings_privacy">Privacy</string>
|
||||
<string name="recents">RECENTS</string>
|
||||
<string name="navigation_over_track">Start navigation over track?</string>
|
||||
<string name="avoid_roads_msg">You can change route by selecting roads to avoid</string>
|
||||
|
@ -155,7 +158,7 @@
|
|||
<string name="save_track_interval_descr">Choose logging interval for track recording during navigation</string>
|
||||
<string name="voice_provider_descr">Select voice guidance for navigation</string>
|
||||
<string name="voice_provider">Voice guidance</string>
|
||||
<string name="proxy_pref_title">Proxy</string>
|
||||
|
||||
<string name="enable_proxy_title">Enable HTTP Proxy</string>
|
||||
<string name="enable_proxy_descr">Configure HTTP Proxy for all network requests</string>
|
||||
<string name="proxy_host_title">Proxy Host</string>
|
||||
|
|
|
@ -13,7 +13,12 @@
|
|||
<PreferenceCategory android:title="@string/voice_pref_title" android:key="voice">
|
||||
<ListPreference android:title="@string/voice_provider" android:key="voice_provider" android:summary="@string/voice_provider_descr"></ListPreference>
|
||||
</PreferenceCategory>
|
||||
<PreferenceCategory android:title="@string/proxy_pref_title" android:key="proxy">
|
||||
|
||||
<PreferenceCategory android:title="@string/misc_pref_title" android:key="misc">
|
||||
<ListPreference android:key="osmand_theme" android:title="@string/choose_osmand_theme" android:summary="@string/choose_osmand_theme_descr"></ListPreference>
|
||||
</PreferenceCategory>
|
||||
<PreferenceCategory android:title="@string/settings_privacy">
|
||||
<PreferenceScreen android:title="@string/proxy_pref_title" android:description="@string/proxy_pref_descr" android:key="proxy">
|
||||
<CheckBoxPreference
|
||||
android:key="enable_proxy" android:title="@string/enable_proxy_title" android:summary="@string/enable_proxy_descr" android:defaultValue="false" />
|
||||
<EditTextPreference
|
||||
|
@ -22,8 +27,6 @@
|
|||
<EditTextPreference
|
||||
android:key="proxy_port" android:title="@string/proxy_port_title" android:summary="@string/proxy_port_descr" android:dependency="enable_proxy"
|
||||
android:defaultValue="8118" />
|
||||
</PreferenceCategory>
|
||||
<PreferenceCategory android:title="@string/misc_pref_title" android:key="misc">
|
||||
<ListPreference android:key="osmand_theme" android:title="@string/choose_osmand_theme" android:summary="@string/choose_osmand_theme_descr"></ListPreference>
|
||||
</PreferenceScreen>
|
||||
</PreferenceCategory>
|
||||
</PreferenceScreen>
|
||||
|
|
|
@ -796,7 +796,6 @@ public class OsmandSettings {
|
|||
|
||||
public final CommonPreference<Boolean> INTERRUPT_MUSIC = new BooleanPreference("interrupt_music", false).makeGlobal();
|
||||
|
||||
public final CommonPreference<Boolean> ENABLE_PROXY = new BooleanPreference("enable_proxy", false).makeGlobal();
|
||||
public final CommonPreference<String> PROXY_HOST = new StringPreference("proxy_host", "127.0.0.1").makeGlobal();
|
||||
public final CommonPreference<Integer> PROXY_PORT = new IntPreference("proxy_port", 8118).makeGlobal();
|
||||
|
||||
|
|
|
@ -266,51 +266,50 @@ public class SettingsGeneralActivity extends SettingsBaseActivity {
|
|||
}
|
||||
|
||||
|
||||
|
||||
protected void enableProxy(boolean enable) {
|
||||
if (enable) {
|
||||
NetworkUtils.setProxy(settings.PROXY_HOST.get(), settings.PROXY_PORT.get());
|
||||
} else {
|
||||
NetworkUtils.setProxy(null, 0);
|
||||
}
|
||||
}
|
||||
|
||||
private void addProxyPrefs(PreferenceGroup proxy) {
|
||||
CheckBoxPreference enableProxyPref = (CheckBoxPreference) proxy.findPreference(settings.ENABLE_PROXY.getId());
|
||||
CheckBoxPreference enableProxyPref = (CheckBoxPreference) proxy.findPreference("enable_proxy");
|
||||
enableProxyPref.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
|
||||
@Override
|
||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||
enableProxy((Boolean) newValue);
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||
if ((Boolean) newValue)
|
||||
NetworkUtils.setProxy(settings.PROXY_HOST.get(), settings.PROXY_PORT.get());
|
||||
else
|
||||
NetworkUtils.setProxy(null, 0);
|
||||
return true;
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
EditTextPreference hostPref = (EditTextPreference) proxy.findPreference(settings.PROXY_HOST.getId());
|
||||
hostPref.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
|
||||
|
||||
@Override
|
||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||
System.out.println("PROXY newValue: " + newValue);
|
||||
settings.PROXY_HOST.set((String) newValue);
|
||||
NetworkUtils.setProxy((String) newValue, settings.PROXY_PORT.get());
|
||||
return true;
|
||||
}
|
||||
});
|
||||
@Override
|
||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||
settings.PROXY_HOST.set((String) newValue);
|
||||
enableProxy(NetworkUtils.getProxy() != null);
|
||||
return true;
|
||||
}
|
||||
});
|
||||
|
||||
EditTextPreference portPref = (EditTextPreference) proxy.findPreference(settings.PROXY_PORT.getId());
|
||||
portPref.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
|
||||
|
||||
@Override
|
||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||
System.out.println("PROXY newValue: " + newValue);
|
||||
int port = -1;
|
||||
String portString = (String) newValue;
|
||||
try {
|
||||
port = Integer.valueOf(portString.replaceAll("[^0-9]", ""));
|
||||
} catch (NumberFormatException e1) {
|
||||
}
|
||||
settings.PROXY_PORT.set(port);
|
||||
NetworkUtils.setProxy(settings.PROXY_HOST.get(), port);
|
||||
return true;
|
||||
@Override
|
||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||
int port = -1;
|
||||
String portString = (String) newValue;
|
||||
try {
|
||||
port = Integer.valueOf(portString.replaceAll("[^0-9]", ""));
|
||||
} catch (NumberFormatException e1) {
|
||||
}
|
||||
});
|
||||
settings.PROXY_PORT.set(port);
|
||||
enableProxy(NetworkUtils.getProxy() != null);
|
||||
return true;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -23,6 +23,7 @@ import net.osmand.util.Algorithms;
|
|||
import android.app.ActionBar;
|
||||
import android.content.Intent;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.drawable.ColorDrawable;
|
||||
import android.os.Bundle;
|
||||
import android.support.v4.app.Fragment;
|
||||
import android.support.v4.app.FragmentManager;
|
||||
|
|
Loading…
Reference in a new issue