From fcd5432f74c3df5b5dc107cf3e27a0158a18bdd4 Mon Sep 17 00:00:00 2001 From: briancollins-92 <45243930+briancollins-92@users.noreply.github.com> Date: Thu, 20 Dec 2018 18:10:06 +0000 Subject: [PATCH] Fix 2072: default license selector in Settings (#2084) * SharedPreferences Dep Injection added, updateLicense() updated method updateLicense() was previously looking to the UploadModel for the current default license, this has now been changed so that it gets it from a SharedPreferences object * UploadModel.license aligned to SharedPreferences variable UploadModel.license within the constuctor is now assigned to the string of the "default_license" value within SharedPreferences Admittedly this may not be completly necissary as UploadModel.license is modified via UploadPresenter.updateLicense on creation. --- .../main/java/fr/free/nrw/commons/upload/UploadModel.java | 2 +- .../java/fr/free/nrw/commons/upload/UploadPresenter.java | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/fr/free/nrw/commons/upload/UploadModel.java b/app/src/main/java/fr/free/nrw/commons/upload/UploadModel.java index f4e17543e..38749d559 100644 --- a/app/src/main/java/fr/free/nrw/commons/upload/UploadModel.java +++ b/app/src/main/java/fr/free/nrw/commons/upload/UploadModel.java @@ -74,8 +74,8 @@ public class UploadModel { FileProcessor fileProcessor) { this.licenses = licenses; this.prefs = prefs; + this.license = prefs.getString(Prefs.DEFAULT_LICENSE, Prefs.Licenses.CC_BY_SA_3); this.bitmapRegionDecoderWrapper = bitmapRegionDecoderWrapper; - this.license = Prefs.Licenses.CC_BY_SA_3; this.licensesByName = licensesByName; this.context = context; this.mwApi = mwApi; diff --git a/app/src/main/java/fr/free/nrw/commons/upload/UploadPresenter.java b/app/src/main/java/fr/free/nrw/commons/upload/UploadPresenter.java index 781c158bd..c66ce21bd 100644 --- a/app/src/main/java/fr/free/nrw/commons/upload/UploadPresenter.java +++ b/app/src/main/java/fr/free/nrw/commons/upload/UploadPresenter.java @@ -1,6 +1,7 @@ package fr.free.nrw.commons.upload; import android.annotation.SuppressLint; +import android.content.SharedPreferences; import android.net.Uri; import android.util.Log; @@ -10,12 +11,14 @@ import java.util.Collections; import java.util.List; import javax.inject.Inject; +import javax.inject.Named; import javax.inject.Singleton; import fr.free.nrw.commons.R; import fr.free.nrw.commons.category.CategoriesModel; import fr.free.nrw.commons.contributions.Contribution; import fr.free.nrw.commons.mwapi.MediaWikiApi; +import fr.free.nrw.commons.settings.Prefs; import fr.free.nrw.commons.utils.ImageUtils; import io.reactivex.Completable; import io.reactivex.Observable; @@ -50,6 +53,7 @@ public class UploadPresenter { @UploadView.UploadPage private int currentPage = UploadView.PLEASE_WAIT; + @Inject @Named("default_preferences")SharedPreferences prefs; @Inject UploadPresenter(UploadModel uploadModel, @@ -355,7 +359,7 @@ public class UploadPresenter { * Sets the list of licences and the default license. */ private void updateLicenses() { - String selectedLicense = uploadModel.getSelectedLicense(); + String selectedLicense = prefs.getString(Prefs.DEFAULT_LICENSE, Prefs.Licenses.CC_BY_SA_3); view.updateLicenses(uploadModel.getLicenses(), selectedLicense); view.updateLicenseSummary(selectedLicense, uploadModel.getCount()); }