提交 ec853937 编写于 作者: A andrewleo

Merge: navigation_bar and manifest

<?xml version="1.0" encoding="utf-8"?> <?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" package="com.netease.qa.emmagee"
android:versionCode="30" android:versionCode="30"
android:versionName="2.0" > android:versionName="2.0" >
<uses-sdk android:minSdkVersion="8" /> <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="15"/>
<application android:name=".utils.MyApplication" <application android:name=".utils.MyApplication"
android:icon="@drawable/icon" android:icon="@drawable/icon"
android:label="@string/app_name" > android:label="@string/app_name"
android:theme="@android:style/Theme.NoTitleBar">
<activity <activity
android:name=".activity.MainPageActivity" android:name=".activity.MainPageActivity"
android:label="@string/app_name" android:configChanges="orientation|keyboardHidden"
android:configChanges="orientation|keyboardHidden" android:launchMode="singleInstance"
android:launchMode="singleInstance" > <!-- 防止程序横屏以后重新启动 --> android:screenOrientation="portrait">
<intent-filter> <intent-filter>
<action android:name="android.intent.action.MAIN" /> <action android:name="android.intent.action.MAIN"/>
<!-- <category android:name="android.intent.category.DEFAULT" /> --> <category android:name="android.intent.category.LAUNCHER"/>
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter> </intent-filter>
</activity> </activity>
<activity <activity android:name=".activity.SettingsActivity"
android:name=".activity.SettingsActivity" android:screenOrientation="portrait"/>
android:label="@string/setting" >
</activity> <activity android:name=".activity.AboutActivity"
android:screenOrientation="portrait"/>
<activity android:name=".activity.AboutActivity" />
<activity android:name=".activity.MailSettingsActivity"
<activity android:name=".activity.MailSettingsActivity" /> android:screenOrientation="portrait"/>
<service <service android:name="com.netease.qa.emmagee.service.EmmageeService"/>
android:name="com.netease.qa.emmagee.service.EmmageeService">
</service>
</application> </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.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.READ_LOGS"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.CHANGE_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.WAKE_LOCK"/>
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
</manifest> </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 @@ ...@@ -11,14 +11,21 @@
<ImageView <ImageView
android:id="@+id/image" android:id="@+id/image"
android:layout_width="60px" android:layout_width="wrap_content"
android:layout_height="60px" android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:maxHeight="80px"
android:maxWidth="80px"
android:layout_gravity="center" android:layout_gravity="center"
android:layout_marginRight="10dip" /> android:layout_marginRight="10dp"
android:layout_marginLeft="10dp" />
<TextView <TextView
android:id="@+id/text" android:id="@+id/text"
android:layout_width="fill_parent" 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> </LinearLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:layout_height="fill_parent"
android:gravity="bottom|center_horizontal|center_vertical" android:gravity="bottom|center_horizontal|center_vertical"
android:orientation="vertical" > android:background="@color/light_purple"
android:orientation="vertical">
<ListView <LinearLayout
android:id="@+id/processList" android:layout_width="fill_parent"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:layout_height="wrap_content" android:orientation="horizontal" >
android:layout_weight="1" />
<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 <LinearLayout
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="78dp" android:layout_height="80dp"
android:layout_marginBottom="10dp" android:background="@drawable/bottom_bg" >
android:gravity="center_horizontal|center_vertical"
android:orientation="horizontal" >
<Button <Button
android:id="@+id/test" android:id="@+id/test"
android:layout_width="200dp" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_height="fill_parent"
android:layout_marginBottom="6dp" android:layout_marginTop="15dp"
android:gravity="center_horizontal" android:layout_marginBottom="15dp"
android:text="@string/start_test" /> 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>
</LinearLayout> </LinearLayout>
\ No newline at end of file
...@@ -9,9 +9,10 @@ ...@@ -9,9 +9,10 @@
<ImageView <ImageView
android:id="@+id/go_back" android:id="@+id/go_back"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:paddingRight ="@dimen/image_padding" android:paddingRight ="@dimen/image_padding"
android:src="@drawable/btn_back" /> android:src="@drawable/btn_back"
android:clickable="true" />
<TextView <TextView
android:id="@+id/nb_title" android:id="@+id/nb_title"
...@@ -27,8 +28,9 @@ ...@@ -27,8 +28,9 @@
<ImageView <ImageView
android:id="@+id/btn_set" android:id="@+id/btn_set"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:padding="@dimen/image_padding" android:padding="@dimen/image_padding"
android:src="@drawable/btn_save" /> android:src="@drawable/btn_save"
android:layout_height="wrap_content"
android:clickable="true" />
</LinearLayout> </LinearLayout>
\ No newline at end of file
...@@ -39,9 +39,7 @@ import android.view.View; ...@@ -39,9 +39,7 @@ import android.view.View;
import android.view.View.OnClickListener; import android.view.View.OnClickListener;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.view.Window; import android.view.Window;
import android.widget.BaseAdapter; import android.widget.*;
import android.widget.Button;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener; import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.ImageView; import android.widget.ImageView;
import android.widget.ListView; import android.widget.ListView;
...@@ -76,61 +74,90 @@ public class MainPageActivity extends Activity { ...@@ -76,61 +74,90 @@ public class MainPageActivity extends Activity {
private boolean isServiceStop = false; private boolean isServiceStop = false;
private UpdateReceiver receiver; private UpdateReceiver receiver;
private TextView nb_title;
private ImageView go_back;
private ImageView btn_set;
@Override @Override
public void onCreate(Bundle savedInstanceState) { public void onCreate(Bundle savedInstanceState) {
Log.i(LOG_TAG, "MainActivity::onCreate"); Log.i(LOG_TAG, "MainActivity::onCreate");
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE); requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.mainpage); setContentView(R.layout.mainpage);
initTitleLayout();
createNewFile(); createNewFile();
processInfo = new ProcessInfo(); processInfo = new ProcessInfo();
lstViProgramme = (ListView) findViewById(R.id.processList);
btnTest = (Button) findViewById(R.id.test);
btnTest.setOnClickListener(new OnClickListener() { btnTest.setOnClickListener(new OnClickListener() {
@Override @Override
public void onClick(View v) { public void onClick(View v) {
monitorService = new Intent(); monitorService = new Intent();
monitorService.setClass(MainPageActivity.this, EmmageeService.class); monitorService.setClass(MainPageActivity.this, EmmageeService.class);
if (getString(R.string.start_test).equals(btnTest.getText().toString())) { if (getString(R.string.start_test).equals(btnTest.getText().toString())) {
if (isRadioChecked) { if (isRadioChecked) {
Intent intent = getPackageManager().getLaunchIntentForPackage(packageName); Intent intent = getPackageManager().getLaunchIntentForPackage(packageName);
String startActivity = ""; String startActivity = "";
Log.d(LOG_TAG, packageName); Log.d(LOG_TAG, packageName);
//clear logcat //clear logcat
try { try {
Runtime.getRuntime().exec("logcat -c"); Runtime.getRuntime().exec("logcat -c");
} catch (IOException e) { } catch (IOException e) {
Log.d(LOG_TAG, e.getMessage()); Log.d(LOG_TAG, e.getMessage());
} }
try { try {
startActivity = intent.resolveActivity(getPackageManager()).getShortClassName(); startActivity = intent.resolveActivity(getPackageManager()).getShortClassName();
startActivity(intent); startActivity(intent);
} catch (Exception e) { } catch (Exception e) {
Toast.makeText(MainPageActivity.this, getString(R.string.can_not_start_app_toast), Toast.LENGTH_LONG).show(); Toast.makeText(MainPageActivity.this, getString(R.string.can_not_start_app_toast), Toast.LENGTH_LONG).show();
return; return;
} }
waitForAppStart(packageName); waitForAppStart(packageName);
monitorService.putExtra("processName", processName); monitorService.putExtra("processName", processName);
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", settingTempFile); monitorService.putExtra("settingTempFile", settingTempFile);
monitorService.putExtra("startActivity", startActivity); monitorService.putExtra("startActivity", startActivity);
startService(monitorService); startService(monitorService);
btnTest.setText(getString(R.string.stop_test)); btnTest.setText(getString(R.string.stop_test));
} else { } else {
Toast.makeText(MainPageActivity.this, getString(R.string.choose_app_toast), Toast.LENGTH_LONG).show(); Toast.makeText(MainPageActivity.this, getString(R.string.choose_app_toast), Toast.LENGTH_LONG).show();
} }
} else { } else {
btnTest.setText(getString(R.string.start_test)); btnTest.setText(getString(R.string.start_test));
Toast.makeText(MainPageActivity.this, getString(R.string.test_result_file_toast) + EmmageeService.resultFilePath, Toast.LENGTH_LONG).show(); Toast.makeText(MainPageActivity.this, getString(R.string.test_result_file_toast) + EmmageeService.resultFilePath, Toast.LENGTH_LONG).show();
stopService(monitorService); stopService(monitorService);
} }
} }
}); });
lstViProgramme.setAdapter(new ListAdapter()); 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 * customized BroadcastReceiver
* *
...@@ -258,10 +285,7 @@ public class MainPageActivity extends Activity { ...@@ -258,10 +285,7 @@ public class MainPageActivity extends Activity {
showDialog(0); showDialog(0);
break; break;
case 1: case 1:
Intent intent = new Intent(); goToSettingsActivity();
intent.setClass(MainPageActivity.this, SettingsActivity.class);
intent.putExtra("settingTempFile", settingTempFile);
startActivityForResult(intent, Activity.RESULT_FIRST_USER);
break; break;
default: default:
break; break;
...@@ -269,6 +293,13 @@ public class MainPageActivity extends Activity { ...@@ -269,6 +293,13 @@ public class MainPageActivity extends Activity {
return false; 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. * create a dialog.
* *
...@@ -336,12 +367,19 @@ public class MainPageActivity extends Activity { ...@@ -336,12 +367,19 @@ public class MainPageActivity extends Activity {
@Override @Override
public View getView(int position, View convertView, ViewGroup parent) { public View getView(int position, View convertView, ViewGroup parent) {
Programe pr = (Programe) programe.get(position);
Viewholder holder = new Viewholder(); Viewholder holder = new Viewholder();
final int i = position; final int i = position;
convertView = MainPageActivity.this.getLayoutInflater().inflate(R.layout.list_item, null); 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 = (TextView) convertView.findViewById(R.id.text);
holder.txtAppName.setText(pr.getProcessName());
holder.rdoBtnApp = (RadioButton) convertView.findViewById(R.id.rb); holder.rdoBtnApp = (RadioButton) convertView.findViewById(R.id.rb);
holder.rdoBtnApp.setFocusable(false);
holder.rdoBtnApp.setId(position); holder.rdoBtnApp.setId(position);
holder.rdoBtnApp.setOnCheckedChangeListener(new OnCheckedChangeListener() { holder.rdoBtnApp.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override @Override
...@@ -366,9 +404,7 @@ public class MainPageActivity extends Activity { ...@@ -366,9 +404,7 @@ public class MainPageActivity extends Activity {
if (!holder.rdoBtnApp.isChecked()) if (!holder.rdoBtnApp.isChecked())
holder.rdoBtnApp.setChecked(true); holder.rdoBtnApp.setChecked(true);
} }
Programe pr = (Programe) programe.get(position);
holder.imgViAppIcon.setImageDrawable(pr.getIcon());
holder.txtAppName.setText(pr.getProcessName());
return convertView; return convertView;
} }
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册