提交 ec853937 编写于 作者: A andrewleo

Merge: navigation_bar and manifest

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.netease.qa.emmagee"
android:versionCode="30"
android:versionName="2.0" >
<uses-sdk android:minSdkVersion="8" />
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="15"/>
<application android:name=".utils.MyApplication"
android:icon="@drawable/icon"
android:label="@string/app_name" >
android:icon="@drawable/icon"
android:label="@string/app_name"
android:theme="@android:style/Theme.NoTitleBar">
<activity
android:name=".activity.MainPageActivity"
android:label="@string/app_name"
android:configChanges="orientation|keyboardHidden"
android:launchMode="singleInstance" > <!-- 防止程序横屏以后重新启动 -->
android:name=".activity.MainPageActivity"
android:configChanges="orientation|keyboardHidden"
android:launchMode="singleInstance"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<!-- <category android:name="android.intent.category.DEFAULT" /> -->
<category android:name="android.intent.category.LAUNCHER" />
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<activity
android:name=".activity.SettingsActivity"
android:label="@string/setting" >
</activity>
<activity android:name=".activity.AboutActivity" />
<activity android:name=".activity.MailSettingsActivity" />
<activity android:name=".activity.SettingsActivity"
android:screenOrientation="portrait"/>
<activity android:name=".activity.AboutActivity"
android:screenOrientation="portrait"/>
<activity android:name=".activity.MailSettingsActivity"
android:screenOrientation="portrait"/>
<service
android:name="com.netease.qa.emmagee.service.EmmageeService">
</service>
<service android:name="com.netease.qa.emmagee.service.EmmageeService"/>
</application>
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_LOGS"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
</manifest>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/settings_pressed" android:state_pressed="true"/>
<item android:drawable="@drawable/settings_pressed" android:state_focused="true"/>
<item android:drawable="@drawable/settings"></item>
</selector>
<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="false" android:state_pressed="false" android:drawable="@drawable/btn_test" />
<item android:state_focused="false" android:state_pressed="true" android:drawable="@drawable/btn_test_press" />
<item android:state_focused="true" android:state_pressed="false" android:drawable="@drawable/btn_test_press" />
<item android:state_focused="true" android:state_pressed="true" android:drawable="@drawable/btn_test_press" />
</selector>
......@@ -11,14 +11,21 @@
<ImageView
android:id="@+id/image"
android:layout_width="60px"
android:layout_height="60px"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:maxHeight="80px"
android:maxWidth="80px"
android:layout_gravity="center"
android:layout_marginRight="10dip" />
android:layout_marginRight="10dp"
android:layout_marginLeft="10dp" />
<TextView
android:id="@+id/text"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
android:layout_height="wrap_content"
android:textSize="18sp"
android:textColor="#5B5B5B"
android:gravity="center_vertical"/>
</LinearLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="bottom|center_horizontal|center_vertical"
android:orientation="vertical" >
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">
<ListView
android:id="@+id/processList"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1" />
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<include
android:layout_width="match_parent"
android:layout_height="wrap_content"
layout="@layout/navigation_bar" />
</LinearLayout>
<ListView
android:id="@+id/processList"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:cacheColorHint="@color/light_purple"
android:listSelector="@color/light_purple"/>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="78dp"
android:layout_marginBottom="10dp"
android:gravity="center_horizontal|center_vertical"
android:orientation="horizontal" >
android:layout_width="fill_parent"
android:layout_height="80dp"
android:background="@drawable/bottom_bg" >
<Button
android:id="@+id/test"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:layout_marginBottom="6dp"
android:gravity="center_horizontal"
android:text="@string/start_test" />
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" />
</LinearLayout>
</LinearLayout>
\ No newline at end of file
......@@ -9,9 +9,10 @@
<ImageView
android:id="@+id/go_back"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_height="wrap_content"
android:paddingRight ="@dimen/image_padding"
android:src="@drawable/btn_back" />
android:src="@drawable/btn_back"
android:clickable="true" />
<TextView
android:id="@+id/nb_title"
......@@ -27,8 +28,9 @@
<ImageView
android:id="@+id/btn_set"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:padding="@dimen/image_padding"
android:src="@drawable/btn_save" />
android:src="@drawable/btn_save"
android:layout_height="wrap_content"
android:clickable="true" />
</LinearLayout>
\ No newline at end of file
......@@ -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;
}
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册