From 07e6033e3050b1602f98836778f6d1058b30c6ce Mon Sep 17 00:00:00 2001 From: BGbaderguet <48762010+BGbaderguet@users.noreply.github.com> Date: Tue, 29 Dec 2020 18:17:58 +0100 Subject: [PATCH] Setting the agent activity at first screen when application is launched --- app/src/main/AndroidManifest.xml | 6 +----- .../myrealestateagency/adapter/AgentsAdapter.java | 8 ++++++-- .../vj/apps/myrealestateagency/dao/AgentDao.java | 4 ++-- .../database/RealEstateAgencyDatabase.java | 2 -- .../vj/apps/myrealestateagency/entities/Agency.java | 6 +++--- .../vj/apps/myrealestateagency/entities/Agent.java | 5 +++-- .../repository/AgentRepository.java | 5 +++++ .../apps/myrealestateagency/view/AgentsActivity.java | 1 + .../vj/apps/myrealestateagency/view/HomeActivity.java | 1 + .../viewmodel/AgentsActivityViewModel.java | 11 +++++++++++ app/src/main/res/layout/activity_home.xml | 2 +- app/src/main/res/layout/viewholder_agents.xml | 10 ++++++++++ 12 files changed, 44 insertions(+), 17 deletions(-) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 8ebb49f..36bf4ee 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -19,11 +19,7 @@ android:supportsRtl="true" android:theme="@style/Theme.MyRealEstateAgency"> - - - + diff --git a/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/adapter/AgentsAdapter.java b/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/adapter/AgentsAdapter.java index 4e31d3d..5d1fde4 100644 --- a/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/adapter/AgentsAdapter.java +++ b/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/adapter/AgentsAdapter.java @@ -22,17 +22,21 @@ public final class AgentsAdapter extends Adapter{ private final TextView agentLastName; + private final TextView agencyName; + public AgentViewHolder(@NonNull View itemView) { super(itemView); agentFirstName = itemView.findViewById(R.id.agentFirstName); agentLastName = itemView.findViewById(R.id.agentLastName); + agencyName = itemView.findViewById(R.id.agencyName); } public void update(final Agent agent) { - agentFirstName.setText(agent.agentFirstName); - agentLastName.setText(agent.agentLastName); + agentFirstName.setText("First name : " + agent.agentFirstName); + agentLastName.setText("Last name : " + agent.agentLastName); + agencyName.setText("Agency : " + agent.nameOfAgency); } } diff --git a/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/dao/AgentDao.java b/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/dao/AgentDao.java index f906703..360852f 100644 --- a/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/dao/AgentDao.java +++ b/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/dao/AgentDao.java @@ -15,8 +15,8 @@ public interface AgentDao { @Query("SELECT * FROM agent") LiveData> getAgentList(); - @Query("SELECT agency_name FROM agency INNER JOIN agent ON agent.agent_id = agency.agency_id WHERE agent.agency_employer_id = :idAgencyEmployer") - String getAgencyName(int idAgencyEmployer); + @Query("SELECT agency_name FROM agency INNER JOIN agent ON agent.agency_employer_id = agency.agency_id WHERE agent.agent_id = :idAgent") + String getAgencyName(int idAgent); @Insert void insertAgent(Agent agent); diff --git a/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/database/RealEstateAgencyDatabase.java b/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/database/RealEstateAgencyDatabase.java index 256bf3d..f242c88 100644 --- a/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/database/RealEstateAgencyDatabase.java +++ b/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/database/RealEstateAgencyDatabase.java @@ -13,12 +13,10 @@ import java.util.concurrent.Executors; import fr.romanet.vj.apps.myrealestateagency.dao.AgencyDao; import fr.romanet.vj.apps.myrealestateagency.dao.AgencyWithAgentsDao; -//import fr.romanet.vj.apps.myrealestateagency.dao.AgencyWithPropertiesDao; import fr.romanet.vj.apps.myrealestateagency.dao.AgencyWithPropertiesDao; import fr.romanet.vj.apps.myrealestateagency.dao.DollarCurrencyDao; import fr.romanet.vj.apps.myrealestateagency.dao.PropertyDao; import fr.romanet.vj.apps.myrealestateagency.entities.Agency; -import fr.romanet.vj.apps.myrealestateagency.entities.AgencyWithProperties; import fr.romanet.vj.apps.myrealestateagency.entities.Agent; import fr.romanet.vj.apps.myrealestateagency.dao.AgentDao; import fr.romanet.vj.apps.myrealestateagency.entities.DollarCurrency; diff --git a/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/entities/Agency.java b/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/entities/Agency.java index 0dd4eb4..9785c09 100644 --- a/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/entities/Agency.java +++ b/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/entities/Agency.java @@ -30,9 +30,9 @@ public class Agency { public static Agency[] populateAgencyTable(){ return new Agency[]{ - new Agency("AgenceOFParis"), - new Agency("AgenceOFMarseille") - + new Agency("Agency of Paris"), + new Agency("Agency of Marseille"), + new Agency("France Habitation") }; } } \ No newline at end of file diff --git a/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/entities/Agent.java b/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/entities/Agent.java index 2e7acff..2fc327f 100644 --- a/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/entities/Agent.java +++ b/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/entities/Agent.java @@ -57,8 +57,9 @@ public class Agent { public static Agent[] populateAgentsTable(){ return new Agent[]{ new Agent("Bader", "Guetari", 1), - new Agent("Khalil", "Guetari", 2), - new Agent("Achref", "Guetari", 1) + new Agent("Valentin", "Romanet", 2), + new Agent("Francois", "Durant", 3), + new Agent("Francis", "Huster", 1) }; } } diff --git a/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/repository/AgentRepository.java b/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/repository/AgentRepository.java index 1b1b4f4..2039535 100644 --- a/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/repository/AgentRepository.java +++ b/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/repository/AgentRepository.java @@ -24,4 +24,9 @@ public class AgentRepository { public LiveData> getAllAgents() { return allAgents; } + + public String getAgencyName(Agent agent) + { + return agentDao.getAgencyName(agent.agentId); + } } 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 4364850..7c7eaab 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 @@ -39,6 +39,7 @@ final public class AgentsActivity extends AppCompatActivity{ @Override public void onChanged(List users) { + viewModel.setAgents(); final AgentsAdapter usersAdapter = new AgentsAdapter(users); recyclerView.setAdapter(usersAdapter); } diff --git a/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/view/HomeActivity.java b/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/view/HomeActivity.java index cb55c50..ab72d89 100644 --- a/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/view/HomeActivity.java +++ b/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/view/HomeActivity.java @@ -19,6 +19,7 @@ import fr.romanet.vj.apps.myrealestateagency.R; import fr.romanet.vj.apps.myrealestateagency.database.RealEstateAgencyDatabase; import fr.romanet.vj.apps.myrealestateagency.entities.Agent; +//Activity that is useless for the moment final public class HomeActivity extends AppCompatActivity implements View.OnClickListener { 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 a23062f..f788b21 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 @@ -23,4 +23,15 @@ public class AgentsActivityViewModel extends AndroidViewModel { agentRepository = new AgentRepository(application); agents = agentRepository.getAllAgents(); } + + public void setAgents() + { + List currentList = agents.getValue(); + for(int i = 0; i < currentList.size(); i++) + { + Agent currentAgent = currentList.get(i); + String nameOfAgency = agentRepository.getAgencyName(currentList.get(i)); + currentAgent.setNameOfAgency(nameOfAgency); + } + } } diff --git a/app/src/main/res/layout/activity_home.xml b/app/src/main/res/layout/activity_home.xml index 5eaf69c..76030e3 100644 --- a/app/src/main/res/layout/activity_home.xml +++ b/app/src/main/res/layout/activity_home.xml @@ -10,7 +10,7 @@ android:id="@+id/buttonFirst" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:text="Button" + android:text="Start_application" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" diff --git a/app/src/main/res/layout/viewholder_agents.xml b/app/src/main/res/layout/viewholder_agents.xml index d67e316..097e2e0 100644 --- a/app/src/main/res/layout/viewholder_agents.xml +++ b/app/src/main/res/layout/viewholder_agents.xml @@ -27,4 +27,14 @@ tools:text="@tools:sample/full_names" /> + + \ No newline at end of file