Updated some download policies and the rendering of the download button

pull/489/head
PWRxPSYCHO 2022-10-01 22:37:21 -04:00
rodzic d32a0aa069
commit 5019cc39ce
2 zmienionych plików z 19 dodań i 5 usunięć

Wyświetl plik

@ -32,8 +32,9 @@ class CustomTileSource {
+ mImageFilenameEnding)
}
}
//https://nowcoast.noaa.gov/arcgis/rest/services/nowcoast/radar_meteo_imagery_nexrad_time/MapServer
//Transparent Background
//https://earthlive.maptiles.arcgis.com/arcgis/rest/services/GOES/GOES31D/MapServer/tile/
private val NOAA_RADAR = object : OnlineTileSourceBase(
"NOAA GOES Radar",
0,
@ -46,7 +47,8 @@ class CustomTileSource {
"Dataset Citation: GOES-R Calibration Working Group and GOES-R Series Program, (2017): NOAA GOES-R Series Advanced Baseline Imager (ABI) Level 1b Radiances Band 13. NOAA National Centers for Environmental Information. doi:10.7289/V5BV7DSR",
TileSourcePolicy(
2,
TileSourcePolicy.FLAG_NO_PREVENTIVE
TileSourcePolicy.FLAG_NO_BULK
or TileSourcePolicy.FLAG_NO_PREVENTIVE
or TileSourcePolicy.FLAG_USER_AGENT_MEANINGFUL
or TileSourcePolicy.FLAG_USER_AGENT_NORMALIZED
)

Wyświetl plik

@ -7,6 +7,7 @@ import android.graphics.Canvas
import android.graphics.Color
import android.graphics.Paint
import android.graphics.Rect
import android.opengl.Visibility
import android.os.Bundle
import android.text.Editable
import android.text.TextWatcher
@ -34,6 +35,7 @@ import org.osmdroid.tileprovider.cachemanager.CacheManager
import org.osmdroid.tileprovider.cachemanager.CacheManager.CacheManagerCallback
import org.osmdroid.tileprovider.modules.SqliteArchiveTileWriter
import org.osmdroid.tileprovider.tilesource.ITileSource
import org.osmdroid.tileprovider.tilesource.OnlineTileSourceBase
import org.osmdroid.tileprovider.tilesource.TileSourcePolicyException
import org.osmdroid.util.BoundingBox
import org.osmdroid.util.GeoPoint
@ -57,7 +59,7 @@ class MapFragment : ScreenFragment("Map"), Logging, View.OnClickListener, OnSeek
private val model: UIViewModel by activityViewModels()
private lateinit var cacheManager: CacheManager
private lateinit var btnCache: FloatingActionButton
private lateinit var downloadBtn: FloatingActionButton
private lateinit var cacheNorth: EditText
private lateinit var cacheSouth: EditText
@ -88,7 +90,7 @@ class MapFragment : ScreenFragment("Map"), Logging, View.OnClickListener, OnSeek
inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?
): View {
binding = MapViewBinding.inflate(inflater)
btnCache = binding.root.findViewById(R.id.downloadButton)
downloadBtn = binding.root.findViewById(R.id.downloadButton)
return binding.root
}
@ -101,6 +103,11 @@ class MapFragment : ScreenFragment("Map"), Logging, View.OnClickListener, OnSeek
setupMapProperties()
map.setTileSource(loadOnlineTileSourceBase())
if (!(map.tileProvider.tileSource as OnlineTileSourceBase).tileSourcePolicy.acceptsBulkDownload()) {
downloadBtn.visibility = View.GONE
} else {
downloadBtn.visibility = View.VISIBLE
}
map.let {
if (view != null) {
mapController = map.controller
@ -124,7 +131,7 @@ class MapFragment : ScreenFragment("Map"), Logging, View.OnClickListener, OnSeek
}
zoomToNodes(mapController)
}
btnCache.setOnClickListener(this)
downloadBtn.setOnClickListener(this)
}
override fun onClick(v: View) {
@ -360,6 +367,11 @@ class MapFragment : ScreenFragment("Map"), Logging, View.OnClickListener, OnSeek
editor.apply()
dialog.dismiss()
map.setTileSource(loadOnlineTileSourceBase())
if (!(map.tileProvider.tileSource as OnlineTileSourceBase).tileSourcePolicy.acceptsBulkDownload()) {
downloadBtn.visibility = View.GONE
} else {
downloadBtn.visibility = View.VISIBLE
}
}
val dialog = builder.create()
dialog.show()