@@ -7,6 +7,7 @@ import android.os.Bundle
7
7
import android.os.Handler
8
8
import android.os.Looper
9
9
import android.text.format.DateFormat
10
+ import android.util.Log
10
11
import android.view.LayoutInflater
11
12
import android.view.View
12
13
import android.view.ViewGroup
@@ -15,6 +16,7 @@ import com.google.android.material.slider.Slider
15
16
import com.thewizrd.shared_resources.DateTimeConstants
16
17
import com.thewizrd.shared_resources.okhttp3.OkHttp3Utils.getStream
17
18
import com.thewizrd.shared_resources.sharedDeps
19
+ import com.thewizrd.shared_resources.utils.Colors
18
20
import com.thewizrd.shared_resources.utils.Coordinate
19
21
import com.thewizrd.shared_resources.utils.DateTimeUtils
20
22
import com.thewizrd.shared_resources.utils.Logger
@@ -37,10 +39,11 @@ import org.osmdroid.util.MapTileIndex
37
39
import org.osmdroid.views.overlay.Marker
38
40
import org.osmdroid.views.overlay.TilesOverlay
39
41
import org.w3c.dom.Node
42
+ import java.io.IOException
43
+ import java.time.Duration
40
44
import java.time.Instant
41
45
import java.time.ZoneOffset
42
46
import java.time.ZonedDateTime
43
- import java.time.temporal.ChronoUnit
44
47
import javax.xml.parsers.DocumentBuilderFactory
45
48
import javax.xml.xpath.XPathConstants
46
49
import javax.xml.xpath.XPathFactory
@@ -49,7 +52,7 @@ import kotlin.math.pow
49
52
import kotlin.math.sinh
50
53
51
54
@RequiresApi(value = Build .VERSION_CODES .LOLLIPOP )
52
- class NWSRadarViewProvider (context : Context , rootView : ViewGroup ) :
55
+ class ECCCRadarViewProvider (context : Context , rootView : ViewGroup ) :
53
56
MapTileRadarViewProvider (context, rootView) {
54
57
private val availableRadarFrames: MutableList <RadarFrame >
55
58
private val radarLayers: MutableMap <String , TilesOverlay >
@@ -59,6 +62,7 @@ class NWSRadarViewProvider(context: Context, rootView: ViewGroup) :
59
62
private var animationPosition = 0
60
63
private val mMainHandler: Handler
61
64
private var mProcessingFrames: Boolean = false
65
+ private var mFrameCall: Call ? = null
62
66
63
67
init {
64
68
availableRadarFrames = ArrayList ()
@@ -198,7 +202,10 @@ class NWSRadarViewProvider(context: Context, rootView: ViewGroup) :
198
202
val overlaysToDelete = radarLayers.values.toList()
199
203
radarLayers.clear()
200
204
for (overlay in overlaysToDelete) {
201
- mMainHandler.post { overlay.remove() }
205
+ mMainHandler.post {
206
+ overlay.onDetach(mapView)
207
+ mapView.overlays.remove(overlay)
208
+ }
202
209
}
203
210
204
211
availableRadarFrames.clear()
0 commit comments