diff options
Diffstat (limited to 'main/src/main/java/de/blinkt/openvpn/fragments/FaqFragment.java')
-rw-r--r-- | main/src/main/java/de/blinkt/openvpn/fragments/FaqFragment.java | 75 |
1 files changed, 54 insertions, 21 deletions
diff --git a/main/src/main/java/de/blinkt/openvpn/fragments/FaqFragment.java b/main/src/main/java/de/blinkt/openvpn/fragments/FaqFragment.java index 907ae226..471d62c1 100644 --- a/main/src/main/java/de/blinkt/openvpn/fragments/FaqFragment.java +++ b/main/src/main/java/de/blinkt/openvpn/fragments/FaqFragment.java @@ -8,42 +8,75 @@ package de.blinkt.openvpn.fragments; import android.app.Fragment; import android.os.Build; import android.os.Bundle; -import android.text.Html; -import android.text.method.LinkMovementMethod; +import android.support.v7.widget.RecyclerView; +import android.support.v7.widget.StaggeredGridLayoutManager; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; -import android.widget.TextView; + import de.blinkt.openvpn.R; public class FaqFragment extends Fragment { +private static int[] faqitems[] = + { + {R.string.faq_howto_title, R.string.faq_howto}, + {R.string.faq_vpndialog43_title, R.string.faq_vpndialog43}, + {R.string.faq_system_dialogs_title, R.string.faq_system_dialogs}, + {R.string.faq_duplicate_notification_title, R.string.faq_duplicate_notification}, + {R.string.battery_consumption_title, R.string.baterry_consumption}, + {R.string.tap_mode, R.string.faq_tap_mode}, + {R.string.vpn_tethering_title, R.string.faq_tethering}, + {R.string.faq_security_title, R.string.faq_security}, + {R.string.broken_images, R.string.broken_images_faq}, + {R.string.faq_shortcut, R.string.faq_howto_shortcut}, + {R.string.tap_mode, R.string.tap_faq2}, + {R.string.copying_log_entries, R.string.faq_copying}, + {R.string.tap_mode, R.string.tap_faq3}, + {R.string.faq_routing_title, R.string.faq_routing} + }; + private RecyclerView mRecyclerView; + @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View v= inflater.inflate(R.layout.faq, container, false); - - insertHtmlEntry(v, R.id.broken_images_faq,R.string.broken_images_faq); - insertHtmlEntry(v, R.id.faq_howto,R.string.faq_howto); - insertHtmlEntry(v, R.id.baterry_consumption, R.string.baterry_consumption); - insertHtmlEntry(v, R.id.faq_tethering, R.string.faq_tethering); - insertHtmlEntry(v, R.id.faq_vpndialog43, R.string.faq_vpndialog43); - insertHtmlEntry(v, R.id.faq_system_dialog_xposed, R.string.faq_system_dialog_xposed); - - /* I think the problem mentioned in there should not affect, 4.3+ */ - if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) { - v.findViewById(R.id.broken_images_faq).setVisibility(View.GONE); - v.findViewById(R.id.broken_images_faq_title).setVisibility(View.GONE); - } + + int dpwidth = (int) (container.getWidth()/getResources().getDisplayMetrics().density); + int columns = dpwidth/400; + columns = Math.max(1, columns); + + + mRecyclerView = (RecyclerView) v.findViewById(R.id.gridview); + + // use this setting to improve performance if you know that changes + // in content do not change the layout size of the RecyclerView + mRecyclerView.setHasFixedSize(true); + + + mRecyclerView.setLayoutManager(new StaggeredGridLayoutManager(columns, StaggeredGridLayoutManager.VERTICAL)); + + mRecyclerView.setAdapter(new FaqViewAdapter(getActivity(), getFAQEntries())); return v; } - private void insertHtmlEntry (View v, int viewId, int stringId) { - TextView faqItem = (TextView) v.findViewById(viewId); - faqItem.setText(Html.fromHtml(getActivity().getString(stringId))); - faqItem.setMovementMethod(LinkMovementMethod.getInstance()); + /* I think the problem mentioned in there should not affect, 4.3+ */ + private int[][] getFAQEntries() { + if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) { + int[][] newFaqItems = new int[faqitems.length - 1][2]; + int j=0; + for (int i = 0;i < faqitems.length;i++) { + if (faqitems[i][0] != R.string.broken_images) { + newFaqItems[j] = faqitems[i]; + j++; + } + } + return newFaqItems; - } + } else { + return faqitems; + } + } } |