mirror of
https://github.com/commons-app/apps-android-commons.git
synced 2025-10-26 20:33:53 +01:00
Fix: app crash
This commit is contained in:
parent
93ffe90463
commit
d1ae192645
2 changed files with 13 additions and 1 deletions
|
|
@ -170,6 +170,9 @@ class UploadActivity : BaseActivity(), UploadContract.View, UploadBaseFragment.C
|
|||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
|
||||
// Ensure basicKvStoreFactory is always initialized before use
|
||||
presenter?.setupBasicKvStoreFactory { BasicKvStore(this@UploadActivity, it) }
|
||||
|
||||
_binding = ActivityUploadBinding.inflate(layoutInflater)
|
||||
setContentView(binding.root)
|
||||
|
||||
|
|
@ -884,7 +887,6 @@ class UploadActivity : BaseActivity(), UploadContract.View, UploadBaseFragment.C
|
|||
// Save the user's choice to not show the dialog again
|
||||
defaultKvStore.putBoolean("hasAlreadyLaunchedCategoriesDialog", true)
|
||||
}
|
||||
presenter!!.setupBasicKvStoreFactory { BasicKvStore(this@UploadActivity, it) }
|
||||
presenter!!.checkImageQuality(0)
|
||||
UploadMediaPresenter.isCategoriesDialogShowing = false
|
||||
}
|
||||
|
|
|
|||
|
|
@ -135,12 +135,22 @@ class UploadPresenter @Inject internal constructor(
|
|||
return basicKvStoreFactory ?: throw IllegalStateException("basicKvStoreFactory has not been initialized")
|
||||
}
|
||||
|
||||
private fun requireFactoryInitialized() {
|
||||
val field = this::class.java.getDeclaredField("basicKvStoreFactory")
|
||||
field.isAccessible = true
|
||||
val value = field.get(this)
|
||||
if (value == null) {
|
||||
throw IllegalStateException("basicKvStoreFactory must be initialized before use. Please call setupBasicKvStoreFactory() before using presenter methods that require it.")
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Calls checkImageQuality of UploadMediaPresenter to check image quality of next image
|
||||
*
|
||||
* @param uploadItemIndex Index of next image, whose quality is to be checked
|
||||
*/
|
||||
override fun checkImageQuality(uploadItemIndex: Int) {
|
||||
requireFactoryInitialized()
|
||||
repository.getUploadItem(uploadItemIndex)?.let {
|
||||
presenter.setupBasicKvStoreFactory(getBasicKvStoreFactory())
|
||||
presenter.checkImageQuality(it, uploadItemIndex)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue