mirror of
https://github.com/commons-app/apps-android-commons.git
synced 2025-10-30 22:34:02 +01:00
Merge branch 'main' into psh/convert-upload-to-kotlin-I
This commit is contained in:
commit
147ee41b1d
14 changed files with 78 additions and 39 deletions
|
|
@ -18,7 +18,7 @@ import androidx.test.platform.app.InstrumentationRegistry
|
||||||
import androidx.test.rule.ActivityTestRule
|
import androidx.test.rule.ActivityTestRule
|
||||||
import androidx.test.rule.GrantPermissionRule
|
import androidx.test.rule.GrantPermissionRule
|
||||||
import androidx.test.uiautomator.UiDevice
|
import androidx.test.uiautomator.UiDevice
|
||||||
import fr.free.nrw.commons.LocationPicker.LocationPickerActivity
|
import fr.free.nrw.commons.locationpicker.LocationPickerActivity
|
||||||
import fr.free.nrw.commons.UITestHelper.Companion.childAtPosition
|
import fr.free.nrw.commons.UITestHelper.Companion.childAtPosition
|
||||||
import fr.free.nrw.commons.auth.LoginActivity
|
import fr.free.nrw.commons.auth.LoginActivity
|
||||||
import org.hamcrest.CoreMatchers
|
import org.hamcrest.CoreMatchers
|
||||||
|
|
|
||||||
|
|
@ -171,7 +171,7 @@
|
||||||
android:name=".review.ReviewActivity"
|
android:name=".review.ReviewActivity"
|
||||||
android:label="@string/title_activity_review" />
|
android:label="@string/title_activity_review" />
|
||||||
<activity
|
<activity
|
||||||
android:name=".LocationPicker.LocationPickerActivity"
|
android:name=".locationpicker.LocationPickerActivity"
|
||||||
android:label="Location Picker" />
|
android:label="Location Picker" />
|
||||||
|
|
||||||
<service
|
<service
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ package fr.free.nrw.commons.di
|
||||||
import dagger.Module
|
import dagger.Module
|
||||||
import dagger.android.ContributesAndroidInjector
|
import dagger.android.ContributesAndroidInjector
|
||||||
import fr.free.nrw.commons.AboutActivity
|
import fr.free.nrw.commons.AboutActivity
|
||||||
import fr.free.nrw.commons.LocationPicker.LocationPickerActivity
|
import fr.free.nrw.commons.locationpicker.LocationPickerActivity
|
||||||
import fr.free.nrw.commons.WelcomeActivity
|
import fr.free.nrw.commons.WelcomeActivity
|
||||||
import fr.free.nrw.commons.auth.LoginActivity
|
import fr.free.nrw.commons.auth.LoginActivity
|
||||||
import fr.free.nrw.commons.auth.SignupActivity
|
import fr.free.nrw.commons.auth.SignupActivity
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package fr.free.nrw.commons.LocationPicker
|
package fr.free.nrw.commons.locationpicker
|
||||||
|
|
||||||
import android.app.Activity
|
import android.app.Activity
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
|
|
@ -32,7 +32,7 @@ object LocationPicker {
|
||||||
/**
|
/**
|
||||||
* Gets and puts location in intent
|
* Gets and puts location in intent
|
||||||
* @param position CameraPosition
|
* @param position CameraPosition
|
||||||
* @return LocationPicker.IntentBuilder
|
* @return locationpicker.IntentBuilder
|
||||||
*/
|
*/
|
||||||
fun defaultLocation(position: CameraPosition): IntentBuilder {
|
fun defaultLocation(position: CameraPosition): IntentBuilder {
|
||||||
intent.putExtra(LocationPickerConstants.MAP_CAMERA_POSITION, position)
|
intent.putExtra(LocationPickerConstants.MAP_CAMERA_POSITION, position)
|
||||||
|
|
@ -42,7 +42,7 @@ object LocationPicker {
|
||||||
/**
|
/**
|
||||||
* Gets and puts activity name in intent
|
* Gets and puts activity name in intent
|
||||||
* @param activity activity key
|
* @param activity activity key
|
||||||
* @return LocationPicker.IntentBuilder
|
* @return locationpicker.IntentBuilder
|
||||||
*/
|
*/
|
||||||
fun activityKey(activity: String): IntentBuilder {
|
fun activityKey(activity: String): IntentBuilder {
|
||||||
intent.putExtra(LocationPickerConstants.ACTIVITY_KEY, activity)
|
intent.putExtra(LocationPickerConstants.ACTIVITY_KEY, activity)
|
||||||
|
|
@ -52,7 +52,7 @@ object LocationPicker {
|
||||||
/**
|
/**
|
||||||
* Gets and puts media in intent
|
* Gets and puts media in intent
|
||||||
* @param media Media
|
* @param media Media
|
||||||
* @return LocationPicker.IntentBuilder
|
* @return locationpicker.IntentBuilder
|
||||||
*/
|
*/
|
||||||
fun media(media: Media): IntentBuilder {
|
fun media(media: Media): IntentBuilder {
|
||||||
intent.putExtra(LocationPickerConstants.MEDIA, media)
|
intent.putExtra(LocationPickerConstants.MEDIA, media)
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package fr.free.nrw.commons.LocationPicker
|
package fr.free.nrw.commons.locationpicker
|
||||||
|
|
||||||
import android.Manifest.permission
|
import android.Manifest.permission
|
||||||
import android.annotation.SuppressLint
|
import android.annotation.SuppressLint
|
||||||
|
|
@ -8,8 +8,7 @@ import android.graphics.Color
|
||||||
import android.graphics.Paint
|
import android.graphics.Paint
|
||||||
import android.location.LocationManager
|
import android.location.LocationManager
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.preference.PreferenceManager
|
import androidx.preference.PreferenceManager
|
||||||
import android.text.Html
|
|
||||||
import android.text.method.LinkMovementMethod
|
import android.text.method.LinkMovementMethod
|
||||||
import android.view.MotionEvent
|
import android.view.MotionEvent
|
||||||
import android.view.View
|
import android.view.View
|
||||||
|
|
@ -23,6 +22,9 @@ import androidx.appcompat.widget.AppCompatTextView
|
||||||
import androidx.constraintlayout.widget.ConstraintLayout
|
import androidx.constraintlayout.widget.ConstraintLayout
|
||||||
import androidx.core.app.ActivityCompat
|
import androidx.core.app.ActivityCompat
|
||||||
import androidx.core.content.ContextCompat
|
import androidx.core.content.ContextCompat
|
||||||
|
import androidx.core.content.IntentCompat
|
||||||
|
import androidx.core.os.BundleCompat
|
||||||
|
import androidx.core.text.HtmlCompat
|
||||||
import com.google.android.material.floatingactionbutton.FloatingActionButton
|
import com.google.android.material.floatingactionbutton.FloatingActionButton
|
||||||
import fr.free.nrw.commons.CameraPosition
|
import fr.free.nrw.commons.CameraPosition
|
||||||
import fr.free.nrw.commons.CommonsApplication
|
import fr.free.nrw.commons.CommonsApplication
|
||||||
|
|
@ -181,13 +183,25 @@ class LocationPickerActivity : BaseActivity(), LocationPermissionCallback {
|
||||||
setContentView(R.layout.activity_location_picker)
|
setContentView(R.layout.activity_location_picker)
|
||||||
|
|
||||||
if (savedInstanceState == null) {
|
if (savedInstanceState == null) {
|
||||||
cameraPosition = intent.getParcelableExtra(LocationPickerConstants.MAP_CAMERA_POSITION)
|
cameraPosition = IntentCompat.getParcelableExtra(
|
||||||
|
intent,
|
||||||
|
LocationPickerConstants.MAP_CAMERA_POSITION,
|
||||||
|
CameraPosition::class.java
|
||||||
|
)
|
||||||
activity = intent.getStringExtra(LocationPickerConstants.ACTIVITY_KEY)
|
activity = intent.getStringExtra(LocationPickerConstants.ACTIVITY_KEY)
|
||||||
media = intent.getParcelableExtra(LocationPickerConstants.MEDIA)
|
media = IntentCompat.getParcelableExtra(
|
||||||
|
intent,
|
||||||
|
LocationPickerConstants.MEDIA,
|
||||||
|
Media::class.java
|
||||||
|
)
|
||||||
} else {
|
} else {
|
||||||
cameraPosition = savedInstanceState.getParcelable(CAMERA_POS)
|
cameraPosition = BundleCompat.getParcelable(
|
||||||
|
savedInstanceState,
|
||||||
|
CAMERA_POS,
|
||||||
|
CameraPosition::class.java
|
||||||
|
)
|
||||||
activity = savedInstanceState.getString(ACTIVITY)
|
activity = savedInstanceState.getString(ACTIVITY)
|
||||||
media = savedInstanceState.getParcelable("sMedia")
|
media = BundleCompat.getParcelable(savedInstanceState, "sMedia", Media::class.java)
|
||||||
}
|
}
|
||||||
|
|
||||||
bindViews()
|
bindViews()
|
||||||
|
|
@ -270,7 +284,10 @@ class LocationPickerActivity : BaseActivity(), LocationPermissionCallback {
|
||||||
* For showing credits
|
* For showing credits
|
||||||
*/
|
*/
|
||||||
private fun addCredits() {
|
private fun addCredits() {
|
||||||
tvAttribution.text = Html.fromHtml(getString(R.string.map_attribution))
|
tvAttribution.text = HtmlCompat.fromHtml(
|
||||||
|
getString(R.string.map_attribution),
|
||||||
|
HtmlCompat.FROM_HTML_MODE_LEGACY
|
||||||
|
)
|
||||||
tvAttribution.movementMethod = LinkMovementMethod.getInstance()
|
tvAttribution.movementMethod = LinkMovementMethod.getInstance()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -396,7 +413,11 @@ class LocationPickerActivity : BaseActivity(), LocationPermissionCallback {
|
||||||
val position = when {
|
val position = when {
|
||||||
//location metadata is available
|
//location metadata is available
|
||||||
activity == "UploadActivity" && cameraPosition != null -> {
|
activity == "UploadActivity" && cameraPosition != null -> {
|
||||||
fr.free.nrw.commons.location.LatLng(cameraPosition!!.latitude, cameraPosition!!.longitude, 0.0f)
|
fr.free.nrw.commons.location.LatLng(
|
||||||
|
cameraPosition!!.latitude,
|
||||||
|
cameraPosition!!.longitude,
|
||||||
|
0.0f
|
||||||
|
)
|
||||||
}
|
}
|
||||||
//location metadata is not available
|
//location metadata is not available
|
||||||
mapView != null -> {
|
mapView != null -> {
|
||||||
|
|
@ -447,14 +468,18 @@ class LocationPickerActivity : BaseActivity(), LocationPermissionCallback {
|
||||||
LAST_LOCATION,
|
LAST_LOCATION,
|
||||||
"${mapView?.mapCenter?.latitude},${mapView?.mapCenter?.longitude}"
|
"${mapView?.mapCenter?.latitude},${mapView?.mapCenter?.longitude}"
|
||||||
)
|
)
|
||||||
applicationKvStore.putString(LAST_ZOOM, mapView?.zoomLevel?.toString()!!)
|
applicationKvStore.putString(LAST_ZOOM, mapView?.zoomLevelDouble?.toString()!!)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (media == null) {
|
if (media == null) {
|
||||||
val intent = Intent().apply {
|
val intent = Intent().apply {
|
||||||
putExtra(
|
putExtra(
|
||||||
LocationPickerConstants.MAP_CAMERA_POSITION,
|
LocationPickerConstants.MAP_CAMERA_POSITION,
|
||||||
CameraPosition(mapView?.mapCenter?.latitude!!, mapView?.mapCenter?.longitude!!, 14.0)
|
CameraPosition(
|
||||||
|
mapView?.mapCenter?.latitude!!,
|
||||||
|
mapView?.mapCenter?.longitude!!,
|
||||||
|
14.0
|
||||||
|
)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
setResult(RESULT_OK, intent)
|
setResult(RESULT_OK, intent)
|
||||||
|
|
@ -556,8 +581,15 @@ class LocationPickerActivity : BaseActivity(), LocationPermissionCallback {
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onRequestPermissionsResult(requestCode: Int, permissions: Array<out String>, grantResults: IntArray) {
|
override fun onRequestPermissionsResult(
|
||||||
if (requestCode == Constants.RequestCodes.LOCATION && grantResults.isNotEmpty() && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
|
requestCode: Int,
|
||||||
|
permissions: Array<out String>,
|
||||||
|
grantResults: IntArray
|
||||||
|
) {
|
||||||
|
if (requestCode == Constants.RequestCodes.LOCATION &&
|
||||||
|
grantResults.isNotEmpty() &&
|
||||||
|
grantResults[0] == PackageManager.PERMISSION_GRANTED
|
||||||
|
) {
|
||||||
onLocationPermissionGranted()
|
onLocationPermissionGranted()
|
||||||
} else {
|
} else {
|
||||||
onLocationPermissionDenied(getString(R.string.upload_map_location_access))
|
onLocationPermissionDenied(getString(R.string.upload_map_location_access))
|
||||||
|
|
@ -577,12 +609,18 @@ class LocationPickerActivity : BaseActivity(), LocationPermissionCallback {
|
||||||
|
|
||||||
override fun onLocationPermissionDenied(toastMessage: String) {
|
override fun onLocationPermissionDenied(toastMessage: String) {
|
||||||
val isDeniedBefore = store.getBoolean("isPermissionDenied", false)
|
val isDeniedBefore = store.getBoolean("isPermissionDenied", false)
|
||||||
val showRationale = ActivityCompat.shouldShowRequestPermissionRationale(this, permission.ACCESS_FINE_LOCATION)
|
val showRationale = ActivityCompat.shouldShowRequestPermissionRationale(
|
||||||
|
this,
|
||||||
|
permission.ACCESS_FINE_LOCATION
|
||||||
|
)
|
||||||
|
|
||||||
if (!showRationale) {
|
if (!showRationale) {
|
||||||
if (!locationPermissionsHelper.checkLocationPermission(this)) {
|
if (!locationPermissionsHelper.checkLocationPermission(this)) {
|
||||||
if (isDeniedBefore) {
|
if (isDeniedBefore) {
|
||||||
locationPermissionsHelper.showAppSettingsDialog(this, R.string.upload_map_location_access)
|
locationPermissionsHelper.showAppSettingsDialog(
|
||||||
|
this,
|
||||||
|
R.string.upload_map_location_access
|
||||||
|
)
|
||||||
} else {
|
} else {
|
||||||
Toast.makeText(this, toastMessage, Toast.LENGTH_LONG).show()
|
Toast.makeText(this, toastMessage, Toast.LENGTH_LONG).show()
|
||||||
}
|
}
|
||||||
|
|
@ -601,7 +639,10 @@ class LocationPickerActivity : BaseActivity(), LocationPermissionCallback {
|
||||||
addMarkerAtGPSLocation()
|
addMarkerAtGPSLocation()
|
||||||
} else {
|
} else {
|
||||||
addMarkerAtGPSLocation()
|
addMarkerAtGPSLocation()
|
||||||
locationPermissionsHelper.showLocationOffDialog(this, R.string.ask_to_turn_location_on_text)
|
locationPermissionsHelper.showLocationOffDialog(
|
||||||
|
this,
|
||||||
|
R.string.ask_to_turn_location_on_text
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -652,7 +693,10 @@ class LocationPickerActivity : BaseActivity(), LocationPermissionCallback {
|
||||||
Marker.ANCHOR_CENTER,
|
Marker.ANCHOR_CENTER,
|
||||||
Marker.ANCHOR_BOTTOM
|
Marker.ANCHOR_BOTTOM
|
||||||
)
|
)
|
||||||
icon = ContextCompat.getDrawable(this@LocationPickerActivity, R.drawable.current_location_marker)
|
icon = ContextCompat.getDrawable(
|
||||||
|
this@LocationPickerActivity,
|
||||||
|
R.drawable.current_location_marker
|
||||||
|
)
|
||||||
title = "Your Location"
|
title = "Your Location"
|
||||||
textLabelFontSize = 24
|
textLabelFontSize = 24
|
||||||
}
|
}
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package fr.free.nrw.commons.LocationPicker
|
package fr.free.nrw.commons.locationpicker
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constants need for location picking
|
* Constants need for location picking
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package fr.free.nrw.commons.LocationPicker
|
package fr.free.nrw.commons.locationpicker
|
||||||
|
|
||||||
import android.app.Application
|
import android.app.Application
|
||||||
import androidx.lifecycle.AndroidViewModel
|
import androidx.lifecycle.AndroidViewModel
|
||||||
|
|
@ -74,7 +74,7 @@ import fr.free.nrw.commons.BuildConfig
|
||||||
import fr.free.nrw.commons.CameraPosition
|
import fr.free.nrw.commons.CameraPosition
|
||||||
import fr.free.nrw.commons.CommonsApplication
|
import fr.free.nrw.commons.CommonsApplication
|
||||||
import fr.free.nrw.commons.CommonsApplication.Companion.instance
|
import fr.free.nrw.commons.CommonsApplication.Companion.instance
|
||||||
import fr.free.nrw.commons.LocationPicker.LocationPicker
|
import fr.free.nrw.commons.locationpicker.LocationPicker
|
||||||
import fr.free.nrw.commons.Media
|
import fr.free.nrw.commons.Media
|
||||||
import fr.free.nrw.commons.MediaDataExtractor
|
import fr.free.nrw.commons.MediaDataExtractor
|
||||||
import fr.free.nrw.commons.R
|
import fr.free.nrw.commons.R
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,7 @@ import androidx.annotation.Nullable;
|
||||||
import androidx.exifinterface.media.ExifInterface;
|
import androidx.exifinterface.media.ExifInterface;
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||||
import fr.free.nrw.commons.CameraPosition;
|
import fr.free.nrw.commons.CameraPosition;
|
||||||
import fr.free.nrw.commons.LocationPicker.LocationPicker;
|
import fr.free.nrw.commons.locationpicker.LocationPicker;
|
||||||
import fr.free.nrw.commons.R;
|
import fr.free.nrw.commons.R;
|
||||||
import fr.free.nrw.commons.contributions.MainActivity;
|
import fr.free.nrw.commons.contributions.MainActivity;
|
||||||
import fr.free.nrw.commons.databinding.FragmentUploadMediaDetailFragmentBinding;
|
import fr.free.nrw.commons.databinding.FragmentUploadMediaDetailFragmentBinding;
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
tools:context=".LocationPicker.LocationPickerActivity">
|
tools:context=".locationpicker.LocationPickerActivity">
|
||||||
|
|
||||||
<com.google.android.material.appbar.AppBarLayout
|
<com.google.android.material.appbar.AppBarLayout
|
||||||
android:id="@+id/location_picker_app_bar_layout"
|
android:id="@+id/location_picker_app_bar_layout"
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,6 @@ import com.google.android.material.floatingactionbutton.FloatingActionButton
|
||||||
import com.nhaarman.mockitokotlin2.times
|
import com.nhaarman.mockitokotlin2.times
|
||||||
import com.nhaarman.mockitokotlin2.verify
|
import com.nhaarman.mockitokotlin2.verify
|
||||||
import fr.free.nrw.commons.CameraPosition
|
import fr.free.nrw.commons.CameraPosition
|
||||||
import fr.free.nrw.commons.LocationPicker.LocationPickerActivity
|
|
||||||
import fr.free.nrw.commons.TestCommonsApplication
|
import fr.free.nrw.commons.TestCommonsApplication
|
||||||
import fr.free.nrw.commons.kvstore.JsonKvStore
|
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_LOCATION
|
||||||
|
|
@ -165,13 +164,13 @@ class LocationPickerActivityUnitTests {
|
||||||
"placeSelected",
|
"placeSelected",
|
||||||
)
|
)
|
||||||
`when`(mapView.mapCenter).thenReturn(position)
|
`when`(mapView.mapCenter).thenReturn(position)
|
||||||
`when`(mapView.zoomLevel).thenReturn(15)
|
`when`(mapView.zoomLevelDouble).thenReturn(15.0)
|
||||||
method.isAccessible = true
|
method.isAccessible = true
|
||||||
method.invoke(activity)
|
method.invoke(activity)
|
||||||
verify(applicationKvStore, times(1)).putString(
|
verify(applicationKvStore, times(1)).putString(
|
||||||
LAST_LOCATION,
|
LAST_LOCATION,
|
||||||
position.latitude.toString() + "," + position.longitude.toString(),
|
position.latitude.toString() + "," + position.longitude.toString(),
|
||||||
)
|
)
|
||||||
verify(applicationKvStore, times(1)).putString(LAST_ZOOM, mapView.zoomLevel.toString())
|
verify(applicationKvStore, times(1)).putString(LAST_ZOOM, mapView.zoomLevelDouble.toString())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,6 @@ import com.nhaarman.mockitokotlin2.times
|
||||||
import com.nhaarman.mockitokotlin2.verify
|
import com.nhaarman.mockitokotlin2.verify
|
||||||
import com.nhaarman.mockitokotlin2.whenever
|
import com.nhaarman.mockitokotlin2.whenever
|
||||||
import fr.free.nrw.commons.CameraPosition
|
import fr.free.nrw.commons.CameraPosition
|
||||||
import fr.free.nrw.commons.LocationPicker.LocationPickerViewModel
|
|
||||||
import org.junit.Before
|
import org.junit.Before
|
||||||
import org.junit.Test
|
import org.junit.Test
|
||||||
import org.mockito.Mock
|
import org.mockito.Mock
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
package fr.free.nrw.commons.media
|
package fr.free.nrw.commons.media
|
||||||
|
|
||||||
import android.app.Activity
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.content.SharedPreferences
|
import android.content.SharedPreferences
|
||||||
|
|
@ -19,7 +18,6 @@ import android.widget.ProgressBar
|
||||||
import android.widget.ScrollView
|
import android.widget.ScrollView
|
||||||
import android.widget.Spinner
|
import android.widget.Spinner
|
||||||
import android.widget.TextView
|
import android.widget.TextView
|
||||||
import androidx.activity.result.ActivityResult
|
|
||||||
import androidx.fragment.app.FragmentManager
|
import androidx.fragment.app.FragmentManager
|
||||||
import androidx.fragment.app.FragmentTransaction
|
import androidx.fragment.app.FragmentTransaction
|
||||||
import androidx.test.core.app.ApplicationProvider
|
import androidx.test.core.app.ApplicationProvider
|
||||||
|
|
@ -27,10 +25,9 @@ import com.facebook.drawee.backends.pipeline.Fresco
|
||||||
import com.facebook.drawee.generic.GenericDraweeHierarchy
|
import com.facebook.drawee.generic.GenericDraweeHierarchy
|
||||||
import com.facebook.drawee.view.SimpleDraweeView
|
import com.facebook.drawee.view.SimpleDraweeView
|
||||||
import com.facebook.soloader.SoLoader
|
import com.facebook.soloader.SoLoader
|
||||||
import com.nhaarman.mockitokotlin2.anyOrNull
|
|
||||||
import com.nhaarman.mockitokotlin2.doReturn
|
import com.nhaarman.mockitokotlin2.doReturn
|
||||||
import com.nhaarman.mockitokotlin2.whenever
|
import com.nhaarman.mockitokotlin2.whenever
|
||||||
import fr.free.nrw.commons.LocationPicker.LocationPickerActivity
|
import fr.free.nrw.commons.locationpicker.LocationPickerActivity
|
||||||
import fr.free.nrw.commons.Media
|
import fr.free.nrw.commons.Media
|
||||||
import fr.free.nrw.commons.OkHttpConnectionFactory
|
import fr.free.nrw.commons.OkHttpConnectionFactory
|
||||||
import fr.free.nrw.commons.TestCommonsApplication
|
import fr.free.nrw.commons.TestCommonsApplication
|
||||||
|
|
|
||||||
|
|
@ -21,8 +21,8 @@ import androidx.test.core.app.ApplicationProvider
|
||||||
import com.github.chrisbanes.photoview.PhotoView
|
import com.github.chrisbanes.photoview.PhotoView
|
||||||
import com.nhaarman.mockitokotlin2.mock
|
import com.nhaarman.mockitokotlin2.mock
|
||||||
import fr.free.nrw.commons.CameraPosition
|
import fr.free.nrw.commons.CameraPosition
|
||||||
import fr.free.nrw.commons.LocationPicker.LocationPicker
|
import fr.free.nrw.commons.locationpicker.LocationPicker
|
||||||
import fr.free.nrw.commons.LocationPicker.LocationPickerActivity
|
import fr.free.nrw.commons.locationpicker.LocationPickerActivity
|
||||||
import fr.free.nrw.commons.OkHttpConnectionFactory
|
import fr.free.nrw.commons.OkHttpConnectionFactory
|
||||||
import fr.free.nrw.commons.R
|
import fr.free.nrw.commons.R
|
||||||
import fr.free.nrw.commons.TestCommonsApplication
|
import fr.free.nrw.commons.TestCommonsApplication
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue