Adding some activities file and the view model file of the agent activity

This commit is contained in:
BGbaderguet 2020-12-29 17:29:04 +01:00
parent 7325dbbc1b
commit 0be4898b7d
3 changed files with 62 additions and 34 deletions

View File

@ -6,11 +6,7 @@ import androidx.lifecycle.ViewModelProvider;
import androidx.recyclerview.widget.DividerItemDecoration;
import androidx.recyclerview.widget.RecyclerView;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import java.util.List;
import fr.romanet.vj.apps.myrealestateagency.R;
@ -18,7 +14,7 @@ import fr.romanet.vj.apps.myrealestateagency.adapter.AgentsAdapter;
import fr.romanet.vj.apps.myrealestateagency.entities.Agent;
import fr.romanet.vj.apps.myrealestateagency.viewmodel.AgentsActivityViewModel;
final public class AgentsActivity extends AppCompatActivity implements OnClickListener {
final public class AgentsActivity extends AppCompatActivity{
private RecyclerView recyclerView;
@ -31,26 +27,22 @@ final public class AgentsActivity extends AppCompatActivity implements OnClickLi
setContentView(R.layout.activity_agents);
recyclerView = findViewById(R.id.recyclerViewAgents);
recyclerView.addItemDecoration(new DividerItemDecoration(this, DividerItemDecoration.VERTICAL));
viewModel = new ViewModelProvider(this).get(AgentsActivityViewModel.class);
observeAgents();
Intent i = new Intent(AgentsActivity.this, MapsActivity.class);
AgentsActivity.this.startActivity(i);
}
private void observeAgents()
{
viewModel.agents.observe(this, new Observer<List<Agent>>() {
viewModel.agents.observe(this, new Observer<List<Agent>>()
{
@Override
public void onChanged(List<Agent> agents) {
final AgentsAdapter agentsAdapter = new AgentsAdapter(agents);
recyclerView.setAdapter(agentsAdapter);
public void onChanged(List<Agent> users)
{
final AgentsAdapter usersAdapter = new AgentsAdapter(users);
recyclerView.setAdapter(usersAdapter);
}
});
}
@Override
public void onClick(View view) {
}
}

View File

@ -0,0 +1,46 @@
package fr.romanet.vj.apps.myrealestateagency.view;
import android.content.Intent;
import android.os.Bundle;
import android.os.SystemClock;
import android.util.Log;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;
import androidx.appcompat.app.AppCompatActivity;
import androidx.lifecycle.LiveData;
import java.util.ArrayList;
import java.util.List;
import fr.romanet.vj.apps.myrealestateagency.R;
import fr.romanet.vj.apps.myrealestateagency.database.RealEstateAgencyDatabase;
import fr.romanet.vj.apps.myrealestateagency.entities.Agent;
final public class HomeActivity extends AppCompatActivity implements View.OnClickListener {
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
Button button = (Button) findViewById(R.id.buttonFirst);
button.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
Intent intent = new Intent(HomeActivity.this, AgentsActivity.class);
startActivity(intent);
}
});
}
@Override
public void onClick(View view) {
}
}

View File

@ -1,36 +1,26 @@
package fr.romanet.vj.apps.myrealestateagency.viewmodel;
import android.app.Application;
import android.os.Handler;
import androidx.annotation.NonNull;
import androidx.lifecycle.AndroidViewModel;
import androidx.lifecycle.Lifecycle;
import androidx.lifecycle.LifecycleEventObserver;
import androidx.lifecycle.LifecycleObserver;
import androidx.lifecycle.LiveData;
import androidx.lifecycle.MutableLiveData;
import androidx.lifecycle.OnLifecycleEvent;
import androidx.lifecycle.ViewModel;
import java.util.List;
import fr.romanet.vj.apps.myrealestateagency.repository.MyRealEstateAgencyRepository;
import fr.romanet.vj.apps.myrealestateagency.entities.Agent;
import fr.romanet.vj.apps.myrealestateagency.repository.AgentRepository;
public final class AgentsActivityViewModel extends AndroidViewModel implements LifecycleObserver {
public class AgentsActivityViewModel extends AndroidViewModel {
public MutableLiveData<List<Agent>> agents = new MutableLiveData<>();
private MyRealEstateAgencyRepository myRealEstateAgencyRepository;
public LiveData<List<Agent>> agents = new MutableLiveData<>();
public AgentRepository agentRepository;
public AgentsActivityViewModel(@NonNull Application application)
{
super(application);
agentRepository = new AgentRepository(application);
agents = agentRepository.getAllAgents();
}
@OnLifecycleEvent(Lifecycle.Event.ON_RESUME)
private void start_counter_on_activity_start(){
agents.postValue(MyRealEstateAgencyRepository.getInstance(getApplication()).getAgents());
}
}