From 41b41f702164e668b0ab65221ff91a5b7dfa47bf Mon Sep 17 00:00:00 2001 From: Paul Hawke Date: Sun, 29 Jun 2025 15:42:58 -0500 Subject: [PATCH] Convert BasePresenter to kotlin --- .../fr/free/nrw/commons/BasePresenter.java | 18 ------------------ .../java/fr/free/nrw/commons/BasePresenter.kt | 10 ++++++++++ .../commons/campaigns/CampaignsPresenter.kt | 2 +- .../contributions/ContributionsListContract.kt | 2 +- .../mediaDetails/UploadMediaDetailsContract.kt | 2 +- 5 files changed, 13 insertions(+), 21 deletions(-) delete mode 100644 app/src/main/java/fr/free/nrw/commons/BasePresenter.java create mode 100644 app/src/main/java/fr/free/nrw/commons/BasePresenter.kt diff --git a/app/src/main/java/fr/free/nrw/commons/BasePresenter.java b/app/src/main/java/fr/free/nrw/commons/BasePresenter.java deleted file mode 100644 index 2653b3711..000000000 --- a/app/src/main/java/fr/free/nrw/commons/BasePresenter.java +++ /dev/null @@ -1,18 +0,0 @@ -package fr.free.nrw.commons; - -import androidx.annotation.NonNull; - -/** - * Base presenter, enforcing contracts to atach and detach view - */ -public interface BasePresenter { - /** - * Until a view is attached, it is open to listen events from the presenter - */ - void onAttachView(@NonNull T view); - - /** - * Detaching a view makes sure that the view no more receives events from the presenter - */ - void onDetachView(); -} diff --git a/app/src/main/java/fr/free/nrw/commons/BasePresenter.kt b/app/src/main/java/fr/free/nrw/commons/BasePresenter.kt new file mode 100644 index 000000000..085307c3e --- /dev/null +++ b/app/src/main/java/fr/free/nrw/commons/BasePresenter.kt @@ -0,0 +1,10 @@ +package fr.free.nrw.commons + +/** + * Base presenter, enforcing contracts to attach and detach view + */ +interface BasePresenter { + fun onAttachView(view: T) + + fun onDetachView() +} diff --git a/app/src/main/java/fr/free/nrw/commons/campaigns/CampaignsPresenter.kt b/app/src/main/java/fr/free/nrw/commons/campaigns/CampaignsPresenter.kt index 4743e0e54..53013c1ae 100644 --- a/app/src/main/java/fr/free/nrw/commons/campaigns/CampaignsPresenter.kt +++ b/app/src/main/java/fr/free/nrw/commons/campaigns/CampaignsPresenter.kt @@ -26,7 +26,7 @@ class CampaignsPresenter @Inject constructor( private val okHttpJsonApiClient: OkHttpJsonApiClient?, @param:Named(IO_THREAD) private val ioScheduler: Scheduler, @param:Named(MAIN_THREAD) private val mainThreadScheduler: Scheduler -) : BasePresenter { +) : BasePresenter { private var view: ICampaignsView? = null private var disposable: Disposable? = null private var campaign: Campaign? = null diff --git a/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsListContract.kt b/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsListContract.kt index c6b8dd8a8..0c8c822ad 100644 --- a/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsListContract.kt +++ b/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsListContract.kt @@ -15,7 +15,7 @@ class ContributionsListContract { fun showNoContributionsUI(shouldShow: Boolean) } - interface UserActionListener : BasePresenter { + interface UserActionListener : BasePresenter { fun refreshList(swipeRefreshLayout: SwipeRefreshLayout?) } } diff --git a/app/src/main/java/fr/free/nrw/commons/upload/mediaDetails/UploadMediaDetailsContract.kt b/app/src/main/java/fr/free/nrw/commons/upload/mediaDetails/UploadMediaDetailsContract.kt index c368b96ac..d6d774208 100644 --- a/app/src/main/java/fr/free/nrw/commons/upload/mediaDetails/UploadMediaDetailsContract.kt +++ b/app/src/main/java/fr/free/nrw/commons/upload/mediaDetails/UploadMediaDetailsContract.kt @@ -54,7 +54,7 @@ interface UploadMediaDetailsContract { fun showBadImagePopup(errorCode: Int, index: Int, uploadItem: UploadItem) } - interface UserActionListener : BasePresenter { + interface UserActionListener : BasePresenter { fun setupBasicKvStoreFactory(factory: (String) -> BasicKvStore) fun receiveImage(