diff --git a/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsContract.kt b/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsContract.kt index 2695364284..7027950e37 100644 --- a/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsContract.kt +++ b/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsContract.kt @@ -10,7 +10,7 @@ interface ContributionsContract { interface View { fun showMessage(localizedMessage: String) - fun getContext(): Context + fun getContext(): Context? } interface UserActionListener : BasePresenter { diff --git a/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsFragment.kt b/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsFragment.kt index 0b7736bab7..9f13eb19e6 100644 --- a/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsFragment.kt +++ b/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsFragment.kt @@ -74,12 +74,9 @@ import java.util.Date import javax.inject.Inject import javax.inject.Named -class ContributionsFragment - - : CommonsDaggerSupportFragment(), FragmentManager.OnBackStackChangedListener, +class ContributionsFragment : CommonsDaggerSupportFragment(), FragmentManager.OnBackStackChangedListener, LocationUpdateListener, MediaDetailProvider, SensorEventListener, ICampaignsView, - ContributionsContract.View, - ContributionsListFragment.Callback { + ContributionsContract.View, ContributionsListFragment.Callback { @JvmField @Inject @Named("default_preferences") @@ -307,9 +304,11 @@ class ContributionsFragment } } notification.setOnClickListener { view: View? -> - startYourself( - context, "unread" - ) + context?.let { + startYourself( + it, "unread" + ) + } } } @@ -889,14 +888,16 @@ class ContributionsFragment * this function updates the number of contributions */ fun upDateUploadCount() { - WorkManager.getInstance(context) - .getWorkInfosForUniqueWorkLiveData(UploadWorker::class.java.simpleName).observe( - viewLifecycleOwner - ) { workInfos: List -> - if (workInfos.size > 0) { - setUploadCount() + context?.let { + WorkManager.getInstance(it) + .getWorkInfosForUniqueWorkLiveData(UploadWorker::class.java.simpleName).observe( + viewLifecycleOwner + ) { workInfos: List -> + if (workInfos.size > 0) { + setUploadCount() + } } - } + } } @@ -953,7 +954,7 @@ class ContributionsFragment Timber.d("Skipping re-upload for non-failed %s", contribution.toString()) } } else { - showLongToast(context, R.string.this_function_needs_network_connection) + context?.let { showLongToast(it, R.string.this_function_needs_network_connection) } } } diff --git a/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsPresenter.kt b/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsPresenter.kt index 617051e529..2a36101b93 100644 --- a/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsPresenter.kt +++ b/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsPresenter.kt @@ -80,9 +80,11 @@ class ContributionsPresenter @Inject internal constructor( .save(contribution) .subscribeOn(ioThreadScheduler) .subscribe { - makeOneTimeWorkRequest( - view!!.getContext().applicationContext, ExistingWorkPolicy.KEEP - ) + view!!.getContext()?.applicationContext?.let { + makeOneTimeWorkRequest( + it, ExistingWorkPolicy.KEEP + ) + } }) } } diff --git a/app/src/main/java/fr/free/nrw/commons/di/CommonsDaggerSupportFragment.kt b/app/src/main/java/fr/free/nrw/commons/di/CommonsDaggerSupportFragment.kt index 5468cfa107..eb0ce83f31 100644 --- a/app/src/main/java/fr/free/nrw/commons/di/CommonsDaggerSupportFragment.kt +++ b/app/src/main/java/fr/free/nrw/commons/di/CommonsDaggerSupportFragment.kt @@ -63,9 +63,4 @@ abstract class CommonsDaggerSupportFragment : Fragment(), HasSupportFragmentInje return getInstance(activity.applicationContext) } - - // Ensure getContext() returns a non-null Context - override fun getContext(): Context { - return super.getContext() ?: throw IllegalStateException("Context is null") - } }