From 95b73a0b348c9e503490a6814df08f67c53be5a6 Mon Sep 17 00:00:00 2001 From: valentin Date: Sun, 3 Jan 2021 12:43:35 +0100 Subject: [PATCH] [SOLVED] - Built MapsActivityRepository MapMarker builder (finished) --- .../repository/MapsActivityRepository.java | 1 + .../repository/PropertyRepository.java | 2 +- .../viewmodel/MapsActivityViewModel.java | 10 +++++++--- .../MapsActivityViewModelFactory.java | 20 +++++++++++++++++++ 4 files changed, 29 insertions(+), 4 deletions(-) create mode 100644 app/src/main/java/fr/romanet/vj/apps/myrealestateagency/viewmodel/MapsActivityViewModelFactory.java diff --git a/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/repository/MapsActivityRepository.java b/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/repository/MapsActivityRepository.java index 850f4f1..22096fb 100644 --- a/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/repository/MapsActivityRepository.java +++ b/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/repository/MapsActivityRepository.java @@ -36,6 +36,7 @@ public class MapsActivityRepository { public List get_all_map_markers_for_this_agency(Application application) throws IOException { sharedPrefs = new SharedPrefs(); propertyRepository = new PropertyRepository(application); + agentRepository = new AgentRepository(application); int logged_agent_id; Agency agency; diff --git a/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/repository/PropertyRepository.java b/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/repository/PropertyRepository.java index 8a7d2dd..2abecd9 100644 --- a/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/repository/PropertyRepository.java +++ b/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/repository/PropertyRepository.java @@ -11,7 +11,7 @@ import fr.romanet.vj.apps.myrealestateagency.database.RealEstateAgencyDatabase; import fr.romanet.vj.apps.myrealestateagency.entities.Agency; import fr.romanet.vj.apps.myrealestateagency.entities.Property; -public class PropertyRepository { +public class PropertyRepository { public PropertyDao propertyDao; public LiveData> allProperties; diff --git a/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/viewmodel/MapsActivityViewModel.java b/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/viewmodel/MapsActivityViewModel.java index 948131d..acb4e93 100644 --- a/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/viewmodel/MapsActivityViewModel.java +++ b/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/viewmodel/MapsActivityViewModel.java @@ -29,18 +29,22 @@ import fr.romanet.vj.apps.myrealestateagency.view.MapsActivity; public class MapsActivityViewModel extends AndroidViewModel implements LifecycleObserver { +// private PropertyRepository propertyRepository; + private Application _application; public MapsActivityViewModel(@NonNull Application application) { super(application); + this._application = application; +// propertyRepository = new PropertyRepository(application); } public MutableLiveData> markers_to_display = new MutableLiveData<>(); - private PropertyRepository propertyRepository; +// private PropertyRepository propertyRepository; private MapsActivityRepository mapsActivityRepository; @OnLifecycleEvent(Lifecycle.Event.ON_RESUME) - private void init_map(Application application) throws IOException { + private void init_map() throws IOException { mapsActivityRepository = new MapsActivityRepository(); // LiveData> properties = propertyRepository.getAllProperties(); @@ -48,7 +52,7 @@ public class MapsActivityViewModel extends AndroidViewModel implements Lifecycle // List mapMarkers = new ArrayList(); - List mapMarkers = mapsActivityRepository.get_all_map_markers_for_this_agency(application); + List mapMarkers = mapsActivityRepository.get_all_map_markers_for_this_agency(this._application); // List latLngs = null; // mapMarkers.add(new MapMarker(MapsActivityRepository.get_lat_long_from_address("Paris, France", MyApp.getContext()), "Paris", BitmapDescriptorFactory.HUE_BLUE)); diff --git a/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/viewmodel/MapsActivityViewModelFactory.java b/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/viewmodel/MapsActivityViewModelFactory.java new file mode 100644 index 0000000..d3b58f4 --- /dev/null +++ b/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/viewmodel/MapsActivityViewModelFactory.java @@ -0,0 +1,20 @@ +package fr.romanet.vj.apps.myrealestateagency.viewmodel; + +import android.app.Application; + +import androidx.lifecycle.ViewModel; +import androidx.lifecycle.ViewModelProvider; + +public class MapsActivityViewModelFactory implements ViewModelProvider.Factory { + private Application mApplication; + + public MapsActivityViewModelFactory(Application application) { + mApplication = application; + } + + + @Override + public T create(Class modelClass) { + return (T) new MapsActivityViewModel(mApplication); + } +}