diff --git a/app/src/main/java/com/geeksville/mesh/ui/MapFragment.kt b/app/src/main/java/com/geeksville/mesh/ui/MapFragment.kt index d002a8fd2..b123f2ac6 100644 --- a/app/src/main/java/com/geeksville/mesh/ui/MapFragment.kt +++ b/app/src/main/java/com/geeksville/mesh/ui/MapFragment.kt @@ -1,7 +1,5 @@ package com.geeksville.mesh.ui -import android.app.AlertDialog -import android.content.Intent import android.graphics.Color import android.os.Bundle import android.os.Handler @@ -17,7 +15,6 @@ import com.geeksville.android.GeeksvilleApplication import com.geeksville.android.Logging import com.geeksville.mesh.NodeInfo import com.geeksville.mesh.R -import com.geeksville.mesh.databinding.ActivityOfflineBinding import com.geeksville.mesh.databinding.MapNotAllowedBinding import com.geeksville.mesh.databinding.MapViewBinding import com.geeksville.mesh.model.UIViewModel @@ -30,7 +27,6 @@ import com.mapbox.geojson.Geometry import com.mapbox.geojson.Point import com.mapbox.maps.* import com.mapbox.maps.dsl.cameraOptions -import com.mapbox.maps.extension.style.expressions.dsl.generated.id import com.mapbox.maps.extension.style.expressions.generated.Expression import com.mapbox.maps.extension.style.layers.addLayer import com.mapbox.maps.extension.style.layers.generated.SymbolLayer @@ -289,7 +285,7 @@ class MapFragment : ScreenFragment("Map"), Logging { v.gestures.rotateEnabled = false v.gestures.addOnMapLongClickListener(this.longClick) - // v.gestures.addOnMapClickListener(this.click) + v.gestures.addOnMapClickListener(this.click) // Provide initial positions model.nodeDB.nodes.value?.let { nodes -> @@ -331,27 +327,28 @@ class MapFragment : ScreenFragment("Map"), Logging { .build(), { progress -> // Update the download progress to UI -// updateStylePackDownloadProgress( -// progress.completedResourceCount, -// progress.requiredResourceCount, -// "StylePackLoadProgress: $progress" -// ) + updateStylePackDownloadProgress( + progress.completedResourceCount, + progress.requiredResourceCount, + "StylePackLoadProgress: $progress" + ) }, { expected -> if (expected.isValue) { expected.value?.let { stylePack -> // Style pack download finishes successfully - // logSuccessMessage("StylePack downloaded: $stylePack") - // if (binding.tilePackDownloadProgress.progress == binding.tilePackDownloadProgress.max) { - // prepareViewMapButton() - // } else { - // logInfoMessage("Waiting for tile region download to be finished.") - // } + debug("StylePack downloaded: $stylePack") + if (binding.stylePackDownloadProgress.progress == binding.stylePackDownloadProgress.max) { + debug("Doing stuff") + binding.stylePackDownloadProgress.visibility = View.INVISIBLE + } else { + debug("Waiting for tile region download to be finished.") + } } } expected.error?.let { // Handle error occurred during the style pack download. - // logErrorMessage("StylePackError: $it") + debug("StylePackError: $it") } } ) @@ -395,27 +392,28 @@ class MapFragment : ScreenFragment("Map"), Logging { .networkRestriction(NetworkRestriction.NONE) .build(), { progress -> - //updateTileRegionDownloadProgress( - // progress.completedResourceCount, - // progress.requiredResourceCount, - // "TileRegionLoadProgress: $progress" - // ) + updateTileRegionDownloadProgress( + progress.completedResourceCount, + progress.requiredResourceCount, + "TileRegionLoadProgress: $progress" + ) } ) { expected -> if (expected.isValue) { // Tile pack download finishes successfully expected.value?.let { region -> - // logSuccessMessage("TileRegion downloaded: $region") - // if (binding.stylePackDownloadProgress.progress == binding.stylePackDownloadProgress.max) { - // prepareViewMapButton() - // } else { - // logInfoMessage("Waiting for style pack download to be finished.") - // } + debug("TileRegion downloaded: $region") + if (binding.stylePackDownloadProgress.progress == binding.stylePackDownloadProgress.max) { + debug("Finished tilepack download") + binding.stylePackDownloadProgress.visibility = View.INVISIBLE + } else { + debug("Waiting for style pack download to be finished.") + } } } expected.error?.let { // Handle error occurred during the tile region download. - // logErrorMessage("TileRegionError: $it") + debug("TileRegionError: $it") } } // prepareCancelButton() @@ -452,11 +450,33 @@ class MapFragment : ScreenFragment("Map"), Logging { return@OnMapLongClickListener true } -// private val click = OnMapClickListener { -// val point = Point.fromLngLat(it.longitude(), it.latitude()) -// addViewAnnotation(point) -// return@OnMapClickListener true -// } + private fun updateStylePackDownloadProgress( + progress: Long, + max: Long, + message: String? = null + ) { + binding.stylePackDownloadProgress.visibility = View.VISIBLE + binding.stylePackDownloadProgress.max = max.toInt() + binding.stylePackDownloadProgress.progress = progress.toInt() + } + + private fun updateTileRegionDownloadProgress( + progress: Long, + max: Long, + message: String? = null + ) { + binding.stylePackDownloadProgress.max = max.toInt() + binding.stylePackDownloadProgress.progress = progress.toInt() + } + + private val click = OnMapClickListener { + if (binding.fabStyleToggle.isVisible) { + binding.fabStyleToggle.visibility = View.INVISIBLE + } else { + binding.fabStyleToggle.visibility = View.VISIBLE + } + return@OnMapClickListener true + } private sealed class OfflineLog(val message: String, val color: Int) { class Info(message: String) : OfflineLog(message, android.R.color.black) diff --git a/app/src/main/res/drawable/baseline_layers_white_24dp.xml b/app/src/main/res/drawable/baseline_layers_white_24dp.xml new file mode 100644 index 000000000..02fd48926 --- /dev/null +++ b/app/src/main/res/drawable/baseline_layers_white_24dp.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index f4345293e..75d730716 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -124,4 +124,5 @@ Delete Delete All Messages Long Range / Slow + Style Selection \ No newline at end of file