package com.eolwral.osmonitor.ui; import java.text.DateFormat; import java.util.Calendar; import java.util.Locale; import com.eolwral.osmonitor.R; import com.eolwral.osmonitor.core.processInfo; import com.eolwral.osmonitor.util.ProcessUtil; import com.eolwral.osmonitor.util.UserInterfaceUtil; import android.app.Dialog; import android.content.Context; import android.os.Bundle; import android.os.Debug.MemoryInfo; import android.widget.TextView; public class MessageProcessFragment extends Dialog { private processInfo item = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.ui_process_item_detail); preapreProcessDetail(); } public MessageProcessFragment(Context context) { super(context); } public void setProcessData(processInfo item) { this.item = item; } private void preapreProcessDetail() { ProcessUtil infoHelper = ProcessUtil.getInstance(getContext(), true); TextView detailName = ((TextView) findViewById(R.id.id_process_detail_name)); TextView detailStatus = ((TextView) findViewById(R.id.id_process_detail_status)); TextView detailStime = ((TextView) findViewById(R.id.id_process_detail_stime)); TextView detailUtime = ((TextView) findViewById(R.id.id_process_detail_utime)); TextView detailCPUtime = ((TextView) findViewById(R.id.id_process_detail_cputime)); TextView detailMemory = ((TextView) findViewById(R.id.id_process_detail_memory)); TextView detailPPID = ((TextView) findViewById(R.id.id_process_detail_ppid)); TextView detailUser = ((TextView) findViewById(R.id.id_process_detail_user)); TextView detailStarttime = ((TextView) findViewById(R.id.id_process_detail_starttime)); TextView detailThread = ((TextView) findViewById(R.id.id_process_detail_thread)); TextView detailNice = ((TextView) findViewById(R.id.id_process_detail_nice)); detailName.setText(item.name()); detailStime.setText(String.format("%,d", item.usedSystemTime())); detailUtime.setText(String.format("%,d", item.usedUserTime())); detailCPUtime.setText(String.format("%02d:%02d", item.cpuTime() / 60, item.cpuTime() % 60)); detailThread.setText(String.format("%d", item.threadCount())); detailNice.setText(String.format("%d", item.priorityLevel())); // get memory information MemoryInfo memInfo = infoHelper.getMemoryInfo(item.pid()); String memoryData = UserInterfaceUtil.convertToSize((item.rss() * 1024), true) + " / " + UserInterfaceUtil.convertToSize(memInfo.getTotalPss() * 1024, true) + " / " + UserInterfaceUtil.convertToSize(memInfo.getTotalPrivateDirty() * 1024, true); detailMemory.setText(memoryData); detailPPID.setText("" + item.ppid()); // convert time format final Calendar calendar = Calendar.getInstance(); final DateFormat convertTool = DateFormat.getDateTimeInstance( DateFormat.LONG, DateFormat.MEDIUM, Locale.getDefault()); calendar.setTimeInMillis(item.startTime() * 1000); detailStarttime.setText(convertTool.format(calendar.getTime())); detailUser.setText(item.owner()); // convert status detailStatus.setText(UserInterfaceUtil.getSatusString(item.status())); } }