From 62d1be3102a322b9eb14280c003f99f4606f507e Mon Sep 17 00:00:00 2001 From: Iván Ávalos Date: Tue, 11 Jan 2022 01:24:31 -0600 Subject: MapFragment properly draws reports and renamed icons --- .../android/details/reports/UnitReportsFragment.kt | 6 +- .../TrackerMap/android/devices/DevicesAdapter.kt | 6 +- .../TrackerMap/android/map/MapFragment.kt | 71 ++++++++++++++++++---- .../TrackerMap/android/map/UnitMapFragment.kt | 9 +-- .../TrackerMap/android/units/UnitsActivity.kt | 7 +-- .../src/main/res/drawable/device_contact.xml | 10 +++ androidApp/src/main/res/drawable/device_locked.xml | 5 ++ androidApp/src/main/res/drawable/device_status.xml | 5 ++ .../src/main/res/drawable/device_unlocked.xml | 5 ++ .../res/drawable/ic_baseline_calendar_today_24.xml | 5 -- .../ic_baseline_fiber_manual_record_24.xml | 5 -- .../src/main/res/drawable/ic_baseline_list_24.xml | 10 --- .../res/drawable/ic_baseline_location_on_24.xml | 10 --- .../src/main/res/drawable/ic_baseline_lock_24.xml | 5 -- .../main/res/drawable/ic_baseline_lock_open_24.xml | 5 -- .../src/main/res/drawable/ic_baseline_map_24.xml | 10 --- .../src/main/res/drawable/ic_baseline_menu_24.xml | 10 --- .../main/res/drawable/ic_baseline_person_24.xml | 10 --- .../src/main/res/drawable/ic_baseline_speed_24.xml | 10 --- androidApp/src/main/res/drawable/icon_list.xml | 10 +++ androidApp/src/main/res/drawable/icon_map.xml | 10 +++ androidApp/src/main/res/drawable/icon_menu.xml | 10 +++ .../src/main/res/drawable/map_report_end.xml | 12 ++++ .../src/main/res/drawable/map_report_position.xml | 12 ++++ .../src/main/res/drawable/map_report_start.xml | 12 ++++ .../src/main/res/drawable/position_address.xml | 10 +++ .../src/main/res/drawable/position_datetime.xml | 5 ++ .../src/main/res/drawable/position_speed.xml | 10 +++ .../src/main/res/layout/unit_details_reports.xml | 4 +- androidApp/src/main/res/layout/unit_item.xml | 12 ++-- .../src/main/res/layout/unit_map_fragment.xml | 12 ++-- androidApp/src/main/res/layout/units_activity.xml | 2 +- 32 files changed, 205 insertions(+), 120 deletions(-) create mode 100644 androidApp/src/main/res/drawable/device_contact.xml create mode 100644 androidApp/src/main/res/drawable/device_locked.xml create mode 100644 androidApp/src/main/res/drawable/device_status.xml create mode 100644 androidApp/src/main/res/drawable/device_unlocked.xml delete mode 100644 androidApp/src/main/res/drawable/ic_baseline_calendar_today_24.xml delete mode 100644 androidApp/src/main/res/drawable/ic_baseline_fiber_manual_record_24.xml delete mode 100644 androidApp/src/main/res/drawable/ic_baseline_list_24.xml delete mode 100644 androidApp/src/main/res/drawable/ic_baseline_location_on_24.xml delete mode 100644 androidApp/src/main/res/drawable/ic_baseline_lock_24.xml delete mode 100644 androidApp/src/main/res/drawable/ic_baseline_lock_open_24.xml delete mode 100644 androidApp/src/main/res/drawable/ic_baseline_map_24.xml delete mode 100644 androidApp/src/main/res/drawable/ic_baseline_menu_24.xml delete mode 100644 androidApp/src/main/res/drawable/ic_baseline_person_24.xml delete mode 100644 androidApp/src/main/res/drawable/ic_baseline_speed_24.xml create mode 100644 androidApp/src/main/res/drawable/icon_list.xml create mode 100644 androidApp/src/main/res/drawable/icon_map.xml create mode 100644 androidApp/src/main/res/drawable/icon_menu.xml create mode 100644 androidApp/src/main/res/drawable/map_report_end.xml create mode 100644 androidApp/src/main/res/drawable/map_report_position.xml create mode 100644 androidApp/src/main/res/drawable/map_report_start.xml create mode 100644 androidApp/src/main/res/drawable/position_address.xml create mode 100644 androidApp/src/main/res/drawable/position_datetime.xml create mode 100644 androidApp/src/main/res/drawable/position_speed.xml (limited to 'androidApp') diff --git a/androidApp/src/main/java/mx/trackermap/TrackerMap/android/details/reports/UnitReportsFragment.kt b/androidApp/src/main/java/mx/trackermap/TrackerMap/android/details/reports/UnitReportsFragment.kt index 33b0dfc..b701990 100644 --- a/androidApp/src/main/java/mx/trackermap/TrackerMap/android/details/reports/UnitReportsFragment.kt +++ b/androidApp/src/main/java/mx/trackermap/TrackerMap/android/details/reports/UnitReportsFragment.kt @@ -147,7 +147,8 @@ class UnitReportsFragment : Fragment() { binding.reportsMapContainer.visibility = View.VISIBLE reportsMapFragment.display( - positions.mapNotNull(MarkerTransformations::positionToMarker).toTypedArray() + positions.mapNotNull(MarkerTransformations::positionToMarker).toTypedArray(), + isReport = true ) } @@ -224,7 +225,8 @@ class UnitReportsFragment : Fragment() { binding.reportsMapContainer.visibility = View.VISIBLE reportsMapFragment.display( - stops.mapNotNull(MarkerTransformations::stopToMarker).toTypedArray() + stops.mapNotNull(MarkerTransformations::stopToMarker).toTypedArray(), + isReport = true ) } diff --git a/androidApp/src/main/java/mx/trackermap/TrackerMap/android/devices/DevicesAdapter.kt b/androidApp/src/main/java/mx/trackermap/TrackerMap/android/devices/DevicesAdapter.kt index d715e8d..56b114d 100644 --- a/androidApp/src/main/java/mx/trackermap/TrackerMap/android/devices/DevicesAdapter.kt +++ b/androidApp/src/main/java/mx/trackermap/TrackerMap/android/devices/DevicesAdapter.kt @@ -53,9 +53,9 @@ class DevicesAdapter( engineStopIcon.visibility = View.VISIBLE engineStopIcon.setImageResource( when (attributes["out1"].toString()) { - "true" -> R.drawable.ic_baseline_lock_24 - "false" -> R.drawable.ic_baseline_lock_open_24 - else -> R.drawable.ic_baseline_lock_open_24 + "true" -> R.drawable.device_unlocked + "false" -> R.drawable.device_locked + else -> R.drawable.device_locked } ) engineStopIcon.contentDescription = when (attributes["out1"].toString()) { diff --git a/androidApp/src/main/java/mx/trackermap/TrackerMap/android/map/MapFragment.kt b/androidApp/src/main/java/mx/trackermap/TrackerMap/android/map/MapFragment.kt index ebd75fb..681a21f 100644 --- a/androidApp/src/main/java/mx/trackermap/TrackerMap/android/map/MapFragment.kt +++ b/androidApp/src/main/java/mx/trackermap/TrackerMap/android/map/MapFragment.kt @@ -1,12 +1,14 @@ package mx.trackermap.TrackerMap.android.map import android.graphics.Bitmap -import android.graphics.BitmapFactory +import android.graphics.Color import android.os.Bundle import android.util.Log import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import androidx.core.content.res.ResourcesCompat +import androidx.core.graphics.drawable.toBitmap import com.mousebird.maply.* import java.io.File import mx.trackermap.TrackerMap.android.R @@ -25,7 +27,7 @@ class MapFragment : GlobeMapFragment() { var markerCallback: MarkerCallback? = null - private val markers = mutableListOf>() + private val objects = mutableListOf() override fun chooseDisplayType(): MapDisplayType { return MapDisplayType.Map @@ -93,35 +95,77 @@ class MapFragment : GlobeMapFragment() { markerCallback?.let { it(null) } } - fun clear() { + private fun clear() { mapControl.removeObjects( - markers.map { it.second }, + objects, ThreadMode.ThreadAny ) + objects.clear() } - fun display(markers: Array) { + fun display(markers: Array, isReport: Boolean) { Log.d("MapFragment", "Displaying markers") clear() - val screenMarkers = markers.map { marker -> + val screenMarkers = markers.mapIndexed { i, marker -> val screenMarker = ScreenMarker() val markerSize = Point2d(144.0, 144.0) screenMarker.loc = Point2d.FromDegrees(marker.longitude, marker.latitude) - screenMarker.image = getIcon(marker.type) + screenMarker.image = if (isReport) { + when (i) { + 0 -> getIcon(MarkerType.REPORT_START) + markers.size - 1 -> getIcon(MarkerType.REPORT_END) + else -> getIcon(MarkerType.REPORT_POSITION) + } + } else getIcon(marker.type) screenMarker.size = markerSize screenMarker.userObject = marker.id screenMarker.selectable = true screenMarker } - mapControl.addScreenMarkers( + + objects.add(mapControl.addScreenMarkers( screenMarkers, MarkerInfo(), ThreadMode.ThreadAny - ) + )) + + if (isReport && markers.isNotEmpty()) { + Log.d("MapFragment", "Displaying report") + + val points = markers.map { marker -> + Point2d.FromDegrees(marker.longitude, marker.latitude) + }.toTypedArray() + + // Draw polyline + val vector = VectorObject() + vector.addAreal(points) + + val vectorInfo = VectorInfo() + vectorInfo.setColor(Color.GREEN) + vectorInfo.setLineWidth(25.0f) + + objects.add(mapControl.addVector( + vector, + vectorInfo, + ThreadMode.ThreadAny + )) + + // Center map to polyline bounds + val mbr = Mbr() + points.forEach { + mbr.addPoint(it) + } + mbr.expandByFraction(0.1) + + mapControl.addPostSurfaceRunnable { + val zoom = mapControl.findHeightToViewBounds(mbr, mbr.middle()) + mapControl.setPositionGeo(mbr.middle(), zoom) + } + } } fun focusOn(latitude: Double, longitude: Double, zoom: Double = 0.0000144, animated: Boolean = true) { @@ -135,7 +179,7 @@ class MapFragment : GlobeMapFragment() { } private fun getIcon(markerType: MarkerType): Bitmap { - return BitmapFactory.decodeResource( + return ResourcesCompat.getDrawable( activity!!.resources, when (markerType) { MarkerType.ANIMAL -> R.drawable.map_animal @@ -159,7 +203,10 @@ class MapFragment : GlobeMapFragment() { MarkerType.TROLLEYBUS -> R.drawable.map_trolleybus MarkerType.TRUCK -> R.drawable.map_truck MarkerType.VAN -> R.drawable.map_van - } - ) + + MarkerType.REPORT_POSITION -> R.drawable.map_report_position + MarkerType.REPORT_START -> R.drawable.map_report_start + MarkerType.REPORT_END -> R.drawable.map_report_end + }, activity!!.theme)!!.toBitmap(144, 144) } } \ No newline at end of file diff --git a/androidApp/src/main/java/mx/trackermap/TrackerMap/android/map/UnitMapFragment.kt b/androidApp/src/main/java/mx/trackermap/TrackerMap/android/map/UnitMapFragment.kt index 427f020..3c34abb 100644 --- a/androidApp/src/main/java/mx/trackermap/TrackerMap/android/map/UnitMapFragment.kt +++ b/androidApp/src/main/java/mx/trackermap/TrackerMap/android/map/UnitMapFragment.kt @@ -56,7 +56,8 @@ class UnitMapFragment : Fragment() { Log.d("UnitMapFragment", "Available units: $units") unitsMapFragment.display( - units.mapNotNull(MarkerTransformations::unitToMarker).toTypedArray() + units.mapNotNull(MarkerTransformations::unitToMarker).toTypedArray(), + isReport = false ) } @@ -92,9 +93,9 @@ class UnitMapFragment : Fragment() { engineStopIcon.visibility = View.VISIBLE engineStopIcon.setImageResource( when (attributes["out1"].toString()) { - "true" -> R.drawable.ic_baseline_lock_24 - "false" -> R.drawable.ic_baseline_lock_open_24 - else -> R.drawable.ic_baseline_lock_open_24 + "true" -> R.drawable.device_unlocked + "false" -> R.drawable.device_locked + else -> R.drawable.device_locked } ) engineStopIcon.contentDescription = diff --git a/androidApp/src/main/java/mx/trackermap/TrackerMap/android/units/UnitsActivity.kt b/androidApp/src/main/java/mx/trackermap/TrackerMap/android/units/UnitsActivity.kt index 796c29f..6bc7aab 100644 --- a/androidApp/src/main/java/mx/trackermap/TrackerMap/android/units/UnitsActivity.kt +++ b/androidApp/src/main/java/mx/trackermap/TrackerMap/android/units/UnitsActivity.kt @@ -9,7 +9,6 @@ import kotlinx.coroutines.DelicateCoroutinesApi import mx.trackermap.TrackerMap.android.R import mx.trackermap.TrackerMap.android.databinding.UnitsActivityBinding import mx.trackermap.TrackerMap.android.devices.DevicesFragment -import mx.trackermap.TrackerMap.android.map.MapFragment import mx.trackermap.TrackerMap.android.map.UnitMapFragment import org.koin.androidx.viewmodel.ext.android.viewModel @@ -54,9 +53,9 @@ class UnitsActivity : AppCompatActivity() { unitsViewModel.unitsDisplayMode.observe(this) { displayMode -> binding.displayModeToggle.setImageResource( when (displayMode) { - UnitsViewModel.UnitsDisplayMode.LIST -> R.drawable.ic_baseline_map_24 - UnitsViewModel.UnitsDisplayMode.MAP -> R.drawable.ic_baseline_list_24 - else -> R.drawable.ic_baseline_map_24 + UnitsViewModel.UnitsDisplayMode.LIST -> R.drawable.icon_map + UnitsViewModel.UnitsDisplayMode.MAP -> R.drawable.icon_list + else -> R.drawable.icon_map } ) binding.displayModeToggle.contentDescription = getString( diff --git a/androidApp/src/main/res/drawable/device_contact.xml b/androidApp/src/main/res/drawable/device_contact.xml new file mode 100644 index 0000000..0faf05d --- /dev/null +++ b/androidApp/src/main/res/drawable/device_contact.xml @@ -0,0 +1,10 @@ + + + diff --git a/androidApp/src/main/res/drawable/device_locked.xml b/androidApp/src/main/res/drawable/device_locked.xml new file mode 100644 index 0000000..1fe62c8 --- /dev/null +++ b/androidApp/src/main/res/drawable/device_locked.xml @@ -0,0 +1,5 @@ + + + diff --git a/androidApp/src/main/res/drawable/device_status.xml b/androidApp/src/main/res/drawable/device_status.xml new file mode 100644 index 0000000..13890d5 --- /dev/null +++ b/androidApp/src/main/res/drawable/device_status.xml @@ -0,0 +1,5 @@ + + + diff --git a/androidApp/src/main/res/drawable/device_unlocked.xml b/androidApp/src/main/res/drawable/device_unlocked.xml new file mode 100644 index 0000000..ed352bf --- /dev/null +++ b/androidApp/src/main/res/drawable/device_unlocked.xml @@ -0,0 +1,5 @@ + + + diff --git a/androidApp/src/main/res/drawable/ic_baseline_calendar_today_24.xml b/androidApp/src/main/res/drawable/ic_baseline_calendar_today_24.xml deleted file mode 100644 index e059617..0000000 --- a/androidApp/src/main/res/drawable/ic_baseline_calendar_today_24.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - diff --git a/androidApp/src/main/res/drawable/ic_baseline_fiber_manual_record_24.xml b/androidApp/src/main/res/drawable/ic_baseline_fiber_manual_record_24.xml deleted file mode 100644 index 13890d5..0000000 --- a/androidApp/src/main/res/drawable/ic_baseline_fiber_manual_record_24.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - diff --git a/androidApp/src/main/res/drawable/ic_baseline_list_24.xml b/androidApp/src/main/res/drawable/ic_baseline_list_24.xml deleted file mode 100644 index b0e68e0..0000000 --- a/androidApp/src/main/res/drawable/ic_baseline_list_24.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - diff --git a/androidApp/src/main/res/drawable/ic_baseline_location_on_24.xml b/androidApp/src/main/res/drawable/ic_baseline_location_on_24.xml deleted file mode 100644 index 71ef7bc..0000000 --- a/androidApp/src/main/res/drawable/ic_baseline_location_on_24.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - diff --git a/androidApp/src/main/res/drawable/ic_baseline_lock_24.xml b/androidApp/src/main/res/drawable/ic_baseline_lock_24.xml deleted file mode 100644 index ed352bf..0000000 --- a/androidApp/src/main/res/drawable/ic_baseline_lock_24.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - diff --git a/androidApp/src/main/res/drawable/ic_baseline_lock_open_24.xml b/androidApp/src/main/res/drawable/ic_baseline_lock_open_24.xml deleted file mode 100644 index 1fe62c8..0000000 --- a/androidApp/src/main/res/drawable/ic_baseline_lock_open_24.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - diff --git a/androidApp/src/main/res/drawable/ic_baseline_map_24.xml b/androidApp/src/main/res/drawable/ic_baseline_map_24.xml deleted file mode 100644 index d1274d8..0000000 --- a/androidApp/src/main/res/drawable/ic_baseline_map_24.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - diff --git a/androidApp/src/main/res/drawable/ic_baseline_menu_24.xml b/androidApp/src/main/res/drawable/ic_baseline_menu_24.xml deleted file mode 100644 index 4350ba9..0000000 --- a/androidApp/src/main/res/drawable/ic_baseline_menu_24.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - diff --git a/androidApp/src/main/res/drawable/ic_baseline_person_24.xml b/androidApp/src/main/res/drawable/ic_baseline_person_24.xml deleted file mode 100644 index 0faf05d..0000000 --- a/androidApp/src/main/res/drawable/ic_baseline_person_24.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - diff --git a/androidApp/src/main/res/drawable/ic_baseline_speed_24.xml b/androidApp/src/main/res/drawable/ic_baseline_speed_24.xml deleted file mode 100644 index febd057..0000000 --- a/androidApp/src/main/res/drawable/ic_baseline_speed_24.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - diff --git a/androidApp/src/main/res/drawable/icon_list.xml b/androidApp/src/main/res/drawable/icon_list.xml new file mode 100644 index 0000000..b0e68e0 --- /dev/null +++ b/androidApp/src/main/res/drawable/icon_list.xml @@ -0,0 +1,10 @@ + + + diff --git a/androidApp/src/main/res/drawable/icon_map.xml b/androidApp/src/main/res/drawable/icon_map.xml new file mode 100644 index 0000000..d1274d8 --- /dev/null +++ b/androidApp/src/main/res/drawable/icon_map.xml @@ -0,0 +1,10 @@ + + + diff --git a/androidApp/src/main/res/drawable/icon_menu.xml b/androidApp/src/main/res/drawable/icon_menu.xml new file mode 100644 index 0000000..4350ba9 --- /dev/null +++ b/androidApp/src/main/res/drawable/icon_menu.xml @@ -0,0 +1,10 @@ + + + diff --git a/androidApp/src/main/res/drawable/map_report_end.xml b/androidApp/src/main/res/drawable/map_report_end.xml new file mode 100644 index 0000000..de4d015 --- /dev/null +++ b/androidApp/src/main/res/drawable/map_report_end.xml @@ -0,0 +1,12 @@ + + + + diff --git a/androidApp/src/main/res/drawable/map_report_position.xml b/androidApp/src/main/res/drawable/map_report_position.xml new file mode 100644 index 0000000..fab1db5 --- /dev/null +++ b/androidApp/src/main/res/drawable/map_report_position.xml @@ -0,0 +1,12 @@ + + + + diff --git a/androidApp/src/main/res/drawable/map_report_start.xml b/androidApp/src/main/res/drawable/map_report_start.xml new file mode 100644 index 0000000..fc29b53 --- /dev/null +++ b/androidApp/src/main/res/drawable/map_report_start.xml @@ -0,0 +1,12 @@ + + + + diff --git a/androidApp/src/main/res/drawable/position_address.xml b/androidApp/src/main/res/drawable/position_address.xml new file mode 100644 index 0000000..71ef7bc --- /dev/null +++ b/androidApp/src/main/res/drawable/position_address.xml @@ -0,0 +1,10 @@ + + + diff --git a/androidApp/src/main/res/drawable/position_datetime.xml b/androidApp/src/main/res/drawable/position_datetime.xml new file mode 100644 index 0000000..e059617 --- /dev/null +++ b/androidApp/src/main/res/drawable/position_datetime.xml @@ -0,0 +1,5 @@ + + + diff --git a/androidApp/src/main/res/drawable/position_speed.xml b/androidApp/src/main/res/drawable/position_speed.xml new file mode 100644 index 0000000..febd057 --- /dev/null +++ b/androidApp/src/main/res/drawable/position_speed.xml @@ -0,0 +1,10 @@ + + + diff --git a/androidApp/src/main/res/layout/unit_details_reports.xml b/androidApp/src/main/res/layout/unit_details_reports.xml index 1eaf68c..dc649e4 100644 --- a/androidApp/src/main/res/layout/unit_details_reports.xml +++ b/androidApp/src/main/res/layout/unit_details_reports.xml @@ -10,7 +10,7 @@ android:name="mx.trackermap.TrackerMap.android.map.MapFragment" android:layout_width="0dp" android:layout_height="0dp" - android:layout_margin="@dimen/margin" + android:layout_marginBottom="@dimen/margin" app:layout_constraintBottom_toTopOf="@id/periodSection" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" @@ -21,7 +21,7 @@ android:id="@+id/eventsScroll" android:layout_width="0dp" android:layout_height="0dp" - android:layout_margin="@dimen/margin" + android:layout_marginBottom="@dimen/margin" android:visibility="gone" app:layout_constraintBottom_toTopOf="@id/periodSection" app:layout_constraintEnd_toEndOf="parent" diff --git a/androidApp/src/main/res/layout/unit_item.xml b/androidApp/src/main/res/layout/unit_item.xml index 96011b9..261a7a6 100644 --- a/androidApp/src/main/res/layout/unit_item.xml +++ b/androidApp/src/main/res/layout/unit_item.xml @@ -82,7 +82,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginEnd="5dp" - android:src="@drawable/ic_baseline_fiber_manual_record_24" + android:src="@drawable/device_status" app:tint="?android:textColorPrimary" tools:ignore="ContentDescription" /> @@ -93,7 +93,7 @@ android:layout_toEndOf="@id/statusIcon" android:visibility="gone" android:layout_marginEnd="5dp" - android:src="@drawable/ic_baseline_lock_24" + android:src="@drawable/device_unlocked" tools:ignore="ContentDescription" /> diff --git a/androidApp/src/main/res/layout/unit_map_fragment.xml b/androidApp/src/main/res/layout/unit_map_fragment.xml index 35643eb..6c2720b 100644 --- a/androidApp/src/main/res/layout/unit_map_fragment.xml +++ b/androidApp/src/main/res/layout/unit_map_fragment.xml @@ -40,7 +40,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginEnd="5dp" - android:src="@drawable/ic_baseline_fiber_manual_record_24" + android:src="@drawable/device_status" app:tint="?android:textColorPrimary" tools:ignore="ContentDescription" /> @@ -51,7 +51,7 @@ android:layout_toEndOf="@id/statusIcon" android:visibility="gone" android:layout_marginEnd="5dp" - android:src="@drawable/ic_baseline_lock_24" + android:src="@drawable/device_unlocked" tools:ignore="ContentDescription" /> diff --git a/androidApp/src/main/res/layout/units_activity.xml b/androidApp/src/main/res/layout/units_activity.xml index bff3789..f0fd2ee 100644 --- a/androidApp/src/main/res/layout/units_activity.xml +++ b/androidApp/src/main/res/layout/units_activity.xml @@ -28,7 +28,7 @@ android:layout_marginStart="@dimen/fab_margin" android:layout_marginTop="@dimen/fab_margin" app:elevation="@dimen/fab_elevation" - android:src="@drawable/ic_baseline_menu_24" + android:src="@drawable/icon_menu" android:contentDescription="@string/open_drawer"/>