Skip to content

Commit

Permalink
fix pre API 24 behaviour
Browse files Browse the repository at this point in the history
  • Loading branch information
wuan committed Jul 11, 2024
1 parent 668a004 commit bbf9ab7
Showing 1 changed file with 14 additions and 7 deletions.
21 changes: 14 additions & 7 deletions app/src/main/java/org/blitzortung/android/app/Main.kt
Original file line number Diff line number Diff line change
Expand Up @@ -140,13 +140,7 @@ class Main : FragmentActivity(), OnSharedPreferenceChangeListener {

statusComponent.indicateError(event.failed)
if (!event.failed && event.sequenceNumber != null) {
val updatedSequenceNumber =
if (isAtLeast(24)) {
currentSequenceNumber.updateAndGet { previousSequenceNumber ->
if (previousSequenceNumber < event.sequenceNumber) event.sequenceNumber else previousSequenceNumber
}} else {
if (currentSequenceNumber.get() < event.sequenceNumber) event.sequenceNumber else currentSequenceNumber.get()
}
val updatedSequenceNumber = determineUpdatedSequenceNumber(event.sequenceNumber)
if (updatedSequenceNumber == event.sequenceNumber) {
currentResult = event

Expand Down Expand Up @@ -207,6 +201,19 @@ class Main : FragmentActivity(), OnSharedPreferenceChangeListener {
}
}

private fun determineUpdatedSequenceNumber(sequenceNumber: Long) = if (isAtLeast(24)) {
currentSequenceNumber.updateAndGet { previousSequenceNumber ->
if (previousSequenceNumber < sequenceNumber) sequenceNumber else previousSequenceNumber
}
} else {
synchronized(currentSequenceNumber) {
val previousSequenceNumber = currentSequenceNumber.get()
val updated = if (previousSequenceNumber < sequenceNumber) sequenceNumber else previousSequenceNumber
currentSequenceNumber.set(updated)
updated
}
}

private lateinit var mapFragment: MapFragment

private lateinit var binding: MainBinding
Expand Down

0 comments on commit bbf9ab7

Please sign in to comment.