Android Open Source - Icinga-Mobile Servicelist Fragment






From Project

Back to project page Icinga-Mobile.

License

The source code is released under:

GNU General Public License

If you think the Android project Icinga-Mobile listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package mhst.dreamteam.UI;
/*  ww  w  . j  a v a 2  s.c  o  m*/
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Fragment;
import android.app.FragmentTransaction;
import android.content.Context;
import android.content.DialogInterface;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ListView;

import java.util.ArrayList;
import java.util.Map;

import mhst.dreamteam.IcingaClient.Icinga.IcingaApi;
import mhst.dreamteam.IcingaClient.Icinga.IcingaConst;
import mhst.dreamteam.IcingaClient.Icinga.IcingaUdt;
import mhst.dreamteam.IcingaClient.Interface.OnCompleteListener;
import mhst.dreamteam.R;
import mhst.dreamteam.IcingaClient.SessionMng.Session;

/**
 * Display list of services
 *
 * @author MinhNN
 */
public class ServicelistFragment extends Fragment implements OnCompleteListener {
    private Context mContext;
    private Session currentSs;
    private ProgressDialog mProgress;
    private int numberOfProgress;

    private ArrayList<Map<String, Object>> mService;
    private ServicelistAdapter mListServiceAdapter;
    private String mRequest;
    private AlertDialog mDialog;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment_servicelist, container, false);

        mContext = inflater.getContext();
        currentSs = Session.getInstance();
        numberOfProgress = 0;
        mProgress = new ProgressDialog(mContext);
        mProgress.setCancelable(false);
        mProgress.setMessage(mContext.getResources().getString(R.string.message_loading_data) + "...");

        mService = new ArrayList<Map<String, Object>>();
        ListView listService = (ListView) view.findViewById(R.id.lvListService);
        mListServiceAdapter = new ServicelistAdapter(inflater, mService);
        listService.setAdapter(mListServiceAdapter);
        listService.setOnItemClickListener(new ListView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                Bundle b = new Bundle();
                b.putString("ServiceId", (String) mService.get(position).get(IcingaConst.SERVICE_OBJECT_ID));
                FragmentTransaction trans = getFragmentManager().beginTransaction();
                Fragment frag = new ServiceDetailsFragment();
                frag.setArguments(b);
                trans.replace(R.id.main_content, frag);
                trans.commit();
            }
        });

        ((Activity) mContext).setTitle(mContext.getResources().getString(R.string.title_fragment_service));

        // Get argument
        Bundle arg = getArguments();
        String request;
        if (arg != null) {
            request = arg.getString("Request", null);
            mRequest = ((request == null) ? IcingaUdt.getTemplate(IcingaUdt.ICINGA_TEMPLATE_MAINACTIVITY_SERVICE, 0, -1, null)
                    : request);
        } else {
            mRequest = IcingaUdt.getTemplate(IcingaUdt.ICINGA_TEMPLATE_MAINACTIVITY_SERVICE, 0, -1, null);
        }

        updateList();
        return view;
    }

    @Override
    public void onResume() {
        super.onResume();
        if (mDialog != null && mDialog.isShowing()) {
            mDialog.dismiss();
        }
        ((Activity) mContext).setTitle(mContext.getResources().getString(R.string.title_fragment_service));
        updateList();
    }

    public void updateList() {
        if (!currentSs.isInProgress() && !mProgress.isShowing()) {
            currentSs.isInProgress(true);
            mProgress.show();
        }
        numberOfProgress = 1;
        IcingaApi.get(this, mRequest);
    }

    @Override
    @SuppressWarnings("unchecked")
    public void onComplete(Object obj, String sender) {
        if (obj != null) {
            mService.clear();
            mService.addAll((ArrayList<Map<String, Object>>) obj);
            mListServiceAdapter.notifyDataSetChanged();
        } else {
            if (mDialog == null) {
                AlertDialog.Builder builder = new AlertDialog.Builder(mContext);
                mDialog = builder.setIcon(android.R.drawable.ic_dialog_alert)
                        .setTitle("Oops")
                        .setMessage(getResources().getString(R.string.error_icinga_fail))
                        .setPositiveButton(getResources().getString(R.string.action_tryagain),
                                new DialogInterface.OnClickListener() {
                                    @Override
                                    public void onClick(DialogInterface dialog, int which) {
                                        updateList();
                                    }
                                })
                        .setNegativeButton(getResources().getString(R.string.action_cancel),
                                new DialogInterface.OnClickListener() {
                                    @Override
                                    public void onClick(DialogInterface dialog, int which) {
                                        // Do nothing
                                    }
                                })
                        .create();
            }

            if (!mDialog.isShowing()) {
                mDialog.show();
            }
        }
        if (mProgress != null && mProgress.isShowing() && --numberOfProgress == 0) {
            mProgress.dismiss();
            currentSs.isInProgress(false);
        }
    }
}




Java Source Code List

mhst.dreamteam.ApplicationContext.java
mhst.dreamteam.ApplicationTest.java
mhst.dreamteam.ApplicationTest.java
mhst.dreamteam.MainActivity.java
mhst.dreamteam.IcingaClient.GlobalConfig.java
mhst.dreamteam.IcingaClient.GlobalConst.java
mhst.dreamteam.IcingaClient.Controller.NetControllerTest.java
mhst.dreamteam.IcingaClient.Controller.NetController.java
mhst.dreamteam.IcingaClient.Icinga.IcingaApiConst.java
mhst.dreamteam.IcingaClient.Icinga.IcingaApi.java
mhst.dreamteam.IcingaClient.Icinga.IcingaConst.java
mhst.dreamteam.IcingaClient.Icinga.IcingaExecutor.java
mhst.dreamteam.IcingaClient.Icinga.IcingaParam.java
mhst.dreamteam.IcingaClient.Icinga.IcingaUdt.java
mhst.dreamteam.IcingaClient.Icinga.package-info.java
mhst.dreamteam.IcingaClient.Interface.OnCompleteListener.java
mhst.dreamteam.IcingaClient.Interface.OnPieChartClickListener.java
mhst.dreamteam.IcingaClient.Json.JsonHelperTest.java
mhst.dreamteam.IcingaClient.Json.JsonHelper.java
mhst.dreamteam.IcingaClient.Misc.CookieMng.java
mhst.dreamteam.IcingaClient.Misc.CookieTest.java
mhst.dreamteam.IcingaClient.SessionMng.LogInTest.java
mhst.dreamteam.IcingaClient.SessionMng.Login.java
mhst.dreamteam.IcingaClient.SessionMng.Logout.java
mhst.dreamteam.IcingaClient.SessionMng.Session.java
mhst.dreamteam.IcingaService.ApplicationContext.java
mhst.dreamteam.IcingaService.DataUpdater.java
mhst.dreamteam.IcingaService.MessageReveicer.java
mhst.dreamteam.IcingaService.NotiBuilder.java
mhst.dreamteam.IcingaService.SQLHelper.java
mhst.dreamteam.IcingaService.SessionProvider.java
mhst.dreamteam.UI.Color.java
mhst.dreamteam.UI.GradientLine.java
mhst.dreamteam.UI.HostDetailsFragment.java
mhst.dreamteam.UI.HostlistAdapter.java
mhst.dreamteam.UI.HostlistFragment.java
mhst.dreamteam.UI.LoginActivity.java
mhst.dreamteam.UI.OverviewFragment.java
mhst.dreamteam.UI.PieGraph.java
mhst.dreamteam.UI.ProgressDialog.java
mhst.dreamteam.UI.ServiceDetailsFragment.java
mhst.dreamteam.UI.ServicelistAdapter.java
mhst.dreamteam.UI.ServicelistFragment.java
org.json.CDL.java
org.json.CookieList.java
org.json.Cookie.java
org.json.HTTPTokener.java
org.json.HTTP.java
org.json.JSONArray.java
org.json.JSONException.java
org.json.JSONML.java
org.json.JSONObject.java
org.json.JSONString.java
org.json.JSONStringer.java
org.json.JSONTokener.java
org.json.JSONWriter.java
org.json.Kim.java
org.json.Property.java
org.json.XMLTokener.java
org.json.XML.java
org.json.zip.BitInputStream.java
org.json.zip.BitOutputStream.java
org.json.zip.BitReader.java
org.json.zip.BitWriter.java
org.json.zip.Huff.java
org.json.zip.JSONzip.java
org.json.zip.Keep.java
org.json.zip.None.java
org.json.zip.PostMortem.java
org.json.zip.Unzipper.java
org.json.zip.Zipper.java