Trying to prepopulate database

This commit is contained in:
BGbaderguet 2020-12-26 11:02:50 +01:00
parent 60aaac5690
commit 09089595a8
4 changed files with 16 additions and 6 deletions

View File

@ -16,4 +16,7 @@ public interface AgencyDao {
@Insert
void insertAgency(Agency agency);
@Insert
void insertPreData(Agency[] agencies);
}

View File

@ -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<Agent> 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);}
}

View File

@ -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;

View File

@ -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)