Merge remote-tracking branch 'origin/master'
This commit is contained in:
commit
d74658e06d
5 changed files with 56 additions and 28 deletions
|
@ -95,7 +95,7 @@ public class RenderingRule {
|
||||||
|
|
||||||
public float getFloatPropertyValue(String property) {
|
public float getFloatPropertyValue(String property) {
|
||||||
int i = getPropertyIndex(property);
|
int i = getPropertyIndex(property);
|
||||||
if(i >= 0){
|
if(i >= 0 && floatProperties != null){
|
||||||
return floatProperties[i];
|
return floatProperties[i];
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -372,10 +372,10 @@ public class RenderingRulesStorage {
|
||||||
List<RenderingRule> apply = applyRules;
|
List<RenderingRule> apply = applyRules;
|
||||||
if(!renderingRule.getIfChildren().isEmpty()) {
|
if(!renderingRule.getIfChildren().isEmpty()) {
|
||||||
apply = new ArrayList<RenderingRule>();
|
apply = new ArrayList<RenderingRule>();
|
||||||
|
apply.addAll(renderingRule.getIfChildren());
|
||||||
if(applyRules != null) {
|
if(applyRules != null) {
|
||||||
apply.addAll(applyRules);
|
apply.addAll(applyRules);
|
||||||
}
|
}
|
||||||
apply.addAll(renderingRule.getIfChildren());
|
|
||||||
}
|
}
|
||||||
Map<String, String> cattrs = new HashMap<String, String>(attrs);
|
Map<String, String> cattrs = new HashMap<String, String>(attrs);
|
||||||
cattrs.putAll(renderingRule.getAttributes());
|
cattrs.putAll(renderingRule.getAttributes());
|
||||||
|
@ -460,22 +460,44 @@ public class RenderingRulesStorage {
|
||||||
|
|
||||||
|
|
||||||
public static void main(String[] args) throws XmlPullParserException, IOException {
|
public static void main(String[] args) throws XmlPullParserException, IOException {
|
||||||
InputStream is = RenderingRulesStorage.class.getResourceAsStream("default.render.xml");
|
// InputStream is = RenderingRulesStorage.class.getResourceAsStream("default.render.xml");
|
||||||
|
String file = "/Users/victorshcherb/osmand/repos/resources/rendering_styles/default.render.xml";
|
||||||
|
Map<String, String> renderingConstants = new LinkedHashMap<String, String>();
|
||||||
|
InputStream is = new FileInputStream(file);
|
||||||
if(args != null && args.length > 0) {
|
if(args != null && args.length > 0) {
|
||||||
is = new FileInputStream(args[0]);
|
is = new FileInputStream(args[0]);
|
||||||
}
|
}
|
||||||
RenderingRulesStorage storage = new RenderingRulesStorage("test", null);
|
try {
|
||||||
|
XmlPullParser parser = PlatformUtil.newXMLPullParser();
|
||||||
|
parser.setInput(is, "UTF-8");
|
||||||
|
int tok;
|
||||||
|
while ((tok = parser.next()) != XmlPullParser.END_DOCUMENT) {
|
||||||
|
if (tok == XmlPullParser.START_TAG) {
|
||||||
|
String tagName = parser.getName();
|
||||||
|
if (tagName.equals("renderingConstant")) {
|
||||||
|
if (!renderingConstants.containsKey(parser.getAttributeValue("", "name"))) {
|
||||||
|
renderingConstants.put(parser.getAttributeValue("", "name"),
|
||||||
|
parser.getAttributeValue("", "value"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} finally {
|
||||||
|
is.close();
|
||||||
|
}
|
||||||
|
is = new FileInputStream(file);
|
||||||
|
RenderingRulesStorage storage = new RenderingRulesStorage("default", renderingConstants);
|
||||||
final RenderingRulesStorageResolver resolver = new RenderingRulesStorageResolver() {
|
final RenderingRulesStorageResolver resolver = new RenderingRulesStorageResolver() {
|
||||||
@Override
|
@Override
|
||||||
public RenderingRulesStorage resolve(String name, RenderingRulesStorageResolver ref) throws XmlPullParserException, IOException {
|
public RenderingRulesStorage resolve(String name, RenderingRulesStorageResolver ref) throws XmlPullParserException, IOException {
|
||||||
RenderingRulesStorage depends = new RenderingRulesStorage("test", null);
|
RenderingRulesStorage depends = new RenderingRulesStorage(name, null);
|
||||||
depends.parseRulesFromXmlInputStream(RenderingRulesStorage.class.getResourceAsStream(name + ".render.xml"), ref);
|
depends.parseRulesFromXmlInputStream(RenderingRulesStorage.class.getResourceAsStream(name + ".render.xml"), ref);
|
||||||
return depends;
|
return depends;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
storage.parseRulesFromXmlInputStream(is, resolver);
|
storage.parseRulesFromXmlInputStream(is, resolver);
|
||||||
|
|
||||||
// printAllRules(storage);
|
printAllRules(storage);
|
||||||
testSearch(storage);
|
testSearch(storage);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -485,11 +507,11 @@ public class RenderingRulesStorage {
|
||||||
// for (int i = 0; i < count; i++) {
|
// for (int i = 0; i < count; i++) {
|
||||||
RenderingRuleSearchRequest searchRequest = new RenderingRuleSearchRequest(storage);
|
RenderingRuleSearchRequest searchRequest = new RenderingRuleSearchRequest(storage);
|
||||||
searchRequest.setStringFilter(storage.PROPS.R_TAG, "highway");
|
searchRequest.setStringFilter(storage.PROPS.R_TAG, "highway");
|
||||||
searchRequest.setStringFilter(storage.PROPS.R_VALUE, "primary");
|
searchRequest.setStringFilter(storage.PROPS.R_VALUE, "residential");
|
||||||
// searchRequest.setStringFilter(storage.PROPS.R_ADDITIONAL, "leaf_type=broadleaved");
|
// searchRequest.setStringFilter(storage.PROPS.R_ADDITIONAL, "leaf_type=broadleaved");
|
||||||
// searchRequest.setIntFilter(storage.PROPS.R_LAYER, 1);
|
// searchRequest.setIntFilter(storage.PROPS.R_LAYER, 1);
|
||||||
searchRequest.setIntFilter(storage.PROPS.R_MINZOOM, 9);
|
searchRequest.setIntFilter(storage.PROPS.R_MINZOOM, 13);
|
||||||
searchRequest.setIntFilter(storage.PROPS.R_MAXZOOM, 9);
|
searchRequest.setIntFilter(storage.PROPS.R_MAXZOOM, 13);
|
||||||
// searchRequest.setBooleanFilter(storage.PROPS.R_NIGHT_MODE, true);
|
// searchRequest.setBooleanFilter(storage.PROPS.R_NIGHT_MODE, true);
|
||||||
// for (RenderingRuleProperty customProp : storage.PROPS.getCustomRules()) {
|
// for (RenderingRuleProperty customProp : storage.PROPS.getCustomRules()) {
|
||||||
// if (customProp.isBoolean()) {
|
// if (customProp.isBoolean()) {
|
||||||
|
|
|
@ -1,11 +1,8 @@
|
||||||
package net.osmand.plus;
|
package net.osmand.plus;
|
||||||
|
|
||||||
import android.app.Activity;
|
import gnu.trove.map.hash.TLongObjectHashMap;
|
||||||
import android.content.Context;
|
|
||||||
import android.graphics.PorterDuff;
|
import android.graphics.PorterDuff;
|
||||||
import android.graphics.drawable.Drawable;
|
import android.graphics.drawable.Drawable;
|
||||||
import gnu.trove.map.hash.TIntObjectHashMap;
|
|
||||||
import gnu.trove.map.hash.TLongObjectHashMap;
|
|
||||||
|
|
||||||
public class IconsCache {
|
public class IconsCache {
|
||||||
|
|
||||||
|
|
|
@ -11,6 +11,7 @@ import net.osmand.plus.GPXUtilities.GPXFile;
|
||||||
import net.osmand.plus.GpxSelectionHelper.SelectedGpxFile;
|
import net.osmand.plus.GpxSelectionHelper.SelectedGpxFile;
|
||||||
import net.osmand.plus.OsmAndAppCustomization;
|
import net.osmand.plus.OsmAndAppCustomization;
|
||||||
import net.osmand.plus.OsmandApplication;
|
import net.osmand.plus.OsmandApplication;
|
||||||
|
import net.osmand.plus.OsmandPlugin;
|
||||||
import net.osmand.plus.OsmandSettings;
|
import net.osmand.plus.OsmandSettings;
|
||||||
import net.osmand.plus.R;
|
import net.osmand.plus.R;
|
||||||
import net.osmand.plus.activities.MapActivity;
|
import net.osmand.plus.activities.MapActivity;
|
||||||
|
@ -113,7 +114,8 @@ public class DashTrackFragment extends DashBaseFragment {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (list.size() == 0) {
|
if (list.size() == 0 &&
|
||||||
|
OsmandPlugin.getEnabledPlugin(OsmandMonitoringPlugin.class) == null) {
|
||||||
(mainView.findViewById(R.id.main_fav)).setVisibility(View.GONE);
|
(mainView.findViewById(R.id.main_fav)).setVisibility(View.GONE);
|
||||||
return;
|
return;
|
||||||
} else {
|
} else {
|
||||||
|
@ -124,20 +126,22 @@ public class DashTrackFragment extends DashBaseFragment {
|
||||||
tracks.removeAllViews();
|
tracks.removeAllViews();
|
||||||
|
|
||||||
LayoutInflater inflater = getActivity().getLayoutInflater();
|
LayoutInflater inflater = getActivity().getLayoutInflater();
|
||||||
View view = inflater.inflate(R.layout.dash_gpx_track_item, null, false);
|
if (OsmandPlugin.getEnabledPlugin(OsmandMonitoringPlugin.class) != null) {
|
||||||
|
View view = inflater.inflate(R.layout.dash_gpx_track_item, null, false);
|
||||||
|
|
||||||
AvailableGPXFragment.createCurrentTrackView(view, app);
|
AvailableGPXFragment.createCurrentTrackView(view, app);
|
||||||
((TextView) view.findViewById(R.id.name)).setText(R.string.shared_string_currently_recording_track);
|
((TextView) view.findViewById(R.id.name)).setText(R.string.shared_string_currently_recording_track);
|
||||||
AvailableGPXFragment.updateCurrentTrack(view, getActivity(), app);
|
AvailableGPXFragment.updateCurrentTrack(view, getActivity(), app);
|
||||||
view.setOnClickListener(new View.OnClickListener() {
|
view.setOnClickListener(new View.OnClickListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
AvailableGPXFragment.openTrack(getActivity(), null);
|
AvailableGPXFragment.openTrack(getActivity(), null);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
view.findViewById(R.id.divider).setVisibility(View.VISIBLE);
|
view.findViewById(R.id.divider).setVisibility(View.VISIBLE);
|
||||||
tracks.addView(view);
|
tracks.addView(view);
|
||||||
startHandler(view);
|
startHandler(view);
|
||||||
|
}
|
||||||
|
|
||||||
for (String filename : list) {
|
for (String filename : list) {
|
||||||
final File f = new File(filename);
|
final File f = new File(filename);
|
||||||
|
|
|
@ -156,6 +156,9 @@ public class AvailableGPXFragment extends OsmandExpandableListFragment {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void updateCurrentTrack() {
|
public void updateCurrentTrack() {
|
||||||
|
if (OsmandPlugin.getEnabledPlugin(OsmandMonitoringPlugin.class) == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
updateCurrentTrack(getView(), getActivity(), app);
|
updateCurrentTrack(getView(), getActivity(), app);
|
||||||
final CheckBox checkbox = (CheckBox) getView().findViewById(R.id.check_local_index);
|
final CheckBox checkbox = (CheckBox) getView().findViewById(R.id.check_local_index);
|
||||||
checkbox.setVisibility(selectionMode && showOnMapMode? View.VISIBLE : View.GONE);
|
checkbox.setVisibility(selectionMode && showOnMapMode? View.VISIBLE : View.GONE);
|
||||||
|
@ -178,6 +181,9 @@ public class AvailableGPXFragment extends OsmandExpandableListFragment {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void updateCurrentTrack(View v, final Activity ctx, OsmandApplication app) {
|
public static void updateCurrentTrack(View v, final Activity ctx, OsmandApplication app) {
|
||||||
|
if (OsmandPlugin.getEnabledPlugin(OsmandMonitoringPlugin.class) != null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
if (v == null) {
|
if (v == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -236,7 +242,6 @@ public class AvailableGPXFragment extends OsmandExpandableListFragment {
|
||||||
listView.setAdapter(this.adapter);
|
listView.setAdapter(this.adapter);
|
||||||
}
|
}
|
||||||
setHasOptionsMenu(true);
|
setHasOptionsMenu(true);
|
||||||
|
|
||||||
View currentTrackView = v.findViewById(R.id.current_track);
|
View currentTrackView = v.findViewById(R.id.current_track);
|
||||||
createCurrentTrackView(v, getMyApplication());
|
createCurrentTrackView(v, getMyApplication());
|
||||||
if (OsmandPlugin.getEnabledPlugin(OsmandMonitoringPlugin.class) == null) {
|
if (OsmandPlugin.getEnabledPlugin(OsmandMonitoringPlugin.class) == null) {
|
||||||
|
|
Loading…
Reference in a new issue