package org.theotech.ceaselessandroid.fragment; import android.app.Fragment; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.webkit.WebView; import android.webkit.WebViewClient; import com.google.android.gms.analytics.Tracker; import org.theotech.ceaselessandroid.CeaselessApplication; import org.theotech.ceaselessandroid.R; import org.theotech.ceaselessandroid.util.AnalyticsUtils; import butterknife.Bind; import butterknife.ButterKnife; public class AboutFragment extends Fragment { @Bind(R.id.helpWebView) WebView aboutWV; private FragmentStateListener mListener; private Tracker mTracker; public AboutFragment() { // Required empty public constructor } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setHasOptionsMenu(true); // notify fragment state try { mListener = (FragmentStateListener) getActivity(); } catch (ClassCastException e) { throw new ClassCastException(getActivity().toString() + " must implement FragmentStateListener"); } mListener.notify(new FragmentState(getString(R.string.nav_help))); CeaselessApplication application = (CeaselessApplication) getActivity().getApplication(); mTracker = application.getDefaultTracker(); } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // set title getActivity().setTitle(getString(R.string.nav_about)); // create view and bind View view = inflater.inflate(R.layout.fragment_help, container, false); ButterKnife.bind(this, view); aboutWV.getSettings().setJavaScriptEnabled(true); aboutWV.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView wv, String url) { if (url.startsWith("mailto:")) { Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); startActivity(intent); return true; } else { return false; } } }); aboutWV.loadUrl(getString(R.string.about_url)); return view; } @Override public void onResume() { super.onResume(); AnalyticsUtils.sendScreenViewHit(mTracker, "AboutScreen"); } }