com.abcvoipsip.ui.help.Faq.java Source code

Java tutorial

Introduction

Here is the source code for com.abcvoipsip.ui.help.Faq.java

Source

/**
 * Copyright (C) 2010-2012 Regis Montoya (aka r3gis - www.r3gis.fr)
 * This file is part of CSipSimple.
 *
 *  CSipSimple is free software: you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation, either version 3 of the License, or
 *  (at your option) any later version.
 *  If you own a pjsip commercial license you can also redistribute it
 *  and/or modify it under the terms of the GNU Lesser General Public License
 *  as an android library.
 *
 *  CSipSimple is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License
 *  along with CSipSimple.  If not, see <http://www.gnu.org/licenses/>.
 */

package com.abcvoipsip.ui.help;

import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.support.v4.app.DialogFragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.LinearLayout;

import com.abcvoipsip.R;
import com.abcvoipsip.utils.CustomDistribution;

public class Faq extends DialogFragment {
    private final static String FAQ_URL = CustomDistribution.getFaqLink();

    public static Faq newInstance() {
        return new Faq();
    }

    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {

        return new AlertDialog.Builder(getActivity()).setIcon(android.R.drawable.ic_menu_info_details)
                .setTitle(R.string.faq).setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int whichButton) {
                        dismiss();
                    }
                }).setView(getCustomView(getActivity().getLayoutInflater(), null, savedInstanceState)).create();
    }

    public View getCustomView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View v = inflater.inflate(R.layout.faq, container, false);
        WebView webView = (WebView) v.findViewById(R.id.webview);
        webView.getSettings().setJavaScriptEnabled(true);
        webView.setWebViewClient(new FaqWebViewClient(v));
        webView.loadUrl(FAQ_URL);
        return v;
    }

    private class FaqWebViewClient extends WebViewClient {
        private View parentView;

        public FaqWebViewClient(View v) {
            parentView = v;
        }

        @Override
        public void onPageFinished(final WebView view, String url) {
            super.onPageFinished(view, url);
            LinearLayout indicator = (LinearLayout) parentView.findViewById(R.id.loading_indicator);
            indicator.setVisibility(View.GONE);
            // Googlecode collapse side bar
            //view.loadUrl("javascript:$('wikisidebar').setAttribute('class', 'vt collapse');");
        }

    }
}