提交 f225bdf3 编写于 作者: A andrewleo

Added: #13 保留应用的选中状态

上级 21337431
...@@ -60,8 +60,7 @@ import com.netease.qa.emmagee.R; ...@@ -60,8 +60,7 @@ import com.netease.qa.emmagee.R;
*/ */
public class MainPageActivity extends Activity { public class MainPageActivity extends Activity {
private static final String LOG_TAG = "Emmagee-" private static final String LOG_TAG = "Emmagee-" + MainPageActivity.class.getSimpleName();
+ MainPageActivity.class.getSimpleName();
private static final int TIMEOUT = 20000; private static final int TIMEOUT = 20000;
...@@ -89,18 +88,15 @@ public class MainPageActivity extends Activity { ...@@ -89,18 +88,15 @@ public class MainPageActivity extends Activity {
@Override @Override
public void onClick(View v) { public void onClick(View v) {
monitorService = new Intent(); monitorService = new Intent();
monitorService.setClass(MainPageActivity.this, monitorService.setClass(MainPageActivity.this, EmmageeService.class);
EmmageeService.class);
if ("开始测试".equals(btnTest.getText().toString())) { if ("开始测试".equals(btnTest.getText().toString())) {
if (isRadioChecked) { if (isRadioChecked) {
Intent intent = getPackageManager() Intent intent = getPackageManager().getLaunchIntentForPackage(packageName);
.getLaunchIntentForPackage(packageName);
Log.d(LOG_TAG, packageName); Log.d(LOG_TAG, packageName);
try { try {
startActivity(intent); startActivity(intent);
} catch (NullPointerException e) { } catch (NullPointerException e) {
Toast.makeText(MainPageActivity.this, "该程序无法启动", Toast.makeText(MainPageActivity.this, "该程序无法启动", Toast.LENGTH_LONG).show();
Toast.LENGTH_LONG).show();
return; return;
} }
waitForAppStart(packageName); waitForAppStart(packageName);
...@@ -108,23 +104,20 @@ public class MainPageActivity extends Activity { ...@@ -108,23 +104,20 @@ public class MainPageActivity extends Activity {
monitorService.putExtra("pid", pid); monitorService.putExtra("pid", pid);
monitorService.putExtra("uid", uid); monitorService.putExtra("uid", uid);
monitorService.putExtra("packageName", packageName); monitorService.putExtra("packageName", packageName);
monitorService.putExtra("settingTempFile", monitorService.putExtra("settingTempFile", settingTempFile);
settingTempFile);
startService(monitorService); startService(monitorService);
btnTest.setText("停止测试"); btnTest.setText("停止测试");
} else { } else {
Toast.makeText(MainPageActivity.this, "请选择需要测试的应用程序", Toast.makeText(MainPageActivity.this, "请选择需要测试的应用程序", Toast.LENGTH_LONG).show();
Toast.LENGTH_LONG).show();
} }
} else { } else {
btnTest.setText("开始测试"); btnTest.setText("开始测试");
Toast.makeText(MainPageActivity.this, Toast.makeText(MainPageActivity.this, "测试结果文件:" + EmmageeService.resultFilePath, Toast.LENGTH_LONG).show();
"测试结果文件:" + EmmageeService.resultFilePath,
Toast.LENGTH_LONG).show();
stopService(monitorService); stopService(monitorService);
} }
} }
}); });
lstViProgramme.setAdapter(new ListAdapter());
} }
/** /**
...@@ -160,7 +153,6 @@ public class MainPageActivity extends Activity { ...@@ -160,7 +153,6 @@ public class MainPageActivity extends Activity {
if (EmmageeService.isStop) { if (EmmageeService.isStop) {
btnTest.setText("开始测试"); btnTest.setText("开始测试");
} }
lstViProgramme.setAdapter(new ListAdapter());
} }
/** /**
...@@ -168,8 +160,7 @@ public class MainPageActivity extends Activity { ...@@ -168,8 +160,7 @@ public class MainPageActivity extends Activity {
*/ */
private void createNewFile() { private void createNewFile() {
Log.i(LOG_TAG, "create new file to save setting data"); Log.i(LOG_TAG, "create new file to save setting data");
settingTempFile = getBaseContext().getFilesDir().getPath() settingTempFile = getBaseContext().getFilesDir().getPath() + "\\EmmageeSettings.properties";
+ "\\EmmageeSettings.properties";
Log.i(LOG_TAG, "settingFile = " + settingTempFile); Log.i(LOG_TAG, "settingFile = " + settingTempFile);
File settingFile = new File(settingTempFile); File settingFile = new File(settingTempFile);
if (!settingFile.exists()) { if (!settingFile.exists()) {
...@@ -204,8 +195,7 @@ public class MainPageActivity extends Activity { ...@@ -204,8 +195,7 @@ public class MainPageActivity extends Activity {
while (System.currentTimeMillis() < startTime + TIMEOUT) { while (System.currentTimeMillis() < startTime + TIMEOUT) {
processList = processInfo.getRunningProcess(getBaseContext()); processList = processInfo.getRunningProcess(getBaseContext());
for (Programe programe : processList) { for (Programe programe : processList) {
if ((programe.getPackageName() != null) if ((programe.getPackageName() != null) && (programe.getPackageName().equals(packageName))) {
&& (programe.getPackageName().equals(packageName))) {
pid = programe.getPid(); pid = programe.getPid();
Log.d(LOG_TAG, "pid:" + pid); Log.d(LOG_TAG, "pid:" + pid);
uid = programe.getUid(); uid = programe.getUid();
...@@ -241,10 +231,8 @@ public class MainPageActivity extends Activity { ...@@ -241,10 +231,8 @@ public class MainPageActivity extends Activity {
* @return true * @return true
*/ */
public boolean onCreateOptionsMenu(Menu menu) { public boolean onCreateOptionsMenu(Menu menu) {
menu.add(0, Menu.FIRST, 0, "退出").setIcon( menu.add(0, Menu.FIRST, 0, "退出").setIcon(android.R.drawable.ic_menu_delete);
android.R.drawable.ic_menu_delete); menu.add(0, Menu.FIRST, 1, "设置").setIcon(android.R.drawable.ic_menu_directions);
menu.add(0, Menu.FIRST, 1, "设置").setIcon(
android.R.drawable.ic_menu_directions);
return true; return true;
} }
...@@ -278,24 +266,19 @@ public class MainPageActivity extends Activity { ...@@ -278,24 +266,19 @@ public class MainPageActivity extends Activity {
protected Dialog onCreateDialog(int id) { protected Dialog onCreateDialog(int id) {
switch (id) { switch (id) {
case 0: case 0:
return new AlertDialog.Builder(this) return new AlertDialog.Builder(this).setTitle("确定退出程序?").setPositiveButton("确定", new android.content.DialogInterface.OnClickListener() {
.setTitle("确定退出程序?") @Override
.setPositiveButton( public void onClick(DialogInterface dialog, int which) {
"确定", if (monitorService != null) {
new android.content.DialogInterface.OnClickListener() { Log.d(LOG_TAG, "stop service");
@Override stopService(monitorService);
public void onClick(DialogInterface dialog, }
int which) { Log.d(LOG_TAG, "exit Emmagee");
if (monitorService != null) { EmmageeService.closeOpenedStream();
Log.d(LOG_TAG, "stop service"); finish();
stopService(monitorService); System.exit(0);
} }
Log.d(LOG_TAG, "exit Emmagee"); }).setNegativeButton("取消", null).create();
EmmageeService.closeOpenedStream();
finish();
System.exit(0);
}
}).setNegativeButton("取消", null).create();
default: default:
return null; return null;
} }
...@@ -344,37 +327,30 @@ public class MainPageActivity extends Activity { ...@@ -344,37 +327,30 @@ public class MainPageActivity extends Activity {
public View getView(int position, View convertView, ViewGroup parent) { public View getView(int position, View convertView, ViewGroup parent) {
Viewholder holder = new Viewholder(); Viewholder holder = new Viewholder();
final int i = position; final int i = position;
convertView = MainPageActivity.this.getLayoutInflater().inflate( convertView = MainPageActivity.this.getLayoutInflater().inflate(R.layout.list_item, null);
R.layout.list_item, null); holder.imgViAppIcon = (ImageView) convertView.findViewById(R.id.image);
holder.imgViAppIcon = (ImageView) convertView
.findViewById(R.id.image);
holder.txtAppName = (TextView) convertView.findViewById(R.id.text); holder.txtAppName = (TextView) convertView.findViewById(R.id.text);
holder.rdoBtnApp = (RadioButton) convertView.findViewById(R.id.rb); holder.rdoBtnApp = (RadioButton) convertView.findViewById(R.id.rb);
holder.rdoBtnApp.setId(position); holder.rdoBtnApp.setId(position);
holder.rdoBtnApp holder.rdoBtnApp.setOnCheckedChangeListener(new OnCheckedChangeListener() {
.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override
@Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
public void onCheckedChanged(CompoundButton buttonView, if (isChecked) {
boolean isChecked) { isRadioChecked = true;
if (isChecked) { // Radio function
isRadioChecked = true; if (tempPosition != -1) {
// Radio function RadioButton tempButton = (RadioButton) findViewById(tempPosition);
if (tempPosition != -1) { if ((tempButton != null) && (tempPosition != i)) {
RadioButton tempButton = (RadioButton) findViewById(tempPosition); tempButton.setChecked(false);
if ((tempButton != null)
&& (tempPosition != i)) {
tempButton.setChecked(false);
}
}
tempPosition = buttonView.getId();
packageName = programe.get(tempPosition)
.getPackageName();
processName = programe.get(tempPosition)
.getProcessName();
} }
} }
});
tempPosition = buttonView.getId();
packageName = programe.get(tempPosition).getPackageName();
processName = programe.get(tempPosition).getProcessName();
}
}
});
if (tempPosition == position) { if (tempPosition == position) {
if (!holder.rdoBtnApp.isChecked()) if (!holder.rdoBtnApp.isChecked())
holder.rdoBtnApp.setChecked(true); holder.rdoBtnApp.setChecked(true);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册