diff --git a/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/dao/AgencyDao.java b/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/dao/AgencyDao.java index aef7f2d..a63915c 100644 --- a/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/dao/AgencyDao.java +++ b/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/dao/AgencyDao.java @@ -16,4 +16,7 @@ public interface AgencyDao { @Insert void insertAgency(Agency agency); + + @Insert + void insertPreData(Agency[] agencies); } \ No newline at end of file diff --git a/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/repository/MyRealEstateAgencyRepository.java b/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/repository/MyRealEstateAgencyRepository.java index 0c52805..fa4ecf5 100644 --- a/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/repository/MyRealEstateAgencyRepository.java +++ b/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/repository/MyRealEstateAgencyRepository.java @@ -2,7 +2,10 @@ package fr.romanet.vj.apps.myrealestateagency.repository; import android.content.Context; +import androidx.annotation.NonNull; import androidx.room.Room; +import androidx.room.RoomDatabase; +import androidx.sqlite.db.SupportSQLiteDatabase; import java.util.List; import fr.romanet.vj.apps.myrealestateagency.database.RealEstateAgencyDatabase; @@ -33,7 +36,14 @@ public final class MyRealEstateAgencyRepository { public MyRealEstateAgencyRepository(Context context) { - realEstateAgencyDatabaseDatabase = Room.databaseBuilder(context, RealEstateAgencyDatabase.class, "real_estate_agency_db").allowMainThreadQueries().build(); + realEstateAgencyDatabaseDatabase = Room.databaseBuilder(context, RealEstateAgencyDatabase.class, "real_estate_agency_db") + .addCallback(new RoomDatabase.Callback() { + @Override + public void onCreate(@NonNull SupportSQLiteDatabase db) { + super.onCreate(db); + insertPreAgenciesData(Agency.populateAgencyTable()); + } + }).allowMainThreadQueries().build(); } public List getAgents(){return realEstateAgencyDatabaseDatabase.agentDao().getAgentList();} @@ -41,4 +51,5 @@ public final class MyRealEstateAgencyRepository { public void addAgent(Agent agent){realEstateAgencyDatabaseDatabase.agentDao().insertAgent(agent);} public void addProperty(Property property){realEstateAgencyDatabaseDatabase.propertyDao().insertProperty(property);} public String getAgencyName(Agent agent){return realEstateAgencyDatabaseDatabase.agentDao().getAgencyName(agent.agencyEmployerId);} + public void insertPreAgenciesData(Agency[] agencies){realEstateAgencyDatabaseDatabase.agencyDao().insertPreData(agencies);} } diff --git a/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/view/AgentsActivity.java b/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/view/AgentsActivity.java index e68bdef..57d5b5e 100644 --- a/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/view/AgentsActivity.java +++ b/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/view/AgentsActivity.java @@ -13,9 +13,7 @@ import android.view.View.OnClickListener; import java.util.List; import fr.romanet.vj.apps.myrealestateagency.R; -import fr.romanet.vj.apps.myrealestateagency.Repository.MyRealEstateAgencyRepository; import fr.romanet.vj.apps.myrealestateagency.adapter.AgentsAdapter; -import fr.romanet.vj.apps.myrealestateagency.entities.Agency; import fr.romanet.vj.apps.myrealestateagency.entities.Agent; import fr.romanet.vj.apps.myrealestateagency.viewmodel.AgentsActivityViewModel; diff --git a/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/viewmodel/AgentsActivityViewModel.java b/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/viewmodel/AgentsActivityViewModel.java index 8dccd15..63ec474 100644 --- a/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/viewmodel/AgentsActivityViewModel.java +++ b/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/viewmodel/AgentsActivityViewModel.java @@ -14,7 +14,7 @@ import androidx.lifecycle.ViewModel; import java.util.List; -import fr.romanet.vj.apps.myrealestateagency.Repository.MyRealEstateAgencyRepository; +import fr.romanet.vj.apps.myrealestateagency.repository.MyRealEstateAgencyRepository; import fr.romanet.vj.apps.myrealestateagency.entities.Agent; public final class AgentsActivityViewModel extends AndroidViewModel implements LifecycleObserver { @@ -26,8 +26,6 @@ public final class AgentsActivityViewModel extends AndroidViewModel implements L public AgentsActivityViewModel(@NonNull Application application) { super(application); - myRealEstateAgencyRepository = new MyRealEstateAgencyRepository(application); - agents.postValue(MyRealEstateAgencyRepository.getInstance(getApplication()).getAgents()); } @OnLifecycleEvent(Lifecycle.Event.ON_RESUME)