Fix Crash in LocationPickerActivity when device configuration is changed (#5500)

* Fix Crash in LocationPickerActivity when device configuration is changed (UI Modes)

* clean up

* fix

* fix

* fix

* fix

* removed faulty test

* cleanup

* fix and tests added
This commit is contained in:
Shashank Kumar 2024-03-17 19:16:13 +05:30 committed by GitHub
parent 161e2edc31
commit fec6dba341
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 111 additions and 60 deletions

View file

@ -2,6 +2,7 @@ package fr.free.nrw.commons.locationpicker
import android.content.Context
import android.os.Looper
import android.util.Log
import android.view.View
import android.widget.Button
import android.widget.ImageView
@ -20,10 +21,14 @@ import com.nhaarman.mockitokotlin2.times
import com.nhaarman.mockitokotlin2.verify
import com.nhaarman.mockitokotlin2.whenever
import fr.free.nrw.commons.LocationPicker.LocationPickerActivity
import fr.free.nrw.commons.Media
import fr.free.nrw.commons.TestCommonsApplication
import fr.free.nrw.commons.coordinates.CoordinateEditHelper
import fr.free.nrw.commons.kvstore.JsonKvStore
import fr.free.nrw.commons.upload.mediaDetails.UploadMediaDetailFragment.LAST_LOCATION
import fr.free.nrw.commons.upload.mediaDetails.UploadMediaDetailFragment.LAST_ZOOM
import io.reactivex.android.plugins.RxAndroidPlugins
import io.reactivex.schedulers.Schedulers
import org.junit.Assert
import org.junit.Assert.*
import org.junit.Before
@ -93,6 +98,7 @@ class LocationPickerActivityUnitTests {
MockitoAnnotations.initMocks(this)
context = RuntimeEnvironment.getApplication().applicationContext
activity = Robolectric.buildActivity(LocationPickerActivity::class.java).get()
RxAndroidPlugins.setInitMainThreadSchedulerHandler { Schedulers.trampoline() }
Whitebox.setInternalState(activity, "mapView", mapView)
Whitebox.setInternalState(activity, "applicationKvStore", applicationKvStore)
@ -165,4 +171,5 @@ class LocationPickerActivityUnitTests {
}
}
}