diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 330a7c98b16e162a3d975886153952162d7e02af..22b765709a80b6367d29ac7bcfbd68bdb0f0c892 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -1,46 +1,45 @@
-
-
+
+
+ android:icon="@drawable/icon"
+ android:label="@string/app_name"
+ android:theme="@android:style/Theme.NoTitleBar">
+ android:name=".activity.MainPageActivity"
+ android:configChanges="orientation|keyboardHidden"
+ android:launchMode="singleInstance"
+ android:screenOrientation="portrait">
-
-
-
+
+
-
-
-
-
-
-
+
+
+
+
+
-
-
+
-
+
-
+
-
-
+
+
\ No newline at end of file
diff --git a/res/drawable-hdpi/bottom_bg.png b/res/drawable-hdpi/bottom_bg.png
new file mode 100644
index 0000000000000000000000000000000000000000..fa426fe7719bf9d06df67a58265b5ea96712ec12
Binary files /dev/null and b/res/drawable-hdpi/bottom_bg.png differ
diff --git a/res/drawable-hdpi/btn_test.png b/res/drawable-hdpi/btn_test.png
new file mode 100644
index 0000000000000000000000000000000000000000..e497a64755763f105d171e50af6dce5361d6b8f3
Binary files /dev/null and b/res/drawable-hdpi/btn_test.png differ
diff --git a/res/drawable-hdpi/btn_test_press.png b/res/drawable-hdpi/btn_test_press.png
new file mode 100644
index 0000000000000000000000000000000000000000..f87e0db699b378cab6f920a2aa48e985cfd4e52f
Binary files /dev/null and b/res/drawable-hdpi/btn_test_press.png differ
diff --git a/res/drawable-hdpi/settings.png b/res/drawable-hdpi/settings.png
new file mode 100644
index 0000000000000000000000000000000000000000..8adebf527f79d1b5d0aa8a76ad818bbdd15d5e59
Binary files /dev/null and b/res/drawable-hdpi/settings.png differ
diff --git a/res/drawable-hdpi/settings_pressed.png b/res/drawable-hdpi/settings_pressed.png
new file mode 100644
index 0000000000000000000000000000000000000000..6dc91fea1dc45ccf483d66a286923cb12c4b957e
Binary files /dev/null and b/res/drawable-hdpi/settings_pressed.png differ
diff --git a/res/drawable/settings_button.xml b/res/drawable/settings_button.xml
new file mode 100644
index 0000000000000000000000000000000000000000..a7bf01a676d728630fc4299859406e12d4fc06c1
--- /dev/null
+++ b/res/drawable/settings_button.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
diff --git a/res/drawable/test_button.xml b/res/drawable/test_button.xml
new file mode 100644
index 0000000000000000000000000000000000000000..36582e6b51f81188299b90c322580ccadb7ddb3e
--- /dev/null
+++ b/res/drawable/test_button.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
diff --git a/res/layout/list_item.xml b/res/layout/list_item.xml
index 9457e7e35442f6ad4ab368fd6f7cdc3d229eb42e..588331302f9bb8cfba9d72b8cbf0afdfef9b2e66 100644
--- a/res/layout/list_item.xml
+++ b/res/layout/list_item.xml
@@ -11,14 +11,21 @@
+ android:layout_marginRight="10dp"
+ android:layout_marginLeft="10dp" />
+ android:layout_height="wrap_content"
+ android:textSize="18sp"
+ android:textColor="#5B5B5B"
+ android:gravity="center_vertical"/>
\ No newline at end of file
diff --git a/res/layout/mainpage.xml b/res/layout/mainpage.xml
index c9e3a87dd03b879951e68ecc87e5ea1a36636205..343561f6d3bd530832433f1557383c47396dbd75 100644
--- a/res/layout/mainpage.xml
+++ b/res/layout/mainpage.xml
@@ -1,30 +1,45 @@
+ android:layout_width="fill_parent"
+ android:layout_height="fill_parent"
+ android:gravity="bottom|center_horizontal|center_vertical"
+ android:background="@color/light_purple"
+ android:orientation="vertical">
-
+
+
+
+
+ android:layout_width="fill_parent"
+ android:layout_height="80dp"
+ android:background="@drawable/bottom_bg" >
+ android:id="@+id/test"
+ android:layout_width="fill_parent"
+ android:layout_height="fill_parent"
+ android:layout_marginTop="15dp"
+ android:layout_marginBottom="15dp"
+ android:layout_marginLeft="20dp"
+ android:layout_marginRight="20dp"
+ android:background="@drawable/test_button"
+ android:text="@string/start_test"
+ android:textColor="#ffffff"
+ android:textSize="16sp" />
\ No newline at end of file
diff --git a/res/layout/navigation_bar.xml b/res/layout/navigation_bar.xml
index f39430ac52e9653c0d8e874ad9178a4606659dac..2aa4f72ed981d950107428e14015e630ca680113 100644
--- a/res/layout/navigation_bar.xml
+++ b/res/layout/navigation_bar.xml
@@ -9,9 +9,10 @@
+ android:src="@drawable/btn_back"
+ android:clickable="true" />
+ android:src="@drawable/btn_save"
+ android:layout_height="wrap_content"
+ android:clickable="true" />
\ No newline at end of file
diff --git a/src/com/netease/qa/emmagee/activity/MainPageActivity.java b/src/com/netease/qa/emmagee/activity/MainPageActivity.java
index edfe2f0c499598983f65749ae67bbb8815d0bb90..fe86354ff559e1337e89b2b27d6b382d729fb66d 100644
--- a/src/com/netease/qa/emmagee/activity/MainPageActivity.java
+++ b/src/com/netease/qa/emmagee/activity/MainPageActivity.java
@@ -39,9 +39,7 @@ import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.view.Window;
-import android.widget.BaseAdapter;
-import android.widget.Button;
-import android.widget.CompoundButton;
+import android.widget.*;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.ImageView;
import android.widget.ListView;
@@ -76,61 +74,90 @@ public class MainPageActivity extends Activity {
private boolean isServiceStop = false;
private UpdateReceiver receiver;
+ private TextView nb_title;
+ private ImageView go_back;
+ private ImageView btn_set;
+
@Override
public void onCreate(Bundle savedInstanceState) {
Log.i(LOG_TAG, "MainActivity::onCreate");
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.mainpage);
+ initTitleLayout();
createNewFile();
+
processInfo = new ProcessInfo();
- lstViProgramme = (ListView) findViewById(R.id.processList);
- btnTest = (Button) findViewById(R.id.test);
btnTest.setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(View v) {
- monitorService = new Intent();
- monitorService.setClass(MainPageActivity.this, EmmageeService.class);
- if (getString(R.string.start_test).equals(btnTest.getText().toString())) {
- if (isRadioChecked) {
- Intent intent = getPackageManager().getLaunchIntentForPackage(packageName);
- String startActivity = "";
- Log.d(LOG_TAG, packageName);
- //clear logcat
- try {
- Runtime.getRuntime().exec("logcat -c");
- } catch (IOException e) {
- Log.d(LOG_TAG, e.getMessage());
- }
- try {
- startActivity = intent.resolveActivity(getPackageManager()).getShortClassName();
- startActivity(intent);
- } catch (Exception e) {
- Toast.makeText(MainPageActivity.this, getString(R.string.can_not_start_app_toast), Toast.LENGTH_LONG).show();
- return;
- }
- waitForAppStart(packageName);
- monitorService.putExtra("processName", processName);
- monitorService.putExtra("pid", pid);
- monitorService.putExtra("uid", uid);
- monitorService.putExtra("packageName", packageName);
- monitorService.putExtra("settingTempFile", settingTempFile);
- monitorService.putExtra("startActivity", startActivity);
- startService(monitorService);
- btnTest.setText(getString(R.string.stop_test));
- } else {
- Toast.makeText(MainPageActivity.this, getString(R.string.choose_app_toast), Toast.LENGTH_LONG).show();
- }
- } else {
- btnTest.setText(getString(R.string.start_test));
- Toast.makeText(MainPageActivity.this, getString(R.string.test_result_file_toast) + EmmageeService.resultFilePath, Toast.LENGTH_LONG).show();
- stopService(monitorService);
- }
- }
- });
+ @Override
+ public void onClick(View v) {
+ monitorService = new Intent();
+ monitorService.setClass(MainPageActivity.this, EmmageeService.class);
+ if (getString(R.string.start_test).equals(btnTest.getText().toString())) {
+ if (isRadioChecked) {
+ Intent intent = getPackageManager().getLaunchIntentForPackage(packageName);
+ String startActivity = "";
+ Log.d(LOG_TAG, packageName);
+ //clear logcat
+ try {
+ Runtime.getRuntime().exec("logcat -c");
+ } catch (IOException e) {
+ Log.d(LOG_TAG, e.getMessage());
+ }
+ try {
+ startActivity = intent.resolveActivity(getPackageManager()).getShortClassName();
+ startActivity(intent);
+ } catch (Exception e) {
+ Toast.makeText(MainPageActivity.this, getString(R.string.can_not_start_app_toast), Toast.LENGTH_LONG).show();
+ return;
+ }
+ waitForAppStart(packageName);
+ monitorService.putExtra("processName", processName);
+ monitorService.putExtra("pid", pid);
+ monitorService.putExtra("uid", uid);
+ monitorService.putExtra("packageName", packageName);
+ monitorService.putExtra("settingTempFile", settingTempFile);
+ monitorService.putExtra("startActivity", startActivity);
+ startService(monitorService);
+ btnTest.setText(getString(R.string.stop_test));
+ } else {
+ Toast.makeText(MainPageActivity.this, getString(R.string.choose_app_toast), Toast.LENGTH_LONG).show();
+ }
+ } else {
+ btnTest.setText(getString(R.string.start_test));
+ Toast.makeText(MainPageActivity.this, getString(R.string.test_result_file_toast) + EmmageeService.resultFilePath, Toast.LENGTH_LONG).show();
+ stopService(monitorService);
+ }
+ }
+ });
lstViProgramme.setAdapter(new ListAdapter());
+ lstViProgramme.setOnItemClickListener(new AdapterView.OnItemClickListener() {
+ @Override
+ public void onItemClick(AdapterView> adapterView, View view, int i, long l) {
+ RadioButton rdBtn = (RadioButton)((LinearLayout)view).getChildAt(0);
+ rdBtn.setChecked(true);
+ }
+ });
+
+ nb_title.setText(getString(R.string.app_name));
+ go_back.setVisibility(ImageView.INVISIBLE);
+ btn_set.setImageResource(R.drawable.settings_button);
+ btn_set.setOnClickListener(new OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ goToSettingsActivity();
+ }
+ });
}
+ private void initTitleLayout() {
+ go_back = (ImageView) findViewById(R.id.go_back);
+ nb_title = (TextView) findViewById(R.id.nb_title);
+ btn_set = (ImageView) findViewById(R.id.btn_set);
+ lstViProgramme = (ListView) findViewById(R.id.processList);
+ btnTest = (Button) findViewById(R.id.test);
+ }
+
/**
* customized BroadcastReceiver
*
@@ -258,10 +285,7 @@ public class MainPageActivity extends Activity {
showDialog(0);
break;
case 1:
- Intent intent = new Intent();
- intent.setClass(MainPageActivity.this, SettingsActivity.class);
- intent.putExtra("settingTempFile", settingTempFile);
- startActivityForResult(intent, Activity.RESULT_FIRST_USER);
+ goToSettingsActivity();
break;
default:
break;
@@ -269,6 +293,13 @@ public class MainPageActivity extends Activity {
return false;
}
+ private void goToSettingsActivity() {
+ Intent intent = new Intent();
+ intent.setClass(MainPageActivity.this, SettingsActivity.class);
+ intent.putExtra("settingTempFile", settingTempFile);
+ startActivityForResult(intent, Activity.RESULT_FIRST_USER);
+ }
+
/**
* create a dialog.
*
@@ -336,12 +367,19 @@ public class MainPageActivity extends Activity {
@Override
public View getView(int position, View convertView, ViewGroup parent) {
+ Programe pr = (Programe) programe.get(position);
Viewholder holder = new Viewholder();
final int i = position;
convertView = MainPageActivity.this.getLayoutInflater().inflate(R.layout.list_item, null);
- holder.imgViAppIcon = (ImageView) convertView.findViewById(R.id.image);
+
+ holder.imgViAppIcon = (ImageView) convertView.findViewById(R.id.image);
+ holder.imgViAppIcon.setImageDrawable(pr.getIcon());
+
holder.txtAppName = (TextView) convertView.findViewById(R.id.text);
+ holder.txtAppName.setText(pr.getProcessName());
+
holder.rdoBtnApp = (RadioButton) convertView.findViewById(R.id.rb);
+ holder.rdoBtnApp.setFocusable(false);
holder.rdoBtnApp.setId(position);
holder.rdoBtnApp.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
@@ -366,9 +404,7 @@ public class MainPageActivity extends Activity {
if (!holder.rdoBtnApp.isChecked())
holder.rdoBtnApp.setChecked(true);
}
- Programe pr = (Programe) programe.get(position);
- holder.imgViAppIcon.setImageDrawable(pr.getIcon());
- holder.txtAppName.setText(pr.getProcessName());
+
return convertView;
}
}