Skip to content

Commit

Permalink
Places: Always recycle Bitmaps when clearing annotation cache. (#4451)
Browse files Browse the repository at this point in the history
  • Loading branch information
dbrant authored Feb 6, 2024
1 parent c0d7caf commit f6432c1
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 11 deletions.
21 changes: 11 additions & 10 deletions app/src/main/java/org/wikipedia/places/PlacesFragment.kt
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,7 @@ class PlacesFragment : Fragment(), LinkPreviewDialog.LoadPageCallback, LinkPrevi
if (it.resultCode == RESULT_OK) {
val languageChanged = it.data?.getBooleanExtra(PlacesFilterActivity.EXTRA_LANG_CHANGED, false) ?: false
if (languageChanged) {
annotationCache.clear()
clearAnnotationCache()
viewModel.highlightedPageTitle = null
symbolManager?.deleteAll()
viewModel.fetchNearbyPages(lastLocation?.latitude ?: 0.0,
Expand Down Expand Up @@ -252,10 +252,6 @@ class PlacesFragment : Fragment(), LinkPreviewDialog.LoadPageCallback, LinkPrevi
}
}

binding.viewButtonsGroup.post {
binding.viewButtonsGroup.isVisible = true
}

binding.viewButtonsGroup.addOnButtonCheckedListener { _, checkedId, isChecked ->
if (!isChecked) {
return@addOnButtonCheckedListener
Expand Down Expand Up @@ -546,18 +542,23 @@ class PlacesFragment : Fragment(), LinkPreviewDialog.LoadPageCallback, LinkPrevi
binding.mapView.onDestroy()
_binding = null

annotationCache.forEach {
if (it.bitmap != null) {
Glide.get(requireContext()).bitmapPool.put(it.bitmap!!)
}
}
clearAnnotationCache()
markerBitmapBase.recycle()
if (Prefs.shouldShowOneTimePlacesSurvey == SURVEY_NOT_INITIALIZED) {
Prefs.shouldShowOneTimePlacesSurvey = SURVEY_SHOW
}
super.onDestroyView()
}

private fun clearAnnotationCache() {
annotationCache.forEach {
if (it.bitmap != null) {
Glide.get(requireContext()).bitmapPool.put(it.bitmap!!)
}
}
annotationCache.clear()
}

private fun onUpdateCameraPosition(latLng: LatLng) {
lastLocation = Location("").also {
it.latitude = latLng.latitude
Expand Down
1 change: 0 additions & 1 deletion app/src/main/res/layout/fragment_places.xml
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,6 @@
android:layout_height="wrap_content"
android:layout_marginVertical="8dp"
android:layout_gravity="center_horizontal"
android:visibility="gone"
app:selectionRequired="true"
app:singleSelection="true">

Expand Down

0 comments on commit f6432c1

Please sign in to comment.