mirror of
https://github.com/commons-app/apps-android-commons.git
synced 2025-10-27 04:43:54 +01:00
Migrated Media Package to View Binding (#5601)
* Migrated Media Detail Fragment to View Binding * Migrated ZoomableActivity and PagerFragment * Improved Java doc * Improved Java doc
This commit is contained in:
parent
8df0055a5a
commit
7e9aa5b72a
7 changed files with 178 additions and 284 deletions
|
|
@ -28,6 +28,7 @@ import fr.free.nrw.commons.OkHttpConnectionFactory
|
|||
import fr.free.nrw.commons.R
|
||||
import fr.free.nrw.commons.TestCommonsApplication
|
||||
import fr.free.nrw.commons.createTestClient
|
||||
import fr.free.nrw.commons.databinding.FragmentMediaDetailBinding
|
||||
import fr.free.nrw.commons.delete.DeleteHelper
|
||||
import fr.free.nrw.commons.delete.ReasonBuilder
|
||||
import fr.free.nrw.commons.explore.SearchActivity
|
||||
|
|
@ -65,7 +66,6 @@ class MediaDetailFragmentUnitTests {
|
|||
private lateinit var fragment: MediaDetailFragment
|
||||
private lateinit var fragmentManager: FragmentManager
|
||||
private lateinit var layoutInflater: LayoutInflater
|
||||
private lateinit var view: View
|
||||
private lateinit var context: Context
|
||||
|
||||
@Mock
|
||||
|
|
@ -148,6 +148,8 @@ class MediaDetailFragmentUnitTests {
|
|||
@Mock
|
||||
private lateinit var mockSharedPreferencesEditor: SharedPreferences.Editor
|
||||
|
||||
private lateinit var binding: FragmentMediaDetailBinding
|
||||
|
||||
@Before
|
||||
fun setUp() {
|
||||
|
||||
|
|
@ -170,14 +172,12 @@ class MediaDetailFragmentUnitTests {
|
|||
|
||||
layoutInflater = LayoutInflater.from(activity)
|
||||
|
||||
view = LayoutInflater.from(activity)
|
||||
.inflate(R.layout.fragment_media_detail, null) as View
|
||||
binding = FragmentMediaDetailBinding.inflate(layoutInflater)
|
||||
|
||||
scrollView = view.findViewById(R.id.mediaDetailScrollView)
|
||||
Whitebox.setInternalState(fragment, "scrollView", scrollView)
|
||||
scrollView = binding.mediaDetailScrollView
|
||||
|
||||
progressBarDeletion = view.findViewById(R.id.progressBarDeletion)
|
||||
delete = view.findViewById(R.id.nominateDeletion)
|
||||
progressBarDeletion = binding.progressBarDeletion
|
||||
delete = binding.nominateDeletion
|
||||
|
||||
Whitebox.setInternalState(fragment, "media", media)
|
||||
Whitebox.setInternalState(fragment, "isDeleted", isDeleted)
|
||||
|
|
@ -185,34 +185,13 @@ class MediaDetailFragmentUnitTests {
|
|||
Whitebox.setInternalState(fragment, "reasonListEnglishMappings", reasonListEnglishMappings)
|
||||
Whitebox.setInternalState(fragment, "reasonBuilder", reasonBuilder)
|
||||
Whitebox.setInternalState(fragment, "deleteHelper", deleteHelper)
|
||||
Whitebox.setInternalState(fragment, "progressBar", progressBar)
|
||||
Whitebox.setInternalState(fragment, "progressBarEditDescription", progressBar)
|
||||
Whitebox.setInternalState(fragment, "captionsListView", listView)
|
||||
Whitebox.setInternalState(fragment, "descriptionWebView", webView)
|
||||
Whitebox.setInternalState(fragment, "binding", binding)
|
||||
Whitebox.setInternalState(fragment, "detailProvider", detailProvider)
|
||||
Whitebox.setInternalState(fragment, "image", simpleDraweeView)
|
||||
Whitebox.setInternalState(fragment, "title", textView)
|
||||
Whitebox.setInternalState(fragment, "toDoReason", textView)
|
||||
Whitebox.setInternalState(fragment, "desc", htmlTextView)
|
||||
Whitebox.setInternalState(fragment, "license", textView)
|
||||
Whitebox.setInternalState(fragment, "coordinates", textView)
|
||||
Whitebox.setInternalState(fragment, "seeMore", textView)
|
||||
Whitebox.setInternalState(fragment, "uploadedDate", textView)
|
||||
Whitebox.setInternalState(fragment, "mediaCaption", textView)
|
||||
Whitebox.setInternalState(fragment, "captionLayout", linearLayout)
|
||||
Whitebox.setInternalState(fragment, "depictsLayout", linearLayout)
|
||||
Whitebox.setInternalState(fragment, "delete", delete)
|
||||
Whitebox.setInternalState(fragment, "depictionContainer", linearLayout)
|
||||
Whitebox.setInternalState(fragment, "toDoLayout", linearLayout)
|
||||
Whitebox.setInternalState(fragment, "authorLayout", linearLayout)
|
||||
Whitebox.setInternalState(fragment, "showCaptionAndDescriptionContainer", linearLayout)
|
||||
Whitebox.setInternalState(fragment, "editDescription", button)
|
||||
Whitebox.setInternalState(fragment, "depictEditButton", button)
|
||||
Whitebox.setInternalState(fragment, "categoryEditButton", button)
|
||||
Whitebox.setInternalState(fragment, "categoryContainer", linearLayout)
|
||||
Whitebox.setInternalState(fragment, "progressBarDeletion", progressBarDeletion)
|
||||
Whitebox.setInternalState(fragment, "progressBarEditCategory", progressBarDeletion)
|
||||
Whitebox.setInternalState(fragment, "mediaDiscussion", textView)
|
||||
Whitebox.setInternalState(binding, "mediaDetailImageView", simpleDraweeView)
|
||||
Whitebox.setInternalState(binding, "mediaDetailTitle", textView)
|
||||
Whitebox.setInternalState(binding, "mediaDetailDepictionContainer", linearLayout)
|
||||
Whitebox.setInternalState(binding, "dummyCaptionDescriptionContainer", linearLayout)
|
||||
Whitebox.setInternalState(binding, "depictionsEditButton", button)
|
||||
Whitebox.setInternalState(fragment, "locationManager", locationManager)
|
||||
|
||||
`when`(simpleDraweeView.hierarchy).thenReturn(genericDraweeHierarchy)
|
||||
|
|
@ -267,7 +246,7 @@ class MediaDetailFragmentUnitTests {
|
|||
@Throws(Exception::class)
|
||||
fun testLaunchZoomActivity() {
|
||||
`when`(media.imageUrl).thenReturn("")
|
||||
fragment.launchZoomActivity(view)
|
||||
fragment.launchZoomActivity(binding.root)
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@ import fr.free.nrw.commons.OkHttpConnectionFactory
|
|||
import fr.free.nrw.commons.TestCommonsApplication
|
||||
import fr.free.nrw.commons.createTestClient
|
||||
import fr.free.nrw.commons.auth.SessionManager
|
||||
import fr.free.nrw.commons.databinding.FragmentMediaDetailPagerBinding
|
||||
import fr.free.nrw.commons.explore.SearchActivity
|
||||
import io.reactivex.android.plugins.RxAndroidPlugins
|
||||
import io.reactivex.plugins.RxJavaPlugins
|
||||
|
|
@ -33,6 +34,7 @@ import org.junit.runner.RunWith
|
|||
import org.mockito.Mock
|
||||
import org.mockito.Mockito.`when`
|
||||
import org.mockito.MockitoAnnotations
|
||||
import org.powermock.reflect.Whitebox
|
||||
import org.robolectric.Robolectric
|
||||
import org.robolectric.RobolectricTestRunner
|
||||
import org.robolectric.Shadows
|
||||
|
|
@ -50,6 +52,8 @@ class MediaDetailPagerFragmentUnitTests {
|
|||
private lateinit var context: Context
|
||||
private lateinit var fragmentManager: FragmentManager
|
||||
|
||||
private lateinit var binding: FragmentMediaDetailPagerBinding
|
||||
|
||||
@Mock
|
||||
private lateinit var outState: Bundle
|
||||
|
||||
|
|
@ -84,8 +88,8 @@ class MediaDetailPagerFragmentUnitTests {
|
|||
Fresco.initialize(context)
|
||||
|
||||
val activity = Robolectric.buildActivity(SearchActivity::class.java).create().get()
|
||||
binding = FragmentMediaDetailPagerBinding.inflate(activity.layoutInflater)
|
||||
|
||||
fragment = MediaDetailPagerFragment.newInstance(false, true)
|
||||
fragment = MediaDetailPagerFragment.newInstance(false, false)
|
||||
fragmentManager = activity.supportFragmentManager
|
||||
val fragmentTransaction: FragmentTransaction = fragmentManager.beginTransaction()
|
||||
|
|
@ -97,6 +101,8 @@ class MediaDetailPagerFragmentUnitTests {
|
|||
fieldContext.isAccessible = true
|
||||
fieldContext.set(sessionManager, context)
|
||||
|
||||
Whitebox.setInternalState(fragment, "binding", binding)
|
||||
|
||||
doReturn(menuItem).`when`(menu).findItem(any())
|
||||
doReturn(menuItem).`when`(menuItem).isEnabled = any()
|
||||
doReturn(menuItem).`when`(menuItem).isVisible = any()
|
||||
|
|
@ -263,4 +269,4 @@ class MediaDetailPagerFragmentUnitTests {
|
|||
verify(menuItem, never()).isEnabled = true
|
||||
verify(menuItem, never()).isVisible = true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue