diff --git a/OsmAnd-api/src/net/osmand/aidlapi/map/SetMapLocationParams.java b/OsmAnd-api/src/net/osmand/aidlapi/map/SetMapLocationParams.java index 9da5ee83f0..d441682da5 100644 --- a/OsmAnd-api/src/net/osmand/aidlapi/map/SetMapLocationParams.java +++ b/OsmAnd-api/src/net/osmand/aidlapi/map/SetMapLocationParams.java @@ -10,12 +10,14 @@ public class SetMapLocationParams extends AidlParams { private double latitude; private double longitude; private int zoom; + private float rotation; private boolean animated; - public SetMapLocationParams(double latitude, double longitude, int zoom, boolean animated) { + public SetMapLocationParams(double latitude, double longitude, int zoom, float rotation, boolean animated) { this.latitude = latitude; this.longitude = longitude; this.zoom = zoom; + this.rotation = rotation; this.animated = animated; } @@ -47,6 +49,10 @@ public class SetMapLocationParams extends AidlParams { return zoom; } + public float getRotation() { + return rotation; + } + public boolean isAnimated() { return animated; } @@ -56,6 +62,7 @@ public class SetMapLocationParams extends AidlParams { bundle.putDouble("latitude", latitude); bundle.putDouble("longitude", longitude); bundle.putInt("zoom", zoom); + bundle.putFloat("rotation", rotation); bundle.putBoolean("animated", animated); } @@ -64,6 +71,7 @@ public class SetMapLocationParams extends AidlParams { latitude = bundle.getDouble("latitude"); longitude = bundle.getDouble("longitude"); zoom = bundle.getInt("zoom"); + rotation = bundle.getFloat("rotation"); animated = bundle.getBoolean("animated"); } } \ No newline at end of file diff --git a/OsmAnd-java/src/main/java/net/osmand/GPXUtilities.java b/OsmAnd-java/src/main/java/net/osmand/GPXUtilities.java index aec72cbbcb..d55b9e1e3e 100644 --- a/OsmAnd-java/src/main/java/net/osmand/GPXUtilities.java +++ b/OsmAnd-java/src/main/java/net/osmand/GPXUtilities.java @@ -49,6 +49,8 @@ public class GPXUtilities { private static final String ICON_NAME_EXTENSION = "icon"; private static final String DEFAULT_ICON_NAME = "special_star"; private static final String BACKGROUND_TYPE_EXTENSION = "background"; + private static final String PROFILE_TYPE_EXTENSION = "profile"; + private static final String TRKPT_INDEX_EXTENSION = "trkpt_idx"; private final static String GPX_TIME_FORMAT = "yyyy-MM-dd'T'HH:mm:ss'Z'"; //$NON-NLS-1$ private final static String GPX_TIME_FORMAT_MILLIS = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"; //$NON-NLS-1$ @@ -305,6 +307,26 @@ public class GPXUtilities { getExtensionsToWrite().put(BACKGROUND_TYPE_EXTENSION, backType); } + public String getProfileType() { + return getExtensionsToRead().get(PROFILE_TYPE_EXTENSION); + } + + public void setProfileType(String profileType) { + getExtensionsToWrite().put(PROFILE_TYPE_EXTENSION, profileType); + } + + public int getTrkPtIndex() { + try { + return Integer.parseInt(getExtensionsToRead().get(TRKPT_INDEX_EXTENSION)); + }catch(NumberFormatException e){ + return -1; + } + } + + public void setTrkPtIndex(int index) { + getExtensionsToWrite().put(TRKPT_INDEX_EXTENSION, String.valueOf(index)); + } + @Override public int hashCode() { final int prime = 31; diff --git a/OsmAnd-java/src/main/java/net/osmand/util/Algorithms.java b/OsmAnd-java/src/main/java/net/osmand/util/Algorithms.java index d302c91da7..925f886a19 100644 --- a/OsmAnd-java/src/main/java/net/osmand/util/Algorithms.java +++ b/OsmAnd-java/src/main/java/net/osmand/util/Algorithms.java @@ -41,11 +41,11 @@ public class Algorithms { private static final int BUFFER_SIZE = 1024; private static final Log log = PlatformUtil.getLog(Algorithms.class); - public static boolean isEmpty(Collection c) { + public static boolean isEmpty(Collection c) { return c == null || c.size() == 0; } - public static boolean isEmpty(Map map) { + public static boolean isEmpty(Map map) { return map == null || map.size() == 0; } @@ -498,6 +498,7 @@ public class Algorithms { } responseBody.append(s); } + i.close(); } return responseBody; } diff --git a/OsmAnd-telegram/res/values-it/strings.xml b/OsmAnd-telegram/res/values-it/strings.xml index 4a5b4218f4..15986c05a0 100644 --- a/OsmAnd-telegram/res/values-it/strings.xml +++ b/OsmAnd-telegram/res/values-it/strings.xml @@ -196,7 +196,7 @@ Telegram Telegram (l\'applicazione di messaggistica) viene usato per connettersi e comunicare con le persone. Il tracker OsmAnd è uno dei client utilizzati dalla piattaforma aperta Telegram. I tuoi contatti possono usare un qualsiasi cliente Telegram. - Cliccando continua tu sottoscrivi le condizioni di Privacy di Telegram e quelle di OsmAnd. + Cliccando \"Continua\" tu sottoscrivi le condizioni di privacy di Telegram e quelle di OsmAnd. Accettazione Come funziona Informativa sulla privacy di Telegram @@ -257,4 +257,12 @@ Fuso orario Unità di misura della velocità Torna a OsmAnd + Stato di OsmAnd Tracker + Suggerito + %1$s fa + Ultima risposta: %1$s fa + Ultimo aggiornamento da Telegram: %1$s fa + Ultima risposta: %1$s + Ultimo aggiornamento da Telegram: %1$s + ERR \ No newline at end of file diff --git a/OsmAnd-telegram/res/values-pt-rPT/strings.xml b/OsmAnd-telegram/res/values-pt-rPT/strings.xml index 1d32c5f8b3..40b67220ba 100644 --- a/OsmAnd-telegram/res/values-pt-rPT/strings.xml +++ b/OsmAnd-telegram/res/values-pt-rPT/strings.xml @@ -25,11 +25,11 @@ Bate-papos ativos Minutos por quilômetro Funcionamento em segundo plano - Ocultar contatos que não foram movidos em um determinado momento. + Ocultar contactos que não foram movidos num determinado momento. Configurações de GPX Digite o nome do contato ou do grupo min/m - Senha do telegrama + Palavra-passe do telegrama Última localização atualizada: Parado Mostrar quantidade de pontos de GPS coletados e enviados. @@ -71,7 +71,7 @@ Conectar OsmAnd Por favor, instale o Telegram e configure uma conta. Quilômetros por hora - Senha + Palavra-passe Distância mínima de registro Gravar Iniciar @@ -92,7 +92,7 @@ Mais tarde Minha localização Instalar OsmAnd - Telegrama (o aplicativo de mensagens) é usado para conectar e se comunicar com as pessoas. + Telegrama (a app de mensagens) é usado para conectar e se comunicar com as pessoas. Não é possível enviar para bate-papo do Telegram: Ainda não enviado %1$d pontos @@ -108,7 +108,7 @@ Expira Enviar localização como Sair - O aplicativo não tem permissão para acessar os dados de localização. + A app não tem permissão para acessar os dados de localização. Milhas por hora Pode criar e visualizar o ID do aparelho no cliente de telegrama usando o bot de bate-papo %1$s. %2$s Voltar @@ -208,7 +208,7 @@ Velocidade média Situação km/h - Então você pode usar este aplicativo. + Então pode usar esta app. Configurações Vá para as configurações Uma faixa GPX é salva automaticamente durante a navegação. diff --git a/OsmAnd-telegram/res/values-pt/strings.xml b/OsmAnd-telegram/res/values-pt/strings.xml index fe4559ac9c..ecd23c5bcd 100644 --- a/OsmAnd-telegram/res/values-pt/strings.xml +++ b/OsmAnd-telegram/res/values-pt/strings.xml @@ -58,7 +58,7 @@ Desativar monitoramento Gravação de localização ativada Ative o monitoramento para salvar todos os locais no histórico. - Telegrama (o aplicativo de mensagens) é usado para conectar e se comunicar com as pessoas. + Telegrama (a app de mensagens) é usado para conectar e se comunicar com as pessoas. OsmAnd tracker é um dos clientes que usam a Plataforma aberta do Telegram . Seus contatos podem usar qualquer outro cliente Telegram. Ao clicar em \"Continuar\" você concorda com as condições da política de privacidade do Telegram e OsmAnd. Aceitar @@ -144,7 +144,7 @@ no %1$s Escolha a versão OsmAnd que OsmAnd Tracker usa para exibir posições. Conectar OsmAnd - Ocultar contatos que não foram movidos em um determinado momento. + Ocultar contactos que não foram movidos num determinado momento. Histórico de localização A última vez que um contato foi movido. Parado @@ -161,7 +161,7 @@ Registro no Telegram Você precisa de uma conta do Telegram para usar o compartilhamento de local. Por favor, instale o Telegram e configure uma conta. - Então você pode usar este aplicativo. + Então pode usar esta app. Todos Desligado Você precisa de uma conta e número de telefone registrados no Telegram @@ -190,7 +190,7 @@ Código de Autenticação Uma faixa GPX é salva automaticamente durante a navegação. Digite a palavra-passe - Senha do telegrama + Palavra-passe do Telegram Entrar Sair Iniciando @@ -201,7 +201,7 @@ Continuar Cancelar Configurações - O aplicativo não tem permissão para acessar os dados de localização. + A app não tem permissão para acessar os dados de localização. Por favor, ligue \"Localização\" nas configurações do sistema Selecione um dos provedores de localização para compartilhar sua localização. Modo de fundo diff --git a/OsmAnd-telegram/res/values-ru/strings.xml b/OsmAnd-telegram/res/values-ru/strings.xml index 1890f13acc..fd9ca28bca 100644 --- a/OsmAnd-telegram/res/values-ru/strings.xml +++ b/OsmAnd-telegram/res/values-ru/strings.xml @@ -156,7 +156,7 @@ Политика конфиденциальности Telegram Политика конфиденциальности OsmAnd Получено точек GPX: %1$s - Вид + Внешний вид Показать количество собранных и отправленных точек GPS. Обновите OsmAnd для просмотра данных на карте Обновить @@ -246,7 +246,7 @@ Минимальная скорость регистрации Фильтр: не регистрировать, пока не достигнута необходимая скорость Конец - Начало + Старт Выберите время для отображения Сохраненные сообщения Выберите часовой пояс, чтобы показывать время вашего местоположения в сообщениях. diff --git a/OsmAnd-telegram/src/net/osmand/aidl/map/SetMapLocationParams.java b/OsmAnd-telegram/src/net/osmand/aidl/map/SetMapLocationParams.java index 929c817d9d..7feea74d20 100644 --- a/OsmAnd-telegram/src/net/osmand/aidl/map/SetMapLocationParams.java +++ b/OsmAnd-telegram/src/net/osmand/aidl/map/SetMapLocationParams.java @@ -8,12 +8,15 @@ public class SetMapLocationParams implements Parcelable { private double latitude; private double longitude; private int zoom; - private boolean animated; + private float rotation; - public SetMapLocationParams(double latitude, double longitude, int zoom, boolean animated) { + private boolean animated; + + public SetMapLocationParams(double latitude, double longitude, int zoom, float rotation, boolean animated) { this.latitude = latitude; this.longitude = longitude; this.zoom = zoom; + this.rotation = rotation; this.animated = animated; } @@ -44,6 +47,10 @@ public class SetMapLocationParams implements Parcelable { return zoom; } + public float getRotation() { + return rotation; + } + public boolean isAnimated() { return animated; } @@ -53,6 +60,7 @@ public class SetMapLocationParams implements Parcelable { out.writeDouble(longitude); out.writeInt(zoom); out.writeByte((byte) (animated ? 1 : 0)); + out.writeFloat(rotation); } private void readFromParcel(Parcel in) { @@ -60,6 +68,7 @@ public class SetMapLocationParams implements Parcelable { longitude = in.readDouble(); zoom = in.readInt(); animated = in.readByte() != 0; + rotation = in.readFloat(); } public int describeContents() { diff --git a/OsmAnd-telegram/src/net/osmand/telegram/helpers/OsmandAidlHelper.kt b/OsmAnd-telegram/src/net/osmand/telegram/helpers/OsmandAidlHelper.kt index dd93c294db..338b81c48f 100644 --- a/OsmAnd-telegram/src/net/osmand/telegram/helpers/OsmandAidlHelper.kt +++ b/OsmAnd-telegram/src/net/osmand/telegram/helpers/OsmandAidlHelper.kt @@ -939,7 +939,7 @@ class OsmandAidlHelper(private val app: TelegramApplication) { if (mIOsmAndAidlInterface != null) { try { return mIOsmAndAidlInterface!!.setMapLocation( - SetMapLocationParams(latitude, longitude, zoom, animated)) + SetMapLocationParams(latitude, longitude, zoom, Float.NaN, animated)) } catch (e: RemoteException) { e.printStackTrace() } diff --git a/OsmAnd/res/layout-land/fragment_measurement_tool.xml b/OsmAnd/res/layout-land/fragment_measurement_tool.xml index de02d4e67c..710a81682c 100644 --- a/OsmAnd/res/layout-land/fragment_measurement_tool.xml +++ b/OsmAnd/res/layout-land/fragment_measurement_tool.xml @@ -70,9 +70,9 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerVertical="true" - android:layout_marginEnd="@dimen/text_margin_small" + android:layout_marginEnd="@dimen/measurement_tool_text_margin" android:layout_marginLeft="@dimen/measurement_tool_text_margin" - android:layout_marginRight="@dimen/text_margin_small" + android:layout_marginRight="@dimen/measurement_tool_text_margin" android:layout_marginStart="@dimen/measurement_tool_text_margin" android:layout_toEndOf="@id/main_icon" android:layout_toRightOf="@id/main_icon" @@ -99,6 +99,10 @@ android:layout_toLeftOf="@id/up_down_button" android:layout_toRightOf="@id/measurement_points_text_view" android:layout_toStartOf="@id/up_down_button" + android:layout_marginEnd="@dimen/measurement_tool_text_margin" + android:layout_marginLeft="@dimen/measurement_tool_text_margin" + android:layout_marginRight="@dimen/measurement_tool_text_margin" + android:layout_marginStart="@dimen/measurement_tool_text_margin" android:textColor="@color/color_distance" android:textSize="@dimen/default_list_text_size" tools:text=" – 700 m"/> @@ -154,39 +158,38 @@ android:id="@+id/options_button" android:layout_width="wrap_content" android:layout_height="match_parent" + android:layout_marginTop="@dimen/measurement_tool_button_padding" + android:layout_marginBottom="@dimen/measurement_tool_button_padding" android:background="?attr/selectableItemBackground" android:gravity="center_vertical" android:maxLines="1" android:paddingEnd="@dimen/measurement_tool_text_button_padding_small" - android:paddingLeft="@dimen/measurement_tool_text_button_padding" android:paddingRight="@dimen/measurement_tool_text_button_padding_small" android:paddingStart="@dimen/measurement_tool_text_button_padding" + android:paddingLeft="@dimen/measurement_tool_text_button_padding" android:text="@string/shared_string_options" android:textColor="?attr/color_dialog_buttons" - osmand:textAllCapsCompat="true" osmand:typeface="@string/font_roboto_medium"/> + android:textAllCaps="false" + android:paddingEnd="@dimen/measurement_tool_button_padding" + android:paddingStart="@dimen/measurement_tool_button_padding" /> @@ -242,8 +244,9 @@ android:paddingRight="@dimen/measurement_tool_button_padding" android:text="@string/shared_string_apply" android:textColor="@color/color_white" - android:paddingEnd="@dimen/measurement_tool_button_padding" - android:paddingStart="@dimen/measurement_tool_button_padding" /> + android:textAllCaps="false" + android:paddingEnd="@dimen/measurement_tool_button_padding" + android:paddingStart="@dimen/measurement_tool_button_padding" /> + android:textAllCaps="false" + android:paddingEnd="@dimen/measurement_tool_button_padding" + android:paddingStart="@dimen/measurement_tool_button_padding" />