From 21a9ed30b7906d6919e78aa439b92a9378a659a1 Mon Sep 17 00:00:00 2001 From: Pooja-Mahadev-Soundalgekar Date: Sat, 18 Mar 2017 09:43:54 +0530 Subject: [PATCH 1/3] Load CircleIntroActivity when Circle of Trust is selected for the first time from the navigation bar. --- .../com/peacecorps/pcsa/MainActivity.java | 25 ++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/peacecorps/pcsa/MainActivity.java b/app/src/main/java/com/peacecorps/pcsa/MainActivity.java index f048ad5..6bfad02 100644 --- a/app/src/main/java/com/peacecorps/pcsa/MainActivity.java +++ b/app/src/main/java/com/peacecorps/pcsa/MainActivity.java @@ -20,6 +20,7 @@ import android.widget.ExpandableListView; import android.widget.Toast; +import com.peacecorps.pcsa.circle_of_trust.CircleIntroActivity; import com.peacecorps.pcsa.circle_of_trust.CircleOfTrustFragment; import com.peacecorps.pcsa.get_help_now.ContactOtherStaff; import com.peacecorps.pcsa.get_help_now.ContactPostStaff; @@ -115,9 +116,14 @@ public boolean onGroupClick(ExpandableListView parent, View v, int groupPosition break; case 1: //Swapping CircleOfTrustFragment into the container - CircleOfTrustFragment circleOfTrustFragment = new CircleOfTrustFragment(); - MainActivity.swapFragmentIn(MainActivity.this, circleOfTrustFragment, CircleOfTrustFragment.TAG, true); - mDrawer.closeDrawer(GravityCompat.START); + boolean isFirstRun = getSharedPreferences("prefs", 0).getBoolean("firstRun", true); + if(isFirstRun) { + startActivityForResult(new Intent(MainActivity.this, CircleIntroActivity.class),2); + } else { + CircleOfTrustFragment circleOfTrustFragment = new CircleOfTrustFragment(); + MainActivity.swapFragmentIn(MainActivity.this, circleOfTrustFragment, CircleOfTrustFragment.TAG, true); + mDrawer.closeDrawer(GravityCompat.START); + } break; case 6: Intent intent = new Intent(MainActivity.this, UserSettingsActivity.class); @@ -377,4 +383,17 @@ public boolean onOptionsItemSelected(MenuItem item) { } return true; } + + @Override + public void onActivityResult(int requestCode, int resultCode, Intent data) { + super.onActivityResult(requestCode, resultCode, data); + switch (requestCode) + { + case 2: + //Swapping CircleOfTrustFragment into the container + CircleOfTrustFragment circleOfTrustFragment = new CircleOfTrustFragment(); + MainActivity.swapFragmentIn(MainActivity.this,circleOfTrustFragment,CircleOfTrustFragment.TAG,true); + mDrawer.closeDrawer(GravityCompat.START); + } + } } From 229e458fafedd4e5e16727095ac4938a5bc90f5b Mon Sep 17 00:00:00 2001 From: Pooja-Mahadev-Soundalgekar Date: Tue, 21 Mar 2017 18:12:05 +0530 Subject: [PATCH 2/3] Preserves the visiblity of descriptions in FAQArrayAdapter upon scrolling --- .../support_services/FAQArrayAdapter.java | 44 +++++++++++++++---- 1 file changed, 36 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/com/peacecorps/pcsa/support_services/FAQArrayAdapter.java b/app/src/main/java/com/peacecorps/pcsa/support_services/FAQArrayAdapter.java index fbee077..9b77d3a 100644 --- a/app/src/main/java/com/peacecorps/pcsa/support_services/FAQArrayAdapter.java +++ b/app/src/main/java/com/peacecorps/pcsa/support_services/FAQArrayAdapter.java @@ -10,6 +10,8 @@ import com.peacecorps.pcsa.R; +import java.util.HashSet; + /** * The customized ArrayAdapter for the list used in FAQ page @@ -22,12 +24,14 @@ public class FAQArrayAdapter extends ArrayAdapter { private final Context context; private final String[] faqTitles; private final String[] faqDescptions; + private HashSet faqVisibilities; public FAQArrayAdapter(Context context, String[] faqTitles, String[] faqDesc) { super(context, R.layout.faq_layout, faqDesc); this.context = context; this.faqTitles = faqTitles; this.faqDescptions = faqDesc; + this.faqVisibilities = new HashSet<>(); } @Override @@ -44,25 +48,49 @@ public View getView(final int position, View convertView, ViewGroup parent) { faqTitle.setText(String.valueOf(faqTitles[position])); faqDesc.setText(String.valueOf(faqDescptions[position])); + if(faqVisibilities.contains(position)) { + setVisibility(faqDesc, faq_title_and_image, viewMoreArrow, true); + } else { + setVisibility(faqDesc, faq_title_and_image, viewMoreArrow, false); + } faq_title_and_image.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View v) { if (faqDesc.getVisibility() == View.INVISIBLE) { - faqDesc.setVisibility(View.VISIBLE); - faqDesc.setMaxLines(Integer.MAX_VALUE); - faq_title_and_image.setBackgroundResource(R.drawable.bg_textview_faq_rounded_upper); - viewMoreArrow.setRotation(180); + setVisibility(faqDesc, faq_title_and_image, viewMoreArrow, true); + faqVisibilities.add(position); } else { - faqDesc.setVisibility(View.INVISIBLE); - faqDesc.setMaxLines(0); - faq_title_and_image.setBackgroundResource(R.drawable.bg_textview_rounded_rectangle); - viewMoreArrow.setRotation(90); + setVisibility(faqDesc, faq_title_and_image, viewMoreArrow, false); + if(faqVisibilities.contains(position)) { + faqVisibilities.remove(position); + } } } }); return faq; } + + /** + * Sets the parameters of the View based on whether the description is visible or not + * @param faqDesc description of the row item + * @param faq_title_and_image rectangular box around the row item + * @param viewMoreArrow arrow head + * @param visibility the visibility of the description + */ + private void setVisibility(TextView faqDesc, LinearLayout faq_title_and_image, TextView viewMoreArrow, boolean visibility) { + if(visibility) { + faqDesc.setVisibility(View.VISIBLE); + faqDesc.setMaxLines(Integer.MAX_VALUE); + faq_title_and_image.setBackgroundResource(R.drawable.bg_textview_faq_rounded_upper); + viewMoreArrow.setRotation(180); + } else { + faqDesc.setVisibility(View.INVISIBLE); + faqDesc.setMaxLines(0); + faq_title_and_image.setBackgroundResource(R.drawable.bg_textview_rounded_rectangle); + viewMoreArrow.setRotation(90); + } + } } From 5454656e2d56b9c2f373ed9210e113daed4af887 Mon Sep 17 00:00:00 2001 From: Pooja-Mahadev-Soundalgekar Date: Tue, 21 Mar 2017 18:40:51 +0530 Subject: [PATCH 3/3] Revert "Preserves the visiblity of descriptions in FAQArrayAdapter upon scrolling" This reverts commit 229e458fafedd4e5e16727095ac4938a5bc90f5b. --- .../support_services/FAQArrayAdapter.java | 44 ++++--------------- 1 file changed, 8 insertions(+), 36 deletions(-) diff --git a/app/src/main/java/com/peacecorps/pcsa/support_services/FAQArrayAdapter.java b/app/src/main/java/com/peacecorps/pcsa/support_services/FAQArrayAdapter.java index 9b77d3a..fbee077 100644 --- a/app/src/main/java/com/peacecorps/pcsa/support_services/FAQArrayAdapter.java +++ b/app/src/main/java/com/peacecorps/pcsa/support_services/FAQArrayAdapter.java @@ -10,8 +10,6 @@ import com.peacecorps.pcsa.R; -import java.util.HashSet; - /** * The customized ArrayAdapter for the list used in FAQ page @@ -24,14 +22,12 @@ public class FAQArrayAdapter extends ArrayAdapter { private final Context context; private final String[] faqTitles; private final String[] faqDescptions; - private HashSet faqVisibilities; public FAQArrayAdapter(Context context, String[] faqTitles, String[] faqDesc) { super(context, R.layout.faq_layout, faqDesc); this.context = context; this.faqTitles = faqTitles; this.faqDescptions = faqDesc; - this.faqVisibilities = new HashSet<>(); } @Override @@ -48,49 +44,25 @@ public View getView(final int position, View convertView, ViewGroup parent) { faqTitle.setText(String.valueOf(faqTitles[position])); faqDesc.setText(String.valueOf(faqDescptions[position])); - if(faqVisibilities.contains(position)) { - setVisibility(faqDesc, faq_title_and_image, viewMoreArrow, true); - } else { - setVisibility(faqDesc, faq_title_and_image, viewMoreArrow, false); - } faq_title_and_image.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View v) { if (faqDesc.getVisibility() == View.INVISIBLE) { - setVisibility(faqDesc, faq_title_and_image, viewMoreArrow, true); - faqVisibilities.add(position); + faqDesc.setVisibility(View.VISIBLE); + faqDesc.setMaxLines(Integer.MAX_VALUE); + faq_title_and_image.setBackgroundResource(R.drawable.bg_textview_faq_rounded_upper); + viewMoreArrow.setRotation(180); } else { - setVisibility(faqDesc, faq_title_and_image, viewMoreArrow, false); - if(faqVisibilities.contains(position)) { - faqVisibilities.remove(position); - } + faqDesc.setVisibility(View.INVISIBLE); + faqDesc.setMaxLines(0); + faq_title_and_image.setBackgroundResource(R.drawable.bg_textview_rounded_rectangle); + viewMoreArrow.setRotation(90); } } }); return faq; } - - /** - * Sets the parameters of the View based on whether the description is visible or not - * @param faqDesc description of the row item - * @param faq_title_and_image rectangular box around the row item - * @param viewMoreArrow arrow head - * @param visibility the visibility of the description - */ - private void setVisibility(TextView faqDesc, LinearLayout faq_title_and_image, TextView viewMoreArrow, boolean visibility) { - if(visibility) { - faqDesc.setVisibility(View.VISIBLE); - faqDesc.setMaxLines(Integer.MAX_VALUE); - faq_title_and_image.setBackgroundResource(R.drawable.bg_textview_faq_rounded_upper); - viewMoreArrow.setRotation(180); - } else { - faqDesc.setVisibility(View.INVISIBLE); - faqDesc.setMaxLines(0); - faq_title_and_image.setBackgroundResource(R.drawable.bg_textview_rounded_rectangle); - viewMoreArrow.setRotation(90); - } - } }