@@ -7,6 +7,7 @@ import android.os.Bundle
77import android.os.Handler
88import android.os.Looper
99import android.text.format.DateFormat
10+ import android.util.Log
1011import android.view.LayoutInflater
1112import android.view.View
1213import android.view.ViewGroup
@@ -15,6 +16,7 @@ import com.google.android.material.slider.Slider
1516import com.thewizrd.shared_resources.DateTimeConstants
1617import com.thewizrd.shared_resources.okhttp3.OkHttp3Utils.getStream
1718import com.thewizrd.shared_resources.sharedDeps
19+ import com.thewizrd.shared_resources.utils.Colors
1820import com.thewizrd.shared_resources.utils.Coordinate
1921import com.thewizrd.shared_resources.utils.DateTimeUtils
2022import com.thewizrd.shared_resources.utils.Logger
@@ -37,10 +39,11 @@ import org.osmdroid.util.MapTileIndex
3739import org.osmdroid.views.overlay.Marker
3840import org.osmdroid.views.overlay.TilesOverlay
3941import org.w3c.dom.Node
42+ import java.io.IOException
43+ import java.time.Duration
4044import java.time.Instant
4145import java.time.ZoneOffset
4246import java.time.ZonedDateTime
43- import java.time.temporal.ChronoUnit
4447import javax.xml.parsers.DocumentBuilderFactory
4548import javax.xml.xpath.XPathConstants
4649import javax.xml.xpath.XPathFactory
@@ -49,7 +52,7 @@ import kotlin.math.pow
4952import kotlin.math.sinh
5053
5154@RequiresApi(value = Build .VERSION_CODES .LOLLIPOP )
52- class NWSRadarViewProvider (context : Context , rootView : ViewGroup ) :
55+ class ECCCRadarViewProvider (context : Context , rootView : ViewGroup ) :
5356 MapTileRadarViewProvider (context, rootView) {
5457 private val availableRadarFrames: MutableList <RadarFrame >
5558 private val radarLayers: MutableMap <String , TilesOverlay >
@@ -59,6 +62,7 @@ class NWSRadarViewProvider(context: Context, rootView: ViewGroup) :
5962 private var animationPosition = 0
6063 private val mMainHandler: Handler
6164 private var mProcessingFrames: Boolean = false
65+ private var mFrameCall: Call ? = null
6266
6367 init {
6468 availableRadarFrames = ArrayList ()
@@ -198,7 +202,10 @@ class NWSRadarViewProvider(context: Context, rootView: ViewGroup) :
198202 val overlaysToDelete = radarLayers.values.toList()
199203 radarLayers.clear()
200204 for (overlay in overlaysToDelete) {
201- mMainHandler.post { overlay.remove() }
205+ mMainHandler.post {
206+ overlay.onDetach(mapView)
207+ mapView.overlays.remove(overlay)
208+ }
202209 }
203210
204211 availableRadarFrames.clear()
0 commit comments