From 7cfed28c4a3bac6ba633290ef15ac4fe6e4c5949 Mon Sep 17 00:00:00 2001 From: OpenSourceForEver Date: Mon, 11 Jan 2016 01:28:12 +0100 Subject: [PATCH 1/8] Update strings.xml (spanish) --- OsmAnd/res/values-es/strings.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/OsmAnd/res/values-es/strings.xml b/OsmAnd/res/values-es/strings.xml index b8d3abeebf..ac92e9f6ec 100644 --- a/OsmAnd/res/values-es/strings.xml +++ b/OsmAnd/res/values-es/strings.xml @@ -2023,7 +2023,7 @@ Tiempo de actualización Tamaño del almacenamiento - Actualizaciones: %s + Tamaño de la actualización Último cambio de mapa: %s División de grabación Usar la división de grabación @@ -2032,8 +2032,8 @@ La duración de cada clip grabado no excederá el tiempo de intervalo establecido Cantidad de espacio que pueden ocupar todos los clips grabados Cada hora - Diario - Semanal + A diario + Cada semana Por la mañana Por la noche No seleccionado From 76f7e284c8b1d7e5d33f0b80427d2a818aa332c4 Mon Sep 17 00:00:00 2001 From: Alexey Kulish Date: Mon, 11 Jan 2016 18:27:12 +0300 Subject: [PATCH 2/8] Fix - no dividers between Waypoint rows --- .../osmand/plus/dashboard/DashboardOnMap.java | 5 +- .../plus/helpers/WaypointDialogHelper.java | 90 +++++++++++++++++++ .../MapContextMenuFragment.java | 51 ++++++----- .../plus/views/controls/DynamicListView.java | 46 ++++++++++ .../plus/views/controls/ListDividerShape.java | 59 ++++++++++++ .../views/controls/StableArrayAdapter.java | 22 ++++- 6 files changed, 245 insertions(+), 28 deletions(-) create mode 100644 OsmAnd/src/net/osmand/plus/views/controls/ListDividerShape.java diff --git a/OsmAnd/src/net/osmand/plus/dashboard/DashboardOnMap.java b/OsmAnd/src/net/osmand/plus/dashboard/DashboardOnMap.java index c226bcb3f1..31ceb787bf 100644 --- a/OsmAnd/src/net/osmand/plus/dashboard/DashboardOnMap.java +++ b/OsmAnd/src/net/osmand/plus/dashboard/DashboardOnMap.java @@ -224,6 +224,7 @@ public class DashboardOnMap implements ObservableScrollViewCallbacks, DynamicLis stableAdapter.getObjects().remove(item); activeObjPos = stableAdapter.getActiveObjects().indexOf(item); stableAdapter.getActiveObjects().remove(item); + stableAdapter.refreshData(); stableAdapter.notifyDataSetChanged(); } else { @@ -240,7 +241,7 @@ public class DashboardOnMap implements ObservableScrollViewCallbacks, DynamicLis stableAdapter.insert(item, position); stableAdapter.getObjects().add(position, item); stableAdapter.getActiveObjects().add(activeObjPos, item); - stableAdapter.updateIdMap(); + stableAdapter.refreshData(); onItemsSwapped(stableAdapter.getActiveObjects()); } @@ -252,7 +253,7 @@ public class DashboardOnMap implements ObservableScrollViewCallbacks, DynamicLis public void onHidePopup() { if (listAdapter instanceof StableArrayAdapter) { StableArrayAdapter stableAdapter = (StableArrayAdapter) listAdapter; - stableAdapter.updateIdMap(); + stableAdapter.refreshData(); onItemsSwapped(stableAdapter.getActiveObjects()); } } diff --git a/OsmAnd/src/net/osmand/plus/helpers/WaypointDialogHelper.java b/OsmAnd/src/net/osmand/plus/helpers/WaypointDialogHelper.java index cfb130a2d0..b604345791 100644 --- a/OsmAnd/src/net/osmand/plus/helpers/WaypointDialogHelper.java +++ b/OsmAnd/src/net/osmand/plus/helpers/WaypointDialogHelper.java @@ -1,9 +1,14 @@ package net.osmand.plus.helpers; import android.app.Activity; +import android.content.Context; import android.content.DialogInterface; import android.content.DialogInterface.OnClickListener; import android.content.DialogInterface.OnDismissListener; +import android.graphics.drawable.BitmapDrawable; +import android.graphics.drawable.Drawable; +import android.graphics.drawable.ShapeDrawable; +import android.graphics.drawable.shapes.Shape; import android.os.AsyncTask; import android.support.v4.app.FragmentActivity; import android.support.v7.app.AlertDialog; @@ -30,6 +35,7 @@ import net.osmand.plus.activities.IntermediatePointsDialog; import net.osmand.plus.activities.MapActivity; import net.osmand.plus.helpers.WaypointHelper.LocationPointWrapper; import net.osmand.plus.poi.PoiUIFilter; +import net.osmand.plus.views.controls.ListDividerShape; import net.osmand.plus.views.controls.StableArrayAdapter; import net.osmand.util.Algorithms; import net.osmand.util.MapUtils; @@ -161,6 +167,85 @@ public class WaypointDialogHelper { return activePoints; } + private List getCustomDividers(Context ctx, List points, boolean nightMode) { + int color; + int pointColor; + if (nightMode) { + color = ctx.getResources().getColor(R.color.dashboard_divider_dark); + pointColor = ctx.getResources().getColor(R.color.dashboard_divider_dark); + } else { + color = ctx.getResources().getColor(R.color.dashboard_divider_light); + pointColor = ctx.getResources().getColor(R.color.ctx_menu_info_divider_light); + } + + Shape fullDividerShape = new ListDividerShape(color, 0); + Shape halfDividerShape = new ListDividerShape(color, AndroidUtils.dpToPx(ctx, 56f)); + Shape halfPointDividerShape = new ListDividerShape(color, AndroidUtils.dpToPx(ctx, 56f), + pointColor, AndroidUtils.dpToPx(ctx, 1.5f), true); + Shape headerDividerShape = new ListDividerShape(color, AndroidUtils.dpToPx(ctx, 16f)); + + final ShapeDrawable fullDivider = new ShapeDrawable(fullDividerShape); + final ShapeDrawable halfDivider = new ShapeDrawable(halfDividerShape); + final ShapeDrawable halfPointDivider = new ShapeDrawable(halfPointDividerShape); + final ShapeDrawable headerDivider = new ShapeDrawable(headerDividerShape); + final Drawable startingPointDivider = app.getIconsCache().getIcon(R.drawable.bg_shadow_list_bottom); + + int divHeight = AndroidUtils.dpToPx(ctx, 1f); + fullDivider.setIntrinsicHeight(divHeight); + halfDivider.setIntrinsicHeight(divHeight); + halfPointDivider.setIntrinsicHeight(divHeight); + headerDivider.setIntrinsicHeight(divHeight); + + List res = new ArrayList<>(); + for (int i = 0; i < points.size(); i++) { + Object obj = points.get(i); + Object objNext = i + 1 < points.size() ? points.get(i + 1) : null; + + if (objNext == null) { + break; + } + + boolean labelView = (obj instanceof Integer); + boolean bottomDividerViewNext = (objNext instanceof Boolean) && !((Boolean) objNext); + + boolean locationPoint = (obj instanceof LocationPointWrapper); + boolean locationPointNext = (objNext instanceof LocationPointWrapper); + + Drawable d = null; + + if (locationPointNext) { + if (locationPoint) { + LocationPointWrapper w = (LocationPointWrapper) obj; + if (w.type == WaypointHelper.TARGETS && ((TargetPoint) w.point).start) { + d = startingPointDivider; // starting point divider + } else { + if (w.type == WaypointHelper.TARGETS) { + d = halfPointDivider; + } else { + d = halfDivider; + } + } + } else { + LocationPointWrapper w = (LocationPointWrapper) objNext; + if (w.type == WaypointHelper.TARGETS) { + if (!((TargetPoint) w.point).start) { + d = fullDivider; + } + } else { + d = fullDivider; + } + } + } else if (objNext instanceof RadiusItem && labelView) { + d = headerDivider; + } else if (locationPoint && !bottomDividerViewNext) { + d = fullDivider; + } + + res.add(d); + } + return res; + } + public StableArrayAdapter getWaypointsDrawerAdapter( final boolean edit, final List deletedPoints, final MapActivity ctx, final int[] running, final boolean flat, final boolean nightMode) { @@ -176,6 +261,11 @@ public class WaypointDialogHelper { return new StableArrayAdapter(ctx, R.layout.waypoint_reached, R.id.title, points, activePoints) { + @Override + public void buildDividers() { + dividers = getCustomDividers(ctx, getObjects(), nightMode); + } + @Override public boolean isEnabled(int position) { Object obj = getItem(position); diff --git a/OsmAnd/src/net/osmand/plus/mapcontextmenu/MapContextMenuFragment.java b/OsmAnd/src/net/osmand/plus/mapcontextmenu/MapContextMenuFragment.java index 4250fd1783..a6163d1003 100644 --- a/OsmAnd/src/net/osmand/plus/mapcontextmenu/MapContextMenuFragment.java +++ b/OsmAnd/src/net/osmand/plus/mapcontextmenu/MapContextMenuFragment.java @@ -287,40 +287,43 @@ public class MapContextMenuFragment extends Fragment implements DownloadEvents { break; case MotionEvent.ACTION_MOVE: - hasMoved = true; - float y = event.getY(); - float newY = getViewY() + (y - dy); - setViewY((int) newY, false, false); + if (moving) { + hasMoved = true; + float y = event.getY(); + float newY = getViewY() + (y - dy); + setViewY((int) newY, false, false); - menuFullHeight = view.getHeight() - (int) newY + 10; - if (!oldAndroid()) { - ViewGroup.LayoutParams lp = mainView.getLayoutParams(); - lp.height = Math.max(menuFullHeight, menuTitleHeight); - mainView.setLayoutParams(lp); - mainView.requestLayout(); + menuFullHeight = view.getHeight() - (int) newY + 10; + if (!oldAndroid()) { + ViewGroup.LayoutParams lp = mainView.getLayoutParams(); + lp.height = Math.max(menuFullHeight, menuTitleHeight); + mainView.setLayoutParams(lp); + mainView.requestLayout(); + } + + velocity.addMovement(event); + velocity.computeCurrentVelocity(1000); + velocityY = Math.abs(velocity.getYVelocity()); + if (velocityY > maxVelocityY) + maxVelocityY = velocityY; } - velocity.addMovement(event); - velocity.computeCurrentVelocity(1000); - velocityY = Math.abs(velocity.getYVelocity()); - if (velocityY > maxVelocityY) - maxVelocityY = velocityY; - break; case MotionEvent.ACTION_UP: case MotionEvent.ACTION_CANCEL: - moving = false; - int currentY = getViewY(); + if (moving) { + moving = false; + int currentY = getViewY(); - slidingUp = Math.abs(maxVelocityY) > 500 && (currentY - dyMain) < -50; - slidingDown = Math.abs(maxVelocityY) > 500 && (currentY - dyMain) > 50; + slidingUp = Math.abs(maxVelocityY) > 500 && (currentY - dyMain) < -50; + slidingDown = Math.abs(maxVelocityY) > 500 && (currentY - dyMain) > 50; - velocity.recycle(); - - boolean skipHalfScreenState = Math.abs(currentY - dyMain) > skipHalfScreenStateLimit; - changeMenuState(currentY, skipHalfScreenState, slidingUp, slidingDown); + velocity.recycle(); + boolean skipHalfScreenState = Math.abs(currentY - dyMain) > skipHalfScreenStateLimit; + changeMenuState(currentY, skipHalfScreenState, slidingUp, slidingDown); + } break; } diff --git a/OsmAnd/src/net/osmand/plus/views/controls/DynamicListView.java b/OsmAnd/src/net/osmand/plus/views/controls/DynamicListView.java index b4028c18c6..2c7f6efe07 100644 --- a/OsmAnd/src/net/osmand/plus/views/controls/DynamicListView.java +++ b/OsmAnd/src/net/osmand/plus/views/controls/DynamicListView.java @@ -27,6 +27,7 @@ import android.graphics.Color; import android.graphics.Paint; import android.graphics.Rect; import android.graphics.drawable.BitmapDrawable; +import android.graphics.drawable.Drawable; import android.support.annotation.NonNull; import android.support.v4.view.ViewCompat; import android.util.AttributeSet; @@ -245,6 +246,51 @@ public class DynamicListView extends ObservableListView { if (mHoverCell != null) { mHoverCell.draw(canvas); } + + // Draw dividers + StableArrayAdapter stableAdapter = getStableAdapter(); + if (stableAdapter != null && stableAdapter.hasDividers()) { + List dividers = stableAdapter.getDividers(); + + final int count = getChildCount(); + final int first = getFirstVisiblePosition(); + final int headerCount = getHeaderViewsCount(); + final int itemCount = getCount(); + final int footerLimit = (itemCount - getFooterViewsCount()); + + final Rect bounds = new Rect(); + bounds.left = getPaddingLeft(); + bounds.right = getRight() - getLeft() - getPaddingRight(); + + final int listBottom = getBottom() - getTop() + getScrollY(); + for (int i = 0; i < count; i++) { + final int itemIndex = (first + i); + final boolean isHeader = (itemIndex < headerCount); + final boolean isFooter = (itemIndex >= footerLimit); + if (!isHeader && !isFooter && itemIndex < dividers.size()) { + Drawable divider = dividers.get(itemIndex - headerCount); + if (divider != null) { + final View child = getChildAt(i); + int bottom = child.getBottom(); + final boolean isLastItem = (i == (count - 1)); + + if (bottom < listBottom && !isLastItem) { + final int nextIndex = (itemIndex + 1); + if (nextIndex >= headerCount && nextIndex < footerLimit) { + bounds.top = bottom; + bounds.bottom = bottom + divider.getIntrinsicHeight(); + drawDivider(canvas, divider, bounds); + } + } + } + } + } + } + } + + void drawDivider(Canvas canvas, Drawable divider, Rect bounds) { + divider.setBounds(bounds); + divider.draw(canvas); } @Override diff --git a/OsmAnd/src/net/osmand/plus/views/controls/ListDividerShape.java b/OsmAnd/src/net/osmand/plus/views/controls/ListDividerShape.java new file mode 100644 index 0000000000..63471912d6 --- /dev/null +++ b/OsmAnd/src/net/osmand/plus/views/controls/ListDividerShape.java @@ -0,0 +1,59 @@ +package net.osmand.plus.views.controls; + +import android.graphics.Canvas; +import android.graphics.Paint; +import android.graphics.RectF; +import android.graphics.drawable.shapes.Shape; + +public class ListDividerShape extends Shape { + private RectF mRect = new RectF(); + private int lineColor; + private int paddingLeft; + private int pointColor; + private float pointRadius; + private boolean drawPoint; + + public ListDividerShape(int lineColor, int paddingLeft) { + this.lineColor = lineColor; + this.paddingLeft = paddingLeft; + this.pointColor = 0; + this.pointRadius = 0f; + this.drawPoint = false; + } + + public ListDividerShape(int lineColor, int paddingLeft, int pointColor, float pointRadius, boolean drawPoint) { + this.lineColor = lineColor; + this.paddingLeft = paddingLeft; + this.pointColor = pointColor; + this.pointRadius = pointRadius; + this.drawPoint = drawPoint; + } + + @Override + public void draw(Canvas canvas, Paint paint) { + paint.setColor(lineColor); + mRect.left = paddingLeft; + canvas.drawRect(mRect, paint); + if (paddingLeft > 0 && drawPoint) { + paint.setColor(pointColor); + canvas.drawCircle(paddingLeft / 2f, (mRect.bottom - mRect.top) / 2f, pointRadius, paint); + } + } + + @Override + protected void onResize(float width, float height) { + mRect.set(0, 0, width, height); + } + + @Override + public ListDividerShape clone() throws CloneNotSupportedException { + final ListDividerShape shape = (ListDividerShape) super.clone(); + shape.mRect = new RectF(mRect); + shape.lineColor = lineColor; + shape.paddingLeft = paddingLeft; + shape.pointColor = pointColor; + shape.pointRadius = pointRadius; + shape.drawPoint = drawPoint; + return shape; + } +} diff --git a/OsmAnd/src/net/osmand/plus/views/controls/StableArrayAdapter.java b/OsmAnd/src/net/osmand/plus/views/controls/StableArrayAdapter.java index c3c9f2d649..871ae0a768 100644 --- a/OsmAnd/src/net/osmand/plus/views/controls/StableArrayAdapter.java +++ b/OsmAnd/src/net/osmand/plus/views/controls/StableArrayAdapter.java @@ -1,6 +1,7 @@ package net.osmand.plus.views.controls; import android.content.Context; +import android.graphics.drawable.Drawable; import android.support.annotation.NonNull; import android.widget.ArrayAdapter; @@ -17,6 +18,7 @@ public class StableArrayAdapter extends ArrayAdapter { List objects; List activeObjects; HashMap mIdMap = new HashMap<>(); + protected List dividers; public StableArrayAdapter(Context context, int textViewResourceId, int titleId, List objects, List activeObjects) { @@ -32,13 +34,21 @@ public class StableArrayAdapter extends ArrayAdapter { return activeObjects; } + public List getDividers() { + return dividers; + } + + public boolean hasDividers() { + return dividers != null && dividers.size() > 0; + } + public void updateObjects(List objects, List activeObjects) { this.objects = objects; this.activeObjects = activeObjects; - updateIdMap(); + refreshData(); } - public void updateIdMap() { + private void updateIdMap() { HashMap idMap = new HashMap<>(); for (int i = 0; i < objects.size(); ++i) { idMap.put(objects.get(i), i); @@ -46,6 +56,14 @@ public class StableArrayAdapter extends ArrayAdapter { mIdMap = idMap; } + public void refreshData() { + updateIdMap(); + buildDividers(); + } + + public void buildDividers() { + } + @Override public Object getItem(int position) { return objects.get(position); From 9542cf3d6da6ebe1f0acf3d8c9168ff16ab4220e Mon Sep 17 00:00:00 2001 From: Viktar Palstsiuk Date: Mon, 11 Jan 2016 15:24:00 +0100 Subject: [PATCH 3/8] Translated using Weblate (Belarusian) Currently translated at 99.5% (1869 of 1877 strings) --- OsmAnd/res/values-be/strings.xml | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/OsmAnd/res/values-be/strings.xml b/OsmAnd/res/values-be/strings.xml index 79af8a9555..a79da0042b 100644 --- a/OsmAnd/res/values-be/strings.xml +++ b/OsmAnd/res/values-be/strings.xml @@ -1,4 +1,5 @@ -Без аўтаматычнага маштабаваньня + +Без аўтаматычнага маштабаваньня Буйней Для сярэдняга маштаба Драбней @@ -599,7 +600,7 @@ Сеткавы Nominatim Вызначэньне становішча… - Становішча (знойдзена) + Маё становішча (знойдзена) Адрас… Упадабаныя… Нявызначана @@ -2088,4 +2089,9 @@ Штотыднёва Раніца Ноч - \ No newline at end of file + Тып + Пачатковы пункт + ВЯРНУЦЬ УСЁ + Памер сховішча + Выберыце месяц і краіну + From a18f237831d7da3541d9982125b862610c3a5b64 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Xos=C3=A9=20Calvo?= Date: Mon, 11 Jan 2016 16:24:42 +0100 Subject: [PATCH 4/8] Translated using Weblate (Galician) Currently translated at 34.5% (816 of 2363 strings) --- OsmAnd/res/values-gl/phrases.xml | 84 +++++++++++++++++++++++++++----- 1 file changed, 71 insertions(+), 13 deletions(-) diff --git a/OsmAnd/res/values-gl/phrases.xml b/OsmAnd/res/values-gl/phrases.xml index 7a3322ddd2..af3ec61775 100644 --- a/OsmAnd/res/values-gl/phrases.xml +++ b/OsmAnd/res/values-gl/phrases.xml @@ -701,7 +701,7 @@ Wiki en volapük Wiki en chinés - Entrada + Pasaxe nun muro ou valado Entrada principal Entrada Saída @@ -727,8 +727,8 @@ En desuso Marca - Auga potábel - Auga non potábel + Auga potábel: si + Auga potábel: non Vixiado Non vixiado Temporal @@ -739,7 +739,7 @@ Verán Outono Inverno - Con sinais de tráfico + Con semáforo Sen control Sen marcas Data de inicio @@ -752,14 +752,14 @@ Acceso para entregas Acceso agrícola - Auga (contido) - Combustíbel (contido) - Viño (contido) - Biomasa (contido) - Colleita (contido) - Forraxe (contido) - Cervexa (contido) - Sal (contido) + Contido: auga + Contido: combustíbel + Contido: viño + Contido: biomasa + Contido: colleita + Contido: foraxe + Contido: cervexa + Contido: sal Tenda de materiais de mergullo con botella Taller de automoción Lámpadas de baixo consumo @@ -770,7 +770,7 @@ Horario de recollida Edificio -Gran (contido) +Contido: gran Canceira Refuxio para gatos @@ -816,4 +816,62 @@ Tenda de vidro Tenda de vaixela Billeteira + Tenda de persianas + Concesionario de automóbiles + Tenda de material de piscina + Cancela + Semáforo + + E10 + E20 + E85 + Pista de aterraxe + Encrucillada + Torre eléctrica + Poste eléctrico + + Central telefónica + + Electrodomésticos pequenos + Residuos de xardín + Residuos perigosos + Lámpadas eléctricas + Poliéster + Centro educativo + Universidade + Pediatría + + Tiro con arco + Salón de tiro + Obxecto turístico + Animal (atracción) + Tobogán de auga + + Refuxio + Refuxio de caza + + Universalismo unitario + Adega + Parque de neve + Encadernación + Carpintaría de aluminio + + Búnker militar + Bolardo + Barreira para bicicletas + Barreira para motos + Horario de funcionamento + Altura + Elevación sobre o nivel do mar + Cadeira de rodas: inaccesíbel + Cadeira de rodas: limitado + Contido: aceite + Contido: gas + Contido: augas residuais + Nudismo: permitido + Nudismo: prohibido + Nudismo: obrigatorio + Nudismo: tradicional + Nudismo: permisivo + From edd83f62e41b22eb2c3cae099c9f51fa4600e4dd Mon Sep 17 00:00:00 2001 From: Alexey Kulish Date: Mon, 11 Jan 2016 19:10:27 +0300 Subject: [PATCH 5/8] Fix - In route preparation should be no passing intermediate point messages --- OsmAnd/src/net/osmand/plus/routing/RoutingHelper.java | 8 ++++++-- .../views/controls/SwipeDismissListViewTouchListener.java | 6 +++--- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/OsmAnd/src/net/osmand/plus/routing/RoutingHelper.java b/OsmAnd/src/net/osmand/plus/routing/RoutingHelper.java index 7f79fb4765..8c3110401d 100644 --- a/OsmAnd/src/net/osmand/plus/routing/RoutingHelper.java +++ b/OsmAnd/src/net/osmand/plus/routing/RoutingHelper.java @@ -454,7 +454,9 @@ public class RoutingHelper { } // 2. check if intermediate found - if(route.getIntermediatePointsToPass() > 0 && route.getDistanceToNextIntermediate(lastFixedLocation) < POSITION_TOLERANCE * 2) { + if(route.getIntermediatePointsToPass() > 0 + && route.getDistanceToNextIntermediate(lastFixedLocation) < POSITION_TOLERANCE * 2 + && !isRoutePlanningMode) { showMessage(app.getString(R.string.arrived_at_intermediate_point)); route.passIntermediatePoint(); TargetPointsHelper targets = app.getTargetPointsHelper(); @@ -485,7 +487,9 @@ public class RoutingHelper { // 3. check if destination found Location lastPoint = routeNodes.get(routeNodes.size() - 1); - if (currentRoute > routeNodes.size() - 3 && currentLocation.distanceTo(lastPoint) < (((float)settings.getApplicationMode().getArrivalDistance()) * settings.ARRIVAL_DISTANCE_FACTOR.get())) { + if (currentRoute > routeNodes.size() - 3 + && currentLocation.distanceTo(lastPoint) < (((float)settings.getApplicationMode().getArrivalDistance()) * settings.ARRIVAL_DISTANCE_FACTOR.get()) + && !isRoutePlanningMode) { showMessage(app.getString(R.string.arrived_at_destination)); TargetPointsHelper targets = app.getTargetPointsHelper(); TargetPoint tp = targets.getPointToNavigate(); diff --git a/OsmAnd/src/net/osmand/plus/views/controls/SwipeDismissListViewTouchListener.java b/OsmAnd/src/net/osmand/plus/views/controls/SwipeDismissListViewTouchListener.java index 5da7ffa495..8aa5c84d42 100644 --- a/OsmAnd/src/net/osmand/plus/views/controls/SwipeDismissListViewTouchListener.java +++ b/OsmAnd/src/net/osmand/plus/views/controls/SwipeDismissListViewTouchListener.java @@ -460,10 +460,10 @@ public class SwipeDismissListViewTouchListener implements View.OnTouchListener { undoable.discard(); } mUndoActions.clear(); - if (mCallbacks != null) { - mCallbacks.onHidePopup(); - } if (mUndoPopup.isShowing()) { + if (mCallbacks != null) { + mCallbacks.onHidePopup(); + } mUndoPopup.dismiss(); } } From f716e68ed731c609a236fcd75ad9a2dc75aad504 Mon Sep 17 00:00:00 2001 From: Alexey Kulish Date: Mon, 11 Jan 2016 20:35:34 +0300 Subject: [PATCH 6/8] Fix --- OsmAnd/src/net/osmand/plus/dashboard/DashboardOnMap.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/OsmAnd/src/net/osmand/plus/dashboard/DashboardOnMap.java b/OsmAnd/src/net/osmand/plus/dashboard/DashboardOnMap.java index 31ceb787bf..364efa4192 100644 --- a/OsmAnd/src/net/osmand/plus/dashboard/DashboardOnMap.java +++ b/OsmAnd/src/net/osmand/plus/dashboard/DashboardOnMap.java @@ -1187,7 +1187,7 @@ public class DashboardOnMap implements ObservableScrollViewCallbacks, DynamicLis } } getMyApplication().getTargetPointsHelper().reorderAllTargetPoints(allTargets, false); - newRouteIsCalculated(false, null); + newRouteIsCalculated(false, new ValueHolder()); getMyApplication().getTargetPointsHelper().updateRouteAndReferesh(true); if (swipeDismissListener != null) { @@ -1210,6 +1210,7 @@ public class DashboardOnMap implements ObservableScrollViewCallbacks, DynamicLis dynamicListView.setActiveItemsList(stableAdapter.getActiveObjects()); } } + showToast.value = false; } @Override From 0c646bf0a2f4327b7fd11d20f16c6427f61c64a4 Mon Sep 17 00:00:00 2001 From: Adam Magnier Date: Mon, 11 Jan 2016 17:44:51 +0100 Subject: [PATCH 7/8] Translated using Weblate (French) Currently translated at 100.0% (1877 of 1877 strings) --- OsmAnd/res/values-fr/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OsmAnd/res/values-fr/strings.xml b/OsmAnd/res/values-fr/strings.xml index d37e6b4135..4328833bb4 100644 --- a/OsmAnd/res/values-fr/strings.xml +++ b/OsmAnd/res/values-fr/strings.xml @@ -2108,7 +2108,7 @@ Écraser les enregistrements quand l\'espace utilisé dépasse la capacité de stockage Durée de l\'enregistrement La longueur de chaque enregistrement ne sera plus par intervalle de temps - Espace de stockage + Taille de l\'espace de stockage Espace maximum alloué pour tous les enregistrements Type From ebe8d23e387e5427e1988772d61d066d42b82d78 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nesim=20=C4=B0=C5=9E?= Date: Tue, 12 Jan 2016 07:52:33 +0100 Subject: [PATCH 8/8] Translated using Weblate (Turkish) Currently translated at 100.0% (1877 of 1877 strings) --- OsmAnd/res/values-tr/strings.xml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/OsmAnd/res/values-tr/strings.xml b/OsmAnd/res/values-tr/strings.xml index 3a0edd8b33..c9b2bc4452 100644 --- a/OsmAnd/res/values-tr/strings.xml +++ b/OsmAnd/res/values-tr/strings.xml @@ -2026,4 +2026,9 @@ Güncelleme boyutu Ayı ve ülke seçin - +Öğe silindi + öğe silindi + UNDO TÜM + Tip + Başlangıç noktası +