cheng.app.cnbeta.AboutFragment.java Source code

Java tutorial

Introduction

Here is the source code for cheng.app.cnbeta.AboutFragment.java

Source

package cheng.app.cnbeta;

import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.content.Intent;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException;
import android.net.Uri;
import android.os.Bundle;
import android.support.v4.app.DialogFragment;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.LinearLayout;
import android.widget.TextView;
import cheng.app.cnbeta.util.HelpUtils;

public class AboutFragment extends DialogFragment {
    private static final String VERSION_NA = "N/A";

    public AboutFragment() {
    }

    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {
        PackageManager pm = getActivity().getPackageManager();
        String packageName = getActivity().getPackageName();
        String versionName;
        try {
            PackageInfo info = pm.getPackageInfo(packageName, 0);
            versionName = info.versionName;
        } catch (NameNotFoundException e) {
            versionName = VERSION_NA;
        }

        LayoutInflater layoutInflater = LayoutInflater.from(getActivity());
        View v = layoutInflater.inflate(R.layout.dialog_about, null);
        TextView versionText = (TextView) v.findViewById(R.id.dialog_about_version);
        LinearLayout author = (LinearLayout) v.findViewById(R.id.author);
        versionText.setText(versionName);
        author.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                Intent i = new Intent(Intent.ACTION_VIEW,
                        Uri.parse("https://plus.google.com/u/0/114474183775310756510"));
                startActivity(i);
            }
        });
        TextView github = (TextView) v.findViewById(R.id.github);
        github.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse("https://github.com/cr1944/CBReader2"));
                startActivity(i);
            }
        });
        TextView opensource = (TextView) v.findViewById(R.id.opensource);
        opensource.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                HelpUtils.showOpenSourceLicenses(getActivity());
            }
        });

        return new AlertDialog.Builder(getActivity()).setView(v)
                .setPositiveButton(android.R.string.cancel, new OnClickListener() {

                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        dialog.dismiss();

                    }
                }).create();
    }
}