From 119c4fb78299e7e74920c5dd677c9eefa7737057 Mon Sep 17 00:00:00 2001 From: misaochan Date: Wed, 7 Feb 2018 19:43:31 +1000 Subject: [PATCH] Manual injection into PlaceRenderer constructor to allow dependency injection --- .../di/CommonsApplicationComponent.java | 2 ++ .../nrw/commons/di/FragmentBuilderModule.java | 1 + .../nrw/commons/nearby/PlaceRenderer.java | 21 ++++++++++++++----- 3 files changed, 19 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/fr/free/nrw/commons/di/CommonsApplicationComponent.java b/app/src/main/java/fr/free/nrw/commons/di/CommonsApplicationComponent.java index 60f1c4c74..27ab1c171 100644 --- a/app/src/main/java/fr/free/nrw/commons/di/CommonsApplicationComponent.java +++ b/app/src/main/java/fr/free/nrw/commons/di/CommonsApplicationComponent.java @@ -13,6 +13,7 @@ import fr.free.nrw.commons.contributions.ContributionsSyncAdapter; import fr.free.nrw.commons.modifications.ModificationsSyncAdapter; import fr.free.nrw.commons.settings.SettingsFragment; import fr.free.nrw.commons.nearby.DirectUpload; +import fr.free.nrw.commons.nearby.PlaceRenderer; @Singleton @Component(modules = { @@ -40,6 +41,7 @@ public interface CommonsApplicationComponent extends AndroidInjector { +public class PlaceRenderer extends Renderer { @BindView(R.id.tvName) TextView tvName; @BindView(R.id.tvDesc) TextView tvDesc; @@ -54,12 +55,22 @@ class PlaceRenderer extends Renderer { @Inject @Named("prefs") SharedPreferences prefs; @Inject @Named("direct_nearby_upload_prefs") SharedPreferences directPrefs; - PlaceRenderer(){ + public PlaceRenderer(){ openedItems = new ArrayList<>(); } - PlaceRenderer(Fragment fragment) { + /** + @Inject + PlaceRenderer(@Named("prefs") SharedPreferences prefs, @Named("direct_nearby_upload_prefs") SharedPreferences directPrefs, Fragment fragment) { this.fragment = fragment; + this.prefs = prefs; + this.directPrefs = directPrefs; + openedItems = new ArrayList<>(); + } +*/ + public PlaceRenderer(Fragment fragment) { + this.fragment = fragment; + ((CommonsApplication) getContext().getApplicationContext()).injector().inject(this); openedItems = new ArrayList<>(); } @@ -103,7 +114,7 @@ class PlaceRenderer extends Renderer { Timber.d("Camera button tapped. Image title: " + place.getName() + "Image desc: " + place.getLongDescription()); controller = new ContributionController(fragment); DirectUpload directUpload = new DirectUpload(fragment, controller); - storeSharedPrefs(); + //storeSharedPrefs(); directUpload.initiateCameraUpload(); }); @@ -111,7 +122,7 @@ class PlaceRenderer extends Renderer { Timber.d("Gallery button tapped. Image title: " + place.getName() + "Image desc: " + place.getLongDescription()); controller = new ContributionController(fragment); DirectUpload directUpload = new DirectUpload(fragment, controller); - storeSharedPrefs(); + //storeSharedPrefs(); directUpload.initiateGalleryUpload(); }); }