Merge branch 'master' into Fix_my_places_edit_fav

This commit is contained in:
Dima-1 2020-05-05 16:42:40 +03:00
commit 7e550e683c
112 changed files with 783 additions and 182 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 601 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 667 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 315 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 827 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 398 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 226 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 559 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 724 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 706 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 372 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 924 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 539 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 781 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2 KiB

View file

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<nine-patch android:src="@drawable/bg_contextmenu_shadow_left_light" />
</item>
<item>
<shape>
<solid
android:color="@color/list_background_color_dark" />
</shape>
</item>
</layer-list>

View file

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<nine-patch android:src="@drawable/bg_contextmenu_shadow_left_light" />
</item>
<item>
<shape>
<solid
android:color="@color/list_background_color_light" />
</shape>
</item>
</layer-list>

View file

@ -0,0 +1,24 @@
<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="M4,2C2.8954,2 2,2.8954 2,4V4.2676C2.2942,4.0974 2.6357,4 3,4H21C21.3643,4 21.7058,4.0974 22,4.2676V4C22,2.8954 21.1046,2 20,2H4Z"
android:strokeAlpha="0.5"
android:fillColor="#ffffff"
android:fillAlpha="0.5"/>
<path
android:pathData="M8.1111,9H16C16.1099,9 16.2048,9.077 16.2275,9.1846L16.8202,12H7.1798L7.7497,9.2933C7.7856,9.1224 7.9364,9 8.1111,9Z"
android:fillColor="#ffffff"/>
<path
android:pathData="M8,15C8.5523,15 9,14.5523 9,14C9,13.4477 8.5523,13 8,13C7.4477,13 7,13.4477 7,14C7,14.5523 7.4477,15 8,15Z"
android:fillColor="#ffffff"/>
<path
android:pathData="M16,15C16.5523,15 17,14.5523 17,14C17,13.4477 16.5523,13 16,13C15.4477,13 15,13.4477 15,14C15,14.5523 15.4477,15 16,15Z"
android:fillColor="#ffffff"/>
<path
android:pathData="M2,4C0.8954,4 0,4.8954 0,6V20C0,21.1046 0.8954,22 2,22H22C23.1046,22 24,21.1046 24,20V6C24,4.8954 23.1046,4 22,4H2ZM6,12.75L6.7711,9.0873C6.9045,8.4536 7.4636,8 8.1111,8H16C16.5828,8 17.0859,8.4082 17.206,8.9785L18,12.75V18C18,18.5523 17.5523,19 17,19C16.4477,19 16,18.5523 16,18V17.5H8V18C8,18.5523 7.5523,19 7,19C6.4477,19 6,18.5523 6,18V12.75Z"
android:fillColor="#ffffff"
android:fillType="evenOdd"/>
</vector>

View file

@ -0,0 +1,19 @@
<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,22V5C22,3.3431 20.6569,2 19,2H5C3.3431,2 2,3.3431 2,5V22H4V7H20V22H22Z"
android:strokeAlpha="0.5"
android:fillColor="#ffffff"
android:fillAlpha="0.5"/>
<path
android:pathData="M4,7h16v5h-16z"
android:fillColor="#ffffff"/>
<path
android:pathData="M4,12h16v10h-16z"
android:strokeAlpha="0.2"
android:fillColor="#ffffff"
android:fillAlpha="0.2"/>
</vector>

View file

@ -0,0 +1,10 @@
<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="M18.5988,5.5545C18.7397,5.593 18.8734,5.6281 19,5.6602V14C19,16.1095 18.9281,16.5624 18.3884,17.1621C18.1087,17.4729 17.6552,17.8508 16.8883,18.3299L16.6011,16.6065C16.5366,16.2195 16.3148,15.8765 15.9884,15.6589L15.7541,15.5027C15.2536,15.1691 14.7108,14.9036 14.1402,14.7134C12.751,14.2503 11.249,14.2503 9.8598,14.7134C9.2892,14.9036 8.7464,15.1691 8.2459,15.5027L8.0116,15.6589C7.6852,15.8765 7.4634,16.2195 7.3989,16.6065L7.1548,18.0714C6.6216,17.7127 6.221,17.3925 5.9142,17.0858C5.5004,16.672 5.3095,16.3264 5.1946,15.9489C5.0634,15.5179 5,14.9433 5,14V5.7348C5.2262,5.6872 5.4712,5.6312 5.7351,5.5653C7.2372,5.1897 9.3455,4.492 12.0591,3.197C15.147,4.4891 17.2321,5.1818 18.5988,5.5545ZM21,14C21,18 21,19 12,23C4,19 3,18 3,14V4C3,4 6,4 12,1C19,4 21,4 21,4V14ZM15,10C15,11.6569 13.6569,13 12,13C10.3431,13 9,11.6569 9,10C9,8.3432 10.3431,7 12,7C13.6569,7 15,8.3432 15,10Z"
android:fillColor="#ffffff"
android:fillType="evenOdd"/>
</vector>

View file

@ -0,0 +1,56 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="360dp"
android:height="90dp"
android:viewportWidth="360"
android:viewportHeight="90">
<path
android:pathData="M0,0h360v90h-360z"
android:fillColor="#F5F5F5"/>
<path
android:pathData="M16,82h328v8h-328z"
android:fillColor="#D7D8DB"/>
<path
android:pathData="M272,20C272,14.477 276.477,10 282,10H344V22H272V20Z"
android:fillColor="#D7D8DB"/>
<path
android:pathData="M272,22H344V82H272V22Z"
android:fillColor="#AEB0B7"/>
<path
android:pathData="M124,33C122.343,33 121,34.343 121,36V67H119V75H128.062C128.554,78.946 131.92,82 136,82C140.08,82 143.446,78.946 143.938,75H201.062C201.554,78.946 204.92,82 209,82C213.08,82 216.446,78.946 216.938,75H222V56L215,41H196V71H193V33H124ZM136,77C134.343,77 133,75.657 133,74C133,72.343 134.343,71 136,71C137.657,71 139,72.343 139,74C139,75.657 137.657,77 136,77ZM206.171,75C206.583,76.165 207.694,77 209,77C210.306,77 211.417,76.165 211.829,75C211.94,74.687 212,74.351 212,74C212,72.343 210.657,71 209,71C207.343,71 206,72.343 206,74C206,74.351 206.06,74.687 206.171,75ZM212.253,45L217,56H200V45H212.253Z"
android:fillColor="#237BFF"
android:fillType="evenOdd"/>
<path
android:pathData="M260,16L266,22L272,16H260Z"
android:fillColor="#EE5622"/>
<path
android:pathData="M260,88L266,82L272,88H260Z"
android:fillColor="#EE5622"/>
<path
android:pathData="M265,26C265,25.448 265.448,25 266,25C266.552,25 267,25.448 267,26V33C267,33.552 266.552,34 266,34C265.448,34 265,33.552 265,33V26Z"
android:fillColor="#EE5622"/>
<path
android:pathData="M265,56C265,55.448 265.448,55 266,55C266.552,55 267,55.448 267,56V63C267,63.552 266.552,64 266,64C265.448,64 265,63.552 265,63V56Z"
android:fillColor="#EE5622"/>
<path
android:pathData="M266,40C265.448,40 265,40.448 265,41V48C265,48.552 265.448,49 266,49C266.552,49 267,48.552 267,48V41C267,40.448 266.552,40 266,40Z"
android:fillColor="#EE5622"/>
<path
android:pathData="M265,71C265,70.448 265.448,70 266,70C266.552,70 267,70.448 267,71V78C267,78.552 266.552,79 266,79C265.448,79 265,78.552 265,78V71Z"
android:fillColor="#EE5622"/>
<path
android:pathData="M82,42C82,59.673 67.673,74 50,74C32.327,74 18,59.673 18,42C18,24.327 32.327,10 50,10C67.673,10 82,24.327 82,42Z"
android:fillColor="#ffffff"/>
<path
android:pathData="M50,68C64.359,68 76,56.359 76,42C76,27.641 64.359,16 50,16C35.641,16 24,27.641 24,42C24,56.359 35.641,68 50,68ZM50,74C67.673,74 82,59.673 82,42C82,24.327 67.673,10 50,10C32.327,10 18,24.327 18,42C18,59.673 32.327,74 50,74Z"
android:fillColor="#EE5622"
android:fillType="evenOdd"/>
<path
android:pathData="M38,22L50,30L62,22H38Z"
android:fillColor="#000000"/>
<path
android:pathData="M46,34V40H54V34H58V50H54V44H46L46,50H42V34H46Z"
android:fillColor="#000000"/>
<path
android:pathData="M50,54L38,62H62L50,54Z"
android:fillColor="#000000"/>
</vector>

View file

@ -0,0 +1,56 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="360dp"
android:height="90dp"
android:viewportWidth="360"
android:viewportHeight="90">
<path
android:pathData="M0,0h360v90h-360z"
android:fillColor="#28292A"/>
<path
android:pathData="M16,82h328v8h-328z"
android:fillColor="#4B4D4E"/>
<path
android:pathData="M272,20C272,14.477 276.477,10 282,10H344V22H272V20Z"
android:fillColor="#4B4C4E"/>
<path
android:pathData="M272,22H344V82H272V22Z"
android:fillColor="#1F1F1F"/>
<path
android:pathData="M124,33C122.343,33 121,34.343 121,36V67H119V75H128.062C128.554,78.946 131.92,82 136,82C140.08,82 143.446,78.946 143.938,75H201.062C201.554,78.946 204.92,82 209,82C213.08,82 216.446,78.946 216.938,75H222V56L215,41H196V71H193V33H124ZM136,77C134.343,77 133,75.657 133,74C133,72.343 134.343,71 136,71C137.657,71 139,72.343 139,74C139,75.657 137.657,77 136,77ZM206.171,75C206.583,76.165 207.694,77 209,77C210.306,77 211.417,76.165 211.829,75C211.94,74.687 212,74.351 212,74C212,72.343 210.657,71 209,71C207.343,71 206,72.343 206,74C206,74.351 206.06,74.687 206.171,75ZM212.253,45L217,56H200V45H212.253Z"
android:fillColor="#237BFF"
android:fillType="evenOdd"/>
<path
android:pathData="M260,16L266,22L272,16H260Z"
android:fillColor="#EE5622"/>
<path
android:pathData="M260,88L266,82L272,88H260Z"
android:fillColor="#EE5622"/>
<path
android:pathData="M265,26C265,25.448 265.448,25 266,25C266.552,25 267,25.448 267,26V33C267,33.552 266.552,34 266,34C265.448,34 265,33.552 265,33V26Z"
android:fillColor="#EE5622"/>
<path
android:pathData="M265,56C265,55.448 265.448,55 266,55C266.552,55 267,55.448 267,56V63C267,63.552 266.552,64 266,64C265.448,64 265,63.552 265,63V56Z"
android:fillColor="#EE5622"/>
<path
android:pathData="M266,40C265.448,40 265,40.448 265,41V48C265,48.552 265.448,49 266,49C266.552,49 267,48.552 267,48V41C267,40.448 266.552,40 266,40Z"
android:fillColor="#EE5622"/>
<path
android:pathData="M265,71C265,70.448 265.448,70 266,70C266.552,70 267,70.448 267,71V78C267,78.552 266.552,79 266,79C265.448,79 265,78.552 265,78V71Z"
android:fillColor="#EE5622"/>
<path
android:pathData="M82,42C82,59.673 67.673,74 50,74C32.327,74 18,59.673 18,42C18,24.327 32.327,10 50,10C67.673,10 82,24.327 82,42Z"
android:fillColor="#F5F5F5"/>
<path
android:pathData="M50,68C64.359,68 76,56.359 76,42C76,27.641 64.359,16 50,16C35.641,16 24,27.641 24,42C24,56.359 35.641,68 50,68ZM50,74C67.673,74 82,59.673 82,42C82,24.327 67.673,10 50,10C32.327,10 18,24.327 18,42C18,59.673 32.327,74 50,74Z"
android:fillColor="#EE5622"
android:fillType="evenOdd"/>
<path
android:pathData="M38,22L50,30L62,22H38Z"
android:fillColor="#000000"/>
<path
android:pathData="M46,34V40H54V34H58V50H54V44H46L46,50H42V34H46Z"
android:fillColor="#000000"/>
<path
android:pathData="M50,54L38,62H62L50,54Z"
android:fillColor="#000000"/>
</vector>

View file

@ -0,0 +1,35 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="360dp"
android:height="90dp"
android:viewportWidth="360"
android:viewportHeight="90">
<path
android:pathData="M0,0h360v90h-360z"
android:fillColor="#F5F5F5"/>
<path
android:pathData="M16,82h328v8h-328z"
android:fillColor="#D7D8DB"/>
<path
android:pathData="M59,30C57.343,30 56,31.343 56,33V64H54V72H63.062C63.554,75.946 66.92,79 71,79C75.08,79 78.446,75.946 78.938,72H136.062C136.554,75.946 139.92,79 144,79C148.08,79 151.446,75.946 151.938,72H157V53L150,38H131V68H128V30H59ZM71,74C69.343,74 68,72.657 68,71C68,69.343 69.343,68 71,68C72.657,68 74,69.343 74,71C74,72.657 72.657,74 71,74ZM141.171,72C141.583,73.165 142.694,74 144,74C145.306,74 146.417,73.165 146.829,72C146.94,71.687 147,71.351 147,71C147,69.343 145.657,68 144,68C142.343,68 141,69.343 141,71C141,71.351 141.06,71.687 141.171,72ZM147.253,42L152,53H135V42H147.253Z"
android:fillColor="#237BFF"
android:fillType="evenOdd"/>
<path
android:pathData="M56,79V82L62,88L68,82L161,82V79H56Z"
android:fillColor="#EE5622"/>
<path
android:pathData="M149,82L155,88L161,82L149,82Z"
android:fillColor="#EE5622"/>
<path
android:pathData="M312,42C312,59.673 297.673,74 280,74C262.327,74 248,59.673 248,42C248,24.327 262.327,10 280,10C297.673,10 312,24.327 312,42Z"
android:fillColor="#ffffff"/>
<path
android:pathData="M280,68C294.359,68 306,56.359 306,42C306,27.641 294.359,16 280,16C265.641,16 254,27.641 254,42C254,56.359 265.641,68 280,68ZM280,74C297.673,74 312,59.673 312,42C312,24.327 297.673,10 280,10C262.327,10 248,24.327 248,42C248,59.673 262.327,74 280,74Z"
android:fillColor="#EE5622"
android:fillType="evenOdd"/>
<path
android:pathData="M282,30L282,44H278V30H272V26H288V30H282Z"
android:fillColor="#000000"/>
<path
android:pathData="M264,48C264,46.895 264.895,46 266,46H268C269.105,46 270,46.895 270,48V50H278C278,48.895 278.895,48 280,48C281.105,48 282,48.895 282,50H290V48C290,46.895 290.895,46 292,46H294C295.105,46 296,46.895 296,48V56C296,57.105 295.105,58 294,58H292C290.895,58 290,57.105 290,56V54L282,54C282,55.105 281.105,56 280,56C278.895,56 278,55.105 278,54H270V56C270,57.105 269.105,58 268,58H266C264.895,58 264,57.105 264,56V48Z"
android:fillColor="#000000"/>
</vector>

View file

@ -0,0 +1,35 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="360dp"
android:height="90dp"
android:viewportWidth="360"
android:viewportHeight="90">
<path
android:pathData="M0,0h360v90h-360z"
android:fillColor="#28292A"/>
<path
android:pathData="M16,82h328v8h-328z"
android:fillColor="#4B4D4E"/>
<path
android:pathData="M59,30C57.343,30 56,31.343 56,33V64H54V72H63.062C63.554,75.946 66.92,79 71,79C75.08,79 78.446,75.946 78.938,72H136.062C136.554,75.946 139.92,79 144,79C148.08,79 151.446,75.946 151.938,72H157V53L150,38H131V68H128V30H59ZM71,74C69.343,74 68,72.657 68,71C68,69.343 69.343,68 71,68C72.657,68 74,69.343 74,71C74,72.657 72.657,74 71,74ZM141.171,72C141.583,73.165 142.694,74 144,74C145.306,74 146.417,73.165 146.829,72C146.94,71.687 147,71.351 147,71C147,69.343 145.657,68 144,68C142.343,68 141,69.343 141,71C141,71.351 141.06,71.687 141.171,72ZM147.253,42L152,53H135V42H147.253Z"
android:fillColor="#237BFF"
android:fillType="evenOdd"/>
<path
android:pathData="M56,79V82L62,88L68,82L161,82V79H56Z"
android:fillColor="#EE5622"/>
<path
android:pathData="M149,82L155,88L161,82L149,82Z"
android:fillColor="#EE5622"/>
<path
android:pathData="M312,42C312,59.673 297.673,74 280,74C262.327,74 248,59.673 248,42C248,24.327 262.327,10 280,10C297.673,10 312,24.327 312,42Z"
android:fillColor="#F5F5F5"/>
<path
android:pathData="M280,68C294.359,68 306,56.359 306,42C306,27.641 294.359,16 280,16C265.641,16 254,27.641 254,42C254,56.359 265.641,68 280,68ZM280,74C297.673,74 312,59.673 312,42C312,24.327 297.673,10 280,10C262.327,10 248,24.327 248,42C248,59.673 262.327,74 280,74Z"
android:fillColor="#EE5622"
android:fillType="evenOdd"/>
<path
android:pathData="M282,30L282,44H278V30H272V26H288V30H282Z"
android:fillColor="#000000"/>
<path
android:pathData="M264,48C264,46.895 264.895,46 266,46H268C269.105,46 270,46.895 270,48V50H278C278,48.895 278.895,48 280,48C281.105,48 282,48.895 282,50H290V48C290,46.895 290.895,46 292,46H294C295.105,46 296,46.895 296,48V56C296,57.105 295.105,58 294,58H292C290.895,58 290,57.105 290,56V54L282,54C282,55.105 281.105,56 280,56C278.895,56 278,55.105 278,54H270V56C270,57.105 269.105,58 268,58H266C264.895,58 264,57.105 264,56V48Z"
android:fillColor="#000000"/>
</vector>

View file

@ -0,0 +1,55 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="360dp"
android:height="90dp"
android:viewportWidth="360"
android:viewportHeight="90">
<path
android:pathData="M0,0h360v90h-360z"
android:fillColor="#F5F5F5"/>
<path
android:pathData="M16,82h328v8h-328z"
android:fillColor="#D7D8DB"/>
<path
android:pathData="M108,89L114,83L108,77V89Z"
android:fillColor="#EE5622"/>
<path
android:pathData="M180,89L174,83L180,77V89Z"
android:fillColor="#EE5622"/>
<path
android:pathData="M118,84C117.448,84 117,83.552 117,83C117,82.448 117.448,82 118,82H125C125.552,82 126,82.448 126,83C126,83.552 125.552,84 125,84H118Z"
android:fillColor="#EE5622"/>
<path
android:pathData="M148,84C147.448,84 147,83.552 147,83C147,82.448 147.448,82 148,82H155C155.552,82 156,82.448 156,83C156,83.552 155.552,84 155,84H148Z"
android:fillColor="#EE5622"/>
<path
android:pathData="M132,83C132,83.552 132.448,84 133,84L140,84C140.552,84 141,83.552 141,83C141,82.448 140.552,82 140,82L133,82C132.448,82 132,82.448 132,83Z"
android:fillColor="#EE5622"/>
<path
android:pathData="M163,84C162.448,84 162,83.552 162,83C162,82.448 162.448,82 163,82H170C170.552,82 171,82.448 171,83C171,83.552 170.552,84 170,84H163Z"
android:fillColor="#EE5622"/>
<path
android:pathData="M168.813,51.648L165.005,37.684C164.412,35.509 162.436,34 160.181,34H127.819C125.564,34 123.588,35.509 122.995,37.684L119.162,51.738L117.012,51.43C115.422,51.203 114,52.437 114,54.042C114,56.228 115.772,58 117.958,58H118V77C118,79.209 119.791,81 122,81C124.209,81 126,79.209 126,77V75H162V77C162,79.209 163.791,81 166,81C168.209,81 170,79.209 170,77V58H170.012C172.214,58 174,56.215 174,54.012C174,52.413 172.598,51.175 171.011,51.374L168.813,51.648ZM160.181,38H127.819C127.368,38 126.973,38.302 126.854,38.737L123.128,52.401C123.659,52.436 124.234,52.471 124.853,52.507C129.155,52.752 135.578,53 144,53C152.422,53 158.845,52.752 163.147,52.507C163.766,52.471 164.341,52.436 164.872,52.401L161.146,38.737C161.027,38.302 160.632,38 160.181,38ZM124,62C124,59.791 125.791,58 128,58C130.209,58 132,59.791 132,62C132,64.209 130.209,66 128,66C125.791,66 124,64.209 124,62ZM156,62C156,59.791 157.791,58 160,58C162.209,58 164,59.791 164,62C164,64.209 162.209,66 160,66C157.791,66 156,64.209 156,62Z"
android:fillColor="#237BFF"
android:fillType="evenOdd"/>
<path
android:pathData="M152,53.5C152,51.015 154.015,49 156.5,49V49C158.985,49 161,51.015 161,53.5V53.5C161,55.985 158.985,58 156.5,58V58C154.015,58 152,55.985 152,53.5V53.5Z"
android:strokeAlpha="0.5"
android:fillColor="#237BFF"
android:fillAlpha="0.5"/>
<path
android:pathData="M312,42C312,59.673 297.673,74 280,74C262.327,74 248,59.673 248,42C248,24.327 262.327,10 280,10C297.673,10 312,24.327 312,42Z"
android:fillColor="#ffffff"/>
<path
android:pathData="M280,68C294.359,68 306,56.359 306,42C306,27.641 294.359,16 280,16C265.641,16 254,27.641 254,42C254,56.359 265.641,68 280,68ZM280,74C297.673,74 312,59.673 312,42C312,24.327 297.673,10 280,10C262.327,10 248,24.327 248,42C248,59.673 262.327,74 280,74Z"
android:fillColor="#EE5622"
android:fillType="evenOdd"/>
<path
android:pathData="M260.002,54L268.002,42L260.002,30V54Z"
android:fillColor="#000000"/>
<path
android:pathData="M276.002,42.004L274.002,34H270.002L274.002,50H278.003L280.002,42.004L282.002,50H286.002L290.002,34H286.002L284.002,42L282.002,34.004L282.003,34H278.002L278.002,34.004L276.002,42.004Z"
android:fillColor="#000000"/>
<path
android:pathData="M292.003,42L300.003,54V30L292.003,42Z"
android:fillColor="#000000"/>
</vector>

View file

@ -0,0 +1,55 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="360dp"
android:height="90dp"
android:viewportWidth="360"
android:viewportHeight="90">
<path
android:pathData="M0,0h360v90h-360z"
android:fillColor="#28292A"/>
<path
android:pathData="M16,82h328v8h-328z"
android:fillColor="#4B4D4E"/>
<path
android:pathData="M108,89L114,83L108,77V89Z"
android:fillColor="#EE5622"/>
<path
android:pathData="M180,89L174,83L180,77V89Z"
android:fillColor="#EE5622"/>
<path
android:pathData="M118,84C117.448,84 117,83.552 117,83C117,82.448 117.448,82 118,82H125C125.552,82 126,82.448 126,83C126,83.552 125.552,84 125,84H118Z"
android:fillColor="#EE5622"/>
<path
android:pathData="M148,84C147.448,84 147,83.552 147,83C147,82.448 147.448,82 148,82H155C155.552,82 156,82.448 156,83C156,83.552 155.552,84 155,84H148Z"
android:fillColor="#EE5622"/>
<path
android:pathData="M132,83C132,83.552 132.448,84 133,84L140,84C140.552,84 141,83.552 141,83C141,82.448 140.552,82 140,82L133,82C132.448,82 132,82.448 132,83Z"
android:fillColor="#EE5622"/>
<path
android:pathData="M163,84C162.448,84 162,83.552 162,83C162,82.448 162.448,82 163,82H170C170.552,82 171,82.448 171,83C171,83.552 170.552,84 170,84H163Z"
android:fillColor="#EE5622"/>
<path
android:pathData="M168.813,51.648L165.005,37.684C164.412,35.509 162.436,34 160.181,34H127.819C125.564,34 123.588,35.509 122.995,37.684L119.162,51.738L117.012,51.43C115.422,51.203 114,52.437 114,54.042C114,56.228 115.772,58 117.958,58H118V77C118,79.209 119.791,81 122,81C124.209,81 126,79.209 126,77V75H162V77C162,79.209 163.791,81 166,81C168.209,81 170,79.209 170,77V58H170.012C172.214,58 174,56.215 174,54.012C174,52.413 172.598,51.175 171.011,51.374L168.813,51.648ZM160.181,38H127.819C127.368,38 126.973,38.302 126.854,38.737L123.128,52.401C123.659,52.436 124.234,52.471 124.853,52.507C129.155,52.752 135.578,53 144,53C152.422,53 158.845,52.752 163.147,52.507C163.766,52.471 164.341,52.436 164.872,52.401L161.146,38.737C161.027,38.302 160.632,38 160.181,38ZM124,62C124,59.791 125.791,58 128,58C130.209,58 132,59.791 132,62C132,64.209 130.209,66 128,66C125.791,66 124,64.209 124,62ZM156,62C156,59.791 157.791,58 160,58C162.209,58 164,59.791 164,62C164,64.209 162.209,66 160,66C157.791,66 156,64.209 156,62Z"
android:fillColor="#237BFF"
android:fillType="evenOdd"/>
<path
android:pathData="M152,53.5C152,51.015 154.015,49 156.5,49V49C158.985,49 161,51.015 161,53.5V53.5C161,55.985 158.985,58 156.5,58V58C154.015,58 152,55.985 152,53.5V53.5Z"
android:strokeAlpha="0.5"
android:fillColor="#237BFF"
android:fillAlpha="0.5"/>
<path
android:pathData="M312,42C312,59.673 297.673,74 280,74C262.327,74 248,59.673 248,42C248,24.327 262.327,10 280,10C297.673,10 312,24.327 312,42Z"
android:fillColor="#F5F5F5"/>
<path
android:pathData="M280,68C294.359,68 306,56.359 306,42C306,27.641 294.359,16 280,16C265.641,16 254,27.641 254,42C254,56.359 265.641,68 280,68ZM280,74C297.673,74 312,59.673 312,42C312,24.327 297.673,10 280,10C262.327,10 248,24.327 248,42C248,59.673 262.327,74 280,74Z"
android:fillColor="#EE5622"
android:fillType="evenOdd"/>
<path
android:pathData="M260.002,54L268.002,42L260.002,30V54Z"
android:fillColor="#000000"/>
<path
android:pathData="M276.002,42.004L274.002,34H270.002L274.002,50H278.003L280.002,42.004L282.002,50H286.002L290.002,34H286.002L284.002,42L282.002,34.004L282.003,34H278.002L278.002,34.004L276.002,42.004Z"
android:fillColor="#000000"/>
<path
android:pathData="M292.003,42L300.003,54V30L292.003,42Z"
android:fillColor="#000000"/>
</vector>

View file

@ -20,7 +20,9 @@
android:layout_height="@dimen/dashboard_map_toolbar"
android:minHeight="@dimen/dashboard_map_toolbar"
app:contentInsetLeft="54dp"
app:contentInsetStart="54dp">
app:contentInsetStart="54dp"
app:contentInsetRight="0dp"
app:contentInsetEnd="0dp">
<LinearLayout
android:layout_width="match_parent"

View file

@ -23,7 +23,9 @@
android:background="?attr/bg_color"
android:minHeight="@dimen/dashboard_map_toolbar"
app:contentInsetLeft="54dp"
app:contentInsetStart="54dp">
app:contentInsetStart="54dp"
app:contentInsetRight="0dp"
app:contentInsetEnd="0dp">
<LinearLayout
android:layout_width="match_parent"

View file

@ -22,7 +22,9 @@
android:minHeight="@dimen/dashboard_map_toolbar"
android:theme="?attr/toolbar_theme"
app:contentInsetLeft="72dp"
app:contentInsetStart="72dp">
app:contentInsetStart="72dp"
app:contentInsetRight="0dp"
app:contentInsetEnd="0dp">
</androidx.appcompat.widget.Toolbar>

View file

@ -7,7 +7,9 @@
android:layout_height="@dimen/bottom_sheet_selected_item_title_height"
android:minHeight="@dimen/bottom_sheet_selected_item_title_height"
osmand:contentInsetLeft="54dp"
osmand:contentInsetStart="54dp">
osmand:contentInsetStart="54dp"
osmand:contentInsetRight="0dp"
osmand:contentInsetEnd="0dp">
<net.osmand.plus.widgets.TextViewEx
android:id="@+id/title"

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center">
@ -31,7 +31,7 @@
android:textColor="@color/gpx_chart_blue"
android:textStyle="bold"
android:ellipsize="end"
android:singleLine="true"/>
android:maxLines="1"/>
<TextView
android:id="@+id/text_alt_units"
@ -41,7 +41,7 @@
android:textSize="@dimen/default_sub_text_size"
android:textColor="?android:attr/textColorSecondary"
android:ellipsize="end"
android:singleLine="true"/>
android:maxLines="1"/>
</LinearLayout>
@ -74,7 +74,7 @@
android:textColor="@color/gpx_chart_orange"
android:textStyle="bold"
android:ellipsize="end"
android:singleLine="true"/>
android:maxLines="1"/>
<TextView
android:id="@+id/text_spd_units"
@ -84,7 +84,7 @@
android:textSize="@dimen/default_sub_text_size"
android:textColor="?android:attr/textColorSecondary"
android:ellipsize="end"
android:singleLine="true"/>
android:maxLines="1"/>
</LinearLayout>
@ -109,7 +109,7 @@
android:textColor="@color/gpx_chart_green"
android:textStyle="bold"
android:ellipsize="end"
android:singleLine="true"/>
android:maxLines="1"/>
<TextView
android:id="@+id/text_slp_units"
@ -119,10 +119,10 @@
android:textSize="@dimen/default_sub_text_size"
android:textColor="?android:attr/textColorSecondary"
android:ellipsize="end"
android:singleLine="true"/>
android:maxLines="1"/>
</LinearLayout>
</LinearLayout>
</RelativeLayout>
</FrameLayout>

View file

@ -8,7 +8,9 @@
android:layout_height="@dimen/dashboard_map_toolbar"
android:background="@color/app_bar_color_light"
app:contentInsetLeft="4dp"
app:contentInsetStart="4dp">
app:contentInsetStart="4dp"
app:contentInsetRight="0dp"
app:contentInsetEnd="0dp">
<LinearLayout
android:layout_width="match_parent"

View file

@ -16,7 +16,9 @@
android:background="?attr/actionModeBackground"
android:minHeight="@dimen/dashboard_map_toolbar"
app:contentInsetLeft="54dp"
app:contentInsetStart="54dp">
app:contentInsetStart="54dp"
app:contentInsetRight="0dp"
app:contentInsetEnd="0dp">
<LinearLayout
android:layout_width="match_parent"

View file

@ -17,7 +17,9 @@
android:minHeight="@dimen/dashboard_map_toolbar"
android:theme="?attr/toolbar_theme"
app:contentInsetLeft="@dimen/settings_divider_margin_start"
app:contentInsetStart="@dimen/settings_divider_margin_start"/>
app:contentInsetStart="@dimen/settings_divider_margin_start"
app:contentInsetRight="0dp"
app:contentInsetEnd="0dp"/>
<ScrollView
android:layout_width="fill_parent"

View file

@ -28,7 +28,9 @@
android:layout_height="match_parent"
android:minHeight="@dimen/dashboard_map_toolbar"
app:contentInsetLeft="54dp"
app:contentInsetStart="54dp">
app:contentInsetStart="54dp"
app:contentInsetRight="0dp"
app:contentInsetEnd="0dp">
<LinearLayout
android:layout_width="match_parent"

View file

@ -18,7 +18,7 @@
style="@style/Widget.AppCompat.Button.Borderless"
android:layout_width="52dp"
android:layout_height="52dp"
android:src="@drawable/ic_action_mode_back"/>
android:src="@drawable/ic_arrow_back"/>
<net.osmand.plus.widgets.TextViewEx
android:id="@+id/titleTextView"

View file

@ -17,7 +17,9 @@
android:gravity="center_vertical"
android:minHeight="@dimen/toolbar_height"
osmand:contentInsetLeft="54dp"
osmand:contentInsetStart="54dp">
osmand:contentInsetStart="54dp"
osmand:contentInsetRight="0dp"
osmand:contentInsetEnd="0dp">
<LinearLayout
android:layout_width="match_parent"

View file

@ -8,7 +8,9 @@
android:background="?attr/actionModeBackground"
android:minHeight="@dimen/toolbar_height"
app:contentInsetLeft="0dp"
app:contentInsetStart="0dp">
app:contentInsetStart="0dp"
app:contentInsetRight="0dp"
app:contentInsetEnd="0dp">
<LinearLayout
android:layout_width="match_parent"
@ -21,7 +23,7 @@
android:layout_width="@dimen/toolbar_height"
android:layout_height="@dimen/toolbar_height"
android:contentDescription="@string/access_shared_string_navigate_up"
android:src="@drawable/ic_action_mode_back" />
android:src="@drawable/ic_arrow_back" />
<LinearLayout
android:layout_width="wrap_content"

View file

@ -7,7 +7,9 @@
android:layout_height="wrap_content"
android:background="?attr/actionModeBackground"
app:contentInsetLeft="0dp"
app:contentInsetStart="0dp">
app:contentInsetStart="0dp"
app:contentInsetRight="0dp"
app:contentInsetEnd="0dp">
<LinearLayout
android:layout_width="match_parent"
@ -27,7 +29,7 @@
android:layout_width="@dimen/toolbar_height"
android:layout_height="@dimen/toolbar_height"
android:contentDescription="@string/access_shared_string_navigate_up"
android:src="@drawable/ic_action_mode_back" />
android:src="@drawable/ic_arrow_back" />
<net.osmand.plus.widgets.TextViewEx
android:id="@+id/toolbar_title"

View file

@ -18,7 +18,9 @@
android:minHeight="@dimen/dashboard_map_toolbar"
android:theme="?attr/toolbar_theme"
app:contentInsetLeft="72dp"
app:contentInsetStart="72dp" />
app:contentInsetStart="72dp"
app:contentInsetRight="0dp"
app:contentInsetEnd="0dp" />
</com.google.android.material.appbar.AppBarLayout>

View file

@ -1,12 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="72dp"
android:background="?attr/bg_color"
android:descendantFocusability="blocksDescendants"
android:minHeight="@dimen/list_item_height"
android:orientation="horizontal">
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/bg_color"
android:descendantFocusability="blocksDescendants"
android:minHeight="@dimen/list_item_height"
android:orientation="horizontal">
<ImageView
android:id="@+id/icon"
@ -16,9 +16,10 @@
android:layout_marginStart="@dimen/list_content_padding"
android:layout_marginRight="@dimen/favorites_icon_right_margin"
android:layout_marginEnd="@dimen/favorites_icon_right_margin"
android:layout_marginTop="@dimen/favorites_icon_top_margin"
android:focusable="false"
android:src="@drawable/ic_map"/>
android:layout_centerVertical="true"
android:src="@drawable/ic_map"
android:contentDescription="@string/map_downloaded" />
<LinearLayout
android:layout_width="match_parent"
@ -39,7 +40,7 @@
android:lines="1"
android:textColor="?android:textColorPrimary"
android:textSize="@dimen/default_list_text_size"
tools:text="Belarus"/>
tools:text="Belarus" />
<TextView
android:id="@+id/subheaderTextView"
@ -50,7 +51,7 @@
android:textColor="?android:textColorSecondary"
android:textSize="@dimen/default_sub_text_size"
tools:text="11.1 MB"
tools:visibility="gone"/>
tools:visibility="gone" />
<TextView
android:id="@+id/descriptionTextView"
@ -62,7 +63,7 @@
android:lines="1"
android:textColor="?android:textColorSecondary"
android:textSize="@dimen/default_sub_text_size"
tools:text="Last Update: 1 Dec 2015"/>
tools:text="Last Update: 1 Dec 2015" />
</LinearLayout>
<ImageButton
@ -76,7 +77,7 @@
android:layout_gravity="center_vertical"
android:background="?attr/dashboard_button"
android:focusable="false"
android:src="@drawable/ic_overflow_menu_white"/>
android:src="@drawable/ic_overflow_menu_white" />
<View
android:id="@+id/divider"
@ -85,5 +86,5 @@
android:layout_alignParentBottom="true"
android:layout_marginLeft="56dp"
android:layout_marginStart="56dp"
android:background="?attr/dashboard_divider"/>
android:background="?attr/dashboard_divider" />
</RelativeLayout>

View file

@ -37,7 +37,8 @@
<FrameLayout
android:layout_width="0dp"
android:layout_height="@dimen/card_row_min_height"
android:layout_height="wrap_content"
android:minHeight="@dimen/card_row_min_height"
android:layout_gravity="center_vertical"
android:layout_weight="1">

View file

@ -548,7 +548,9 @@
android:layout_height="@dimen/dashboard_map_toolbar"
android:background="@color/app_bar_color_light"
app:contentInsetLeft="4dp"
app:contentInsetStart="4dp">
app:contentInsetStart="4dp"
app:contentInsetRight="0dp"
app:contentInsetEnd="0dp">
<LinearLayout
android:layout_width="match_parent"

View file

@ -18,7 +18,7 @@
style="@style/Widget.AppCompat.Button.Borderless"
android:layout_width="52dp"
android:layout_height="52dp"
android:src="@drawable/ic_action_mode_back"/>
android:src="@drawable/ic_arrow_back"/>
<net.osmand.plus.widgets.TextViewEx
android:id="@+id/titleTextView"

View file

@ -18,7 +18,8 @@
android:theme="?attr/toolbar_theme"
app:contentInsetLeft="72dp"
app:contentInsetStart="72dp"
/>
app:contentInsetRight="0dp"
app:contentInsetEnd="0dp"/>
</com.google.android.material.appbar.AppBarLayout>
<include

View file

@ -20,7 +20,10 @@
android:layout_height="wrap_content"
android:minHeight="@dimen/list_item_height"
android:paddingLeft="@dimen/list_content_padding"
android:paddingStart="@dimen/list_content_padding">
android:paddingStart="@dimen/list_content_padding"
android:paddingRight="0dp"
android:paddingEnd="0dp">
<CheckBox
android:id="@+id/check_local_index"
android:layout_width="wrap_content"

View file

@ -40,8 +40,8 @@
android:layout_marginLeft="@dimen/context_menu_buttons_padding_bottom"
android:layout_marginRight="@dimen/context_menu_buttons_padding_bottom"
android:orientation="horizontal"
android:paddingStart="40dp"
android:paddingLeft="40dp"
android:paddingStart="@dimen/route_info_app_modes_padding"
android:paddingLeft="@dimen/route_info_app_modes_padding"
android:paddingEnd="@dimen/route_info_app_modes_padding"
android:paddingRight="@dimen/route_info_app_modes_padding"
android:layout_marginStart="@dimen/context_menu_buttons_padding_bottom"

View file

@ -16,6 +16,8 @@
android:visibility="gone"
app:contentInsetLeft="54dp"
app:contentInsetStart="54dp"
app:contentInsetRight="0dp"
app:contentInsetEnd="0dp"
tools:visibility="visible">
<LinearLayout

View file

@ -25,7 +25,9 @@
android:minHeight="@dimen/dashboard_map_toolbar"
android:theme="?attr/toolbar_theme"
app:contentInsetLeft="72dp"
app:contentInsetStart="72dp">
app:contentInsetStart="72dp"
app:contentInsetRight="0dp"
app:contentInsetEnd="0dp">
</androidx.appcompat.widget.Toolbar>

View file

@ -7,6 +7,8 @@
android:minHeight="@dimen/dashboard_map_toolbar"
osmand:contentInsetLeft="0dp"
osmand:contentInsetStart="0dp"
osmand:contentInsetRight="0dp"
osmand:contentInsetEnd="0dp"
osmand:theme="@style/ThemeOverlay.AppCompat.ActionBar">
<LinearLayout
@ -22,7 +24,7 @@
android:layout_width="@dimen/toolbar_height"
android:layout_height="@dimen/toolbar_height"
android:contentDescription="@string/access_shared_string_navigate_up"
android:src="@drawable/ic_action_mode_back"
android:src="@drawable/ic_arrow_back"
android:tint="?attr/default_icon_color" />
<LinearLayout

View file

@ -6,6 +6,8 @@
android:layout_height="wrap_content"
osmand:contentInsetLeft="0dp"
osmand:contentInsetStart="0dp"
osmand:contentInsetRight="0dp"
osmand:contentInsetEnd="0dp"
osmand:theme="@style/ThemeOverlay.AppCompat.ActionBar">
<LinearLayout
@ -27,7 +29,7 @@
android:layout_width="@dimen/toolbar_height"
android:layout_height="@dimen/toolbar_height"
android:contentDescription="@string/access_shared_string_navigate_up"
android:src="@drawable/ic_action_mode_back"
android:src="@drawable/ic_arrow_back"
android:tint="?attr/default_icon_color" />
<net.osmand.plus.widgets.TextViewEx

View file

@ -7,7 +7,9 @@
android:background="?attr/actionModeBackground"
android:minHeight="@dimen/toolbar_height"
osmand:contentInsetLeft="0dp"
osmand:contentInsetStart="0dp">
osmand:contentInsetStart="0dp"
osmand:contentInsetRight="0dp"
osmand:contentInsetEnd="0dp">
<LinearLayout
android:layout_width="match_parent"
@ -21,7 +23,7 @@
android:layout_width="@dimen/toolbar_height"
android:layout_height="@dimen/toolbar_height"
android:contentDescription="@string/access_shared_string_navigate_up"
android:src="@drawable/ic_action_mode_back"
android:src="@drawable/ic_arrow_back"
android:tint="?attr/app_bar_primary_item_color"/>
<LinearLayout

View file

@ -6,6 +6,8 @@
android:layout_height="wrap_content"
osmand:contentInsetLeft="0dp"
osmand:contentInsetStart="0dp"
osmand:contentInsetRight="0dp"
osmand:contentInsetEnd="0dp"
osmand:theme="@style/ThemeOverlay.AppCompat.ActionBar">
<LinearLayout
@ -27,7 +29,7 @@
android:layout_width="@dimen/toolbar_height"
android:layout_height="@dimen/toolbar_height"
android:contentDescription="@string/access_shared_string_navigate_up"
android:src="@drawable/ic_action_mode_back"
android:src="@drawable/ic_arrow_back"
android:tint="?attr/default_icon_color" />
<LinearLayout

View file

@ -31,6 +31,8 @@
android:contentInsetLeft="72dp"
app:contentInsetLeft="72dp"
app:contentInsetStart="72dp"
app:contentInsetRight="0dp"
app:contentInsetEnd="0dp"
android:background="?attr/actionModeBackground"/>
<RelativeLayout

View file

@ -18,7 +18,9 @@
android:minHeight="@dimen/dashboard_map_toolbar"
android:theme="?attr/toolbar_theme"
app:contentInsetLeft="54dp"
app:contentInsetStart="54dp">
app:contentInsetStart="54dp"
app:contentInsetRight="0dp"
app:contentInsetEnd="0dp">
<LinearLayout
android:layout_width="match_parent"

View file

@ -19,7 +19,9 @@
android:minHeight="@dimen/dashboard_map_toolbar"
android:theme="?attr/toolbar_theme"
app:contentInsetLeft="54dp"
app:contentInsetStart="54dp">
app:contentInsetStart="54dp"
app:contentInsetRight="0dp"
app:contentInsetEnd="0dp">
<LinearLayout
android:layout_width="match_parent"

View file

@ -24,7 +24,9 @@
android:minHeight="@dimen/dashboard_map_toolbar"
android:theme="?attr/toolbar_theme"
app:contentInsetLeft="54dp"
app:contentInsetStart="54dp">
app:contentInsetStart="54dp"
app:contentInsetRight="0dp"
app:contentInsetEnd="0dp">
<include layout="@layout/search_text_layout"/>
@ -40,6 +42,8 @@
android:visibility="gone"
app:contentInsetLeft="54dp"
app:contentInsetStart="54dp"
app:contentInsetRight="0dp"
app:contentInsetEnd="0dp"
tools:visibility="visible">
<LinearLayout

View file

@ -18,7 +18,9 @@
android:minHeight="@dimen/dashboard_map_toolbar"
android:theme="?attr/toolbar_theme"
app:contentInsetLeft="54dp"
app:contentInsetStart="54dp">
app:contentInsetStart="54dp"
app:contentInsetRight="0dp"
app:contentInsetEnd="0dp">
<include layout="@layout/search_text_layout"/>

View file

@ -21,7 +21,9 @@
android:descendantFocusability="blocksDescendants"
android:orientation="horizontal"
android:paddingLeft="@dimen/list_content_padding"
android:paddingStart="@dimen/list_content_padding">
android:paddingStart="@dimen/list_content_padding"
android:paddingRight="0dp"
android:paddingEnd="0dp">
<ImageView
android:id="@+id/icon"

View file

@ -18,7 +18,9 @@
android:minHeight="@dimen/dashboard_map_toolbar"
android:theme="?attr/toolbar_theme"
app:contentInsetLeft="54dp"
app:contentInsetStart="54dp">
app:contentInsetStart="54dp"
app:contentInsetRight="0dp"
app:contentInsetEnd="0dp">
<LinearLayout
android:layout_width="match_parent"

View file

@ -17,7 +17,9 @@
android:layout_height="match_parent"
android:theme="?attr/actionBarStyle"
app:contentInsetLeft="54dp"
app:contentInsetStart="54dp">
app:contentInsetStart="54dp"
app:contentInsetRight="0dp"
app:contentInsetEnd="0dp">
<TextView
android:id="@+id/title"

View file

@ -36,6 +36,8 @@
android:contentInsetLeft="0dp"
app:contentInsetLeft="0dp"
app:contentInsetStart="0dp"
app:contentInsetRight="0dp"
app:contentInsetEnd="0dp"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"/>

View file

@ -17,7 +17,9 @@
android:gravity="center_vertical"
android:minHeight="@dimen/toolbar_height"
osmand:contentInsetLeft="54dp"
osmand:contentInsetStart="54dp">
osmand:contentInsetStart="54dp"
osmand:contentInsetRight="0dp"
osmand:contentInsetEnd="0dp">
<LinearLayout
android:layout_width="match_parent"

View file

@ -22,7 +22,9 @@
android:background="?attr/wikivoyage_bg_color"
android:minHeight="@dimen/dashboard_map_toolbar"
osmand:contentInsetLeft="54dp"
osmand:contentInsetStart="54dp">
osmand:contentInsetStart="54dp"
app:contentInsetRight="0dp"
app:contentInsetEnd="0dp">
<LinearLayout
android:layout_width="match_parent"

View file

@ -34,6 +34,7 @@
<attr name="ctx_menu_divider" format="reference" />
<attr name="bottom_menu_view_bg" format="reference" />
<attr name="left_menu_view_bg" format="reference" />
<attr name="right_menu_view_bg" format="reference" />
<attr name="stroked_buttons_and_links_outline" format="color" />
<attr name="dashboard_divider" format="reference" />

View file

@ -11,6 +11,16 @@
Thx - Hardy
-->
<string name="release_3_7">
• New offline Slope maps\n\n
• Full customization of Favorites and GPX Waypoints custom colors, icons, shapes\n\n
• Customize items order in Context Menu, Configure Map, Drawer\n\n
• Wikipedia as a separate layer in Configure map, select only needed languages\n\n
• Create your own POI filter/maps with total flexibility\n\n
• Added options to restore settings for custom profiles\n\n
• Full GPX routes from Navigation support traffic lanes and complete turn instructions\n\n
• Fix UI sizes on tablets\n\n
• Fix bugs with RTL\n\n</string>
<string name="navigation_profiles_item">Navigation profiles</string>
<string name="legend_item_description">The guide to a map\'s symbology</string>
<string name="osmand_purchases_item">OsmAnd purchases</string>

View file

@ -20,17 +20,19 @@
<item name="typeface">@string/font_roboto_medium</item>
<item name="android:textColor">?android:textColorSecondary</item>
<item name="android:layout_marginLeft">@dimen/subHeaderMarginLeft</item>
<item name="android:layout_marginStart">@dimen/subHeaderMarginLeft</item>
</style>
<style name="DashboardGeneralButton">
<item name="android:layout_width">wrap_content</item>
<item name="android:gravity">center_vertical|right</item>
<item name="android:gravity">center_vertical|end</item>
<item name="android:layout_height">@dimen/showAllButtonHeight</item>
<item name="android:layout_gravity">center_vertical</item>
<item name="android:textSize">@dimen/default_sub_text_size</item>
<item name="typeface">@string/font_roboto_medium</item>
<item name="android:textColor">?attr/dashboard_general_button_text_color</item>
<item name="android:layout_marginRight">@dimen/showAllButtonMarginRight</item>
<item name="android:layout_marginEnd">@dimen/showAllButtonMarginRight</item>
<item name="android:background">?attr/dashboard_button</item>
</style>
@ -162,7 +164,7 @@
<item name="ctx_menu_controller_text_color">@drawable/context_menu_controller_text_color_light</item>
<item name="ctx_menu_divider">@color/ctx_menu_buttons_divider_light</item>
<item name="search_background">@color/activity_background_color_dark</item>
<item name="actionModeCloseDrawable">@drawable/ic_action_mode_back</item>
<item name="actionModeCloseDrawable">@drawable/ic_arrow_back</item>
<item name="actionModeStyle">@style/WhiteActionMode</item>
<item name="actionMenuTextColor">@color/color_white</item>
<item name="switch_ex_background">@drawable/switch_ex_background_light</item>
@ -194,7 +196,7 @@
<item name="android:actionModeBackground">@color/app_bar_color_light</item>
<item name="android:actionBarStyle">@style/Widget.Styled.ActionBarLight</item>
<item name="android:actionModeCloseDrawable">@drawable/ic_action_mode_back</item>
<item name="android:actionModeCloseDrawable">@drawable/ic_arrow_back</item>
<item name="android:actionModeStyle">@style/WhiteActionMode</item>
<item name="android:actionMenuTextColor">@color/color_white</item>
<item name="actionOverflowButtonStyle">@style/OverflowMenuButton</item>
@ -430,6 +432,7 @@
<item name="bg_map_context_menu">@drawable/bg_map_context_menu_dark</item>
<item name="bottom_menu_view_bg">@drawable/bg_bottom_menu_dark</item>
<item name="left_menu_view_bg">@drawable/bg_left_menu_dark</item>
<item name="right_menu_view_bg">@drawable/bg_right_menu_dark</item>
<item name="bg_point_editor_view">@drawable/bg_point_editor_view_dark</item>
<item name="dashboard_divider">@color/divider_color_dark</item>
<item name="divider_color">@color/divider_color_dark</item>
@ -683,7 +686,9 @@
<style name="create_poi_text_field">
<item name="android:layout_marginTop">8dp</item>
<item name="android:layout_marginRight">16dp</item>
<item name="android:layout_marginEnd">16dp</item>
<item name="android:layout_marginLeft">68dp</item>
<item name="android:layout_marginStart">68dp</item>
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:layout_weight">1</item>
@ -692,6 +697,7 @@
<style name="edit_poi_imageview_style">
<item name="android:layout_marginTop">16dp</item>
<item name="android:layout_marginLeft">16dp</item>
<item name="android:layout_marginStart">16dp</item>
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
</style>

View file

@ -14,6 +14,7 @@ import android.graphics.Matrix;
import android.graphics.Paint;
import android.graphics.PointF;
import android.graphics.Typeface;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.ClipDrawable;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.LayerDrawable;
@ -662,6 +663,13 @@ public class AndroidUtils {
}
}
public static Drawable[] getCompoundDrawables(@NonNull TextView tv){
if (isSupportRTL()) {
return tv.getCompoundDrawablesRelative();
}
return tv.getCompoundDrawables();
}
public static void setPadding(View view, int start, int top, int end, int bottom) {
if (isSupportRTL()) {
view.setPaddingRelative(start, top, end, bottom);
@ -684,14 +692,67 @@ public class AndroidUtils {
}
public static int getNavigationIconResId(@NonNull Context ctx) {
return getLayoutDirection(ctx) == ViewCompat.LAYOUT_DIRECTION_RTL ?
R.drawable.ic_arrow_forward : R.drawable.ic_arrow_back;
return isLayoutRtl(ctx) ? R.drawable.ic_arrow_forward : R.drawable.ic_arrow_back;
}
public static Drawable getDrawableForDirection(@NonNull Context ctx,
@NonNull Drawable drawable) {
return isLayoutRtl(ctx) ? getMirroredDrawable(ctx, drawable) : drawable;
}
public static Drawable getMirroredDrawable(@NonNull Context ctx,
@NonNull Drawable drawable) {
Bitmap bitmap = drawableToBitmap(drawable);
return new BitmapDrawable(ctx.getResources(), flipBitmapHorizontally(bitmap));
}
public static Bitmap drawableToBitmap(Drawable drawable) {
if (drawable instanceof BitmapDrawable) {
BitmapDrawable bitmapDrawable = (BitmapDrawable) drawable;
if(bitmapDrawable.getBitmap() != null) {
return bitmapDrawable.getBitmap();
}
}
Bitmap bitmap = null;
if(drawable.getIntrinsicWidth() <= 0 || drawable.getIntrinsicHeight() <= 0) {
bitmap = Bitmap.createBitmap(1, 1, Bitmap.Config.ARGB_8888);
} else {
bitmap = Bitmap.createBitmap(drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight(), Bitmap.Config.ARGB_8888);
}
Canvas canvas = new Canvas(bitmap);
drawable.setBounds(0, 0, canvas.getWidth(), canvas.getHeight());
drawable.draw(canvas);
return bitmap;
}
public static Bitmap flipBitmapHorizontally(Bitmap source) {
Matrix matrix = new Matrix();
matrix.preScale(-1.0f, 1.0f, source.getWidth() / 2f, source.getHeight() / 2f);
return Bitmap.createBitmap(source, 0, 0, source.getWidth(), source.getHeight(), matrix, true);
}
public static void setTextHorizontalGravity(@NonNull TextView tv, int hGravity) {
if (tv.getContext() != null) {
boolean isLayoutRtl = AndroidUtils.isLayoutRtl(tv.getContext());
int gravity = Gravity.LEFT;
if (isLayoutRtl && (hGravity == Gravity.START)
|| !isLayoutRtl && hGravity == Gravity.END) {
gravity = Gravity.RIGHT;
}
tv.setGravity(gravity);
}
}
public static boolean isSupportRTL() {
return Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1;
}
public static boolean isLayoutRtl(Context ctx) {
return isSupportRTL() && getLayoutDirection(ctx) == ViewCompat.LAYOUT_DIRECTION_RTL;
}
public static ArrayList<View> getChildrenViews(ViewGroup vg) {
ArrayList<View> result = new ArrayList<>();
for (int i = 0; i < vg.getChildCount(); i++) {

View file

@ -145,7 +145,7 @@ public class SecondSplashScreenFragment extends BaseOsmAndFragment {
} else {
elementsPaddingLeft = getNavigationBarWidth();
}
logoLayoutParams.setMargins(0, logoMarginTop, 0, 0);
AndroidUtils.setMargins(logoLayoutParams, 0, logoMarginTop, 0, 0);
logo.setPadding(elementsPaddingLeft, 0, elementsPaddingRight, 0);
logo.setLayoutParams(logoLayoutParams);
view.addView(logo);

View file

@ -117,7 +117,7 @@ public class AppInitializer implements IProgress {
private static final String VERSION_INSTALLED = "VERSION_INSTALLED"; //$NON-NLS-1$
private static final String EXCEPTION_FILE_SIZE = "EXCEPTION_FS"; //$NON-NLS-1$
public static final String LATEST_CHANGES_URL = "https://osmand.net/blog/osmand-3-6-released";
public static final String LATEST_CHANGES_URL = "https://osmand.net/blog/osmand-3-7-released";
// public static final String LATEST_CHANGES_URL = null; // not enough to read
public static final int APP_EXIT_CODE = 4;
public static final String APP_EXIT_KEY = "APP_EXIT_KEY";

View file

@ -560,6 +560,7 @@ public class ContextMenuAdapter {
boolean onIntegerValueChangedListener(int newValue);
}
public static abstract class OnRowItemClick implements ItemClickListener {
//boolean return type needed to describe if drawer needed to be close or not

View file

@ -37,6 +37,7 @@ public class ContextMenuItem {
private final ContextMenuAdapter.ItemClickListener itemClickListener;
private final ContextMenuAdapter.OnIntegerValueChangedListener integerListener;
private final ContextMenuAdapter.ProgressListener progressListener;
private final OnItemDeleteAction itemDeleteAction;
private final boolean hideDivider;
private final boolean hideCompoundButton;
private final int minHeight;
@ -61,6 +62,7 @@ public class ContextMenuItem {
ContextMenuAdapter.ItemClickListener itemClickListener,
ContextMenuAdapter.OnIntegerValueChangedListener integerListener,
ContextMenuAdapter.ProgressListener progressListener,
OnItemDeleteAction itemDeleteAction,
boolean hideDivider,
boolean hideCompoundButton,
int minHeight,
@ -85,6 +87,7 @@ public class ContextMenuItem {
this.integerListener = integerListener;
this.progressListener = progressListener;
this.hideDivider = hideDivider;
this.itemDeleteAction = itemDeleteAction;
this.hideCompoundButton = hideCompoundButton;
this.minHeight = minHeight;
this.tag = tag;
@ -170,6 +173,8 @@ public class ContextMenuItem {
return description;
}
public OnItemDeleteAction getItemDeleteAction() { return itemDeleteAction; }
public ContextMenuAdapter.ItemClickListener getItemClickListener() {
return itemClickListener;
}
@ -273,6 +278,7 @@ public class ContextMenuItem {
private ContextMenuAdapter.ItemClickListener mItemClickListener = null;
private ContextMenuAdapter.OnIntegerValueChangedListener mIntegerListener = null;
private ContextMenuAdapter.ProgressListener mProgressListener = null;
private OnItemDeleteAction itemDeleteAction;
private boolean mSkipPaintingWithoutColor;
private boolean mHideDivider;
private boolean mHideCompoundButton;
@ -374,6 +380,10 @@ public class ContextMenuItem {
return this;
}
public void setItemDeleteAction(OnItemDeleteAction itemDeleteAction) {
this.itemDeleteAction = itemDeleteAction;
}
public ItemBuilder hideDivider(boolean hideDivider) {
mHideDivider = hideDivider;
return this;
@ -406,8 +416,14 @@ public class ContextMenuItem {
public ContextMenuItem createItem() {
return new ContextMenuItem(mTitleId, mTitle, mIcon, mColorRes, mSecondaryIcon,
mSelected, mProgress, mLayout, mLoading, mIsCategory, mIsClickable, mSkipPaintingWithoutColor,
mPosition, mOrder, mDescription, mItemClickListener, mIntegerListener, mProgressListener,
mPosition, mOrder, mDescription, mItemClickListener, mIntegerListener, mProgressListener, itemDeleteAction,
mHideDivider, mHideCompoundButton, mMinHeight, mTag, mId);
}
}
// when action is deleted or reset
public interface OnItemDeleteAction {
boolean itemWasDeleted(boolean profileOnly);
}
}

View file

@ -23,7 +23,6 @@ import android.view.WindowManager;
import android.widget.CompoundButton;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.SeekBar;
import android.widget.TextView;
import androidx.annotation.ColorInt;
@ -620,10 +619,10 @@ public class UiUtilities {
return new ContextThemeWrapper(context, nightMode ? darkStyle : lightStyle);
}
public static void setMargins(View v, int l, int t, int r, int b) {
public static void setMargins(View v, int s, int t, int e, int b) {
if (v.getLayoutParams() instanceof ViewGroup.MarginLayoutParams) {
ViewGroup.MarginLayoutParams p = (ViewGroup.MarginLayoutParams) v.getLayoutParams();
p.setMargins(l, t, r, b);
AndroidUtils.setMargins(p, s, t, e, b);
v.requestLayout();
}
}

View file

@ -1951,11 +1951,13 @@ public class MapActivity extends OsmandActionBarActivity implements DownloadEven
if (settings.DO_NOT_USE_ANIMATIONS.get()) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
if (drawerLayout.isDrawerOpen(Gravity.START)) {
int width = AndroidUtils.dpToPx(this, 280);
if (event.getRawX() > width) {
int drawerWidth = AndroidUtils.dpToPx(this, 280);
int screenWidth = AndroidUtils.getScreenWidth(MapActivity.this);
boolean isLayoutRtl = AndroidUtils.isLayoutRtl(app);
if ((!isLayoutRtl && event.getRawX() > drawerWidth)
|| (isLayoutRtl && event.getRawX() <= screenWidth - drawerWidth)) {
closeDrawer();
}
}
}
}

View file

@ -117,7 +117,7 @@ public class StartGPSStatus extends OsmAndAction {
final AppCompatCheckBox cb = new AppCompatCheckBox(activity);
cb.setText(R.string.shared_string_remember_my_choice);
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
lp.setMargins(dp24, dp8, dp8, dp24);
AndroidUtils.setMargins(lp, dp24, dp8, dp8, dp24);
cb.setLayoutParams(lp);
cb.setPadding(dp8, 0, 0, 0);
int textColorPrimary = ContextCompat.getColor(activity, isNightMode() ? R.color.text_color_primary_dark : R.color.text_color_primary_light);

View file

@ -287,7 +287,8 @@ public abstract class ContextMenuFragment extends BaseOsmAndFragment {
currentMenuState = MenuState.FULL_SCREEN;
if (isSingleFragment()) {
final TypedValue typedValueAttr = new TypedValue();
mapActivity.getTheme().resolveAttribute(R.attr.left_menu_view_bg, typedValueAttr, true);
int bgAttrId = AndroidUtils.isLayoutRtl(app) ? R.attr.right_menu_view_bg : R.attr.left_menu_view_bg;
mapActivity.getTheme().resolveAttribute(bgAttrId, typedValueAttr, true);
mainView.setBackgroundResource(typedValueAttr.resourceId);
mainView.setLayoutParams(new FrameLayout.LayoutParams(getLandscapeWidth(), ViewGroup.LayoutParams.MATCH_PARENT));
} else {

View file

@ -16,6 +16,7 @@ import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.view.Window;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ProgressBar;
import android.widget.TextView;
@ -187,7 +188,9 @@ public abstract class ChoosePlanDialogFragment extends BaseOsmAndDialogFragment
}
View view = inflate(R.layout.purchase_dialog_fragment, container);
view.findViewById(R.id.button_back).setOnClickListener(new OnClickListener() {
ImageView buttonBack = view.findViewById(R.id.button_back);
buttonBack.setImageResource(AndroidUtils.getNavigationIconResId(ctx));
buttonBack.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
dismiss();

View file

@ -29,7 +29,8 @@ public class DashSearchFragment extends DashBaseFragment {
View view = getActivity().getLayoutInflater().inflate(R.layout.dash_search_fragment, container, false);
TextView searchFor = (TextView) view.findViewById(R.id.search_for);
searchFor.setCompoundDrawablesWithIntrinsicBounds(getMyApplication().getUIUtilities().getThemedIcon(R.drawable.ic_action_search_dark), null, null, null);
AndroidUtils.setCompoundDrawablesWithIntrinsicBounds(searchFor,
getMyApplication().getUIUtilities().getThemedIcon(R.drawable.ic_action_search_dark), null, null, null);
searchFor.setCompoundDrawablePadding(AndroidUtils.dpToPx(getActivity(), 16f));
view.findViewById(R.id.search_card).setOnClickListener(new View.OnClickListener() {

View file

@ -395,9 +395,9 @@ public class DashboardOnMap implements ObservableScrollViewCallbacks, IRouteInfo
private FrameLayout.LayoutParams getActionButtonLayoutParams(int btnSizePx) {
int topPadPx = mapActivity.getResources().getDimensionPixelSize(R.dimen.dashboard_map_top_padding);
FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(btnSizePx, btnSizePx);
int marginRight = btnSizePx / 4;
params.setMargins(0, landscape ? 0 : topPadPx - 2 * btnSizePx, marginRight, landscape ? marginRight : 0);
params.gravity = landscape ? Gravity.BOTTOM | Gravity.RIGHT : Gravity.TOP | Gravity.RIGHT;
int marginEnd = btnSizePx / 4;
AndroidUtils.setMargins(params, 0, landscape ? 0 : topPadPx - 2 * btnSizePx, marginEnd, landscape ? marginEnd : 0);
params.gravity = landscape ? Gravity.BOTTOM | Gravity.END : Gravity.TOP | Gravity.END;
return params;
}

View file

@ -14,6 +14,7 @@ import androidx.annotation.NonNull;
import androidx.appcompat.widget.Toolbar;
import androidx.fragment.app.DialogFragment;
import net.osmand.AndroidUtils;
import net.osmand.PlatformUtil;
import net.osmand.plus.OsmandApplication;
import net.osmand.plus.OsmandSettings;
@ -58,6 +59,7 @@ public class HelpArticleDialogFragment extends DialogFragment {
final View view = inflater.inflate(R.layout.fragment_help_article, container, false);
Toolbar toolbar = (Toolbar) view.findViewById(R.id.toolbar);
toolbar.setNavigationIcon(AndroidUtils.getNavigationIconResId(getContext()));
toolbar.setNavigationContentDescription(R.string.access_shared_string_navigate_up);
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override

View file

@ -30,7 +30,7 @@ public class WhatsNewDialogFragment extends DialogFragment {
final OsmandApplication osmandApplication = (OsmandApplication) getActivity().getApplication();
final String appVersion = Version.getAppVersion(osmandApplication);
builder.setTitle(getString(R.string.whats_new) + " " + appVersion)
.setMessage(getString(R.string.release_3_6))
.setMessage(getString(R.string.release_3_7))
.setNegativeButton(R.string.shared_string_close, null);
if (AppInitializer.LATEST_CHANGES_URL != null) {
builder.setPositiveButton(R.string.read_more, new DialogInterface.OnClickListener() {

View file

@ -15,7 +15,6 @@ import android.util.TypedValue;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AbsListView;
import android.widget.Button;
import android.widget.CompoundButton;
import android.widget.ExpandableListView;
@ -547,15 +546,12 @@ public class LiveUpdatesFragment extends BaseOsmAndFragment implements InAppPurc
}
private static class LocalFullMapsViewHolder {
public static final int UPDATES_ENABLED_ITEM_HEIGHT = 72;
public static final int UPDATES_DISABLED_ITEM_HEIGHT = 50;
private final ImageView icon;
private final TextView nameTextView;
private final TextView subheaderTextView;
private final TextView descriptionTextView;
private final ImageButton options;
private final LiveUpdatesFragment fragment;
private final View view;
private final int secondaryColor;
private final View divider;
@ -565,7 +561,6 @@ public class LiveUpdatesFragment extends BaseOsmAndFragment implements InAppPurc
subheaderTextView = (TextView) view.findViewById(R.id.subheaderTextView);
descriptionTextView = (TextView) view.findViewById(R.id.descriptionTextView);
options = (ImageButton) view.findViewById(R.id.options);
this.view = view;
this.fragment = context;
TypedValue typedValue = new TypedValue();
@ -582,7 +577,6 @@ public class LiveUpdatesFragment extends BaseOsmAndFragment implements InAppPurc
IncrementalChangesManager changesManager = context.getResourceManager().getChangesManager();
nameTextView.setText(getNameToDisplay(item, fragment.getMyActivity()));
AbsListView.LayoutParams layoutParams = (AbsListView.LayoutParams) view.getLayoutParams();
if (shouldUpdatePreference.get()) {
final Integer frequencyId = preferenceUpdateFrequency(item, fragment.getSettings()).get();
final Integer timeOfDateToUpdateId = preferenceTimeOfDayToUpdate(item, fragment.getSettings()).get();
@ -598,14 +592,11 @@ public class LiveUpdatesFragment extends BaseOsmAndFragment implements InAppPurc
.getColor(R.color.osmand_orange));
icon.setImageDrawable(fragment.getIcon(R.drawable.ic_map, R.color.osmand_orange));
options.setImageDrawable(getSecondaryColorPaintedIcon(R.drawable.ic_overflow_menu_white));
layoutParams.height = (int) dpToPx(view.getContext(), UPDATES_ENABLED_ITEM_HEIGHT);
} else {
subheaderTextView.setVisibility(View.GONE);
icon.setImageDrawable(getSecondaryColorPaintedIcon(R.drawable.ic_map));
options.setImageDrawable(getSecondaryColorPaintedIcon(R.drawable.ic_action_plus));
layoutParams.height = (int) dpToPx(view.getContext(), UPDATES_DISABLED_ITEM_HEIGHT);
}
view.setLayoutParams(layoutParams);
final String fileNameWithoutExtension =
Algorithms.getFileNameWithoutExtension(new File(item));
@ -710,10 +701,6 @@ public class LiveUpdatesFragment extends BaseOsmAndFragment implements InAppPurc
adapter.notifyDataSetChanged();
}
public static float dpToPx(final Context context, final float dp) {
return dp * context.getResources().getDisplayMetrics().density;
}
@Override
public void onError(InAppPurchaseTaskType taskType, String error) {
disableProgress();

View file

@ -2,6 +2,7 @@ package net.osmand.plus.liveupdates;
import android.app.Activity;
import android.app.ProgressDialog;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.MotionEvent;
@ -98,7 +99,7 @@ public class SubscriptionFragment extends BaseOsmAndDialogFragment implements In
@Override
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
OsmandApplication app = getMyApplication();
String userName = settings.BILLING_USER_NAME.get();
String email = settings.BILLING_USER_EMAIL.get();
String countryDownloadName = settings.BILLING_USER_COUNTRY_DOWNLOAD_NAME.get();
@ -122,7 +123,8 @@ public class SubscriptionFragment extends BaseOsmAndDialogFragment implements In
View view = inflater.inflate(R.layout.subscription_fragment, container, false);
ImageButton closeButton = (ImageButton) view.findViewById(R.id.closeButton);
closeButton.setImageDrawable(getMyApplication().getUIUtilities().getIcon(R.drawable.ic_action_mode_back));
Drawable icBack = app.getUIUtilities().getIcon(AndroidUtils.getNavigationIconResId(app));
closeButton.setImageDrawable(icBack);
closeButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {

View file

@ -320,7 +320,8 @@ public class MapContextMenuFragment extends BaseOsmAndFragment implements Downlo
if (menu.isLandscapeLayout()) {
final TypedValue typedValueAttr = new TypedValue();
mapActivity.getTheme().resolveAttribute(R.attr.left_menu_view_bg, typedValueAttr, true);
int bgAttrId = AndroidUtils.isLayoutRtl(app) ? R.attr.right_menu_view_bg : R.attr.left_menu_view_bg;
mapActivity.getTheme().resolveAttribute(bgAttrId, typedValueAttr, true);
mainView.setBackgroundResource(typedValueAttr.resourceId);
mainView.setLayoutParams(new FrameLayout.LayoutParams(menu.getLandscapeWidthPx(),
ViewGroup.LayoutParams.MATCH_PARENT));

View file

@ -1112,7 +1112,7 @@ public class MenuBuilder {
} else {
button.setTextColor(ContextCompat.getColor(context, light ? R.color.text_color_primary_light : R.color.text_color_primary_dark));
}
button.setGravity(Gravity.LEFT | Gravity.CENTER_VERTICAL);
button.setGravity(Gravity.START | Gravity.CENTER_VERTICAL);
button.setSingleLine(singleLine);
button.setEllipsize(TextUtils.TruncateAt.END);

View file

@ -6,6 +6,7 @@ import android.view.View.OnClickListener;
import androidx.annotation.NonNull;
import net.osmand.AndroidUtils;
import net.osmand.binary.OsmandOdb.TransportRouteStop;
import net.osmand.data.LatLon;
import net.osmand.data.PointDescription;
@ -29,8 +30,10 @@ public class TransportRouteController extends MenuController {
super(new MenuBuilder(mapActivity), pointDescription, mapActivity);
this.transportRoute = transportRoute;
builder.setShowOnlinePhotos(false);
int navigationIconResId = AndroidUtils.getNavigationIconResId(mapActivity);
toolbarController = new ContextMenuToolbarController(this);
toolbarController.setTitle(getNameStr());
toolbarController.setBackBtnIconIds(navigationIconResId, navigationIconResId);
toolbarController.setOnBackButtonClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
@ -66,7 +69,6 @@ public class TransportRouteController extends MenuController {
}
};
leftTitleButtonController.caption = mapActivity.getString(R.string.shared_string_previous);
leftTitleButtonController.leftIconId = R.drawable.ic_arrow_back;
rightTitleButtonController = new TitleButtonController() {
@Override
@ -78,7 +80,14 @@ public class TransportRouteController extends MenuController {
}
};
rightTitleButtonController.caption = mapActivity.getString(R.string.shared_string_next);
rightTitleButtonController.rightIconId = R.drawable.ic_arrow_forward;
if (AndroidUtils.isLayoutRtl(mapActivity)) {
leftTitleButtonController.rightIconId = R.drawable.ic_arrow_forward;
rightTitleButtonController.leftIconId = R.drawable.ic_arrow_back;
} else {
leftTitleButtonController.leftIconId = R.drawable.ic_arrow_back;
rightTitleButtonController.rightIconId = R.drawable.ic_arrow_forward;
}
}
@NonNull

View file

@ -3,6 +3,7 @@ package net.osmand.plus.mapcontextmenu.other;
import android.graphics.drawable.Drawable;
import android.os.Build;
import android.os.Bundle;
import android.util.TypedValue;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@ -195,7 +196,10 @@ public class TrackDetailsMenuFragment extends BaseOsmAndFragment {
if (!landscapeLayout) {
AndroidUtils.setBackground(ctx, mainView, nightMode, R.drawable.bg_bottom_menu_light, R.drawable.bg_bottom_menu_dark);
} else {
AndroidUtils.setBackground(ctx, mainView, nightMode, R.drawable.bg_left_menu_light, R.drawable.bg_left_menu_dark);
final TypedValue typedValueAttr = new TypedValue();
int bgAttrId = AndroidUtils.isLayoutRtl(ctx) ? R.attr.right_menu_view_bg : R.attr.left_menu_view_bg;
ctx.getTheme().resolveAttribute(bgAttrId, typedValueAttr, true);
mainView.setBackgroundResource(typedValueAttr.resourceId);
}
AndroidUtils.setTextPrimaryColor(ctx, (TextView) mainView.findViewById(R.id.y_axis_title), nightMode);

View file

@ -1,6 +1,7 @@
package net.osmand.plus.mapmarkers;
import android.content.Context;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
@ -81,7 +82,8 @@ public class MapMarkerSelectionFragment extends BaseOsmAndDialogFragment {
View view = inflater.inflate(R.layout.map_marker_selection_fragment, container, false);
ImageButton closeButton = (ImageButton) view.findViewById(R.id.closeButton);
closeButton.setImageDrawable(getMyApplication().getUIUtilities().getIcon(R.drawable.ic_action_mode_back));
Drawable icBack = app.getUIUtilities().getIcon(AndroidUtils.getNavigationIconResId(app));
closeButton.setImageDrawable(icBack);
closeButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {

View file

@ -200,8 +200,9 @@ public class PlanRouteFragment extends BaseOsmAndFragment implements OsmAndLocat
}
});
int navigationIconResId = AndroidUtils.getNavigationIconResId(mapActivity);
toolbarController = new PlanRouteToolbarController();
toolbarController.setBackBtnIconIds(R.drawable.ic_action_mode_back, R.drawable.ic_action_mode_back);
toolbarController.setBackBtnIconIds(navigationIconResId, navigationIconResId);
toolbarController.setTitle(getString(R.string.plan_route));
toolbarController.setOnBackButtonClickListener(new View.OnClickListener() {
@Override

View file

@ -296,7 +296,8 @@ public class MeasurementToolFragment extends BaseOsmAndFragment {
undoBtn = ((ImageButton) mainView.findViewById(R.id.undo_point_button));
redoBtn = ((ImageButton) mainView.findViewById(R.id.redo_point_button));
undoBtn.setImageDrawable(getContentIcon(R.drawable.ic_action_undo_dark));
Drawable undoDrawable = getContentIcon(R.drawable.ic_action_undo_dark);
undoBtn.setImageDrawable(AndroidUtils.getDrawableForDirection(mapActivity, undoDrawable));
undoBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
@ -316,7 +317,8 @@ public class MeasurementToolFragment extends BaseOsmAndFragment {
}
});
redoBtn.setImageDrawable(getContentIcon(R.drawable.ic_action_redo_dark));
Drawable redoDrawable = getContentIcon(R.drawable.ic_action_redo_dark);
redoBtn.setImageDrawable(AndroidUtils.getDrawableForDirection(mapActivity, redoDrawable));
redoBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
@ -394,7 +396,8 @@ public class MeasurementToolFragment extends BaseOsmAndFragment {
toolBarController = new MeasurementToolBarController(newGpxData);
if (editingCtx.getSelectedPointPosition() != -1) {
toolBarController.setBackBtnIconIds(R.drawable.ic_action_mode_back, R.drawable.ic_action_mode_back);
int navigationIconResId = AndroidUtils.getNavigationIconResId(mapActivity);
toolBarController.setBackBtnIconIds(navigationIconResId, navigationIconResId);
} else {
toolBarController.setBackBtnIconIds(R.drawable.ic_action_remove_dark, R.drawable.ic_action_remove_dark);
}
@ -971,7 +974,8 @@ public class MeasurementToolFragment extends BaseOsmAndFragment {
private void switchMovePointMode(boolean enable) {
if (enable) {
toolBarController.setBackBtnIconIds(R.drawable.ic_action_mode_back, R.drawable.ic_action_mode_back);
int navigationIconResId = AndroidUtils.getNavigationIconResId(getMapActivity());
toolBarController.setBackBtnIconIds(navigationIconResId, navigationIconResId);
} else {
toolBarController.setBackBtnIconIds(R.drawable.ic_action_remove_dark, R.drawable.ic_action_remove_dark);
}
@ -990,7 +994,8 @@ public class MeasurementToolFragment extends BaseOsmAndFragment {
private void switchAddPointBeforeAfterMode(boolean enable) {
if (enable) {
toolBarController.setBackBtnIconIds(R.drawable.ic_action_mode_back, R.drawable.ic_action_mode_back);
int navigationIconResId = AndroidUtils.getNavigationIconResId(getMapActivity());
toolBarController.setBackBtnIconIds(navigationIconResId, navigationIconResId);
} else {
toolBarController.setBackBtnIconIds(R.drawable.ic_action_remove_dark, R.drawable.ic_action_remove_dark);
}

View file

@ -57,7 +57,8 @@ public class RecyclerViewFragment extends Fragment {
final int backgroundColor = ContextCompat.getColor(getActivity(),
nightMode ? R.color.activity_background_color_dark : R.color.activity_background_color_light);
final TypedValue typedValueAttr = new TypedValue();
getActivity().getTheme().resolveAttribute(R.attr.left_menu_view_bg, typedValueAttr, true);
int bgAttrId = AndroidUtils.isLayoutRtl(getActivity()) ? R.attr.right_menu_view_bg : R.attr.left_menu_view_bg;
getActivity().getTheme().resolveAttribute(bgAttrId, typedValueAttr, true);
parent = new FrameLayout(mapActivity);
parent.setLayoutParams(new LayoutParams(width + AndroidUtils.dpToPx(getActivity(), 16), height));

View file

@ -1,5 +1,6 @@
package net.osmand.plus.measurementtool;
import android.graphics.drawable.Drawable;
import android.os.Build;
import android.os.Bundle;
import android.view.ContextThemeWrapper;
@ -7,6 +8,8 @@ import android.view.MotionEvent;
import android.view.View;
import android.widget.ImageView;
import net.osmand.AndroidUtils;
import net.osmand.plus.OsmandApplication;
import net.osmand.plus.R;
import net.osmand.plus.base.MenuBottomSheetDialogFragment;
import net.osmand.plus.base.bottomsheetmenu.BaseBottomSheetItem;
@ -26,6 +29,11 @@ public class SaveAsNewTrackBottomSheetDialogFragment extends MenuBottomSheetDial
@Override
public void createMenuItems(Bundle savedInstanceState) {
OsmandApplication app = getMyApplication();
if (app == null) {
return;
}
items.add(new TitleItem(getString(R.string.shared_string_save_as_gpx)));
items.add(new ShortDescriptionItem(getString(R.string.measurement_tool_save_as_new_track_descr)));
@ -37,12 +45,16 @@ public class SaveAsNewTrackBottomSheetDialogFragment extends MenuBottomSheetDial
final ImageView routePointImage = (ImageView) imagesRow.findViewById(R.id.route_point_image);
final ImageView lineImage = (ImageView) imagesRow.findViewById(R.id.line_image);
routePointImage.setImageResource(nightMode
Drawable routePointDrawable = app.getUIUtilities().getIcon(nightMode
? R.drawable.img_help_trip_route_points_night
: R.drawable.img_help_trip_route_points_day);
lineImage.setImageResource(nightMode
Drawable lineDrawable = app.getUIUtilities().getIcon(nightMode
? R.drawable.img_help_trip_track_night
: R.drawable.img_help_trip_track_day);
if (routePointDrawable != null && lineDrawable != null) {
routePointImage.setImageDrawable(AndroidUtils.getDrawableForDirection(app, routePointDrawable));
lineImage.setImageDrawable(AndroidUtils.getDrawableForDirection(app, lineDrawable));
}
routePointImage.setOnClickListener(saveAsRoutePointOnClickListener);
lineImage.setOnClickListener(saveAsLineOnClickListener);

View file

@ -573,9 +573,9 @@ public class OsmandMonitoringPlugin extends OsmandPlugin {
cb.setTextColor(textColorPrimary);
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT,
LayoutParams.WRAP_CONTENT);
lp.setMargins(dp24, dp8, dp24, 0);
AndroidUtils.setMargins(lp, dp24, dp8, dp24, 0);
cb.setLayoutParams(lp);
cb.setPadding(dp8, 0, 0, 0);
AndroidUtils.setPadding(cb, dp8, 0, 0, 0);
cb.setChecked(!choice.value);
cb.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
@ -590,7 +590,7 @@ public class OsmandMonitoringPlugin extends OsmandPlugin {
if (showTrackSelection) {
View divider = new View(uiCtx);
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, AndroidUtils.dpToPx(uiCtx, 1f));
lp.setMargins(0, dp8 * 2, 0, 0);
AndroidUtils.setMargins(lp, 0, dp8 * 2, 0, 0);
divider.setLayoutParams(lp);
divider.setBackgroundColor(uiCtx.getResources().getColor(nightMode ? R.color.divider_color_dark : R.color.divider_color_light));
ll.addView(divider);
@ -600,9 +600,9 @@ public class OsmandMonitoringPlugin extends OsmandPlugin {
cb.setTextColor(textColorPrimary);
lp = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT,
LayoutParams.WRAP_CONTENT);
lp.setMargins(dp24, dp8 * 2, dp24, 0);
AndroidUtils.setMargins(lp, dp24, dp8 * 2, dp24, 0);
cb.setLayoutParams(lp);
cb.setPadding(dp8, 0, 0, 0);
AndroidUtils.setPadding(cb, dp8, 0, 0, 0);
cb.setChecked(app.getSelectedGpxHelper().getSelectedCurrentRecordingTrack() != null);
cb.setOnCheckedChangeListener(new OnCheckedChangeListener() {

View file

@ -7,6 +7,7 @@ import android.text.Editable;
import android.text.InputFilter;
import android.text.TextWatcher;
import android.view.ContextThemeWrapper;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnFocusChangeListener;
@ -21,6 +22,7 @@ import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import net.osmand.AndroidUtils;
import net.osmand.PlatformUtil;
import net.osmand.osm.AbstractPoiType;
import net.osmand.osm.MapPoiTypes;
@ -202,6 +204,7 @@ public class AdvancedEditPoiFragment extends BaseOsmAndFragment
.inflate(R.layout.poi_tag_list_item, null, false);
final AutoCompleteTextView tagEditText =
(AutoCompleteTextView) convertView.findViewById(R.id.tagEditText);
AndroidUtils.setTextHorizontalGravity(tagEditText, Gravity.START);
ImageButton deleteItemImageButton =
(ImageButton) convertView.findViewById(R.id.deleteItemImageButton);
deleteItemImageButton.setImageDrawable(deleteDrawable);
@ -215,6 +218,7 @@ public class AdvancedEditPoiFragment extends BaseOsmAndFragment
});
final AutoCompleteTextView valueEditText =
(AutoCompleteTextView) convertView.findViewById(R.id.valueEditText);
AndroidUtils.setTextHorizontalGravity(valueEditText, Gravity.START);
valueEditText.setFilters(new InputFilter[] {
new InputFilter.LengthFilter(AMENITY_TEXT_LENGTH)
});

View file

@ -10,6 +10,7 @@ import android.text.TextUtils;
import android.text.TextWatcher;
import android.util.TypedValue;
import android.view.ContextThemeWrapper;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@ -24,6 +25,7 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import net.osmand.AndroidUtils;
import net.osmand.PlatformUtil;
import net.osmand.osm.edit.OSMSettings;
import net.osmand.plus.R;
@ -104,6 +106,11 @@ public class BasicEditPoiFragment extends BaseOsmAndFragment
phoneEditText.setFilters(lengthLimit);
webSiteEditText.setFilters(lengthLimit);
descriptionEditText.setFilters(lengthLimit);
AndroidUtils.setTextHorizontalGravity(streetEditText, Gravity.START);
AndroidUtils.setTextHorizontalGravity(houseNumberEditText, Gravity.START);
AndroidUtils.setTextHorizontalGravity(phoneEditText, Gravity.START);
AndroidUtils.setTextHorizontalGravity(webSiteEditText, Gravity.START);
AndroidUtils.setTextHorizontalGravity(descriptionEditText, Gravity.START);
Button addOpeningHoursButton = (Button) view.findViewById(R.id.addOpeningHoursButton);
addOpeningHoursButton.setOnClickListener(new View.OnClickListener() {
@Override

View file

@ -16,6 +16,7 @@ import android.text.Editable;
import android.text.TextUtils;
import android.text.TextWatcher;
import android.util.TypedValue;
import android.view.Gravity;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.MotionEvent;
@ -247,6 +248,7 @@ public class EditPoiDialogFragment extends BaseOsmAndDialogFragment {
});
EditText poiNameEditText = (EditText) view.findViewById(R.id.poiNameEditText);
AndroidUtils.setTextHorizontalGravity(poiNameEditText, Gravity.START);
poiNameEditText.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
@ -273,6 +275,7 @@ public class EditPoiDialogFragment extends BaseOsmAndDialogFragment {
AndroidUtils.showSoftKeyboard(poiNameEditText);
poiTypeTextInputLayout = (TextInputLayout) view.findViewById(R.id.poiTypeTextInputLayout);
poiTypeEditText = (AutoCompleteTextView) view.findViewById(R.id.poiTypeEditText);
AndroidUtils.setTextHorizontalGravity(poiTypeEditText, Gravity.START);
poiTypeEditText.setText(editPoiData.getPoiTypeString());
poiTypeEditText.addTextChangedListener(new TextWatcher() {
@Override
@ -301,12 +304,26 @@ public class EditPoiDialogFragment extends BaseOsmAndDialogFragment {
poiTypeEditText.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(final View v, MotionEvent event) {
Context ctx = getContext();
if (ctx == null) {
return false;
}
boolean isLayoutRtl = AndroidUtils.isLayoutRtl(getContext());
final EditText editText = (EditText) v;
final int DRAWABLE_RIGHT = 2;
if (event.getAction() == MotionEvent.ACTION_UP) {
if (event.getX() >= (editText.getRight()
- editText.getCompoundDrawables()[DRAWABLE_RIGHT].getBounds().width()
- editText.getPaddingRight())) {
final int DRAWABLE_END = 2;
int expandBtnWidth = AndroidUtils.getCompoundDrawables(editText)[DRAWABLE_END].getBounds().width();
boolean expandButtonPressed = false;
if (isLayoutRtl) {
expandButtonPressed = event.getX() <= (editText.getLeft() + expandBtnWidth
+ editText.getPaddingLeft());
} else {
expandButtonPressed = event.getX() >= (editText.getRight() - expandBtnWidth
- editText.getPaddingRight());
}
if (expandButtonPressed) {
PoiCategory category = editPoiData.getPoiCategory();
if (category != null) {
PoiSubTypeDialogFragment dialogFragment =
@ -319,7 +336,6 @@ public class EditPoiDialogFragment extends BaseOsmAndDialogFragment {
});
dialogFragment.show(getChildFragmentManager(), "PoiSubTypeDialogFragment");
}
return true;
}
}

Some files were not shown because too many files have changed in this diff Show more