Compare commits
4 commits
master
...
directionP
Author | SHA1 | Date | |
---|---|---|---|
|
4fe4f935f1 | ||
|
e1c87e95b1 | ||
|
7f44fc3c6e | ||
|
94b737bea4 |
468 changed files with 10128 additions and 30194 deletions
|
@ -17,7 +17,6 @@ package com.jwetherell.openmap.common;
|
|||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
|
||||
public class MGRSPoint extends ZonedUTMPoint {
|
||||
|
||||
|
@ -698,9 +697,10 @@ public class MGRSPoint extends ZonedUTMPoint {
|
|||
all.set(1, shiftChar(all.get(1), eastShift, northShift));
|
||||
String zero = "";
|
||||
}
|
||||
|
||||
all.add(String.format(Locale.US,"%0" + accuracy + "d", roundedEasting));
|
||||
all.add(String.format(Locale.US,"%0" + accuracy + "d", roundedNorthing));
|
||||
|
||||
|
||||
all.add(String.format("%0" + accuracy + "d", roundedEasting));
|
||||
all.add(String.format("%0" + accuracy + "d", roundedNorthing));
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -328,16 +328,6 @@ public class GPXUtilities {
|
|||
}
|
||||
}
|
||||
|
||||
public void setColor(ColorizationType type, int color) {
|
||||
if (type == ColorizationType.SPEED) {
|
||||
speedColor = color;
|
||||
} else if (type == ColorizationType.ELEVATION) {
|
||||
altitudeColor = color;
|
||||
} else if (type == ColorizationType.SLOPE) {
|
||||
slopeColor = color;
|
||||
}
|
||||
}
|
||||
|
||||
public String getBackgroundType() {
|
||||
return getExtensionsToRead().get(BACKGROUND_TYPE_EXTENSION);
|
||||
}
|
||||
|
@ -1113,15 +1103,6 @@ public class GPXUtilities {
|
|||
return trackBounds;
|
||||
}
|
||||
|
||||
public static QuadRect calculateTrackBounds(List<TrkSegment> segments) {
|
||||
QuadRect trackBounds = new QuadRect(Double.POSITIVE_INFINITY, Double.NEGATIVE_INFINITY,
|
||||
Double.NEGATIVE_INFINITY, Double.POSITIVE_INFINITY);
|
||||
for (TrkSegment segment : segments) {
|
||||
updateBounds(trackBounds, segment.points, 0);
|
||||
}
|
||||
return trackBounds;
|
||||
}
|
||||
|
||||
public static void updateBounds(QuadRect trackBounds, List<WptPt> pts, int startIndex) {
|
||||
for (int i = startIndex; i < pts.size(); i++) {
|
||||
WptPt pt = pts.get(i);
|
||||
|
|
|
@ -1,23 +1,20 @@
|
|||
package net.osmand;
|
||||
|
||||
import java.text.ParseException;
|
||||
import java.util.Calendar;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
public class Period {
|
||||
|
||||
public enum PeriodUnit {
|
||||
YEAR("Y", Calendar.YEAR),
|
||||
MONTH("M", Calendar.MONTH),
|
||||
WEEK("W", Calendar.WEEK_OF_YEAR),
|
||||
DAY("D", Calendar.DATE);
|
||||
YEAR("Y"),
|
||||
MONTH("M"),
|
||||
WEEK("W"),
|
||||
DAY("D");
|
||||
|
||||
private String unitStr;
|
||||
private int calendarIdx;
|
||||
|
||||
PeriodUnit(String unitStr, int calendarIdx) {
|
||||
this.calendarIdx = calendarIdx;
|
||||
PeriodUnit(String unitStr) {
|
||||
this.unitStr = unitStr;
|
||||
}
|
||||
|
||||
|
@ -25,10 +22,6 @@ public class Period {
|
|||
return unitStr;
|
||||
}
|
||||
|
||||
public int getCalendarIdx() {
|
||||
return calendarIdx;
|
||||
}
|
||||
|
||||
public double getMonthsValue() {
|
||||
switch (this) {
|
||||
case YEAR:
|
||||
|
|
|
@ -38,7 +38,7 @@ public class RouteDataObject {
|
|||
public int[] nameIds;
|
||||
// mixed array [0, height, cumulative_distance height, cumulative_distance, height, ...] - length is length(points)*2
|
||||
public float[] heightDistanceArray = null;
|
||||
public float heightByCurrentLocation = Float.NaN;
|
||||
public float heightByCurrentLocation;
|
||||
private static final Log LOG = PlatformUtil.getLog(RouteDataObject.class);
|
||||
|
||||
public RouteDataObject(RouteRegion region) {
|
||||
|
@ -185,8 +185,7 @@ public class RouteDataObject {
|
|||
heightDistanceArray = new float[2 * getPointsLength()];
|
||||
double plon = 0;
|
||||
double plat = 0;
|
||||
float prevHeight = startHeight;
|
||||
heightByCurrentLocation = Float.NaN;
|
||||
float prevHeight = heightByCurrentLocation = startHeight;
|
||||
double prevDistance = 0;
|
||||
for (int k = 0; k < getPointsLength(); k++) {
|
||||
double lon = MapUtils.get31LongitudeX(getPoint31XTile(k));
|
||||
|
@ -584,7 +583,7 @@ public class RouteDataObject {
|
|||
String nonCondTag = rtr.getTag();
|
||||
int ks;
|
||||
for (ks = 0; ks < pointTypes[i].length; ks++) {
|
||||
RouteTypeRule toReplace = region.quickGetEncodingRule(pointTypes[i][ks]);
|
||||
RouteTypeRule toReplace = region.quickGetEncodingRule(pointTypes[i][j]);
|
||||
if (toReplace != null && toReplace.getTag().contentEquals(nonCondTag)) {
|
||||
break;
|
||||
}
|
||||
|
@ -1071,8 +1070,8 @@ public class RouteDataObject {
|
|||
public String toString() {
|
||||
String name = getName();
|
||||
String rf = getRef("", false, true);
|
||||
return MessageFormat.format("Road id {0} name {1} ref {2}", (getId() / 64) + "", name == null ? "" : name,
|
||||
rf == null ? "" : rf);
|
||||
return String.format("Road id (%d), name ('%s'), ref ('%s')", id / 64, name, rf);
|
||||
// return String.format("Road [%d, '%s', '%s'] - [%s, %s]", id / 64, name, rf, Arrays.toString(pointsX), Arrays.toString(pointsY));
|
||||
}
|
||||
|
||||
public boolean hasNameTagStartsWith(String tagStartsWith) {
|
||||
|
@ -1118,4 +1117,15 @@ public class RouteDataObject {
|
|||
}
|
||||
restrictionsVia[k] = viaWay;
|
||||
}
|
||||
|
||||
public void setPointTypes(int pntInd, int[] array) {
|
||||
if (pointTypes == null || pointTypes.length <= pntInd) {
|
||||
int[][] npointTypes = new int[pntInd + 1][];
|
||||
for (int k = 0; pointTypes != null && k < pointTypes.length; k++) {
|
||||
npointTypes[k] = pointTypes[k];
|
||||
}
|
||||
pointTypes = npointTypes;
|
||||
}
|
||||
pointTypes[pntInd] = array;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -16,11 +16,13 @@ import java.util.ArrayList;
|
|||
import java.util.Collections;
|
||||
import java.util.Comparator;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
import java.util.Set;
|
||||
import java.util.zip.GZIPInputStream;
|
||||
|
||||
|
||||
|
@ -181,9 +183,7 @@ public abstract class MapObject implements Comparable<MapObject> {
|
|||
public String getName(String lang, boolean transliterate) {
|
||||
if (lang != null && lang.length() > 0) {
|
||||
if (lang.equals("en")) {
|
||||
// for some objects like wikipedia, english name is stored 'name' tag
|
||||
String enName = getEnName(transliterate);
|
||||
return !Algorithms.isEmpty(enName) ? enName : getName();
|
||||
return getEnName(transliterate);
|
||||
} else {
|
||||
// get name
|
||||
if (names != null) {
|
||||
|
|
|
@ -5,11 +5,8 @@ import net.osmand.data.QuadRect;
|
|||
import net.osmand.util.Algorithms;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashSet;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
public class WorldRegion implements Serializable {
|
||||
|
||||
|
@ -215,22 +212,4 @@ public class WorldRegion implements Serializable {
|
|||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public static List<WorldRegion> removeDuplicates(List<WorldRegion> regions) {
|
||||
List<WorldRegion> copy = new ArrayList<>(regions);
|
||||
Set<WorldRegion> duplicates = new HashSet<>();
|
||||
for (int i = 0; i < copy.size() - 1; i++) {
|
||||
WorldRegion r1 = copy.get(i);
|
||||
for (int j = i + 1; j < copy.size(); j++) {
|
||||
WorldRegion r2 = copy.get(j);
|
||||
if (r1.containsRegion(r2)) {
|
||||
duplicates.add(r2);
|
||||
} else if (r2.containsRegion(r1)) {
|
||||
duplicates.add(r1);
|
||||
}
|
||||
}
|
||||
}
|
||||
copy.removeAll(duplicates);
|
||||
return copy;
|
||||
}
|
||||
}
|
|
@ -1,12 +1,11 @@
|
|||
package net.osmand.osm.edit;
|
||||
|
||||
import net.osmand.Location;
|
||||
import net.osmand.data.LatLon;
|
||||
import net.osmand.util.Algorithms;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Map;
|
||||
|
||||
import net.osmand.Location;
|
||||
import net.osmand.data.LatLon;
|
||||
|
||||
public class Node extends Entity implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = -2981499160640211082L;
|
||||
|
|
|
@ -340,30 +340,6 @@ public class OsmMapUtils {
|
|||
}
|
||||
}
|
||||
|
||||
public static void simplifyDouglasPeucker(List<Node> nodes, int start, int end, List<Node> survivedNodes, double epsilon) {
|
||||
double dmax = Double.NEGATIVE_INFINITY;
|
||||
int index = -1;
|
||||
|
||||
Node startPt = nodes.get(start);
|
||||
Node endPt = nodes.get(end);
|
||||
|
||||
for (int i = start + 1; i < end; i++) {
|
||||
Node pt = nodes.get(i);
|
||||
double d = MapUtils.getOrthogonalDistance(pt.getLatitude(), pt.getLongitude(),
|
||||
startPt.getLatitude(), startPt.getLongitude(), endPt.getLatitude(), endPt.getLongitude());
|
||||
if (d > dmax) {
|
||||
dmax = d;
|
||||
index = i;
|
||||
}
|
||||
}
|
||||
if (dmax > epsilon) {
|
||||
simplifyDouglasPeucker(nodes, start, index, survivedNodes, epsilon);
|
||||
simplifyDouglasPeucker(nodes, index, end, survivedNodes, epsilon);
|
||||
} else {
|
||||
survivedNodes.add(nodes.get(end));
|
||||
}
|
||||
}
|
||||
|
||||
private static double orthogonalDistance(int zoom, Node nodeLineStart, Node nodeLineEnd, Node node) {
|
||||
LatLon p = MapUtils.getProjection(node.getLatitude(), node.getLongitude(), nodeLineStart.getLatitude(),
|
||||
nodeLineStart.getLongitude(), nodeLineEnd.getLatitude(), nodeLineEnd.getLongitude());
|
||||
|
|
|
@ -903,7 +903,7 @@ public class BinaryRoutePlanner {
|
|||
}
|
||||
|
||||
public static class RouteSegment {
|
||||
final short segStart;
|
||||
short segStart;
|
||||
final RouteDataObject road;
|
||||
// needed to store intersection of routes
|
||||
RouteSegment next = null;
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
package net.osmand.router;
|
||||
|
||||
import net.osmand.GPXUtilities.WptPt;
|
||||
import net.osmand.binary.BinaryMapRouteReaderAdapter.RouteRegion;
|
||||
import net.osmand.binary.BinaryMapRouteReaderAdapter.RouteTypeRule;
|
||||
import net.osmand.binary.RouteDataObject;
|
||||
import net.osmand.data.QuadTree;
|
||||
import net.osmand.router.BinaryRoutePlanner.RouteSegment;
|
||||
import net.osmand.util.Algorithms;
|
||||
import net.osmand.util.MapUtils;
|
||||
|
@ -76,6 +78,7 @@ public class GeneralRouter implements VehicleRouter {
|
|||
private float maxVehicleSpeed;
|
||||
|
||||
private TLongHashSet impassableRoads;
|
||||
|
||||
private GeneralRouterProfile profile;
|
||||
|
||||
Map<RouteRegion, Map<IntHolder, Float>>[] evalCache;
|
||||
|
@ -268,11 +271,11 @@ public class GeneralRouter implements VehicleRouter {
|
|||
@Override
|
||||
public boolean acceptLine(RouteDataObject way) {
|
||||
Float res = getCache(RouteDataObjectAttribute.ACCESS, way);
|
||||
if(res == null) {
|
||||
if (res == null) {
|
||||
res = (float) getObjContext(RouteDataObjectAttribute.ACCESS).evaluateInt(way, 0);
|
||||
putCache(RouteDataObjectAttribute.ACCESS, way, res);
|
||||
}
|
||||
if(impassableRoads != null && impassableRoads.contains(way.id)) {
|
||||
if (impassableRoads != null && impassableRoads.contains(way.id)) {
|
||||
return false;
|
||||
}
|
||||
return res >= 0;
|
||||
|
|
|
@ -1,14 +1,9 @@
|
|||
package net.osmand.router;
|
||||
|
||||
import net.osmand.GPXUtilities.GPXFile;
|
||||
import net.osmand.GPXUtilities.GPXTrackAnalysis;
|
||||
import net.osmand.GPXUtilities.Track;
|
||||
import net.osmand.GPXUtilities.TrkSegment;
|
||||
import net.osmand.GPXUtilities.WptPt;
|
||||
import net.osmand.GPXUtilities;
|
||||
import net.osmand.PlatformUtil;
|
||||
import net.osmand.osm.edit.Node;
|
||||
import net.osmand.osm.edit.OsmMapUtils;
|
||||
import net.osmand.util.Algorithms;
|
||||
import net.osmand.util.MapUtils;
|
||||
|
||||
import org.apache.commons.logging.Log;
|
||||
|
@ -35,9 +30,6 @@ public class RouteColorize {
|
|||
public static final int RED = rgbaToDecimal(243, 55, 77, 255);
|
||||
public static final int[] colors = new int[] {GREEN, YELLOW, RED};
|
||||
|
||||
private static final float DEFAULT_BASE = 17.2f;
|
||||
private static final int MAX_SLOPE_VALUE = 25;
|
||||
|
||||
public enum ColorizationType {
|
||||
ELEVATION,
|
||||
SPEED,
|
||||
|
@ -83,11 +75,7 @@ public class RouteColorize {
|
|||
/**
|
||||
* @param type ELEVATION, SPEED, SLOPE
|
||||
*/
|
||||
public RouteColorize(int zoom, GPXFile gpxFile, ColorizationType type) {
|
||||
this(zoom, gpxFile, null, type, 0);
|
||||
}
|
||||
|
||||
public RouteColorize(int zoom, GPXFile gpxFile, GPXTrackAnalysis analysis, ColorizationType type, float maxProfileSpeed) {
|
||||
public RouteColorize(int zoom, GPXUtilities.GPXFile gpxFile, ColorizationType type) {
|
||||
|
||||
if (!gpxFile.hasTrkPt()) {
|
||||
LOG.warn("GPX file is not consist of track points");
|
||||
|
@ -97,34 +85,21 @@ public class RouteColorize {
|
|||
List<Double> latList = new ArrayList<>();
|
||||
List<Double> lonList = new ArrayList<>();
|
||||
List<Double> valList = new ArrayList<>();
|
||||
int wptIdx = 0;
|
||||
|
||||
if (analysis == null) {
|
||||
analysis = Algorithms.isEmpty(gpxFile.path)
|
||||
? gpxFile.getAnalysis(System.currentTimeMillis())
|
||||
: gpxFile.getAnalysis(gpxFile.modifiedTime);
|
||||
}
|
||||
for (Track t : gpxFile.tracks) {
|
||||
for (TrkSegment ts : t.segments) {
|
||||
if (ts.generalSegment || ts.points.size() < 2) {
|
||||
continue;
|
||||
}
|
||||
|
||||
for (WptPt p : ts.points) {
|
||||
for (GPXUtilities.Track t : gpxFile.tracks) {
|
||||
for (GPXUtilities.TrkSegment ts : t.segments) {
|
||||
for (GPXUtilities.WptPt p : ts.points) {
|
||||
latList.add(p.lat);
|
||||
lonList.add(p.lon);
|
||||
if (type == ColorizationType.SPEED) {
|
||||
valList.add((double) analysis.speedData.get(wptIdx).speed);
|
||||
valList.add(p.speed);
|
||||
} else {
|
||||
valList.add((double) analysis.elevationData.get(wptIdx).elevation);
|
||||
valList.add(p.ele);
|
||||
}
|
||||
wptIdx++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
this.zoom = zoom;
|
||||
colorizationType = type;
|
||||
latitudes = listToArray(latList);
|
||||
longitudes = listToArray(lonList);
|
||||
|
||||
|
@ -133,8 +108,9 @@ public class RouteColorize {
|
|||
} else {
|
||||
values = listToArray(valList);
|
||||
}
|
||||
|
||||
calculateMinMaxValue();
|
||||
maxValue = getMaxValue(colorizationType, analysis, minValue, maxProfileSpeed);
|
||||
colorizationType = type;
|
||||
checkPalette();
|
||||
sortPalette();
|
||||
}
|
||||
|
@ -186,7 +162,7 @@ public class RouteColorize {
|
|||
public List<RouteColorizationPoint> getResult(boolean simplify) {
|
||||
List<RouteColorizationPoint> result = new ArrayList<>();
|
||||
if (simplify) {
|
||||
result = simplify(zoom);
|
||||
result = simplify();
|
||||
} else {
|
||||
for (int i = 0; i < latitudes.length; i++) {
|
||||
result.add(new RouteColorizationPoint(i, latitudes[i], longitudes[i], values[i]));
|
||||
|
@ -200,7 +176,7 @@ public class RouteColorize {
|
|||
|
||||
public int getColorByValue(double value) {
|
||||
if (Double.isNaN(value)) {
|
||||
value = colorizationType == ColorizationType.SLOPE ? minValue : (minValue + maxValue) / 2;
|
||||
value = (minValue + maxValue) / 2;
|
||||
}
|
||||
for (int i = 0; i < palette.length - 1; i++) {
|
||||
if (value == palette[i][VALUE_INDEX])
|
||||
|
@ -218,7 +194,7 @@ public class RouteColorize {
|
|||
return rgbaToDecimal((int) resultRed, (int) resultGreen, (int) resultBlue, (int) resultAlpha);
|
||||
}
|
||||
}
|
||||
return getTransparentColor();
|
||||
return getDefaultColor();
|
||||
}
|
||||
|
||||
public void setPalette(double[][] palette) {
|
||||
|
@ -233,19 +209,20 @@ public class RouteColorize {
|
|||
}
|
||||
setPalette(new double[][] {
|
||||
{minValue, gradientPalette[0]},
|
||||
{(minValue + maxValue) / 2, gradientPalette[1]},
|
||||
{colorizationType == ColorizationType.SLOPE ? 0 : (minValue + maxValue) / 2, gradientPalette[1]},
|
||||
{maxValue, gradientPalette[2]}
|
||||
});
|
||||
}
|
||||
|
||||
private int getTransparentColor() {
|
||||
private int getDefaultColor() {
|
||||
return rgbaToDecimal(0, 0, 0, 0);
|
||||
}
|
||||
|
||||
public List<RouteColorizationPoint> simplify(int zoom) {
|
||||
private List<RouteColorizationPoint> simplify() {
|
||||
if (dataList == null) {
|
||||
dataList = new ArrayList<>();
|
||||
for (int i = 0; i < latitudes.length; i++) {
|
||||
//System.out.println(latitudes[i] + " " + longitudes[i] + " " + values[i]);
|
||||
dataList.add(new RouteColorizationPoint(i, latitudes[i], longitudes[i], values[i]));
|
||||
}
|
||||
}
|
||||
|
@ -254,20 +231,16 @@ public class RouteColorize {
|
|||
for (RouteColorizationPoint data : dataList) {
|
||||
nodes.add(new net.osmand.osm.edit.Node(data.lat, data.lon, data.id));
|
||||
}
|
||||
|
||||
double epsilon = Math.pow(2.0, DEFAULT_BASE - zoom);
|
||||
result.add(nodes.get(0));
|
||||
OsmMapUtils.simplifyDouglasPeucker(nodes, 0, nodes.size() - 1, result, epsilon);
|
||||
OsmMapUtils.simplifyDouglasPeucker(nodes, zoom + 5, 1, result, true);
|
||||
|
||||
List<RouteColorizationPoint> simplified = new ArrayList<>();
|
||||
for (int i = 1; i < result.size(); i++) {
|
||||
|
||||
for (int i = 1; i < result.size() - 1; i++) {
|
||||
int prevId = (int) result.get(i - 1).getId();
|
||||
int currentId = (int) result.get(i).getId();
|
||||
List<RouteColorizationPoint> sublist = dataList.subList(prevId, currentId);
|
||||
simplified.addAll(getExtremums(sublist));
|
||||
}
|
||||
Node lastSurvivedPoint = result.get(result.size() - 1);
|
||||
simplified.add(dataList.get((int) lastSurvivedPoint.getId()));
|
||||
return simplified;
|
||||
}
|
||||
|
||||
|
@ -322,7 +295,7 @@ public class RouteColorize {
|
|||
|
||||
double[][] defaultPalette = {
|
||||
{minValue, GREEN},
|
||||
{(minValue + maxValue) / 2, YELLOW},
|
||||
{colorizationType == ColorizationType.SLOPE ? 0 : (minValue + maxValue) / 2, YELLOW},
|
||||
{maxValue, RED}
|
||||
};
|
||||
palette = defaultPalette;
|
||||
|
@ -424,20 +397,6 @@ public class RouteColorize {
|
|||
return result;
|
||||
}
|
||||
|
||||
public static double getMinValue(ColorizationType type, GPXTrackAnalysis analysis) {
|
||||
return type == ColorizationType.ELEVATION ? analysis.minElevation : 0.0;
|
||||
}
|
||||
|
||||
public static double getMaxValue(ColorizationType type, GPXTrackAnalysis analysis, double minValue, double maxProfileSpeed) {
|
||||
if (type == ColorizationType.SPEED) {
|
||||
return Math.max(analysis.maxSpeed, maxProfileSpeed);
|
||||
} else if (type == ColorizationType.ELEVATION) {
|
||||
return Math.max(analysis.maxElevation, minValue + 50);
|
||||
} else {
|
||||
return MAX_SLOPE_VALUE;
|
||||
}
|
||||
}
|
||||
|
||||
private void calculateMinMaxValue() {
|
||||
if (values.length == 0)
|
||||
return;
|
||||
|
@ -485,7 +444,7 @@ public class RouteColorize {
|
|||
}
|
||||
|
||||
public static class RouteColorizationPoint {
|
||||
public int id;
|
||||
int id;
|
||||
public double lat;
|
||||
public double lon;
|
||||
public double val;
|
||||
|
@ -498,4 +457,5 @@ public class RouteColorize {
|
|||
this.val = val;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -6,6 +6,7 @@ import net.osmand.NativeLibrary;
|
|||
import net.osmand.PlatformUtil;
|
||||
import net.osmand.ResultMatcher;
|
||||
import net.osmand.binary.BinaryMapIndexReader;
|
||||
import net.osmand.binary.BinaryMapRouteReaderAdapter;
|
||||
import net.osmand.binary.BinaryMapRouteReaderAdapter.RouteRegion;
|
||||
import net.osmand.binary.RouteDataObject;
|
||||
import net.osmand.data.LatLon;
|
||||
|
@ -688,15 +689,15 @@ public class RoutePlannerFrontEnd {
|
|||
}
|
||||
}
|
||||
if (ctx.calculationMode == RouteCalculationMode.COMPLEX && routeDirection == null
|
||||
&& maxDistance > RoutingConfiguration.DEVIATION_RADIUS * 6) {
|
||||
&& maxDistance > ctx.config.DEVIATION_RADIUS * 6) {
|
||||
ctx.calculationProgress.totalIterations++;
|
||||
RoutingContext nctx = buildRoutingContext(ctx.config, ctx.nativeLib, ctx.getMaps(), RouteCalculationMode.BASE);
|
||||
nctx.calculationProgress = ctx.calculationProgress;
|
||||
List<RouteSegmentResult> ls = searchRoute(nctx, start, end, intermediates);
|
||||
if (ls == null) {
|
||||
if(ls == null) {
|
||||
return null;
|
||||
}
|
||||
routeDirection = PrecalculatedRouteDirection.build(ls, RoutingConfiguration.DEVIATION_RADIUS, ctx.getRouter().getMaxSpeed());
|
||||
routeDirection = PrecalculatedRouteDirection.build(ls, ctx.config.DEVIATION_RADIUS, ctx.getRouter().getMaxSpeed());
|
||||
}
|
||||
List<RouteSegmentResult> res ;
|
||||
if (intermediatesEmpty && ctx.nativeLib != null) {
|
||||
|
|
|
@ -1,26 +1,34 @@
|
|||
package net.osmand.router;
|
||||
|
||||
import net.osmand.PlatformUtil;
|
||||
import net.osmand.router.GeneralRouter.GeneralRouterProfile;
|
||||
import net.osmand.router.GeneralRouter.RouteAttributeContext;
|
||||
import net.osmand.router.GeneralRouter.RouteDataObjectAttribute;
|
||||
import net.osmand.util.Algorithms;
|
||||
|
||||
import org.xmlpull.v1.XmlPullParser;
|
||||
import org.xmlpull.v1.XmlPullParserException;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashSet;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.Stack;
|
||||
|
||||
import org.xmlpull.v1.XmlPullParser;
|
||||
import org.xmlpull.v1.XmlPullParserException;
|
||||
|
||||
import gnu.trove.list.array.TIntArrayList;
|
||||
import net.osmand.PlatformUtil;
|
||||
import net.osmand.binary.RouteDataObject;
|
||||
import net.osmand.data.QuadRect;
|
||||
import net.osmand.data.QuadTree;
|
||||
import net.osmand.osm.edit.Node;
|
||||
import net.osmand.router.GeneralRouter.GeneralRouterProfile;
|
||||
import net.osmand.router.GeneralRouter.RouteAttributeContext;
|
||||
import net.osmand.router.GeneralRouter.RouteDataObjectAttribute;
|
||||
import net.osmand.util.Algorithms;
|
||||
import net.osmand.util.MapUtils;
|
||||
|
||||
public class RoutingConfiguration {
|
||||
|
||||
public static final int DEFAULT_MEMORY_LIMIT = 30;
|
||||
public static final float DEVIATION_RADIUS = 3000;
|
||||
public final float DEVIATION_RADIUS = 3000;
|
||||
public Map<String, String> attributes = new LinkedHashMap<String, String>();
|
||||
|
||||
// 1. parameters of routing and different tweaks
|
||||
|
@ -49,15 +57,38 @@ public class RoutingConfiguration {
|
|||
// 1.6 Time to calculate all access restrictions based on conditions
|
||||
public long routeCalculationTime = 0;
|
||||
|
||||
|
||||
// extra points to be inserted in ways (quad tree is based on 31 coords)
|
||||
private QuadTree<DirectionPoint> directionPoints;
|
||||
|
||||
public int directionPointsRadius = 30; // 30 m
|
||||
|
||||
public QuadTree<DirectionPoint> getDirectionPoints() {
|
||||
return directionPoints;
|
||||
}
|
||||
|
||||
public static class DirectionPoint extends Node {
|
||||
private static final long serialVersionUID = -7496599771204656505L;
|
||||
public double distance = Double.MAX_VALUE;
|
||||
public RouteDataObject connected;
|
||||
public int pointIndex;
|
||||
public TIntArrayList types = new TIntArrayList();
|
||||
|
||||
public DirectionPoint(Node n) {
|
||||
super(n, n.getId());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public static class Builder {
|
||||
// Design time storage
|
||||
private String defaultRouter = "";
|
||||
private Map<String, GeneralRouter> routers = new LinkedHashMap<>();
|
||||
private Map<String, String> attributes = new LinkedHashMap<>();
|
||||
private Set<Long> impassableRoadLocations = new HashSet<>();
|
||||
private QuadTree<Node> directionPointsBuilder;
|
||||
|
||||
public Builder() {
|
||||
|
||||
}
|
||||
|
||||
public Builder(Map<String, String> defaultAttributes) {
|
||||
|
@ -106,9 +137,25 @@ public class RoutingConfiguration {
|
|||
i.memoryLimitation = memoryLimitMB * (1l << 20);
|
||||
}
|
||||
i.planRoadDirection = parseSilentInt(getAttribute(i.router, "planRoadDirection"), i.planRoadDirection);
|
||||
if (directionPointsBuilder != null) {
|
||||
QuadRect rect = new QuadRect(0, 0, Integer.MAX_VALUE, Integer.MAX_VALUE);
|
||||
List<net.osmand.osm.edit.Node> lst = directionPointsBuilder.queryInBox(rect, new ArrayList<Node>());
|
||||
i.directionPoints = new QuadTree<>(rect, 14, 0.5f);
|
||||
for(Node n : lst) {
|
||||
DirectionPoint dp = new DirectionPoint(n);
|
||||
int x = MapUtils.get31TileNumberX(dp.getLongitude());
|
||||
int y = MapUtils.get31TileNumberY(dp.getLatitude());
|
||||
i.directionPoints.insert(dp, new QuadRect(x, y, x, y));
|
||||
}
|
||||
}
|
||||
// i.planRoadDirection = 1;
|
||||
return i;
|
||||
}
|
||||
|
||||
public Builder setDirectionPoints(QuadTree<Node> directionPoints) {
|
||||
this.directionPointsBuilder = directionPoints;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Set<Long> getImpassableRoadLocations() {
|
||||
return impassableRoadLocations;
|
||||
|
|
|
@ -3,6 +3,7 @@ package net.osmand.router;
|
|||
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.Comparator;
|
||||
import java.util.Date;
|
||||
|
@ -28,10 +29,14 @@ import net.osmand.binary.BinaryMapRouteReaderAdapter;
|
|||
import net.osmand.binary.BinaryMapRouteReaderAdapter.RouteRegion;
|
||||
import net.osmand.binary.BinaryMapRouteReaderAdapter.RouteSubregion;
|
||||
import net.osmand.binary.RouteDataObject;
|
||||
import net.osmand.data.QuadPoint;
|
||||
import net.osmand.data.QuadRect;
|
||||
import net.osmand.router.BinaryRoutePlanner.FinalRouteSegment;
|
||||
import net.osmand.router.BinaryRoutePlanner.RouteSegment;
|
||||
import net.osmand.router.BinaryRoutePlanner.RouteSegmentVisitor;
|
||||
import net.osmand.router.RoutePlannerFrontEnd.RouteCalculationMode;
|
||||
import net.osmand.router.RoutingConfiguration.DirectionPoint;
|
||||
import net.osmand.util.MapUtils;
|
||||
|
||||
|
||||
public class RoutingContext {
|
||||
|
@ -272,27 +277,43 @@ public class RoutingContext {
|
|||
int ucount = ts.getUnloadCont();
|
||||
if (nativeLib == null) {
|
||||
long now = System.nanoTime();
|
||||
List<DirectionPoint> points = Collections.emptyList();
|
||||
if (config.getDirectionPoints() != null) {
|
||||
points = config.getDirectionPoints().queryInBox(
|
||||
new QuadRect(ts.subregion.left, ts.subregion.top, ts.subregion.right, ts.subregion.bottom), new ArrayList<>());
|
||||
for (DirectionPoint d : points) {
|
||||
// use temporary types
|
||||
d.types.clear();
|
||||
for (Entry<String, String> e : d.getTags().entrySet()) {
|
||||
int type = ts.subregion.routeReg.searchRouteEncodingRule(e.getKey(), e.getValue());
|
||||
if (type != -1) {
|
||||
d.types.add(type);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
try {
|
||||
BinaryMapIndexReader reader = reverseMap.get(ts.subregion.routeReg);
|
||||
ts.setLoadedNonNative();
|
||||
List<RouteDataObject> res = reader.loadRouteIndexData(ts.subregion);
|
||||
|
||||
if(toLoad != null) {
|
||||
if (toLoad != null) {
|
||||
toLoad.addAll(res);
|
||||
} else {
|
||||
for(RouteDataObject ro : res){
|
||||
if(ro != null) {
|
||||
if(config.routeCalculationTime != 0) {
|
||||
for (RouteDataObject ro : res) {
|
||||
if (ro != null) {
|
||||
if (config.routeCalculationTime != 0) {
|
||||
ro.processConditionalTags(config.routeCalculationTime);
|
||||
}
|
||||
if(config.router.acceptLine(ro)) {
|
||||
if(excludeNotAllowed != null && !excludeNotAllowed.contains(ro.getId())) {
|
||||
if (config.router.acceptLine(ro)) {
|
||||
if (excludeNotAllowed != null && !excludeNotAllowed.contains(ro.getId())) {
|
||||
connectPoint(ts, ro, points);
|
||||
ts.add(ro);
|
||||
}
|
||||
}
|
||||
if(excludeNotAllowed != null && ro.getId() > 0){
|
||||
if (excludeNotAllowed != null && ro.getId() > 0) {
|
||||
excludeNotAllowed.add(ro.getId());
|
||||
if(ts.excludedIds == null ){
|
||||
if (ts.excludedIds == null) {
|
||||
ts.excludedIds = new TLongHashSet();
|
||||
}
|
||||
ts.excludedIds.add(ro.getId());
|
||||
|
@ -338,6 +359,8 @@ public class RoutingContext {
|
|||
global.size += ts.tileStatistics.size;
|
||||
}
|
||||
|
||||
|
||||
|
||||
private List<RoutingSubregionTile> loadTileHeaders(final int x31, final int y31) {
|
||||
final int zoomToLoad = 31 - config.ZOOM_TO_LOAD_TILES;
|
||||
int tileX = x31 >> zoomToLoad;
|
||||
|
@ -451,8 +474,9 @@ public class RoutingContext {
|
|||
@SuppressWarnings("unused")
|
||||
private long getRoutingTile(int x31, int y31, long memoryLimit) {
|
||||
// long now = System.nanoTime();
|
||||
long xloc = x31 >> (31 - config.ZOOM_TO_LOAD_TILES);
|
||||
long yloc = y31 >> (31 - config.ZOOM_TO_LOAD_TILES);
|
||||
int zmShift = 31 - config.ZOOM_TO_LOAD_TILES;
|
||||
long xloc = x31 >> zmShift;
|
||||
long yloc = y31 >> zmShift;
|
||||
long tileId = (xloc << config.ZOOM_TO_LOAD_TILES) + yloc;
|
||||
if (memoryLimit == 0) {
|
||||
memoryLimit = config.memoryLimitation;
|
||||
|
@ -513,7 +537,68 @@ public class RoutingContext {
|
|||
}
|
||||
|
||||
|
||||
private void connectPoint(final RoutingSubregionTile ts, RouteDataObject ro, List<DirectionPoint> points) {
|
||||
for (DirectionPoint np : points) {
|
||||
if (np.types.size() == 0) {
|
||||
continue;
|
||||
}
|
||||
boolean sameRoadId = np.connected != null && np.connected.getId() == ro.getId() && np.connected != ro;
|
||||
int wptX = MapUtils.get31TileNumberX(np.getLongitude());
|
||||
int wptY = MapUtils.get31TileNumberY(np.getLatitude());
|
||||
|
||||
int x = ro.getPoint31XTile(0);
|
||||
int y = ro.getPoint31YTile(0);
|
||||
for(int i = 1; i < ro.getPointsLength(); i++) {
|
||||
int nx = ro.getPoint31XTile(i);
|
||||
int ny = ro.getPoint31YTile(i);
|
||||
// TODO wptX != x || wptY != y this check is questionable
|
||||
boolean sameRoadIdIndex = sameRoadId && np.pointIndex == i && (wptX != x || wptY != y);
|
||||
|
||||
boolean sgnx = nx - wptX > 0;
|
||||
boolean sgx = x - wptX > 0;
|
||||
boolean sgny = ny - wptY > 0;
|
||||
boolean sgy = y - wptY > 0;
|
||||
double dist;
|
||||
if (sgny == sgy && sgx == sgnx) {
|
||||
// point outside of rect (line is diagonal) distance is likely be bigger
|
||||
// TODO this can be speed up without projection!
|
||||
dist = MapUtils.squareRootDist31(wptX, wptY, Math.abs(nx - wptX) < Math.abs(x - wptX) ? nx : x,
|
||||
Math.abs(ny - wptY) < Math.abs(y - wptY) ? ny : y);
|
||||
if (dist < config.directionPointsRadius) {
|
||||
QuadPoint pnt = MapUtils.getProjectionPoint31(wptX, wptY, x, y, nx, ny);
|
||||
dist = MapUtils.squareRootDist31(wptX, wptY, (int) pnt.x, (int) pnt.y);
|
||||
}
|
||||
} else {
|
||||
QuadPoint pnt = MapUtils.getProjectionPoint31(wptX, wptY, x, y, nx, ny);
|
||||
dist = MapUtils.squareRootDist31(wptX, wptY, (int) pnt.x, (int) pnt.y);
|
||||
}
|
||||
|
||||
if ((dist < np.distance && dist < config.directionPointsRadius) || sameRoadIdIndex) {
|
||||
System.out.println(String.format("INSERT %s %s (%d-%d) %.0f m [%.5f, %.5f] ", ts.subregion.hashCode() + "",
|
||||
ro, i, i + 1, dist, MapUtils.get31LatitudeY(wptY), MapUtils.get31LongitudeX(wptX)));
|
||||
if (np.connected != null && !sameRoadIdIndex) {
|
||||
// clear old connected
|
||||
np.connected.setPointTypes(np.pointIndex, new int[0]);
|
||||
}
|
||||
ro.insert(i, wptX, wptY);
|
||||
// ro.insert(i, (int) pnt.x, (int) pnt.y); // TODO more correct
|
||||
ro.setPointTypes(i, np.types.toArray());
|
||||
np.distance = dist;
|
||||
np.connected = ro;
|
||||
np.pointIndex = i;
|
||||
i++;
|
||||
}
|
||||
|
||||
x = nx;
|
||||
y = ny;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public boolean checkIfMemoryLimitCritical(long memoryLimit) {
|
||||
return getCurrentEstimatedSize() > 0.9 * memoryLimit;
|
||||
}
|
||||
|
|
|
@ -10,6 +10,8 @@ import net.osmand.router.GeneralRouter.RouteDataObjectAttribute;
|
|||
|
||||
public class TransportRoutingConfiguration {
|
||||
|
||||
public static final String KEY = "public_transport";
|
||||
|
||||
public int ZOOM_TO_LOAD_TILES = 15;
|
||||
|
||||
public int walkRadius = 1500; // ? 3000
|
||||
|
|
|
@ -1317,13 +1317,7 @@ public class SearchCoreFactory {
|
|||
|| !phrase.isSearchTypeAllowed(ObjectType.HOUSE)) {
|
||||
continue;
|
||||
}
|
||||
if(interpolation) {
|
||||
res.localeName = lw;
|
||||
res.location = b.getLocation(b.interpolation(lw));
|
||||
} else {
|
||||
res.localeName = b.getName(phrase.getSettings().getLang(), phrase.getSettings().isTransliterate());
|
||||
res.location = b.getLocation();
|
||||
}
|
||||
res.localeName = b.getName(phrase.getSettings().getLang(), phrase.getSettings().isTransliterate());
|
||||
res.otherNames = b.getAllNames(true);
|
||||
res.object = b;
|
||||
res.file = file;
|
||||
|
@ -1334,6 +1328,12 @@ public class SearchCoreFactory {
|
|||
res.relatedObject = s;
|
||||
res.localeRelatedObjectName = s.getName(phrase.getSettings().getLang(), phrase.getSettings().isTransliterate());
|
||||
res.objectType = ObjectType.HOUSE;
|
||||
if(interpolation) {
|
||||
res.location = b.getLocation(b.interpolation(lw));
|
||||
res.localeName = lw;
|
||||
} else {
|
||||
res.location = b.getLocation();
|
||||
}
|
||||
res.preferredZoom = 17;
|
||||
|
||||
resultMatcher.publish(res);
|
||||
|
|
|
@ -55,9 +55,7 @@ public class SearchResult {
|
|||
|
||||
public double getSumPhraseMatchWeight() {
|
||||
// if result is a complete match in the search we prioritize it higher
|
||||
int localWordsMatched = alternateName != null ?
|
||||
requiredSearchPhrase.countWords(alternateName) : requiredSearchPhrase.countWords(localeName) ;
|
||||
boolean match = localWordsMatched <= getSelfWordCount();
|
||||
boolean match = requiredSearchPhrase.countWords(localeName) <= getSelfWordCount();
|
||||
double res = ObjectType.getTypeWeight(match ? objectType : null);
|
||||
if (parentSearchResult != null) {
|
||||
res = res + parentSearchResult.getSumPhraseMatchWeight() / MAX_TYPE_WEIGHT;
|
||||
|
|
|
@ -747,9 +747,7 @@ public class MapUtils {
|
|||
return Math.sqrt((endX - startX) * (endX - startX) + (endY - startY) * (endY - startY));
|
||||
}
|
||||
|
||||
public static double getSqrtDistance(float startX, float startY, float endX, float endY) {
|
||||
return Math.sqrt((endX - startX) * (endX - startX) + (endY - startY) * (endY - startY));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -80,9 +80,9 @@ public class SearchUICoreTest {
|
|||
if (files != null) {
|
||||
for (File file : files) {
|
||||
String fileName = file.getName();
|
||||
if (fileName.endsWith(".json")) {
|
||||
if(fileName.endsWith(".json")) {
|
||||
String name = fileName.substring(0, fileName.length() - ".json".length());
|
||||
arrayList.add(new Object[] { name, file });
|
||||
arrayList.add(new Object[] {name, file});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -191,10 +191,10 @@ public class SearchUICoreTest {
|
|||
if (!Algorithms.stringsEqual(expected, present)) {
|
||||
System.out.println(String.format("Phrase: %s", phrase));
|
||||
System.out.println(String.format("Mismatch for '%s' != '%s'. Result: ", expected, present));
|
||||
}
|
||||
for (SearchResult r : searchResults) {
|
||||
System.out.println(String.format("\t\"%s\",", formatResult(false, r, phrase)));
|
||||
}
|
||||
}
|
||||
Assert.assertEquals(expected, present);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,274 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="shared_string_select">Označi</string>
|
||||
<string name="shared_string_enable">Omogući</string>
|
||||
<string name="altitude">Nadmorska visina</string>
|
||||
<string name="shared_string_search">Traži</string>
|
||||
<string name="shared_string_ok">U redu</string>
|
||||
<string name="shared_string_update">Ažuriraj</string>
|
||||
<string name="average_altitude">Prosečna visina</string>
|
||||
<string name="average_speed">Prosečna brzina</string>
|
||||
<string name="shared_string_map">Karta</string>
|
||||
<string name="shared_string_add">Dodaj</string>
|
||||
<string name="shared_string_hide">Sakrij</string>
|
||||
<string name="shared_string_status">Stanje</string>
|
||||
<string name="shared_string_disable">Onemogući</string>
|
||||
<string name="shared_string_save">Sačuvaj</string>
|
||||
<string name="shared_string_name">Ime</string>
|
||||
<string name="shared_string_sort">Sortiraj</string>
|
||||
<string name="shared_string_exit">Izlaz</string>
|
||||
<string name="shared_string_close">Zatvori</string>
|
||||
<string name="shared_string_all">Sve</string>
|
||||
<string name="shared_string_off">Isključeno</string>
|
||||
<string name="shared_string_install">Instaliraj</string>
|
||||
<string name="shared_string_share">Deli</string>
|
||||
<string name="shared_string_back">Nazad</string>
|
||||
<string name="shared_string_continue">Nastavi</string>
|
||||
<string name="shared_string_cancel">Otkaži</string>
|
||||
<string name="shared_string_settings">Postavke</string>
|
||||
<string name="osmand_service">Pozadinski režim</string>
|
||||
<string name="yard">yd</string>
|
||||
<string name="foot">ft</string>
|
||||
<string name="mile">mi</string>
|
||||
<string name="km">km</string>
|
||||
<string name="m">m</string>
|
||||
<string name="nm">nmi</string>
|
||||
<string name="min_mile">min/m</string>
|
||||
<string name="min_km">min/km</string>
|
||||
<string name="m_s">m/s</string>
|
||||
<string name="km_h">km/h</string>
|
||||
<string name="mile_per_hour">mph</string>
|
||||
<string name="si_kmh">Kilometara na sat</string>
|
||||
<string name="si_mph">Milja na sat</string>
|
||||
<string name="si_m_s">Metara u sekundi</string>
|
||||
<string name="si_min_km">Minuta po kilometru</string>
|
||||
<string name="si_min_m">Minuta po milji</string>
|
||||
<string name="si_mi_feet">Milje/stope</string>
|
||||
<string name="si_mi_yard">Milje/jardi</string>
|
||||
<string name="si_km_m">Kilometri/metri</string>
|
||||
<string name="si_nm">Nautičke milje</string>
|
||||
<string name="si_mi_meters">Milje/metri</string>
|
||||
<string name="shared_string_apply">Primeni</string>
|
||||
<string name="shared_string_enabled">Uključen</string>
|
||||
<string name="units_and_formats">Merne jedinice & formatiranja</string>
|
||||
<string name="unit_of_length_descr">Promeni jedinice za dužinu.</string>
|
||||
<string name="unit_of_length">Jedinice dužine</string>
|
||||
<string name="shared_string_appearance">Izgled</string>
|
||||
<string name="timeline">Vremenska linija</string>
|
||||
<string name="live_now">Uživo sada</string>
|
||||
<string name="my_location">Moja lokacija</string>
|
||||
<string name="welcome_descr"><b>OsmAnd Pratioc</b> omogućava vam da delite svoju lokaciju i vidite lokaciju drugih u OsmAndu.<br/><br/>Aplikacija koristi Telegram API, pa vam je potreban Telegram nalog.</string>
|
||||
<string name="shared_string_second_short">sek</string>
|
||||
<string name="shared_string_minute_short">min</string>
|
||||
<string name="shared_string_hour_short">č</string>
|
||||
<string name="si_nm_h">Nautičkih milja na sat (čvorovi)</string>
|
||||
<string name="nm_h">nmi/č</string>
|
||||
<string name="shared_string_welcome">Dobrodošli</string>
|
||||
<string name="shared_string_authorization_descr">Unesite vaš telefonski broj Telegrama u međunarodnom formatu</string>
|
||||
<string name="shared_string_authorization">Autorizacija</string>
|
||||
<string name="active_chats">Aktivna ćaskanja</string>
|
||||
<string name="show_users_on_map">Prikažite korisnike na mapi</string>
|
||||
<string name="install_osmand">Instalirajte OsmAnd</string>
|
||||
<string name="install_osmand_dialog_message">Prvo morate instalirati besplatnu ili plaćenu verziju OsmAnda</string>
|
||||
<string name="osmand_logo">Logo OsmAnda</string>
|
||||
<string name="process_service">Usluga OsmAnd Pratioca</string>
|
||||
<string name="sharing_location">Deljenje lokacije</string>
|
||||
<string name="share_location">Deli lokaciju</string>
|
||||
<string name="shared_string_distance">Rastojanje</string>
|
||||
<string name="osmand_service_descr">OsmAnd Pratioc radi u pozadini sa isključenim ekranom.</string>
|
||||
<string name="location_service_no_gps_available">Izaberite jednog od dobavljača lokacije da bi deliti vašu lokaciju.</string>
|
||||
<string name="gps_not_available">Uključite „Lokaciju“ u sistemskim podešavanjima</string>
|
||||
<string name="no_location_permission">Aplikaciji nedostaje dozvola za pristup podacima o lokaciji.</string>
|
||||
<string name="not_logged_in">Niste prijavljeni</string>
|
||||
<string name="gps_network_not_enabled">Uključiti „Lokaciju“\?</string>
|
||||
<string name="closing">Zatvaranje</string>
|
||||
<string name="logging_out">Odjavljivanje</string>
|
||||
<string name="initialization">Pokretanje</string>
|
||||
<string name="shared_string_logout">Odjaviti se</string>
|
||||
<string name="shared_string_login">Prijavite se</string>
|
||||
<string name="password_descr">Telegram lozinka</string>
|
||||
<string name="enter_password">Unesite lozinku</string>
|
||||
<string name="authentication_code_descr">Telegram vam je poslao kod za OsmAnd radi prijave na vaš nalog.</string>
|
||||
<string name="authentication_code">Validacioni kod</string>
|
||||
<string name="enter_code">Unesite kod</string>
|
||||
<string name="shared_string_password">Lozinka</string>
|
||||
<string name="phone_number_descr">Broj telefona u međunarodnom formatu</string>
|
||||
<string name="phone_number_title">Broj telefona</string>
|
||||
<string name="app_name">OsmAnd Onlajn GPS Pratioc</string>
|
||||
<string name="show_on_map">Prikaži na mapi</string>
|
||||
<string name="start_location_sharing">Deli lokaciju</string>
|
||||
<string name="my_location_search_hint">Pretražite: Grupu ili kontakt</string>
|
||||
<string name="location_sharing_description">Izaberite kontakte i grupe sa kojima želite da delite lokaciju.</string>
|
||||
<string name="set_time">Podesite vreme</string>
|
||||
<string name="set_time_description">Podesite vreme za koji će izabrani kontakti i grupe videti vašu lokaciju u realnom vremenu.</string>
|
||||
<string name="visible_time_for_all">Vidljivo vreme za sve</string>
|
||||
<string name="hours_format">%1$ č</string>
|
||||
<string name="minutes_format">%1$ m</string>
|
||||
<string name="hours_and_minutes_format">%1$ č %2$ m</string>
|
||||
<string name="set_visible_time_for_all">Podesite vidljivo vreme za sve</string>
|
||||
<string name="enter_authentication_code">Unesite kod za validaciju</string>
|
||||
<string name="enter_phone_number">Unesite broj telefona</string>
|
||||
<string name="do_not_have_telegram">Nemam Telegram nalog</string>
|
||||
<string name="already_registered_in_telegram">Potreban vam je registrovani Telegram nalog i broj telefona</string>
|
||||
<string name="get_telegram_after_creating_account">Tada možete da koristite ovu aplikaciju.</string>
|
||||
<string name="get_telegram_description_continue">Instalirajte Telegram i otvorite nalog.</string>
|
||||
<string name="get_telegram_account_first">Za deljenje lokacije potreban vam je Telegram nalog.</string>
|
||||
<string name="get_telegram_title">Registracija u Telegramu</string>
|
||||
<string name="shared_string_bot">Bot</string>
|
||||
<string name="shared_string_live">Uživo</string>
|
||||
<string name="open_osmand">Otvori OsmAnd</string>
|
||||
<string name="turn_off_location_sharing">Isključite deljenje lokacije</string>
|
||||
<string name="stop_sharing_all">Deljenje je uključeno (isključite)</string>
|
||||
<string name="expire_at">Ističe</string>
|
||||
<string name="sharing_time">Vreme deljenja</string>
|
||||
<string name="gps_and_location">Pozicija</string>
|
||||
<string name="send_my_location">Pošalji moju lokaciju</string>
|
||||
<string name="send_my_location_desc">Podesite minimalni interval za deljenje lokacije.</string>
|
||||
<string name="stale_location">Nepomičan</string>
|
||||
<string name="stale_location_desc">Poslednji put kada se kontakt pomerio.</string>
|
||||
<string name="location_history">Istorija lokacije</string>
|
||||
<string name="location_history_desc">Sakrijte kontakte koji se nisu pomerili u datom vremenu.</string>
|
||||
<string name="osmand_connect">Osmand veza</string>
|
||||
<string name="osmand_connect_desc">Odaberite verziju OsmAnda koju OsmAnd pratioc koristi za prikazivanje pozicija.</string>
|
||||
<string name="in_time">u %1$</string>
|
||||
<string name="shared_string_account">Nalog</string>
|
||||
<string name="connected_account">Povezani nalog</string>
|
||||
<string name="logout_help_desc">Kako isključiti OsmAnd pratioca iz Telegrama</string>
|
||||
<string name="disconnect_from_telegram">Kako isključiti OsmAnd pratioca iz Telegrama</string>
|
||||
<string name="disconnect_from_telegram_desc">Da biste opozvali pristup deljenju lokacije. Otvorite Telegram, idite na Podešavanja → Privatnost i bezbednost → Sesije i prekinete sesiju OsmAnd pratioca.</string>
|
||||
<string name="logout_no_internet_msg">Povežite se na Internet kako biste se pravilno odjavili iz Telegrama.</string>
|
||||
<string name="shared_string_group">Grupa</string>
|
||||
<string name="last_response">Poslednji odgovor</string>
|
||||
<string name="time_ago">pre</string>
|
||||
<string name="turn_off_all">Isključi sve</string>
|
||||
<string name="disable_all_sharing">Onemogući svako deljenje</string>
|
||||
<string name="disable_all_sharing_desc">Isključuje deljenje lokacije prema svim izabranim čatovima (%1$).</string>
|
||||
<string name="choose_osmand">Izaberite verziju OsmAnda koju želite da koristite</string>
|
||||
<string name="choose_osmand_desc">Izaberite verziju OsmAnda gde će se kontakti prikazati na mapi.</string>
|
||||
<string name="shared_string_sort_by">Sortiraj po</string>
|
||||
<string name="by_group">Po grupi</string>
|
||||
<string name="by_name">Po imenu</string>
|
||||
<string name="by_distance">Po udaljenosti</string>
|
||||
<string name="logout_from_osmand_telegram">Odjaviti se sa OsmAnd pratioca\?</string>
|
||||
<string name="logout_from_osmand_telegram_descr">Jeste li sigurni da se želite odjaviti sa OsmAnd pratioca tako da ne možete da delite lokaciju ili vidite lokaciju drugih\?</string>
|
||||
<string name="live_now_description">Kontakti i grupe dele lokaciju vama.</string>
|
||||
<string name="share_location_as">Deljenje lokacije kao</string>
|
||||
<string name="add_device">Dodajte uređaj</string>
|
||||
<string name="no_internet_connection">Nema internet konekcije</string>
|
||||
<string name="no_gps_connection">Nema GPS veze</string>
|
||||
<string name="location_sharing_status">Deljenje: %1$</string>
|
||||
<string name="sharing_status">Deljenje statusa</string>
|
||||
<string name="last_available_location">Poslednja dostupna lokacija</string>
|
||||
<string name="re_send_location">Ponovo pošalji lokaciju</string>
|
||||
<string name="not_found_yet">Još nije pronađeno</string>
|
||||
<string name="not_sent_yet">Još nije poslato</string>
|
||||
<string name="shared_string_later">Kasnije</string>
|
||||
<string name="go_to_settings">Idi na Podešavanja</string>
|
||||
<string name="sharing_in_background">Deljenje u pozadini</string>
|
||||
<string name="battery_optimization_description">Isključite optimizaciju baterije za OsmAnd pratilac tako da se ne isključi iznenada kad je u pozadini.</string>
|
||||
<string name="background_work">Rad u pozadini</string>
|
||||
<string name="background_work_description">Promenite podešavanja za optimizaciju baterije da biste stabilizovali deljenje lokacije.</string>
|
||||
<string name="connecting_to_the_internet">Povezivanje sa Internetom</string>
|
||||
<string name="searching_for_gps">Pozicioniranje…</string>
|
||||
<string name="initializing">Pokretanje</string>
|
||||
<string name="sending_location_messages">Lokacija se šalje</string>
|
||||
<string name="waiting_for_response_from_telegram">Čeka se odgovor iz Telegrama</string>
|
||||
<string name="not_possible_to_send_to_telegram_chats">Nije moguće poslati u Telegram četove:</string>
|
||||
<string name="successfully_sent_and_updated">Uspešno poslato i ažurirano</string>
|
||||
<string name="last_updated_location">Poslednja ažurirana lokacija:</string>
|
||||
<string name="share_location_as_description">Ako želite da povežete više uređaja sa jednim nalogom telegrama, trebate koristiti drugi uređaj da bi delili vašu lokaciju.</string>
|
||||
<string name="share_location_as_description_second_line">Možete da kreirate i vidite ID uređaja u telegram klijentu koristeći %1$ čat bot. %2$</string>
|
||||
<string name="device_name">Ime uređaja</string>
|
||||
<string name="device_name_cannot_be_empty">Ime uređaja ne može biti prazno</string>
|
||||
<string name="device_name_is_too_long">Ime uređaja predugo</string>
|
||||
<string name="enter_device_name_description">Imenujte vaš novi uređaj sa maksimalno 200 simbola.</string>
|
||||
<string name="error_adding_new_device">Nije moguće dodati novi uređaj</string>
|
||||
<string name="device_added_successfully">%1$ dodato.</string>
|
||||
<string name="enter_another_device_name">Izaberite ime koje niste već koristili</string>
|
||||
<string name="last_update_from_telegram">Poslednje ažuriranje od Telegrama</string>
|
||||
<string name="map_and_text">Mapa i tekst</string>
|
||||
<string name="shared_string_text">Tekst</string>
|
||||
<string name="send_location_as_descr">Odaberite kako će izgledati poruke sa vašom lokacijom.</string>
|
||||
<string name="send_location_as">Pošalji lokaciju kao</string>
|
||||
<string name="start_date">Početni datum</string>
|
||||
<string name="end_date">Krajnji datum</string>
|
||||
<string name="open_in_osmand">Prikaži u OsmAndu</string>
|
||||
<string name="time_on_the_move">Vreme kretanja</string>
|
||||
<string name="monitoring_is_disabled">Praćenje je onemogućeno</string>
|
||||
<string name="monitoring_is_enabled">Praćenje je omogućeno</string>
|
||||
<string name="shared_string_sent">Poslato</string>
|
||||
<string name="gps_points">GPS tačke</string>
|
||||
<string name="shared_string_collected">Prikupljeno</string>
|
||||
<string name="shared_string_date">Datum</string>
|
||||
<string name="points_size">%1$ tačaka</string>
|
||||
<string name="gps_points_in_buffer">poslato (%1$ u baferu)</string>
|
||||
<string name="please_update_osmand">Ažurirajte OsmAnd da biste videli podatke na mapi</string>
|
||||
<string name="show_gps_points_descr">Prikaži količinu prikupljenih i poslatih GPS tačaka.</string>
|
||||
<string name="show_gps_points">Pokaži GPS tačke</string>
|
||||
<string name="received_gps_points">Primljene GPKS tačke: %1$</string>
|
||||
<string name="how_it_works">Kako radi</string>
|
||||
<string name="osmand_privacy_policy">OsmAnd politika privatnosti</string>
|
||||
<string name="telegram_privacy_policy">Politika privatnosti Telegrama</string>
|
||||
<string name="shared_string_accept">Prihvati</string>
|
||||
<string name="privacy_policy_agree">Klikom na „Nastavi“ prihvatate uslove politike privatnosti Telegrama i OsmAnda.</string>
|
||||
<string name="privacy_policy_telegram_client">OsmAnd pratilac je jedan od klijenata koji koriste otvorenu platformu Telegram. Vaši kontakti mogu da koriste bilo koji drugi Telegram klijent.</string>
|
||||
<string name="privacy_policy_use_telegram">Telegram (aplikacija za razmenu poruka) koristi se za povezivanje i komunikaciju sa ljudima.</string>
|
||||
<string name="shared_string_telegram">Telegram</string>
|
||||
<string name="app_name_short">OsmAnd pratilac</string>
|
||||
<string name="timeline_description">Omogućite praćenje da biste sačuvali sve lokacije u istoriji.</string>
|
||||
<string name="location_recording_enabled">Snimanje lokacije omogućeno</string>
|
||||
<string name="disable_monitoring">Onemogućite praćenje</string>
|
||||
<string name="timeline_available_for_free_now">Vremenska linija je funkcija koja je sada dostupna besplatno.</string>
|
||||
<string name="type_contact_or_group_name">Unesite ime kontakta ili grupe</string>
|
||||
<string name="search_contacts_descr">Pretraga po svim vašim grupama i kontaktima.</string>
|
||||
<string name="search_contacts">Pretraga kontakta</string>
|
||||
<string name="bearing">Usmerenje</string>
|
||||
<string name="precision">Preciznost</string>
|
||||
<string name="direction">Smer</string>
|
||||
<string name="privacy">Privatnost</string>
|
||||
<string name="proxy">Proksi</string>
|
||||
<string name="proxy_settings">Podešavanja proksija</string>
|
||||
<string name="proxy_disconnected">Prekinut</string>
|
||||
<string name="proxy_connected">Povezan</string>
|
||||
<string name="proxy_type">Tip proksija</string>
|
||||
<string name="shared_string_connection">Veza</string>
|
||||
<string name="proxy_server">Server</string>
|
||||
<string name="proxy_port">Port</string>
|
||||
<string name="proxy_credentials">Akreditivi</string>
|
||||
<string name="proxy_username">Korisničko ime</string>
|
||||
<string name="proxy_password">Lozinka</string>
|
||||
<string name="proxy_key">Ključ</string>
|
||||
<string name="gpx_settings">GPX podešavanja</string>
|
||||
<string name="min_logging_speed_descr">Filter: nema zapisivanja ispod odabrane brzine</string>
|
||||
<string name="min_logging_speed">Minimalna brzina zapisivanja</string>
|
||||
<string name="min_logging_accuracy_descr">Filter: Nema zapisa dok se ne dostigne ova tačnost</string>
|
||||
<string name="min_logging_accuracy">Minimalna tačnost evidentiranja</string>
|
||||
<string name="min_logging_distance_descr">Filter: minimalna udaljenost za evidentiranje nove tačke</string>
|
||||
<string name="min_logging_distance">Minimalna udaljenost evidentiranja</string>
|
||||
<string name="timeline_no_data">Nema podataka</string>
|
||||
<string name="timeline_no_data_descr">Nemamo prikupljene podatke za izabrani dan</string>
|
||||
<string name="start_end_date">Početni — Krajnji datum</string>
|
||||
<string name="set_time_timeline_descr">Izaberite vreme za prikaz</string>
|
||||
<string name="shared_string_start">Početak</string>
|
||||
<string name="shared_string_end">Kraj</string>
|
||||
<string name="saved_messages">Sačuvane poruke</string>
|
||||
<string name="unit_of_speed_system">Jedinica brzine</string>
|
||||
<string name="unit_of_speed_system_descr">Definišite jedinicu brzine.</string>
|
||||
<string name="time_zone">Vremenska zona</string>
|
||||
<string name="time_zone_descr">Izaberite vremensku zonu koja će se prikazati u porukama lokacije.</string>
|
||||
<string name="buffer_time">Vreme isteka bafera</string>
|
||||
<string name="buffer_time_descr">Maksimalno vreme za skladištenje tačaka u bafer</string>
|
||||
<string name="status_widget_title">Status Tragača OsmAnda</string>
|
||||
<string name="shared_string_suggested">Predloženo</string>
|
||||
<string name="back_to_osmand">Povratak na OsmAnd</string>
|
||||
<string name="duration_ago">Pre %1$</string>
|
||||
<string name="last_response_duration">Poslednji odgovor: pre %1$</string>
|
||||
<string name="last_update_from_telegram_duration">Poslednje ažuriranje iz Telegrama: pre %1$</string>
|
||||
<string name="last_response_date">Poslednji odgovor: %1$</string>
|
||||
<string name="last_update_from_telegram_date">Poslednje ažuriranje iz Telegrama: %1$</string>
|
||||
<string name="shared_string_error_short">Greška</string>
|
||||
<string name="shared_string_export">Izvezi</string>
|
||||
<string name="logcat_buffer">Logcat bafer</string>
|
||||
<string name="logcat_buffer_descr">Proverite i podelite detaljne zapise aplikacije</string>
|
||||
<string name="send_report">Pošalji izveštaj</string>
|
||||
</resources>
|
|
@ -82,7 +82,7 @@
|
|||
<string name="no_location_permission">Der App fehlt die Berechtigung, auf Standortdaten zuzugreifen.</string>
|
||||
<string name="gps_not_available">Bitte schalten Sie \"Standort\" in den Systemeinstellungen ein</string>
|
||||
<string name="osmand_service">Hintergrundmodus</string>
|
||||
<string name="osmand_service_descr">OsmAnd Tracker läuft bei ausgeschaltetem Bildschirm im Hintergrund.</string>
|
||||
<string name="osmand_service_descr">OsmAnd Tracker läuft im Hintergrund bei ausgeschaltetem Bildschirm.</string>
|
||||
<string name="shared_string_distance">Distanz</string>
|
||||
<string name="share_location">Standort teilen</string>
|
||||
<string name="process_service">OsmAnd Tracker-Service</string>
|
||||
|
|
|
@ -53,5 +53,4 @@
|
|||
<string name="si_km_m">Χιλιόμετρα/μέτρα</string>
|
||||
<string name="unit_of_length_descr">Αλλαγή απόστασης που μετριέται.</string>
|
||||
<string name="unit_of_length">Μονάδες μήκους</string>
|
||||
<string name="shared_string_sort_by">Ταξινόμηση κατά</string>
|
||||
</resources>
|
|
@ -1,146 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="average_altitude">Mezuma altitudo</string>
|
||||
<string name="how_it_works">Kiel ĝi funkcias</string>
|
||||
<string name="proxy_disconnected">Ne konektita</string>
|
||||
<string name="proxy_connected">Konektita</string>
|
||||
<string name="altitude">Altitudo</string>
|
||||
<string name="precision">Precizeco</string>
|
||||
<string name="privacy">Privateco</string>
|
||||
<string name="shared_string_settings">Agordoj</string>
|
||||
<string name="shared_string_cancel">Nuligi</string>
|
||||
<string name="shared_string_continue">Daŭrigi</string>
|
||||
<string name="osmand_logo">emblemo de OsmAnd</string>
|
||||
<string name="saved_messages">Konservitaj mesaĝoj</string>
|
||||
<string name="shared_string_second_short">s</string>
|
||||
<string name="shared_string_minute_short">min</string>
|
||||
<string name="shared_string_hour_short">h</string>
|
||||
<string name="si_mi_meters">Mejloj/metroj</string>
|
||||
<string name="si_min_m">Minutoj en mejlo</string>
|
||||
<string name="si_min_km">Minutoj en kilometro</string>
|
||||
<string name="si_m_s">Metroj en sekundo</string>
|
||||
<string name="si_mph">Mejloj en horo</string>
|
||||
<string name="si_kmh">Kilometroj en horo</string>
|
||||
<string name="km_h">km/h</string>
|
||||
<string name="m_s">m/s</string>
|
||||
<string name="si_nm">Marmejloj</string>
|
||||
<string name="si_km_m">Kilometroj/metroj</string>
|
||||
<string name="si_mi_yard">Mejloj/jardoj</string>
|
||||
<string name="si_mi_feet">Mejloj/futoj</string>
|
||||
<string name="share_location">Kunhavigi lokon</string>
|
||||
<string name="shared_string_distance">Distanco</string>
|
||||
<string name="shared_string_welcome">Bonvenon</string>
|
||||
<string name="m">m</string>
|
||||
<string name="km">km</string>
|
||||
<string name="nm">nmi</string>
|
||||
<string name="min_mile">min/m</string>
|
||||
<string name="min_km">min/km</string>
|
||||
<string name="my_location">Mia loko</string>
|
||||
<string name="start_date">Komenca dato</string>
|
||||
<string name="end_date">Fina dato</string>
|
||||
<string name="send_location_as">Sendi lokon kiel</string>
|
||||
<string name="shared_string_hide">Kaŝi</string>
|
||||
<string name="device_name">Nomo de aparato</string>
|
||||
<string name="shared_string_add">Aldoni</string>
|
||||
<string name="map_and_text">Mapo kaj teksto</string>
|
||||
<string name="shared_string_text">Teksto</string>
|
||||
<string name="shared_string_map">Mapo</string>
|
||||
<string name="shared_string_date">Dato</string>
|
||||
<string name="shared_string_accept">Akcepti</string>
|
||||
<string name="shared_string_telegram">Telegram</string>
|
||||
<string name="shared_string_ok">Bone</string>
|
||||
<string name="shared_string_search">Serĉi</string>
|
||||
<string name="direction">Direkto</string>
|
||||
<string name="shared_string_enable">Ŝalti</string>
|
||||
<string name="shared_string_connection">Konekto</string>
|
||||
<string name="timeline_no_data">Neniu dateno</string>
|
||||
<string name="proxy_server">Servilo</string>
|
||||
<string name="proxy_port">Pordo</string>
|
||||
<string name="proxy_username">Salutnomo</string>
|
||||
<string name="proxy_password">Pasvorto</string>
|
||||
<string name="proxy_key">Ŝlosilo</string>
|
||||
<string name="shared_string_select">Elekti</string>
|
||||
<string name="shared_string_start">Komenco</string>
|
||||
<string name="shared_string_end">Fino</string>
|
||||
<string name="time_zone">Horzono</string>
|
||||
<string name="send_report">Sendi raporton</string>
|
||||
<string name="search_contacts">Serĉi kontaktojn</string>
|
||||
<string name="bearing">Direkto</string>
|
||||
<string name="proxy_settings">Agordoj pri la Retperanto</string>
|
||||
<string name="proxy_type">Tipo de retperanto</string>
|
||||
<string name="units_and_formats">Mezurunuoj & formoj</string>
|
||||
<string name="shared_string_export">Elporti</string>
|
||||
<string name="points_size">%1$d punktoj</string>
|
||||
<string name="shared_string_appearance">Aspekto</string>
|
||||
<string name="telegram_privacy_policy">Reguloj pri Privateco de Telegram</string>
|
||||
<string name="osmand_privacy_policy">Reguloj pri Privateco de OsmAnd</string>
|
||||
<string name="shared_string_update">Ĝisdatigi</string>
|
||||
<string name="shared_string_collected">Kolektita</string>
|
||||
<string name="open_in_osmand">Montri per OsmAnd</string>
|
||||
<string name="background_work">Fona laboro</string>
|
||||
<string name="no_internet_connection">Sen interreta konekto</string>
|
||||
<string name="shared_string_status">Stato</string>
|
||||
<string name="proxy">Retperanto</string>
|
||||
<string name="gpx_settings">Agordoj pri GPX</string>
|
||||
<string name="start_end_date">Komenca – Fina datoj</string>
|
||||
<string name="unit_of_speed_system_descr">Difinu la mezurunuon de rapido.</string>
|
||||
<string name="unit_of_length">Mezurunuoj de longo</string>
|
||||
<string name="unit_of_speed_system">Mezurunuo de rapido</string>
|
||||
<string name="shared_string_error_short">ERARO</string>
|
||||
<string name="back_to_osmand">Reen al OsmAnd</string>
|
||||
<string name="duration_ago">antaŭ %1$s</string>
|
||||
<string name="last_response_duration">Lasta respondo: antaŭ %1$s</string>
|
||||
<string name="last_update_from_telegram_duration">Lasta ĝisdatigo de Telegram: antaŭ %1$s</string>
|
||||
<string name="last_update_from_telegram_date">Lasta ĝisdatigo de Telegram: %1$s</string>
|
||||
<string name="last_response_date">Lasta respondo: %1$s</string>
|
||||
<string name="show_users_on_map">Montri uzantojn sur la mapo</string>
|
||||
<string name="install_osmand">Instali OsmAnd</string>
|
||||
<string name="shared_string_suggested">Sugestataj</string>
|
||||
<string name="average_speed">Mezuma rapido</string>
|
||||
<string name="shared_string_back">Reen</string>
|
||||
<string name="shared_string_share">Kunhavigi</string>
|
||||
<string name="shared_string_install">Instali</string>
|
||||
<string name="phone_number_descr">Telefonnumero en internacia formo</string>
|
||||
<string name="phone_number_title">Telefonnumero</string>
|
||||
<string name="shared_string_password">Pasvorto</string>
|
||||
<string name="nm_h">kn</string>
|
||||
<string name="mile">mi</string>
|
||||
<string name="foot">ft</string>
|
||||
<string name="yard">yd</string>
|
||||
<string name="mile_per_hour">mi/h</string>
|
||||
<string name="si_nm_h">Marmejloj en horo (nodoj)</string>
|
||||
<string name="shared_string_sort_by">Ordigi laŭ</string>
|
||||
<string name="shared_string_sort">Ordigi</string>
|
||||
<string name="by_group">Laŭ grupo</string>
|
||||
<string name="by_name">Laŭ nomo</string>
|
||||
<string name="by_distance">Laŭ distanco</string>
|
||||
<string name="shared_string_name">Nomo</string>
|
||||
<string name="shared_string_enabled">Aktiva</string>
|
||||
<string name="connecting_to_the_internet">Konektante al Interreto</string>
|
||||
<string name="initializing">Komencante</string>
|
||||
<string name="sending_location_messages">Sendante lokon</string>
|
||||
<string name="password_descr">Pasvorto de Telegram</string>
|
||||
<string name="enter_password">Tajpu pasvorton</string>
|
||||
<string name="show_on_map">Montri sur mapo</string>
|
||||
<string name="hours_format">%1$d h</string>
|
||||
<string name="minutes_format">%1$d min</string>
|
||||
<string name="hours_and_minutes_format">%1$d h %2$d min</string>
|
||||
<string name="shared_string_sent">Sendita</string>
|
||||
<string name="not_logged_in">Vi ne estas salutinta</string>
|
||||
<string name="closing">Fermante</string>
|
||||
<string name="logging_out">Adiaŭante</string>
|
||||
<string name="initialization">Lanĉante</string>
|
||||
<string name="shared_string_logout">Adiaŭi</string>
|
||||
<string name="shared_string_login">Saluti</string>
|
||||
<string name="osmand_service">Fona reĝimo</string>
|
||||
<string name="shared_string_off">Malaktiva</string>
|
||||
<string name="shared_string_all">Ĉiuj</string>
|
||||
<string name="shared_string_close">Fermi</string>
|
||||
<string name="shared_string_exit">Eliri</string>
|
||||
<string name="shared_string_save">Konservi</string>
|
||||
<string name="shared_string_disable">Malaktivigi</string>
|
||||
<string name="shared_string_apply">Apliki</string>
|
||||
<string name="unit_of_length_descr">Ŝanĝi unuojn por reprezenti distancoj.</string>
|
||||
<string name="logcat_buffer">Bufro logcat</string>
|
||||
<string name="logcat_buffer_descr">Legi kaj kunhavigi detalajn protokolojn de la aplikaĵo</string>
|
||||
</resources>
|
|
@ -237,7 +237,7 @@
|
|||
<string name="not_possible_to_send_to_telegram_chats">Impossible d\'envoyer dans les discussions Telegram :</string>
|
||||
<string name="successfully_sent_and_updated">Envoyé et mis à jour avec succès</string>
|
||||
<string name="last_updated_location">Dernière position mise à jour :</string>
|
||||
<string name="share_location_as_description">Si vous souhaitez connecter plusieurs appareils à un même compte Telegram, vous devez partager votre position depuis chaque appareil.</string>
|
||||
<string name="share_location_as_description">Si vous voulez connecter plusieurs appareils à un même compte Telegram, vous devez utiliser un appareil différent pour partager votre position.</string>
|
||||
<string name="share_location_as_description_second_line">Vous pouvez créer et visualiser l\'identifiant du périphérique dans le client Telegram en utilisant le chat-bot %1$s. %2$s</string>
|
||||
<string name="enter_device_name_description">Nommez votre nouveau périphérique en max 200 symboles.</string>
|
||||
<string name="enter_another_device_name">Choisissez un nom que vous n\'avez pas encore utilisé</string>
|
||||
|
@ -266,7 +266,7 @@
|
|||
<string name="location_history_desc">Cacher les contacts qui ne se sont pas déplacés depuis un temps donné.</string>
|
||||
<string name="set_time_description">Définissez l\'heure à laquelle les contacts et groupes sélectionnés verront votre position en temps réel.</string>
|
||||
<string name="osmand_connect">OsmAnd connect</string>
|
||||
<string name="time_ago">il y a</string>
|
||||
<string name="time_ago">depuis</string>
|
||||
<string name="logcat_buffer">Buffer Logcat</string>
|
||||
<string name="logcat_buffer_descr">Vérifier et partager les logs détaillés de l\'application</string>
|
||||
<string name="shared_string_export">Exporter</string>
|
||||
|
|
|
@ -109,7 +109,7 @@
|
|||
<string name="get_telegram_description_continue">Kérjük, telepítse a Telegramot és hozzon létre egy fiókot.</string>
|
||||
<string name="get_telegram_after_creating_account">Utána használhatja ezt az alkalmazást.</string>
|
||||
<string name="shared_string_all">Minden</string>
|
||||
<string name="shared_string_off">Kikapcsolva</string>
|
||||
<string name="shared_string_off">Kikapcsolás</string>
|
||||
<string name="hours_and_minutes_format">%1$d óra %2$d perc</string>
|
||||
<string name="minutes_format">%1$d perc</string>
|
||||
<string name="shared_string_install">Telepítés</string>
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
<string name="proxy_port">ポート</string>
|
||||
<string name="proxy_server">サーバー</string>
|
||||
<string name="shared_string_connection">接続</string>
|
||||
<string name="shared_string_enable">有効化</string>
|
||||
<string name="shared_string_enable">有効</string>
|
||||
<string name="proxy_type">プロキシタイプ</string>
|
||||
<string name="proxy_connected">接続しました</string>
|
||||
<string name="proxy_disconnected">切断しました</string>
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
<resources>
|
||||
<string name="timeline_no_data">Sem dados</string>
|
||||
<string name="shared_string_select">Selecionar</string>
|
||||
<string name="min_logging_distance">Distância mínima de registo</string>
|
||||
<string name="min_logging_distance_descr">Filtro: distância mínima para registar um novo ponto</string>
|
||||
<string name="min_logging_accuracy">Precisão mínima de registo</string>
|
||||
<string name="min_logging_accuracy_descr">Filtro: sem registo, a não ser que seja atingida a precisão</string>
|
||||
<string name="min_logging_speed">Velocidade mínima de registo</string>
|
||||
<string name="min_logging_speed_descr">Filtro: sem registo abaixo da velocidade selecionada</string>
|
||||
<string name="min_logging_distance">Distância mínima de registro</string>
|
||||
<string name="min_logging_distance_descr">Filtro: distância mínima para registrar um novo ponto</string>
|
||||
<string name="min_logging_accuracy">Precisão mínima de registro</string>
|
||||
<string name="min_logging_accuracy_descr">Filtro: sem registro, a menos que a precisão seja atingida</string>
|
||||
<string name="min_logging_speed">Velocidade mínima de registro</string>
|
||||
<string name="min_logging_speed_descr">Filtro: sem registro abaixo da velocidade selecionada</string>
|
||||
<string name="proxy_password">Palavra-passe</string>
|
||||
<string name="proxy_username">Nome de utilizador</string>
|
||||
<string name="shared_string_enable">Ativar</string>
|
||||
|
@ -16,7 +16,7 @@
|
|||
<string name="altitude">Altitude</string>
|
||||
<string name="shared_string_search">Pesquisar</string>
|
||||
<string name="shared_string_ok">Ok</string>
|
||||
<string name="app_name_short">OsmAnd Tracker</string>
|
||||
<string name="app_name_short">Rastreador OsmAnd</string>
|
||||
<string name="shared_string_telegram">Telegram</string>
|
||||
<string name="shared_string_appearance">Aparência</string>
|
||||
<string name="shared_string_update">Atualizar</string>
|
||||
|
@ -35,13 +35,13 @@
|
|||
<string name="shared_string_end">Fim</string>
|
||||
<string name="shared_string_start">Iniciar</string>
|
||||
<string name="shared_string_apply">Aplicar</string>
|
||||
<string name="set_time_timeline_descr">Selecionar a hora de visualização</string>
|
||||
<string name="set_time_timeline_descr">Selecionar a hora para exibir</string>
|
||||
<string name="start_end_date">Data de início - fim</string>
|
||||
<string name="timeline_no_data_descr">Não temos dados recolhidos para o dia selecionado</string>
|
||||
<string name="timeline_no_data_descr">Não coletamos dados para o dia selecionado</string>
|
||||
<string name="gpx_settings">Configurações de GPX</string>
|
||||
<string name="proxy_key">Chave</string>
|
||||
<string name="proxy_credentials">Credenciais</string>
|
||||
<string name="proxy_port">Porta</string>
|
||||
<string name="proxy_port">Port</string>
|
||||
<string name="proxy_server">Servidor</string>
|
||||
<string name="shared_string_connection">Conexão</string>
|
||||
<string name="proxy_type">Tipo de proxy</string>
|
||||
|
@ -50,16 +50,16 @@
|
|||
<string name="proxy_settings">Configurações de proxy</string>
|
||||
<string name="proxy">Proxy</string>
|
||||
<string name="precision">Precisão</string>
|
||||
<string name="bearing">Rumo</string>
|
||||
<string name="search_contacts">Pesquisar contactos</string>
|
||||
<string name="search_contacts_descr">Pesquise em todos os seus grupos e contactos.</string>
|
||||
<string name="type_contact_or_group_name">Digite o nome do contacto ou do grupo</string>
|
||||
<string name="bearing">Rolamento</string>
|
||||
<string name="search_contacts">Pesquisar contatos</string>
|
||||
<string name="search_contacts_descr">Pesquise em todos os seus grupos e contatos.</string>
|
||||
<string name="type_contact_or_group_name">Digite o nome do contato ou do grupo</string>
|
||||
<string name="timeline_available_for_free_now">Linha do tempo é um recurso disponível agora gratuitamente.</string>
|
||||
<string name="disable_monitoring">Desativar monitorização</string>
|
||||
<string name="disable_monitoring">Desativar monitoramento</string>
|
||||
<string name="location_recording_enabled">Gravação de localização ativada</string>
|
||||
<string name="timeline_description">Ative a monitorização para gravar todos os locais no histórico.</string>
|
||||
<string name="privacy_policy_use_telegram">O Telegram (a aplicação de mensagens) é usado para conectar e comunicar com outras pessoas.</string>
|
||||
<string name="privacy_policy_telegram_client">OsmAnd Tracker é um dos clientes que usam a Plataforma aberta do Telegram. Os seus contactos podem usar qualquer outro cliente Telegram.</string>
|
||||
<string name="timeline_description">Ative o monitoramento para gravar todos os locais no histórico.</string>
|
||||
<string name="privacy_policy_use_telegram">Telegram (a app de mensagens) é usado para conectar e comunicar com as pessoas.</string>
|
||||
<string name="privacy_policy_telegram_client">OsmAnd tracker é um dos clientes que usam a Plataforma aberta do Telegram . Seus contatos podem usar qualquer outro cliente Telegram.</string>
|
||||
<string name="privacy_policy_agree">Ao clicar em \"Continuar\" concorda com as condições da política de privacidade do Telegram e OsmAnd.</string>
|
||||
<string name="shared_string_accept">Aceitar</string>
|
||||
<string name="telegram_privacy_policy">Política de privacidade do Telegram</string>
|
||||
|
@ -67,68 +67,68 @@
|
|||
<string name="how_it_works">Como funciona</string>
|
||||
<string name="received_gps_points">Pontos GPX recebidos: %1$s</string>
|
||||
<string name="show_gps_points">Mostrar pontos de GPS</string>
|
||||
<string name="show_gps_points_descr">Mostrar quantidade de pontos de GPS recolhidos e enviados.</string>
|
||||
<string name="show_gps_points_descr">Mostrar quantidade de pontos de GPS coletados e enviados.</string>
|
||||
<string name="please_update_osmand">Por favor, atualize o OsmAnd para ver os dados no mapa</string>
|
||||
<string name="gps_points_in_buffer">enviado (%1$d em buffer)</string>
|
||||
<string name="points_size">%1$d pontos</string>
|
||||
<string name="shared_string_collected">Recolhidos</string>
|
||||
<string name="shared_string_collected">Coletado</string>
|
||||
<string name="gps_points">Pontos de GPS</string>
|
||||
<string name="shared_string_sent">Enviado</string>
|
||||
<string name="monitoring_is_enabled">A monitorização está ativada</string>
|
||||
<string name="monitoring_is_disabled">A monitorização está desativada</string>
|
||||
<string name="monitoring_is_enabled">Monitoramento está ativado</string>
|
||||
<string name="monitoring_is_disabled">Monitoramento está desativado</string>
|
||||
<string name="open_in_osmand">Mostrar no OsmAnd</string>
|
||||
<string name="end_date">Data de fim</string>
|
||||
<string name="end_date">Data final</string>
|
||||
<string name="send_location_as">Enviar localização como</string>
|
||||
<string name="send_location_as_descr">Escolha a forma como as mensagens com a sua localização serão mostradas.</string>
|
||||
<string name="send_location_as_descr">Escolha como as mensagens com sua localização serão exibidas.</string>
|
||||
<string name="map_and_text">Mapa e texto</string>
|
||||
<string name="last_update_from_telegram">Última atualização do Telegram</string>
|
||||
<string name="enter_another_device_name">Escolha um nome que ainda não usou</string>
|
||||
<string name="device_added_successfully">%1$s adicionado.</string>
|
||||
<string name="error_adding_new_device">Não foi possível adicionar o novo dispositivo</string>
|
||||
<string name="enter_device_name_description">Atribua um nome a seu novo dispositivo com o máximo de 200 caracteres.</string>
|
||||
<string name="device_name_is_too_long">Nome do dispositivo muito longo</string>
|
||||
<string name="device_name_cannot_be_empty">O nome do dispositivo não pode estar vazio</string>
|
||||
<string name="device_name">Nome do dispositivo</string>
|
||||
<string name="share_location_as_description_second_line">Pode criar e visualizar o ID do dispositivo no cliente de Telegram usando o robô de bate-papo %1$s. %2$s</string>
|
||||
<string name="share_location_as_description">Se quer conectar vários dispositivos a uma conta no Telegram, é necessário usar um dispositivo diferente para partilhar a sua localização.</string>
|
||||
<string name="error_adding_new_device">Não foi possível adicionar novo aparelho</string>
|
||||
<string name="enter_device_name_description">Nomeie seu novo aparelho no máximo 200 símbolos.</string>
|
||||
<string name="device_name_is_too_long">Nome do aparelho muito longo</string>
|
||||
<string name="device_name_cannot_be_empty">O nome do aparelho não pode estar vazio</string>
|
||||
<string name="device_name">Nome do aparelho</string>
|
||||
<string name="share_location_as_description_second_line">Pode criar e visualizar o ID do aparelho no cliente de telegrama usando o bot de bate-papo %1$s. %2$s</string>
|
||||
<string name="share_location_as_description">Se deseja conectar vários aparelhos a uma conta de telegrama, é necessário usar um aparelho diferente para compartilhar a sua localização.</string>
|
||||
<string name="last_updated_location">Última localização atualizada:</string>
|
||||
<string name="successfully_sent_and_updated">Enviado e atualizado com sucesso</string>
|
||||
<string name="not_possible_to_send_to_telegram_chats">Não é possível enviar para bate-papo do Telegram:</string>
|
||||
<string name="waiting_for_response_from_telegram">A aguardar a resposta do Telegram</string>
|
||||
<string name="sending_location_messages">A enviar a localização</string>
|
||||
<string name="initializing">A iniciar</string>
|
||||
<string name="searching_for_gps">A posicionar…</string>
|
||||
<string name="waiting_for_response_from_telegram">Aguardando resposta do Telegram</string>
|
||||
<string name="sending_location_messages">enviando localização</string>
|
||||
<string name="initializing">Iniciando</string>
|
||||
<string name="searching_for_gps">Posicionando…</string>
|
||||
<string name="connecting_to_the_internet">Conectando-se à Internet</string>
|
||||
<string name="background_work_description">Altere as configurações de otimização da bateria para estabilizar a partilha da localização.</string>
|
||||
<string name="background_work_description">Altere as configurações de otimização da bateria para estabilizar o compartilhamento de local.</string>
|
||||
<string name="background_work">Funcionamento em segundo plano</string>
|
||||
<string name="battery_optimization_description">Desative a otimização da bateria do OsmAnd Tracker para que ele não seja desligado repentinamente quando estiver em segundo plano.</string>
|
||||
<string name="sharing_in_background">Partilha em segundo plano</string>
|
||||
<string name="go_to_settings">Ir às configurações</string>
|
||||
<string name="sharing_in_background">Compartilhando em segundo plano</string>
|
||||
<string name="go_to_settings">Vá para as configurações</string>
|
||||
<string name="not_sent_yet">Ainda não enviado</string>
|
||||
<string name="not_found_yet">Ainda não encontrado</string>
|
||||
<string name="re_send_location">Reenvie o local</string>
|
||||
<string name="last_available_location">Última localização disponível</string>
|
||||
<string name="sharing_status">Estado da partilha</string>
|
||||
<string name="location_sharing_status">Partilha: %1$s</string>
|
||||
<string name="sharing_status">Estado de compartilhamento</string>
|
||||
<string name="location_sharing_status">Compartilhamento: %1$s</string>
|
||||
<string name="shared_string_enabled">Ativado</string>
|
||||
<string name="no_gps_connection">Sem conexão GPS</string>
|
||||
<string name="no_internet_connection">Sem ligação à Internet</string>
|
||||
<string name="no_internet_connection">Sem conexão com a internet</string>
|
||||
<string name="shared_string_disable">Desativar</string>
|
||||
<string name="shared_string_save">Guardar</string>
|
||||
<string name="add_device">Adicionar dispositivo</string>
|
||||
<string name="share_location_as">Partilhar localização como</string>
|
||||
<string name="live_now_description">Contactos e grupos partilhando a localização consigo.</string>
|
||||
<string name="logout_from_osmand_telegram_descr">Tem a certeza de que quer sair do OsmAnd Tracker para que não possa partilhar a localização ou ver a localização de outras pessoas\?</string>
|
||||
<string name="shared_string_save">Gravar</string>
|
||||
<string name="add_device">Adicionar aparelho</string>
|
||||
<string name="share_location_as">Compartilhar localização como</string>
|
||||
<string name="live_now_description">Contatos e grupos compartilhando o local consigo.</string>
|
||||
<string name="logout_from_osmand_telegram_descr">Tem certeza de que deseja sair do OsmAnd Tracker para que não possa compartilhar o local ou ver a localização de outras pessoas\?</string>
|
||||
<string name="logout_from_osmand_telegram">Sair do OsmAnd Tracker\?</string>
|
||||
<string name="shared_string_name">Nome</string>
|
||||
<string name="by_distance">Pela distância</string>
|
||||
<string name="by_name">Por nome</string>
|
||||
<string name="by_group">Por grupo</string>
|
||||
<string name="shared_string_sort">Ordenar</string>
|
||||
<string name="choose_osmand_desc">Selecione a versão OsmAnd onde os contactos serão mostrados no mapa.</string>
|
||||
<string name="choose_osmand_desc">Selecione a versão OsmAnd, onde os contatos serão exibidos no mapa.</string>
|
||||
<string name="choose_osmand">Selecione a versão do OsmAnd para usar</string>
|
||||
<string name="disable_all_sharing_desc">Desativa a partilha da localização para todos os bate-papos selecionados (%1$d).</string>
|
||||
<string name="disable_all_sharing">Desativar todas as partilhas</string>
|
||||
<string name="disable_all_sharing_desc">Desativa o compartilhamento de local para todos os bate-papos selecionados (%1$d).</string>
|
||||
<string name="disable_all_sharing">Desativar todo o compartilhamento</string>
|
||||
<string name="turn_off_all">Desligue todos</string>
|
||||
<string name="shared_string_exit">Sair</string>
|
||||
<string name="time_ago">atrás</string>
|
||||
|
@ -136,34 +136,34 @@
|
|||
<string name="shared_string_group">Grupo</string>
|
||||
<string name="logout_no_internet_msg">Conecte-se à Internet para efetuar a saída do Telegram corretamente.</string>
|
||||
<string name="shared_string_close">Fechar</string>
|
||||
<string name="disconnect_from_telegram_desc">Para revogar o acesso à partilha da localização. Abra o Telegram, vá para Configurações → Privacidade e Segurança → Sessões e termine a sessão do OsmAnd Tracker.</string>
|
||||
<string name="disconnect_from_telegram_desc">Para revogar o acesso ao compartilhamento de local. Abra o Telegram, vá para Configurações → Privacidade e Segurança → Sessões e termine a sessão do OsmAnd Tracker.</string>
|
||||
<string name="disconnect_from_telegram">Como desativar o OsmAnd Tracker para Telegram</string>
|
||||
<string name="logout_help_desc">Como desativar o OsmAnd Tracker para Telegram</string>
|
||||
<string name="connected_account">Conta conectada</string>
|
||||
<string name="shared_string_account">Conta</string>
|
||||
<string name="in_time">no %1$s</string>
|
||||
<string name="osmand_connect_desc">Escolha a versão OsmAnd que OsmAnd Tracker usa para mostrar posições.</string>
|
||||
<string name="osmand_connect_desc">Escolha a versão OsmAnd que OsmAnd Tracker usa para exibir posições.</string>
|
||||
<string name="osmand_connect">Conectar OsmAnd</string>
|
||||
<string name="location_history_desc">Ocultar contactos que não foram movidos num determinado momento.</string>
|
||||
<string name="location_history">Histórico de localização</string>
|
||||
<string name="stale_location_desc">A última vez que um contacto foi movido.</string>
|
||||
<string name="stale_location_desc">A última vez que um contato foi movido.</string>
|
||||
<string name="stale_location">Parado</string>
|
||||
<string name="send_my_location_desc">Defina o intervalo mínimo para a partilha da localização.</string>
|
||||
<string name="send_my_location">Enviar a minha localização</string>
|
||||
<string name="send_my_location_desc">Defina o intervalo mínimo para o compartilhamento de local.</string>
|
||||
<string name="send_my_location">Enviar minha localização</string>
|
||||
<string name="gps_and_location">Posição</string>
|
||||
<string name="sharing_time">Tempo de partilha</string>
|
||||
<string name="sharing_time">Tempo de compartilhamento</string>
|
||||
<string name="expire_at">Expira</string>
|
||||
<string name="stop_sharing_all">A partilha está ativada (desativar)</string>
|
||||
<string name="turn_off_location_sharing">Desativar a partilha da localização</string>
|
||||
<string name="stop_sharing_all">O compartilhamento está ativado (desativado)</string>
|
||||
<string name="turn_off_location_sharing">Desativar o compartilhamento de local</string>
|
||||
<string name="open_osmand">Abrir OsmAnd</string>
|
||||
<string name="shared_string_live">Tempo real</string>
|
||||
<string name="shared_string_live">Vivo</string>
|
||||
<string name="shared_string_bot">Robô</string>
|
||||
<string name="get_telegram_title">Registo no Telegram</string>
|
||||
<string name="get_telegram_account_first">Precisa de uma conta do Telegram para usar a partilha de localização.</string>
|
||||
<string name="get_telegram_title">Registro no Telegram</string>
|
||||
<string name="get_telegram_account_first">Precisa de uma conta do Telegram para usar o compartilhamento de local.</string>
|
||||
<string name="get_telegram_description_continue">Por favor, instale o Telegram e configure uma conta.</string>
|
||||
<string name="get_telegram_after_creating_account">Depois pode usar esta aplicação.</string>
|
||||
<string name="shared_string_all">Tudo</string>
|
||||
<string name="shared_string_off">Desativado</string>
|
||||
<string name="get_telegram_after_creating_account">Então pode usar esta app.</string>
|
||||
<string name="shared_string_all">Todos</string>
|
||||
<string name="shared_string_off">Desligado</string>
|
||||
<string name="already_registered_in_telegram">Precisa de uma conta e número de telefone registados no Telegram</string>
|
||||
<string name="do_not_have_telegram">Não tenho uma conta do Telegram</string>
|
||||
<string name="enter_phone_number">Digite o número de telefone</string>
|
||||
|
@ -173,42 +173,42 @@
|
|||
<string name="minutes_format">%1$d m</string>
|
||||
<string name="hours_format">%1$d h</string>
|
||||
<string name="shared_string_install">Instalar</string>
|
||||
<string name="shared_string_share">Partilhar</string>
|
||||
<string name="shared_string_share">Compartilhar</string>
|
||||
<string name="shared_string_back">Voltar</string>
|
||||
<string name="visible_time_for_all">Hora visível para todos</string>
|
||||
<string name="set_time_description">Defina a hora em que os seus contactos e grupos selecionados verão a sua localização em tempo real.</string>
|
||||
<string name="set_time">Definir hora</string>
|
||||
<string name="location_sharing_description">Selecione os contactos e grupos com os quais deseja partilhar a sua localização.</string>
|
||||
<string name="my_location_search_hint">Pesquisa: grupo ou contacto</string>
|
||||
<string name="start_location_sharing">Partilhar localização</string>
|
||||
<string name="set_time_description">Defina a hora em que seus contatos e grupos selecionados verão sua localização em tempo real.</string>
|
||||
<string name="set_time">Definir tempo</string>
|
||||
<string name="location_sharing_description">Selecione os contactos e grupos com os quais deseja compartilhar sua localização.</string>
|
||||
<string name="my_location_search_hint">Pesquisa: Grupo ou contato</string>
|
||||
<string name="start_location_sharing">Compartilhar localização</string>
|
||||
<string name="show_on_map">Mostrar no mapa</string>
|
||||
<string name="app_name">OsmAnd Online GPS Tracker</string>
|
||||
<string name="phone_number_title">Número de telefone</string>
|
||||
<string name="phone_number_descr">Número de telefone no formato internacional</string>
|
||||
<string name="shared_string_password">Palavra-passe</string>
|
||||
<string name="enter_code">Digite o código</string>
|
||||
<string name="authentication_code">Código de autenticação</string>
|
||||
<string name="authentication_code_descr">O Telegram enviou-lhe um código para o OsmAnd para iniciar sessão na sua conta.</string>
|
||||
<string name="authentication_code">Código de Autenticação</string>
|
||||
<string name="authentication_code_descr">Uma faixa GPX é salva automaticamente durante a navegação.</string>
|
||||
<string name="enter_password">Digite a palavra-passe</string>
|
||||
<string name="password_descr">Palavra-passe do Telegram</string>
|
||||
<string name="password_descr">Palavra-passe do telegrama</string>
|
||||
<string name="shared_string_login">Entrar</string>
|
||||
<string name="shared_string_logout">Sair</string>
|
||||
<string name="initialization">A iniciar</string>
|
||||
<string name="logging_out">A terminar sessão</string>
|
||||
<string name="closing">A fechar</string>
|
||||
<string name="initialization">Iniciando</string>
|
||||
<string name="logging_out">Saindo</string>
|
||||
<string name="closing">Fechando</string>
|
||||
<string name="gps_network_not_enabled">Ativar \"Localização\"\?</string>
|
||||
<string name="not_logged_in">Não tem a sessão iniciada</string>
|
||||
<string name="not_logged_in">você não está logado no</string>
|
||||
<string name="shared_string_continue">Continuar</string>
|
||||
<string name="shared_string_cancel">Cancelar</string>
|
||||
<string name="shared_string_settings">Configurações</string>
|
||||
<string name="no_location_permission">A aplicação não tem permissão para aceder aos dados de localização.</string>
|
||||
<string name="gps_not_available">Por favor, ative a \"Localização\" nas configurações do sistema</string>
|
||||
<string name="location_service_no_gps_available">Selecione um dos fornecedores de localização para partilhar a sua localização.</string>
|
||||
<string name="osmand_service">Modo em segundo plano</string>
|
||||
<string name="osmand_service_descr">O OsmAnd Tracker é executado em segundo plano com o ecrã desligado.</string>
|
||||
<string name="no_location_permission">A app não tem permissão para acessar os dados de localização.</string>
|
||||
<string name="gps_not_available">Por favor, ligue \"Localização\" nas configurações do sistema</string>
|
||||
<string name="location_service_no_gps_available">Selecione um dos provedores de localização para compartilhar sua localização.</string>
|
||||
<string name="osmand_service">Modo de fundo</string>
|
||||
<string name="osmand_service_descr">OsmAnd Tracker é executado em segundo plano com o ecrã desligado.</string>
|
||||
<string name="shared_string_distance">Distância</string>
|
||||
<string name="share_location">Partilhar localização</string>
|
||||
<string name="sharing_location">A partilhar a localização</string>
|
||||
<string name="share_location">Compartilhar localização</string>
|
||||
<string name="sharing_location">Compartilhando localização</string>
|
||||
<string name="process_service">Serviço OsmAnd Tracker</string>
|
||||
<string name="osmand_logo">Logotipo do OsmAnd</string>
|
||||
<string name="install_osmand_dialog_message">Precisa instalar a versão gratuita ou paga do OsmAnd primeiro</string>
|
||||
|
@ -229,13 +229,13 @@
|
|||
<string name="nm_h">mn/h</string>
|
||||
<string name="m_s">m/s</string>
|
||||
<string name="km_h">km/h</string>
|
||||
<string name="mile_per_hour">mi/h</string>
|
||||
<string name="mile_per_hour">mph</string>
|
||||
<string name="si_kmh">Quilómetros por hora</string>
|
||||
<string name="si_mph">Milhas por hora</string>
|
||||
<string name="si_m_s">Metros por segundo</string>
|
||||
<string name="si_min_km">Minutos por quilómetro</string>
|
||||
<string name="si_min_m">Minutos por milha</string>
|
||||
<string name="si_nm_h">Milhas náuticas por hora (nós)</string>
|
||||
<string name="si_nm_h">Milhas náuticas por hora (nó)</string>
|
||||
<string name="si_mi_feet">Milhas/pés</string>
|
||||
<string name="si_mi_yard">Milhas/jardas</string>
|
||||
<string name="si_km_m">Quilómetros/metros</string>
|
||||
|
@ -244,8 +244,8 @@
|
|||
<string name="shared_string_hour_short">h</string>
|
||||
<string name="shared_string_minute_short">min</string>
|
||||
<string name="shared_string_second_short">seg</string>
|
||||
<string name="welcome_descr"><b>OsmAnd Tracker</b> permite que partilhe a sua localização e veja a dos outros no OsmAnd.<br/> <br/>A aplicação usa a API do Telegram e é necessário ter uma conta no Telegram.</string>
|
||||
<string name="my_location">A minha posição</string>
|
||||
<string name="welcome_descr"><b>OsmAnd Tracker</b> permite que partilhe a sua localização e veja a dos outros no OsmAnd.<br/> <br/>O app usa a API Telegram e precisa de uma conta do Telegram.</string>
|
||||
<string name="my_location">Minha localização</string>
|
||||
<string name="live_now">Ao vivo agora</string>
|
||||
<string name="timeline">Cronologia</string>
|
||||
<string name="saved_messages">Mensagens gravadas</string>
|
||||
|
@ -259,7 +259,7 @@
|
|||
<string name="buffer_time_descr">Tempo máximo para armazenar pontos no buffer</string>
|
||||
<string name="buffer_time">Tempo de expiração do buffer</string>
|
||||
<string name="shared_string_suggested">Sugerido</string>
|
||||
<string name="status_widget_title">Estado do OsmAnd Tracker</string>
|
||||
<string name="status_widget_title">Estado do Rastreador de OsmAnd</string>
|
||||
<string name="back_to_osmand">Voltar para OsmAnd</string>
|
||||
<string name="duration_ago">%1$s atrás</string>
|
||||
<string name="last_response_duration">Última resposta: %1$s atrás</string>
|
||||
|
@ -270,5 +270,5 @@
|
|||
<string name="send_report">Enviar o relatório</string>
|
||||
<string name="shared_string_export">Exportar</string>
|
||||
<string name="logcat_buffer">Buffer de logcat</string>
|
||||
<string name="logcat_buffer_descr">Verifique e partilhe registos detalhados da aplicação</string>
|
||||
<string name="logcat_buffer_descr">Verifique e compartilhe registos detalhados da app</string>
|
||||
</resources>
|
|
@ -13,7 +13,7 @@
|
|||
<string name="si_km_m">Kilomter/meter</string>
|
||||
<string name="si_mi_yard">Miles/yard</string>
|
||||
<string name="si_mi_feet">Miles/fot</string>
|
||||
<string name="si_nm_h">Sjömil per timme (knop)</string>
|
||||
<string name="si_nm_h">Distansminuter per timme (knop)</string>
|
||||
<string name="si_min_m">Minuter per mile</string>
|
||||
<string name="si_min_km">Minuter per kilometer</string>
|
||||
<string name="si_m_s">Meter per sekund</string>
|
||||
|
@ -22,7 +22,7 @@
|
|||
<string name="mile_per_hour">mph</string>
|
||||
<string name="km_h">km/h</string>
|
||||
<string name="m_s">m/s</string>
|
||||
<string name="nm_h">M/h</string>
|
||||
<string name="nm_h">di/h</string>
|
||||
<string name="min_km">min/km</string>
|
||||
<string name="min_mile">min/mi</string>
|
||||
<string name="nm">di</string>
|
||||
|
@ -43,7 +43,7 @@
|
|||
<string name="sharing_location">Delar plats</string>
|
||||
<string name="share_location">Dela plats</string>
|
||||
<string name="shared_string_distance">Avstånd</string>
|
||||
<string name="osmand_service_descr">OsmAnd Tracker körs i bakgrunden medan skärmen är avstängd.</string>
|
||||
<string name="osmand_service_descr">OsmAnd Tracker körs i bakgrunden med skärmen av.</string>
|
||||
<string name="osmand_service">Bakgrundsläge</string>
|
||||
<string name="location_service_no_gps_available">Välj en av platsleverantörerna för att dela din plats.</string>
|
||||
<string name="gps_not_available">Aktivera \"Plats\" i systeminställningarna</string>
|
||||
|
|
|
@ -1026,7 +1026,6 @@
|
|||
</activity>
|
||||
|
||||
<activity android:name="net.osmand.plus.development.TestVoiceActivity" />
|
||||
<activity android:name="net.osmand.plus.development.TestBackupActivity" />
|
||||
<activity android:name="net.osmand.plus.development.LogcatActivity" />
|
||||
<activity android:name="net.osmand.plus.download.DownloadActivity" android:label="" />
|
||||
|
||||
|
|
|
@ -1,5 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<solid android:color="@color/osmand_live_active" />
|
||||
<corners android:radius="26dp" />
|
||||
</shape>
|
|
@ -1,5 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<solid android:color="@color/osmand_live_cancelled" />
|
||||
<corners android:radius="26dp" />
|
||||
</shape>
|
|
@ -1,7 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
|
||||
<corners android:radius="4dp" />
|
||||
<solid android:color="@color/switch_button_active_dark" />
|
||||
</shape>
|
|
@ -1,7 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
|
||||
<corners android:radius="4dp" />
|
||||
<solid android:color="@color/switch_button_active_light" />
|
||||
</shape>
|
|
@ -1,10 +0,0 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:pathData="M12,22C17.5228,22 22,17.5228 22,12C22,6.4771 17.5228,2 12,2C6.4771,2 2,6.4771 2,12C2,17.5228 6.4771,22 12,22ZM11,14V7H13V14H11ZM11,18V16H13V18H11Z"
|
||||
android:fillColor="#ffffff"
|
||||
android:fillType="evenOdd"/>
|
||||
</vector>
|
|
@ -1,18 +0,0 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:pathData="M20,12C20,15.4738 17.7859,18.4304 14.692,19.5358L14.9449,21.5593C19.0304,20.3022 22,16.4979 22,12C22,6.4771 17.5228,2 12,2C6.4771,2 2,6.4771 2,12C2,16.4979 4.9696,20.3022 9.0551,21.5593L9.308,19.5358C6.2141,18.4304 4,15.4738 4,12C4,7.5817 7.5817,4 12,4C16.4183,4 20,7.5817 20,12Z"
|
||||
android:fillColor="#ffffff"/>
|
||||
<path
|
||||
android:pathData="M18,12C18,14.4466 16.5357,16.5511 14.4356,17.485L14.1701,15.3607C15.2713,14.6482 16,13.4092 16,12C16,9.7909 14.2091,8 12,8C9.7909,8 8,9.7909 8,12C8,13.4092 8.7287,14.6482 9.8299,15.3607L9.5644,17.485C7.4643,16.5511 6,14.4466 6,12C6,8.6863 8.6863,6 12,6C15.3137,6 18,8.6863 18,12Z"
|
||||
android:fillColor="#ffffff"/>
|
||||
<path
|
||||
android:pathData="M14,12C14,13.1046 13.1046,14 12,14C10.8954,14 10,13.1046 10,12C10,10.8954 10.8954,10 12,10C13.1046,10 14,10.8954 14,12Z"
|
||||
android:fillColor="#ffffff"/>
|
||||
<path
|
||||
android:pathData="M11,15V22H13V15H11Z"
|
||||
android:fillColor="#ffffff"/>
|
||||
</vector>
|
|
@ -1,15 +0,0 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:pathData="M22.0001,12C22.0001,13.9623 21.4349,15.7926 20.4583,17.337L18.9991,15.8777C19.6369,14.7291 20.0001,13.407 20.0001,12C20.0001,7.5817 16.4183,4 12.0001,4C10.5931,4 9.271,4.3632 8.1223,5.0009L6.6631,3.5417C8.2075,2.5652 10.0378,2 12.0001,2C17.5229,2 22.0001,6.4771 22.0001,12Z"
|
||||
android:fillColor="#ffffff"/>
|
||||
<path
|
||||
android:pathData="M18.0001,12C18.0001,12.8478 17.8242,13.6545 17.507,14.3857L15.9203,12.7989C15.9726,12.5407 16.0001,12.2736 16.0001,12C16.0001,9.7909 14.2092,8 12.0001,8C11.7265,8 11.4593,8.0275 11.2012,8.0798L9.6144,6.493C10.3456,6.1758 11.1523,6 12.0001,6C15.3138,6 18.0001,8.6863 18.0001,12Z"
|
||||
android:fillColor="#ffffff"/>
|
||||
<path
|
||||
android:pathData="M14.3449,16.759L14.4357,17.485C14.5806,17.4206 14.7225,17.3506 14.8611,17.2752L16.3203,18.7344C15.8138,19.0599 15.2682,19.33 14.692,19.5358L14.945,21.5593C15.9623,21.2463 16.9105,20.7753 17.7609,20.1749L21.293,23.7071L22.7072,22.2928L2.7072,2.2929L1.293,3.7071L3.8251,6.2392C2.6754,7.8677 2.0001,9.855 2.0001,12C2.0001,16.4979 4.9696,20.3022 9.0552,21.5593L9.3081,19.5358C6.2141,18.4304 4.0001,15.4738 4.0001,12C4.0001,10.4087 4.4647,8.9258 5.2657,7.6798L6.7248,9.1389C6.2626,9.9894 6.0001,10.964 6.0001,12C6.0001,14.4466 7.4644,16.5511 9.5644,17.485L9.83,15.3607C8.7288,14.6482 8.0001,13.4092 8.0001,12C8.0001,11.5256 8.0826,11.0705 8.2342,10.6483L10.0555,12.4696C10.2305,13.197 10.8031,13.7695 11.5305,13.9446L12.5859,15H11.0001V22H13.0001V15.4142L14.3449,16.759Z"
|
||||
android:fillColor="#ffffff"/>
|
||||
</vector>
|
|
@ -1,9 +0,0 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:pathData="M6,18V17.9725C3.75,17.7238 2,15.8163 2,13.5C2,11.0147 4.0147,9 6.5,9C6.5998,9 6.6989,9.0033 6.7971,9.0097C7.8332,7.2109 9.7752,6 12,6C15.3137,6 18,8.6863 18,12C18,12.0574 17.9992,12.1146 17.9976,12.1716C18.3111,12.0605 18.6485,12 19,12C20.6569,12 22,13.3431 22,15C22,16.6569 20.6569,18 19,18H6Z"
|
||||
android:fillColor="#ffffff"/>
|
||||
</vector>
|
|
@ -1,10 +0,0 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:pathData="M6,17.9725V18H19C20.6569,18 22,16.6569 22,15C22,13.3431 20.6569,12 19,12C18.6485,12 18.3111,12.0605 17.9976,12.1716C17.9992,12.1146 18,12.0574 18,12C18,8.6863 15.3137,6 12,6C9.7752,6 7.8332,7.2109 6.7971,9.0097C6.6989,9.0033 6.5998,9 6.5,9C4.0147,9 2,11.0147 2,13.5C2,15.8163 3.75,17.7238 6,17.9725ZM11,13V8H13V13H11ZM11,17V15H13V17H11Z"
|
||||
android:fillColor="#ffffff"
|
||||
android:fillType="evenOdd"/>
|
||||
</vector>
|
|
@ -1,9 +0,0 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:pathData="M14,18V15H16.5L12.5,10L8.5,15H11V18H6V17.9725C3.75,17.7238 2,15.8163 2,13.5C2,11.0147 4.0147,9 6.5,9C6.5998,9 6.6989,9.0033 6.7971,9.0097C7.8332,7.2109 9.7752,6 12,6C15.3137,6 18,8.6863 18,12C18,12.0574 17.9992,12.1146 17.9976,12.1716C18.3111,12.0605 18.6485,12 19,12C20.6569,12 22,13.3431 22,15C22,16.6569 20.6569,18 19,18H14Z"
|
||||
android:fillColor="#ffffff"/>
|
||||
</vector>
|
|
@ -1,12 +0,0 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:pathData="M6,18V17.9725C3.75,17.7238 2,15.8163 2,13.5C2,11.0147 4.0147,9 6.5,9C6.5998,9 6.6989,9.0033 6.7971,9.0097C7.8332,7.2109 9.7752,6 12,6C15.3137,6 18,8.6863 18,12C18,12.0574 17.9992,12.1146 17.9976,12.1716C18.3111,12.0605 18.6485,12 19,12C20.6569,12 22,13.3431 22,15C22,16.6569 20.6569,18 19,18H6Z"
|
||||
android:fillColor="#6C19FF"/>
|
||||
<path
|
||||
android:pathData="M11,15H8.5L12.5,9.5L16.5,15H14V20H11V15Z"
|
||||
android:fillColor="#FFC30D"/>
|
||||
</vector>
|
|
@ -1,15 +0,0 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:pathData="M14,2L20,8H16C14.8954,8 14,7.1046 14,6V2Z"
|
||||
android:strokeAlpha="0.5"
|
||||
android:fillColor="#ffffff"
|
||||
android:fillAlpha="0.5"/>
|
||||
<path
|
||||
android:pathData="M4,4C4,2.8954 4.8954,2 6,2H14V6C14,7.1046 14.8954,8 16,8H20V20C20,21.1046 19.1046,22 18,22H6C4.8954,22 4,21.1046 4,20V4ZM11,18H13V13H15L12,9L9,13H11V18Z"
|
||||
android:fillColor="#ffffff"
|
||||
android:fillType="evenOdd"/>
|
||||
</vector>
|
|
@ -1,37 +0,0 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:aapt="http://schemas.android.com/aapt"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:pathData="M12,5C12.5523,5 13,4.5523 13,4H17V8.0549C16.6717,8.0186 16.338,8 16,8C11.0294,8 7,12.0294 7,17V4H11C11,4.5523 11.4477,5 12,5Z"
|
||||
android:strokeAlpha="0.3"
|
||||
android:fillColor="#ffffff"
|
||||
android:fillAlpha="0.3"/>
|
||||
<path
|
||||
android:pathData="M7,17C7,18.0519 7.1805,19.0617 7.5121,20H7V17Z"
|
||||
android:strokeAlpha="0.3"
|
||||
android:fillColor="#ffffff"
|
||||
android:fillAlpha="0.3"/>
|
||||
<path
|
||||
android:pathData="M17,2.01L7,2C5.9,2 5,2.9 5,4V20C5,21.1 5.9,22 7,22H8.5155C8.1025,21.383 7.7638,20.7121 7.5121,20H7V4H11C11,4.5523 11.4477,5 12,5C12.5523,5 13,4.5523 13,4H17V8.0549C17.6935,8.1316 18.3632,8.287 19,8.5121V4C19,2.9 18.1,2.01 17,2.01Z"
|
||||
android:strokeAlpha="0.7"
|
||||
android:fillColor="#ffffff"
|
||||
android:fillAlpha="0.7"/>
|
||||
<path
|
||||
android:pathData="M16,21C18.2091,21 20,19.2091 20,17C20,14.7909 18.2091,13 16,13C13.7909,13 12,14.7909 12,17H14L11,20L8,17H10C10,13.6863 12.6863,11 16,11C19.3137,11 22,13.6863 22,17C22,20.3137 19.3137,23 16,23C14.598,23 13.3082,22.5191 12.2868,21.7132L13.7159,20.2841C14.3635,20.7354 15.1508,21 16,21Z"
|
||||
android:fillType="evenOdd">
|
||||
<aapt:attr name="android:fillColor">
|
||||
<gradient
|
||||
android:gradientRadius="6.36396"
|
||||
android:centerX="16"
|
||||
android:centerY="17"
|
||||
android:type="radial">
|
||||
<item android:offset="0" android:color="#FFFFFFFF"/>
|
||||
<item android:offset="0.8125" android:color="#FFFFFFFF"/>
|
||||
<item android:offset="1" android:color="#00FFFFFF"/>
|
||||
</gradient>
|
||||
</aapt:attr>
|
||||
</path>
|
||||
</vector>
|
|
@ -1,15 +0,0 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:pathData="M6,3C4.8954,3 4,3.8954 4,5V7H20C20,5.8954 19.1046,5 18,5H13L11.4,3H6Z"
|
||||
android:strokeAlpha="0.5"
|
||||
android:fillColor="#ffffff"
|
||||
android:fillAlpha="0.5"/>
|
||||
<path
|
||||
android:pathData="M2,7C2,5.8954 2.8954,5 4,5H10L12,7H20C21.1046,7 22,7.8954 22,9V19C22,20.1046 21.1046,21 20,21H4C2.8954,21 2,20.1046 2,19V7ZM17,12C17,13.1046 16.1046,14 15,14C13.8954,14 13,13.1046 13,12C13,10.8954 13.8954,10 15,10C16.1046,10 17,10.8954 17,12ZM10,17.5V19H20V17.5C20,15.5 17,15 15,15C13,15 10,15.5 10,17.5Z"
|
||||
android:fillColor="#ffffff"
|
||||
android:fillType="evenOdd"/>
|
||||
</vector>
|
|
@ -1,7 +0,0 @@
|
|||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<corners
|
||||
android:bottomLeftRadius="@dimen/list_item_button_padding"
|
||||
android:topLeftRadius="@dimen/list_item_button_padding" />
|
||||
<solid android:color="@color/list_background_color_dark" />
|
||||
</shape>
|
|
@ -1,11 +0,0 @@
|
|||
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:color="@color/active_buttons_and_links_trans_light">
|
||||
<item android:id="@android:id/mask">
|
||||
<shape android:shape="rectangle">
|
||||
<corners
|
||||
android:bottomLeftRadius="@dimen/list_item_button_padding"
|
||||
android:topLeftRadius="@dimen/list_item_button_padding" />
|
||||
<solid android:color="@color/active_color_primary_light" />
|
||||
</shape>
|
||||
</item>
|
||||
</ripple>
|
15
OsmAnd/res/drawable/seekbar_progress_announcement_time.xml
Normal file
15
OsmAnd/res/drawable/seekbar_progress_announcement_time.xml
Normal file
|
@ -0,0 +1,15 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:id="@+id/background">
|
||||
<shape android:shape="rectangle">
|
||||
<solid android:color="#4d007eb3" />
|
||||
<corners android:radius="30dp" />
|
||||
</shape>
|
||||
</item>
|
||||
<item android:id="@+id/progress">
|
||||
<shape android:shape="rectangle">
|
||||
<solid android:color="@color/color_white" />
|
||||
<corners android:radius="30dp" />
|
||||
</shape>
|
||||
</item>
|
||||
</layer-list>
|
13
OsmAnd/res/drawable/seekbar_thumb_announcement_time.xml
Normal file
13
OsmAnd/res/drawable/seekbar_thumb_announcement_time.xml
Normal file
|
@ -0,0 +1,13 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
<item android:id="@+id/thump">
|
||||
<shape android:shape="oval">
|
||||
<size
|
||||
android:width="12dp"
|
||||
android:height="12dp" />
|
||||
<solid android:color="@color/profile_icon_color_blue_light" />
|
||||
</shape>
|
||||
</item>
|
||||
</layer-list>
|
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="oval">
|
||||
<size
|
||||
android:width="2dp"
|
||||
android:height="2dp" />
|
||||
<solid android:color="#17181A" />
|
||||
</shape>
|
|
@ -50,7 +50,6 @@
|
|||
android:layout_height="match_parent"
|
||||
android:layout_gravity="start"
|
||||
android:layout_marginTop="@dimen/dashboard_map_toolbar"
|
||||
android:background="?attr/activity_background_basic"
|
||||
android:visibility="gone">
|
||||
|
||||
<net.osmand.plus.views.controls.DynamicListView
|
||||
|
|
|
@ -16,34 +16,20 @@
|
|||
android:focusable="true"
|
||||
android:orientation="vertical"
|
||||
android:clickable="true"
|
||||
tools:ignore="UselessParent">
|
||||
tools:background="@drawable/bg_bottom_menu_dark">
|
||||
|
||||
<FrameLayout
|
||||
<ProgressBar
|
||||
android:id="@+id/snap_to_road_progress_bar"
|
||||
style="?android:attr/progressBarStyleHorizontal"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:background="@drawable/bg_contextmenu_shadow_top_light" />
|
||||
|
||||
<ProgressBar
|
||||
android:id="@+id/snap_to_road_progress_bar"
|
||||
style="?android:attr/progressBarStyleHorizontal"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:minHeight="0dp"
|
||||
android:background="?attr/list_background_color"
|
||||
android:visibility="invisible"
|
||||
tools:visibility="visible" />
|
||||
|
||||
</FrameLayout>
|
||||
android:layout_height="wrap_content"
|
||||
android:minHeight="0dp"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/main_content"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="?attr/list_background_color">
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/up_down_row"
|
||||
|
@ -67,19 +53,6 @@
|
|||
android:background="@null"
|
||||
tools:src="@drawable/ic_action_ruler"/>
|
||||
|
||||
<include
|
||||
layout="@layout/custom_icon_radio_buttons"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_alignParentRight="true"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_marginEnd="@dimen/content_padding_half"
|
||||
android:layout_marginLeft="@dimen/bottom_sheet_content_margin"
|
||||
android:layout_marginRight="@dimen/content_padding_half"
|
||||
android:layout_marginStart="@dimen/bottom_sheet_content_margin"
|
||||
android:background="@null" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/up_down_button"
|
||||
android:layout_width="wrap_content"
|
||||
|
@ -92,7 +65,6 @@
|
|||
android:layout_marginRight="@dimen/bottom_sheet_content_margin"
|
||||
android:layout_marginStart="@dimen/bottom_sheet_content_margin"
|
||||
android:background="@null"
|
||||
android:visibility="gone"
|
||||
tools:src="@drawable/ic_action_arrow_down"/>
|
||||
|
||||
<TextView
|
||||
|
@ -188,9 +160,7 @@
|
|||
android:paddingRight="@dimen/measurement_tool_text_button_padding_small"
|
||||
android:text="@string/shared_string_options"
|
||||
android:textColor="?attr/color_dialog_buttons"
|
||||
osmand:typeface="@string/font_roboto_medium"
|
||||
android:paddingEnd="@dimen/measurement_tool_text_button_padding_small"
|
||||
android:paddingStart="@dimen/measurement_tool_text_button_padding_small" />
|
||||
osmand:typeface="@string/font_roboto_medium" />
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="wrap_content"
|
||||
|
|
|
@ -659,7 +659,6 @@
|
|||
<!-- CENTER -->
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/top_controls_container"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
|
|
|
@ -1,15 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<ImageView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@+id/icon"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:layout_marginLeft="8dp"
|
||||
android:layout_marginRight="-8dp"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginEnd="-8dp"
|
||||
android:layout_marginTop="8dp"
|
||||
android:layout_marginBottom="8dp"
|
||||
android:scaleType="centerInside"
|
||||
android:duplicateParentState="true"/>
|
|
@ -17,9 +17,7 @@
|
|||
android:layout_marginRight="@dimen/content_padding"
|
||||
android:layout_marginBottom="@dimen/content_padding_small"
|
||||
android:tint="?attr/default_icon_color"
|
||||
osmand:srcCompat="@drawable/ic_action_user_account"
|
||||
android:layout_marginStart="@dimen/content_padding"
|
||||
android:layout_marginEnd="@dimen/content_padding" />
|
||||
osmand:srcCompat="@drawable/ic_action_user_account" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
|
@ -28,9 +26,7 @@
|
|||
android:layout_marginTop="@dimen/subHeaderPadding"
|
||||
android:layout_marginRight="@dimen/content_padding"
|
||||
android:layout_marginBottom="@dimen/subHeaderPadding"
|
||||
android:orientation="vertical"
|
||||
android:layout_marginStart="@dimen/content_padding"
|
||||
android:layout_marginEnd="@dimen/content_padding">
|
||||
android:orientation="vertical">
|
||||
|
||||
<net.osmand.plus.widgets.TextViewEx
|
||||
android:id="@+id/account_title"
|
||||
|
|
|
@ -52,9 +52,7 @@
|
|||
android:text="@string/select_color"
|
||||
android:textColor="?android:textColorSecondary"
|
||||
android:textSize="@dimen/default_desc_text_size"
|
||||
osmand:typeface="@string/font_roboto_medium"
|
||||
android:paddingEnd="@dimen/content_padding"
|
||||
android:paddingStart="@dimen/content_padding" />
|
||||
osmand:typeface="@string/font_roboto_medium" />
|
||||
|
||||
<net.osmand.plus.widgets.TextViewEx
|
||||
android:id="@+id/color_name"
|
||||
|
@ -69,9 +67,7 @@
|
|||
android:text="@string/select_color"
|
||||
android:textColor="?android:textColorSecondary"
|
||||
android:textSize="@dimen/default_desc_text_size"
|
||||
osmand:typeface="@string/font_roboto_medium"
|
||||
android:paddingStart="@dimen/content_padding"
|
||||
android:paddingEnd="@dimen/content_padding" />
|
||||
osmand:typeface="@string/font_roboto_medium" />
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
|
|
|
@ -86,8 +86,6 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="@dimen/content_padding_small"
|
||||
android:layout_marginRight="@dimen/content_padding_small"
|
||||
android:paddingBottom="@dimen/content_padding"
|
||||
android:layout_marginStart="@dimen/content_padding_small"
|
||||
android:layout_marginEnd="@dimen/content_padding_small" />
|
||||
android:paddingBottom="@dimen/content_padding" />
|
||||
|
||||
</LinearLayout>
|
|
@ -62,12 +62,18 @@
|
|||
osmand:typeface="@string/font_roboto_medium"
|
||||
tools:text="Normal" />
|
||||
|
||||
<com.google.android.material.slider.Slider
|
||||
android:id="@+id/arrival_slider"
|
||||
<SeekBar
|
||||
android:id="@+id/seek_bar_arrival"
|
||||
style="@style/Widget.AppCompat.SeekBar.Discrete"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="@dimen/content_padding"
|
||||
android:layout_marginRight="@dimen/content_padding" />
|
||||
android:layout_marginTop="@dimen/pages_item_margin"
|
||||
android:maxHeight="2dp"
|
||||
android:paddingTop="11dp"
|
||||
android:paddingBottom="11dp"
|
||||
osmand:tickMark="@drawable/seekbar_tickmark_announcement_time"
|
||||
tools:max="3"
|
||||
tools:progress="1" />
|
||||
|
||||
<View
|
||||
android:id="@+id/divider"
|
||||
|
|
|
@ -8,9 +8,7 @@
|
|||
android:paddingBottom="@dimen/content_padding_small"
|
||||
android:minHeight="@dimen/card_row_min_height"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingEnd="@dimen/content_padding"
|
||||
android:paddingStart="@dimen/content_padding">
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/description"
|
||||
|
|
|
@ -57,9 +57,7 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/content_padding_half"
|
||||
android:layout_marginLeft="@dimen/content_padding"
|
||||
android:layout_marginRight="@dimen/content_padding"
|
||||
android:layout_marginStart="@dimen/content_padding"
|
||||
android:layout_marginEnd="@dimen/content_padding">
|
||||
android:layout_marginRight="@dimen/content_padding">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/text"
|
||||
|
|
|
@ -7,6 +7,4 @@
|
|||
android:paddingLeft="@dimen/content_padding"
|
||||
android:paddingRight="@dimen/content_padding"
|
||||
android:paddingTop="@dimen/content_padding_small"
|
||||
android:paddingBottom="@dimen/content_padding_small"
|
||||
android:paddingEnd="@dimen/content_padding"
|
||||
android:paddingStart="@dimen/content_padding" />
|
||||
android:paddingBottom="@dimen/content_padding_small" />
|
||||
|
|
|
@ -11,9 +11,7 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:gravity="center_vertical"
|
||||
android:paddingLeft="@dimen/content_padding"
|
||||
android:paddingRight="@dimen/content_padding"
|
||||
android:paddingStart="@dimen/content_padding"
|
||||
android:paddingEnd="@dimen/content_padding">
|
||||
android:paddingRight="@dimen/content_padding">
|
||||
|
||||
<net.osmand.plus.widgets.TextViewEx
|
||||
android:id="@android:id/title"
|
||||
|
@ -45,8 +43,6 @@
|
|||
android:layout_marginLeft="@dimen/content_padding"
|
||||
android:layout_marginRight="@dimen/content_padding"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/content_padding"
|
||||
android:layout_marginEnd="@dimen/content_padding" />
|
||||
android:layout_height="wrap_content" />
|
||||
|
||||
</LinearLayout>
|
|
@ -90,9 +90,7 @@
|
|||
android:paddingLeft="@dimen/content_padding"
|
||||
android:paddingRight="@dimen/content_padding"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:paddingEnd="@dimen/content_padding"
|
||||
android:paddingStart="@dimen/content_padding">
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/end_button_icon"
|
||||
|
|
|
@ -90,9 +90,7 @@
|
|||
android:layout_gravity="center"
|
||||
android:layout_marginLeft="@dimen/content_padding"
|
||||
android:layout_marginRight="@dimen/content_padding"
|
||||
tools:src="@drawable/ic_action_info_dark"
|
||||
android:layout_marginEnd="@dimen/content_padding"
|
||||
android:layout_marginStart="@dimen/content_padding" />
|
||||
tools:src="@drawable/ic_action_info_dark" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
|
|
@ -1,44 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:osmand="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:orientation="vertical"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:minHeight="@dimen/bottom_sheet_list_item_height"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<net.osmand.plus.widgets.TextViewEx
|
||||
android:id="@+id/title"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:letterSpacing="@dimen/description_letter_spacing"
|
||||
android:paddingLeft="@dimen/content_padding"
|
||||
android:paddingRight="@dimen/content_padding"
|
||||
android:textColor="?android:textColorPrimary"
|
||||
android:textSize="@dimen/default_list_text_size"
|
||||
osmand:typeface="@string/font_roboto_medium"
|
||||
tools:text="Title" />
|
||||
|
||||
<net.osmand.plus.widgets.TextViewEx
|
||||
android:id="@+id/descr"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="end"
|
||||
android:letterSpacing="@dimen/description_letter_spacing"
|
||||
android:paddingLeft="@dimen/content_padding"
|
||||
android:paddingRight="@dimen/content_padding"
|
||||
android:textColor="?android:textColorSecondary"
|
||||
android:textSize="@dimen/default_list_text_size"
|
||||
osmand:typeface="@string/font_roboto_medium"
|
||||
tools:text="Description" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
|
@ -1,72 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:osmand="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/support_link_container"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="?android:attr/selectableItemBackground"
|
||||
android:minHeight="@dimen/list_item_height"
|
||||
android:paddingStart="@dimen/list_content_padding"
|
||||
android:paddingLeft="@dimen/list_content_padding"
|
||||
android:paddingEnd="@dimen/list_content_padding"
|
||||
android:paddingRight="@dimen/list_content_padding">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/support_link_icon"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:layout_marginEnd="@dimen/map_widget_height"
|
||||
android:layout_marginRight="@dimen/map_widget_height"
|
||||
app:srcCompat="@drawable/ic_action_at_mail"
|
||||
app:tint="?attr/default_icon_color" />
|
||||
|
||||
<net.osmand.plus.widgets.TextViewEx
|
||||
android:id="@+id/support_link_title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:layout_marginEnd="@dimen/title_padding"
|
||||
android:layout_marginRight="@dimen/title_padding"
|
||||
android:paddingTop="@dimen/contex_menu_top_shadow_height"
|
||||
android:letterSpacing="@dimen/text_button_letter_spacing"
|
||||
android:text="@string/contact_support_description"
|
||||
android:textColor="?android:textColorPrimary"
|
||||
android:textSize="@dimen/default_list_text_size"
|
||||
osmand:typeface="@string/font_roboto_regular"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/contact_support_title_container"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="?android:attr/selectableItemBackground"
|
||||
android:paddingStart="@dimen/action_bar_image_side_margin"
|
||||
android:paddingLeft="@dimen/action_bar_image_side_margin"
|
||||
android:paddingTop="@dimen/card_padding"
|
||||
android:paddingEnd="@dimen/action_bar_image_side_margin"
|
||||
android:paddingRight="@dimen/action_bar_image_side_margin"
|
||||
android:paddingBottom="@dimen/card_padding"
|
||||
android:clickable="true"
|
||||
android:focusable="true">
|
||||
|
||||
<net.osmand.plus.widgets.TextViewEx
|
||||
android:id="@+id/contact_support_title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:text="@string/contact_support"
|
||||
android:textColor="?attr/active_color_basic"
|
||||
android:textSize="@dimen/default_list_text_size"
|
||||
osmand:typeface="@string/font_roboto_medium" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
|
@ -6,9 +6,7 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:paddingLeft="@dimen/content_padding"
|
||||
android:paddingRight="@dimen/content_padding"
|
||||
android:paddingStart="@dimen/content_padding"
|
||||
android:paddingEnd="@dimen/content_padding">
|
||||
android:paddingRight="@dimen/content_padding">
|
||||
|
||||
<com.jaredrummler.android.colorpicker.ColorPickerView
|
||||
android:id="@+id/color_picker_view"
|
||||
|
|
|
@ -1,23 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@+id/custom_radio_buttons"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="?attr/btn_bg_border_inactive"
|
||||
android:baselineAligned="false"
|
||||
android:minHeight="@dimen/dialog_button_height"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<include
|
||||
layout="@layout/custom_radio_btn_icon_item"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="1" />
|
||||
|
||||
<include
|
||||
layout="@layout/custom_radio_btn_icon_item"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="1" />
|
||||
|
||||
</LinearLayout>
|
|
@ -1,20 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:orientation="vertical"
|
||||
android:background="?attr/selectableItemBackground"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingTop="@dimen/content_padding_small_half"
|
||||
android:paddingBottom="@dimen/content_padding_small_half"
|
||||
android:paddingLeft="@dimen/content_padding_small"
|
||||
android:paddingRight="@dimen/content_padding_small">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/icon"
|
||||
android:layout_width="@dimen/standard_icon_size"
|
||||
android:layout_height="@dimen/standard_icon_size"
|
||||
android:layout_gravity="center"
|
||||
tools:src="@drawable/ic_action_info_dark"/>
|
||||
|
||||
</FrameLayout>
|
|
@ -49,9 +49,7 @@
|
|||
android:background="@drawable/dashboard_button_light"
|
||||
android:scaleType="fitCenter"
|
||||
app:srcCompat="@drawable/ic_navigation_drawer"
|
||||
tools:visibility="gone"
|
||||
android:layout_marginEnd="@dimen/multi_selection_menu_padding_top"
|
||||
android:layout_marginStart="@dimen/multi_selection_menu_padding_top" />
|
||||
tools:visibility="gone"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/toolbar_text"
|
||||
|
@ -82,9 +80,7 @@
|
|||
android:layout_gravity="end"
|
||||
android:background="@drawable/dashboard_button_light"
|
||||
android:scaleType="fitCenter"
|
||||
app:srcCompat="@drawable/ic_configure_screen_dark"
|
||||
android:layout_marginEnd="@dimen/multi_selection_menu_padding_top"
|
||||
android:layout_marginStart="@dimen/multi_selection_menu_padding_top" />
|
||||
app:srcCompat="@drawable/ic_configure_screen_dark"/>
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/toolbar_ok"
|
||||
|
@ -95,9 +91,7 @@
|
|||
android:layout_height="match_parent"
|
||||
android:background="@drawable/dashboard_button_light"
|
||||
android:scaleType="fitCenter"
|
||||
app:srcCompat="@drawable/ic_action_done"
|
||||
android:layout_marginEnd="@dimen/multi_selection_menu_padding_top"
|
||||
android:layout_marginStart="@dimen/multi_selection_menu_padding_top" />
|
||||
app:srcCompat="@drawable/ic_action_done"/>
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/toolbar_sort"
|
||||
|
@ -108,9 +102,7 @@
|
|||
android:layout_height="match_parent"
|
||||
android:background="@drawable/dashboard_button_light"
|
||||
android:scaleType="fitCenter"
|
||||
app:srcCompat="@drawable/ic_sort_waypoint_dark"
|
||||
android:layout_marginStart="@dimen/multi_selection_menu_padding_top"
|
||||
android:layout_marginEnd="@dimen/multi_selection_menu_padding_top" />
|
||||
app:srcCompat="@drawable/ic_sort_waypoint_dark"/>
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/toolbar_flat"
|
||||
|
@ -122,9 +114,7 @@
|
|||
android:background="@drawable/dashboard_button_light"
|
||||
android:scaleType="fitCenter"
|
||||
app:srcCompat="@drawable/ic_flat_list_dark"
|
||||
android:visibility="gone"
|
||||
android:layout_marginEnd="@dimen/multi_selection_menu_padding_top"
|
||||
android:layout_marginStart="@dimen/multi_selection_menu_padding_top" />
|
||||
android:visibility="gone"/>
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/toolbar_edit"
|
||||
|
@ -136,9 +126,7 @@
|
|||
android:background="@drawable/dashboard_button_light"
|
||||
android:scaleType="fitCenter"
|
||||
app:srcCompat="@drawable/ic_action_edit_dark"
|
||||
android:visibility="gone"
|
||||
android:layout_marginEnd="@dimen/multi_selection_menu_padding_top"
|
||||
android:layout_marginStart="@dimen/multi_selection_menu_padding_top" />
|
||||
android:visibility="gone"/>
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
||||
|
|
|
@ -13,8 +13,7 @@
|
|||
android:layout_marginRight="@dimen/content_padding"
|
||||
android:layout_marginStart="@dimen/content_padding"
|
||||
android:layout_marginBottom="@dimen/content_padding_small"
|
||||
tools:ignore="UselessParent"
|
||||
android:layout_marginEnd="@dimen/content_padding">
|
||||
tools:ignore="UselessParent">
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/button_container"
|
||||
|
|
|
@ -45,7 +45,7 @@
|
|||
osmand:typeface="@string/font_roboto_medium" />
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/btn_save_container"
|
||||
android:id="@+id/btn_save"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginRight="@dimen/content_padding_half"
|
||||
|
@ -53,12 +53,12 @@
|
|||
android:layout_gravity="center_vertical">
|
||||
|
||||
<net.osmand.plus.widgets.TextViewEx
|
||||
android:id="@+id/btn_save"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="start"
|
||||
android:gravity="center_vertical"
|
||||
android:duplicateParentState="true"
|
||||
android:background="@drawable/btn_border_active"
|
||||
android:paddingStart="@dimen/content_padding"
|
||||
android:paddingLeft="@dimen/content_padding"
|
||||
android:paddingTop="@dimen/content_padding_half"
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="match_parent"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:orientation="vertical">
|
||||
|
||||
<View
|
||||
|
@ -59,7 +58,7 @@
|
|||
android:layout_gravity="center_vertical|start"
|
||||
android:textColor="?android:textColorPrimary"
|
||||
android:textSize="@dimen/default_list_text_size_large"
|
||||
tools:text="Item title"/>
|
||||
android:text="Item title"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
|
|
@ -1,14 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1dp"
|
||||
android:background="?attr/list_background_color">
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginStart="@dimen/settings_divider_margin_start"
|
||||
android:layout_marginLeft="@dimen/settings_divider_margin_start"
|
||||
android:background="?attr/divider_color_basic" />
|
||||
|
||||
</FrameLayout>
|
|
@ -14,6 +14,4 @@
|
|||
android:textColor="?attr/active_color_basic"
|
||||
android:textSize="@dimen/default_desc_text_size"
|
||||
app:typeface="@string/font_roboto_medium"
|
||||
tools:text="@string/read_more"
|
||||
android:paddingStart="@dimen/content_padding_half"
|
||||
android:paddingEnd="@dimen/content_padding_half" />
|
||||
tools:text="@string/read_more" />
|
|
@ -1,14 +1,13 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:orientation="horizontal"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingLeft="16dp"
|
||||
android:paddingRight="16dp"
|
||||
android:minHeight="50dp"
|
||||
android:layout_marginBottom="5dp"
|
||||
android:orientation="horizontal"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingLeft="16dp"
|
||||
android:paddingRight="16dp"
|
||||
android:minHeight="50dp"
|
||||
android:layout_marginBottom="5dp"
|
||||
android:paddingStart="16dp"
|
||||
android:paddingEnd="16dp">
|
||||
|
||||
|
@ -70,7 +69,7 @@
|
|||
android:textColor="@color/color_myloc_distance"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:layout_marginTop="2dp"
|
||||
tools:text="Cinema"
|
||||
android:text="Cinema"
|
||||
android:layout_marginRight="16dp"
|
||||
android:layout_marginEnd="16dp" />
|
||||
|
||||
|
|
|
@ -20,9 +20,7 @@
|
|||
android:layout_marginLeft="@dimen/content_padding"
|
||||
android:layout_marginTop="@dimen/content_padding"
|
||||
android:layout_marginRight="@dimen/content_padding"
|
||||
app:srcCompat="@drawable/ic_action_sdcard_warning_colored"
|
||||
android:layout_marginStart="@dimen/content_padding"
|
||||
android:layout_marginEnd="@dimen/content_padding" />
|
||||
app:srcCompat="@drawable/ic_action_sdcard_warning_colored" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
|
@ -31,9 +29,7 @@
|
|||
android:layout_marginTop="@dimen/measurement_tool_menu_title_padding_top"
|
||||
android:layout_marginRight="@dimen/content_padding"
|
||||
android:layout_marginBottom="@dimen/measurement_tool_menu_title_padding_top"
|
||||
android:orientation="vertical"
|
||||
android:layout_marginStart="@dimen/content_padding"
|
||||
android:layout_marginEnd="@dimen/content_padding">
|
||||
android:orientation="vertical">
|
||||
|
||||
<net.osmand.plus.widgets.TextViewEx
|
||||
android:id="@+id/warning_title"
|
||||
|
|
|
@ -27,9 +27,7 @@
|
|||
android:paddingBottom="@dimen/content_padding_half"
|
||||
tools:itemCount="3"
|
||||
tools:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
|
||||
tools:listitem="@layout/point_editor_icon_category_item"
|
||||
android:paddingStart="@dimen/content_padding"
|
||||
android:paddingEnd="@dimen/content_padding" />
|
||||
tools:listitem="@layout/point_editor_icon_category_item" />
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/track_list"
|
||||
|
|
|
@ -1,229 +1,232 @@
|
|||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:osmand="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="bottom"
|
||||
android:background="?attr/bottom_menu_view_bg"
|
||||
android:orientation="horizontal"
|
||||
tools:context="net.osmand.plus.download.ui.DataStoragePlaceDialogFragment">
|
||||
xmlns:osmand="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="bottom"
|
||||
android:background="?attr/bottom_menu_view_bg"
|
||||
android:orientation="horizontal"
|
||||
tools:context="net.osmand.plus.download.ui.DataStoragePlaceDialogFragment">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent">
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/folderIconImageView"
|
||||
android:layout_width="56dp"
|
||||
android:layout_height="56dp"
|
||||
android:layout_marginTop="4dp"
|
||||
android:layout_marginEnd="@dimen/content_padding"
|
||||
android:layout_marginRight="@dimen/content_padding"
|
||||
android:scaleType="center"
|
||||
tools:background="@color/color_warning"
|
||||
tools:src="@drawable/ic_action_folder" />
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/folderIconImageView"
|
||||
android:layout_width="56dp"
|
||||
android:layout_height="56dp"
|
||||
android:layout_marginRight="@dimen/content_padding"
|
||||
android:layout_marginTop="4dp"
|
||||
android:layout_row="0"
|
||||
android:scaleType="center"
|
||||
tools:background="@color/color_warning"
|
||||
tools:src="@drawable/ic_action_folder"
|
||||
android:layout_marginEnd="@dimen/content_padding" />
|
||||
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:orientation="vertical">
|
||||
<LinearLayout
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:orientation="vertical">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal">
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/title"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="fill_horizontal"
|
||||
android:layout_weight="1"
|
||||
android:paddingTop="22dp"
|
||||
android:text="@string/application_dir"
|
||||
android:textColor="?android:attr/textColorPrimary"
|
||||
android:textSize="@dimen/dialog_header_text_size" />
|
||||
<TextView
|
||||
android:id="@+id/title"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="fill_horizontal"
|
||||
android:layout_weight="1"
|
||||
android:paddingTop="22dp"
|
||||
android:text="@string/application_dir"
|
||||
android:textColor="?android:attr/textColorPrimary"
|
||||
android:textSize="@dimen/dialog_header_text_size"/>
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/closeImageButton"
|
||||
style="@style/Widget.AppCompat.Button.Borderless"
|
||||
android:layout_width="44dp"
|
||||
android:layout_height="44dp"
|
||||
android:contentDescription="@string/shared_string_close"
|
||||
osmand:srcCompat="@drawable/ic_action_remove_dark"
|
||||
tools:background="@color/color_warning" />
|
||||
<ImageButton
|
||||
android:id="@+id/closeImageButton"
|
||||
android:contentDescription="@string/shared_string_close"
|
||||
style="@style/Widget.AppCompat.Button.Borderless"
|
||||
android:layout_width="44dp"
|
||||
android:layout_height="44dp"
|
||||
osmand:srcCompat="@drawable/ic_action_remove_dark"
|
||||
tools:background="@color/color_warning"/>
|
||||
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/description"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="4dp"
|
||||
android:layout_marginBottom="24dp"
|
||||
android:text="@string/application_dir_description"
|
||||
android:textColor="?android:textColorSecondary"
|
||||
android:textSize="16sp" />
|
||||
<TextView
|
||||
android:id="@+id/description"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="fill_horizontal"
|
||||
android:layout_marginBottom="24dp"
|
||||
android:layout_marginTop="4dp"
|
||||
android:textColor="?android:textColorSecondary"
|
||||
android:text="@string/application_dir_description"
|
||||
android:textSize="16sp"/>
|
||||
|
||||
<ScrollView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
<ScrollView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/deviceMemoryRow"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="?attr/selectableItemBackground"
|
||||
android:orientation="horizontal">
|
||||
<LinearLayout
|
||||
android:id="@+id/deviceMemoryRow"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="?attr/selectableItemBackground"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/deviceMemoryImageView"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="56dp"
|
||||
android:paddingStart="@dimen/content_padding"
|
||||
android:paddingLeft="@dimen/content_padding"
|
||||
android:paddingEnd="@dimen/content_padding"
|
||||
android:paddingRight="@dimen/content_padding"
|
||||
android:scaleType="center"
|
||||
osmand:srcCompat="@drawable/ic_action_phone"
|
||||
tools:background="@color/color_warning" />
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/deviceMemoryImageView"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="56dp"
|
||||
android:paddingRight="@dimen/content_padding"
|
||||
android:scaleType="center"
|
||||
osmand:srcCompat="@drawable/ic_action_phone"
|
||||
tools:background="@color/color_warning"
|
||||
android:paddingEnd="@dimen/content_padding" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:orientation="vertical">
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/deviceMemoryTitle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center_vertical"
|
||||
android:text="@string/storage_directory_external"
|
||||
android:textColor="?android:attr/textColorPrimary" />
|
||||
<TextView
|
||||
android:id="@+id/deviceMemoryTitle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="fill_horizontal"
|
||||
android:gravity="center_vertical"
|
||||
android:text="@string/storage_directory_external"
|
||||
android:textColor="?android:attr/textColorPrimary"
|
||||
/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/deviceMemoryDescription"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="?android:attr/textColorSecondary"
|
||||
tools:text="Free: 568 Mb" />
|
||||
<TextView
|
||||
android:id="@+id/deviceMemoryDescription"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="fill_horizontal"
|
||||
android:textColor="?android:attr/textColorSecondary"
|
||||
tools:text="Free: 568 Mb"/>
|
||||
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
|
||||
<View
|
||||
android:id="@+id/divSharedStorage"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1dp"
|
||||
android:layout_gravity="fill_horizontal"
|
||||
android:background="@color/divider_color" />
|
||||
<View
|
||||
android:id="@+id/divSharedStorage"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1dp"
|
||||
android:layout_gravity="fill_horizontal"
|
||||
android:background="@color/divider_color"/>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/sharedMemoryRow"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="?attr/selectableItemBackground"
|
||||
android:orientation="horizontal">
|
||||
<LinearLayout
|
||||
android:id="@+id/sharedMemoryRow"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="?attr/selectableItemBackground"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/sharedMemoryImageView"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="56dp"
|
||||
android:paddingStart="@dimen/content_padding"
|
||||
android:paddingLeft="@dimen/content_padding"
|
||||
android:paddingEnd="@dimen/content_padding"
|
||||
android:paddingRight="@dimen/content_padding"
|
||||
android:scaleType="center"
|
||||
osmand:srcCompat="@drawable/ic_action_phone"
|
||||
tools:background="@color/color_warning" />
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/sharedMemoryImageView"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="56dp"
|
||||
android:paddingRight="@dimen/content_padding"
|
||||
android:scaleType="center"
|
||||
osmand:srcCompat="@drawable/ic_action_phone"
|
||||
tools:background="@color/color_warning"
|
||||
android:paddingEnd="@dimen/content_padding" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:orientation="vertical">
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/sharedMemoryTitle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/storage_directory_shared"
|
||||
android:textColor="?android:attr/textColorPrimary" />
|
||||
<TextView
|
||||
android:id="@+id/sharedMemoryTitle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="fill_horizontal"
|
||||
android:text="@string/storage_directory_shared"
|
||||
android:textColor="?android:attr/textColorPrimary"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/sharedMemoryDescription"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="?android:attr/textColorSecondary"
|
||||
tools:text="Free: 9 Gb" />
|
||||
<TextView
|
||||
android:id="@+id/sharedMemoryDescription"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="fill_horizontal"
|
||||
android:textColor="?android:attr/textColorSecondary"
|
||||
tools:text="Free: 9 Gb"/>
|
||||
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
|
||||
<View
|
||||
android:id="@+id/divExtStorage"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1dp"
|
||||
android:layout_gravity="fill_horizontal"
|
||||
android:background="@color/divider_color" />
|
||||
<View
|
||||
android:id="@+id/divExtStorage"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1dp"
|
||||
android:layout_gravity="fill_horizontal"
|
||||
android:background="@color/divider_color"/>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/memoryStickRow"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="?attr/selectableItemBackground"
|
||||
android:orientation="horizontal">
|
||||
<LinearLayout
|
||||
android:id="@+id/memoryStickRow"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="?attr/selectableItemBackground"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/memoryStickImageView"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="56dp"
|
||||
android:paddingStart="@dimen/content_padding"
|
||||
android:paddingLeft="@dimen/content_padding"
|
||||
android:paddingEnd="@dimen/content_padding"
|
||||
android:paddingRight="@dimen/content_padding"
|
||||
android:scaleType="center"
|
||||
osmand:srcCompat="@drawable/ic_sdcard"
|
||||
tools:background="@color/color_warning" />
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/memoryStickImageView"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="56dp"
|
||||
android:paddingRight="@dimen/content_padding"
|
||||
android:scaleType="center"
|
||||
osmand:srcCompat="@drawable/ic_sdcard"
|
||||
tools:background="@color/color_warning"
|
||||
android:paddingEnd="@dimen/content_padding" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:orientation="vertical">
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/memoryStickTitle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/storage_directory_card"
|
||||
android:textColor="?android:attr/textColorPrimary" />
|
||||
<TextView
|
||||
android:id="@+id/memoryStickTitle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="fill_horizontal"
|
||||
android:text="@string/storage_directory_card"
|
||||
android:textColor="?android:attr/textColorPrimary"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/memoryStickDescription"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="?android:attr/textColorSecondary"
|
||||
tools:text="Free: 9 Gb" />
|
||||
<TextView
|
||||
android:id="@+id/memoryStickDescription"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="fill_horizontal"
|
||||
android:textColor="?android:attr/textColorSecondary"
|
||||
tools:text="Free: 9 Gb"/>
|
||||
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
|
||||
</ScrollView>
|
||||
</ScrollView>
|
||||
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
|
@ -52,9 +52,7 @@
|
|||
android:paddingRight="@dimen/content_padding"
|
||||
android:paddingBottom="@dimen/bottom_sheet_title_padding_bottom"
|
||||
android:visibility="invisible"
|
||||
tools:visibility="visible"
|
||||
android:paddingEnd="@dimen/content_padding"
|
||||
android:paddingStart="@dimen/content_padding">
|
||||
tools:visibility="visible">
|
||||
|
||||
<net.osmand.plus.widgets.TextViewEx
|
||||
android:id="@+id/file_size"
|
||||
|
@ -96,9 +94,7 @@
|
|||
android:layout_marginLeft="@dimen/content_padding_half"
|
||||
android:layout_marginTop="@dimen/content_padding_half"
|
||||
android:layout_marginRight="@dimen/content_padding_half"
|
||||
android:layout_marginBottom="@dimen/content_padding_half"
|
||||
android:layout_marginEnd="@dimen/content_padding_half"
|
||||
android:layout_marginStart="@dimen/content_padding_half">
|
||||
android:layout_marginBottom="@dimen/content_padding_half">
|
||||
|
||||
<include
|
||||
android:id="@+id/continue_button"
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
|
@ -9,7 +10,40 @@
|
|||
android:id="@+id/app_bar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical" />
|
||||
android:orientation="vertical">
|
||||
|
||||
<androidx.appcompat.widget.Toolbar
|
||||
android:id="@+id/toolbar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/dashboard_map_toolbar"
|
||||
android:background="?attr/pstsTabBackground"
|
||||
android:minHeight="@dimen/dashboard_map_toolbar"
|
||||
android:theme="?attr/toolbar_theme"
|
||||
app:contentInsetEnd="0dp"
|
||||
app:contentInsetLeft="@dimen/settings_divider_margin_start"
|
||||
app:contentInsetRight="0dp"
|
||||
app:contentInsetStart="@dimen/settings_divider_margin_start">
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/toolbar_action"
|
||||
android:layout_width="@dimen/standard_icon_size"
|
||||
android:layout_height="@dimen/standard_icon_size"
|
||||
android:layout_gravity="end"
|
||||
android:layout_marginTop="@dimen/content_padding"
|
||||
android:layout_marginEnd="@dimen/content_padding"
|
||||
android:layout_marginRight="@dimen/content_padding"
|
||||
android:layout_marginBottom="@dimen/content_padding"
|
||||
android:background="@null"
|
||||
android:contentDescription="@string/shared_string_help"
|
||||
tools:src="@drawable/ic_action_help" />
|
||||
|
||||
</androidx.appcompat.widget.Toolbar>
|
||||
|
||||
<include layout="@layout/preference_toolbar_switch" />
|
||||
|
||||
<include layout="@layout/list_item_import" />
|
||||
|
||||
</com.google.android.material.appbar.AppBarLayout>
|
||||
|
||||
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout
|
||||
android:id="@+id/swipe_refresh"
|
||||
|
@ -20,15 +54,13 @@
|
|||
android:id="@android:id/list"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:clipToPadding="false"
|
||||
android:divider="@null"
|
||||
android:drawSelectorOnTop="true"
|
||||
android:footerDividersEnabled="false"
|
||||
android:groupIndicator="@null"
|
||||
android:headerDividersEnabled="false"
|
||||
android:orientation="vertical"
|
||||
android:paddingBottom="@dimen/bottom_sheet_list_item_height"
|
||||
tools:context=".liveupdates.LiveUpdatesFragment" />
|
||||
tools:context=".liveupdates.LiveUpdatesFragmentNew" />
|
||||
|
||||
</androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
|
||||
|
||||
|
|
|
@ -13,314 +13,291 @@
|
|||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="bottom"
|
||||
android:background="@drawable/bg_bottom_menu_dark"
|
||||
android:orientation="vertical"
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
tools:ignore="UselessParent">
|
||||
android:focusable="true">
|
||||
|
||||
<ProgressBar
|
||||
android:id="@+id/snap_to_road_progress_bar"
|
||||
style="?android:attr/progressBarStyleHorizontal"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:minHeight="0dp"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible" />
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/up_down_row"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/measurement_tool_up_down_row_height"
|
||||
android:background="?attr/selectableItemBackground">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/main_icon"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentLeft="true"
|
||||
android:layout_alignParentStart="true"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_marginEnd="@dimen/measurement_tool_text_button_padding"
|
||||
android:layout_marginLeft="@dimen/measurement_tool_text_button_padding"
|
||||
android:layout_marginRight="@dimen/measurement_tool_text_button_padding"
|
||||
android:layout_marginStart="@dimen/measurement_tool_text_button_padding"
|
||||
android:background="@null"
|
||||
tools:src="@drawable/ic_action_ruler"/>
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/up_down_button"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_alignParentRight="true"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_marginEnd="@dimen/bottom_sheet_content_margin"
|
||||
android:layout_marginLeft="@dimen/bottom_sheet_content_margin"
|
||||
android:layout_marginRight="@dimen/bottom_sheet_content_margin"
|
||||
android:layout_marginStart="@dimen/bottom_sheet_content_margin"
|
||||
android:background="@null"
|
||||
tools:src="@drawable/ic_action_arrow_down"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/measurement_distance_text_view"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/measurement_tool_button_padding"
|
||||
android:layout_marginEnd="@dimen/text_margin_small"
|
||||
android:layout_marginLeft="@dimen/measurement_tool_text_button_padding"
|
||||
android:layout_marginRight="@dimen/text_margin_small"
|
||||
android:layout_marginStart="@dimen/measurement_tool_text_button_padding"
|
||||
android:layout_toEndOf="@id/main_icon"
|
||||
android:layout_toRightOf="@id/main_icon"
|
||||
android:textAppearance="@style/TextAppearance.ListItemCategoryTitle"
|
||||
tools:text="724 m,"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/measurement_points_text_view"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/measurement_tool_button_padding"
|
||||
android:layout_toEndOf="@id/measurement_distance_text_view"
|
||||
android:layout_toRightOf="@id/measurement_distance_text_view"
|
||||
android:layout_alignEnd="@id/up_down_button"
|
||||
android:layout_alignRight="@id/up_down_button"
|
||||
android:textAppearance="@style/TextAppearance.ListItemCategoryTitle"
|
||||
tools:text="points: 3" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/distance_to_center_text_view"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/measurement_points_text_view"
|
||||
android:layout_alignStart="@+id/measurement_distance_text_view"
|
||||
android:layout_alignLeft="@+id/measurement_distance_text_view"
|
||||
android:maxLines="1"
|
||||
android:textColor="?android:textColorSecondary"
|
||||
android:textSize="@dimen/default_desc_text_size"
|
||||
tools:text=" – 700 m" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/move_point_text"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_marginEnd="@dimen/text_margin_small"
|
||||
android:layout_marginLeft="@dimen/measurement_tool_text_margin"
|
||||
android:layout_marginRight="@dimen/text_margin_small"
|
||||
android:layout_marginStart="@dimen/measurement_tool_text_margin"
|
||||
android:layout_toEndOf="@id/main_icon"
|
||||
android:layout_toRightOf="@id/main_icon"
|
||||
android:text="@string/move_point"
|
||||
android:textAppearance="@style/TextAppearance.ListItemTitle"
|
||||
android:visibility="gone"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/add_point_before_after_text"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_marginEnd="@dimen/text_margin_small"
|
||||
android:layout_marginLeft="@dimen/measurement_tool_text_margin"
|
||||
android:layout_marginRight="@dimen/text_margin_small"
|
||||
android:layout_marginStart="@dimen/measurement_tool_text_margin"
|
||||
android:layout_toEndOf="@id/main_icon"
|
||||
android:layout_toRightOf="@id/main_icon"
|
||||
android:textAppearance="@style/TextAppearance.ListItemTitle"
|
||||
android:visibility="gone"
|
||||
tools:text="@string/add_point_after"/>
|
||||
</RelativeLayout>
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/info_type_buttons_container"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<View
|
||||
<include
|
||||
layout="@layout/custom_radio_buttons"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:background="@drawable/bg_contextmenu_shadow_top_light" />
|
||||
|
||||
<ProgressBar
|
||||
android:id="@+id/snap_to_road_progress_bar"
|
||||
style="?android:attr/progressBarStyleHorizontal"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:minHeight="0dp"
|
||||
android:background="?attr/list_background_color"
|
||||
android:visibility="invisible"
|
||||
tools:visibility="visible" />
|
||||
android:layout_height="@dimen/measurement_tool_button_height"
|
||||
android:layout_marginStart="@dimen/content_padding"
|
||||
android:layout_marginEnd="@dimen/content_padding"
|
||||
android:layout_marginBottom="@dimen/measurement_tool_content_padding_medium" />
|
||||
|
||||
</FrameLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/main_content"
|
||||
<FrameLayout
|
||||
android:id="@+id/cards_container"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="?attr/list_background_color"
|
||||
android:orientation="vertical">
|
||||
android:layout_height="@dimen/measurement_tool_info_cards_container_height"
|
||||
android:visibility="gone" />
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/up_down_row"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/measurement_tool_up_down_row_height"
|
||||
android:background="?attr/selectableItemBackground">
|
||||
<View
|
||||
android:id="@+id/bottom_panel_divider"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1dp"
|
||||
android:background="?attr/dashboard_divider" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/main_icon"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentLeft="true"
|
||||
android:layout_alignParentStart="true"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_marginEnd="@dimen/measurement_tool_text_button_padding"
|
||||
android:layout_marginLeft="@dimen/measurement_tool_text_button_padding"
|
||||
android:layout_marginRight="@dimen/measurement_tool_text_button_padding"
|
||||
android:layout_marginStart="@dimen/measurement_tool_text_button_padding"
|
||||
android:background="@null"
|
||||
tools:src="@drawable/ic_action_ruler"/>
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/up_down_button"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_alignParentRight="true"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_marginEnd="@dimen/bottom_sheet_content_margin"
|
||||
android:layout_marginLeft="@dimen/bottom_sheet_content_margin"
|
||||
android:layout_marginRight="@dimen/bottom_sheet_content_margin"
|
||||
android:layout_marginStart="@dimen/bottom_sheet_content_margin"
|
||||
android:background="@null"
|
||||
tools:src="@drawable/ic_action_arrow_down"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/measurement_distance_text_view"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/measurement_tool_button_padding"
|
||||
android:layout_marginEnd="@dimen/text_margin_small"
|
||||
android:layout_marginLeft="@dimen/measurement_tool_text_button_padding"
|
||||
android:layout_marginRight="@dimen/text_margin_small"
|
||||
android:layout_marginStart="@dimen/measurement_tool_text_button_padding"
|
||||
android:layout_toEndOf="@id/main_icon"
|
||||
android:layout_toRightOf="@id/main_icon"
|
||||
android:textAppearance="@style/TextAppearance.ListItemCategoryTitle"
|
||||
tools:text="724 m,"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/measurement_points_text_view"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/measurement_tool_button_padding"
|
||||
android:layout_toEndOf="@id/measurement_distance_text_view"
|
||||
android:layout_toRightOf="@id/measurement_distance_text_view"
|
||||
android:layout_alignEnd="@id/up_down_button"
|
||||
android:layout_alignRight="@id/up_down_button"
|
||||
android:textAppearance="@style/TextAppearance.ListItemCategoryTitle"
|
||||
tools:text="points: 3" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/distance_to_center_text_view"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/measurement_points_text_view"
|
||||
android:layout_alignStart="@+id/measurement_distance_text_view"
|
||||
android:layout_alignLeft="@+id/measurement_distance_text_view"
|
||||
android:maxLines="1"
|
||||
android:textColor="?android:textColorSecondary"
|
||||
android:textSize="@dimen/default_desc_text_size"
|
||||
tools:text=" – 700 m" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/move_point_text"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_marginEnd="@dimen/text_margin_small"
|
||||
android:layout_marginLeft="@dimen/measurement_tool_text_margin"
|
||||
android:layout_marginRight="@dimen/text_margin_small"
|
||||
android:layout_marginStart="@dimen/measurement_tool_text_margin"
|
||||
android:layout_toEndOf="@id/main_icon"
|
||||
android:layout_toRightOf="@id/main_icon"
|
||||
android:text="@string/move_point"
|
||||
android:textAppearance="@style/TextAppearance.ListItemTitle"
|
||||
android:visibility="gone"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/add_point_before_after_text"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_marginEnd="@dimen/text_margin_small"
|
||||
android:layout_marginLeft="@dimen/measurement_tool_text_margin"
|
||||
android:layout_marginRight="@dimen/text_margin_small"
|
||||
android:layout_marginStart="@dimen/measurement_tool_text_margin"
|
||||
android:layout_toEndOf="@id/main_icon"
|
||||
android:layout_toRightOf="@id/main_icon"
|
||||
android:textAppearance="@style/TextAppearance.ListItemTitle"
|
||||
android:visibility="gone"
|
||||
tools:text="@string/add_point_after"/>
|
||||
</RelativeLayout>
|
||||
<LinearLayout
|
||||
android:id="@+id/measure_mode_controls"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/measurement_tool_controls_height"
|
||||
android:paddingTop="@dimen/measurement_tool_button_margin"
|
||||
android:paddingBottom="@dimen/measurement_tool_button_margin"
|
||||
android:paddingLeft="@dimen/measurement_tool_button_margin"
|
||||
android:paddingRight="@dimen/measurement_tool_button_margin">
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/info_type_buttons_container"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="1">
|
||||
|
||||
<net.osmand.plus.widgets.TextViewEx
|
||||
android:id="@+id/options_button"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:background="?attr/selectableItemBackground"
|
||||
android:ellipsize="end"
|
||||
android:gravity="center_vertical"
|
||||
android:maxLines="1"
|
||||
android:paddingStart="@dimen/measurement_tool_text_button_padding_small"
|
||||
android:paddingLeft="@dimen/measurement_tool_text_button_padding_small"
|
||||
android:paddingEnd="@dimen/measurement_tool_text_button_padding_small"
|
||||
android:paddingRight="@dimen/measurement_tool_text_button_padding_small"
|
||||
android:text="@string/shared_string_options"
|
||||
android:textColor="?attr/color_dialog_buttons"
|
||||
osmand:typeface="@string/font_roboto_medium"/>
|
||||
</FrameLayout>
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/undo_point_button"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="?attr/selectableItemBackground"
|
||||
android:padding="@dimen/measurement_tool_undo_redo_padding_small"
|
||||
android:contentDescription="@string/shared_string_undo"
|
||||
tools:src="@drawable/ic_action_undo_dark"/>
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/redo_point_button"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="@dimen/measurement_tool_button_padding"
|
||||
android:layout_marginStart="@dimen/measurement_tool_button_padding"
|
||||
android:background="?attr/selectableItemBackground"
|
||||
android:padding="@dimen/measurement_tool_undo_redo_padding_small"
|
||||
android:contentDescription="@string/shared_string_redo"
|
||||
tools:src="@drawable/ic_action_redo_dark"/>
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="1">
|
||||
|
||||
<include
|
||||
layout="@layout/custom_radio_buttons"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/measurement_tool_button_height"
|
||||
android:layout_marginStart="@dimen/content_padding"
|
||||
android:layout_marginEnd="@dimen/content_padding"
|
||||
android:layout_marginBottom="@dimen/measurement_tool_content_padding_medium" />
|
||||
android:id="@+id/add_point_button"
|
||||
layout="@layout/bottom_sheet_dialog_button"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_gravity="end"
|
||||
android:minWidth="@dimen/measurement_tool_button_width" />
|
||||
|
||||
</FrameLayout>
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/cards_container"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/measurement_tool_info_cards_container_height"
|
||||
android:visibility="gone" />
|
||||
</LinearLayout>
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/move_point_controls"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/measurement_tool_controls_height"
|
||||
android:visibility="gone">
|
||||
|
||||
<include
|
||||
android:id="@+id/apply_move_point_button"
|
||||
layout="@layout/bottom_sheet_dialog_button"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="@dimen/measurement_tool_button_height"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_alignParentRight="true"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_marginEnd="@dimen/measurement_tool_button_margin"
|
||||
android:layout_marginRight="@dimen/measurement_tool_button_margin"
|
||||
android:minWidth="@dimen/measurement_tool_button_width" />
|
||||
|
||||
<net.osmand.plus.widgets.TextViewEx
|
||||
android:id="@+id/cancel_move_point_button"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_margin="@dimen/measurement_tool_button_margin"
|
||||
android:background="?attr/selectableItemBackground"
|
||||
android:gravity="center_vertical"
|
||||
android:padding="@dimen/measurement_tool_text_button_padding_small"
|
||||
android:text="@string/shared_string_cancel"
|
||||
android:textColor="?attr/color_dialog_buttons"
|
||||
osmand:typeface="@string/font_roboto_medium"/>
|
||||
</RelativeLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/add_point_before_after_controls"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/measurement_tool_controls_height"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal"
|
||||
android:visibility="gone">
|
||||
|
||||
<net.osmand.plus.widgets.TextViewEx
|
||||
android:id="@+id/cancel_point_before_after_button"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_margin="@dimen/measurement_tool_button_margin"
|
||||
android:background="?attr/selectableItemBackground"
|
||||
android:gravity="center_vertical"
|
||||
android:padding="@dimen/measurement_tool_text_button_padding_small"
|
||||
android:text="@string/shared_string_cancel"
|
||||
android:textColor="?attr/color_dialog_buttons"
|
||||
osmand:typeface="@string/font_roboto_medium"/>
|
||||
|
||||
<View
|
||||
android:id="@+id/bottom_panel_divider"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1dp"
|
||||
android:background="?attr/dashboard_divider" />
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="1"/>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/measure_mode_controls"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/measurement_tool_controls_height"
|
||||
android:paddingTop="@dimen/measurement_tool_button_margin"
|
||||
android:paddingBottom="@dimen/measurement_tool_button_margin"
|
||||
android:paddingLeft="@dimen/measurement_tool_button_margin"
|
||||
android:paddingRight="@dimen/measurement_tool_button_margin"
|
||||
android:paddingStart="@dimen/measurement_tool_button_margin"
|
||||
android:paddingEnd="@dimen/measurement_tool_button_margin">
|
||||
<include
|
||||
android:id="@+id/apply_point_before_after_point_button"
|
||||
android:layout_height="@dimen/measurement_tool_button_height"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:layout_width="@dimen/measurement_tool_button_width"
|
||||
android:layout_marginEnd="@dimen/measurement_tool_button_margin"
|
||||
android:layout_marginRight="@dimen/measurement_tool_button_margin"
|
||||
layout="@layout/bottom_sheet_dialog_button" />
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="1">
|
||||
|
||||
<net.osmand.plus.widgets.TextViewEx
|
||||
android:id="@+id/options_button"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:background="?attr/selectableItemBackground"
|
||||
android:ellipsize="end"
|
||||
android:gravity="center_vertical"
|
||||
android:maxLines="1"
|
||||
android:paddingStart="@dimen/measurement_tool_text_button_padding_small"
|
||||
android:paddingLeft="@dimen/measurement_tool_text_button_padding_small"
|
||||
android:paddingEnd="@dimen/measurement_tool_text_button_padding_small"
|
||||
android:paddingRight="@dimen/measurement_tool_text_button_padding_small"
|
||||
android:text="@string/shared_string_options"
|
||||
android:textColor="?attr/color_dialog_buttons"
|
||||
osmand:typeface="@string/font_roboto_medium"/>
|
||||
</FrameLayout>
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/undo_point_button"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="?attr/selectableItemBackground"
|
||||
android:padding="@dimen/measurement_tool_undo_redo_padding_small"
|
||||
android:contentDescription="@string/shared_string_undo"
|
||||
tools:src="@drawable/ic_action_undo_dark"/>
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/redo_point_button"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="@dimen/measurement_tool_button_padding"
|
||||
android:layout_marginStart="@dimen/measurement_tool_button_padding"
|
||||
android:background="?attr/selectableItemBackground"
|
||||
android:padding="@dimen/measurement_tool_undo_redo_padding_small"
|
||||
android:contentDescription="@string/shared_string_redo"
|
||||
tools:src="@drawable/ic_action_redo_dark"/>
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="1">
|
||||
|
||||
<include
|
||||
android:id="@+id/add_point_button"
|
||||
layout="@layout/bottom_sheet_dialog_button"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_gravity="end"
|
||||
android:minWidth="@dimen/measurement_tool_button_width" />
|
||||
|
||||
</FrameLayout>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/move_point_controls"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/measurement_tool_controls_height"
|
||||
android:visibility="gone">
|
||||
|
||||
<include
|
||||
android:id="@+id/apply_move_point_button"
|
||||
layout="@layout/bottom_sheet_dialog_button"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="@dimen/measurement_tool_button_height"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_alignParentRight="true"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_marginEnd="@dimen/measurement_tool_button_margin"
|
||||
android:layout_marginRight="@dimen/measurement_tool_button_margin"
|
||||
android:minWidth="@dimen/measurement_tool_button_width" />
|
||||
|
||||
<net.osmand.plus.widgets.TextViewEx
|
||||
android:id="@+id/cancel_move_point_button"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_margin="@dimen/measurement_tool_button_margin"
|
||||
android:background="?attr/selectableItemBackground"
|
||||
android:gravity="center_vertical"
|
||||
android:padding="@dimen/measurement_tool_text_button_padding_small"
|
||||
android:text="@string/shared_string_cancel"
|
||||
android:textColor="?attr/color_dialog_buttons"
|
||||
osmand:typeface="@string/font_roboto_medium"/>
|
||||
</RelativeLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/add_point_before_after_controls"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/measurement_tool_controls_height"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal"
|
||||
android:visibility="gone">
|
||||
|
||||
<net.osmand.plus.widgets.TextViewEx
|
||||
android:id="@+id/cancel_point_before_after_button"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_margin="@dimen/measurement_tool_button_margin"
|
||||
android:background="?attr/selectableItemBackground"
|
||||
android:gravity="center_vertical"
|
||||
android:padding="@dimen/measurement_tool_text_button_padding_small"
|
||||
android:text="@string/shared_string_cancel"
|
||||
android:textColor="?attr/color_dialog_buttons"
|
||||
osmand:typeface="@string/font_roboto_medium"/>
|
||||
|
||||
<View
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="1"/>
|
||||
|
||||
<include
|
||||
android:id="@+id/apply_point_before_after_point_button"
|
||||
android:layout_height="@dimen/measurement_tool_button_height"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:layout_width="@dimen/measurement_tool_button_width"
|
||||
android:layout_marginEnd="@dimen/measurement_tool_button_margin"
|
||||
android:layout_marginRight="@dimen/measurement_tool_button_margin"
|
||||
layout="@layout/bottom_sheet_dialog_button" />
|
||||
|
||||
<include
|
||||
android:id="@+id/add_point_before_after_button"
|
||||
android:layout_height="@dimen/measurement_tool_button_height"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:layout_width="@dimen/measurement_tool_button_width"
|
||||
android:layout_marginEnd="@dimen/measurement_tool_button_margin"
|
||||
android:layout_marginRight="@dimen/measurement_tool_button_margin"
|
||||
layout="@layout/bottom_sheet_dialog_button" />
|
||||
|
||||
</LinearLayout>
|
||||
<include
|
||||
android:id="@+id/add_point_before_after_button"
|
||||
android:layout_height="@dimen/measurement_tool_button_height"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:layout_width="@dimen/measurement_tool_button_width"
|
||||
android:layout_marginEnd="@dimen/measurement_tool_button_margin"
|
||||
android:layout_marginRight="@dimen/measurement_tool_button_margin"
|
||||
layout="@layout/bottom_sheet_dialog_button" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
|
|
@ -44,9 +44,7 @@
|
|||
android:textAlignment="center"
|
||||
android:textColor="?android:textColorPrimary"
|
||||
android:textSize="20sp"
|
||||
app:typeface="@string/font_roboto_medium"
|
||||
android:layout_marginStart="@dimen/content_padding"
|
||||
android:layout_marginEnd="@dimen/content_padding" />
|
||||
app:typeface="@string/font_roboto_medium" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/start_opr_description"
|
||||
|
@ -60,9 +58,7 @@
|
|||
android:textColor="?android:textColorPrimary"
|
||||
android:textColorLink="@color/icon_color_active_light"
|
||||
android:textSize="@dimen/default_list_text_size"
|
||||
app:typeface="@string/font_roboto_regular"
|
||||
android:layout_marginEnd="@dimen/content_padding"
|
||||
android:layout_marginStart="@dimen/content_padding" />
|
||||
app:typeface="@string/font_roboto_regular" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
@ -77,9 +73,7 @@
|
|||
android:layout_marginTop="@dimen/content_padding_small"
|
||||
android:layout_marginRight="@dimen/content_padding"
|
||||
android:layout_marginBottom="@dimen/content_padding_small"
|
||||
android:orientation="vertical"
|
||||
android:layout_marginStart="@dimen/content_padding"
|
||||
android:layout_marginEnd="@dimen/content_padding">
|
||||
android:orientation="vertical">
|
||||
|
||||
<include
|
||||
android:id="@+id/register_opr_create_account"
|
||||
|
|
|
@ -158,9 +158,7 @@
|
|||
android:paddingBottom="@dimen/dialog_content_margin"
|
||||
android:layout_marginLeft="@dimen/content_padding"
|
||||
android:layout_marginRight="@dimen/content_padding"
|
||||
android:stepSize="1"
|
||||
android:layout_marginStart="@dimen/content_padding"
|
||||
android:layout_marginEnd="@dimen/content_padding" />
|
||||
android:stepSize="1" />
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
|
@ -238,9 +236,7 @@
|
|||
android:layout_weight="1"
|
||||
android:layout_marginLeft="@dimen/content_padding"
|
||||
android:layout_marginRight="@dimen/content_padding"
|
||||
android:stepSize="1"
|
||||
android:layout_marginStart="@dimen/content_padding"
|
||||
android:layout_marginEnd="@dimen/content_padding" />
|
||||
android:stepSize="1" />
|
||||
|
||||
<net.osmand.plus.widgets.TextViewEx
|
||||
android:id="@+id/zoom_value_max"
|
||||
|
|
|
@ -45,9 +45,7 @@
|
|||
android:textColor="?attr/app_bar_primary_item_color"
|
||||
android:textSize="@dimen/dialog_header_text_size"
|
||||
app:typeface="@string/font_roboto_medium"
|
||||
tools:text="@string/routing_settings_2"
|
||||
android:layout_marginStart="@dimen/content_padding"
|
||||
android:layout_marginEnd="@dimen/content_padding" />
|
||||
tools:text="@string/routing_settings_2" />
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/action_button"
|
||||
|
|
|
@ -52,7 +52,7 @@
|
|||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/top_line_blocks"
|
||||
android:id="@+id/average_range"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
|
@ -171,7 +171,7 @@
|
|||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/bottom_line_blocks"
|
||||
android:id="@+id/ascent_descent"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
|
@ -273,7 +273,6 @@
|
|||
</LinearLayout>
|
||||
|
||||
<View
|
||||
android:id="@+id/details_divider"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1dp"
|
||||
android:background="?attr/dashboard_divider" />
|
||||
|
|
|
@ -52,7 +52,7 @@
|
|||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/top_line_blocks"
|
||||
android:id="@+id/distance_time_span"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
|
@ -171,7 +171,7 @@
|
|||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/bottom_line_blocks"
|
||||
android:id="@+id/start_end_time"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
|
@ -291,7 +291,6 @@
|
|||
</LinearLayout>
|
||||
|
||||
<View
|
||||
android:id="@+id/details_divider"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1dp"
|
||||
android:background="?attr/dashboard_divider" />
|
||||
|
|
|
@ -120,9 +120,7 @@
|
|||
android:paddingLeft="@dimen/content_padding"
|
||||
android:paddingTop="@dimen/content_padding_half"
|
||||
android:paddingRight="@dimen/content_padding"
|
||||
android:paddingBottom="@dimen/content_padding_half"
|
||||
android:paddingEnd="@dimen/content_padding"
|
||||
android:paddingStart="@dimen/content_padding">
|
||||
android:paddingBottom="@dimen/content_padding_half">
|
||||
|
||||
<TextView
|
||||
android:layout_width="0dp"
|
||||
|
|
|
@ -52,7 +52,7 @@
|
|||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/top_line_blocks"
|
||||
android:id="@+id/average_max"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
|
@ -172,7 +172,7 @@
|
|||
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/bottom_line_blocks"
|
||||
android:id="@+id/time_distance"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
|
@ -200,7 +200,7 @@
|
|||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@null"
|
||||
android:text="@string/moving_time"
|
||||
android:text="@string/shared_string_time_moving"
|
||||
android:textColor="?android:attr/textColorSecondary"
|
||||
android:textSize="@dimen/default_desc_text_size" />
|
||||
|
||||
|
@ -221,7 +221,7 @@
|
|||
android:layout_width="wrap_content"
|
||||
android:layout_height="@dimen/poi_icon_size"
|
||||
android:layout_marginTop="2dp"
|
||||
osmand:srcCompat="@drawable/ic_action_time_moving_16" />
|
||||
osmand:srcCompat="@drawable/ic_action_time_span" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
@ -275,7 +275,6 @@
|
|||
</LinearLayout>
|
||||
|
||||
<View
|
||||
android:id="@+id/details_divider"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1dp"
|
||||
android:background="?attr/dashboard_divider" />
|
||||
|
|
|
@ -4,9 +4,7 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
|
||||
<include
|
||||
android:id="@+id/list_item_divider"
|
||||
layout="@layout/list_item_divider" />
|
||||
<include layout="@layout/list_item_divider" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
|
@ -21,9 +19,7 @@
|
|||
android:layout_marginLeft="@dimen/content_padding"
|
||||
android:layout_marginRight="@dimen/content_padding"
|
||||
android:minHeight="@dimen/dialog_button_height"
|
||||
android:paddingTop="@dimen/content_padding"
|
||||
android:layout_marginStart="@dimen/content_padding"
|
||||
android:layout_marginEnd="@dimen/content_padding" />
|
||||
android:paddingTop="@dimen/content_padding" />
|
||||
|
||||
<net.osmand.plus.views.controls.WrapContentHeightViewPager
|
||||
android:id="@+id/pager"
|
||||
|
|
|
@ -20,9 +20,7 @@
|
|||
android:textSize="@dimen/default_desc_text_size"
|
||||
osmand:lineHeight="@dimen/default_desc_line_height"
|
||||
osmand:typeface="@string/font_roboto_regular"
|
||||
tools:text="Amsterdam is the Netherlands' capital and financial, cultural and creative centre with more"
|
||||
android:layout_marginEnd="@dimen/content_padding"
|
||||
android:layout_marginStart="@dimen/content_padding" />
|
||||
tools:text="Amsterdam is the Netherlands' capital and financial, cultural and creative centre with more" />
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/recycler_overview"
|
||||
|
|
|
@ -5,10 +5,8 @@
|
|||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:padding="@dimen/content_padding"
|
||||
android:paddingStart="@dimen/content_padding"
|
||||
android:paddingLeft="@dimen/content_padding"
|
||||
android:paddingTop="@dimen/content_padding"
|
||||
android:paddingRight="@dimen/content_padding"
|
||||
android:paddingEnd="@dimen/content_padding">
|
||||
|
||||
<View
|
||||
|
@ -45,9 +43,4 @@
|
|||
|
||||
</LinearLayout>
|
||||
|
||||
<View
|
||||
android:id="@+id/space"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/content_padding" />
|
||||
|
||||
</LinearLayout>
|
|
@ -30,9 +30,7 @@
|
|||
android:textColor="?android:textColorPrimary"
|
||||
android:textSize="@dimen/default_list_text_size"
|
||||
app:typeface="@string/font_roboto_regular"
|
||||
tools:text="@string/plugin_disabled_descr"
|
||||
android:paddingEnd="@dimen/content_padding"
|
||||
android:paddingStart="@dimen/content_padding" />
|
||||
tools:text="@string/plugin_disabled_descr" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/buttons_container"
|
||||
|
@ -41,9 +39,7 @@
|
|||
android:layout_marginLeft="@dimen/content_padding_half"
|
||||
android:layout_marginTop="@dimen/list_header_settings_top_margin"
|
||||
android:layout_marginRight="@dimen/content_padding_half"
|
||||
android:orientation="vertical"
|
||||
android:layout_marginStart="@dimen/content_padding_half"
|
||||
android:layout_marginEnd="@dimen/content_padding_half" />
|
||||
android:orientation="vertical" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
|
|
@ -19,9 +19,7 @@
|
|||
android:text="@string/import_track_descr"
|
||||
android:textAppearance="@style/TextAppearance.ContextMenuSubtitle"
|
||||
android:textColor="?android:textColorSecondary"
|
||||
osmand:typeface="@string/font_roboto_regular"
|
||||
android:paddingEnd="@dimen/content_padding"
|
||||
android:paddingStart="@dimen/content_padding" />
|
||||
osmand:typeface="@string/font_roboto_regular" />
|
||||
|
||||
<include layout="@layout/bottom_sheet_item_simple" />
|
||||
|
||||
|
|
|
@ -22,9 +22,7 @@
|
|||
android:text="@string/export_profile_dialog_description"
|
||||
android:textColor="?android:textColorPrimary"
|
||||
android:textSize="@dimen/default_list_text_size"
|
||||
app:typeface="@string/font_roboto_regular"
|
||||
android:paddingStart="@dimen/content_padding"
|
||||
android:paddingEnd="@dimen/content_padding" />
|
||||
app:typeface="@string/font_roboto_regular" />
|
||||
|
||||
<include
|
||||
android:id="@+id/topSwitchDivider"
|
||||
|
|
|
@ -64,9 +64,7 @@
|
|||
android:textColor="?android:textColorPrimary"
|
||||
android:textSize="@dimen/default_list_text_size"
|
||||
app:typeface="@string/font_roboto_regular"
|
||||
tools:text="@string/plugin_disabled_descr"
|
||||
android:paddingStart="@dimen/content_padding"
|
||||
android:paddingEnd="@dimen/content_padding" />
|
||||
tools:text="@string/plugin_disabled_descr" />
|
||||
|
||||
<include layout="@layout/card_bottom_divider" />
|
||||
|
||||
|
|
|
@ -84,12 +84,12 @@
|
|||
<androidx.appcompat.widget.SwitchCompat
|
||||
android:id="@+id/compound_button"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/content_padding"
|
||||
android:layout_marginLeft="@dimen/content_padding"
|
||||
android:layout_marginEnd="@dimen/content_padding"
|
||||
android:layout_marginRight="@dimen/content_padding"
|
||||
android:focusable="false"
|
||||
android:paddingStart="@dimen/content_padding"
|
||||
android:paddingLeft="@dimen/content_padding"
|
||||
android:paddingEnd="@dimen/content_padding"
|
||||
android:paddingRight="@dimen/content_padding"
|
||||
tools:checked="true" />
|
||||
|
||||
</LinearLayout>
|
|
@ -76,9 +76,7 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:layout_marginLeft="@dimen/dashPadding"
|
||||
android:layout_marginRight="@dimen/dashPadding"
|
||||
android:layout_marginStart="@dimen/dashPadding"
|
||||
android:layout_marginEnd="@dimen/dashPadding" />
|
||||
android:layout_marginRight="@dimen/dashPadding"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
|
|
@ -50,9 +50,7 @@
|
|||
android:gravity="center"
|
||||
android:visibility="gone"
|
||||
android:background="?android:selectableItemBackground"
|
||||
android:textColor="?attr/active_color_basic"
|
||||
android:paddingEnd="@dimen/bottom_sheet_content_margin"
|
||||
android:paddingStart="@dimen/bottom_sheet_content_margin" />
|
||||
android:textColor="?attr/active_color_basic" />
|
||||
|
||||
<androidx.appcompat.widget.SwitchCompat
|
||||
android:id="@+id/disable_group_switch"
|
||||
|
|
|
@ -4,9 +4,6 @@
|
|||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="?attr/list_background_color"
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
android:orientation="vertical">
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
|
|
|
@ -26,9 +26,7 @@
|
|||
android:text="@string/navigate_to_track_descr"
|
||||
android:textColor="@color/preference_category_title"
|
||||
android:textSize="@dimen/default_desc_text_size"
|
||||
osmand:typeface="@string/font_roboto_medium"
|
||||
android:paddingEnd="@dimen/content_padding"
|
||||
android:paddingStart="@dimen/content_padding" />
|
||||
osmand:typeface="@string/font_roboto_medium" />
|
||||
|
||||
<include
|
||||
android:id="@+id/pass_whole_route_container"
|
||||
|
|
|
@ -15,9 +15,7 @@
|
|||
osmand:typeface="@string/font_roboto_medium"
|
||||
android:textColor="@color/active_color_primary_light"
|
||||
android:textSize="@dimen/default_list_text_size"
|
||||
android:text="@string/navigation_profile"
|
||||
android:layout_marginEnd="@dimen/content_padding"
|
||||
android:layout_marginStart="@dimen/content_padding" />
|
||||
android:text="@string/navigation_profile" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/content_container"
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue