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