Update tests

This commit is contained in:
Victor Shcherb 2016-07-29 02:41:57 +02:00
parent ec46b8141d
commit fababf068b
4 changed files with 332 additions and 106 deletions

View file

@ -29394,6 +29394,38 @@ public final class OsmandOdb {
*/
net.osmand.binary.OsmandOdb.TransportRouteStopOrBuilder getReverseStopsOrBuilder(
int index);
// optional bytes directGeometry = 17;
/**
* <code>optional bytes directGeometry = 17;</code>
*
* <pre>
* array of delta x,y sint32 (CodedIinputStream) &gt;&gt; 5 (precision 31 &gt;&gt; 5)
* first x,y - 31 coordinates (&gt;&gt;5), next points is delta to previous
* point, line or outer polygon coordinates
* </pre>
*/
boolean hasDirectGeometry();
/**
* <code>optional bytes directGeometry = 17;</code>
*
* <pre>
* array of delta x,y sint32 (CodedIinputStream) &gt;&gt; 5 (precision 31 &gt;&gt; 5)
* first x,y - 31 coordinates (&gt;&gt;5), next points is delta to previous
* point, line or outer polygon coordinates
* </pre>
*/
com.google.protobuf.ByteString getDirectGeometry();
// optional bytes reverseGeometry = 18;
/**
* <code>optional bytes reverseGeometry = 18;</code>
*/
boolean hasReverseGeometry();
/**
* <code>optional bytes reverseGeometry = 18;</code>
*/
com.google.protobuf.ByteString getReverseGeometry();
}
/**
* Protobuf type {@code OsmAnd.OBF.TransportRoute}
@ -29497,6 +29529,16 @@ public final class OsmandOdb {
reverseStops_.add(input.readMessage(net.osmand.binary.OsmandOdb.TransportRouteStop.PARSER, extensionRegistry));
break;
}
case 138: {
bitField0_ |= 0x00000080;
directGeometry_ = input.readBytes();
break;
}
case 146: {
bitField0_ |= 0x00000100;
reverseGeometry_ = input.readBytes();
break;
}
}
}
} catch (com.google.protobuf.InvalidProtocolBufferException e) {
@ -29794,6 +29836,50 @@ public final class OsmandOdb {
return reverseStops_.get(index);
}
// optional bytes directGeometry = 17;
public static final int DIRECTGEOMETRY_FIELD_NUMBER = 17;
private com.google.protobuf.ByteString directGeometry_;
/**
* <code>optional bytes directGeometry = 17;</code>
*
* <pre>
* array of delta x,y sint32 (CodedIinputStream) &gt;&gt; 5 (precision 31 &gt;&gt; 5)
* first x,y - 31 coordinates (&gt;&gt;5), next points is delta to previous
* point, line or outer polygon coordinates
* </pre>
*/
public boolean hasDirectGeometry() {
return ((bitField0_ & 0x00000080) == 0x00000080);
}
/**
* <code>optional bytes directGeometry = 17;</code>
*
* <pre>
* array of delta x,y sint32 (CodedIinputStream) &gt;&gt; 5 (precision 31 &gt;&gt; 5)
* first x,y - 31 coordinates (&gt;&gt;5), next points is delta to previous
* point, line or outer polygon coordinates
* </pre>
*/
public com.google.protobuf.ByteString getDirectGeometry() {
return directGeometry_;
}
// optional bytes reverseGeometry = 18;
public static final int REVERSEGEOMETRY_FIELD_NUMBER = 18;
private com.google.protobuf.ByteString reverseGeometry_;
/**
* <code>optional bytes reverseGeometry = 18;</code>
*/
public boolean hasReverseGeometry() {
return ((bitField0_ & 0x00000100) == 0x00000100);
}
/**
* <code>optional bytes reverseGeometry = 18;</code>
*/
public com.google.protobuf.ByteString getReverseGeometry() {
return reverseGeometry_;
}
private void initFields() {
id_ = 0L;
type_ = 0;
@ -29804,6 +29890,8 @@ public final class OsmandOdb {
distance_ = 0;
directStops_ = java.util.Collections.emptyList();
reverseStops_ = java.util.Collections.emptyList();
directGeometry_ = com.google.protobuf.ByteString.EMPTY;
reverseGeometry_ = com.google.protobuf.ByteString.EMPTY;
}
private byte memoizedIsInitialized = -1;
public final boolean isInitialized() {
@ -29860,6 +29948,12 @@ public final class OsmandOdb {
for (int i = 0; i < reverseStops_.size(); i++) {
output.writeMessage(16, reverseStops_.get(i));
}
if (((bitField0_ & 0x00000080) == 0x00000080)) {
output.writeBytes(17, directGeometry_);
}
if (((bitField0_ & 0x00000100) == 0x00000100)) {
output.writeBytes(18, reverseGeometry_);
}
getUnknownFields().writeTo(output);
}
@ -29905,6 +29999,14 @@ public final class OsmandOdb {
size += com.google.protobuf.CodedOutputStream
.computeMessageSize(16, reverseStops_.get(i));
}
if (((bitField0_ & 0x00000080) == 0x00000080)) {
size += com.google.protobuf.CodedOutputStream
.computeBytesSize(17, directGeometry_);
}
if (((bitField0_ & 0x00000100) == 0x00000100)) {
size += com.google.protobuf.CodedOutputStream
.computeBytesSize(18, reverseGeometry_);
}
size += getUnknownFields().getSerializedSize();
memoizedSerializedSize = size;
return size;
@ -30049,6 +30151,10 @@ public final class OsmandOdb {
} else {
reverseStopsBuilder_.clear();
}
directGeometry_ = com.google.protobuf.ByteString.EMPTY;
bitField0_ = (bitField0_ & ~0x00000200);
reverseGeometry_ = com.google.protobuf.ByteString.EMPTY;
bitField0_ = (bitField0_ & ~0x00000400);
return this;
}
@ -30123,6 +30229,14 @@ public final class OsmandOdb {
} else {
result.reverseStops_ = reverseStopsBuilder_.build();
}
if (((from_bitField0_ & 0x00000200) == 0x00000200)) {
to_bitField0_ |= 0x00000080;
}
result.directGeometry_ = directGeometry_;
if (((from_bitField0_ & 0x00000400) == 0x00000400)) {
to_bitField0_ |= 0x00000100;
}
result.reverseGeometry_ = reverseGeometry_;
result.bitField0_ = to_bitField0_;
onBuilt();
return result;
@ -30214,6 +30328,12 @@ public final class OsmandOdb {
}
}
}
if (other.hasDirectGeometry()) {
setDirectGeometry(other.getDirectGeometry());
}
if (other.hasReverseGeometry()) {
setReverseGeometry(other.getReverseGeometry());
}
this.mergeUnknownFields(other.getUnknownFields());
return this;
}
@ -31089,6 +31209,102 @@ public final class OsmandOdb {
return reverseStopsBuilder_;
}
// optional bytes directGeometry = 17;
private com.google.protobuf.ByteString directGeometry_ = com.google.protobuf.ByteString.EMPTY;
/**
* <code>optional bytes directGeometry = 17;</code>
*
* <pre>
* array of delta x,y sint32 (CodedIinputStream) &gt;&gt; 5 (precision 31 &gt;&gt; 5)
* first x,y - 31 coordinates (&gt;&gt;5), next points is delta to previous
* point, line or outer polygon coordinates
* </pre>
*/
public boolean hasDirectGeometry() {
return ((bitField0_ & 0x00000200) == 0x00000200);
}
/**
* <code>optional bytes directGeometry = 17;</code>
*
* <pre>
* array of delta x,y sint32 (CodedIinputStream) &gt;&gt; 5 (precision 31 &gt;&gt; 5)
* first x,y - 31 coordinates (&gt;&gt;5), next points is delta to previous
* point, line or outer polygon coordinates
* </pre>
*/
public com.google.protobuf.ByteString getDirectGeometry() {
return directGeometry_;
}
/**
* <code>optional bytes directGeometry = 17;</code>
*
* <pre>
* array of delta x,y sint32 (CodedIinputStream) &gt;&gt; 5 (precision 31 &gt;&gt; 5)
* first x,y - 31 coordinates (&gt;&gt;5), next points is delta to previous
* point, line or outer polygon coordinates
* </pre>
*/
public Builder setDirectGeometry(com.google.protobuf.ByteString value) {
if (value == null) {
throw new NullPointerException();
}
bitField0_ |= 0x00000200;
directGeometry_ = value;
onChanged();
return this;
}
/**
* <code>optional bytes directGeometry = 17;</code>
*
* <pre>
* array of delta x,y sint32 (CodedIinputStream) &gt;&gt; 5 (precision 31 &gt;&gt; 5)
* first x,y - 31 coordinates (&gt;&gt;5), next points is delta to previous
* point, line or outer polygon coordinates
* </pre>
*/
public Builder clearDirectGeometry() {
bitField0_ = (bitField0_ & ~0x00000200);
directGeometry_ = getDefaultInstance().getDirectGeometry();
onChanged();
return this;
}
// optional bytes reverseGeometry = 18;
private com.google.protobuf.ByteString reverseGeometry_ = com.google.protobuf.ByteString.EMPTY;
/**
* <code>optional bytes reverseGeometry = 18;</code>
*/
public boolean hasReverseGeometry() {
return ((bitField0_ & 0x00000400) == 0x00000400);
}
/**
* <code>optional bytes reverseGeometry = 18;</code>
*/
public com.google.protobuf.ByteString getReverseGeometry() {
return reverseGeometry_;
}
/**
* <code>optional bytes reverseGeometry = 18;</code>
*/
public Builder setReverseGeometry(com.google.protobuf.ByteString value) {
if (value == null) {
throw new NullPointerException();
}
bitField0_ |= 0x00000400;
reverseGeometry_ = value;
onChanged();
return this;
}
/**
* <code>optional bytes reverseGeometry = 18;</code>
*/
public Builder clearReverseGeometry() {
bitField0_ = (bitField0_ & ~0x00000400);
reverseGeometry_ = getDefaultInstance().getReverseGeometry();
onChanged();
return this;
}
// @@protoc_insertion_point(builder_scope:OsmAnd.OBF.TransportRoute)
}
@ -57688,88 +57904,89 @@ public final class OsmandOdb {
" \003(\t\022\030\n\020attributeTagIds2\030\021 \003(\r\022\030\n\020attrib" +
"uteValues2\030\022 \003(\t\"=\n\017TransportRoutes\022*\n\006r" +
"outes\030\006 \003(\0132\032.OsmAnd.OBF.TransportRoute\"" +
"\345\001\n\016TransportRoute\022\n\n\002id\030\001 \002(\004\022\014\n\004type\030\003" +
"\226\002\n\016TransportRoute\022\n\n\002id\030\001 \002(\004\022\014\n\004type\030\003" +
" \001(\r\022\020\n\010operator\030\004 \001(\r\022\013\n\003ref\030\005 \001(\t\022\014\n\004n" +
"ame\030\006 \001(\r\022\017\n\007name_en\030\007 \001(\r\022\020\n\010distance\030\010" +
" \001(\r\0223\n\013directStops\030\017 \003(\0132\036.OsmAnd.OBF.T" +
"ransportRouteStop\0224\n\014reverseStops\030\020 \003(\0132",
"\036.OsmAnd.OBF.TransportRouteStop\"W\n\022Trans" +
"portRouteStop\022\n\n\002id\030\001 \002(\022\022\n\n\002dx\030\002 \002(\021\022\n\n" +
"\002dy\030\003 \002(\021\022\014\n\004name\030\006 \002(\r\022\017\n\007name_en\030\007 \001(\r" +
"\"b\n\rTransportStop\022\n\n\002dx\030\001 \002(\021\022\n\n\002dy\030\002 \002(" +
"\021\022\n\n\002id\030\005 \002(\022\022\014\n\004name\030\006 \002(\r\022\017\n\007name_en\030\007" +
" \001(\r\022\016\n\006routes\030\020 \003(\r\"\272\001\n\022TransportStopsT" +
"ree\022\014\n\004left\030\001 \002(\021\022\r\n\005right\030\002 \002(\021\022\013\n\003top\030" +
"\003 \002(\021\022\016\n\006bottom\030\004 \002(\021\0220\n\010subtrees\030\007 \003(\0132" +
"\036.OsmAnd.OBF.TransportStopsTree\022(\n\005leafs" +
"\030\010 \003(\0132\031.OsmAnd.OBF.TransportStop\022\016\n\006bas",
"eId\030\020 \001(\004\"\256\001\n\024OsmAndTransportIndex\022\014\n\004na" +
"me\030\001 \001(\t\022+\n\006routes\030\003 \001(\0132\033.OsmAnd.OBF.Tr" +
"ansportRoutes\022-\n\005stops\030\006 \001(\0132\036.OsmAnd.OB" +
"F.TransportStopsTree\022,\n\013stringTable\030\t \002(" +
"\0132\027.OsmAnd.OBF.StringTable\"\312\002\n\016OsmAndPoi" +
"Index\022\014\n\004name\030\001 \002(\t\022-\n\nboundaries\030\002 \002(\0132" +
"\031.OsmAnd.OBF.OsmAndTileBox\0228\n\017categories" +
"Table\030\003 \003(\0132\037.OsmAnd.OBF.OsmAndCategoryT" +
"able\0221\n\tnameIndex\030\004 \001(\0132\036.OsmAnd.OBF.Osm" +
"AndPoiNameIndex\0226\n\rsubtypesTable\030\005 \001(\0132\037",
".OsmAnd.OBF.OsmAndSubtypesTable\022\'\n\005boxes" +
"\030\006 \003(\0132\030.OsmAnd.OBF.OsmAndPoiBox\022-\n\007poiD" +
"ata\030\t \003(\0132\034.OsmAnd.OBF.OsmAndPoiBoxData\"" +
"\331\001\n\022OsmAndPoiNameIndex\022-\n\005table\030\003 \002(\0132\036." +
"OsmAnd.OBF.IndexedStringTable\022C\n\004data\030\005 " +
"\003(\01325.OsmAnd.OBF.OsmAndPoiNameIndex.OsmA" +
"ndPoiNameIndexData\032O\n\026OsmAndPoiNameIndex" +
"Data\0225\n\005atoms\030\003 \003(\0132&.OsmAnd.OBF.OsmAndP" +
"oiNameIndexDataAtom\"Q\n\032OsmAndPoiNameInde" +
"xDataAtom\022\014\n\004zoom\030\002 \001(\r\022\t\n\001x\030\003 \001(\r\022\t\n\001y\030",
"\004 \001(\r\022\017\n\007shiftTo\030\016 \001(\007\">\n\023OsmAndCategory" +
"Table\022\020\n\010category\030\001 \002(\t\022\025\n\rsubcategories" +
"\030\003 \003(\t\"E\n\023OsmAndSubtypesTable\022.\n\010subtype" +
"s\030\004 \003(\0132\034.OsmAnd.OBF.OsmAndPoiSubtype\"\205\001" +
"\n\020OsmAndPoiSubtype\022\014\n\004name\030\001 \002(\t\022\017\n\007tagn" +
"ame\030\002 \001(\t\022\016\n\006isText\030\003 \002(\010\022\021\n\tfrequency\030\005" +
" \001(\r\022\031\n\021subtypeValuesSize\030\006 \001(\r\022\024\n\014subty" +
"peValue\030\010 \003(\t\"\255\001\n\014OsmAndPoiBox\022\014\n\004zoom\030\001" +
" \002(\r\022\014\n\004left\030\002 \002(\021\022\013\n\003top\030\003 \002(\021\0223\n\ncateg" +
"ories\030\004 \001(\0132\037.OsmAnd.OBF.OsmAndPoiCatego",
"ries\022*\n\010subBoxes\030\n \003(\0132\030.OsmAnd.OBF.OsmA" +
"ndPoiBox\022\023\n\013shiftToData\030\016 \001(\007\"@\n\023OsmAndP" +
"oiCategories\022\022\n\ncategories\030\003 \003(\r\022\025\n\rsubc" +
"ategories\030\005 \003(\r\"i\n\020OsmAndPoiBoxData\022\014\n\004z" +
"oom\030\001 \001(\r\022\t\n\001x\030\002 \001(\r\022\t\n\001y\030\003 \001(\r\0221\n\007poiDa" +
"ta\030\005 \003(\0132 .OsmAnd.OBF.OsmAndPoiBoxDataAt" +
"om\"\360\001\n\024OsmAndPoiBoxDataAtom\022\n\n\002dx\030\002 \002(\021\022" +
"\n\n\002dy\030\003 \002(\021\022\022\n\ncategories\030\004 \003(\r\022\025\n\rsubca" +
"tegories\030\005 \003(\r\022\014\n\004name\030\006 \001(\t\022\016\n\006nameEn\030\007" +
" \001(\t\022\n\n\002id\030\010 \001(\004\022\024\n\014openingHours\030\n \001(\t\022\014",
"\n\004site\030\013 \001(\t\022\r\n\005phone\030\014 \001(\t\022\014\n\004note\030\r \001(" +
"\t\022\026\n\016textCategories\030\016 \003(\r\022\022\n\ntextValues\030" +
"\017 \003(\t\"\032\n\007IdTable\022\017\n\007routeId\030\001 \003(\022\"F\n\017Res" +
"trictionData\022\014\n\004type\030\001 \002(\005\022\014\n\004from\030\002 \002(\005" +
"\022\n\n\002to\030\003 \002(\005\022\013\n\003via\030\004 \001(\005\"x\n\tRouteData\022\016" +
"\n\006points\030\001 \002(\014\022\022\n\npointTypes\030\004 \001(\014\022\022\n\npo" +
"intNames\030\005 \001(\014\022\r\n\005types\030\007 \002(\014\022\017\n\007routeId" +
"\030\014 \002(\005\022\023\n\013stringNames\030\016 \001(\014\"\304\005\n\022OsmAndRo" +
"utingIndex\022\014\n\004name\030\001 \002(\t\022?\n\005rules\030\002 \003(\0132" +
"0.OsmAnd.OBF.OsmAndRoutingIndex.RouteEnc",
"odingRule\022>\n\trootBoxes\030\003 \003(\0132+.OsmAnd.OB" +
"F.OsmAndRoutingIndex.RouteDataBox\022A\n\014bas" +
"emapBoxes\030\004 \003(\0132+.OsmAnd.OBF.OsmAndRouti" +
"ngIndex.RouteDataBox\022=\n\006blocks\030\005 \003(\0132-.O" +
"smAnd.OBF.OsmAndRoutingIndex.RouteDataBl" +
"ock\032;\n\021RouteEncodingRule\022\013\n\003tag\030\003 \002(\t\022\r\n" +
"\005value\030\005 \002(\t\022\n\n\002id\030\007 \001(\r\032\231\001\n\014RouteDataBo" +
"x\022\014\n\004left\030\001 \002(\021\022\r\n\005right\030\002 \002(\021\022\013\n\003top\030\003 " +
"\002(\021\022\016\n\006bottom\030\004 \002(\021\022\023\n\013shiftToData\030\005 \001(\007" +
"\022:\n\005boxes\030\007 \003(\0132+.OsmAnd.OBF.OsmAndRouti",
"ngIndex.RouteDataBox\032\303\001\n\016RouteDataBlock\022" +
"$\n\007idTable\030\005 \001(\0132\023.OsmAnd.OBF.IdTable\022*\n" +
"\013dataObjects\030\006 \003(\0132\025.OsmAnd.OBF.RouteDat" +
"a\0221\n\014restrictions\030\007 \003(\0132\033.OsmAnd.OBF.Res" +
"trictionData\022,\n\013stringTable\030\010 \001(\0132\027.OsmA" +
"nd.OBF.StringTableB\036\n\021net.osmand.binaryB" +
"\tOsmandOdb"
"\036.OsmAnd.OBF.TransportRouteStop\022\026\n\016direc" +
"tGeometry\030\021 \001(\014\022\027\n\017reverseGeometry\030\022 \001(\014" +
"\"W\n\022TransportRouteStop\022\n\n\002id\030\001 \002(\022\022\n\n\002dx" +
"\030\002 \002(\021\022\n\n\002dy\030\003 \002(\021\022\014\n\004name\030\006 \002(\r\022\017\n\007name" +
"_en\030\007 \001(\r\"b\n\rTransportStop\022\n\n\002dx\030\001 \002(\021\022\n" +
"\n\002dy\030\002 \002(\021\022\n\n\002id\030\005 \002(\022\022\014\n\004name\030\006 \002(\r\022\017\n\007" +
"name_en\030\007 \001(\r\022\016\n\006routes\030\020 \003(\r\"\272\001\n\022Transp" +
"ortStopsTree\022\014\n\004left\030\001 \002(\021\022\r\n\005right\030\002 \002(" +
"\021\022\013\n\003top\030\003 \002(\021\022\016\n\006bottom\030\004 \002(\021\0220\n\010subtre" +
"es\030\007 \003(\0132\036.OsmAnd.OBF.TransportStopsTree",
"\022(\n\005leafs\030\010 \003(\0132\031.OsmAnd.OBF.TransportSt" +
"op\022\016\n\006baseId\030\020 \001(\004\"\256\001\n\024OsmAndTransportIn" +
"dex\022\014\n\004name\030\001 \001(\t\022+\n\006routes\030\003 \001(\0132\033.OsmA" +
"nd.OBF.TransportRoutes\022-\n\005stops\030\006 \001(\0132\036." +
"OsmAnd.OBF.TransportStopsTree\022,\n\013stringT" +
"able\030\t \002(\0132\027.OsmAnd.OBF.StringTable\"\312\002\n\016" +
"OsmAndPoiIndex\022\014\n\004name\030\001 \002(\t\022-\n\nboundari" +
"es\030\002 \002(\0132\031.OsmAnd.OBF.OsmAndTileBox\0228\n\017c" +
"ategoriesTable\030\003 \003(\0132\037.OsmAnd.OBF.OsmAnd" +
"CategoryTable\0221\n\tnameIndex\030\004 \001(\0132\036.OsmAn",
"d.OBF.OsmAndPoiNameIndex\0226\n\rsubtypesTabl" +
"e\030\005 \001(\0132\037.OsmAnd.OBF.OsmAndSubtypesTable" +
"\022\'\n\005boxes\030\006 \003(\0132\030.OsmAnd.OBF.OsmAndPoiBo" +
"x\022-\n\007poiData\030\t \003(\0132\034.OsmAnd.OBF.OsmAndPo" +
"iBoxData\"\331\001\n\022OsmAndPoiNameIndex\022-\n\005table" +
"\030\003 \002(\0132\036.OsmAnd.OBF.IndexedStringTable\022C" +
"\n\004data\030\005 \003(\01325.OsmAnd.OBF.OsmAndPoiNameI" +
"ndex.OsmAndPoiNameIndexData\032O\n\026OsmAndPoi" +
"NameIndexData\0225\n\005atoms\030\003 \003(\0132&.OsmAnd.OB" +
"F.OsmAndPoiNameIndexDataAtom\"Q\n\032OsmAndPo",
"iNameIndexDataAtom\022\014\n\004zoom\030\002 \001(\r\022\t\n\001x\030\003 " +
"\001(\r\022\t\n\001y\030\004 \001(\r\022\017\n\007shiftTo\030\016 \001(\007\">\n\023OsmAn" +
"dCategoryTable\022\020\n\010category\030\001 \002(\t\022\025\n\rsubc" +
"ategories\030\003 \003(\t\"E\n\023OsmAndSubtypesTable\022." +
"\n\010subtypes\030\004 \003(\0132\034.OsmAnd.OBF.OsmAndPoiS" +
"ubtype\"\205\001\n\020OsmAndPoiSubtype\022\014\n\004name\030\001 \002(" +
"\t\022\017\n\007tagname\030\002 \001(\t\022\016\n\006isText\030\003 \002(\010\022\021\n\tfr" +
"equency\030\005 \001(\r\022\031\n\021subtypeValuesSize\030\006 \001(\r" +
"\022\024\n\014subtypeValue\030\010 \003(\t\"\255\001\n\014OsmAndPoiBox\022" +
"\014\n\004zoom\030\001 \002(\r\022\014\n\004left\030\002 \002(\021\022\013\n\003top\030\003 \002(\021",
"\0223\n\ncategories\030\004 \001(\0132\037.OsmAnd.OBF.OsmAnd" +
"PoiCategories\022*\n\010subBoxes\030\n \003(\0132\030.OsmAnd" +
".OBF.OsmAndPoiBox\022\023\n\013shiftToData\030\016 \001(\007\"@" +
"\n\023OsmAndPoiCategories\022\022\n\ncategories\030\003 \003(" +
"\r\022\025\n\rsubcategories\030\005 \003(\r\"i\n\020OsmAndPoiBox" +
"Data\022\014\n\004zoom\030\001 \001(\r\022\t\n\001x\030\002 \001(\r\022\t\n\001y\030\003 \001(\r" +
"\0221\n\007poiData\030\005 \003(\0132 .OsmAnd.OBF.OsmAndPoi" +
"BoxDataAtom\"\360\001\n\024OsmAndPoiBoxDataAtom\022\n\n\002" +
"dx\030\002 \002(\021\022\n\n\002dy\030\003 \002(\021\022\022\n\ncategories\030\004 \003(\r" +
"\022\025\n\rsubcategories\030\005 \003(\r\022\014\n\004name\030\006 \001(\t\022\016\n",
"\006nameEn\030\007 \001(\t\022\n\n\002id\030\010 \001(\004\022\024\n\014openingHour" +
"s\030\n \001(\t\022\014\n\004site\030\013 \001(\t\022\r\n\005phone\030\014 \001(\t\022\014\n\004" +
"note\030\r \001(\t\022\026\n\016textCategories\030\016 \003(\r\022\022\n\nte" +
"xtValues\030\017 \003(\t\"\032\n\007IdTable\022\017\n\007routeId\030\001 \003" +
"(\022\"F\n\017RestrictionData\022\014\n\004type\030\001 \002(\005\022\014\n\004f" +
"rom\030\002 \002(\005\022\n\n\002to\030\003 \002(\005\022\013\n\003via\030\004 \001(\005\"x\n\tRo" +
"uteData\022\016\n\006points\030\001 \002(\014\022\022\n\npointTypes\030\004 " +
"\001(\014\022\022\n\npointNames\030\005 \001(\014\022\r\n\005types\030\007 \002(\014\022\017" +
"\n\007routeId\030\014 \002(\005\022\023\n\013stringNames\030\016 \001(\014\"\304\005\n" +
"\022OsmAndRoutingIndex\022\014\n\004name\030\001 \002(\t\022?\n\005rul",
"es\030\002 \003(\01320.OsmAnd.OBF.OsmAndRoutingIndex" +
".RouteEncodingRule\022>\n\trootBoxes\030\003 \003(\0132+." +
"OsmAnd.OBF.OsmAndRoutingIndex.RouteDataB" +
"ox\022A\n\014basemapBoxes\030\004 \003(\0132+.OsmAnd.OBF.Os" +
"mAndRoutingIndex.RouteDataBox\022=\n\006blocks\030" +
"\005 \003(\0132-.OsmAnd.OBF.OsmAndRoutingIndex.Ro" +
"uteDataBlock\032;\n\021RouteEncodingRule\022\013\n\003tag" +
"\030\003 \002(\t\022\r\n\005value\030\005 \002(\t\022\n\n\002id\030\007 \001(\r\032\231\001\n\014Ro" +
"uteDataBox\022\014\n\004left\030\001 \002(\021\022\r\n\005right\030\002 \002(\021\022" +
"\013\n\003top\030\003 \002(\021\022\016\n\006bottom\030\004 \002(\021\022\023\n\013shiftToD",
"ata\030\005 \001(\007\022:\n\005boxes\030\007 \003(\0132+.OsmAnd.OBF.Os" +
"mAndRoutingIndex.RouteDataBox\032\303\001\n\016RouteD" +
"ataBlock\022$\n\007idTable\030\005 \001(\0132\023.OsmAnd.OBF.I" +
"dTable\022*\n\013dataObjects\030\006 \003(\0132\025.OsmAnd.OBF" +
".RouteData\0221\n\014restrictions\030\007 \003(\0132\033.OsmAn" +
"d.OBF.RestrictionData\022,\n\013stringTable\030\010 \001" +
"(\0132\027.OsmAnd.OBF.StringTableB\036\n\021net.osman" +
"d.binaryB\tOsmandOdb"
};
com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
new com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() {
@ -57907,7 +58124,7 @@ public final class OsmandOdb {
internal_static_OsmAnd_OBF_TransportRoute_fieldAccessorTable = new
com.google.protobuf.GeneratedMessage.FieldAccessorTable(
internal_static_OsmAnd_OBF_TransportRoute_descriptor,
new java.lang.String[] { "Id", "Type", "Operator", "Ref", "Name", "NameEn", "Distance", "DirectStops", "ReverseStops", });
new java.lang.String[] { "Id", "Type", "Operator", "Ref", "Name", "NameEn", "Distance", "DirectStops", "ReverseStops", "DirectGeometry", "ReverseGeometry", });
internal_static_OsmAnd_OBF_TransportRouteStop_descriptor =
getDescriptor().getMessageTypes().get(17);
internal_static_OsmAnd_OBF_TransportRouteStop_fieldAccessorTable = new

View file

@ -1,8 +1,10 @@
package net.osmand.data;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import net.osmand.osm.edit.Way;
import net.osmand.util.MapUtils;
public class TransportRoute extends MapObject {
@ -12,6 +14,8 @@ public class TransportRoute extends MapObject {
private String operator;
private String type;
private Integer dist = null;
private List<Way> forwardWays;
private List<Way> backwardWays;
public TransportRoute(){
}
@ -24,6 +28,35 @@ public class TransportRoute extends MapObject {
return backwardStops;
}
public List<Way> getForwardWays() {
if(forwardWays == null){
return Collections.emptyList();
}
return forwardWays;
}
public List<Way> getBackwardWays() {
if(backwardWays == null){
return Collections.emptyList();
}
return backwardWays;
}
public void addWay(Way w, int direction){
if(direction >= 0) {
if(forwardWays == null) {
forwardWays = new ArrayList<>();
}
forwardWays.add(w);
}
if(direction <= 0) {
if(backwardWays == null) {
backwardWays = new ArrayList<>();
}
backwardWays.add(w);
}
}
public String getRef() {
return ref;
}

View file

@ -11,6 +11,7 @@ import net.osmand.data.City;
import net.osmand.data.City.CityType;
import net.osmand.data.LatLon;
import net.osmand.data.MapObject;
import net.osmand.data.TransportRoute;
import net.osmand.data.TransportStop;
import net.osmand.osm.MapPoiTypes;
import net.osmand.osm.MapRenderingTypes;
@ -220,8 +221,8 @@ public class EntityParser {
}
public static OsmTransportRoute parserRoute(Relation r, String ref){
OsmTransportRoute rt = new OsmTransportRoute();
public static TransportRoute parserRoute(Relation r, String ref){
TransportRoute rt = new TransportRoute();
parseMapObject(rt, r, r.getTags());
rt.setRef(ref);
return rt;

View file

@ -1,25 +0,0 @@
package net.osmand.osm.edit;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import net.osmand.data.TransportRoute;
public class OsmTransportRoute extends TransportRoute {
private List<Way> ways;
public List<Way> getWays() {
if(ways == null){
return Collections.emptyList();
}
return ways;
}
public void addWay(Way w){
if(ways == null){
ways = new ArrayList<Way>();
}
ways.add(w);
}
}