Refactor code; use new icons
This commit is contained in:
parent
1be2bab0ed
commit
2b86db3b30
3 changed files with 31 additions and 24 deletions
|
@ -992,13 +992,11 @@ public class RouteCalculationResult {
|
|||
return time;
|
||||
}
|
||||
|
||||
public int getLeftTimeToNextIntermediate(Location fromLoc){
|
||||
|
||||
if(nextIntermediate >= intermediatePoints.length ){
|
||||
public int getLeftTimeToNextIntermediate(Location fromLoc) {
|
||||
if (nextIntermediate >= intermediatePoints.length) {
|
||||
return 0;
|
||||
} else {
|
||||
return getLeftTime(fromLoc) - directions.get(intermediatePoints[nextIntermediate]).afterLeftTime;
|
||||
}
|
||||
return getLeftTime(fromLoc) - directions.get(intermediatePoints[nextIntermediate]).afterLeftTime;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -303,7 +303,7 @@ public class MapControlsLayer extends OsmandMapLayer {
|
|||
});
|
||||
|
||||
ImageView waypointsButton = (ImageView) main.findViewById(R.id.map_waypoints_route_button);
|
||||
waypointsButton.setImageDrawable(app.getIconsCache().getIcon(R.drawable.map_action_flag_dark, nightMode ? R.color.route_info_control_icon_color_dark : R.color.route_info_control_icon_color_light));
|
||||
waypointsButton.setImageDrawable(app.getIconsCache().getIcon(R.drawable.ic_action_intermediate_destination, nightMode ? R.color.route_info_control_icon_color_dark : R.color.route_info_control_icon_color_light));
|
||||
waypointsButton.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
|
|
|
@ -202,26 +202,27 @@ public class RouteInfoWidgetsFactory {
|
|||
|
||||
public TimeControlWidgetState(OsmandApplication ctx, boolean intermediate) {
|
||||
super(ctx);
|
||||
this.intermediate = intermediate;
|
||||
if (intermediate) {
|
||||
showArrival = ctx.getSettings().SHOW_INTERMEDIATE_ARRIVAL_TIME_OTHERWISE_EXPECTED_TIME;
|
||||
} else {
|
||||
showArrival = ctx.getSettings().SHOW_ARRIVAL_TIME_OTHERWISE_EXPECTED_TIME;
|
||||
}
|
||||
|
||||
this.intermediate = intermediate;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMenuTitleId() {
|
||||
if (intermediate) {
|
||||
return showArrival.get() ? R.string.access_intermediate_arrival_time : R.string.map_widget_intermediate_time;
|
||||
} else {
|
||||
return showArrival.get() ? R.string.access_arrival_time : R.string.map_widget_time;
|
||||
}
|
||||
return showArrival.get() ? R.string.access_arrival_time : R.string.map_widget_time;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMenuIconId() {
|
||||
if (intermediate) {
|
||||
return R.drawable.ic_action_intermediate_destination_time;
|
||||
}
|
||||
return showArrival.get() ? R.drawable.ic_action_time : R.drawable.ic_action_time_to_distance;
|
||||
}
|
||||
|
||||
|
@ -234,13 +235,15 @@ public class RouteInfoWidgetsFactory {
|
|||
public int[] getMenuTitleIds() {
|
||||
if (intermediate) {
|
||||
return new int[]{R.string.access_intermediate_arrival_time, R.string.map_widget_intermediate_time};
|
||||
} else {
|
||||
return new int[]{R.string.access_arrival_time, R.string.map_widget_time};
|
||||
}
|
||||
return new int[]{R.string.access_arrival_time, R.string.map_widget_time};
|
||||
}
|
||||
|
||||
@Override
|
||||
public int[] getMenuIconIds() {
|
||||
if (intermediate) {
|
||||
return new int[]{R.drawable.ic_action_intermediate_destination_time, R.drawable.ic_action_intermediate_destination_time};
|
||||
}
|
||||
return new int[]{R.drawable.ic_action_time, R.drawable.ic_action_time_to_distance};
|
||||
}
|
||||
|
||||
|
@ -262,22 +265,20 @@ public class RouteInfoWidgetsFactory {
|
|||
final int timeToGo = R.drawable.widget_time_to_distance_day;
|
||||
final int timeToGoN = R.drawable.widget_time_to_distance_night;
|
||||
final OsmandApplication ctx = map.getMyApplication();
|
||||
final OsmandPreference<Boolean> showArrival = intermediate?ctx.getSettings().SHOW_INTERMEDIATE_ARRIVAL_TIME_OTHERWISE_EXPECTED_TIME
|
||||
:ctx.getSettings().SHOW_ARRIVAL_TIME_OTHERWISE_EXPECTED_TIME;
|
||||
final OsmandPreference<Boolean> showArrival = intermediate
|
||||
? ctx.getSettings().SHOW_INTERMEDIATE_ARRIVAL_TIME_OTHERWISE_EXPECTED_TIME
|
||||
: ctx.getSettings().SHOW_ARRIVAL_TIME_OTHERWISE_EXPECTED_TIME;
|
||||
|
||||
final TextInfoWidget leftTimeControl = new TextInfoWidget(map) {
|
||||
private long cachedLeftTime = 0;
|
||||
|
||||
@Override
|
||||
public boolean updateInfo(DrawSettings drawSettings) {
|
||||
setIcons(showArrival.get() ? time : timeToGo, showArrival.get() ? timeN : timeToGoN);
|
||||
setTimeControlIcons(this, showArrival.get(), intermediate);
|
||||
int time = 0;
|
||||
if (routingHelper != null && routingHelper.isRouteCalculated()) {
|
||||
//boolean followingMode = routingHelper.isFollowingMode();
|
||||
if (intermediate) {
|
||||
time = routingHelper.getLeftTimeNextIntermediate();
|
||||
} else {
|
||||
time = routingHelper.getLeftTime();
|
||||
}
|
||||
time = intermediate ? routingHelper.getLeftTimeNextIntermediate() : routingHelper.getLeftTime();
|
||||
|
||||
if (time != 0) {
|
||||
if (/*followingMode && */showArrival.get()) {
|
||||
|
@ -318,18 +319,26 @@ public class RouteInfoWidgetsFactory {
|
|||
@Override
|
||||
public void onClick(View v) {
|
||||
showArrival.set(!showArrival.get());
|
||||
leftTimeControl.setIcons(showArrival.get() ? time : timeToGo,
|
||||
showArrival.get() ? timeN : timeToGoN);
|
||||
setTimeControlIcons(leftTimeControl, showArrival.get(), intermediate);
|
||||
map.getMapView().refreshMap();
|
||||
}
|
||||
|
||||
});
|
||||
leftTimeControl.setText(null, null);
|
||||
leftTimeControl.setIcons(showArrival.get() ? time : timeToGo,
|
||||
showArrival.get() ? timeN : timeToGoN);
|
||||
setTimeControlIcons(leftTimeControl, showArrival.get(), intermediate);
|
||||
return leftTimeControl;
|
||||
}
|
||||
|
||||
private void setTimeControlIcons(TextInfoWidget timeControl, boolean showArrival, boolean intermediate) {
|
||||
int iconLight = intermediate
|
||||
? R.drawable.widget_intermediate_time_day
|
||||
: showArrival ? R.drawable.widget_time_day : R.drawable.widget_time_to_distance_day;
|
||||
int iconDark = intermediate
|
||||
? R.drawable.widget_intermediate_time_night
|
||||
: showArrival ? R.drawable.widget_time_night : R.drawable.widget_time_to_distance_night;
|
||||
timeControl.setIcons(iconLight, iconDark);
|
||||
}
|
||||
|
||||
|
||||
public TextInfoWidget createPlainTimeControl(final MapActivity map){
|
||||
final OsmandApplication ctx = map.getMyApplication();
|
||||
|
|
Loading…
Reference in a new issue