package com.eolwral.osmonitor.ui; import android.os.Bundle; import android.support.v4.app.DialogFragment; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.AdapterView.OnItemSelectedListener; import android.widget.Button; import android.widget.Spinner; import com.eolwral.osmonitor.R; import com.eolwral.osmonitor.ipc.IpcService; import com.eolwral.osmonitor.ipc.ipcCategory; public class ProcessPriorityFragment extends DialogFragment { // ipc client private static IpcService ipcService = IpcService.getInstance(); // set pid public final static String TARGETPID = "TargetPID"; public final static String TARGETNAME = "TargetName"; public final static String DEFAULTPRIORITY = "DefaultPriority"; private int targetPID = 0; private String targetName = ""; private int defaultPriority = 0; private int targetPriority = 0; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // get pid targetPID = getArguments().getInt(TARGETPID); targetName = getArguments().getString(TARGETNAME); defaultPriority = getArguments().getInt(DEFAULTPRIORITY); } public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View v = inflater.inflate(R.layout.ui_process_priority, container, false); Button setButton = (Button) v.findViewById(R.id.id_process_priority_btn); setButton.setOnClickListener(new SetPriorityListener()); Spinner prioritySpinner = (Spinner) v.findViewById(R.id.id_process_priority); prioritySpinner.setOnItemSelectedListener(new SelectPriorityListener()); for (int index = 0; index < prioritySpinner.getCount(); index++) { if (Integer.parseInt(prioritySpinner.getItemAtPosition(index).toString()) == defaultPriority) { prioritySpinner.setSelection(index); break; } } getDialog().setTitle(targetName); return v; } private class SelectPriorityListener implements OnItemSelectedListener { @Override public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { targetPriority = Integer.parseInt(parent.getItemAtPosition(position) .toString()); } @Override public void onNothingSelected(AdapterView<?> arg0) { } } private class SetPriorityListener implements OnClickListener { @Override public void onClick(View v) { ipcService.sendCommand(ipcCategory.SETPRIORITY, targetPID, targetPriority); ProcessPriorityFragment.this.dismiss(); } } }