fixin small bugs
git-svn-id: https://osmand.googlecode.com/svn/trunk@282 e29c36b1-1cfa-d876-8d93-3434fc2bb7b8
This commit is contained in:
parent
7de3b2dd96
commit
92453b435c
12 changed files with 98 additions and 41 deletions
|
@ -24,9 +24,7 @@ public class ToDoConstants {
|
||||||
// 60. Audio guidance for routing
|
// 60. Audio guidance for routing
|
||||||
// 61. Provide route information for YOURS (calclate turns/angle/expected time).
|
// 61. Provide route information for YOURS (calclate turns/angle/expected time).
|
||||||
// Fix some missing turns in CloudMade (for secondary roads wo name). Add them (if dist to prev/next turn > 150m) [dacha]
|
// Fix some missing turns in CloudMade (for secondary roads wo name). Add them (if dist to prev/next turn > 150m) [dacha]
|
||||||
// 33. Build transport locations. Create transport index (transport-stops) (investigate)
|
|
||||||
// DONE : Load transport routes in swing, init
|
|
||||||
// TODO : add show on map key stops, update current stop with gps, add transport activity to map (remove tab)
|
|
||||||
|
|
||||||
|
|
||||||
// 66. Transport routing (show next stop, total distance, show stop get out).
|
// 66. Transport routing (show next stop, total distance, show stop get out).
|
||||||
|
@ -46,6 +44,8 @@ public class ToDoConstants {
|
||||||
// FIXME !!!! Check agains ID is not unique ! (for relation/node/way - it could be the same) - checked for data extraction & index creator
|
// FIXME !!!! Check agains ID is not unique ! (for relation/node/way - it could be the same) - checked for data extraction & index creator
|
||||||
// REFACTOR Settings activity ( for check box properties!)
|
// REFACTOR Settings activity ( for check box properties!)
|
||||||
// Download index show current index information
|
// Download index show current index information
|
||||||
|
// Fix bugs with test data (bug with follow turn / left time / add turn)
|
||||||
|
// Fix description on android
|
||||||
|
|
||||||
// TODO swing
|
// TODO swing
|
||||||
// 9. Fix issues with big files (such as netherlands) - save memory (!) - very slow due to transport index !
|
// 9. Fix issues with big files (such as netherlands) - save memory (!) - very slow due to transport index !
|
||||||
|
@ -57,7 +57,8 @@ public class ToDoConstants {
|
||||||
// BUGS Swing
|
// BUGS Swing
|
||||||
|
|
||||||
// DONE ANDROID :
|
// DONE ANDROID :
|
||||||
|
// 33. Build transport locations. Create transport index (transport-stops) (investigate)
|
||||||
|
// Not implemented : show key/transit stops on map, follow mode (show next stop)
|
||||||
|
|
||||||
// DONE SWING
|
// DONE SWING
|
||||||
|
|
||||||
|
|
|
@ -106,7 +106,7 @@ public abstract class MapObject implements Comparable<MapObject> {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return getClass().getSimpleName() + " " + name +"("+id+")";
|
return getClass().getSimpleName() + " " + name +"("+id+")"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
android:layout_width="100dp" android:layout_height="wrap_content" android:layout_gravity="bottom|right">></com.osmand.views.OsmZoomControls >
|
android:layout_width="100dp" android:layout_height="wrap_content" android:layout_gravity="bottom|right">></com.osmand.views.OsmZoomControls >
|
||||||
|
|
||||||
<ImageButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="bottom|left" android:id="@+id/BackToMenu" android:background="@drawable/back_menu"></ImageButton>
|
<ImageButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="bottom|left" android:id="@+id/BackToMenu" android:background="@drawable/back_menu"></ImageButton>
|
||||||
<ImageButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="top|right" android:id="@+id/BackToLocation" android:background="@drawable/back_location"></ImageButton>
|
<ImageButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="top|right" android:layout_marginTop="32px" android:id="@+id/BackToLocation" android:background="@drawable/back_location"></ImageButton>
|
||||||
|
|
||||||
|
|
||||||
</FrameLayout>
|
</FrameLayout>
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
android:layout_height="wrap_content" android:layout_below="@+id/listView"
|
android:layout_height="wrap_content" android:layout_below="@+id/listView"
|
||||||
></ListView>
|
></ListView>
|
||||||
<ListView android:id="@+id/listView" android:layout_width="fill_parent"
|
<ListView android:id="@+id/listView" android:layout_width="fill_parent"
|
||||||
android:layout_alignParentTop="true" android:layout_height="wrap_content"></ListView>
|
android:layout_alignParentTop="true" android:layout_height="wrap_content" ></ListView>
|
||||||
|
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
|
|
||||||
|
|
|
@ -3,11 +3,12 @@
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android">
|
xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
<group android:id="@+id/map_context_menu" android:menuCategory="container">
|
<group android:id="@+id/map_context_menu" android:menuCategory="container">
|
||||||
<item android:title="@string/mark_point" android:id="@+id/map_mark_point" android:icon="@android:drawable/ic_menu_mylocation"></item>
|
<item android:title="@string/mark_point" android:id="@+id/map_mark_point" android:icon="@android:drawable/ic_menu_mylocation"></item>
|
||||||
<item android:title="@string/show_gps_status" android:id="@+id/map_show_gps_status" android:icon="@android:drawable/ic_menu_compass"></item>
|
|
||||||
<item android:id="@+id/map_navigate_to_point" android:title="@string/stop_navigation" android:visible="false" android:icon="@android:drawable/ic_menu_close_clear_cancel"></item>
|
<item android:id="@+id/map_navigate_to_point" android:title="@string/stop_navigation" android:visible="false" android:icon="@android:drawable/ic_menu_close_clear_cancel"></item>
|
||||||
<item android:id="@+id/map_get_directions" android:title="@string/get_directions" android:icon="@android:drawable/ic_menu_directions"></item>
|
<item android:id="@+id/map_get_directions" android:title="@string/get_directions" android:icon="@android:drawable/ic_menu_directions"></item>
|
||||||
<item android:title="@string/map_specify_point" android:id="@+id/map_specify_point" android:icon="@android:drawable/ic_menu_search"></item>
|
<item android:id="@+id/map_transport" android:title="@string/transport"></item>
|
||||||
<item android:id="@+id/map_show_settings" android:title="@string/settings_Button" android:icon="@android:drawable/ic_menu_preferences"></item>
|
<item android:id="@+id/map_show_settings" android:title="@string/settings_Button" android:icon="@android:drawable/ic_menu_preferences"></item>
|
||||||
|
<item android:title="@string/map_specify_point" android:id="@+id/map_specify_point" android:icon="@android:drawable/ic_menu_search"></item>
|
||||||
|
<item android:title="@string/show_gps_status" android:id="@+id/map_show_gps_status" android:icon="@android:drawable/ic_menu_compass"></item>
|
||||||
</group>
|
</group>
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,13 +1,14 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<resources>
|
<resources>
|
||||||
|
<string name="transport_Routes">Маршруты</string>
|
||||||
<string name="transport_Stop">Остановка</string>
|
<string name="transport_Stop">Остановка</string>
|
||||||
<string name="transport_stops">остановок</string>
|
<string name="transport_stops">остановок</string>
|
||||||
<string name="transport_searching_transport">Искать транспорт (нет цели)</string>
|
<string name="transport_searching_transport">Искать транспорт (нет цели)</string>
|
||||||
<string name="transport_searching_route">Искать {0} маршрут </string>
|
<string name="transport_searching_route">Искать {0} маршрут </string>
|
||||||
<string name="transport_search_none">нету</string>
|
<string name="transport_search_none">нету</string>
|
||||||
<string name="transport_search_after">Искать маршрут после</string>
|
<string name="transport_search_after">Маршрут после</string>
|
||||||
<string name="transport_search_before">Искать маршрут до</string>
|
<string name="transport_search_before">Маршрут до</string>
|
||||||
<string name="transport_finish_search">Остановить поиск</string>
|
<string name="transport_finish_search">Закончить поиск</string>
|
||||||
<string name="transport_stop_to_go_out">Выберите остановку</string>
|
<string name="transport_stop_to_go_out">Выберите остановку</string>
|
||||||
<string name="transport_to_go_after">идти после</string>
|
<string name="transport_to_go_after">идти после</string>
|
||||||
<string name="transport_to_go_before">идти до</string>
|
<string name="transport_to_go_before">идти до</string>
|
||||||
|
@ -146,7 +147,7 @@
|
||||||
<string name="ChooseCountry">Выберите регион</string>
|
<string name="ChooseCountry">Выберите регион</string>
|
||||||
<string name="position_on_map_descr">Установить расположение текущей позиции на карте</string>
|
<string name="position_on_map_descr">Установить расположение текущей позиции на карте</string>
|
||||||
<string name="position_on_map">Текущая позиция</string>
|
<string name="position_on_map">Текущая позиция</string>
|
||||||
<string name="map_specify_point">Перейти к точке</string>
|
<string name="map_specify_point">Координаты</string>
|
||||||
<string name="show_view_angle_descr">Показывать угол обзора в соответствии с компасом</string>
|
<string name="show_view_angle_descr">Показывать угол обзора в соответствии с компасом</string>
|
||||||
<string name="show_view_angle">Угол обзора</string>
|
<string name="show_view_angle">Угол обзора</string>
|
||||||
<string name="stop_navigation">Снять отметку</string>
|
<string name="stop_navigation">Снять отметку</string>
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<resources>
|
<resources>
|
||||||
|
<string name="transport_Routes">Routes</string>
|
||||||
<string name="transport_Stop">Stop</string>
|
<string name="transport_Stop">Stop</string>
|
||||||
<string name="transport_stops">stops</string>
|
<string name="transport_stops">stops</string>
|
||||||
<string name="transport_searching_transport">Searching transport (no target)</string>
|
<string name="transport_searching_transport">Searching transport (no target)</string>
|
||||||
|
|
|
@ -58,6 +58,7 @@ import com.osmand.Version;
|
||||||
import com.osmand.activities.FavouritesActivity.FavouritePoint;
|
import com.osmand.activities.FavouritesActivity.FavouritePoint;
|
||||||
import com.osmand.activities.FavouritesActivity.FavouritesDbHelper;
|
import com.osmand.activities.FavouritesActivity.FavouritesDbHelper;
|
||||||
import com.osmand.activities.search.SearchActivity;
|
import com.osmand.activities.search.SearchActivity;
|
||||||
|
import com.osmand.activities.search.SearchTransportActivity;
|
||||||
import com.osmand.data.Amenity;
|
import com.osmand.data.Amenity;
|
||||||
import com.osmand.data.preparation.MapTileDownloader;
|
import com.osmand.data.preparation.MapTileDownloader;
|
||||||
import com.osmand.data.preparation.MapTileDownloader.DownloadRequest;
|
import com.osmand.data.preparation.MapTileDownloader.DownloadRequest;
|
||||||
|
@ -683,6 +684,9 @@ public class MapActivity extends Activity implements LocationListener, IMapLocat
|
||||||
Toast.makeText(this, getString(R.string.gps_status_app_not_found), Toast.LENGTH_LONG).show();
|
Toast.makeText(this, getString(R.string.gps_status_app_not_found), Toast.LENGTH_LONG).show();
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
} else if (item.getItemId() == R.id.map_transport) {
|
||||||
|
startActivity(new Intent(this, SearchTransportActivity.class));
|
||||||
|
return true;
|
||||||
} else if (item.getItemId() == R.id.map_mark_point) {
|
} else if (item.getItemId() == R.id.map_mark_point) {
|
||||||
contextMenuPoint(mapView.getLatitude(), mapView.getLongitude(), true);
|
contextMenuPoint(mapView.getLatitude(), mapView.getLongitude(), true);
|
||||||
return true;
|
return true;
|
||||||
|
|
23
OsmAnd/src/com/osmand/activities/TransportRouteHelper.java
Normal file
23
OsmAnd/src/com/osmand/activities/TransportRouteHelper.java
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
package com.osmand.activities;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import com.osmand.TransportIndexRepository.RouteInfoLocation;
|
||||||
|
|
||||||
|
public class TransportRouteHelper {
|
||||||
|
private static TransportRouteHelper inst = new TransportRouteHelper();
|
||||||
|
public static TransportRouteHelper getInstance(){
|
||||||
|
return inst;
|
||||||
|
}
|
||||||
|
|
||||||
|
private List<RouteInfoLocation> route = new ArrayList<RouteInfoLocation>();
|
||||||
|
|
||||||
|
public List<RouteInfoLocation> getRoute() {
|
||||||
|
return route;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setRoute(List<RouteInfoLocation> route) {
|
||||||
|
this.route = route;
|
||||||
|
}
|
||||||
|
}
|
|
@ -30,7 +30,7 @@ public class SearchActivity extends TabActivity {
|
||||||
addressSpec = host.newTabSpec("Search_Address").setIndicator(getString(R.string.address)).setContent(new Intent(this, SearchAddressActivity.class));//$NON-NLS-1$
|
addressSpec = host.newTabSpec("Search_Address").setIndicator(getString(R.string.address)).setContent(new Intent(this, SearchAddressActivity.class));//$NON-NLS-1$
|
||||||
host.addTab(addressSpec);
|
host.addTab(addressSpec);
|
||||||
host.addTab(host.newTabSpec("Search_Location").setIndicator(getString(R.string.search_tabs_location)).setContent(new Intent(this, NavigatePointActivity.class))); //$NON-NLS-1$
|
host.addTab(host.newTabSpec("Search_Location").setIndicator(getString(R.string.search_tabs_location)).setContent(new Intent(this, NavigatePointActivity.class))); //$NON-NLS-1$
|
||||||
host.addTab(host.newTabSpec("Search_Transport").setIndicator(getString(R.string.transport)).setContent(new Intent(this, SearchTransportActivity.class))); //$NON-NLS-1$
|
// host.addTab(host.newTabSpec("Search_Transport").setIndicator(getString(R.string.transport)).setContent(new Intent(this, SearchTransportActivity.class))); //$NON-NLS-1$
|
||||||
host.addTab(host.newTabSpec("Search_History").setIndicator(getString(R.string.history)).setContent(new Intent(this, SearchHistoryActivity.class))); //$NON-NLS-1$
|
host.addTab(host.newTabSpec("Search_History").setIndicator(getString(R.string.history)).setContent(new Intent(this, SearchHistoryActivity.class))); //$NON-NLS-1$
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -25,12 +25,14 @@ import android.widget.ListView;
|
||||||
import android.widget.ProgressBar;
|
import android.widget.ProgressBar;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
|
import com.osmand.Algoritms;
|
||||||
import com.osmand.Messages;
|
import com.osmand.Messages;
|
||||||
import com.osmand.OsmandSettings;
|
import com.osmand.OsmandSettings;
|
||||||
import com.osmand.R;
|
import com.osmand.R;
|
||||||
import com.osmand.ResourceManager;
|
import com.osmand.ResourceManager;
|
||||||
import com.osmand.TransportIndexRepository;
|
import com.osmand.TransportIndexRepository;
|
||||||
import com.osmand.TransportIndexRepository.RouteInfoLocation;
|
import com.osmand.TransportIndexRepository.RouteInfoLocation;
|
||||||
|
import com.osmand.activities.TransportRouteHelper;
|
||||||
import com.osmand.data.TransportRoute;
|
import com.osmand.data.TransportRoute;
|
||||||
import com.osmand.data.TransportStop;
|
import com.osmand.data.TransportStop;
|
||||||
import com.osmand.osm.LatLon;
|
import com.osmand.osm.LatLon;
|
||||||
|
@ -64,7 +66,7 @@ public class SearchTransportActivity extends ListActivity {
|
||||||
private TransportRouteAdapter intermediateListAdapater;
|
private TransportRouteAdapter intermediateListAdapater;
|
||||||
|
|
||||||
|
|
||||||
private static List<RouteInfoLocation> lastEditedRoute = new ArrayList<RouteInfoLocation>();
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onCreate(Bundle icicle) {
|
public void onCreate(Bundle icicle) {
|
||||||
|
@ -88,25 +90,37 @@ public class SearchTransportActivity extends ListActivity {
|
||||||
|
|
||||||
|
|
||||||
ListView intermediateList = (ListView) findViewById(R.id.listView);
|
ListView intermediateList = (ListView) findViewById(R.id.listView);
|
||||||
intermediateListAdapater = new TransportRouteAdapter(lastEditedRoute);
|
intermediateListAdapater = new TransportRouteAdapter(TransportRouteHelper.getInstance().getRoute());
|
||||||
intermediateList.setAdapter(intermediateListAdapater);
|
intermediateList.setAdapter(intermediateListAdapater);
|
||||||
|
if(intermediateList.getCount() == 0){
|
||||||
intermediateListAdapater.add(null);
|
intermediateListAdapater.add(null);
|
||||||
|
}
|
||||||
|
|
||||||
lastKnownMapLocation = OsmandSettings.getLastKnownMapLocation(this);
|
|
||||||
destinationLocation = OsmandSettings.getPointToNavigate(this);
|
|
||||||
searchTransport();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onDestroy() {
|
protected void onDestroy() {
|
||||||
super.onDestroy();
|
super.onDestroy();
|
||||||
lastEditedRoute.clear();
|
ArrayList<RouteInfoLocation> lastEditedRoute = new ArrayList<RouteInfoLocation>();
|
||||||
for(int i= 0; i< intermediateListAdapater.getCount(); i++){
|
for(int i= 0; i< intermediateListAdapater.getCount(); i++){
|
||||||
RouteInfoLocation item = intermediateListAdapater.getItem(i);
|
RouteInfoLocation item = intermediateListAdapater.getItem(i);
|
||||||
if(item != null){
|
if(item != null){
|
||||||
lastEditedRoute.add(item);
|
lastEditedRoute.add(item);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
TransportRouteHelper.getInstance().setRoute(lastEditedRoute);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onResume() {
|
||||||
|
super.onResume();
|
||||||
|
if(!Algoritms.objectEquals(OsmandSettings.getLastKnownMapLocation(this), this.lastKnownMapLocation) ||
|
||||||
|
!Algoritms.objectEquals(OsmandSettings.getPointToNavigate(this), this.destinationLocation)){
|
||||||
|
lastKnownMapLocation = OsmandSettings.getLastKnownMapLocation(this);
|
||||||
|
destinationLocation = OsmandSettings.getPointToNavigate(this);
|
||||||
|
searchTransport();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getSearchArea(){
|
public String getSearchArea(){
|
||||||
|
@ -176,7 +190,8 @@ public class SearchTransportActivity extends ListActivity {
|
||||||
for (TransportStop s : stops) {
|
for (TransportStop s : stops) {
|
||||||
if (s == route.getStart()) {
|
if (s == route.getStart()) {
|
||||||
stInd = ind;
|
stInd = ind;
|
||||||
} else if (s == route.getStop()) {
|
}
|
||||||
|
if (s == route.getStop()) {
|
||||||
eInd = ind;
|
eInd = ind;
|
||||||
}
|
}
|
||||||
if (ind > stInd && ind <= eInd) {
|
if (ind > stInd && ind <= eInd) {
|
||||||
|
@ -187,10 +202,17 @@ public class SearchTransportActivity extends ListActivity {
|
||||||
text.append(getString(R.string.transport_route_distance)).append(" ").append(MapUtils.getFormattedDistance((int) dist)); //$NON-NLS-1$/
|
text.append(getString(R.string.transport_route_distance)).append(" ").append(MapUtils.getFormattedDistance((int) dist)); //$NON-NLS-1$/
|
||||||
if(!part){
|
if(!part){
|
||||||
text.append(", ").append(getString(R.string.transport_stops_to_pass)).append(" ").append(eInd - stInd); //$NON-NLS-1$ //$NON-NLS-2$
|
text.append(", ").append(getString(R.string.transport_stops_to_pass)).append(" ").append(eInd - stInd); //$NON-NLS-1$ //$NON-NLS-2$
|
||||||
String before = MapUtils.getFormattedDistance((int) MapUtils.getDistance(getEndStop(position - 1), route.getStart().getLocation()));
|
LatLon endStop = getEndStop(position - 1);
|
||||||
String after = MapUtils.getFormattedDistance((int) MapUtils.getDistance(getStartStop(position + 1), route.getStop().getLocation()));
|
if (endStop != null) {
|
||||||
text.append(", ").append(getString(R.string.transport_to_go_before)).append(" ").append(before).append(", "); //$NON-NLS-2$//$NON-NLS-3$ //$NON-NLS-1$
|
String before = MapUtils.getFormattedDistance((int) MapUtils.getDistance(endStop, route.getStart().getLocation()));
|
||||||
text.append(getString(R.string.transport_to_go_after)).append(" ").append(after); //$NON-NLS-1$
|
text.append(", ").append(getString(R.string.transport_to_go_before)).append(" ").append(before); //$NON-NLS-2$//$NON-NLS-1$
|
||||||
|
}
|
||||||
|
|
||||||
|
LatLon stStop = getStartStop(position + 1);
|
||||||
|
if (stStop != null) {
|
||||||
|
String after = MapUtils.getFormattedDistance((int) MapUtils.getDistance(stStop, route.getStop().getLocation()));
|
||||||
|
text.append(", ").append(getString(R.string.transport_to_go_after)).append(" ").append(after); //$NON-NLS-1$ //$NON-NLS-2$
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return text.toString();
|
return text.toString();
|
||||||
|
@ -218,9 +240,11 @@ public class SearchTransportActivity extends ListActivity {
|
||||||
if(locationToGo != null){
|
if(locationToGo != null){
|
||||||
n.append(name).append(" - ["); //$NON-NLS-1$
|
n.append(name).append(" - ["); //$NON-NLS-1$
|
||||||
n.append(MapUtils.getFormattedDistance((int) MapUtils.getDistance(locationToGo, st.getLocation()))).append("]"); //$NON-NLS-1$
|
n.append(MapUtils.getFormattedDistance((int) MapUtils.getDistance(locationToGo, st.getLocation()))).append("]"); //$NON-NLS-1$
|
||||||
} else {
|
} else if(locationToStart != null){
|
||||||
n.append("[").append(MapUtils.getFormattedDistance((int) MapUtils.getDistance(locationToStart, st.getLocation()))).append("] - "); //$NON-NLS-1$ //$NON-NLS-2$
|
n.append("[").append(MapUtils.getFormattedDistance((int) MapUtils.getDistance(locationToStart, st.getLocation()))).append("] - "); //$NON-NLS-1$ //$NON-NLS-2$
|
||||||
n.append(name);
|
n.append(name);
|
||||||
|
} else {
|
||||||
|
n.append(name);
|
||||||
}
|
}
|
||||||
items.add(n.toString());
|
items.add(n.toString());
|
||||||
}
|
}
|
||||||
|
@ -270,7 +294,7 @@ public class SearchTransportActivity extends ListActivity {
|
||||||
public void showContextMenuOnRoute(final RouteInfoLocation route, final int routeInd) {
|
public void showContextMenuOnRoute(final RouteInfoLocation route, final int routeInd) {
|
||||||
Builder b = new AlertDialog.Builder(this);
|
Builder b = new AlertDialog.Builder(this);
|
||||||
List<TransportStop> stops = route.getDirection() ? route.getRoute().getForwardStops() : route.getRoute().getBackwardStops();
|
List<TransportStop> stops = route.getDirection() ? route.getRoute().getForwardStops() : route.getRoute().getBackwardStops();
|
||||||
boolean en = OsmandSettings.isUsingInternetToDownloadTiles(this);
|
boolean en = OsmandSettings.usingEnglishNames(this);
|
||||||
|
|
||||||
String info = getInformation(route, stops, routeInd, false);
|
String info = getInformation(route, stops, routeInd, false);
|
||||||
StringBuilder txt = new StringBuilder(300);
|
StringBuilder txt = new StringBuilder(300);
|
||||||
|
@ -337,7 +361,6 @@ public class SearchTransportActivity extends ListActivity {
|
||||||
return getStartStop(getCurrentRouteLocation() + 1);
|
return getStartStop(getCurrentRouteLocation() + 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO always check for null
|
|
||||||
public LatLon getStartStop(int position){
|
public LatLon getStartStop(int position){
|
||||||
if(position == intermediateListAdapater.getCount()){
|
if(position == intermediateListAdapater.getCount()){
|
||||||
return destinationLocation;
|
return destinationLocation;
|
||||||
|
@ -349,8 +372,6 @@ public class SearchTransportActivity extends ListActivity {
|
||||||
return item.getStart().getLocation();
|
return item.getStart().getLocation();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// TODO always check for null
|
|
||||||
public LatLon getEndStop(int position){
|
public LatLon getEndStop(int position){
|
||||||
if(position == -1){
|
if(position == -1){
|
||||||
return lastKnownMapLocation;
|
return lastKnownMapLocation;
|
||||||
|
@ -417,7 +438,8 @@ public class SearchTransportActivity extends ListActivity {
|
||||||
} else {
|
} else {
|
||||||
icon.setImageResource(R.drawable.closed_poi);
|
icon.setImageResource(R.drawable.closed_poi);
|
||||||
}
|
}
|
||||||
int dist = (int) (MapUtils.getDistance(stop.getStart().getLocation(), locationToStart));
|
|
||||||
|
int dist = locationToStart == null ? 0 : (int) (MapUtils.getDistance(stop.getStart().getLocation(), locationToStart));
|
||||||
distanceLabel.setText(" " + MapUtils.getFormattedDistance(dist)); //$NON-NLS-1$
|
distanceLabel.setText(" " + MapUtils.getFormattedDistance(dist)); //$NON-NLS-1$
|
||||||
|
|
||||||
return (row);
|
return (row);
|
||||||
|
@ -432,13 +454,13 @@ public class SearchTransportActivity extends ListActivity {
|
||||||
|
|
||||||
public View getView(final int position, View convertView, ViewGroup parent) {
|
public View getView(final int position, View convertView, ViewGroup parent) {
|
||||||
View row = convertView;
|
View row = convertView;
|
||||||
int currentRouteLocation = getCurrentRouteLocation();
|
final RouteInfoLocation info = getItem(position);
|
||||||
if(position == currentRouteLocation){
|
if(info == null){
|
||||||
TextView text = new TextView(getContext());
|
TextView text = new TextView(getContext());
|
||||||
LatLon st = getStartStop(position + 1);
|
LatLon st = getStartStop(position + 1);
|
||||||
LatLon end = getEndStop(position - 1);
|
LatLon end = getEndStop(position - 1);
|
||||||
|
|
||||||
if(st != null){
|
if(st != null && end != null){
|
||||||
int dist = (int) MapUtils.getDistance(st, end);
|
int dist = (int) MapUtils.getDistance(st, end);
|
||||||
text.setText(MessageFormat.format(getString(R.string.transport_searching_route), MapUtils.getFormattedDistance(dist)));
|
text.setText(MessageFormat.format(getString(R.string.transport_searching_route), MapUtils.getFormattedDistance(dist)));
|
||||||
} else {
|
} else {
|
||||||
|
@ -460,12 +482,12 @@ public class SearchTransportActivity extends ListActivity {
|
||||||
});
|
});
|
||||||
return text;
|
return text;
|
||||||
}
|
}
|
||||||
|
int currentRouteLocation = getCurrentRouteLocation();
|
||||||
if (row == null || row instanceof TextView) {
|
if (row == null || row instanceof TextView) {
|
||||||
LayoutInflater inflater = getLayoutInflater();
|
LayoutInflater inflater = getLayoutInflater();
|
||||||
row = inflater.inflate(R.layout.search_transport_route_item, parent, false);
|
row = inflater.inflate(R.layout.search_transport_route_item, parent, false);
|
||||||
}
|
}
|
||||||
final RouteInfoLocation info = getItem(position);
|
|
||||||
TextView label = (TextView) row.findViewById(R.id.label);
|
TextView label = (TextView) row.findViewById(R.id.label);
|
||||||
ImageButton icon = (ImageButton) row.findViewById(R.id.remove);
|
ImageButton icon = (ImageButton) row.findViewById(R.id.remove);
|
||||||
|
|
||||||
|
@ -482,9 +504,12 @@ public class SearchTransportActivity extends ListActivity {
|
||||||
int startDist = (int) MapUtils.getDistance(getEndStop(position - 1), info.getStart().getLocation());
|
int startDist = (int) MapUtils.getDistance(getEndStop(position - 1), info.getStart().getLocation());
|
||||||
labelW.append(getString(R.string.transport_to_go_before)).append(" ").append(MapUtils.getFormattedDistance(startDist)); //$NON-NLS-1$
|
labelW.append(getString(R.string.transport_to_go_before)).append(" ").append(MapUtils.getFormattedDistance(startDist)); //$NON-NLS-1$
|
||||||
if (position == getCount() - 1) {
|
if (position == getCount() - 1) {
|
||||||
int endDist = (int) MapUtils.getDistance(getStartStop(position + 1), info.getStop().getLocation());
|
LatLon stop = getStartStop(position + 1);
|
||||||
|
if(stop != null) {
|
||||||
|
int endDist = (int) MapUtils.getDistance(stop, info.getStop().getLocation());
|
||||||
labelW.append(", ").append(getString(R.string.transport_to_go_after)).append(" ").append(MapUtils.getFormattedDistance(endDist)); //$NON-NLS-1$ //$NON-NLS-2$
|
labelW.append(", ").append(getString(R.string.transport_to_go_after)).append(" ").append(MapUtils.getFormattedDistance(endDist)); //$NON-NLS-1$ //$NON-NLS-2$
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
labelW.append(")"); //$NON-NLS-1$
|
labelW.append(")"); //$NON-NLS-1$
|
||||||
|
|
||||||
|
|
|
@ -13,6 +13,7 @@ import android.graphics.RectF;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
import com.osmand.OsmandSettings;
|
import com.osmand.OsmandSettings;
|
||||||
|
import com.osmand.R;
|
||||||
import com.osmand.ResourceManager;
|
import com.osmand.ResourceManager;
|
||||||
import com.osmand.TransportIndexRepository;
|
import com.osmand.TransportIndexRepository;
|
||||||
import com.osmand.activities.search.SearchTransportActivity;
|
import com.osmand.activities.search.SearchTransportActivity;
|
||||||
|
@ -76,8 +77,8 @@ public class TransportStopsLayer implements OsmandMapLayer {
|
||||||
TransportStop n = getFromPoint(point);
|
TransportStop n = getFromPoint(point);
|
||||||
if(n != null){
|
if(n != null){
|
||||||
StringBuilder text = new StringBuilder(250);
|
StringBuilder text = new StringBuilder(250);
|
||||||
text.append("Stop").append(" : ").append(n.getName(OsmandSettings.usingEnglishNames(view.getContext()))); //$NON-NLS-2$
|
text.append(view.getContext().getString(R.string.transport_Stop)).append(" : ").append(n.getName(OsmandSettings.usingEnglishNames(view.getContext()))); //$NON-NLS-1$
|
||||||
text.append("\n").append("Routes").append(" : "); //$NON-NLS-1$//$NON-NLS-3$
|
text.append("\n").append(view.getContext().getString(R.string.transport_Routes)).append(" : "); //$NON-NLS-1$ //$NON-NLS-2$
|
||||||
List<TransportIndexRepository> reps = ResourceManager.getResourceManager().searchTransportRepositories(n.getLocation().getLatitude(), n.getLocation().getLongitude());
|
List<TransportIndexRepository> reps = ResourceManager.getResourceManager().searchTransportRepositories(n.getLocation().getLatitude(), n.getLocation().getLongitude());
|
||||||
if(!reps.isEmpty()){
|
if(!reps.isEmpty()){
|
||||||
List<String> l;
|
List<String> l;
|
||||||
|
|
Loading…
Reference in a new issue