diff --git a/app/src/main/java/fr/free/nrw/commons/upload/depicts/DepictsContract.java b/app/src/main/java/fr/free/nrw/commons/upload/depicts/DepictsContract.kt similarity index 56% rename from app/src/main/java/fr/free/nrw/commons/upload/depicts/DepictsContract.java rename to app/src/main/java/fr/free/nrw/commons/upload/depicts/DepictsContract.kt index 1ff79ab27..2279db7a1 100644 --- a/app/src/main/java/fr/free/nrw/commons/upload/depicts/DepictsContract.java +++ b/app/src/main/java/fr/free/nrw/commons/upload/depicts/DepictsContract.kt @@ -1,129 +1,125 @@ -package fr.free.nrw.commons.upload.depicts; +package fr.free.nrw.commons.upload.depicts -import android.content.Context; -import androidx.annotation.NonNull; -import androidx.lifecycle.LiveData; -import fr.free.nrw.commons.BasePresenter; -import fr.free.nrw.commons.Media; -import fr.free.nrw.commons.upload.structure.depictions.DepictedItem; -import java.util.List; +import android.content.Context +import androidx.lifecycle.LiveData +import fr.free.nrw.commons.BasePresenter +import fr.free.nrw.commons.Media +import fr.free.nrw.commons.upload.structure.depictions.DepictedItem /** * The contract with which DepictsFragment and its presenter would talk to each other */ -public interface DepictsContract { - +interface DepictsContract { interface View { /** * Go to category screen */ - void goToNextScreen(); + fun goToNextScreen() /** * Go to media detail screen */ - void goToPreviousScreen(); + fun goToPreviousScreen() /** * show error in case of no depiction selected */ - void noDepictionSelected(); + fun noDepictionSelected() /** * Show progress/Hide progress depending on the boolean value */ - void showProgress(boolean shouldShow); + fun showProgress(shouldShow: Boolean) /** * decides whether to show error values or not depending on the boolean value */ - void showError(Boolean value); + fun showError(value: Boolean) /** * add depictions to list */ - void setDepictsList(List depictedItemList); + fun setDepictsList(depictedItemList: List) /** * Returns required context */ - Context getFragmentContext(); + fun getFragmentContext(): Context /** * Returns to previous fragment */ - void goBackToPreviousScreen(); + fun goBackToPreviousScreen() /** * Gets existing depictions IDs from media */ - List getExistingDepictions(); + fun getExistingDepictions(): List? /** * Shows the progress dialog */ - void showProgressDialog(); + fun showProgressDialog() /** * Hides the progress dialog */ - void dismissProgressDialog(); + fun dismissProgressDialog() /** * Update the depictions */ - void updateDepicts(); + fun updateDepicts() /** * Navigate the user to Login Activity */ - void navigateToLoginScreen(); + fun navigateToLoginScreen() } - interface UserActionListener extends BasePresenter { - + interface UserActionListener : BasePresenter { /** * Takes to previous screen */ - void onPreviousButtonClicked(); + fun onPreviousButtonClicked() /** * Listener for the depicted items selected from the list */ - void onDepictItemClicked(DepictedItem depictedItem); + fun onDepictItemClicked(depictedItem: DepictedItem) /** * asks the repository to fetch depictions for the query - * @param query + * @param query */ - void searchForDepictions(String query); + fun searchForDepictions(query: String) /** * Selects all associated places (if any) as depictions */ - void selectPlaceDepictions(); + fun selectPlaceDepictions() /** * Check if depictions were selected * from the depiction list */ - void verifyDepictions(); + fun verifyDepictions() /** * Clears previous selections */ - void clearPreviousSelection(); + fun clearPreviousSelection() - LiveData> getDepictedItems(); + fun getDepictedItems(): LiveData> /** * Update the depictions */ - void updateDepictions(Media media); + fun updateDepictions(media: Media) /** * Attaches view and media */ - void onAttachViewWithMedia(@NonNull View view, Media media); + fun onAttachViewWithMedia(view: View, media: Media) } } diff --git a/app/src/main/java/fr/free/nrw/commons/upload/depicts/DepictsFragment.java b/app/src/main/java/fr/free/nrw/commons/upload/depicts/DepictsFragment.java index 0bbe4b15a..b5a22a622 100644 --- a/app/src/main/java/fr/free/nrw/commons/upload/depicts/DepictsFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/upload/depicts/DepictsFragment.java @@ -218,7 +218,7 @@ public class DepictsFragment extends UploadBaseFragment implements DepictsContra } @Override - public void showError(Boolean value) { + public void showError(boolean value) { if (binding == null) { return; } diff --git a/app/src/main/java/fr/free/nrw/commons/upload/depicts/DepictsPresenter.kt b/app/src/main/java/fr/free/nrw/commons/upload/depicts/DepictsPresenter.kt index 4502e3434..02890e608 100644 --- a/app/src/main/java/fr/free/nrw/commons/upload/depicts/DepictsPresenter.kt +++ b/app/src/main/java/fr/free/nrw/commons/upload/depicts/DepictsPresenter.kt @@ -6,7 +6,6 @@ import androidx.lifecycle.MutableLiveData import fr.free.nrw.commons.Media import fr.free.nrw.commons.auth.csrf.InvalidLoginTokenException import fr.free.nrw.commons.bookmarks.items.BookmarkItemsController -import fr.free.nrw.commons.di.CommonsApplicationModule import fr.free.nrw.commons.di.CommonsApplicationModule.Companion.IO_THREAD import fr.free.nrw.commons.di.CommonsApplicationModule.Companion.MAIN_THREAD import fr.free.nrw.commons.repository.UploadRepository @@ -208,7 +207,7 @@ class DepictsPresenter @SuppressLint("CheckResult") override fun updateDepictions(media: Media) { if (repository.getSelectedDepictions().isNotEmpty() || - repository.getSelectedExistingDepictions().size != view.existingDepictions.size + repository.getSelectedExistingDepictions().size != view.getExistingDepictions()?.size ) { view.showProgressDialog() val selectedDepictions: MutableList = @@ -225,7 +224,7 @@ class DepictsPresenter compositeDisposable.add( depictsHelper - .makeDepictionEdit(view.fragmentContext, media, selectedDepictions) + .makeDepictionEdit(view.getFragmentContext(), media, selectedDepictions) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe({ @@ -256,7 +255,7 @@ class DepictsPresenter ) { this.view = view this.media = media - repository.setSelectedExistingDepictions(view.existingDepictions) + repository.setSelectedExistingDepictions(view.getExistingDepictions() ?: emptyList()) compositeDisposable.add( searchTerm .observeOn(mainThreadScheduler) diff --git a/app/src/main/java/fr/free/nrw/commons/upload/license/MediaLicenseContract.kt b/app/src/main/java/fr/free/nrw/commons/upload/license/MediaLicenseContract.kt index da6902696..27ec1521e 100644 --- a/app/src/main/java/fr/free/nrw/commons/upload/license/MediaLicenseContract.kt +++ b/app/src/main/java/fr/free/nrw/commons/upload/license/MediaLicenseContract.kt @@ -9,9 +9,9 @@ interface MediaLicenseContract { interface View { fun setLicenses(licenses: List?) - fun setSelectedLicense(license: String) + fun setSelectedLicense(license: String?) - fun updateLicenseSummary(selectedLicense: String?, numberOfItems: Int) + fun updateLicenseSummary(selectedLicense: String?, numberOfItems: Int?) } interface UserActionListener : BasePresenter { diff --git a/app/src/main/java/fr/free/nrw/commons/upload/license/MediaLicenseFragment.java b/app/src/main/java/fr/free/nrw/commons/upload/license/MediaLicenseFragment.java index 939ad9a95..5fb82f2f6 100644 --- a/app/src/main/java/fr/free/nrw/commons/upload/license/MediaLicenseFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/upload/license/MediaLicenseFragment.java @@ -141,7 +141,7 @@ public class MediaLicenseFragment extends UploadBaseFragment implements MediaLic } @Override - public void updateLicenseSummary(String licenseSummary, int numberOfItems) { + public void updateLicenseSummary(String licenseSummary, Integer numberOfItems) { String licenseHyperLink = "" + getString(Utils.licenseNameFor(licenseSummary)) + "
"; diff --git a/app/src/main/java/fr/free/nrw/commons/upload/license/MediaLicensePresenter.java b/app/src/main/java/fr/free/nrw/commons/upload/license/MediaLicensePresenter.java index 2930bd57b..18955636e 100644 --- a/app/src/main/java/fr/free/nrw/commons/upload/license/MediaLicensePresenter.java +++ b/app/src/main/java/fr/free/nrw/commons/upload/license/MediaLicensePresenter.java @@ -71,7 +71,7 @@ public class MediaLicensePresenter implements MediaLicenseContract.UserActionLis * @param licenseName */ @Override - public void selectLicense(@NonNull final String licenseName) { + public void selectLicense(final String licenseName) { repository.setSelectedLicense(licenseName); view.updateLicenseSummary(repository.getSelectedLicense(), repository.getCount()); } diff --git a/app/src/test/kotlin/fr/free/nrw/commons/upload/depicts/DepictsFragmentUnitTests.kt b/app/src/test/kotlin/fr/free/nrw/commons/upload/depicts/DepictsFragmentUnitTests.kt index 84b878aee..e10ad2ba9 100644 --- a/app/src/test/kotlin/fr/free/nrw/commons/upload/depicts/DepictsFragmentUnitTests.kt +++ b/app/src/test/kotlin/fr/free/nrw/commons/upload/depicts/DepictsFragmentUnitTests.kt @@ -258,7 +258,7 @@ class DepictsFragmentUnitTests { @Test @Throws(Exception::class) fun testGetFragmentContext() { - fragment.fragmentContext + fragment.getFragmentContext() } @Test