Back to project page Icinga-Mobile.
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.
package mhst.dreamteam.UI; /*from ww w.j av a 2 s .c o m*/ import android.app.Activity; import android.app.AlertDialog; import android.app.Fragment; import android.content.Context; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ListView; import android.widget.Switch; import android.widget.TextView; import java.util.ArrayList; import java.util.Map; import mhst.dreamteam.IcingaClient.Icinga.IcingaApi; import mhst.dreamteam.IcingaClient.Icinga.IcingaApiConst; import mhst.dreamteam.IcingaClient.Icinga.IcingaConst; import mhst.dreamteam.IcingaClient.Icinga.IcingaUdt; import mhst.dreamteam.IcingaClient.Interface.OnCompleteListener; import mhst.dreamteam.IcingaClient.SessionMng.Session; import mhst.dreamteam.R; /** * Created by ltmp on 9/27/2014. */ public class ServiceDetailsFragment 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; private TextView tvTenService; private TextView tvServiceNextCheck; private TextView tvServiceStatus ; private TextView tvServiceStatusInformation ; private TextView tvServicePerformData ; private TextView tvServiceCurrentAttempt ; private TextView tvServiceLatency ; private TextView tvServiceNextActive ; private TextView tvServiceLastState ; private TextView tvServiceFlapping ; private TextView tvServiceDownTime ; private TextView tvServiceLastUpDate ; private Switch swServiceActiveCheck; private Switch swServicePassiveCheck ; private Switch swServiceNotification ; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_service_details, container, false); // doan khai bao cu 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); ((Activity) mContext).setTitle("Service Details"); // doan khai bao cu tvTenService = (TextView) view.findViewById(R.id.tvTenService); tvServiceNextCheck = (TextView) view.findViewById(R.id.tvServiceNextCheck); //tvStatus = (TextView) view.findViewById(R.id.tvStatus); tvServiceStatusInformation = (TextView) view.findViewById(R.id.tvServiceStatusInformation); tvServicePerformData = (TextView) view.findViewById(R.id.tvServicePerformData); tvServiceCurrentAttempt = (TextView) view.findViewById(R.id.tvServiceCurrentAttempt); tvServiceLatency = (TextView) view.findViewById(R.id.tvServiceLatency); tvServiceNextActive = (TextView) view.findViewById(R.id.tvServiceNextActive); tvServiceLastState = (TextView) view.findViewById(R.id.tvServiceLastState); tvServiceFlapping = (TextView) view.findViewById(R.id.tvServiceFlapping); tvServiceDownTime = (TextView) view.findViewById(R.id.tvServiceDownTime); tvServiceLastUpDate = (TextView) view.findViewById(R.id.tvServiceLastUpDate); swServiceActiveCheck= (Switch) view.findViewById(R.id.swServiceActiveCheck); swServicePassiveCheck = (Switch) view.findViewById(R.id.swServicePassiveCheck); swServiceNotification = (Switch) view.findViewById(R.id.swServiceNotification); // khai bao xong // Get argument Bundle arg = getArguments(); String request; if (arg != null) { if ((request = arg.getString("ServiceId", null)) != null) { mRequest = IcingaUdt.getTemplate(IcingaUdt.ICINGA_TEMPLATE_MAINACTIVITY_SERVICE, 0, -1, request); } } updateList(); return view; } @Override public void onResume() { super.onResume(); if (mDialog != null && mDialog.isShowing()) { mDialog.dismiss(); } 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) { if (!((ArrayList<Map<String, Object>>) obj).isEmpty()) { Map<String, Object> result = ((ArrayList<Map<String, Object>>) obj).get(0); String sStatus = ""; int nColor = Color.WHITE; // tvStatus.setText(stt); tvTenService.setText((String) result.get(IcingaConst.SERVICE_NAME)); switch (Integer.parseInt((String) result.get(IcingaConst.SERVICE_CURRENT_STATE))) { case IcingaApiConst.SERVICE_STATE_OK: nColor = Color.GREEN; sStatus = "OK"; break; case IcingaApiConst.SERVICE_STATE_WARNING: nColor = Color.GRAY; sStatus = "WARNING"; break; case IcingaApiConst.SERVICE_STATE_CRITICAL: nColor = Color.RED; sStatus = "CRITICAL"; break; } tvServiceStatusInformation.setTextColor(nColor); tvServiceStatusInformation.setText(sStatus); tvServiceCurrentAttempt.setText((String) result.get(IcingaConst.SERVICE_CURRENT_CHECK_ATTEMPT)); tvServiceLatency.setText((String) result.get(IcingaConst.SERVICE_LATENCY)); tvServiceNextActive.setText((String) result.get(IcingaConst.SERVICE_NEXT_CHECK)); tvServiceLastState.setText((String) result.get(IcingaConst.SERVICE_LAST_STATE_CHANGE)); tvServiceFlapping.setText((String) result.get(IcingaConst.SERVICE_IS_FLAPPING)); tvServiceDownTime.setText((String) result.get(IcingaConst.SERVICE_SCHEDULED_DOWNTIME_DEPTH)); tvServiceLastUpDate.setText((String) result.get(IcingaConst.SERVICE_STATUS_UPDATE_TIME)); tvServicePerformData.setText((String) result.get(IcingaConst.SERVICE_PERFDATA)); } } if (mProgress != null && mProgress.isShowing() && --numberOfProgress == 0) { mProgress.dismiss(); currentSs.isInProgress(false); } } }