summaryrefslogtreecommitdiff
path: root/main/src/main/java/de/blinkt/openvpn/fragments/FaqFragment.java
diff options
context:
space:
mode:
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.java75
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;
+ }
+ }
}