com.swisscom.safeconnect.fragment.PipeDialogFragment.java Source code

Java tutorial

Introduction

Here is the source code for com.swisscom.safeconnect.fragment.PipeDialogFragment.java

Source

/*
 Swisscom Safe Connect
 Copyright (C) 2014 Swisscom
    
 This program 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.
    
 This program 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 this program.  If not, see <http://www.gnu.org/licenses/>.
*/
package com.swisscom.safeconnect.fragment;

import android.app.Dialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.support.v4.app.DialogFragment;
import android.text.method.LinkMovementMethod;
import android.widget.ListAdapter;
import android.widget.TextView;

import com.swisscom.safeconnect.R;

public class PipeDialogFragment extends DialogFragment {
    private String title = "";
    private String msg = null;
    private DialogInterface.OnClickListener positiveListener = null;
    private DialogInterface.OnClickListener selectionListener = null;
    private ListAdapter listAdapter = null;
    private boolean cancelButton = false;

    public String getTagName() {
        return "PipeDialogFragment";
    }

    @Override
    public void onStart() {
        super.onStart();

        // clickable hyperlinks
        TextView tvMessage = (TextView) getDialog().findViewById(android.R.id.message);
        if (tvMessage != null) {
            tvMessage.setMovementMethod(LinkMovementMethod.getInstance());
        }
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public void setMessage(String msg) {
        this.msg = msg;
    }

    public void setOnPositiveClickListener(DialogInterface.OnClickListener listener) {
        positiveListener = listener;
    }

    public void setSelectionListener(DialogInterface.OnClickListener listener) {
        selectionListener = listener;
    }

    public void setCancelButton(boolean cancelButton) {
        this.cancelButton = cancelButton;
    }

    public void setListAdapter(ListAdapter listAdapter) {
        this.listAdapter = listAdapter;
    }

    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {
        super.onCreateDialog(savedInstanceState);

        CustomAlertDialogBuilder builder = new CustomAlertDialogBuilder(getActivity());
        builder.setTitle(title);

        if (msg != null) {
            builder.setMessage(msg);
        }

        if (listAdapter != null) {
            builder.setSingleChoiceItems(listAdapter, 0, selectionListener);
        }

        if (positiveListener != null) {
            builder.setPositiveButton(R.string.lab_btn_ok, positiveListener);
        }

        if (cancelButton) {
            builder.setNegativeButton(R.string.lab_btn_cancel, new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    dismiss();
                }
            });
        }

        return builder.createCustomAlertDialog();
    }
}