From 49d6c6070033527eef46c1367e202fa68d3a5244 Mon Sep 17 00:00:00 2001 From: Patrick Martin Date: Thu, 8 Nov 2018 15:45:56 -0800 Subject: [PATCH 1/5] an attempt at the project. --- app/build.gradle | 3 ++ .../CongressPersonOverviewRepo.java | 23 +++++++++++++ .../CongressPersonViewModel.java | 27 ++++++++++++++++ app/src/main/res/layout/activity_list.xml | 32 ++++++++++++++----- build.gradle | 2 +- gradle/wrapper/gradle-wrapper.properties | 4 +-- 6 files changed, 80 insertions(+), 11 deletions(-) create mode 100644 app/src/main/java/com/lambdaschool/congressdetails/CongressPersonOverviewRepo.java create mode 100644 app/src/main/java/com/lambdaschool/congressdetails/CongressPersonViewModel.java diff --git a/app/build.gradle b/app/build.gradle index b036fea..9bf0476 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -25,4 +25,7 @@ dependencies { testImplementation 'junit:junit:4.12' androidTestImplementation 'com.android.support.test:runner:1.0.2' androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2' + implementation 'android.arch.lifecycle:extensions:1.1.1' + implementation 'android.arch.lifecycle:viewmodel:1.1.1' + implementation project(':congressdataapiaccess-debug') } 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..dc03b5f --- /dev/null +++ b/app/src/main/java/com/lambdaschool/congressdetails/CongressPersonOverviewRepo.java @@ -0,0 +1,23 @@ +package com.lambdaschool.congressdetails; + +import android.arch.lifecycle.MutableLiveData; + +import com.lambdaschool.congressdataapiaccess.CongressDao; +import com.lambdaschool.congressdataapiaccess.CongresspersonOverview; + +import java.util.ArrayList; + +public class CongressPersonOverviewRepo { + + public static MutableLiveData> getOverviewList() { + final MutableLiveData> liveDataList = new MutableLiveData<>(); + + ArrayList rawdata = CongressDao.getAllMembers(); + liveDataList.setValue(rawdata); + return liveDataList; + } + + +} + + diff --git a/app/src/main/java/com/lambdaschool/congressdetails/CongressPersonViewModel.java b/app/src/main/java/com/lambdaschool/congressdetails/CongressPersonViewModel.java new file mode 100644 index 0000000..47957da --- /dev/null +++ b/app/src/main/java/com/lambdaschool/congressdetails/CongressPersonViewModel.java @@ -0,0 +1,27 @@ +package com.lambdaschool.congressdetails; + +import android.arch.lifecycle.LiveData; +import android.arch.lifecycle.MutableLiveData; + +import com.lambdaschool.congressdataapiaccess.CongresspersonDetails; +import com.lambdaschool.congressdataapiaccess.CongresspersonOverview; + +import java.util.ArrayList; + +public class CongressPersonViewModel { + + private MutableLiveData> congressPersonDetailsList; + private CongressPersonOverviewRepo repo; + + public LiveData> getCongresspersonOverviewList(){ + if(congressPersonDetailsList == null) { + //create list + } + + return congressPersonDetailsList; + } + + private void loadlist(){ + cong + } +} diff --git a/app/src/main/res/layout/activity_list.xml b/app/src/main/res/layout/activity_list.xml index 1884df2..f7de235 100644 --- a/app/src/main/res/layout/activity_list.xml +++ b/app/src/main/res/layout/activity_list.xml @@ -6,13 +6,29 @@ android:layout_height="match_parent" tools:context=".ListActivity"> - + + + + + + + + + + + \ No newline at end of file diff --git a/build.gradle b/build.gradle index 077cb2f..8d3ef8e 100644 --- a/build.gradle +++ b/build.gradle @@ -7,7 +7,7 @@ buildscript { jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:3.1.4' + classpath 'com.android.tools.build:gradle:3.2.1' // NOTE: Do not place your application dependencies here; they belong diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 95d3e5f..a5ab4ee 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Tue Sep 04 14:01:16 MDT 2018 +#Thu Nov 08 13:55:48 PST 2018 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip From fb55cd638873ead67ca94d5a4be2afa2dc5047b1 Mon Sep 17 00:00:00 2001 From: Patrick Martin Date: Thu, 8 Nov 2018 15:58:14 -0800 Subject: [PATCH 2/5] bug fixes --- .../congressdetails/CongressPersonViewModel.java | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/com/lambdaschool/congressdetails/CongressPersonViewModel.java b/app/src/main/java/com/lambdaschool/congressdetails/CongressPersonViewModel.java index 47957da..3deae9d 100644 --- a/app/src/main/java/com/lambdaschool/congressdetails/CongressPersonViewModel.java +++ b/app/src/main/java/com/lambdaschool/congressdetails/CongressPersonViewModel.java @@ -2,26 +2,25 @@ 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 CongressPersonViewModel { +public class CongressPersonViewModel extends ViewModel { + + private MutableLiveData> congressPersonDetailsList; - private MutableLiveData> congressPersonDetailsList; - private CongressPersonOverviewRepo repo; public LiveData> getCongresspersonOverviewList(){ if(congressPersonDetailsList == null) { - //create list + loadlist(); } - return congressPersonDetailsList; } private void loadlist(){ - cong + congressPersonDetailsList = CongressPersonOverviewRepo.getOverviewList(); } } From f98072de9d1ad5434047e7c4b56ab3954f92f63e Mon Sep 17 00:00:00 2001 From: Patrick Martin Date: Thu, 8 Nov 2018 16:11:53 -0800 Subject: [PATCH 3/5] bug fixes --- .../congressdetails/ListActivity.java | 42 +++++++++++++++++++ app/src/main/res/layout/activity_list.xml | 7 +--- 2 files changed, 43 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/com/lambdaschool/congressdetails/ListActivity.java b/app/src/main/java/com/lambdaschool/congressdetails/ListActivity.java index 3b2296e..449c92c 100644 --- a/app/src/main/java/com/lambdaschool/congressdetails/ListActivity.java +++ b/app/src/main/java/com/lambdaschool/congressdetails/ListActivity.java @@ -1,13 +1,55 @@ package com.lambdaschool.congressdetails; +import android.arch.lifecycle.Observer; +import android.arch.lifecycle.ViewModelProviders; +import android.content.Context; +import android.support.annotation.Nullable; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; +import android.widget.LinearLayout; +import android.widget.TextView; + +import com.lambdaschool.congressdataapiaccess.CongresspersonOverview; + +import org.w3c.dom.Text; + +import java.util.ArrayList; public class ListActivity extends AppCompatActivity { + + private Context context; + private LinearLayout listlayout; + private CongressPersonViewModel viewModel; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_list); + + context = this; + listlayout = findViewById(R.id.list_layout); + + viewModel = ViewModelProviders.of(this).get(CongressPersonViewModel.class); + final Observer> observer = new Observer>() { + @Override + public void onChanged(@Nullable ArrayList congresspersonOverviews) { + if (congresspersonOverviews == null) { + refreshListView(congresspersonOverviews); + } + } + }; + + } + + private TextView getDefaultTextView(final CongresspersonOverview congresspersonOverviews){ + + } + + private void refreshListView(ArrayList congresspersonOverviews) { + listlayout.removeAllViews(); + for(CongresspersonOverview cpOverview : congresspersonOverviews){ + listlayout.addView(); + } } } diff --git a/app/src/main/res/layout/activity_list.xml b/app/src/main/res/layout/activity_list.xml index f7de235..88c1196 100644 --- a/app/src/main/res/layout/activity_list.xml +++ b/app/src/main/res/layout/activity_list.xml @@ -18,12 +18,7 @@ android:layout_height="wrap_content" android:orientation="vertical" > - + From 514d49ad03449a25457258a5913bae8adad69507 Mon Sep 17 00:00:00 2001 From: Patrick Martin Date: Thu, 8 Nov 2018 16:21:05 -0800 Subject: [PATCH 4/5] bug fixes... i think --- .../congressdetails/DetailsActivity.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 app/src/main/java/com/lambdaschool/congressdetails/DetailsActivity.java diff --git a/app/src/main/java/com/lambdaschool/congressdetails/DetailsActivity.java b/app/src/main/java/com/lambdaschool/congressdetails/DetailsActivity.java new file mode 100644 index 0000000..fcbf874 --- /dev/null +++ b/app/src/main/java/com/lambdaschool/congressdetails/DetailsActivity.java @@ -0,0 +1,14 @@ +package com.lambdaschool.congressdetails; + +import android.support.v7.app.AppCompatActivity; +import android.os.Bundle; + +public class DetailsActivity extends AppCompatActivity { + + public static final + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_details); + } +} From 8f7cc2686c1ffcbcaebd9e60c0967c05e8dcfc37 Mon Sep 17 00:00:00 2001 From: Patrick Martin Date: Fri, 9 Nov 2018 08:31:31 -0800 Subject: [PATCH 5/5] added repo for details of each single congress person. --- app/src/main/AndroidManifest.xml | 1 + .../CongressPersonDetailsRepo.java | 18 ++++++++++++ .../congressdetails/DetailsActivity.java | 4 ++- .../congressdetails/ListActivity.java | 19 ++++++++++-- app/src/main/res/layout/activity_details.xml | 29 +++++++++++++++++++ 5 files changed, 68 insertions(+), 3 deletions(-) create mode 100644 app/src/main/java/com/lambdaschool/congressdetails/CongressPersonDetailsRepo.java create mode 100644 app/src/main/res/layout/activity_details.xml diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 26b1cb9..dbdc015 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -16,6 +16,7 @@ + \ No newline at end of file diff --git a/app/src/main/java/com/lambdaschool/congressdetails/CongressPersonDetailsRepo.java b/app/src/main/java/com/lambdaschool/congressdetails/CongressPersonDetailsRepo.java new file mode 100644 index 0000000..97158a8 --- /dev/null +++ b/app/src/main/java/com/lambdaschool/congressdetails/CongressPersonDetailsRepo.java @@ -0,0 +1,18 @@ +package com.lambdaschool.congressdetails; + +import android.arch.lifecycle.MutableLiveData; + +import com.lambdaschool.congressdataapiaccess.CongressDao; +import com.lambdaschool.congressdataapiaccess.CongresspersonDetails; + +import java.util.ArrayList; + +public class CongressPersonDetailsRepo { + + public static MutableLiveData getDetails(String id) { + final MutableLiveData liveDataList = new MutableLiveData<>(); + CongresspersonDetails details = CongressDao.getMemberDetails(id); + liveDataList.setValue(details); + return liveDataList; + } +} diff --git a/app/src/main/java/com/lambdaschool/congressdetails/DetailsActivity.java b/app/src/main/java/com/lambdaschool/congressdetails/DetailsActivity.java index fcbf874..8af77fa 100644 --- a/app/src/main/java/com/lambdaschool/congressdetails/DetailsActivity.java +++ b/app/src/main/java/com/lambdaschool/congressdetails/DetailsActivity.java @@ -5,7 +5,9 @@ public class DetailsActivity extends AppCompatActivity { - public static final + public static final String CONGRESS_DETAILS_KEY = "congress_details"; + + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); diff --git a/app/src/main/java/com/lambdaschool/congressdetails/ListActivity.java b/app/src/main/java/com/lambdaschool/congressdetails/ListActivity.java index 449c92c..6b3001b 100644 --- a/app/src/main/java/com/lambdaschool/congressdetails/ListActivity.java +++ b/app/src/main/java/com/lambdaschool/congressdetails/ListActivity.java @@ -3,12 +3,15 @@ import android.arch.lifecycle.Observer; 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.CongresspersonDetails; import com.lambdaschool.congressdataapiaccess.CongresspersonOverview; import org.w3c.dom.Text; @@ -43,13 +46,25 @@ public void onChanged(@Nullable ArrayList congressperson } private TextView getDefaultTextView(final CongresspersonOverview congresspersonOverviews){ - + TextView textView = new TextView(context); + textView.setText(congresspersonOverviews.getFirstName() + " " + congresspersonOverviews.getLastName()); + textView.setTextSize(18); + textView.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + String id = congresspersonOverviews.getId(); + Intent intent = new Intent(context, DetailsActivity.class); + //intent.putExtra(DetailsActivity.CONGRESS_DETAILS_KEY, congresspersonOverviews); + //startActivityForResult(intent, ); + } + }); } private void refreshListView(ArrayList congresspersonOverviews) { listlayout.removeAllViews(); + for(CongresspersonOverview cpOverview : congresspersonOverviews){ - listlayout.addView(); + //listlayout.addView(); } } } diff --git a/app/src/main/res/layout/activity_details.xml b/app/src/main/res/layout/activity_details.xml new file mode 100644 index 0000000..1bea86b --- /dev/null +++ b/app/src/main/res/layout/activity_details.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + \ No newline at end of file