diff --git a/OsmAnd-api/src/net/osmand/aidlapi/customization/ProfileSettingsParams.java b/OsmAnd-api/src/net/osmand/aidlapi/customization/ProfileSettingsParams.java index 00c68851e7..a22d4e3c91 100644 --- a/OsmAnd-api/src/net/osmand/aidlapi/customization/ProfileSettingsParams.java +++ b/OsmAnd-api/src/net/osmand/aidlapi/customization/ProfileSettingsParams.java @@ -8,6 +8,7 @@ import net.osmand.aidlapi.AidlParams; import net.osmand.aidlapi.profile.AExportSettingsType; import java.util.ArrayList; +import java.util.List; import static net.osmand.aidlapi.profile.ExportProfileParams.SETTINGS_TYPE_KEY; @@ -15,16 +16,18 @@ public class ProfileSettingsParams extends AidlParams { public static final String VERSION_KEY = "version"; public static final String REPLACE_KEY = "replace"; + public static final String SILENT_IMPORT_KEY = "silentImport"; public static final String LATEST_CHANGES_KEY = "latestChanges"; public static final String PROFILE_SETTINGS_URI_KEY = "profileSettingsUri"; private Uri profileSettingsUri; private String latestChanges; private int version; - private ArrayList settingsTypeKeyList = new ArrayList<>(); - boolean replace; + private List settingsTypeKeyList = new ArrayList<>(); + private boolean silent; + private boolean replace; - public ProfileSettingsParams(Uri profileSettingsUri, ArrayList settingsTypeList, boolean replace, - String latestChanges, int version) { + public ProfileSettingsParams(Uri profileSettingsUri, List settingsTypeList, boolean replace, + boolean silent, String latestChanges, int version) { this.profileSettingsUri = profileSettingsUri; for (AExportSettingsType settingsType : settingsTypeList) { settingsTypeKeyList.add(settingsType.name()); @@ -32,6 +35,7 @@ public class ProfileSettingsParams extends AidlParams { this.replace = replace; this.latestChanges = latestChanges; this.version = version; + this.silent = silent; } public ProfileSettingsParams(Parcel in) { @@ -62,7 +66,7 @@ public class ProfileSettingsParams extends AidlParams { return profileSettingsUri; } - public ArrayList getSettingsTypeKeys() { + public List getSettingsTypeKeys() { return settingsTypeKeyList; } @@ -70,13 +74,18 @@ public class ProfileSettingsParams extends AidlParams { return replace; } + public boolean isSilent() { + return silent; + } + @Override public void writeToBundle(Bundle bundle) { bundle.putInt(VERSION_KEY, version); bundle.putString(LATEST_CHANGES_KEY, latestChanges); bundle.putParcelable(PROFILE_SETTINGS_URI_KEY, profileSettingsUri); - bundle.putStringArrayList(SETTINGS_TYPE_KEY, settingsTypeKeyList); + bundle.putStringArrayList(SETTINGS_TYPE_KEY, new ArrayList<>(settingsTypeKeyList)); bundle.putBoolean(REPLACE_KEY, replace); + bundle.putBoolean(SILENT_IMPORT_KEY, silent); } @Override @@ -86,5 +95,6 @@ public class ProfileSettingsParams extends AidlParams { profileSettingsUri = bundle.getParcelable(PROFILE_SETTINGS_URI_KEY); settingsTypeKeyList = bundle.getStringArrayList(SETTINGS_TYPE_KEY); replace = bundle.getBoolean(REPLACE_KEY); + silent = bundle.getBoolean(SILENT_IMPORT_KEY); } } \ No newline at end of file diff --git a/OsmAnd-java/src/main/java/net/osmand/osm/oauth/OsmOAuthAuthorizationClient.java b/OsmAnd-java/src/main/java/net/osmand/osm/oauth/OsmOAuthAuthorizationClient.java index cf2f5a5acc..02a576db5a 100644 --- a/OsmAnd-java/src/main/java/net/osmand/osm/oauth/OsmOAuthAuthorizationClient.java +++ b/OsmAnd-java/src/main/java/net/osmand/osm/oauth/OsmOAuthAuthorizationClient.java @@ -94,6 +94,10 @@ public class OsmOAuthAuthorizationClient { return accessToken; } + public OAuth1RequestToken getRequestToken() { + return requestToken; + } + public Response performRequestWithoutAuth(String url, String requestMethod, String requestBody) throws InterruptedException, ExecutionException, IOException { Verb verb = parseRequestMethod(requestMethod); diff --git a/OsmAnd-java/src/main/java/net/osmand/router/TurnType.java b/OsmAnd-java/src/main/java/net/osmand/router/TurnType.java index 7b67669cf3..6f0db3fa86 100644 --- a/OsmAnd-java/src/main/java/net/osmand/router/TurnType.java +++ b/OsmAnd-java/src/main/java/net/osmand/router/TurnType.java @@ -140,7 +140,7 @@ public class TurnType { r.setTurnAngle(angle); return r; } - + private TurnType(int vl) { this.value = vl; @@ -156,6 +156,10 @@ public class TurnType { return value == RNLB || value == TRU; } + public void setExitOut(int exitOut) { + this.exitOut = exitOut; + } + public void setTurnAngle(float turnAngle) { this.turnAngle = turnAngle; } diff --git a/OsmAnd-java/src/main/java/net/osmand/util/MapUtils.java b/OsmAnd-java/src/main/java/net/osmand/util/MapUtils.java index 15c3364007..7a37eee3aa 100644 --- a/OsmAnd-java/src/main/java/net/osmand/util/MapUtils.java +++ b/OsmAnd-java/src/main/java/net/osmand/util/MapUtils.java @@ -668,8 +668,13 @@ public class MapUtils { public static boolean areLatLonEqual(Location l1, Location l2) { return l1 == null && l2 == null - || (l1 != null && l2 != null && Math.abs(l1.getLatitude() - l2.getLatitude()) < 0.00001 - && Math.abs(l1.getLongitude() - l2.getLongitude()) < 0.00001); + || (l2 != null && areLatLonEqual(l1, l2.getLatitude(), l2.getLongitude())); + } + + public static boolean areLatLonEqual(Location l, double lat, double lon) { + return l != null + && Math.abs(l.getLatitude() - lat) < 0.00001 + && Math.abs(l.getLongitude() - lon) < 0.00001; } public static LatLon rhumbDestinationPoint(LatLon latLon, double distance, double bearing){ diff --git a/OsmAnd/res/drawable-xxhdpi/img_plugin_openplacereviews.webp b/OsmAnd/res/drawable-xxhdpi/img_plugin_openplacereviews.webp new file mode 100644 index 0000000000..97e0b2e58d Binary files /dev/null and b/OsmAnd/res/drawable-xxhdpi/img_plugin_openplacereviews.webp differ diff --git a/OsmAnd/res/layout/center_button_container.xml b/OsmAnd/res/layout/center_button_container.xml new file mode 100644 index 0000000000..05fa83eae0 --- /dev/null +++ b/OsmAnd/res/layout/center_button_container.xml @@ -0,0 +1,20 @@ + + + + + + \ No newline at end of file diff --git a/OsmAnd/res/layout/custom_radio_buttons.xml b/OsmAnd/res/layout/custom_radio_buttons.xml index d768e58004..6ad61aa700 100644 --- a/OsmAnd/res/layout/custom_radio_buttons.xml +++ b/OsmAnd/res/layout/custom_radio_buttons.xml @@ -1,71 +1,34 @@ - + android:layout_weight="1" /> - - - - - + android:visibility="gone" /> - - - - - - - - - + android:layout_weight="1" /> \ No newline at end of file diff --git a/OsmAnd/res/layout/data_storage_memory_used_item.xml b/OsmAnd/res/layout/data_storage_memory_used_item.xml index 0edf24f056..72f49226e8 100644 --- a/OsmAnd/res/layout/data_storage_memory_used_item.xml +++ b/OsmAnd/res/layout/data_storage_memory_used_item.xml @@ -9,7 +9,8 @@ + android:layout_height="wrap_content" + android:minHeight="@dimen/card_row_min_height"> + tools:text="Internal application memory" /> - + - + android:gravity="center_vertical" + android:padding="0dp" /> - - - - - + android:layout_height="0dp" + android:layout_weight="1"> + app:typeface="@string/font_roboto_regular" /> + - + + - \ No newline at end of file + \ No newline at end of file diff --git a/OsmAnd/res/layout/gpx_list_item_tab_content.xml b/OsmAnd/res/layout/gpx_list_item_tab_content.xml index d2ce779b8b..ac7918d06a 100644 --- a/OsmAnd/res/layout/gpx_list_item_tab_content.xml +++ b/OsmAnd/res/layout/gpx_list_item_tab_content.xml @@ -1,24 +1,32 @@ + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="vertical"> - + - + + - + + + \ No newline at end of file diff --git a/OsmAnd/res/layout/item_gpx_stat_block.xml b/OsmAnd/res/layout/item_gpx_stat_block.xml index 18dfa5cdde..dd0ed2a571 100644 --- a/OsmAnd/res/layout/item_gpx_stat_block.xml +++ b/OsmAnd/res/layout/item_gpx_stat_block.xml @@ -10,43 +10,59 @@ android:orientation="horizontal"> + android:gravity="center_vertical" + android:orientation="horizontal" + android:weightSum="2"> - + + + + + diff --git a/OsmAnd/res/layout/left_button_container.xml b/OsmAnd/res/layout/left_button_container.xml new file mode 100644 index 0000000000..c30305819c --- /dev/null +++ b/OsmAnd/res/layout/left_button_container.xml @@ -0,0 +1,20 @@ + + + + + + \ No newline at end of file diff --git a/OsmAnd/res/layout/map_context_menu_fragment.xml b/OsmAnd/res/layout/map_context_menu_fragment.xml index 7a57679825..998123115d 100644 --- a/OsmAnd/res/layout/map_context_menu_fragment.xml +++ b/OsmAnd/res/layout/map_context_menu_fragment.xml @@ -61,6 +61,13 @@ android:layout_gravity="center_vertical" android:text="@string/amenity_type_finance"/> + + diff --git a/OsmAnd/res/layout/right_button_container.xml b/OsmAnd/res/layout/right_button_container.xml new file mode 100644 index 0000000000..98a99f991a --- /dev/null +++ b/OsmAnd/res/layout/right_button_container.xml @@ -0,0 +1,20 @@ + + + + + + \ No newline at end of file diff --git a/OsmAnd/res/layout/subscription_fragment.xml b/OsmAnd/res/layout/subscription_fragment.xml index 59b6f9b1b8..ad308e6be1 100644 --- a/OsmAnd/res/layout/subscription_fragment.xml +++ b/OsmAnd/res/layout/subscription_fragment.xml @@ -1,5 +1,4 @@ - @@ -19,19 +19,19 @@ android:layout_width="52dp" android:layout_height="52dp" android:contentDescription="@string/shared_string_close" - app:srcCompat="@drawable/ic_action_remove_dark"/> + app:srcCompat="@drawable/ic_action_remove_dark" /> + app:typeface="@string/font_roboto_regular" /> @@ -39,7 +39,7 @@ android:layout_width="match_parent" android:layout_height="match_parent"> - + @@ -76,54 +76,81 @@ android:layout_width="56dp" android:layout_height="48dp" android:scaleType="center" - app:srcCompat="@drawable/ic_action_osm_live" - android:tint="@color/osmand_orange"/> + android:tint="@color/osmand_orange" + app:srcCompat="@drawable/ic_action_osm_live" /> + android:textColor="?android:attr/textColorPrimary" /> + android:orientation="horizontal"> + android:layout_marginTop="@dimen/context_menu_second_line_top_margin" + android:layout_marginStart="@dimen/list_content_padding" + android:layout_marginLeft="@dimen/list_content_padding" + android:paddingStart="@dimen/local_size_height" + android:paddingLeft="@dimen/local_size_height" + android:paddingEnd="@dimen/local_size_height" + android:paddingRight="@dimen/local_size_height" + android:text="@string/donation_to_osm" /> - + android:minHeight="56dp" + android:orientation="vertical"> + + + + + + @@ -140,13 +167,13 @@ android:layout_width="match_parent" android:layout_height="1dp" android:layout_marginBottom="6dp" - android:background="?attr/dashboard_divider"/> + android:background="?attr/dashboard_divider" /> @@ -155,47 +182,48 @@ android:layout_width="56dp" android:layout_height="48dp" android:scaleType="center" - app:srcCompat="@drawable/ic_world_globe_dark"/> + app:srcCompat="@drawable/ic_world_globe_dark" /> + android:layout_marginEnd="16dp" + android:layout_marginRight="16dp" + android:orientation="vertical"> + android:textColor="?android:attr/textColorSecondary" /> + app:drawableEndCompat="@drawable/ic_action_arrow_drop_down" + app:drawableRightCompat="@drawable/ic_action_arrow_drop_down" /> + android:textColor="?android:attr/textColorSecondary" /> @@ -213,21 +241,21 @@ android:layout_width="56dp" android:layout_height="48dp" android:scaleType="center" - app:srcCompat="@drawable/ic_action_message"/> + app:srcCompat="@drawable/ic_action_message" /> + android:paddingStart="2dp" + android:paddingLeft="2dp" /> @@ -235,14 +263,14 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="center_vertical" + android:layout_marginStart="72dp" android:layout_marginLeft="72dp" + android:layout_marginEnd="16dp" android:layout_marginRight="16dp" + android:paddingStart="2dp" android:paddingLeft="2dp" android:text="@string/osm_live_email_desc" - android:textColor="?android:attr/textColorSecondary" - android:paddingStart="2dp" - android:layout_marginStart="72dp" - android:layout_marginEnd="16dp" /> + android:textColor="?android:attr/textColorSecondary" /> + app:srcCompat="@drawable/ic_action_user" /> + android:paddingStart="2dp" + android:paddingLeft="2dp" /> @@ -284,16 +312,16 @@ android:id="@+id/hideUserNameCheckbox" android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_marginBottom="12dp" + android:layout_marginStart="72dp" android:layout_marginLeft="72dp" - android:layout_marginRight="16dp" android:layout_marginTop="8dp" + android:layout_marginEnd="16dp" + android:layout_marginRight="16dp" + android:layout_marginBottom="12dp" + android:paddingStart="4dp" android:paddingLeft="4dp" android:text="@string/osm_live_hide_user_name" - android:textColor="?android:attr/textColorPrimary" - android:layout_marginEnd="16dp" - android:paddingStart="4dp" - android:layout_marginStart="72dp" /> + android:textColor="?android:attr/textColorPrimary" /> @@ -303,35 +331,35 @@ android:id="@+id/editModeBottomView" android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_marginBottom="16dp" android:layout_marginTop="16dp" + android:layout_marginBottom="16dp" android:visibility="visible">