diff --git a/app/src/main/java/fr/free/nrw/commons/upload/UploadBaseFragment.java b/app/src/main/java/fr/free/nrw/commons/upload/UploadBaseFragment.java deleted file mode 100644 index 0219c10cf..000000000 --- a/app/src/main/java/fr/free/nrw/commons/upload/UploadBaseFragment.java +++ /dev/null @@ -1,41 +0,0 @@ -package fr.free.nrw.commons.upload; - -import android.os.Bundle; -import androidx.annotation.Nullable; -import fr.free.nrw.commons.di.CommonsDaggerSupportFragment; - -/** - * The base fragment of the fragments in upload - */ -public class UploadBaseFragment extends CommonsDaggerSupportFragment { - - public Callback callback; - public static final String CALLBACK = "callback"; - - @Override - public void onCreate(@Nullable Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - } - - public void setCallback(Callback callback) { - this.callback = callback; - } - - protected void onBecameVisible() { - } - - public interface Callback { - - void onNextButtonClicked(int index); - - void onPreviousButtonClicked(int index); - - void showProgress(boolean shouldShow); - - int getIndexInViewFlipper(UploadBaseFragment fragment); - - int getTotalNumberOfSteps(); - - boolean isWLMUpload(); - } -} diff --git a/app/src/main/java/fr/free/nrw/commons/upload/UploadBaseFragment.kt b/app/src/main/java/fr/free/nrw/commons/upload/UploadBaseFragment.kt new file mode 100644 index 000000000..0cb47273e --- /dev/null +++ b/app/src/main/java/fr/free/nrw/commons/upload/UploadBaseFragment.kt @@ -0,0 +1,26 @@ +package fr.free.nrw.commons.upload + +import fr.free.nrw.commons.di.CommonsDaggerSupportFragment + +/** + * The base fragment of the fragments in upload + */ +abstract class UploadBaseFragment : CommonsDaggerSupportFragment() { + lateinit var callback: Callback + + protected open fun onBecameVisible() = Unit + + interface Callback { + val totalNumberOfSteps: Int + val isWLMUpload: Boolean + + fun onNextButtonClicked(index: Int) + fun onPreviousButtonClicked(index: Int) + fun showProgress(shouldShow: Boolean) + fun getIndexInViewFlipper(fragment: UploadBaseFragment?): Int + } + + companion object { + const val CALLBACK: String = "callback" + } +} diff --git a/app/src/main/java/fr/free/nrw/commons/upload/categories/UploadCategoriesFragment.kt b/app/src/main/java/fr/free/nrw/commons/upload/categories/UploadCategoriesFragment.kt index 845f0548f..efec29642 100644 --- a/app/src/main/java/fr/free/nrw/commons/upload/categories/UploadCategoriesFragment.kt +++ b/app/src/main/java/fr/free/nrw/commons/upload/categories/UploadCategoriesFragment.kt @@ -220,7 +220,7 @@ class UploadCategoriesFragment : UploadBaseFragment(), CategoriesContract.View { } override fun goToNextScreen() { - callback?.onNextButtonClicked(callback.getIndexInViewFlipper(this)) + callback.onNextButtonClicked(callback.getIndexInViewFlipper(this)) } override fun showNoCategorySelected() { @@ -322,7 +322,7 @@ class UploadCategoriesFragment : UploadBaseFragment(), CategoriesContract.View { mediaDetailFragment.onResume() goBackToPreviousScreen() } else { - callback?.onPreviousButtonClicked(callback.getIndexInViewFlipper(this)) + callback.onPreviousButtonClicked(callback.getIndexInViewFlipper(this)) } } diff --git a/app/src/test/kotlin/fr/free/nrw/commons/upload/categories/UploadCategoriesFragmentUnitTests.kt b/app/src/test/kotlin/fr/free/nrw/commons/upload/categories/UploadCategoriesFragmentUnitTests.kt index f2d54132c..75d6b8a4f 100644 --- a/app/src/test/kotlin/fr/free/nrw/commons/upload/categories/UploadCategoriesFragmentUnitTests.kt +++ b/app/src/test/kotlin/fr/free/nrw/commons/upload/categories/UploadCategoriesFragmentUnitTests.kt @@ -62,6 +62,7 @@ class UploadCategoriesFragmentUnitTests { OkHttpConnectionFactory.CLIENT = createTestClient() val activity = Robolectric.buildActivity(UploadActivity::class.java).create().get() fragment = UploadCategoriesFragment() + fragment.callback = callback fragmentManager = activity.supportFragmentManager val fragmentTransaction: FragmentTransaction = fragmentManager.beginTransaction() fragmentTransaction.add(fragment, null)