diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml
deleted file mode 100644
index 30aa626..0000000
--- a/.idea/codeStyles/Project.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index 0b6820d..35a2a29 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -26,4 +26,5 @@ dependencies {
androidTestImplementation 'com.android.support.test:runner:1.0.2'
implementation project(':congressdataapiaccess-debug')
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
+ implementation 'android.arch.lifecycle:extensions:1.1.1'
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 26b1cb9..d6b4acd 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -2,6 +2,8 @@
+
+
+
diff --git a/app/src/main/java/com/lambdaschool/congressdetails/CongresspersonDetailRepo.java b/app/src/main/java/com/lambdaschool/congressdetails/CongresspersonDetailRepo.java
new file mode 100644
index 0000000..397fec0
--- /dev/null
+++ b/app/src/main/java/com/lambdaschool/congressdetails/CongresspersonDetailRepo.java
@@ -0,0 +1,15 @@
+package com.lambdaschool.congressdetails;
+
+import android.arch.lifecycle.MutableLiveData;
+
+import com.lambdaschool.congressdataapiaccess.CongressDao;
+import com.lambdaschool.congressdataapiaccess.CongresspersonDetails;
+
+public class CongresspersonDetailRepo {
+
+ public static MutableLiveData wrapSinglePerson(String id) {
+ MutableLiveData person = new MutableLiveData<>();
+ person.setValue(CongressDao.getMemberDetails(id));
+ return person;
+ }
+}
diff --git a/app/src/main/java/com/lambdaschool/congressdetails/CongresspersonDetailViewModel.java b/app/src/main/java/com/lambdaschool/congressdetails/CongresspersonDetailViewModel.java
new file mode 100644
index 0000000..f89512e
--- /dev/null
+++ b/app/src/main/java/com/lambdaschool/congressdetails/CongresspersonDetailViewModel.java
@@ -0,0 +1,22 @@
+package com.lambdaschool.congressdetails;
+
+import android.arch.lifecycle.LiveData;
+import android.arch.lifecycle.MutableLiveData;
+import android.arch.lifecycle.ViewModel;
+
+import com.lambdaschool.congressdataapiaccess.CongresspersonDetails;
+import com.lambdaschool.congressdataapiaccess.CongresspersonOverview;
+
+import java.util.ArrayList;
+
+public class CongresspersonDetailViewModel extends ViewModel {
+ private MutableLiveData person;
+
+ public LiveData getSingleCongressPerson(String id) {
+
+ if (person == null) {
+ person = CongresspersonDetailRepo.wrapSinglePerson(id);
+ }
+ return person;
+ }
+}
diff --git a/app/src/main/java/com/lambdaschool/congressdetails/CongresspersonOverviewRepo.java b/app/src/main/java/com/lambdaschool/congressdetails/CongresspersonOverviewRepo.java
new file mode 100644
index 0000000..0ef4f16
--- /dev/null
+++ b/app/src/main/java/com/lambdaschool/congressdetails/CongresspersonOverviewRepo.java
@@ -0,0 +1,22 @@
+package com.lambdaschool.congressdetails;
+
+import android.arch.lifecycle.MutableLiveData;
+
+import com.lambdaschool.congressdataapiaccess.CongressDao;
+import com.lambdaschool.congressdataapiaccess.CongresspersonDetails;
+import com.lambdaschool.congressdataapiaccess.CongresspersonOverview;
+
+import java.util.ArrayList;
+
+public class CongresspersonOverviewRepo {
+
+ public static MutableLiveData> wrapPeopleArray() {
+ MutableLiveData> people = new MutableLiveData<>();
+ ArrayList rawData = CongressDao.getAllMembers();
+ CongressDao.getAllMembers();
+ people.setValue(rawData);
+ return people;
+ }
+
+
+}
diff --git a/app/src/main/java/com/lambdaschool/congressdetails/CongresspersonOverviewViewModel.java b/app/src/main/java/com/lambdaschool/congressdetails/CongresspersonOverviewViewModel.java
new file mode 100644
index 0000000..489c9f7
--- /dev/null
+++ b/app/src/main/java/com/lambdaschool/congressdetails/CongresspersonOverviewViewModel.java
@@ -0,0 +1,21 @@
+package com.lambdaschool.congressdetails;
+
+import android.arch.lifecycle.LiveData;
+import android.arch.lifecycle.MutableLiveData;
+import android.arch.lifecycle.ViewModel;
+
+import com.lambdaschool.congressdataapiaccess.CongresspersonOverview;
+
+import java.util.ArrayList;
+
+public class CongresspersonOverviewViewModel extends ViewModel {
+ private MutableLiveData> people;
+
+ public LiveData> getAllCongresspeople() {
+
+ if (people == null) {
+ people = CongresspersonOverviewRepo.wrapPeopleArray();
+ }
+ return people;
+ }
+}
diff --git a/app/src/main/java/com/lambdaschool/congressdetails/DetailActivity.java b/app/src/main/java/com/lambdaschool/congressdetails/DetailActivity.java
new file mode 100644
index 0000000..4fa887d
--- /dev/null
+++ b/app/src/main/java/com/lambdaschool/congressdetails/DetailActivity.java
@@ -0,0 +1,42 @@
+package com.lambdaschool.congressdetails;
+
+import android.arch.lifecycle.Observer;
+import android.arch.lifecycle.ViewModel;
+import android.arch.lifecycle.ViewModelProviders;
+import android.content.Intent;
+import android.support.annotation.Nullable;
+import android.support.v7.app.AppCompatActivity;
+import android.os.Bundle;
+import android.widget.TextView;
+
+import com.lambdaschool.congressdataapiaccess.CongressDao;
+import com.lambdaschool.congressdataapiaccess.CongresspersonDetails;
+
+public class DetailActivity extends AppCompatActivity {
+
+ CongresspersonDetailViewModel viewModel;
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_detail);
+ Intent intent = getIntent();
+ final String personId = intent.getStringExtra("tag");
+ viewModel = ViewModelProviders.of(this).get(CongresspersonDetailViewModel.class);
+ viewModel.getSingleCongressPerson(personId).observe(this, new Observer() {
+ @Override
+ public void onChanged(@Nullable CongresspersonDetails congresspersonDetails) {
+ String temp = congresspersonDetails.getFacebookAccount() + " " + congresspersonDetails.getLastName();
+ ((TextView)findViewById(R.id.textView)).setText(temp);
+ }
+ });
+
+ new Thread(new Runnable() {
+ @Override
+ public void run() {
+ viewModel.getSingleCongressPerson(personId);
+
+ }
+ }).start();
+ }
+}
diff --git a/app/src/main/java/com/lambdaschool/congressdetails/ListActivity.java b/app/src/main/java/com/lambdaschool/congressdetails/ListActivity.java
index 8be745a..0af2358 100644
--- a/app/src/main/java/com/lambdaschool/congressdetails/ListActivity.java
+++ b/app/src/main/java/com/lambdaschool/congressdetails/ListActivity.java
@@ -1,18 +1,74 @@
package com.lambdaschool.congressdetails;
+import android.app.Activity;
+import android.arch.lifecycle.LiveData;
+import android.arch.lifecycle.Observer;
+import android.arch.lifecycle.ViewModel;
+import android.arch.lifecycle.ViewModelProviders;
+import android.content.Context;
+import android.content.Intent;
+import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
+import android.view.View;
+import android.widget.LinearLayout;
+import android.widget.TextView;
import com.lambdaschool.congressdataapiaccess.CongressDao;
+import com.lambdaschool.congressdataapiaccess.CongresspersonOverview;
+import java.util.ArrayList;
-public class ListActivity extends AppCompatActivity {
+
+public class ListActivity extends AppCompatActivity implements View.OnClickListener {
+
+ CongresspersonOverviewViewModel viewModel;
+ Context context;
+ LinearLayout linearLayoutChild;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_list);
+ context = this;
+ linearLayoutChild = findViewById(R.id.linear_layout_child);
+
+
+ viewModel = ViewModelProviders.of(this).get(CongresspersonOverviewViewModel.class);
+ viewModel.getAllCongresspeople().observe(this, new Observer>() {
+ @Override
+ public void onChanged(@Nullable ArrayList congresspersonOverviews) {
+
+
+ if (congresspersonOverviews != null) {
+ for(CongresspersonOverview congresspersonOverview: congresspersonOverviews) {
+ TextView textView = new TextView(context);
+ String temp = congresspersonOverview.getFirstName() + " " + congresspersonOverview.getLastName() + " " + congresspersonOverview.getTitle();
+ textView.setText(temp);
+ textView.setTag(congresspersonOverview.getId());
+ textView.setOnClickListener((View.OnClickListener) context );
+ linearLayoutChild.addView(textView);
+
+ }
+ }
+ }
+ });
- CongressDao.getAllMembers();
+ new Thread(new Runnable() {
+ @Override
+ public void run() {
+ viewModel.getAllCongresspeople();
+ }
+ }).start();
+
+
+
+ }
+
+ @Override
+ public void onClick(View v) {
+ Intent intent = new Intent(context, DetailActivity.class);
+ intent.putExtra("tag", (String)v.getTag());
+ startActivity(intent);
}
}
diff --git a/app/src/main/res/layout/activity_detail.xml b/app/src/main/res/layout/activity_detail.xml
new file mode 100644
index 0000000..5536d96
--- /dev/null
+++ b/app/src/main/res/layout/activity_detail.xml
@@ -0,0 +1,89 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_list.xml b/app/src/main/res/layout/activity_list.xml
index 1884df2..33deaa1 100644
--- a/app/src/main/res/layout/activity_list.xml
+++ b/app/src/main/res/layout/activity_list.xml
@@ -1,18 +1,25 @@
-
-
+
-
\ No newline at end of file
+
+
+
+
+
+
+
+
\ No newline at end of file