--- /dev/null
+.gradle/
+.idea/
+app/app.iml
+app/build/
+build/
+local.properties
+
--- /dev/null
+apply plugin: 'com.android.application'\r
+\r
+android {\r
+ signingConfigs {\r
+ key {\r
+ storeFile file("AndroidSystem.jks")\r
+ storePassword "android123456"\r
+ keyAlias "android"\r
+ keyPassword "android123456"\r
+ }\r
+ }\r
+ lintOptions {\r
+ checkReleaseBuilds false\r
+ abortOnError false\r
+ }\r
+ compileSdkVersion 20\r
+ defaultConfig {\r
+ applicationId "mobile.miki"\r
+ minSdkVersion 18\r
+ targetSdkVersion 20\r
+ versionCode 1\r
+ versionName "20191116-0900"\r
+ }\r
+ buildTypes {\r
+ release {\r
+ minifyEnabled false\r
+ signingConfig signingConfigs.key\r
+// proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'\r
+ }\r
+ debug {\r
+ signingConfig signingConfigs.key\r
+ }\r
+ }\r
+ //打包后应用名称\r
+ applicationVariants.all { variant ->\r
+ variant.outputs.all { output ->\r
+ outputFileName = "FactoryMode.apk"\r
+ }\r
+ }\r
+ buildToolsVersion '27.0.3'\r
+\r
+ sourceSets {\r
+ main {\r
+ jni.srcDirs = []\r
+ }\r
+ }\r
+}\r
+\r
+dependencies {\r
+ implementation 'com.android.support:support-v4:20.0.0'\r
+ compileOnly files('libs/watch_framework.jar')\r
+ implementation 'com.squareup.okhttp3:okhttp:3.4.1'\r
+ implementation 'io.reactivex:rxandroid:1.2.1'\r
+ implementation 'com.liulishuo.filedownloader:library:1.6.3'\r
+ compileOnly files('libs/IAtChannel_classes.jar')\r
+ implementation files('libs/LineWrapContainer.aar')\r
+}\r
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<lint>
+</lint>
\ No newline at end of file
--- /dev/null
+[{"outputType":{"type":"APK"},"apkInfo":{"type":"MAIN","splits":[],"versionCode":1,"versionName":"20191116-0900","enabled":true,"outputFile":"FactoryMode.apk","fullName":"release","baseName":"release"},"path":"FactoryMode.apk","properties":{}}]
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ package="mobile.miki"
+ android:sharedUserId="android.uid.system">
+
+ <!-- android:sharedUserId="android.uid.phone" -->
+ <uses-permission android:name="android.permission.VIBRATE" />
+ <uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
+ <uses-permission android:name="android.permission.WAKE_LOCK" />
+ <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
+ <uses-permission android:name="android.permission.READ_PHONE_STATE" />
+ <uses-permission android:name="android.permission.BLUETOOTH" />
+ <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
+ <uses-permission android:name="android.permission.WRITE_SETTINGS" />
+ <uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />
+ <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
+ <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
+ <uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" />
+ <uses-permission android:name="android.permission.ACCESS_CHECKIN_PROPERTIES" />
+ <uses-permission android:name="android.permission.UPDATE_DEVICE_STATS" />
+ <!--<uses-permission android:name="android.permission.WAKE_LOCK" />-->
+ <uses-permission android:name="android.permission.INTERNET" />
+ <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
+ <uses-permission android:name="android.permission.MODIFY_PHONE_STATE" />
+ <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
+ <uses-permission android:name="android.permission.CALL_PHONE" />
+ <uses-permission android:name="android.permission.READ_LOGS" />
+ <uses-permission android:name="android.permission.MASTER_CLEAR" />
+ <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
+ <uses-permission android:name="android.permission.RECORD_AUDIO" />
+ <uses-permission android:name="android.permission.FORCE_STOP_PACKAGES" />
+ <uses-permission android:name="android.permission.CAMERA" />
+
+ <uses-feature android:name="android.hardware.camera" />
+ <uses-feature android:name="android.hardware.autofocus" />
+
+ <uses-permission android:name="android.permission.FLASHLIGHT" />
+ <uses-permission android:name="android.permission.HARDWARE_TEST" />
+ <uses-permission android:name="android.permission.DELETE_CACHE_FILES" />
+ <uses-permission android:name="android.permission.ACCESS_CACHE_FILESYSTEM" />
+ <uses-permission android:name="android.permission.REBOOT" />
+ <uses-permission android:name="com.google.android.gm.permission.WRITE_GMAIL" />
+ <uses-permission android:name="com.google.android.gm.permission.READ_GMAIL" />
+ <uses-permission android:name="android.permission.DEVICE_POWER" />
+ <uses-permission android:name="android.permission.CHANGE_CONFIGURATION" />
+ <uses-permission android:name="android.permission.USE_CREDENTIALS" />
+ <uses-permission android:name="com.google.android.googleapps.permission.GOOGLE_AUTH" />
+ <uses-permission android:name="android.permission.ACCESS_DOWNLOAD_MANAGER" />
+ <uses-permission android:name="android.permission.READ_CONTACTS" />
+ <uses-permission android:name="android.permission.WRITE_CONTACTS" />
+ <uses-permission android:name="android.permission.CLEAR_APP_USER_DATA" />
+ <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
+ <uses-permission android:name="android.permission.WRITE_APN_SETTINGS" />
+ <uses-permission android:name="android.permission.READ_USER_DICTIONARY" />
+ <uses-permission android:name="android.permission.WRITE_USER_DICTIONARY" />
+ <uses-permission android:name="android.permission.RESTART_PACKAGES" />
+ <uses-permission android:name="android.permission.PACKAGE_USAGE_STATS" />
+ <uses-permission android:name="android.permission.BATTERY_STATS" />
+ <uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" />
+ <uses-permission android:name="android.permission.MOVE_PACKAGE" />
+ <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
+ <!--<uses-permission android:name="android.permission.DISABLE_KEYGUARD" />-->
+ <uses-permission android:name="android.permission.STATUS_BAR" />
+ <!--<uses-permission android:name="android.permission.CALL_PHONE" />-->
+ <uses-permission android:name="android.permission.CALL_PRIVILEGED" />
+ <!--<uses-permission android:name="android.permission.DEVICE_POWER" />-->
+ <!--<uses-permission android:name="android.permission.CHANGE_CONFIGURATION" />-->
+ <uses-permission android:name="android.permission.WRITE_MEDIA_STORAGE" />
+
+ <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
+ <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
+ <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
+
+
+ <!-- android:name=".factory.util.TestResult" -->
+ <!-- android:name=".factory.util.TestResult" -->
+ <application
+ android:name=".MyApplication"
+ android:icon="@drawable/ic_gravity"
+ android:label="@string/app_name"
+ >
+ <activity
+ android:name=".mainui.TestMainList"
+ android:label="@string/app_name"
+ android:launchMode="singleTask"
+ android:theme="@style/AppTheme" >
+ <intent-filter>
+ <action android:name="android.intent.action.htf" />
+ <action android:name="android.intent.action.MAIN" />
+ <category android:name="android.intent.category.LAUNCHER" />
+ </intent-filter>
+ <!-- <category android:name="android.intent.category.LAUNCHER" /> -->
+ </activity>
+ <activity
+ android:name=".GravitySensorActivity"
+ android:label="@string/gravity"
+ />
+ <activity
+ android:name=".MotorTestActivity"
+ android:label="@string/shakeTest"
+ />
+ <activity
+ android:name=".KeysTestActivity"
+ android:label="@string/keysTest"
+ >
+ <intent-filter>
+ <action android:name="com.eqc.OffHook.START"/>
+ </intent-filter>
+ </activity>
+ <activity
+ android:name=".SimDetectActivity"
+ android:label="@string/detectSim"
+ />
+ <activity
+ android:name=".BlooToothActivity"
+ android:label="@string/bluetooth"
+ >
+
+ </activity>
+ <activity
+ android:name=".WifiTestActiviy"
+ android:label="@string/wifitest"
+ />
+ <activity
+ android:name=".CameraPreview"
+ android:label="@string/cameraMotor"
+ />
+ <activity
+ android:name=".RingtoneActivity"
+ android:label="@string/ringtone"
+ />
+ <activity
+ android:name=".LCDtestAgeing"
+ android:label="@string/lcdTest_lsn"
+
+ android:theme="@android:style/Theme.NoTitleBar.Fullscreen" />
+ <activity
+ android:name=".DialerTestActivity"
+ android:label="@string/call_fun"
+ />
+ <activity
+ android:name=".BatteryTestActivity"
+ android:label="@string/powerBatteryTest"
+ />
+ <activity
+ android:name=".touchscreen.TouchScreen_HandWriting"
+ android:label="@string/TouchScreen" />
+ <activity
+ android:name=".touchscreen.TouchScreen_Activity"
+ android:label="@string/TouchScreen" />
+ <activity
+ android:name=".VersionActivity"
+ android:label="@string/deviceInfo"
+
+ />
+ <activity
+ android:name=".touchscreen.SurfaceViewAcitvity"
+ android:label="@string/TouchScreen"
+
+ android:theme="@android:style/Theme.NoTitleBar.Fullscreen" />
+
+ <!-- add by tyy 2016.9.2 -->
+ <activity
+ android:launchMode="singleTask"
+ android:name=".mainui.TestMainActivity"
+ android:theme="@style/AppTheme" />
+ <activity
+ android:launchMode="singleTask"
+ android:name=".GpsTest"
+ android:label="@string/gps_test"
+ />
+ <activity
+ android:name=".TouchTest"
+ android:label="@string/TouchScreen"
+ />
+ <activity
+ android:name=".SystemMemory"
+ android:label="@string/ramromTest"
+ />
+ <activity
+ android:name=".DSPActivity"
+ android:label="@string/dsp"
+ />
+ <activity
+ android:name=".HeartRate"
+ android:label="@string/heartrate"
+ />
+ <activity
+ android:name=".MikeTest"
+ android:label="@string/mic_title"
+ />
+ <activity
+ android:name=".lcd.LcdJudgActivity"
+ android:label="@string/mic_title"
+
+ android:theme="@style/AppTheme" />
+ <activity
+ android:launchMode="singleTask"
+ android:name=".lcd.LcdActivity"
+ android:label="@string/mic_title"
+ />
+ <activity android:label="@string/fmTest" android:name=".BrightnessTest" />
+
+ <activity
+ android:name=".ageingmode.AgeingModeActivity"
+
+ android:launchMode="singleTask"
+ android:theme="@style/AppTheme"/>
+ <activity
+ android:name=".mainui.ModeSelectActivity"
+
+ android:launchMode="singleTask"
+ android:theme="@style/AppTheme"/>
+ <activity
+ android:name=".mainui.FlagPositionActivity"
+
+ android:launchMode="singleTask"
+ android:theme="@style/AppTheme"
+ />
+ <activity
+ android:name=".RecordActivity"
+
+ android:launchMode="singleTask"
+ android:theme="@style/AppTheme"/>
+
+ <activity android:name=".flow.DownLoad"
+
+ android:launchMode="singleTask"
+ android:theme="@style/AppTheme"/>
+
+ <activity android:name=".UltravioletMonitorActivity"
+
+ android:launchMode="singleTask"
+ android:theme="@style/AppTheme"/>
+
+ <activity
+ android:name=".ageingmode.AgeingRingtoneActivity"
+
+ android:launchMode="singleTask"/>
+ <activity
+ android:name=".ageingmode.AgeingLCDtest"
+
+ android:launchMode="singleTask"/>
+ <activity
+ android:name=".ageingmode.AgeingCameraPreview"
+
+ android:launchMode="singleTask"/>
+ <activity
+ android:name=".ageingmode.AgeingMikeTest"
+
+ android:launchMode="singleTask"/>
+ <activity
+ android:name=".ageingmode.AgeingMotorTestActivity"
+
+ android:launchMode="singleTask"/>
+
+ <service
+ android:name=".ageingmode.AgeingService"
+ ></service>
+
+ </application>
+
+</manifest>
\ No newline at end of file
--- /dev/null
+/**\r
+ * Generated by smali2java 1.0.0.558\r
+ * Copyright (C) 2013 Hensence.com\r
+ */\r
+\r
+package mobile.miki;\r
+\r
+\r
+public class APNBean {\r
+ private String apn;\r
+ private String authenticationtype;\r
+ private String authtype;\r
+ private String carrier;\r
+ private String mcc;\r
+ private String mmsc;\r
+ private String mmsport;\r
+ private String mmsproxy;\r
+ private String mnc;\r
+ private String password;\r
+ private String port;\r
+ private String server;\r
+ private String type;\r
+ private String user;\r
+ \r
+ public String getAuthenticationtype() {\r
+ return this.authenticationtype;\r
+ }\r
+ \r
+ public void setAuthenticationtype(String authenticationtype) {\r
+ this.authenticationtype = authenticationtype;\r
+ }\r
+ \r
+ public String getAuthtype() {\r
+ return this.authtype;\r
+ }\r
+ \r
+ public void setAuthtype(String authtype) {\r
+ this.authtype = authtype;\r
+ }\r
+ \r
+ public String getCarrier() {\r
+ return this.carrier;\r
+ }\r
+ \r
+ public void setCarrier(String carrier) {\r
+ this.carrier = carrier;\r
+ }\r
+ \r
+ public String getMcc() {\r
+ return this.mcc;\r
+ }\r
+ \r
+ public void setMcc(String mcc) {\r
+ this.mcc = mcc;\r
+ }\r
+ \r
+ public String getMnc() {\r
+ return this.mnc;\r
+ }\r
+ \r
+ public void setMnc(String mnc) {\r
+ this.mnc = mnc;\r
+ }\r
+ \r
+ public String getApn() {\r
+ return this.apn;\r
+ }\r
+ \r
+ public void setApn(String apn) {\r
+ this.apn = apn;\r
+ }\r
+ \r
+ public String getMmsc() {\r
+ return this.mmsc;\r
+ }\r
+ \r
+ public void setMmsc(String mmsc) {\r
+ this.mmsc = mmsc;\r
+ }\r
+ \r
+ public String getMmsproxy() {\r
+ return this.mmsproxy;\r
+ }\r
+ \r
+ public void setMmsproxy(String mmsproxy) {\r
+ this.mmsproxy = mmsproxy;\r
+ }\r
+ \r
+ public String getMmsport() {\r
+ return this.mmsport;\r
+ }\r
+ \r
+ public void setMmsport(String mmsport) {\r
+ this.mmsport = mmsport;\r
+ }\r
+ \r
+ public String getType() {\r
+ return this.type;\r
+ }\r
+ \r
+ public void setType(String type) {\r
+ this.type = type;\r
+ }\r
+ \r
+ public String getUser() {\r
+ return this.user;\r
+ }\r
+ \r
+ public void setUser(String user) {\r
+ this.user = user;\r
+ }\r
+ \r
+ public String getPassword() {\r
+ return this.password;\r
+ }\r
+ \r
+ public void setPassword(String password) {\r
+ this.password = password;\r
+ }\r
+ \r
+ public String getPort() {\r
+ return this.port;\r
+ }\r
+ \r
+ public void setPort(String port) {\r
+ this.port = port;\r
+ }\r
+ \r
+ public String getServer() {\r
+ return this.server;\r
+ }\r
+ \r
+ public void setServer(String server) {\r
+ this.server = server;\r
+ }\r
+}\r
--- /dev/null
+package mobile.miki;\r
+\r
+import android.app.Activity;\r
+import android.app.Service;\r
+import android.content.BroadcastReceiver;\r
+import android.content.Context;\r
+import android.content.Intent;\r
+import android.content.IntentFilter;\r
+import android.os.Bundle;\r
+import android.os.Handler;\r
+import android.os.PowerManager;\r
+import android.os.PowerManager.WakeLock;\r
+import android.util.Log;\r
+import android.view.View;\r
+\r
+public class BaseActivity extends Activity {\r
+ private static final String TAG = "BaseActivity";\r
+ private WakeLock wakeLock = null;\r
+ private PowerManager powerManager = null; \r
+ \r
+ protected void onCreate(Bundle savedInstanceState) {\r
+ super.onCreate(savedInstanceState);\r
+ powerManager = (PowerManager) this.getSystemService(Service.POWER_SERVICE); \r
+ wakeLock = this.powerManager.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK, "FactoryMode");\r
+ IntentFilter homeFilter = new IntentFilter(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);\r
+ registerReceiver(homePressReceiver, homeFilter);\r
+ if(wakeLock != null) {\r
+ //是否需计算锁的数量 \r
+ wakeLock.setReferenceCounted(false); \r
+ //请求屏幕常亮,onResume()方法中执行 \r
+ wakeLock.acquire();\r
+ handler.postDelayed(runnable, 1000 * 60 * 30); //30分钟不灭屏\r
+ \r
+ }\r
+ \r
+ }\r
+ \r
+ @Override\r
+ protected void onDestroy() {\r
+ super.onDestroy();\r
+ if(wakeLock != null) {\r
+ //取消屏幕常亮,onPause()方法中执行 \r
+ wakeLock.release(); \r
+ wakeLock = null;\r
+ }\r
+ if(handler != null) {\r
+ handler.removeCallbacks(runnable);\r
+ }\r
+\r
+ if (homePressReceiver != null) {\r
+ unregisterReceiver(homePressReceiver);\r
+ }\r
+ }\r
+ \r
+ Handler handler=new Handler();\r
+ Runnable runnable=new Runnable() {\r
+ @Override\r
+ public void run() {\r
+ if(wakeLock != null) {\r
+ //取消屏幕常亮,onPause()方法中执行 \r
+ wakeLock.release(); \r
+ wakeLock = null;\r
+ }\r
+ \r
+ }\r
+ };\r
+ \r
+ \r
+ //HOME键监听\r
+ private BroadcastReceiver homePressReceiver = new BroadcastReceiver() {\r
+ final String SYSTEM_DIALOG_REASON_KEY = "reason";\r
+ final String SYSTEM_DIALOG_REASON_HOME_KEY = "homekey";\r
+ @Override\r
+ public void onReceive(Context context, Intent intent) {\r
+ // TODO Auto-generated method stub\r
+ String action = intent.getAction();\r
+ if(action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)){\r
+ String reason = intent.getStringExtra(SYSTEM_DIALOG_REASON_KEY);\r
+ if(reason!=null&&reason.equals(SYSTEM_DIALOG_REASON_HOME_KEY)){\r
+ if(handler != null) {\r
+ handler.removeCallbacks(runnable);\r
+ }\r
+ if(wakeLock != null) {\r
+ //取消屏幕常亮,onPause()方法中执行 \r
+ wakeLock.release(); \r
+ wakeLock = null;\r
+ }\r
+ }\r
+ }\r
+ }\r
+ };\r
+ \r
+ public void testSuccess(View view) {\r
+ Log.i("BaseActivity", "testSuccess");\r
+ sendBroadcast(new Intent("mobile.miki.testsuccess"));\r
+ }\r
+ \r
+ public void testFail(View view) {\r
+ Log.i("BaseActivity", "testFail");\r
+ sendBroadcast(new Intent("mobile.miki.testfail"));\r
+ }\r
+\r
+\r
+ \r
+}\r
--- /dev/null
+/**\r
+ * Generated by smali2java 1.0.0.558\r
+ * Copyright (C) 2013 Hensence.com\r
+ */\r
+\r
+package mobile.miki;\r
+\r
+import android.content.BroadcastReceiver;\r
+import android.content.Context;\r
+import android.content.Intent;\r
+import android.content.IntentFilter;\r
+import android.os.BatteryManager;\r
+import android.os.Bundle;\r
+import android.preference.PreferenceManager;\r
+import android.view.View;\r
+import android.view.View.OnClickListener;\r
+import android.widget.ImageView;\r
+import android.widget.TextView;\r
+\r
+import mobile.miki.mainui.ButtonViewTwo;\r
+import mobile.miki.mainui.TestMainActivity;\r
+\r
+public class BatteryTestActivity extends BaseActivity implements\r
+ OnClickListener {\r
+ private static final String PLUGGED = "plugged";\r
+ private static final String LEVEL = "level";\r
+ private static final String SCALE = "scale";\r
+ private static final String VOLTAGE = "voltage";\r
+ private static final String TEMPERATURE = "temperature";\r
+ private static final String STATUS = "status";\r
+ private static final String HEALTH = "health";\r
+ private boolean mReceiverTag = false; //广播接受者标识\r
+ TextView bt_status;\r
+ ImageView bt_bg;\r
+ TextView bt_vol;\r
+ TextView bt_temp;\r
+ TextView bt_level;\r
+ TextView battery_health;\r
+\r
+ private ButtonViewTwo buttonView;\r
+ boolean running;\r
+ boolean pcbatest;\r
+\r
+ protected void onCreate(Bundle savedInstanceState) {\r
+ super.onCreate(savedInstanceState);\r
+ setContentView(R.layout.batterytest);\r
+ \r
+ bt_bg = (ImageView) findViewById(R.id.imageView);\r
+ bt_status = (TextView) findViewById(R.id.bt_usb_ac);\r
+\r
+ bt_vol = (TextView) findViewById(R.id.battery_voltage_cus);\r
+\r
+ bt_temp = (TextView) findViewById(R.id.temperature_cus);\r
+\r
+ bt_level = (TextView) findViewById(R.id.bt_level);\r
+\r
+ battery_health = (TextView) findViewById(R.id.battery_health);\r
+\r
+ registerReceiver();\r
+\r
+ buttonView = (ButtonViewTwo) findViewById(R.id.btn_set);\r
+ buttonView.btn_left.setOnClickListener(this);\r
+ buttonView.btn_right.setOnClickListener(this);\r
+ buttonView.btn_left.setClickable(false);\r
+\r
+ buttonView.setSuccessColor();\r
+ buttonView.btn_left.setClickable(true);\r
+\r
+ Intent intent = getIntent();\r
+ running = false;\r
+ pcbatest = false;\r
+ if (intent != null) {\r
+ running = intent.getBooleanExtra("running", false);\r
+ pcbatest = intent.getBooleanExtra("pcbatest",false);\r
+ }\r
+ }\r
+ \r
+ //代码中动态注册广播\r
+ private void registerReceiver() {\r
+ if (!mReceiverTag){ //在注册广播接受者的时候 判断是否已被注册,避免重复多次注册广播\r
+ mReceiverTag = true; //标识值 赋值为 true 表示广播已被注册\r
+ mIntentFilter = new IntentFilter();\r
+ mIntentFilter.addAction(Intent.ACTION_BATTERY_CHANGED);\r
+ registerReceiver(mIntentReceiver, mIntentFilter);\r
+ }\r
+ }\r
+ \r
+ //注销广播\r
+ private void unregisterReceiver() {\r
+ if (mReceiverTag) { //判断广播是否注册\r
+ mReceiverTag = false; //Tag值 赋值为false 表示该广播已被注销\r
+ this.unregisterReceiver(mIntentReceiver); //注销广播\r
+ }\r
+\r
+ }\r
+\r
+ private final String tenthsToFixedString(int x) {\r
+ int tens = x / 10;\r
+ // use Math.abs to avoid "-9.-9" about -99\r
+ return Integer.toString(tens) + "." + Math.abs(x - 10 * tens);\r
+ }\r
+\r
+ private IntentFilter mIntentFilter;\r
+ private IntentFilter mIntentFilterSDCard;\r
+\r
+ private BroadcastReceiver mIntentReceiver = new BroadcastReceiver() {\r
+\r
+ @Override\r
+ public void onReceive(Context arg0, Intent arg1) {\r
+ String action = arg1.getAction();\r
+ if (action.equals(Intent.ACTION_BATTERY_CHANGED)) {\r
+ int plugType = arg1.getIntExtra(PLUGGED, 0);\r
+\r
+ bt_level.setText("" + arg1.getIntExtra(LEVEL, 0));\r
+ bt_vol.setText("" + arg1.getIntExtra(VOLTAGE, 0) + " "\r
+ + getString(R.string.battery_info_voltage_units));\r
+ bt_temp.setText(""\r
+ + tenthsToFixedString(arg1.getIntExtra(TEMPERATURE, 0))\r
+ + getString(R.string.battery_info_temperature_units));\r
+\r
+ int status = arg1.getIntExtra(STATUS,\r
+ BatteryManager.BATTERY_STATUS_UNKNOWN);\r
+ String statusString = null;\r
+ if (status == BatteryManager.BATTERY_STATUS_CHARGING) {\r
+ statusString = getString(R.string.battery_info_status_charging);\r
+ if (plugType > 0) {\r
+ statusString = statusString\r
+ + " "\r
+ + getString((plugType == BatteryManager.BATTERY_PLUGGED_AC) ? R.string.battery_info_status_charging_ac\r
+ : R.string.battery_info_status_charging_usb);\r
+ }\r
+ bt_bg.setBackgroundResource(R.drawable.charging_bt);\r
+ } else if (status == BatteryManager.BATTERY_STATUS_DISCHARGING) {\r
+ statusString = getString(R.string.battery_info_status_discharging);\r
+ bt_bg.setBackgroundResource(R.drawable.uncharging_bt);\r
+ } else if (status == BatteryManager.BATTERY_STATUS_NOT_CHARGING) {\r
+ statusString = getString(R.string.battery_info_status_not_charging);\r
+ bt_bg.setBackgroundResource(R.drawable.uncharging_bt);\r
+ } else if (status == BatteryManager.BATTERY_STATUS_FULL) {\r
+ statusString = getString(R.string.battery_info_status_full);\r
+ } else {\r
+ statusString = getString(R.string.battery_info_status_unknown);\r
+ bt_bg.setBackgroundResource(R.drawable.uncharging_bt);\r
+ }\r
+ bt_status.setText(statusString);\r
+\r
+ int health = arg1.getIntExtra(HEALTH,\r
+ BatteryManager.BATTERY_HEALTH_UNKNOWN);\r
+ String healthString;\r
+ if (health == BatteryManager.BATTERY_HEALTH_GOOD) {\r
+ healthString = getString(R.string.battery_info_health_good);\r
+ } else if (health == BatteryManager.BATTERY_HEALTH_OVERHEAT) {\r
+ healthString = getString(R.string.battery_info_health_overheat);\r
+ } else if (health == BatteryManager.BATTERY_HEALTH_DEAD) {\r
+ healthString = getString(R.string.battery_info_health_dead);\r
+ } else if (health == BatteryManager.BATTERY_HEALTH_OVER_VOLTAGE) {\r
+ healthString = getString(R.string.battery_info_health_over_voltage);\r
+ } else if (health == BatteryManager.BATTERY_HEALTH_UNSPECIFIED_FAILURE) {\r
+ healthString = getString(R.string.battery_info_health_unspecified_failure);\r
+ } else {\r
+ healthString = getString(R.string.battery_info_health_unknown);\r
+ }\r
+ battery_health.setText(healthString);\r
+ }\r
+ }\r
+ };\r
+\r
+ @Override\r
+ public void onPause() {\r
+ super.onPause();\r
+ }\r
+ \r
+ @Override\r
+ protected void onDestroy() {\r
+ unregisterReceiver();\r
+ super.onDestroy();\r
+ }\r
+\r
+\r
+ @Override\r
+ public void onClick(View arg0) {\r
+ Intent intent = new Intent(this, SystemMemory.class);\r
+ intent.putExtra("running", true);\r
+ intent.putExtra("pcbatest",pcbatest);\r
+ Intent intent1 = new Intent(this, TestMainActivity.class);\r
+\r
+ switch (arg0.getId()) {\r
+\r
+ case R.id.btn_two_left:\r
+ if (!running) {\r
+ startActivity(intent1);\r
+ } else {\r
+ startActivity(intent);\r
+ }\r
+ PreferenceManager\r
+ .getDefaultSharedPreferences(getApplicationContext())\r
+ .edit().putString("watchbattery", "true").commit();\r
+\r
+ finish();\r
+\r
+ break;\r
+ case R.id.btn_two_right:\r
+ if (!running) {\r
+ startActivity(intent1);\r
+ } else {\r
+\r
+ startActivity(intent);\r
+ }\r
+ PreferenceManager\r
+ .getDefaultSharedPreferences(getApplicationContext())\r
+ .edit().putString("watchbattery", "false").commit();\r
+ finish();\r
+\r
+ break;\r
+ }\r
+ }\r
+}\r
--- /dev/null
+/**\r
+ * Generated by smali2java 1.0.0.558\r
+ * Copyright (C) 2013 Hensence.com\r
+ */\r
+\r
+package mobile.miki;\r
+\r
+import android.app.ProgressDialog;\r
+import android.bluetooth.BluetoothAdapter;\r
+import android.bluetooth.BluetoothDevice;\r
+import android.content.BroadcastReceiver;\r
+import android.content.Context;\r
+import android.content.Intent;\r
+import android.content.IntentFilter;\r
+import android.os.Bundle;\r
+import android.os.Handler;\r
+import android.os.Message;\r
+import android.preference.PreferenceManager;\r
+import android.view.View;\r
+import android.view.View.OnClickListener;\r
+import android.widget.ListView;\r
+import android.widget.TextView;\r
+import android.widget.Toast;\r
+\r
+import java.util.ArrayList;\r
+import java.util.HashMap;\r
+\r
+import mobile.miki.adapter.ListViewAdapter;\r
+import mobile.miki.mainui.ButtonViewTwo;\r
+import mobile.miki.mainui.TestMainActivity;\r
+import mobile.miki.mainui.TestMainList;\r
+import mobile.miki.util.StringUtil;\r
+\r
+public class BlooToothActivity extends BaseActivity implements OnClickListener {\r
+ private static final int REQUEST_ENABLE_BT = 2;\r
+ private ProgressDialog dialogBar;\r
+ private ListView listView;\r
+ private ArrayList<HashMap<String, Object>> listViewData;\r
+ private BluetoothAdapter mBtAdapter;\r
+ private final BroadcastReceiver mReceiver;\r
+ private HashMap<String, Object> map;\r
+ private boolean flag = true;\r
+ \r
+ private ButtonViewTwo buttonView;\r
+ boolean running;\r
+ \r
+ public BlooToothActivity() {\r
+ this.listViewData = new ArrayList();\r
+ map = null;\r
+ mReceiver = new BroadcastReceiver() {\r
+ \r
+ public void onReceive(Context context, Intent intent) {\r
+ String action = intent.getAction();\r
+ if("android.bluetooth.device.action.FOUND".equals(action)) {\r
+ BluetoothDevice device = (BluetoothDevice)intent.getParcelableExtra("android.bluetooth.device.extra.DEVICE");\r
+ if(device.getBondState() != 12) {\r
+ //ProgressDialog dialogBar = this$0new HashMap();\r
+ BlooToothActivity.this.map = new HashMap();\r
+ BlooToothActivity.this.map.put(ListViewAdapter.NAME, StringUtil.isEmpty(device.getName()) ? "NULL" : device.getName());\r
+ BlooToothActivity.this.map.put(ListViewAdapter.DESCRIBE, device.getAddress());\r
+ ((ListViewAdapter)listView.getAdapter()).add(map);\r
+ BlooToothActivity.this.dialogBar.dismiss();\r
+ if(BlooToothActivity.this.map.size() > 0) {\r
+ if(flag) {\r
+ pass();\r
+ flag = false;\r
+ }\r
+ \r
+ }\r
+ }\r
+ return;\r
+ }\r
+ if("android.bluetooth.adapter.action.DISCOVERY_FINISHED".equals(action)) {\r
+ if(listView.getChildCount() == 0) {\r
+ ((TextView)findViewById(R.id.tvState)).setText(getSourceString(R.string.noFoundDev));\r
+ } else {\r
+ ((TextView)findViewById(R.id.tvState)).setText(getSourceString(R.string.found) + listView.getChildCount() + getSourceString(R.string.tsb));\r
+ }\r
+ if(dialogBar.isShowing()) {\r
+ dialogBar.dismiss();\r
+ }\r
+ }\r
+ }\r
+ };\r
+ }\r
+ \r
+ protected void onCreate(Bundle savedInstanceState) {\r
+ super.onCreate(savedInstanceState);\r
+ setContentView(R.layout.blooteeth_layout);\r
+ \r
+ buttonView = (ButtonViewTwo) findViewById(R.id.btn_set);\r
+ buttonView.btn_left.setOnClickListener(this);\r
+ buttonView.btn_right.setOnClickListener(this);\r
+ buttonView.btn_left.setClickable(false);\r
+ Intent intent = getIntent();\r
+ running = false;\r
+ if (intent != null) {\r
+ running = intent.getBooleanExtra("running", false);\r
+ }\r
+ \r
+ IntentFilter localIntentFilter1 = new IntentFilter("android.bluetooth.device.action.FOUND");\r
+ registerReceiver(this.mReceiver, localIntentFilter1);\r
+ IntentFilter localIntentFilter2 = new IntentFilter("android.bluetooth.adapter.action.DISCOVERY_FINISHED");\r
+ registerReceiver(this.mReceiver, localIntentFilter2);\r
+ this.listView = ((ListView)findViewById(R.id.lvDevice));\r
+ ArrayList localArrayList = this.listViewData;\r
+ String[] arrayOfString = new String[2];\r
+ arrayOfString[0] = ListViewAdapter.NAME;\r
+ arrayOfString[1] = ListViewAdapter.DESCRIBE;\r
+ int[] arrayOfInt = new int[2];\r
+ arrayOfInt[0] = R.id.name;\r
+ arrayOfInt[1] = R.id.describe;\r
+ ListViewAdapter localListViewAdapter = new ListViewAdapter(this, localArrayList, R.layout.list_item, arrayOfString, arrayOfInt);\r
+ this.listView.setAdapter(localListViewAdapter);\r
+ this.mBtAdapter = BluetoothAdapter.getDefaultAdapter();\r
+ this.dialogBar = new ProgressDialog(this);\r
+ this.dialogBar.setMax(100);\r
+ this.dialogBar.setProgress(0);\r
+ this.dialogBar.incrementProgressBy(1);\r
+ this.dialogBar.setMessage(getResources().getString(R.string.blScaning));\r
+ this.dialogBar.setProgressStyle(0);\r
+ scanDevice(null);\r
+ }\r
+ \r
+ public boolean openBlueTooth(View view) {\r
+ if(mBtAdapter != null) {\r
+ if(!mBtAdapter.isEnabled()) {\r
+ Intent enableIntent = new Intent("android.bluetooth.adapter.action.REQUEST_ENABLE");\r
+ startActivityForResult(enableIntent, 2);\r
+ return false;\r
+ }\r
+ ((TextView)findViewById(R.id.tvState)).setText(getSourceString(R.string.blOpened));\r
+ return true;\r
+ }\r
+ ((TextView)findViewById(R.id.tvState)).setText(getSourceString(R.string.blNoSerport));\r
+ return false;\r
+ }\r
+ \r
+ private String getSourceString(int id) {\r
+ return getResources().getString(id);\r
+ }\r
+ \r
+ public void scanDevice(View view) {\r
+ if(openBlueTooth(null)) {\r
+ if(mBtAdapter.isDiscovering()) {\r
+ mBtAdapter.cancelDiscovery();\r
+ }\r
+ mBtAdapter.startDiscovery();\r
+ dialogBar.show();\r
+ }\r
+ }\r
+ \r
+ public void onActivityResult(int requestCode, int resultCode, Intent data) {\r
+ switch(requestCode) {\r
+ case 2:\r
+ {\r
+ if(resultCode == -0x1) {\r
+ ((TextView)findViewById(R.id.tvState)).setText(getSourceString(R.string.blOpened));\r
+ if(mBtAdapter.isDiscovering()) {\r
+ mBtAdapter.cancelDiscovery();\r
+ }\r
+ mBtAdapter.startDiscovery();\r
+ dialogBar.show();\r
+ return;\r
+ }\r
+ ((TextView)findViewById(R.id.tvState)).setText(getSourceString(R.string.bldenied));\r
+ break;\r
+ }\r
+ }\r
+ }\r
+ \r
+ protected void onDestroy() {\r
+ super.onDestroy();\r
+ if(mBtAdapter.isEnabled()) {\r
+ mBtAdapter.disable();\r
+ }\r
+ unregisterReceiver(mReceiver);\r
+ }\r
+ \r
+\r
+ public void pass() {\r
+ Toast.makeText(getApplicationContext(), getResources().getString(R.string.ins_gsensor_toast),\r
+ Toast.LENGTH_SHORT).show();\r
+ buttonView.setSuccessColor();\r
+ \r
+ PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit().putString("bt", "true").commit();\r
+ if (running) {\r
+ new Handler() {\r
+ @Override\r
+ public void handleMessage(Message msg) {\r
+ super.handleMessage(msg);\r
+ switch (msg.what) {\r
+ case 0:\r
+ Intent intent;\r
+ intent = new Intent(BlooToothActivity.this, MotorTestActivity.class);\r
+ intent.putExtra("running", true);\r
+ startActivity(intent);\r
+ BlooToothActivity.this.finish();\r
+ break;\r
+\r
+ default:\r
+ break;\r
+ }\r
+ }\r
+\r
+ }.sendEmptyMessageDelayed(0, 1000);\r
+ }else{\r
+ buttonView.btn_left.setClickable(true);\r
+ }\r
+ }\r
+ \r
+ @Override\r
+ protected void onResume() {\r
+ buttonView.setSuccessColor();\r
+ buttonView.btn_left.setClickable(true);\r
+ super.onResume();\r
+ }\r
+\r
+ @Override\r
+ public void onClick(View arg0) {\r
+ Intent intent;\r
+\r
+ intent = new Intent(this, MotorTestActivity.class);\r
+ intent.putExtra("running", true);\r
+ Intent intent1 = new Intent(this, TestMainActivity.class);\r
+ // TestResult testResult = (TestResult) getApplicationContext();\r
+ switch (arg0.getId()) {\r
+\r
+ case R.id.btn_two_left:\r
+ if (!running) {\r
+ startActivity(intent1);\r
+ } else {\r
+ startActivity(intent);\r
+ }\r
+ PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit().putString("bt", "true")\r
+ .commit();\r
+ finish();\r
+ break;\r
+ case R.id.btn_two_right:\r
+ if (!running) {\r
+ startActivity(intent1);\r
+ } else {\r
+ startActivity(intent);\r
+ }\r
+ PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit().putString("bt", "false")\r
+ .commit();\r
+ finish();\r
+ break;\r
+ }\r
+ }\r
+ \r
+ @Override\r
+ public void onBackPressed() {\r
+ // super.onBackPressed();\r
+ if (running) {\r
+ Intent intent = new Intent(this, TestMainList.class);\r
+ startActivity(intent);\r
+ finish();\r
+ } else {\r
+ finish();\r
+ }\r
+ }\r
+\r
+\r
+}\r
--- /dev/null
+package mobile.miki;
+
+import android.app.Activity;
+import android.content.ContentResolver;
+import android.content.Intent;
+import android.os.Bundle;
+import android.os.Handler;
+import android.os.Message;
+import android.preference.PreferenceManager;
+import android.provider.Settings;
+import android.provider.Settings.SettingNotFoundException;
+import android.util.Log;
+import android.view.View;
+import android.view.Window;
+import android.view.WindowManager;
+import android.widget.SeekBar;
+import android.widget.TextView;
+import android.widget.Toast;
+
+import java.io.FileInputStream;
+
+import mobile.miki.mainui.ButtonViewTwo;
+import mobile.miki.mainui.TestMainActivity;
+import mobile.miki.mainui.TestMainList;
+
+//import sim.android.mtkcit.CITActivity;
+//import sim.android.mtkcit.R;
+//import sim.android.mtkcit.AutoTestActivity;
+
+public class BrightnessTest extends BaseActivity
+ implements SeekBar.OnSeekBarChangeListener, android.view.View.OnClickListener {
+ /** Called when the activity is first created. */
+ TextView textView;
+ boolean bMaxBrightness;
+ boolean bAutoAdjust;
+ WindowManager.LayoutParams lp;
+ Window win;
+ SeekBar mseekBar;
+ private String mCurrentBrightness;
+ public static final int PCBA_TEST = 0;
+ public static final int MACHINE_TEST = 1;
+ int flag1 = 0;
+ int flag2 = 0;
+ String flag3;
+ private ButtonViewTwo buttonView;
+ boolean running;
+ private Handler mHandler;
+ private final int MSGID_LCD_RED = 0;
+ private final int MSGID_LCD_GREEN = 1;
+ private final int MSGID_LCD_BLUE = 2;
+ private final int MSGID_LCD_YELLOW = 4;
+ private final int MSGID_LCD_WHITE = 5;
+ private final int MSGID_LCD_OK = 6;
+
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ MyApplication.getInstance().addActivity(this);
+ setContentView(R.layout.test_brightness);
+ //dou
+ mHandler = new Handler() {
+ @Override
+ public void handleMessage(Message msg) {
+ // TODO Auto-generated method stub
+ switch (msg.what) {
+ case MSGID_LCD_RED:
+ Toast.makeText(getApplicationContext(), BrightnessTest.this.getResources().getString(R.string.testing_backlight), Toast.LENGTH_SHORT).show();
+ setBrightness(20);
+ break;
+ case MSGID_LCD_GREEN:
+ setBrightness(20);
+ break;
+ case MSGID_LCD_BLUE:
+ setBrightness(20);
+ break;
+ case MSGID_LCD_YELLOW://黑
+ setBrightness(100);
+ break;
+ case MSGID_LCD_WHITE:
+ setBrightness(20);
+ break;
+ case MSGID_LCD_OK:
+ setBrightness(220);
+ break;
+ default:
+ break;
+ }
+ }
+ };
+ //end
+
+
+
+ textView = (TextView) findViewById(R.id.MyBrightness);
+ // btn_success = (Button) findViewById(R.id.btn_success);
+ // btn_success.setOnClickListener(this);
+ // btn_fail = (Button) findViewById(R.id.btn_fail);
+ // btn_fail.setOnClickListener(this);
+ //
+ // ct.initButton(btn_success);
+ bAutoAdjust = isAutoBrightness();
+ mseekBar = (SeekBar) findViewById(R.id.BrightnessSeekBar);
+ Intent intent = getIntent();
+ running = false;
+ if (intent != null) {
+ running = intent.getBooleanExtra("running", false);
+ }
+ buttonView = (ButtonViewTwo) findViewById(R.id.btn_set);
+ buttonView.btn_left.setOnClickListener(this);
+ buttonView.btn_right.setOnClickListener(this);
+ buttonView.btn_left.setClickable(false);
+
+ Log.v("fengxuanyyang", "seekBar=" + mseekBar);
+ int iCurrentBrightness = (int) (android.provider.Settings.System.getInt(getContentResolver(),
+ android.provider.Settings.System.SCREEN_BRIGHTNESS, 255));
+ mseekBar.setProgress(iCurrentBrightness);
+ mseekBar.setOnSeekBarChangeListener(this);
+ mCurrentBrightness = getBrightness();
+ // String
+ String current_brightness = getResources().getString(R.string.fmTest);
+ current_brightness += iCurrentBrightness;
+ textView.setText(current_brightness);
+ if (bAutoAdjust)
+ stopAutoBrightness();
+
+ }
+
+ @Override
+ protected void onStart() {
+ // TODO Auto-generated method stub
+ mHandler.sendEmptyMessageDelayed(MSGID_LCD_RED, 1000);
+ mHandler.sendEmptyMessageDelayed(MSGID_LCD_GREEN, 2000);
+ mHandler.sendEmptyMessageDelayed(MSGID_LCD_BLUE, 3000);
+ mHandler.sendEmptyMessageDelayed(MSGID_LCD_YELLOW, 4000);
+ mHandler.sendEmptyMessageDelayed(MSGID_LCD_WHITE, 5000);
+ mHandler.sendEmptyMessageDelayed(MSGID_LCD_OK, 6000);
+ super.onStart();
+ }
+
+ @Override
+ public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
+
+ if (fromUser) {
+ Integer tmpInt = seekBar.getProgress();
+ setBrightness(tmpInt);
+ Log.v("fengxuanyang", "tmpInt=" + tmpInt);
+
+ } // mCurrentBrightness=getScreenBrightness(this);
+ mCurrentBrightness = getBrightness();
+
+ String current_brightness = getResources().getString(R.string.fmTest);
+ // current_brightness += mCurrentBrightness;
+ current_brightness += progress;
+ textView.setText(current_brightness);
+ judgePass(mCurrentBrightness);
+
+ }
+
+ protected void onStop() {
+ super.onStop();
+ if (bAutoAdjust)
+ startAutoBrightness();
+ }
+
+ private void setBrightness(int brightness) {
+ int temp = brightness;
+
+ if (temp < 1)
+ temp = 1;
+ else if (temp > 255)
+ temp = 255;
+
+ win = getWindow();
+ lp = win.getAttributes();
+ lp.screenBrightness = Float.valueOf(temp/* brightness */) * (1f / 255f);
+ win.setAttributes(lp);
+ }
+
+ private int getScreenBrightness(Activity activity) {
+ int nowBrightnessValue = 0;
+ ContentResolver resolver = activity.getContentResolver();
+ try {
+ nowBrightnessValue = android.provider.Settings.System.getInt(resolver, Settings.System.SCREEN_BRIGHTNESS);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return nowBrightnessValue;
+ }
+
+ private String getBrightness() {
+ // / while(int i =3) {
+ byte[] buffer = new byte[4];
+ String result = android.provider.Settings.System.getInt(getContentResolver(),
+ android.provider.Settings.System.SCREEN_BRIGHTNESS, 255) + "";
+ // String str ;
+ String BRIGHTNESS_FILE = "/sys/class/leds/lcd-backlight/brightness";
+ FileInputStream fis;
+ try {
+ fis = new FileInputStream(BRIGHTNESS_FILE);
+ fis.read(buffer);
+ result = new String(buffer);
+ Log.v("fengxuanyang", result);
+ fis.close();
+ // Log.v("fengxuanyang", "result="+result);
+ } catch (Exception e) {
+ Log.v("fengxuanyang", "read BRIGHTNESS_FILE error");
+ e.printStackTrace();
+ }
+ return result;
+
+ }
+
+ private void startAutoBrightness() {
+ Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS_MODE,
+ Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC);
+ }
+
+ private void stopAutoBrightness() {
+ Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS_MODE,
+ Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL);
+ }
+
+ private boolean isAutoBrightness() {
+ boolean automicBrightness = false;
+ try {
+ automicBrightness = Settings.System.getInt(getContentResolver(),
+ Settings.System.SCREEN_BRIGHTNESS_MODE) == Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC;
+ } catch (SettingNotFoundException e) {
+ e.printStackTrace();
+ }
+ return automicBrightness;
+ }
+
+ String mCurrentBrightness1;
+ String mCurrentBrightness2;
+ int i;
+
+ private void judgePass(String mCurrentBrightness) {
+ mCurrentBrightness1 = mCurrentBrightness;
+ Log.v("fengxuanyang", mCurrentBrightness1 + "----" + mCurrentBrightness2);
+ if (i == 1) {
+ mCurrentBrightness2 = mCurrentBrightness;
+ if (mCurrentBrightness2.equals(mCurrentBrightness2)) {
+ Log.v("fengxuanyang", mCurrentBrightness1 + "----" + mCurrentBrightness2);
+ // btn_success.setEnabled(true);
+ }
+ }
+ i++;
+ Log.v("fengxuanyang", mCurrentBrightness);
+
+ }
+
+ @Override
+ public void onStartTrackingTouch(SeekBar seekBar) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void onStopTrackingTouch(SeekBar seekBar) {
+ // TODO Auto-generated method stub
+
+ }
+
+ // OnSeekBarChangeListener seekListener = new OnSeekBarChangeListener() {
+ //
+ // public void onProgressChanged(SeekBar seekBar, int progress,
+ // boolean fromUser) {
+ // if (fromUser) {
+ // Integer tmpInt = seekBar.getProgress();
+ // System.out.println(tmpInt);
+ // // 51 (seek scale) * 5 = 255 (max brightness)
+ // // Old way
+ // android.provider.Settings.System.putInt(getContentResolver(),
+ // android.provider.Settings.System.SCREEN_BRIGHTNESS,
+ // tmpInt); // 0-255
+ // tmpInt = Settings.System.getInt(getContentResolver(),
+ // Settings.System.SCREEN_BRIGHTNESS, -1);
+ // // Cupcake way..... sucks
+ // WindowManager.LayoutParams lp = getWindow().getAttributes();
+ // // lp.screenBrightness = 1.0f;
+ // // Float tmpFloat = (float)tmpInt / 255;
+ // if (0<= tmpInt && tmpInt <= 255) {
+ // lp.screenBrightness = tmpInt;
+ // }
+ //
+ //
+ // getWindow().setAttributes(lp);
+ // }
+ //
+ // }
+ //
+ // @Override
+ // public void onStartTrackingTouch(SeekBar seekBar) {
+ // // TODO Auto-generated method stub
+ // // put awesomeness here
+ // }
+ //
+ // @Override
+ // public void onStopTrackingTouch(SeekBar seekBar) {
+ // // TODO Auto-generated method stub
+ // // and here too
+ // }
+ // };
+
+ @Override
+ public void onClick(View arg0) {
+ Intent intent = new Intent(this, GravitySensorActivity.class);
+ intent.putExtra("running", true);
+ Intent intent1 = new Intent(this, TestMainActivity.class);
+ // TestResult testResult = (TestResult) getApplicationContext();
+ switch (arg0.getId()) {
+
+ case R.id.btn_two_left:
+ if (!running) {
+ startActivity(intent1);
+ } else {
+ startActivity(intent);
+ }
+ PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit().putString("light", "true")
+ .commit();
+ finish();
+ break;
+ case R.id.btn_two_right:
+ if (!running) {
+ startActivity(intent1);
+ } else {
+ startActivity(intent);
+ }
+ PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit().putString("light", "false")
+ .commit();
+ finish();
+ break;
+ }
+ }
+
+ @Override
+ protected void onResume() {
+ buttonView.setSuccessColor();
+ buttonView.btn_left.setClickable(true);
+ super.onResume();
+ }
+
+
+ @Override
+ public void onBackPressed() {
+ // super.onBackPressed();
+ if (running) {
+ Intent intent = new Intent(this, TestMainList.class);
+ startActivity(intent);
+ finish();
+ } else {
+ finish();
+ }
+ }
+
+}
\ No newline at end of file
--- /dev/null
+/**\r
+ * Generated by smali2java 1.0.0.558\r
+ * Copyright (C) 2013 Hensence.com\r
+ */\r
+\r
+package mobile.miki;\r
+\r
+import android.annotation.SuppressLint;\r
+import android.app.Service;\r
+import android.content.BroadcastReceiver;\r
+import android.content.Context;\r
+import android.content.Intent;\r
+import android.content.IntentFilter;\r
+import android.graphics.Color;\r
+import android.hardware.Camera;\r
+import android.os.Build;\r
+import android.os.Bundle;\r
+import android.os.Handler;\r
+import android.os.Message;\r
+import android.os.PowerManager;\r
+import android.os.PowerManager.WakeLock;\r
+import android.preference.PreferenceManager;\r
+import android.util.DisplayMetrics;\r
+import android.util.Log;\r
+import android.view.Surface;\r
+import android.view.SurfaceHolder;\r
+import android.view.SurfaceView;\r
+import android.view.View;\r
+import android.view.View.OnClickListener;\r
+import android.view.WindowManager;\r
+import android.widget.Button;\r
+import android.widget.Toast;\r
+\r
+import java.io.IOException;\r
+import java.util.List;\r
+\r
+import mobile.miki.ageingmode.AgeingModeActivity;\r
+import mobile.miki.mainui.ButtonViewTwo;\r
+import mobile.miki.mainui.TestMainActivity;\r
+import mobile.miki.util.FTUtils;\r
+\r
+public class CameraPreview extends BaseActivity implements SurfaceHolder.Callback, OnClickListener {\r
+ private static final String TAG = "AgeingCameraPreview";\r
+ private Camera camera = null;\r
+ Handler handler;\r
+ Button bt;\r
+ private SurfaceHolder holder;\r
+ private boolean isAutoFocus;\r
+ private float mAspectRatio;\r
+ private int mH;\r
+ private int mHorizontalTileSize;\r
+ private int mPrvH;\r
+ private int mPrvW;\r
+ private int mVerticalTileSize;\r
+ private int mW;\r
+ private CameraSurfaceView preview;\r
+ private int TIME = 1000 * 10;\r
+ private int SINGLEITEM_OR_CYCLE_MODE;\r
+ private int WORK_TIME;\r
+ private MyReceiver receiver=null;\r
+ public static CameraPreview instance = null;\r
+ public SurfaceView surfaceView;\r
+ private DisplayMetrics mDisplayMetrics;\r
+ private static final int FRONT = 1;//前置摄像头标记\r
+ private static final int BACK = 2;//后置摄像头标记\r
+ private int currentCameraType = 2;//当前打开的摄像头标记\r
+ private Button change_camera;\r
+\r
+ public CameraPreview() {\r
+ mHorizontalTileSize = 16;\r
+ mVerticalTileSize = 16;\r
+ mAspectRatio = 1.0f;\r
+ //设置camera宽,高\r
+ mPrvH = 360;\r
+ mPrvW = 360;\r
+ isAutoFocus = true;\r
+ handler = new Handler( ) {\r
+\r
+ public void handleMessage(Message msg) {\r
+ if(camera != null) {\r
+ camera.autoFocus(null);\r
+ }\r
+ }\r
+ };\r
+ }\r
+\r
+// static {\r
+// System.loadLibrary("ftmjni");\r
+// }\r
+ private ButtonViewTwo buttonView;\r
+ boolean running;\r
+ boolean pcbatest;\r
+ boolean isEgeingMode = false;\r
+ private PowerManager powerManager = null;\r
+ private WakeLock wakeLock = null;\r
+\r
+ public void onCreate(Bundle savedInstanceState) {\r
+ super.onCreate(savedInstanceState);\r
+ requestWindowFeature(0x1);\r
+ setContentView(R.layout.camera_preview_layout);\r
+ instance = this;\r
+ bt = (Button)findViewById(R.id.isZoom);\r
+ Log.i("AgeingCameraPreview", "platform:" + getString(R.string.project));\r
+\r
+ buttonView = (ButtonViewTwo) findViewById(R.id.btn_set);\r
+ buttonView.btn_left.setOnClickListener(this);\r
+ buttonView.btn_right.setOnClickListener(this);\r
+ buttonView.btn_left.setClickable(false);\r
+ change_camera = (Button) findViewById(R.id.change_camera);\r
+ change_camera.setOnClickListener(this);\r
+ // s09双摄切换\r
+ if (!FTUtils.isS06()) {\r
+ change_camera.setVisibility(View.GONE);\r
+ }\r
+\r
+ init();\r
+ ageingMode();\r
+ }\r
+\r
+\r
+ private void init() {\r
+\r
+ //preview = (CameraSurfaceView)findViewById(R.id.camera_preview);\r
+ surfaceView = (SurfaceView) findViewById(R.id.camera_preview);\r
+ //preview.setAspectRatio(mPrvW, mPrvH);\r
+ holder = surfaceView.getHolder();\r
+ holder.addCallback(this);\r
+ holder.setType(0x3);\r
+\r
+ buttonView.setSuccessColor();\r
+ buttonView.btn_left.setClickable(true);\r
+\r
+ getCameraIntent();\r
+ if(isEgeingMode) {\r
+ powerManager = (PowerManager) this.getSystemService(Service.POWER_SERVICE);\r
+ wakeLock = this.powerManager.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK, "My Lock");\r
+ if(wakeLock != null) {\r
+ //是否需计算锁的数量\r
+ wakeLock.setReferenceCounted(false);\r
+ //请求屏幕常亮,onResume()方法中执行\r
+ wakeLock.acquire();\r
+ }\r
+\r
+ }\r
+\r
+ }\r
+\r
+ protected Camera.Size getBestPreSize(int surfaceWidth, int surfaceHeight, List<Camera.Size> preSizeList) {\r
+\r
+ int ReqTmpWidth;\r
+ int ReqTmpHeight;\r
+ // 当屏幕为垂直的时候需要把宽高值进行调换,保证宽大于高\r
+ boolean mIsPortrait=false;\r
+ if (mIsPortrait) {\r
+ ReqTmpWidth = surfaceHeight;\r
+ ReqTmpHeight = surfaceWidth;\r
+ } else {\r
+ ReqTmpWidth = surfaceWidth;\r
+ ReqTmpHeight = surfaceHeight;\r
+ }\r
+ //先查找preview中是否存在与surfaceview相同宽高的尺寸\r
+ for(Camera.Size size : preSizeList){\r
+ if((size.width == ReqTmpWidth) && (size.height == ReqTmpHeight)){\r
+ return size;\r
+ }\r
+ }\r
+\r
+ // 得到与传入的宽高比最接近的size\r
+ float reqRatio = ((float) ReqTmpWidth) / ReqTmpHeight;\r
+ float curRatio, deltaRatio;\r
+ float deltaRatioMin = Float.MAX_VALUE;\r
+ Camera.Size retSize = null;\r
+ for (Camera.Size size : preSizeList) {\r
+ curRatio = ((float) size.width) / size.height;\r
+ deltaRatio = Math.abs(reqRatio - curRatio);\r
+ if (deltaRatio < deltaRatioMin) {\r
+ deltaRatioMin = deltaRatio;\r
+ retSize = size;\r
+ }\r
+ }\r
+ return retSize;\r
+ }\r
+\r
+ @Override\r
+ protected void onActivityResult(int requestCode, int resultCode, Intent data) {\r
+ super.onActivityResult(requestCode, resultCode, data);\r
+ }\r
+\r
+ /**\r
+ * 处理老化模式的状态\r
+ */\r
+ private void ageingMode() {\r
+ if(isEgeingMode && SINGLEITEM_OR_CYCLE_MODE == 1) {\r
+ // 单项无限循环\r
+ if (WORK_TIME == -1) {\r
+ WORK_TIME = 100000000;\r
+ }\r
+ TIME = WORK_TIME * Constants.SINGLEITEM_TIMES;\r
+ ageHandler.postDelayed(runnable, TIME);\r
+ sendBraodCaseReceiver();\r
+ } else if (isEgeingMode && SINGLEITEM_OR_CYCLE_MODE == 2) {\r
+ TIME = Constants.CYCLE_ONE_ACTIVITY_TIMES;\r
+ ageHandler.postDelayed(runnable, TIME);\r
+ registerReceiver();\r
+ } else {\r
+ sendBraodCaseReceiver();\r
+ }\r
+ }\r
+\r
+ private void sendBraodCaseReceiver() {\r
+ Intent intent = new Intent();\r
+ intent.setAction("com.android.stopTiming");\r
+ sendBroadcast(intent);\r
+ }\r
+\r
+ private void registerReceiver() {\r
+ receiver = new MyReceiver();\r
+ IntentFilter filter = new IntentFilter();\r
+ filter.addAction("com.android.stopActivity");\r
+ CameraPreview.this.registerReceiver(receiver, filter);\r
+ }\r
+\r
+ private void getCameraIntent() {\r
+ Intent intent = getIntent();\r
+ running = false;\r
+ pcbatest = false;\r
+ if (intent != null) {\r
+ try {\r
+ running = intent.getBooleanExtra("running", false);\r
+ pcbatest = intent.getBooleanExtra("pcbatest",false);\r
+ } catch (Exception e) {\r
+ e.printStackTrace();\r
+ }\r
+\r
+ }\r
+ if (intent != null) {\r
+ try {\r
+ isEgeingMode = intent.getBooleanExtra("ageing_mode", false);\r
+ SINGLEITEM_OR_CYCLE_MODE = intent.getIntExtra("singleitem_or_cycle_mode", 0);\r
+ WORK_TIME = intent.getIntExtra("work_time", 0);\r
+ } catch (Exception e) {\r
+ e.printStackTrace();\r
+ }\r
+ }\r
+ }\r
+\r
+ protected void onResume() {\r
+ super.onResume();\r
+\r
+\r
+ }\r
+\r
+\r
+\r
+ @Override\r
+ protected void onPause() {\r
+ super.onPause();\r
+\r
+\r
+ }\r
+\r
+ private int roundUpToTile(int dimension, int tileSize, int maxDimension) {\r
+ return Math.min(((((dimension + tileSize) - 0x1) / tileSize) * tileSize), maxDimension);\r
+ }\r
+\r
+ protected void onDestroy() {\r
+ if(camera != null) {\r
+ camera.release();\r
+ camera = null;\r
+ }\r
+\r
+ if(wakeLock != null) {\r
+ //取消屏幕常亮,onPause()方法中执行\r
+ wakeLock.release();\r
+ wakeLock = null;\r
+ }\r
+\r
+ isAutoFocus = false;\r
+ stopLoop(null);\r
+\r
+ if(ageHandler != null && runnable != null) {\r
+ ageHandler.removeCallbacks(runnable);\r
+ }\r
+ if (receiver != null) {\r
+ unregisterReceiver(receiver);\r
+ }\r
+\r
+ if(handler != null) {\r
+ handler.removeCallbacksAndMessages(handler.obtainMessage());\r
+ }\r
+\r
+ super.onDestroy();\r
+ }\r
+\r
+ public void pullClose(View view) {\r
+ if(camera.getParameters().isZoomSupported()) {\r
+ camera.getParameters().setZoom(0x0);\r
+ }\r
+ }\r
+\r
+ public void pullFar(View view) {\r
+ if(camera.getParameters().isZoomSupported()) {\r
+ camera.getParameters().setZoom(camera.getParameters().getMaxZoom());\r
+ }\r
+ }\r
+\r
+ public void pullLoop(View view) {\r
+ isAutoFocus = true;\r
+ new CameraPreview.AutoFocus( ).start();\r
+ if(camera.getParameters().isZoomSupported()) {\r
+ bt.setText(getString(R.string.isZoom_y));\r
+ bt.setTextColor(Color.GREEN);\r
+ bt.setBackgroundColor(0xFFDEAD);\r
+ bt.setVisibility(View.VISIBLE);\r
+ }else{\r
+ bt.setText(getString(R.string.isZoom_n));\r
+ bt.setBackgroundColor(0xFFDEAD);\r
+ bt.setTextColor(Color.RED);\r
+ bt.setVisibility(View.VISIBLE);\r
+ }\r
+\r
+ }\r
+\r
+ public void stopLoop(View view) {\r
+ isAutoFocus = false;\r
+ }\r
+\r
+ class AutoFocus extends Thread {\r
+\r
+ public void run() {\r
+ while(isAutoFocus) {\r
+ Log.i("AgeingCameraPreview", "autoFocus");\r
+ try {\r
+ handler.sendMessage(handler.obtainMessage());\r
+ sleep(0xbb8);\r
+ continue;\r
+ } catch(InterruptedException e) {\r
+ e.printStackTrace();\r
+ }\r
+ }\r
+ }\r
+ }\r
+\r
+ public void surfaceCreated(SurfaceHolder holder) {\r
+ Log.e("zhangdi","surfaceCreated");\r
+ try {\r
+ ///参数0为主摄像头。不加参数camera可能会为空\r
+// try {\r
+// camera = Camera.open(0);\r
+// } catch (Exception e) {\r
+// Toast.makeText(CameraPreview.this, "resume_cameraError", Toast.LENGTH_LONG).show();\r
+// }\r
+ camera = Camera.open(0);\r
+ if(camera != null) {\r
+ Camera.Parameters parameters = camera.getParameters();\r
+ parameters.setPictureFormat(0x100);\r
+ parameters.setFlashMode("on");\r
+ List<Camera.Size> sizes = camera.getParameters().getSupportedPreviewSizes();\r
+ mDisplayMetrics=getResources().getDisplayMetrics();\r
+ Camera.Size bestsize=getBestPreSize(mDisplayMetrics.widthPixels,mDisplayMetrics.heightPixels,sizes);\r
+ parameters.setPreviewSize(bestsize.width,bestsize.height);\r
+ //parameters.setPictureSize(640,480);\r
+ camera.setPreviewDisplay(holder);\r
+ setCameraDirection();\r
+ camera.setParameters(parameters);\r
+ camera.startPreview();\r
+ }\r
+\r
+ } catch(Exception exception) {\r
+ exception.printStackTrace();\r
+ String model = Build.MODEL;\r
+ if(!model.equals("F6")){ //传奇报错\r
+ Toast.makeText(CameraPreview.this, "cameraError", Toast.LENGTH_LONG).show();\r
+ if(camera != null) {\r
+ camera.release();\r
+ camera = null;\r
+ }\r
+ }\r
+ }\r
+ }\r
+\r
+ public void surfaceDestroyed(SurfaceHolder holder) {\r
+ Log.e("zhangdi","surfaceDestroyed");\r
+ if(camera != null) {\r
+ camera.stopPreview();\r
+ camera.setPreviewCallback(null);\r
+ camera.release();\r
+ camera = null;\r
+ }\r
+ }\r
+\r
+\r
+ public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) {\r
+ try {\r
+ this.holder = holder;\r
+ Log.e("zhangdi","surfaceChanged");\r
+ /*Camera.Parameters parameters = camera.getParameters();\r
+ parameters.setPictureFormat(0x100);\r
+ parameters.setFlashMode("on");\r
+ List<Camera.Size> sizes = camera.getParameters().getSupportedPreviewSizes();\r
+ mDisplayMetrics=getResources().getDisplayMetrics();\r
+ Camera.Size bestsize=getBestPreSize(mDisplayMetrics.widthPixels,mDisplayMetrics.heightPixels,sizes);\r
+ parameters.setPreviewSize(bestsize.width,bestsize.height);\r
+ parameters.setPictureSize(bestsize.width,bestsize.height);\r
+ Log.e("zhangdi","w:"+w+",h:"+h+",bestsize.width:"+bestsize.width+",bestsize.height:"+bestsize.height);\r
+// parameters.setPreviewSize(w, h);\r
+ camera.setParameters(parameters);*/\r
+\r
+// camera.startPreview();\r
+// return;\r
+ } catch(Exception localException1) {\r
+ }\r
+ }\r
+\r
+ @Override\r
+ public void onClick(View arg0) {\r
+ Intent intent = new Intent(this, WifiTestActiviy.class);\r
+ intent.putExtra("running", true);\r
+ intent.putExtra("pcbatest",pcbatest);\r
+ Intent intent1 = new Intent(this, TestMainActivity.class);\r
+ // TestResult testResult = (TestResult) getApplicationContext();\r
+ switch (arg0.getId()) {\r
+\r
+ case R.id.btn_two_left:\r
+ //如果当前是老化模式\r
+ if(isEgeingMode) {\r
+ Intent ageingIntent = new Intent(this,AgeingModeActivity.class);\r
+ startActivity(ageingIntent);\r
+ PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit().putString("ageing_camera", "true")\r
+ .commit();\r
+ } else {\r
+ if (!running) {\r
+ startActivity(intent1);\r
+ } else {\r
+ startActivity(intent);\r
+ }\r
+ PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit().putString("camera", "true")\r
+ .commit();\r
+ }\r
+ if(camera != null) {\r
+ camera.release();\r
+ camera = null;\r
+ }\r
+ finish();\r
+ break;\r
+ case R.id.btn_two_right:\r
+ if(isEgeingMode) {\r
+ Intent ageingIntent = new Intent(this,AgeingModeActivity.class);\r
+ startActivity(ageingIntent);\r
+ PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit().putString("ageing_camera", "false")\r
+ .commit();\r
+ } else {\r
+ if (!running) {\r
+ startActivity(intent1);\r
+ } else {\r
+ startActivity(intent);\r
+ }\r
+ PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit().putString("camera", "false")\r
+ .commit();\r
+ }\r
+ if(camera != null) {\r
+ camera.release();\r
+ camera = null;\r
+ }\r
+ finish();\r
+ break;\r
+ case R.id.change_camera:\r
+ try {\r
+ changeCamera();\r
+ } catch (IOException e) {\r
+ e.printStackTrace();\r
+ }\r
+ break;\r
+ }\r
+\r
+ }\r
+\r
+ Handler ageHandler = new Handler();\r
+ Runnable runnable = new Runnable() {\r
+\r
+ @Override\r
+ public void run() {\r
+ // handler自带方法实现定时器 \r
+ try {\r
+// handler.postDelayed(this, TIME); \r
+ System.out.println("do...");\r
+ if(SINGLEITEM_OR_CYCLE_MODE == 2) {\r
+ Intent ageingIntent = new Intent(CameraPreview.this,MikeTest.class);\r
+ ageingIntent.putExtra("ageing_mode", true);\r
+ ageingIntent.putExtra("singleitem_or_cycle_mode", SINGLEITEM_OR_CYCLE_MODE);\r
+ ageingIntent.putExtra("work_time", WORK_TIME);\r
+ ageingIntent.putExtra("first_start_service", false);\r
+ startActivity(ageingIntent);\r
+ }\r
+ } catch (Exception e) {\r
+ e.printStackTrace();\r
+ System.out.println("exception...");\r
+ }\r
+ }\r
+ };\r
+\r
+ /**\r
+ * 获取广播数据\r
+ *\r
+ */\r
+ public class MyReceiver extends BroadcastReceiver {\r
+ @Override\r
+ public void onReceive(Context arg0, Intent arg1) {\r
+ CameraPreview.this.finish();\r
+ }\r
+ }\r
+\r
+ private void setCameraDirection() {\r
+ android.hardware.Camera.CameraInfo info = new android.hardware.Camera.CameraInfo();\r
+ android.hardware.Camera.getCameraInfo(0, info);\r
+ WindowManager mWindowManager = (WindowManager) this.getSystemService(Context.WINDOW_SERVICE);\r
+ int rotation = mWindowManager.getDefaultDisplay().getRotation();\r
+ int degrees = 0;\r
+ switch (rotation) {\r
+ case Surface.ROTATION_0:\r
+ degrees = 0;\r
+ break;\r
+ case Surface.ROTATION_90:\r
+ degrees = 90;\r
+ break;\r
+ case Surface.ROTATION_180:\r
+ degrees = 180;\r
+ break;\r
+ case Surface.ROTATION_270:\r
+ degrees = 270;\r
+ break;\r
+ }\r
+\r
+ int result;\r
+ if (info.facing == Camera.CameraInfo.CAMERA_FACING_FRONT) {\r
+ result = (info.orientation + degrees) % 360;\r
+ result = (360 - result) % 360; // compensate the mirror\r
+ } else { // back-facing\r
+ result = (info.orientation - degrees + 360) % 360;\r
+ }\r
+ Log.i("dxc", "result " + result);\r
+ camera.setDisplayOrientation(result);\r
+ }\r
+\r
+ @SuppressLint("NewApi")\r
+ private Camera openCamera(int type){\r
+ int frontIndex =-1;\r
+ int backIndex = -1;\r
+ int cameraCount = Camera.getNumberOfCameras();\r
+ Camera.CameraInfo info = new Camera.CameraInfo();\r
+ for(int cameraIndex = 0; cameraIndex<cameraCount; cameraIndex++){\r
+ Camera.getCameraInfo(cameraIndex, info);\r
+ if(info.facing == Camera.CameraInfo.CAMERA_FACING_FRONT){\r
+ frontIndex = cameraIndex;\r
+ }else if(info.facing == Camera.CameraInfo.CAMERA_FACING_BACK){\r
+ backIndex = cameraIndex;\r
+ }\r
+ }\r
+\r
+ currentCameraType = type;\r
+ if(type == FRONT && frontIndex != -1){\r
+ return Camera.open(frontIndex);\r
+ }else if(type == BACK && backIndex != -1){\r
+ return Camera.open(backIndex);\r
+ }\r
+ return null;\r
+ }\r
+ private void changeCamera() throws IOException {\r
+\r
+ camera.stopPreview();\r
+ camera.release();\r
+ if(currentCameraType == FRONT){\r
+ Toast.makeText(this,"change to back camera", Toast.LENGTH_LONG).show();\r
+ camera = openCamera(BACK);\r
+ }else if(currentCameraType == BACK){\r
+ Toast.makeText(this,"change to front camera", Toast.LENGTH_LONG).show();\r
+ camera = openCamera(FRONT);\r
+ }\r
+ camera.setPreviewDisplay(surfaceView.getHolder());\r
+ setCameraDirection();\r
+ camera.startPreview();\r
+ }\r
+\r
+}\r
--- /dev/null
+package mobile.miki;\r
+\r
+import android.content.Context;\r
+import android.util.AttributeSet;\r
+import android.view.SurfaceView;\r
+import android.view.View;\r
+\r
+public class CameraSurfaceView extends SurfaceView {\r
+ private int mH;\r
+ private int mW;\r
+ private int mHorizontalTileSize = 0x10;\r
+ private int mVerticalTileSize = 0x10;\r
+ private float mAspectRatio = 0.0f;\r
+ \r
+ public CameraSurfaceView(Context context, AttributeSet attrs) {\r
+ super(context, attrs);\r
+ }\r
+ \r
+ public CameraSurfaceView(Context context) {\r
+ super(context);\r
+ }\r
+ \r
+ protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {\r
+ int widthSpecSize = View.MeasureSpec.getSize(widthMeasureSpec);\r
+ int heightSpecSize = View.MeasureSpec.getSize(heightMeasureSpec);\r
+ int width = widthSpecSize;\r
+ int height = heightSpecSize;\r
+ if((width > 0) && (height > 0)) {\r
+ if(mW > width) {\r
+ float defaultRatio = (float)width / (float)height;\r
+ if(defaultRatio < mAspectRatio) {\r
+ height = (int)((float)width / mAspectRatio);\r
+ } else if(defaultRatio > mAspectRatio) {\r
+ width = (int)((float)height * mAspectRatio);\r
+ }\r
+ width = roundUpToTile(width, mHorizontalTileSize, widthSpecSize);\r
+ height = roundUpToTile(height, mVerticalTileSize, heightSpecSize);\r
+ } else {\r
+ width = mW;\r
+ height = mH;\r
+ }\r
+ mW = width;\r
+ mH = height;\r
+ setMeasuredDimension(width, height);\r
+ return;\r
+ }\r
+ super.onMeasure(widthMeasureSpec, heightMeasureSpec);\r
+ }\r
+ \r
+ private int roundUpToTile(int dimension, int tileSize, int maxDimension) {\r
+ return Math.min(((((dimension + tileSize) - 0x1) / tileSize) * tileSize), maxDimension);\r
+ }\r
+ \r
+ public void setAspectRatio(int width, int height) {\r
+ mW = width;\r
+ mH = height;\r
+ setAspectRatio(((float)width / (float)height));\r
+ }\r
+ \r
+ public void setAspectRatio(float aspectRatio) {\r
+ mAspectRatio = aspectRatio;\r
+ requestLayout();\r
+ invalidate();\r
+ }\r
+}
\ No newline at end of file
--- /dev/null
+/**\r
+ * Generated by smali2java 1.0.0.558\r
+ * Copyright (C) 2013 Hensence.com\r
+ */\r
+\r
+package mobile.miki;\r
+\r
+import android.content.Context;\r
+import android.graphics.Canvas;\r
+import android.graphics.Paint;\r
+import android.graphics.Shader;\r
+import android.graphics.Typeface;\r
+import android.graphics.drawable.BitmapDrawable;\r
+import android.graphics.drawable.Drawable;\r
+import android.os.Build;\r
+import android.provider.Settings;\r
+import android.telephony.TelephonyManager;\r
+import android.util.AttributeSet;\r
+import android.util.Log;\r
+import android.view.SurfaceHolder;\r
+import android.view.SurfaceView;\r
+\r
+class CompassSurfaceView extends SurfaceView implements SurfaceHolder.Callback {\r
+ private PictureRender curCompassRender;\r
+ private static String deviceId;\r
+ private float direction;\r
+ private String[] directionLabels;\r
+ //public static final unknown_type[] directionRanges;\r
+ public static final int[][] directionRanges ;\r
+ private Paint mPaint;\r
+ private float realDirection;\r
+ float mScale = 0.0f;\r
+ int midX = 160;\r
+ int midY = 160;\r
+ boolean ready = false;\r
+ private int textColor = -1;\r
+ \r
+ static {\r
+ int[][] arrayOfInt = new int[8][];\r
+ int[] arrayOfInt1 = new int[0x2];\r
+ arrayOfInt1[0x0] = -0x16;\r
+ arrayOfInt1[0x1] = 0x16;\r
+ arrayOfInt[0x0] = arrayOfInt1;\r
+ int[] arrayOfInt2 = new int[0x2];\r
+ arrayOfInt2[0x0] = 0x17;\r
+ arrayOfInt2[0x1] = 0x43;\r
+ arrayOfInt[0x1] = arrayOfInt2;\r
+ int[] arrayOfInt3 = new int[0x2];\r
+ arrayOfInt3[0x0] = 0x44;\r
+ arrayOfInt3[0x1] = 0x70;\r
+ arrayOfInt[0x2] = arrayOfInt3;\r
+ int[] arrayOfInt4 = new int[0x2];\r
+ arrayOfInt4[0x0] = 0x71;\r
+ arrayOfInt4[0x1] = 0x9d;\r
+ arrayOfInt[0x3] = arrayOfInt4;\r
+ int[] arrayOfInt5 = new int[0x2];\r
+ arrayOfInt5[0x0] = -0x43;\r
+ arrayOfInt5[0x1] = -0x17;\r
+ arrayOfInt[0x4] = arrayOfInt5;\r
+ int[] arrayOfInt6 = new int[0x2];\r
+ arrayOfInt6[0x0] = -0x70;\r
+ arrayOfInt6[0x1] = -0x44;\r
+ arrayOfInt[0x5] = arrayOfInt6;\r
+ int[] arrayOfInt7 = new int[0x2];\r
+ arrayOfInt7[0x0] = -0x9d;\r
+ arrayOfInt7[0x1] = -0x71;\r
+ arrayOfInt[0x6] = arrayOfInt7;\r
+ int[] arrayOfInt8 = new int[0x2];\r
+ arrayOfInt8[0x0] = -0x9d;\r
+ arrayOfInt8[0x1] = 0x9d;\r
+ arrayOfInt[0x7] = arrayOfInt8;\r
+ directionRanges = arrayOfInt;\r
+ }\r
+ \r
+ public CompassSurfaceView(Context paramContext) {\r
+ super(paramContext);\r
+ init(paramContext);\r
+ }\r
+ \r
+ public CompassSurfaceView(Context paramContext, AttributeSet paramAttributeSet) {\r
+ super(paramContext, paramAttributeSet);\r
+ init(paramContext);\r
+ }\r
+ \r
+ private void drawBackground(Canvas paramCanvas) {\r
+ // getResources() = bg;\r
+ //(BitmapDrawable)getResources().setTileModeXY(Shader.TileMode.REPEAT, Shader.TileMode.REPEAT);\r
+ //bg.setBounds(0x0, 0x0, (midX * 0x2), (midY * 0x2));\r
+ //bg.draw(paramCanvas);\r
+ \r
+ Drawable localDrawable = getResources().getDrawable(2130837510);\r
+ ((BitmapDrawable)localDrawable).setTileModeXY(Shader.TileMode.REPEAT, Shader.TileMode.REPEAT);\r
+ localDrawable.setBounds(0, 0, 2 * this.midX, 2 * this.midY);\r
+ localDrawable.draw(paramCanvas);\r
+ \r
+ }\r
+ \r
+ private void drawCompass(Canvas paramCanvas, float paramFloat) {\r
+ if(curCompassRender == null) {\r
+ updateCompassRender();\r
+ }\r
+ if(curCompassRender == null) {\r
+ return;\r
+ }\r
+ curCompassRender.draw(paramCanvas, paramFloat, midX, midY);\r
+ }\r
+ \r
+ public String getDirectionLabel(float direction) {\r
+/* int paramInt = (int)direction;\r
+ for(int i = 0x0; i < directionRanges.length; i = i + 0x1) {\r
+ arrayOfInt = directionRanges[i];\r
+ if((i != (directionRanges.length - 0x1)) || (paramInt < arrayOfInt[0]) && (paramInt > arrayOfInt[0x1])) {\r
+ continue;\r
+ }\r
+ sb.append(directionLabels[i]);\r
+ break;\r
+ }\r
+ if(direction < 0x0) {\r
+ direction += 360.0f;\r
+ }\r
+ i = (int)direction;\r
+ sb.append(" ");\r
+ sb.append(i);\r
+ sb.append("\u00b0");\r
+ return sb.toString();*/\r
+ \r
+ \r
+ \r
+ StringBuilder localStringBuilder = new StringBuilder();\r
+ int i = (int)direction;\r
+ for (int j = 0; ; j++)\r
+ if (j < directionRanges.length)\r
+ {\r
+ int[] arrayOfInt = directionRanges[j];\r
+ if ((j == -1 + directionRanges.length) || ((i >= arrayOfInt[0]) && (i <= arrayOfInt[1])))\r
+ localStringBuilder.append(this.directionLabels[j]);\r
+ }\r
+ else\r
+ {\r
+ if (direction < 0.0F)\r
+ direction += 360.0F;\r
+ int k = (int)direction;\r
+ localStringBuilder.append(" ");\r
+ localStringBuilder.append(k);\r
+ localStringBuilder.append("\u00b0");\r
+ return localStringBuilder.toString();\r
+ }\r
+ \r
+ \r
+ }\r
+ \r
+ public static String getDeviceId(Context paramContext) {\r
+ if(!(deviceId != null) && (!"".equals(deviceId))) {\r
+ \r
+ if(paramContext.checkCallingOrSelfPermission("android.permission.READ_PHONE_STATE") == 0) {\r
+ deviceId = ((TelephonyManager)paramContext.getSystemService("phone")).getDeviceId();\r
+ }\r
+ if((deviceId == null) || ("".equals(deviceId))) {\r
+ deviceId = Settings.System.getString(paramContext.getContentResolver(), "android_id");\r
+ }\r
+\r
+ return deviceId;\r
+ } else if((deviceId == null) || ("".equals(deviceId))) {\r
+ deviceId = "android_id";\r
+ }\r
+ return deviceId;\r
+ \r
+ }\r
+ \r
+ private void init(Context paramContext) {\r
+ mScale = getContext().getResources().getDisplayMetrics().density;\r
+ getHolder().addCallback(this);\r
+ mPaint = new Paint();\r
+ mPaint.setAntiAlias(true);\r
+ mPaint.setARGB(0xff, 0x0, 0x0, 0x0);\r
+ mPaint.setStrokeWidth(8.0f);\r
+ mPaint.setColor(textColor);\r
+ mPaint.setTypeface(Typeface.SANS_SERIF);\r
+ mPaint.setTextSize((28.0f * mScale));\r
+ mPaint.setTextAlign(Paint.Align.CENTER);\r
+ directionLabels = paramContext.getResources().getStringArray(R.array.directionLabels);\r
+ updateCompassRender();\r
+ }\r
+ \r
+ private void updateCompassRender() {\r
+ try\r
+ {\r
+ int i = Math.min(2 * this.midX, 2 * this.midY);\r
+ if (i >= 200)\r
+ {\r
+ this.mPaint.setColor(this.textColor);\r
+ this.curCompassRender = new PictureRender(getContext(), i, R.drawable.ic_compass, R.drawable.ic_needle, 0);\r
+ }\r
+ } catch (Exception localException){\r
+ localException.printStackTrace();\r
+ } finally {\r
+ \r
+ }\r
+ }\r
+ \r
+ protected void onDraw(Canvas paramCanvas) {\r
+ if(!ready) {\r
+ return;\r
+ }\r
+ drawBackground(paramCanvas);\r
+ drawCompass(paramCanvas, direction);\r
+ }\r
+ \r
+ protected boolean onDrawnCheck(Canvas paramCanvas) {\r
+ if(ready) {\r
+ onDraw(paramCanvas);\r
+ return true;\r
+ }\r
+ return false;\r
+ }\r
+ \r
+ protected void onSizeChanged(int paramInt1, int paramInt2, int paramInt3, int paramInt4) {\r
+ super.onSizeChanged(paramInt1, paramInt2, paramInt3, paramInt4);\r
+ Log.e("LTCompass", "w=" + paramInt1 + ",h=" + paramInt2 + ",model:" + Build.MODEL + "," + Build.VERSION.RELEASE + ", " + Build.ID + ", " + getDeviceId(getContext()));\r
+ midX = (paramInt1 / 0x2);\r
+ midY = (paramInt2 / 0x2);\r
+ updateCompassRender();\r
+ }\r
+ \r
+ public void setDirection(float paramFloat1, float paramFloat2) {\r
+ realDirection = paramFloat1;\r
+ direction = paramFloat2;\r
+ }\r
+ \r
+ public void surfaceChanged(SurfaceHolder paramSurfaceHolder, int paramInt1, int paramInt2, int paramInt3) {\r
+ }\r
+ \r
+ public void surfaceCreated(SurfaceHolder paramSurfaceHolder) {\r
+ ready = true;\r
+ }\r
+ \r
+ public void surfaceDestroyed(SurfaceHolder paramSurfaceHolder) {\r
+ ready = false;\r
+ }\r
+}\r
--- /dev/null
+package mobile.miki;\r
+\r
+public class Constants {\r
+\r
+ public static final int SINGLEITEM_TIMES = 1000 * 60 * 60;\r
+ public static final int CYCLE_ONE_ACTIVITY_TIMES = 1000 * 60;\r
+ public static final int AGING_MODE_SETRESULT = 1002;\r
+}\r
--- /dev/null
+package mobile.miki;\r
+\r
+import android.content.Context;\r
+import android.content.Intent;\r
+import android.media.AudioFormat;\r
+import android.media.AudioManager;\r
+import android.media.AudioTrack;\r
+import android.media.MediaPlayer;\r
+import android.os.Build;\r
+import android.os.Bundle;\r
+import android.os.Handler;\r
+import android.os.Message;\r
+import android.preference.PreferenceManager;\r
+import android.util.Log;\r
+import android.view.View;\r
+import android.widget.Button;\r
+import android.widget.Toast;\r
+\r
+import java.io.BufferedInputStream;\r
+import java.io.ByteArrayInputStream;\r
+import java.io.DataInputStream;\r
+import java.io.File;\r
+import java.io.FileInputStream;\r
+import java.io.FileOutputStream;\r
+import java.io.IOException;\r
+import java.io.InputStream;\r
+import java.io.OutputStream;\r
+\r
+import mobile.miki.mainui.ButtonViewTwo;\r
+import mobile.miki.mainui.TestMainActivity;\r
+\r
+public class DSPActivity extends BaseActivity implements View.OnClickListener {\r
+\r
+ //音频获取源\r
+ //设置采样频率,44100是目前的标准\r
+ private int sampleRateInHz = 16000;\r
+ //设置输入声道为默认 CHANNEL_IN_DEFAULT 双声道立体声 CHANNEL_IN_STEREO 单声道为 CHANNEL_IN_MONO\r
+ private int channelInConfig = AudioFormat.CHANNEL_IN_STEREO;\r
+ //设置输出声道为默认 CHANNEL_OUT_DEFAULT 双声道立体声 CHANNEL_OUT_STEREO 单声道为 CHANNEL_OUT_MONO\r
+ private int channelOutConfig = AudioFormat.CHANNEL_OUT_STEREO;\r
+ //音频数据格式:PCM16位\r
+ private int audioFormat = AudioFormat.ENCODING_PCM_16BIT;\r
+ //录音状态\r
+ private AudioTrack audioTrack = null;\r
+ boolean flag = true;\r
+ int dbmd4_handle = 0;\r
+ private String path = "/storage/emulated/0/Music/dsp.pcm";\r
+ boolean isClose = false;\r
+\r
+ private ButtonViewTwo buttonView;\r
+ boolean running;\r
+ private Button begain_record;\r
+ private MediaPlayer mediaPlayer;\r
+ private Button begain_play;\r
+ AudioManager audioManager;\r
+ int maxVolume;\r
+\r
+ static {\r
+ // build.gradle里面 android\defaultConfig\ndk\moduleName 的名称\r
+ // Android.mk, LOCAL_MODULE 的名称\r
+ System.loadLibrary("dbmd4_test_jni");\r
+ }\r
+\r
+ //(JNIEnv *env, jobject thiz,jint card ,jint device,jint channels,jint bits,jint rate)\r
+ public static native int dbmd4_open(int card, int device, int channels, int bits, int rate);\r
+\r
+ public static native int dbmd4_get_buffersize(int dbmd4_handle);\r
+\r
+ //jint dbmd4_read_buffer(JNIEnv *env, jobject thiz,jint dbmd4_handle,jbyteArray buffer, jint length)\r
+ public static native int dbmd4_read_buffer(int dbmd4_handle, byte[] buffer, int length);\r
+\r
+ //static void dbmd4_close(JNIEnv *env, jobject thiz,jint dbmd4_handle)\r
+ public static native void dbmd4_close(int dbmd4_handle);\r
+\r
+ @Override\r
+ protected void onCreate(Bundle savedInstanceState) {\r
+ super.onCreate(savedInstanceState);\r
+ setContentView(R.layout.dsp_layout);\r
+ initUI();\r
+ setMaxVolum();\r
+ }\r
+\r
+ private void setMaxVolum() {\r
+ audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);\r
+ maxVolume = audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC);\r
+ audioManager.setStreamVolume(AudioManager.STREAM_MUSIC,\r
+ maxVolume, AudioManager.FLAG_SHOW_UI);\r
+ }\r
+\r
+ private void begain() {\r
+ dbmd4_handle = dbmd4_open(2, 0, 2, 16, 16000);\r
+ Log.i("dxc", "dbmd4_handle " + dbmd4_handle);\r
+// File file = new File("/storage/emulated/legacy/Music/16k.pcm");\r
+// playRecord(file, 0);\r
+ if (dbmd4_handle != 0) {\r
+ final int bufferSize = dbmd4_get_buffersize(dbmd4_handle);\r
+ final byte[] bytes = new byte[bufferSize]; //intToByteArray(bufferSize);\r
+ Log.i("dxc", "dbmd4_handle 1 bufferSize" + bufferSize);\r
+// new Thread(new Runnable() {\r
+// @Override\r
+// public void run() {\r
+ int i = 10;\r
+ byte[] bytesCopy = new byte[0];\r
+ while (i > 0) {\r
+// playMedia();\r
+ Log.i("dxc", "dbmd4_handle i" + i);\r
+ i--;\r
+ int result = dbmd4_read_buffer(dbmd4_handle, bytes, bufferSize);\r
+ Log.i("dxc", "dbmd4_handle dbmd4_read_buffer result" + result);\r
+ if (result != 0) {\r
+ bytesCopy = byteMerger(bytesCopy, bytes);\r
+ } else {\r
+ flag = false;\r
+ return;\r
+ }\r
+ }\r
+ Log.i("dxc", "dbmd4_handle byte len " + bytesCopy.length);\r
+ if (bytesCopy.length > 0) {\r
+ try {\r
+ writeBytesToFile(bytesCopy);\r
+ } catch (IOException e) {\r
+ e.printStackTrace();\r
+ }\r
+ }\r
+ Toast.makeText(this, "录制结束", Toast.LENGTH_LONG).show();\r
+ begain_record.setText(getResources().getString(R.string.startRecord));\r
+ begain_record.setClickable(true);\r
+ mHandler.sendEmptyMessageDelayed(0, 0);\r
+// }\r
+// }).start();\r
+\r
+ }\r
+\r
+ }\r
+\r
+ private Handler mHandler = new Handler(new Handler.Callback() {\r
+ @Override\r
+ public boolean handleMessage(Message message) {\r
+ Log.i("dxc","handleMessage");\r
+ releaseMedia();\r
+ dbmd4_close(dbmd4_handle);\r
+ isClose = true;\r
+ flag = false;\r
+ return false;\r
+ }\r
+ });\r
+\r
+ private void initUI() {\r
+ buttonView = (ButtonViewTwo) findViewById(R.id.btn_set);\r
+ buttonView.btn_left.setOnClickListener(this);\r
+ buttonView.btn_right.setOnClickListener(this);\r
+ buttonView.setSuccessColor();\r
+ buttonView.btn_left.setClickable(true);\r
+\r
+ begain_record = (Button) findViewById(R.id.begain_record);\r
+ begain_record.setOnClickListener(this);\r
+\r
+ begain_play = (Button) findViewById(R.id.begain_play);\r
+ begain_play.setOnClickListener(this);\r
+\r
+ Intent intent = getIntent();\r
+ running = false;\r
+ if (intent != null) {\r
+ running = intent.getBooleanExtra("running", false);\r
+ }\r
+ }\r
+\r
+ private void playMedia() {\r
+ mediaPlayer = MediaPlayer.create(this, R.raw.chongerfei);\r
+ if (mediaPlayer != null) {\r
+ mediaPlayer.stop();\r
+ }\r
+ try {\r
+ mediaPlayer.setLooping(true);\r
+ mediaPlayer.prepare();\r
+ mediaPlayer.start();\r
+ return;\r
+ } catch (IllegalStateException e) {\r
+ return;\r
+ } catch (IOException e) {\r
+ }\r
+ }\r
+\r
+ private void releaseMedia() {\r
+ if (mediaPlayer != null) {\r
+ mediaPlayer.release();\r
+ }\r
+ }\r
+\r
+ @Override\r
+ public void onClick(View view) {\r
+ Intent intent = new Intent(this, HeartRate.class);\r
+ intent.putExtra("running", true);\r
+ Intent intent1 = new Intent(this, TestMainActivity.class);\r
+ switch (view.getId()) {\r
+\r
+ case R.id.btn_two_left:\r
+ if (!running) {\r
+ startActivity(intent1);\r
+ } else {\r
+ startActivity(intent);\r
+ }\r
+ PreferenceManager\r
+ .getDefaultSharedPreferences(getApplicationContext())\r
+ .edit().putString("dsp", "true").commit();\r
+\r
+ finish();\r
+\r
+ break;\r
+ case R.id.btn_two_right:\r
+ if (!running) {\r
+ startActivity(intent1);\r
+ } else {\r
+\r
+ startActivity(intent);\r
+ }\r
+ PreferenceManager\r
+ .getDefaultSharedPreferences(getApplicationContext())\r
+ .edit().putString("dsp", "false").commit();\r
+ finish();\r
+\r
+ break;\r
+ case R.id.begain_record:\r
+ begain_record.setText(getResources().getString(R.string.recordStart));\r
+ begain_record.setClickable(false);\r
+ begain();\r
+ break;\r
+\r
+ case R.id.begain_play:\r
+ File file = new File(path);\r
+ playRecord(file, 0);\r
+ break;\r
+ }\r
+ }\r
+\r
+ @Override\r
+ protected void onDestroy() {\r
+ super.onDestroy();\r
+ // 防止多次关闭\r
+ if (!isClose) {\r
+ dbmd4_close(dbmd4_handle);\r
+ }\r
+ delFile(path);\r
+ stopPlay();\r
+ releaseMedia();\r
+ mHandler.removeCallbacksAndMessages(null);\r
+ }\r
+\r
+ /****播放录音***/\r
+ public void playRecord(File file, int offset){\r
+ try {\r
+ if (audioTrack != null){\r
+ stopPlay();\r
+ }\r
+ int length = (int) file.length();\r
+ audioTrack = new AudioTrack(AudioManager.STREAM_MUSIC,\r
+ sampleRateInHz,\r
+ channelOutConfig,\r
+ audioFormat,\r
+ length,\r
+ AudioTrack.MODE_STREAM);\r
+ audioTrack.play();\r
+ FileInputStream is = new FileInputStream(file);\r
+ BufferedInputStream bis = new BufferedInputStream(is);\r
+ DataInputStream dis = new DataInputStream(bis);\r
+ byte []by = new byte[length];\r
+ int i = 0;\r
+ while (dis.available() > 0){\r
+ by[i] = dis.readByte();\r
+ i++;\r
+ }\r
+ dis.close();\r
+ bis.close();\r
+ is.close();\r
+ playAudioTrack(by, offset, length);\r
+// stopPlay();\r
+ }catch (Exception e){\r
+ e.printStackTrace();\r
+ }\r
+ }\r
+\r
+ /**\r
+ *音频数据写入audioTrack\r
+ * @param audioData\r
+ * @param offset\r
+ * @param length\r
+ */\r
+ public void playAudioTrack(byte []audioData, int offset, int length){\r
+ try {\r
+ if (audioData == null || length == 0){\r
+ return ;\r
+ }\r
+ audioTrack.write(audioData, offset, length);\r
+ }catch (Exception e){\r
+ e.printStackTrace();\r
+ }\r
+ }\r
+\r
+ /****停止播放***/\r
+ public void stopPlay(){\r
+ try {\r
+ if (audioTrack != null){\r
+// audioTrack.stop();\r
+ audioTrack.release();\r
+ audioTrack = null;\r
+ }\r
+ }catch (Exception e){\r
+ e.printStackTrace();\r
+ }\r
+ }\r
+\r
+\r
+\r
+ public static byte[] byteMerger(byte[] bt1, byte[] bt2) {\r
+ byte[] bt3 = new byte[bt1.length + bt2.length];\r
+ int i = 0;\r
+ for (byte bt : bt1) {\r
+ bt3[i] = bt;\r
+ i++;\r
+ }\r
+\r
+ for (byte bt : bt2) {\r
+ bt3[i] = bt;\r
+ i++;\r
+ }\r
+ return bt3;\r
+ }\r
+\r
+ public static byte[] intToByteArray(int i) {\r
+ byte[] result = new byte[4];\r
+ // 由高位到低位\r
+ result[0] = (byte) ((i >> 24) & 0xFF);\r
+ result[1] = (byte) ((i >> 16) & 0xFF);\r
+ result[2] = (byte) ((i >> 8) & 0xFF);\r
+ result[3] = (byte) (i & 0xFF);\r
+ return result;\r
+ }\r
+\r
+ public static int bytesToInt(byte[] src, int offset) {\r
+ int value;\r
+ value = (int) ((src[offset] & 0xFF)\r
+ | ((src[offset+1] & 0xFF)<<8)\r
+ | ((src[offset+2] & 0xFF)<<16)\r
+ | ((src[offset+3] & 0xFF)<<24));\r
+ return value;\r
+ }\r
+\r
+ public static char byteToChar(byte[] b) {\r
+ int hi = (b[0] & 0xFF) << 8;\r
+ int lo = b[1] & 0xFF;\r
+ return (char) (hi | lo);\r
+ }\r
+\r
+ public void writeBytesToFile(byte[] bs) throws IOException {\r
+// String s = "aaaaaaaa";\r
+// byte[] bs= s.getBytes();\r
+ OutputStream out = new FileOutputStream(path);\r
+ InputStream is = new ByteArrayInputStream(bs);\r
+ byte[] buff = new byte[1024];\r
+ int len = 0;\r
+ while((len=is.read(buff))!=-1){\r
+ out.write(buff, 0, len);\r
+ }\r
+ is.close();\r
+ out.close();\r
+ }\r
+\r
+ public void delFile(String path){\r
+ File file=new File(path);\r
+ if(file.exists())\r
+ file.delete();\r
+ }\r
+\r
+}\r
--- /dev/null
+/**\r
+ * Generated by smali2java 1.0.0.558\r
+ * Copyright (C) 2013 Hensence.com\r
+ */\r
+\r
+package mobile.miki;\r
+\r
+import android.content.ComponentName;\r
+import android.content.Context;\r
+import android.content.Intent;\r
+import android.net.Uri;\r
+import android.os.Bundle;\r
+import android.preference.PreferenceManager;\r
+import android.telephony.TelephonyManager;\r
+import android.view.View;\r
+\r
+import mobile.miki.ageingmode.AgeingModeActivity;\r
+import mobile.miki.mainui.ButtonViewTwo;\r
+import mobile.miki.mainui.TestMainActivity;\r
+import mobile.miki.mainui.TestMainList;\r
+\r
+public class DialerTestActivity extends BaseActivity implements android.view.View.OnClickListener{\r
+ private static final String TAG = "DialerTestActivity";\r
+ private ButtonViewTwo buttonView;\r
+ boolean running;\r
+ boolean pcbatest;\r
+ boolean isEgeingMode = false;\r
+ \r
+ protected void onCreate(Bundle savedInstanceState) {\r
+ super.onCreate(savedInstanceState);\r
+ MyApplication.getInstance().addActivity(this);\r
+ setContentView(R.layout.dialer_test_layout);\r
+\r
+ getRingIntent();\r
+ \r
+ buttonView = (ButtonViewTwo) findViewById(R.id.btn_set);\r
+ buttonView.btn_left.setOnClickListener(this);\r
+ buttonView.btn_right.setOnClickListener(this);\r
+ buttonView.btn_left.setClickable(false);\r
+ //非老化模式就直接拨出电话\r
+ \r
+ if(isEgeingMode) {\r
+ ComponentName componentName = new ComponentName("com.android.dialer", "com.android.dialer.DialtactsActivity");\r
+ Intent dialerIntent = new Intent(Intent.ACTION_MAIN);\r
+ dialerIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);\r
+ dialerIntent.setComponent(componentName);\r
+ try {\r
+ startActivity(dialerIntent);\r
+ } catch (Exception e) {\r
+ e.printStackTrace();\r
+ }\r
+ } else {\r
+ testCallBtnClicked(null);\r
+ }\r
+\r
+ }\r
+ \r
+ private void getRingIntent() {\r
+ Intent intent = getIntent();\r
+ running = false;\r
+ pcbatest = false;\r
+ if (intent != null) {\r
+ try {\r
+ running = intent.getBooleanExtra("running", false);\r
+ pcbatest = intent.getBooleanExtra("pcbatest",false);\r
+ } catch (Exception e) {\r
+ e.printStackTrace();\r
+ }\r
+ \r
+ }\r
+ \r
+ if (intent != null) {\r
+ try {\r
+ isEgeingMode = intent.getBooleanExtra("ageing_mode", false);\r
+ } catch (Exception e) {\r
+ e.printStackTrace();\r
+ }\r
+ }\r
+ }\r
+ \r
+ public void testCallBtnClicked(View view) {\r
+ //Intent call = new Intent(Intent.ACTION_CALL_EMERGENCY, Uri.parse("tel:10086"));\r
+// Intent call = new Intent(Intent.ACTION_CALL, Uri.parse("tel:112"));\r
+ Intent call = null;\r
+ if (isChinaMobile(this)) {\r
+ call = new Intent(Intent.ACTION_CALL, Uri.parse("tel:10086"));\r
+ } else if (isChinaUnicom(this)) {\r
+ call = new Intent(Intent.ACTION_CALL, Uri.parse("tel:10010"));\r
+ } else if(isChinaTelecom(this)) {\r
+ call = new Intent(Intent.ACTION_CALL, Uri.parse("tel:10000"));\r
+ } else {\r
+ call = new Intent("android.intent.action.CALL_PRIVILEGED",Uri.parse("tel:"+112));\r
+ }\r
+ startActivity(call);\r
+ }\r
+ \r
+\r
+ @Override\r
+ public void onClick(View arg0) {\r
+\r
+ Intent intent;\r
+ if (pcbatest){\r
+ intent = new Intent(this, GravitySensorActivity.class);\r
+\r
+ }else{\r
+ intent = new Intent(this, BrightnessTest.class);\r
+ }\r
+\r
+ intent.putExtra("running", true);\r
+ intent.putExtra("pcbatest",pcbatest);\r
+ Intent intent1 = new Intent(this, TestMainActivity.class);\r
+ // TestResult testResult = (TestResult) getApplicationContext();\r
+ switch (arg0.getId()) {\r
+\r
+ case R.id.btn_two_left:\r
+ //如果当前是老化模式测试\r
+ if(isEgeingMode) {\r
+ Intent ageingIntent = new Intent(this,AgeingModeActivity.class);\r
+ startActivity(ageingIntent);\r
+ PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit().putString("ageing_dialer", "true")\r
+ .commit();\r
+ }else {\r
+ if (!running) {\r
+ startActivity(intent1);\r
+ } else {\r
+ startActivity(intent);\r
+ }\r
+ PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit().putString("dialer", "true")\r
+ .commit();\r
+ }\r
+ finish();\r
+ break;\r
+ case R.id.btn_two_right:\r
+ if(isEgeingMode) {\r
+ Intent ageingIntent = new Intent(this,AgeingModeActivity.class);\r
+ startActivity(ageingIntent);\r
+ PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit().putString("ageing_dialer", "false")\r
+ .commit();\r
+ } else {\r
+ if (!running) {\r
+ startActivity(intent1);\r
+ } else {\r
+ startActivity(intent);\r
+ }\r
+ PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit().putString("dialer", "false")\r
+ .commit();\r
+ }\r
+ finish();\r
+ break;\r
+ }\r
+ }\r
+\r
+ @Override\r
+ protected void onResume() {\r
+ buttonView.setSuccessColor();\r
+ buttonView.btn_left.setClickable(true);\r
+ super.onResume();\r
+ }\r
+ \r
+ @Override\r
+ public void onBackPressed() {\r
+ // super.onBackPressed();\r
+ if (running) {\r
+ Intent intent = new Intent(this, TestMainList.class);\r
+ startActivity(intent);\r
+ finish();\r
+ } else {\r
+ finish();\r
+ }\r
+ }\r
+\r
+\r
+ /** SIM卡是中国移动 */\r
+ public static boolean isChinaMobile(Context context) {\r
+ String imsi = getSimOperator(context);\r
+ if (imsi == null) return false;\r
+ return imsi.startsWith("46000") || imsi.startsWith("46002") || imsi.startsWith("46007");\r
+ }\r
+\r
+ /** SIM卡是中国联通 */\r
+ public static boolean isChinaUnicom(Context context) {\r
+ String imsi = getSimOperator(context);\r
+ if (imsi == null) return false;\r
+ return imsi.startsWith("46001");\r
+ }\r
+\r
+ /** SIM卡是中国电信 */\r
+ public static boolean isChinaTelecom(Context context) {\r
+ String imsi = getSimOperator(context);\r
+ if (imsi == null) return false;\r
+ return imsi.startsWith("46003");\r
+ }\r
+\r
+ private static String getSimOperator(Context context) {\r
+ TelephonyManager tm = (TelephonyManager)context.getSystemService(TELEPHONY_SERVICE);\r
+ return tm.getSubscriberId();\r
+ }\r
+}\r
--- /dev/null
+package mobile.miki;\r
+\r
+import android.content.Context;\r
+import android.content.Intent;\r
+import android.location.GpsSatellite;\r
+import android.location.GpsStatus;\r
+import android.location.Location;\r
+import android.location.LocationListener;\r
+import android.location.LocationManager;\r
+import android.os.Bundle;\r
+import android.os.Handler;\r
+import android.os.Message;\r
+import android.preference.PreferenceManager;\r
+import android.provider.Settings;\r
+import android.text.TextUtils;\r
+import android.util.Log;\r
+import android.view.Display;\r
+import android.view.View;\r
+import android.widget.TextView;\r
+import android.widget.Toast;\r
+\r
+import java.text.DecimalFormat;\r
+import java.util.ArrayList;\r
+import java.util.Iterator;\r
+import java.util.List;\r
+\r
+import mobile.miki.mainui.ButtonViewTwo;\r
+import mobile.miki.mainui.TestMainActivity;\r
+import mobile.miki.mainui.TestMainList;\r
+\r
+public class GpsTest extends BaseActivity implements\r
+ android.view.View.OnClickListener {\r
+ private LocationManager locationManager;\r
+ Location location;\r
+\r
+ private String locationInfo;\r
+ private List<GpsSatellite> numSatelliteList = new ArrayList<GpsSatellite>(); // 卫星信号\r
+ private List<GpsSatellite> max3Satellite = new ArrayList<GpsSatellite>(); // 卫星信号\r
+ private int satelliteInfo = 0;\r
+\r
+ private TextView tvGps;\r
+ private TextView tvResult;\r
+ private TextView tv_satellites;\r
+ private ButtonViewTwo buttonView;\r
+ boolean running;\r
+ boolean pcbatest;\r
+\r
+ private ReadGpsThread readGpsThread;\r
+ private double longitude;\r
+ private double latitude;\r
+\r
+ int gpsMode;\r
+ int numberOfSatellites;\r
+\r
+ @Override\r
+ protected void onCreate(Bundle arg0) {\r
+ // TODO Auto-generated method stub\r
+ super.onCreate(arg0);\r
+ MyApplication.getInstance().addActivity(this);\r
+ setContentView(R.layout.gps_test_new);\r
+// initGPS();\r
+ //打开gps开关\r
+ gpsMode = Settings.Secure.getInt(this.getContentResolver(), Settings.Secure.LOCATION_MODE,\r
+ Settings.Secure.LOCATION_MODE_OFF);\r
+ if (gpsMode != Settings.Secure.LOCATION_MODE_HIGH_ACCURACY) {\r
+ Settings.Secure.putInt(this.getContentResolver(), Settings.Secure.LOCATION_MODE, Settings.Secure.LOCATION_MODE_HIGH_ACCURACY);\r
+ }\r
+\r
+ Intent intent = getIntent();\r
+ running = false;\r
+ pcbatest = false;\r
+ if (intent != null) {\r
+ running = intent.getBooleanExtra("running", false);\r
+ pcbatest = intent.getBooleanExtra("pcbatest", false);\r
+ }\r
+ buttonView = (ButtonViewTwo) findViewById(R.id.btn_set);\r
+ buttonView.btn_left.setOnClickListener(this);\r
+ buttonView.btn_right.setOnClickListener(this);\r
+ buttonView.btn_left.setClickable(false);\r
+ tvGps = (TextView) findViewById(R.id.tv_gps);\r
+ tvResult = (TextView) findViewById(R.id.tv_result);\r
+ tvResult.setText(getResources().getString(R.string.gps_searching));\r
+ tv_satellites = (TextView)findViewById(R.id.tv_satellites);\r
+ // 获取location对象\r
+ locationManager = (LocationManager) this\r
+ .getSystemService(Context.LOCATION_SERVICE);\r
+ readGpsThread = new ReadGpsThread();\r
+ readGpsThread.start();\r
+ locationManager.addGpsStatusListener(statusListener);//搜星\r
+ getLocationInfo();\r
+\r
+ }\r
+\r
+ public String getLocationInfo() {\r
+\r
+ location = getBestLocation(locationManager);\r
+ // locationInfo = updateView(location);\r
+ locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,\r
+ 3000, 8, locationListener);\r
+ // 定位成功返回数据\r
+// tvGps.setText(locationInfo);\r
+// if (!"".equals(locationInfo)) {\r
+// pass();\r
+// }\r
+\r
+ return locationInfo;\r
+ }\r
+\r
+ boolean isFrist = true;\r
+\r
+ private String updateView(Location location) {\r
+\r
+ if (location != null) {\r
+ longitude = location.getLongitude();\r
+ latitude = location.getLatitude();\r
+ if (longitude > 0 && latitude > 0) {\r
+ tvResult.setText(getResources().getString(\r
+ R.string.location_sucess));\r
+ if (readGpsThread != null) {\r
+ readGpsThread.endThread();\r
+ }\r
+ if (isFrist) {\r
+ isFrist = false;\r
+ pass();// 定位成功,自动跳转2016.9.19 tyy\r
+ }\r
+\r
+ } else {\r
+ tvResult.setText(getResources().getString(\r
+ R.string.location_fail));\r
+ }\r
+\r
+ long gpsTime = location.getTime();\r
+\r
+ double altitude = location.getAltitude();// 海拔\r
+\r
+ // 速度\r
+ float speed = location.getSpeed();// 速度 单位 m/s\r
+ speed = (speed * 60) / 1000; // 单位转换 km/h\r
+ // 保留一位小数点\r
+ DecimalFormat dfSpeed = new DecimalFormat("#.0");\r
+ String strSpeed = dfSpeed.format(speed);\r
+ speed = Float.parseFloat(strSpeed);\r
+ int intSpeed = (int) (speed * 10);\r
+ // SimpleLogger.d("intSpeed:"+intSpeed);\r
+\r
+ // 经纬度 保留6位小数点\r
+ DecimalFormat df = new DecimalFormat("#.000000");\r
+ String strLatitude = df.format(latitude);\r
+ String strLongitude = df.format(longitude);\r
+\r
+ StringBuffer sb = new StringBuffer();\r
+ String string = getResources().getString(R.string.longitude);\r
+ String string2 = getResources().getString(R.string.latitude);\r
+ sb.append(string + strLongitude + "\n" + string2 + strLatitude);\r
+ // SimpleLogger.d("satelliteInfo:"+satelliteInfo);\r
+ return sb.toString();\r
+ } else {\r
+ // textView.setText("");\r
+ return "";\r
+ }\r
+ }\r
+\r
+ public double[] getGpsInfo() {\r
+ String tude = locationInfo;\r
+ if (!TextUtils.isEmpty(tude)) {\r
+ String[] longitudeAndLatitude = tude.split(" ");\r
+ String longitude = longitudeAndLatitude[0];\r
+ String latitude = longitudeAndLatitude[1];\r
+\r
+ return new double[]{Double.parseDouble(latitude),\r
+ Double.parseDouble(longitude)};\r
+ }\r
+ return null;\r
+ }\r
+\r
+ /**\r
+ * 获取location对象,优先以GPS_PROVIDER获取location对象,当以GPS_PROVIDER获取到的locaiton为null时\r
+ * ,则以NETWORK_PROVIDER获取location对象,这样可保证在室内开启网络连接的状态下获取到的location对象不为空\r
+ *\r
+ * @param locationManager\r
+ * @return\r
+ */\r
+ private Location getBestLocation(LocationManager locationManager) {\r
+ Location result = null;\r
+ if (locationManager != null) {\r
+ result = locationManager\r
+ .getLastKnownLocation(LocationManager.GPS_PROVIDER);\r
+ if (result != null) {\r
+\r
+ return result;\r
+ } else {\r
+ result = locationManager\r
+ .getLastKnownLocation(LocationManager.NETWORK_PROVIDER);\r
+ return result;\r
+ }\r
+ }\r
+ return result;\r
+ }\r
+\r
+ class ReadGpsThread extends Thread {\r
+ private boolean isRunning = false;\r
+ private int DELAY_MS = 1000;\r
+ private int count = 0;\r
+\r
+ public ReadGpsThread() {\r
+ isRunning = true;\r
+ }\r
+\r
+ public void endThread() {\r
+ isRunning = false;\r
+ readGpsThread = null;\r
+ }\r
+\r
+ @Override\r
+ public void run() {\r
+ while (isRunning) {\r
+ count++;\r
+ if (numberOfSatellites >= 3) {\r
+ return;\r
+ }\r
+ // 15秒没定位成功,则失败\r
+ if (count == 120) {\r
+ Message msg = new Message();\r
+ temHandler.sendMessage(msg);\r
+ if (readGpsThread != null) {\r
+ endThread();\r
+ return;\r
+ }\r
+ }\r
+ try {\r
+ Thread.sleep(DELAY_MS);\r
+ } catch (Exception e) {\r
+ // TODO: handle exception\r
+ }\r
+ }\r
+ super.run();\r
+ }\r
+ }\r
+\r
+ Handler temHandler = new Handler(new Handler.Callback() {\r
+ @Override\r
+ public boolean handleMessage(Message message) {\r
+ tvResult.setText(getResources().getString(\r
+ R.string.location_fail));\r
+ if (readGpsThread != null) {\r
+ readGpsThread.endThread();\r
+ }\r
+ return false;\r
+ }\r
+ });\r
+\r
+ @Override\r
+ protected void onDestroy() {\r
+ super.onDestroy();\r
+ if (readGpsThread != null) {\r
+ readGpsThread.endThread();\r
+ }\r
+ isFrist = false;\r
+ flag = false;\r
+ if (locationManager != null) {\r
+ locationManager.removeUpdates(locationListener);\r
+ locationManager.removeGpsStatusListener(statusListener);\r
+ }\r
+ if (locationListener != null) {\r
+ locationListener = null;\r
+ }\r
+ if (statusListener != null) {\r
+ statusListener = null;\r
+ }\r
+\r
+ //还原gps状态\r
+ Settings.Secure.putInt(this.getContentResolver(), Settings.Secure.LOCATION_MODE, gpsMode);\r
+ }\r
+\r
+\r
+ @Override\r
+ public void onClick(View arg0) {\r
+ Display myDisplay = getWindowManager().getDefaultDisplay();\r
+ Intent intent;\r
+ intent = new Intent(this, RingtoneActivity.class);\r
+\r
+ intent.putExtra("running", true);\r
+ intent.putExtra("pcbatest",pcbatest);\r
+ Intent intent1 = new Intent(this, TestMainActivity.class);\r
+ // TestResult testResult = (TestResult) getApplicationContext();\r
+ switch (arg0.getId()) {\r
+\r
+ case R.id.btn_two_left:\r
+ if (!running) {\r
+ startActivity(intent1);\r
+ } else {\r
+ startActivity(intent);\r
+ }\r
+ PreferenceManager\r
+ .getDefaultSharedPreferences(getApplicationContext())\r
+ .edit().putString("gps", "true").commit();\r
+ finish();\r
+ break;\r
+ case R.id.btn_two_right:\r
+ if (!running) {\r
+ startActivity(intent1);\r
+ } else {\r
+ startActivity(intent);\r
+ }\r
+ PreferenceManager\r
+ .getDefaultSharedPreferences(getApplicationContext())\r
+ .edit().putString("gps", "false").commit();\r
+ finish();\r
+ break;\r
+ }\r
+ }\r
+\r
+ public void pass() {\r
+ Toast.makeText(getApplicationContext(),\r
+ getResources().getString(R.string.ins_gsensor_toast),\r
+ Toast.LENGTH_SHORT).show();\r
+ buttonView.setSuccessColor();\r
+\r
+ PreferenceManager.getDefaultSharedPreferences(getApplicationContext())\r
+ .edit().putString("gps", "true").commit();\r
+ if (running) {\r
+ new Handler() {\r
+ @Override\r
+ public void handleMessage(Message msg) {\r
+ super.handleMessage(msg);\r
+ switch (msg.what) {\r
+ case 0:\r
+\r
+ Intent intent;\r
+ intent = new Intent(GpsTest.this,\r
+ RingtoneActivity.class);\r
+ intent.putExtra("running", true);\r
+ intent.putExtra("pcbatest", pcbatest);\r
+ startActivity(intent);\r
+ GpsTest.this.finish();\r
+ break;\r
+ default:\r
+ break;\r
+ }\r
+ }\r
+\r
+ }.sendEmptyMessageDelayed(0, 1000);\r
+ } else {\r
+ buttonView.btn_left.setClickable(true);\r
+ }\r
+\r
+\r
+ }\r
+\r
+ @Override\r
+ public void onBackPressed() {\r
+ // super.onBackPressed();\r
+ if (running) {\r
+ Intent intent = new Intent(this, TestMainList.class);\r
+ startActivity(intent);\r
+ finish();\r
+ } else {\r
+ finish();\r
+ }\r
+ }\r
+\r
+\r
+ LocationListener locationListener = new LocationListener() {\r
+\r
+ @Override\r
+ public void onStatusChanged(String provider, int status,\r
+ Bundle extras) {\r
+ }\r
+\r
+ @Override\r
+ public void onProviderEnabled(String provider) {\r
+// locationInfo = updateView(locationManager\r
+// .getLastKnownLocation(provider));\r
+ }\r
+\r
+ @Override\r
+ public void onProviderDisabled(String provider) {\r
+// locationInfo = updateView(null);\r
+ }\r
+\r
+ @Override\r
+ public void onLocationChanged(Location location) {\r
+ location = getBestLocation(locationManager);// 每次都去获取GPS_PROVIDER优先的location对象\r
+// locationInfo = updateView(location);\r
+ }\r
+ };\r
+\r
+\r
+ /////////////////搜索卫星数\r
+ boolean flag = true;//只操作一次pass\r
+ private GpsStatus.Listener statusListener = new GpsStatus.Listener() {\r
+ public void onGpsStatusChanged(int event) { // GPS状态变化时的回调,如卫星数\r
+ GpsStatus status = locationManager.getGpsStatus(null); //取当前状态\r
+ int satelliteInfo = updateGpsStatus(event, status);\r
+ numberOfSatellites = satelliteInfo;\r
+ if (numberOfSatellites >= 3) {\r
+ tvResult.setText(getResources().getString(\r
+ R.string.location_sucess));\r
+ if (readGpsThread != null) {\r
+ readGpsThread.endThread();\r
+ }\r
+ if (flag) {\r
+ flag = false;\r
+ pass();\r
+ }\r
+ }\r
+\r
+ }\r
+ };\r
+\r
+ private void get3MaxSnrSatellite(GpsSatellite gst){\r
+\r
+ float snr = gst.getSnr();\r
+ max3Satellite.add(gst);//先添加进来。\r
+\r
+ //从大到小排序\r
+ for(int i=0;i<max3Satellite.size();i++) {\r
+ for (int j=i;j<max3Satellite.size();j++) {\r
+ if (max3Satellite.get(i).getSnr() < max3Satellite.get(j).getSnr()) {\r
+ GpsSatellite ts = max3Satellite.get(j);\r
+ max3Satellite.remove(j);\r
+ max3Satellite.add(i, ts);//大的放前面\r
+ }\r
+ }\r
+ }\r
+ if (max3Satellite.size()>3){ //超过三个,谁小就删掉\r
+ max3Satellite.remove(3);\r
+ }\r
+\r
+ }\r
+ private int updateGpsStatus(int event, GpsStatus status) {\r
+ StringBuilder sb2 = new StringBuilder("");\r
+ float strengh = 0;\r
+ if (status == null) {\r
+ sb2.append("搜索到卫星个数:" + 0);\r
+ } else if (event == GpsStatus.GPS_EVENT_SATELLITE_STATUS) {\r
+ int maxSatellites = status.getMaxSatellites();\r
+ Iterator<GpsSatellite> it = status.getSatellites().iterator();\r
+ numSatelliteList.clear();\r
+ int count = 0;\r
+ while (it.hasNext() && count <= maxSatellites) {\r
+ GpsSatellite s = it.next();\r
+ float snr = s.getSnr();\r
+ if (snr >= 20) {//只有信躁比不为0的时候才算搜到了星\r
+ strengh = snr;\r
+// Toast.makeText(this, "信躁比大于20", Toast.LENGTH_LONG).show();\r
+ //排序取得最大3个SNR\r
+ get3MaxSnrSatellite(s);\r
+ }\r
+ numSatelliteList.add(s);\r
+ count++;\r
+ }\r
+ sb2.append("搜索到卫星个数(SNR>20):" + numSatelliteList.size()+" \n Max 3 SNRs[ " );\r
+ for (int i=0;i<max3Satellite.size();i++){\r
+ sb2.append(max3Satellite.get(i).getSnr());\r
+ sb2.append(", ");\r
+ }\r
+ sb2.append(" ]");\r
+ }\r
+\r
+\r
+ Log.e("dxc", sb2.toString());\r
+ //tv_satellites.setText(null);\r
+ tv_satellites.setText(sb2);\r
+ if (strengh >= 20 && numSatelliteList.size() >= 3) {\r
+ return numSatelliteList.size();\r
+ }\r
+\r
+ return 0;\r
+ }\r
+ ////////////////\r
+\r
+}\r
--- /dev/null
+/**\r
+ * Generated by smali2java 1.0.0.558\r
+ * Copyright (C) 2013 Hensence.com\r
+ */\r
+\r
+package mobile.miki;\r
+\r
+import android.content.Context;\r
+import android.content.Intent;\r
+import android.hardware.Sensor;\r
+import android.hardware.SensorEvent;\r
+import android.hardware.SensorEventListener;\r
+import android.hardware.SensorManager;\r
+import android.os.Bundle;\r
+import android.os.Handler;\r
+import android.os.Message;\r
+import android.preference.PreferenceManager;\r
+import android.util.Log;\r
+import android.view.View;\r
+import android.widget.ImageView;\r
+import android.widget.TextView;\r
+import android.widget.Toast;\r
+\r
+import mobile.miki.mainui.ButtonViewTwo;\r
+import mobile.miki.mainui.TestMainActivity;\r
+import mobile.miki.mainui.TestMainList;\r
+\r
+public class GravitySensorActivity extends BaseActivity\r
+ implements SensorEventListener, android.view.View.OnClickListener {\r
+ private SensorManager sensorManager;\r
+ boolean gb_up = false;\r
+ boolean gb_left = false;\r
+ boolean gb_right = false;\r
+ boolean gb_down = false;\r
+ ImageView gs_up;\r
+ ImageView gs_left;\r
+ ImageView gs_right;\r
+ ImageView gs_down;\r
+ String s1;\r
+ TextView t1;\r
+ private ButtonViewTwo buttonView;\r
+ boolean running;\r
+ boolean pcbatest;\r
+ TextView xyzValue;\r
+\r
+ protected void onCreate(Bundle savedInstanceState) {\r
+ super.onCreate(savedInstanceState);\r
+ MyApplication.getInstance().addActivity(this);\r
+ s1 = getString(R.string.ins_gsensor_toast);\r
+ setContentView(R.layout.gravity_sensor_layout);\r
+ Intent intent = getIntent();\r
+ running = false;\r
+ pcbatest = false;\r
+ if (intent != null) {\r
+ running = intent.getBooleanExtra("running", false);\r
+ pcbatest = intent.getBooleanExtra("pcbatest",false);\r
+ }\r
+ buttonView = (ButtonViewTwo) findViewById(R.id.btn_set);\r
+ buttonView.btn_left.setOnClickListener(this);\r
+ buttonView.btn_right.setOnClickListener(this);\r
+\r
+ //pcba测试的话,可以直接看数值人工测试是否成功。\r
+ if (pcbatest) {\r
+ buttonView.btn_left.setClickable(true);\r
+ buttonView.setSuccessColor();\r
+ }else{\r
+ buttonView.btn_left.setClickable(false);\r
+ }\r
+ gs_up = (ImageView) findViewById(R.id.img_gsu);\r
+\r
+ gs_left = (ImageView) findViewById(R.id.img_gsl);\r
+\r
+ gs_right = (ImageView) findViewById(R.id.img_gsr);\r
+\r
+ gs_down = (ImageView) findViewById(R.id.img_gsd);\r
+ t1 = (TextView) findViewById(R.id.ins);\r
+ xyzValue = (TextView) findViewById(R.id.xyz_value);\r
+ sensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);\r
+ sensorManager.registerListener(this, sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), 0x0);\r
+ handler.sendEmptyMessageDelayed(0, 500);\r
+ }\r
+\r
+ public void onAccuracyChanged(Sensor sensor, int accuracy) {\r
+ }\r
+\r
+ public void onSensorChanged(SensorEvent event) {\r
+ Log.i("dxc", "onSensorChanged x:" + event.values[0x0] + " y:" + event.values[0x1] + " z:" + event.values[0x2]);\r
+ xyzValue.setText("x:" + String .format("%.2f",event.values[0x0]) + " ,y:" + String .format("%.2f",event.values[0x1]) + " ,z:" + String .format("%.2f",event.values[0x2]));\r
+ ((TextView) findViewById(R.id.tvGraX)).setText(String.valueOf(event.values[0x0]));\r
+ ((TextView) findViewById(R.id.tvGraY)).setText(String.valueOf(event.values[0x1]));\r
+ ((TextView) findViewById(R.id.tvGraZ)).setText(String.valueOf(event.values[0x2]));\r
+ if (event.values[0x0] > 4.0 && !gb_left) {\r
+ gs_left.setImageResource(R.drawable.gs_2_l);\r
+ gb_left = true;\r
+ } else if (event.values[0x0] < -4.0 && !gb_right) {\r
+ gs_right.setImageResource(R.drawable.gs_2_r);\r
+ gb_right = true;\r
+ } else if (event.values[0x1] > 5.0 && !gb_down) {\r
+ gs_down.setImageResource(R.drawable.gs_2_d);\r
+ gb_down = true;\r
+ } else if (event.values[0x1] < -3.0 && !gb_up) {\r
+ gs_up.setImageResource(R.drawable.gs_2_u);\r
+ gb_up = true;\r
+ }\r
+ }\r
+\r
+ protected void onDestroy() {\r
+ sensorManager.unregisterListener(this, sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER));\r
+ sensorManager = null;\r
+ super.onDestroy();\r
+ }\r
+\r
+\r
+ @Override\r
+ public void onClick(View arg0) {\r
+ Intent intent = new Intent(this, BatteryTestActivity.class);\r
+ intent.putExtra("running", true);\r
+ intent.putExtra("pcbatest",pcbatest);\r
+ Intent intent1 = new Intent(this, TestMainActivity.class);\r
+ // TestResult testResult = (TestResult) getApplicationContext();\r
+ switch (arg0.getId()) {\r
+\r
+ case R.id.btn_two_left:\r
+ if (!running) {\r
+ startActivity(intent1);\r
+ } else {\r
+ startActivity(intent);\r
+ }\r
+ PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit().putString("Gsensor", "true")\r
+ .commit();\r
+ finish();\r
+ break;\r
+ case R.id.btn_two_right:\r
+ if (!running) {\r
+ startActivity(intent1);\r
+ } else {\r
+ startActivity(intent);\r
+ }\r
+ PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit().putString("Gsensor", "false")\r
+ .commit();\r
+ finish();\r
+ break;\r
+ }\r
+ }\r
+\r
+ Runnable runnable = new Runnable() {\r
+\r
+ @Override\r
+ public void run() {\r
+\r
+ }\r
+ };\r
+\r
+ Handler handler = new Handler() {\r
+\r
+ @Override\r
+ public void handleMessage(Message msg) {\r
+ super.handleMessage(msg);\r
+ switch (msg.what) {\r
+ case 0:\r
+ if (gb_left && gb_right && gb_down && gb_up) {\r
+ handler.removeMessages(0);\r
+ PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit()\r
+ .putString("Gsensor", "true").commit();\r
+ Toast.makeText(GravitySensorActivity.this, getResources().getString(R.string.ins_gsensor_toast),\r
+ Toast.LENGTH_SHORT).show(); \r
+ \r
+ buttonView.setSuccessColor();\r
+ \r
+ if (running) {\r
+ Intent intent = new Intent(GravitySensorActivity.this, BatteryTestActivity.class);\r
+ intent.putExtra("running", true);\r
+ intent.putExtra("pcbatest", pcbatest);\r
+ startActivity(intent);\r
+ finish();\r
+ }else{\r
+ buttonView.btn_left.setClickable(true);\r
+ }\r
+\r
+ }else{\r
+ handler.sendEmptyMessageDelayed(0, 500);\r
+ }\r
+ \r
+ break;\r
+ \r
+ \r
+ \r
+ \r
+\r
+ default:\r
+ break;\r
+ }\r
+ }\r
+\r
+ };\r
+ \r
+ @Override\r
+ public void onBackPressed() {\r
+ // super.onBackPressed();\r
+ if (running) {\r
+ Intent intent = new Intent(this, TestMainList.class);\r
+ startActivity(intent);\r
+ finish();\r
+ } else {\r
+ finish();\r
+ }\r
+ }\r
+\r
+}\r
--- /dev/null
+/**\r
+ * Generated by smali2java 1.0.0.558\r
+ * Copyright (C) 2013 Hensence.com\r
+ */\r
+\r
+package mobile.miki;\r
+\r
+import android.content.Context;\r
+import android.view.LayoutInflater;\r
+import android.view.View;\r
+import android.view.ViewGroup;\r
+import android.widget.ImageView;\r
+import android.widget.SimpleAdapter;\r
+import android.widget.TextView;\r
+\r
+import java.util.ArrayList;\r
+import java.util.HashMap;\r
+import java.util.List;\r
+import java.util.Map;\r
+\r
+public class GridAdapter extends SimpleAdapter {\r
+ public static final String CELL_IMAGE = "cellImage";\r
+ public static final String CELL_LABEL = "cellLabel";\r
+ private LayoutInflater inflater;\r
+ //private ArrayList<HashMap<String, Object>> listData = new ArrayList<Map<String, ?>>();\r
+ private ArrayList<HashMap<String, Object>> listData = new ArrayList();\r
+ \r
+ public GridAdapter(Context context, List<Map<String, ?>> data, int resource, String[] from, int[] to) {\r
+ super(context, data, resource, from, to);\r
+ inflater = (LayoutInflater)context.getSystemService("layout_inflater");\r
+ listData = (ArrayList)data;\r
+ }\r
+ \r
+ public View getView(int position, View convertView, ViewGroup parent) {\r
+ if(convertView == null) {\r
+ convertView = inflater.inflate(R.layout.grid_cell, null);\r
+ }\r
+ HashMap<String, Object> map = (HashMap)listData.get(position);\r
+ ((ImageView)convertView.findViewById(R.id.cellImage)).setImageResource(((Integer)map.get("cellImage")).intValue());\r
+ ((TextView)convertView.findViewById(R.id.cellLabel)).setText(String.valueOf(map.get("cellLabel")));\r
+ return convertView;\r
+ }\r
+}\r
--- /dev/null
+package mobile.miki;\r
+\r
+import android.content.Intent;\r
+import android.os.Bundle;\r
+import android.preference.PreferenceManager;\r
+import android.util.Log;\r
+import android.view.View;\r
+\r
+import mobile.miki.mainui.ButtonViewTwo;\r
+import mobile.miki.mainui.TestMainActivity;\r
+\r
+public class HeartRate extends BaseActivity implements View.OnClickListener {\r
+\r
+ private ButtonViewTwo buttonView;\r
+ boolean running;\r
+\r
+ static {\r
+ System.loadLibrary("heartrate_test_jni");\r
+ }\r
+ public static native int get_heartrate();\r
+\r
+ @Override\r
+ protected void onCreate(Bundle savedInstanceState) {\r
+ super.onCreate(savedInstanceState);\r
+ setContentView(R.layout.heartrate_layout);\r
+ initView();\r
+ int heartrate = get_heartrate();\r
+ Log.i("dxc", "heartrate: " + heartrate);\r
+ }\r
+\r
+ private void initView() {\r
+ buttonView = (ButtonViewTwo) findViewById(R.id.btn_set);\r
+ buttonView.btn_left.setOnClickListener(this);\r
+ buttonView.btn_right.setOnClickListener(this);\r
+ buttonView.setSuccessColor();\r
+ buttonView.btn_left.setClickable(true);\r
+ }\r
+\r
+ @Override\r
+ public void onClick(View view) {\r
+ Intent intent = new Intent(this, SimDetectActivity.class);\r
+ intent.putExtra("running", true);\r
+ Intent intent1 = new Intent(this, TestMainActivity.class);\r
+ // TestResult testResult = (TestResult) getApplicationContext();\r
+ switch (view.getId()) {\r
+\r
+ case R.id.btn_two_left:\r
+ if (!running) {\r
+ startActivity(intent1);\r
+ } else {\r
+ startActivity(intent1);\r
+ }\r
+ PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit().putString("heartrate", "true")\r
+ .commit();\r
+ finish();\r
+ break;\r
+ case R.id.btn_two_right:\r
+ if (!running) {\r
+ startActivity(intent1);\r
+ } else {\r
+ startActivity(intent1);\r
+ }\r
+ PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit().putString("heartrate", "false")\r
+ .commit();\r
+ finish();\r
+ break;\r
+ }\r
+ }\r
+}\r
--- /dev/null
+/**\r
+ * Generated by smali2java 1.0.0.558\r
+ * Copyright (C) 2013 Hensence.com\r
+ */\r
+\r
+package mobile.miki;\r
+\r
+import android.app.KeyguardManager;\r
+import android.content.BroadcastReceiver;\r
+import android.content.Context;\r
+import android.content.Intent;\r
+import android.content.IntentFilter;\r
+import android.os.Bundle;\r
+import android.os.PowerManager;\r
+import android.preference.PreferenceManager;\r
+import android.util.Log;\r
+import android.view.Display;\r
+import android.view.KeyEvent;\r
+import android.view.LayoutInflater;\r
+import android.view.View;\r
+import android.widget.TextView;\r
+import android.widget.Toast;\r
+\r
+import java.io.IOException;\r
+import java.util.ArrayList;\r
+import java.util.Arrays;\r
+\r
+import cn.davidsu.library.LineWrapContainer;\r
+import mobile.miki.mainui.ButtonViewTwo;\r
+import mobile.miki.mainui.TestMainActivity;\r
+import mobile.miki.mainui.TestMainList;\r
+import mobile.miki.util.FTUtils;\r
+\r
+public class KeysTestActivity extends BaseActivity implements\r
+ android.view.View.OnClickListener {\r
+/*\r
+ public static final String AUTO_KEYS_TEST = "mobile.miki.KeysTestActivity";\r
+ public static final String KEY_CODE = "keyCode";\r
+ public static final String NEED_BTN_TAG = "needBtn";\r
+ private String TAG;\r
+*/\r
+ BroadcastReceiver broadcastReceiver;\r
+ private boolean isTesting;\r
+ private BroadcastReceiver mBroadcastReceiver;\r
+ private KeyguardManager.KeyguardLock mKeyguardLock;\r
+ private KeyguardManager mKeyguardManager;\r
+ private KeysTestActivity.ScreenOnOffReceiver screenOnOffReceiver;\r
+ private PowerManager.WakeLock wakeLock;\r
+ boolean running;\r
+ private ButtonViewTwo buttonView;\r
+/*\r
+ private TextView value_KEYCODE_YEN;\r
+ private TextView home1;\r
+ private TextView home2;\r
+ private TableRow TableRow1;\r
+ private TableRow TableRow2;\r
+ private TableRow TableRow3;\r
+ private TextView tv_name2;\r
+\r
+ private boolean key1Pass = false;\r
+ private boolean key2Pass = false;\r
+*/\r
+ private LineWrapContainer lwc;\r
+ private ArrayList<Key> mKeyMapList = new ArrayList<Key>();\r
+\r
+ // G9 的左右按键\r
+// private static final int KEYCODE_CUSTOM_LEFT = 498;\r
+// private static final int KEYCODE_CUSTOM_RIGHT = 499;\r
+ private static final int KEYCODE_CUSTOM_LEFT = KeyEvent.KEYCODE_POWER;\r
+ private static final int KEYCODE_CUSTOM_RIGHT = KeyEvent.KEYCODE_VOLUME_DOWN;\r
+\r
+ private Key[] keyMapsDefault = {new Key(KeyEvent.KEYCODE_POWER, "Power")};\r
+ private Key[] keyMapsSUGAR = {new Key(KEYCODE_CUSTOM_LEFT, "Left")\r
+ , new Key(KEYCODE_CUSTOM_RIGHT, "Right")};\r
+ private Key[] keyMapsLieBao = {new Key(KeyEvent.KEYCODE_POWER, "Power")\r
+ , new Key(KeyEvent.KEYCODE_YEN, "Key 1")};\r
+\r
+ public KeysTestActivity() {\r
+ // TAG = "KeysTestActivity";\r
+ mKeyguardManager = null;\r
+ mKeyguardLock = null;\r
+ isTesting = true;\r
+ broadcastReceiver = new BroadcastReceiver() {\r
+ public void onReceive(Context context, Intent intent) {\r
+ int keyCode = intent.getExtras().getInt("keyCode");\r
+ }\r
+ };\r
+ mBroadcastReceiver = new BroadcastReceiver() {\r
+\r
+ public void onReceive(Context context, Intent intent) {\r
+ String action = intent.getAction();\r
+ if ("android.intent.action.CLOSE_SYSTEM_DIALOGS".equals(action)) {\r
+ String reason = intent.getStringExtra("reason");\r
+ if ("homekey".equals(reason)) {\r
+ if (isTesting) {\r
+ isTesting = false;\r
+ }\r
+ }\r
+ }\r
+ }\r
+ };\r
+ }\r
+\r
+ protected void onCreate(Bundle savedInstanceState) {\r
+ super.onCreate(savedInstanceState);\r
+ setContentView(R.layout.keys_test_layout);\r
+ Display myDisplay = getWindowManager().getDefaultDisplay();\r
+ MyApplication.getInstance().addActivity(this);\r
+ initView();\r
+ Intent intent = getIntent();\r
+ running = false;\r
+ if (intent != null) {\r
+ running = intent.getBooleanExtra("running", false);\r
+ }\r
+ mKeyguardManager = (KeyguardManager) getSystemService(Context.KEYGUARD_SERVICE);\r
+ screenOnOffReceiver = new ScreenOnOffReceiver();\r
+ IntentFilter intentFilter = new IntentFilter();\r
+ intentFilter.addAction("android.intent.action.SCREEN_ON");\r
+ intentFilter.addAction("android.intent.action.SCREEN_OFF");\r
+ registerReceiver(screenOnOffReceiver, intentFilter);\r
+ buttonView = (ButtonViewTwo) findViewById(R.id.btn_set);\r
+ buttonView.btn_left.setOnClickListener(this);\r
+ buttonView.btn_right.setOnClickListener(this);\r
+ buttonView.btn_left.setClickable(false);\r
+ isTesting = true;\r
+\r
+ if (FTUtils.isLieBao()) {\r
+ mKeyMapList.addAll(Arrays.asList(keyMapsLieBao));\r
+ } else if (FTUtils.isSugar()) {\r
+ mKeyMapList.addAll(Arrays.asList(keyMapsSUGAR));\r
+ } else {\r
+ mKeyMapList.addAll(Arrays.asList(keyMapsDefault));\r
+ }\r
+\r
+ updateKeyMapView();\r
+ }\r
+\r
+ private void initView() {\r
+/*\r
+ value_KEYCODE_YEN = (TextView) findViewById(R.id.tv_value);\r
+ home1 = (TextView) findViewById(R.id.tv_value2);\r
+ home2 = (TextView) findViewById(R.id.tv_value3);\r
+\r
+ TableRow1 = (TableRow) findViewById(R.id.tl_1);\r
+ TableRow2 = (TableRow) findViewById(R.id.tl_2);\r
+ TableRow3 = (TableRow) findViewById(R.id.tl_3);\r
+ tv_name2 = (TextView) findViewById(R.id.tv_name2);\r
+ if (FTUtils.isLieBao()) {\r
+ tv_name2.setText(R.string.keyPower);\r
+ TableRow3.setVisibility(View.GONE);\r
+ } else if (FTUtils.isSugar()) {\r
+ TableRow1.setVisibility(View.GONE);\r
+ }\r
+*/\r
+ lwc = (LineWrapContainer) findViewById(R.id.view_lwc);\r
+ // s06 hall开关\r
+ if (FTUtils.isS06()) {\r
+ lwc.setVisibility(View.GONE);\r
+ Toast.makeText(this, "霍尔开关测试", Toast.LENGTH_LONG).show();\r
+ }\r
+ }\r
+\r
+\r
+ protected void onResume() {\r
+ super.onResume();\r
+ IntentFilter intentFilter = new IntentFilter(\r
+ "mobile.miki.KeysTestActivity");\r
+ registerReceiver(broadcastReceiver, intentFilter);\r
+ IntentFilter mBroadcastIntentFilter = new IntentFilter(\r
+ "android.intent.action.CLOSE_SYSTEM_DIALOGS");\r
+ registerReceiver(mBroadcastReceiver, mBroadcastIntentFilter);\r
+ }\r
+\r
+ @Override\r
+ public boolean onKeyDown(int keyCode, KeyEvent event) {\r
+ Log.e("dxc", " onKeyDown keyCode:" + keyCode);\r
+ if (FTUtils.isS06() && keyCode == KeyEvent.KEYCODE_BACK) {\r
+ pass();\r
+ return true;\r
+ }\r
+/*\r
+ switch (keyCode) {\r
+ case KeyEvent.KEYCODE_YEN:\r
+ value_KEYCODE_YEN.setText(R.string.pass_test);\r
+ key1Pass = true;\r
+ if (key1Pass && key2Pass) {\r
+ pass();\r
+ }\r
+ return true;\r
+*/\r
+ if (removeKey(keyCode)) {\r
+ updateKeyMapView();\r
+ return true;\r
+ }\r
+\r
+ return super.onKeyDown(keyCode, event);\r
+ }\r
+\r
+\r
+ public void onAttachedToWindow() {\r
+ super.onAttachedToWindow();\r
+ }\r
+\r
+ class ScreenOnOffReceiver extends BroadcastReceiver {\r
+\r
+ public void onReceive(Context context, Intent intent) {\r
+ if ("android.intent.action.SCREEN_ON".equals(intent.getAction())) {\r
+ return;\r
+ }\r
+ if ("android.intent.action.SCREEN_OFF".equals(intent.getAction())) {\r
+ KeysTestActivity.this.mKeyguardLock = KeysTestActivity.this.mKeyguardManager\r
+ .newKeyguardLock("");\r
+ // KeysTestActivity.this.mKeyguardLock.disableKeyguard();\r
+ KeysTestActivity.this.wakeLock = ((PowerManager) context\r
+ .getSystemService(Context.POWER_SERVICE)).newWakeLock(\r
+ PowerManager.ACQUIRE_CAUSES_WAKEUP\r
+ | PowerManager.SCREEN_DIM_WAKE_LOCK, "mobile.miki:Tag");\r
+ KeysTestActivity.this.wakeLock.acquire();\r
+/*\r
+ if (home1.getText().toString().equals(getString(R.string.pass_test))) {\r
+ key1Pass = true;\r
+ home2.setText(R.string.pass_test);\r
+ }\r
+ home1.setText(R.string.pass_test);\r
+ key2Pass = true;\r
+ if (key1Pass && key2Pass && (FTUtils.isSugar() || FTUtils.isLieBao())) {\r
+ pass();\r
+ } else if (!(FTUtils.isSugar() || FTUtils.isLieBao())) {\r
+ pass();\r
+ }\r
+*/\r
+\r
+ if (removeKey(KeyEvent.KEYCODE_POWER)) {\r
+ updateKeyMapView();\r
+ }\r
+ }\r
+ }\r
+ }\r
+\r
+ protected void onDestroy() {\r
+ if (mKeyguardLock != null) {\r
+ wakeLock.acquire();\r
+ }\r
+ isTesting = false;\r
+ unregisterReceiver(screenOnOffReceiver);\r
+ unregisterReceiver(broadcastReceiver);\r
+ unregisterReceiver(mBroadcastReceiver);\r
+ super.onDestroy();\r
+ }\r
+\r
+ public void onReturnBtnClicked(View view) {\r
+ if (running) {\r
+ Intent intent = new Intent(this, TestMainList.class);\r
+ startActivity(intent);\r
+ finish();\r
+ } else {\r
+ isTesting = false;\r
+ try {\r
+ Runtime.getRuntime().exec("logcat -c");\r
+ } catch (IOException e) {\r
+ e.printStackTrace();\r
+ }\r
+ finish();\r
+ }\r
+\r
+ }\r
+\r
+\r
+ @Override\r
+ public void onClick(View arg0) {\r
+\r
+ Intent intent = new Intent(this, TestMainActivity.class);\r
+ if (FTUtils.isSugar()) {\r
+ intent = new Intent(this, BlooToothActivity.class);\r
+ }\r
+ intent.putExtra("running", true);\r
+ Intent intent1 = new Intent(this, TestMainActivity.class);\r
+ // TestResult testResult = (TestResult) getApplicationContext();\r
+ switch (arg0.getId()) {\r
+\r
+ case R.id.btn_two_left:\r
+ if (!running) {\r
+ startActivity(intent1);\r
+ } else {\r
+ startActivity(intent);\r
+ }\r
+ PreferenceManager\r
+ .getDefaultSharedPreferences(getApplicationContext())\r
+ .edit().putString("keys", "true").commit();\r
+ finish();\r
+ break;\r
+ case R.id.btn_two_right:\r
+ if (!running) {\r
+ startActivity(intent1);\r
+ } else {\r
+ startActivity(intent);\r
+ }\r
+ PreferenceManager\r
+ .getDefaultSharedPreferences(getApplicationContext())\r
+ .edit().putString("keys", "false").commit();\r
+ finish();\r
+ break;\r
+ }\r
+ }\r
+\r
+ private void pass() {\r
+ buttonView.setSuccessColor();\r
+ if (running) {\r
+ Intent intent = new Intent(this, TestMainActivity.class);\r
+ if (FTUtils.isSugar() || FTUtils.isS06()) {\r
+ intent = new Intent(this, BlooToothActivity.class);\r
+ }\r
+ intent.putExtra("running", true);\r
+ startActivity(intent);\r
+ PreferenceManager\r
+ .getDefaultSharedPreferences(getApplicationContext())\r
+ .edit().putString("keys", "true").commit();\r
+ finish();\r
+ } else {\r
+ buttonView.btn_left.setClickable(true);\r
+ }\r
+ }\r
+\r
+ private boolean removeKey(int keyCode) {\r
+ boolean found = false;\r
+ for (Key key : mKeyMapList) {\r
+ if (key.code == keyCode) {\r
+ mKeyMapList.remove(key);\r
+ found = true;\r
+ break;\r
+ }\r
+ }\r
+\r
+ return found;\r
+ }\r
+\r
+ private void updateKeyMapView() {\r
+ LayoutInflater inflater = LayoutInflater.from(this);\r
+ lwc.removeAllViews();\r
+\r
+ for (Key key : mKeyMapList) {\r
+ TextView item = (TextView) inflater.inflate(R.layout.keys_test_item, lwc, false);\r
+ item.setText(key.name);\r
+ lwc.addView(item);\r
+ }\r
+\r
+ if (mKeyMapList.size() == 0) {\r
+ pass();\r
+ }\r
+ }\r
+\r
+ class Key {\r
+ int code;\r
+ String name;\r
+\r
+ Key(int code, String name) {\r
+ this.code = code;\r
+ this.name = name;\r
+ }\r
+ }\r
+}\r
--- /dev/null
+package mobile.miki;\r
+import android.content.BroadcastReceiver;\r
+import android.content.Context;\r
+import android.content.Intent;\r
+import android.content.IntentFilter;\r
+import android.graphics.Color;\r
+import android.os.Bundle;\r
+import android.os.Handler;\r
+import android.os.Message;\r
+import android.os.PowerManager;\r
+import android.os.PowerManager.WakeLock;\r
+import android.os.SystemClock;\r
+import android.view.View;\r
+import android.view.View.OnClickListener;\r
+import android.view.WindowManager;\r
+import android.widget.RelativeLayout;\r
+import android.widget.SeekBar;\r
+import android.widget.SeekBar.OnSeekBarChangeListener;\r
+import android.widget.Toast;\r
+\r
+import java.util.ArrayList;\r
+import java.util.List;\r
+import java.util.Timer;\r
+import java.util.TimerTask;\r
+\r
+import mobile.miki.lcd.LcdJudgActivity;\r
+\r
+public class LCDtestAgeing extends BaseActivity implements OnSeekBarChangeListener {\r
+ private TimerTask task;\r
+ private TimerTask seekbarTask;\r
+ private Timer timer;\r
+ public static int[] BC =null;\r
+ RelativeLayout r1;\r
+ private PowerManager powerManager = null; \r
+ private WakeLock wakeLock = null;\r
+ int i = 0;\r
+ int b ;\r
+ private SeekBar ScreenBrightnessSeekBar; \r
+ boolean isEgeingMode = false;\r
+ private int TIME = 1000 * 10;\r
+ private int SINGLEITEM_OR_CYCLE_MODE;\r
+ private int WORK_TIME;\r
+ private MyReceiver receiver=null;\r
+ private boolean isShowSeekBar = true;\r
+ public static LCDtestAgeing instance = null;\r
+ \r
+ static {\r
+ int[] bkcolor = new int[14];\r
+ bkcolor[0] = Color.RED;\r
+ bkcolor[1] = Color.BLUE;\r
+ bkcolor[2] = Color.YELLOW;\r
+ bkcolor[3] = Color.GREEN;\r
+ bkcolor[4] = Color.WHITE;\r
+ bkcolor[5] = Color.BLACK;\r
+ bkcolor[6] = Color.GRAY;\r
+ bkcolor[7] = Color.CYAN;\r
+ bkcolor[8] = Color.MAGENTA;\r
+ bkcolor[9] = R.drawable.pic1;\r
+ bkcolor[10] = R.drawable.pic2;\r
+ bkcolor[11] = R.drawable.pic3;\r
+ bkcolor[12] = R.drawable.pic4;\r
+ bkcolor[13] = R.drawable.pic5;\r
+ BC =bkcolor;\r
+ }\r
+ @Override\r
+ protected void onCreate(Bundle savedInstanceState) {\r
+ super.onCreate(savedInstanceState);\r
+ setContentView(R.layout.activity_main);\r
+ instance = this;\r
+ getLcdIntent();\r
+ ageingMode();\r
+\r
+ r1 =(RelativeLayout)findViewById(R.id.st);\r
+ r1.setBackgroundColor(BC[0]);\r
+ \r
+ WindowManager.LayoutParams layoutParams = getWindow().getAttributes(); \r
+ layoutParams.screenBrightness = b;// b是亮度 \r
+ getWindow().setAttributes(layoutParams); \r
+ ScreenBrightnessSeekBar = (SeekBar)findViewById(R.id.seekBrightness); \r
+ //亮度是从0~1中的一个浮点数,由于getProess得到的是Int型,所以扩大10倍,赋值时除以10 \r
+ ScreenBrightnessSeekBar.setMax(10); \r
+ ScreenBrightnessSeekBar.setProgress(8);\r
+ ScreenBrightnessSeekBar.setOnSeekBarChangeListener(this);\r
+ \r
+ if(isShowSeekBar) {\r
+ Toast.makeText(this, /*"单击可显示亮度进度条,双击可退出"*/this.getResources().getString(R.string.lcdtest_toast),Toast.LENGTH_LONG).show();\r
+ } else {\r
+ ScreenBrightnessSeekBar.setVisibility(View.GONE);\r
+ }\r
+ \r
+ final Handler handler = new Handler(){\r
+ @Override\r
+ public void handleMessage(Message msg) {\r
+ switch (msg.what) {\r
+ case 1:\r
+ if(i>8) {\r
+ r1.setBackgroundResource(BC[i]);\r
+ } else {\r
+ r1.setBackgroundColor(BC[i]);\r
+ }\r
+ \r
+ \r
+ i++;\r
+ if(i == 14) {\r
+ i = 0;\r
+ } \r
+ if(i>13){\r
+ if (timer != null) { \r
+ timer.cancel();\r
+ timer = null;\r
+ }\r
+ if (task != null) { \r
+ task.cancel(); \r
+ task = null; \r
+ } \r
+ finish();\r
+ }\r
+ break;\r
+ \r
+ case 2:\r
+ ScreenBrightnessSeekBar.setVisibility(View.GONE);\r
+ break;\r
+ default:\r
+ break;\r
+ }\r
+ super.handleMessage(msg);\r
+ }\r
+ };\r
+ task = new TimerTask() {\r
+ @Override\r
+ public void run() {\r
+ Message message = new Message();\r
+ message.what = 1;\r
+ handler.sendMessage(message);\r
+ }\r
+ };\r
+ seekbarTask = new TimerTask() {\r
+ @Override\r
+ public void run() {\r
+ Message message = new Message();\r
+ message.what = 2;\r
+ handler.sendMessage(message);\r
+ }\r
+ };\r
+ timer = new Timer(true);\r
+ timer.schedule(task, 0, 2000);\r
+ timer.schedule(seekbarTask, 10000, 2000);\r
+ \r
+ \r
+ //触摸即退出\r
+ r1.setOnClickListener(new OnClickListener() {\r
+ @Override\r
+ public void onClick(View arg0) {\r
+ ScreenBrightnessSeekBar.setVisibility(View.VISIBLE);\r
+ clickTwo();\r
+ \r
+ }\r
+ });\r
+ \r
+ }\r
+ \r
+ private void getLcdIntent() {\r
+ Intent intent = getIntent();\r
+ if (intent != null) {\r
+ try {\r
+ isEgeingMode = intent.getBooleanExtra("ageing_mode", false);\r
+ SINGLEITEM_OR_CYCLE_MODE = intent.getIntExtra("singleitem_or_cycle_mode", 0);\r
+ WORK_TIME = intent.getIntExtra("work_time", 0);\r
+ isShowSeekBar = intent.getBooleanExtra("show_seekbar", false);\r
+ } catch (Exception e) {\r
+ e.printStackTrace();\r
+ \r
+ }\r
+ }\r
+ }\r
+ \r
+ /**\r
+ * 处理老化模式的状态\r
+ */\r
+ private void ageingMode() {\r
+ if(isEgeingMode && SINGLEITEM_OR_CYCLE_MODE == 1) {\r
+ // 单项无限循环\r
+ if (WORK_TIME == -1) {\r
+ WORK_TIME = 100000000;\r
+ } \r
+ TIME = WORK_TIME * Constants.SINGLEITEM_TIMES;\r
+ ageingHandler.postDelayed(runnable, TIME); \r
+// sendBraodCaseReceiver();\r
+ } else if (isEgeingMode && SINGLEITEM_OR_CYCLE_MODE == 2) {\r
+ TIME = Constants.CYCLE_ONE_ACTIVITY_TIMES;\r
+ ageingHandler.postDelayed(runnable, TIME); \r
+ registerReceiver();\r
+ }\r
+ }\r
+ \r
+ private void registerReceiver() {\r
+ receiver = new MyReceiver();\r
+ IntentFilter filter = new IntentFilter();\r
+ filter.addAction("com.android.stopActivity");\r
+ LCDtestAgeing.this.registerReceiver(receiver, filter);\r
+ }\r
+ \r
+ private void sendBraodCaseReceiver() {\r
+ Intent intent = new Intent();\r
+ intent.setAction("com.android.stopTiming");\r
+ sendBroadcast(intent);\r
+ }\r
+\r
+ \r
+ @Override\r
+ protected void onResume() {\r
+ super.onResume();\r
+// powerManager = (PowerManager) this.getSystemService(Service.POWER_SERVICE); \r
+// wakeLock = this.powerManager.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK, "My Lock"); \r
+// if(wakeLock != null) {\r
+// //是否需计算锁的数量 \r
+// wakeLock.setReferenceCounted(false); \r
+// //请求屏幕常亮,onResume()方法中执行 \r
+// wakeLock.acquire();\r
+// }\r
+ }\r
+ \r
+ @Override\r
+ protected void onPause() {\r
+ super.onPause();\r
+// if(wakeLock != null) {\r
+// //取消屏幕常亮,onPause()方法中执行 \r
+// wakeLock.release(); \r
+// wakeLock = null;\r
+// }\r
+ }\r
+\r
+ @Override\r
+ public void onProgressChanged(SeekBar arg0, int arg1, boolean arg2) {\r
+ }\r
+\r
+ @Override\r
+ public void onStartTrackingTouch(SeekBar arg0) {\r
+ \r
+ }\r
+\r
+ @Override\r
+ public void onStopTrackingTouch(SeekBar seekBar) {\r
+ setScreenBrightness((float)seekBar.getProgress()/10);\r
+ }\r
+ \r
+ private void setScreenBrightness(float b){ \r
+ //取得window属性保存在layoutParams中 \r
+ WindowManager.LayoutParams layoutParams = getWindow().getAttributes(); \r
+ layoutParams.screenBrightness = b;//b已经除以10 \r
+ getWindow().setAttributes(layoutParams); \r
+ //显示修改后的亮度 \r
+ layoutParams = getWindow().getAttributes(); \r
+ } \r
+ \r
+ //实现双击\r
+ List<Long> times = new ArrayList<Long>();\r
+ private void clickTwo() {\r
+ times.add(SystemClock.uptimeMillis());\r
+ if (times.size() == 2) {\r
+ if (times.get(times.size()-1)-times.get(0) < 500) {\r
+ times.clear();\r
+ Intent intent = new Intent(LCDtestAgeing.this,\r
+ LcdJudgActivity.class);\r
+ intent.putExtra("ageing_mode", true);\r
+ startActivity(intent);\r
+ System.exit(0);\r
+ finish();\r
+// Toast.makeText(this, "双击方式", 0).show();\r
+ } else {\r
+ times.remove(0);\r
+ }\r
+ }\r
+ }\r
+ \r
+ \r
+ protected void onDestroy() {\r
+ \r
+ if(ageingHandler != null && runnable != null) {\r
+ ageingHandler.removeCallbacks(runnable);\r
+ }\r
+ if (receiver != null) {\r
+ unregisterReceiver(receiver);\r
+ }\r
+ super.onDestroy();\r
+ }\r
+ \r
+ Handler ageingHandler = new Handler();\r
+ Runnable runnable = new Runnable() { \r
+ \r
+ @Override \r
+ public void run() { \r
+ // handler自带方法实现定时器 \r
+ try { \r
+// handler.postDelayed(this, TIME); \r
+ System.out.println("do..."); \r
+ if(SINGLEITEM_OR_CYCLE_MODE == 2) {\r
+ Intent ageingIntent = new Intent(LCDtestAgeing.this,CameraPreview.class);\r
+ ageingIntent.putExtra("ageing_mode", true);\r
+ ageingIntent.putExtra("singleitem_or_cycle_mode", SINGLEITEM_OR_CYCLE_MODE);\r
+ ageingIntent.putExtra("work_time", WORK_TIME);\r
+ startActivity(ageingIntent);\r
+ }\r
+\r
+ } catch (Exception e) {\r
+ e.printStackTrace(); \r
+ System.out.println("exception..."); \r
+ } \r
+ } \r
+ }; \r
+ \r
+ /**\r
+ * 获取广播数据\r
+ * \r
+ */\r
+ public class MyReceiver extends BroadcastReceiver {\r
+ @Override\r
+ public void onReceive(Context arg0, Intent arg1) {\r
+ LCDtestAgeing.this.finish();\r
+ }\r
+ }\r
+ \r
+}
\ No newline at end of file
--- /dev/null
+/*
+ * HeadSet Test
+ *
+ * FileName : MikeTest.java
+ * Creator : xuanyang.feng
+ * Date : 2011/12/1
+ * Comment : CIT Test -> HeadSet Test use AudioTrack and AudioRecord
+ *
+ */
+package mobile.miki;
+
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.media.AudioFormat;
+import android.media.AudioManager;
+import android.media.AudioRecord;
+import android.media.AudioTrack;
+import android.media.MediaRecorder;
+import android.os.Bundle;
+import android.os.Handler;
+import android.os.PowerManager;
+import android.os.PowerManager.WakeLock;
+import android.preference.PreferenceManager;
+import android.util.Log;
+import android.view.View;
+import android.widget.ImageButton;
+import android.widget.TextView;
+
+import mobile.miki.mainui.ButtonViewTwo;
+import mobile.miki.mainui.TestMainActivity;
+import mobile.miki.mainui.TestMainList;
+import mobile.miki.util.FTUtils;
+
+//import sim.android.mtkcit.CITActivity;
+//import sim.android.mtkcit.R;
+//import sim.android.mtkcit.TestActivity;
+
+public class MikeTest extends BaseActivity implements android.view.View.OnClickListener{
+ static final String TAG = "AgeingMikeTest";
+ private boolean isRun = false;
+ private boolean isClosing = false;
+ WakeLock mWakeLock;
+ private AudioManager mAudioManager;
+ private RecordThread mRecordThread;
+ int bufferReadResult;
+ ImageButton mRecordButton;
+ TextView txtDescript;
+ byte[] tmpBuf;
+ public int state = 0;
+ public int mVolume = 0;
+ public int nCurrentMusicVolume;
+ public boolean flag = false;
+ public float LeftVolume;
+ public float RightVolume;
+ private ButtonViewTwo buttonView;
+ boolean running;
+ boolean pcbatest;
+
+ static final int mSourceType = MediaRecorder.AudioSource.MIC;
+
+ static final int SAMPLE_RATE_IN_HZ = 8000;
+
+ static final int channelConfiguration = AudioFormat.CHANNEL_IN_STEREO;
+// private Button btn_success;
+// private Button btn_fail;
+ static final int audioEncoding = AudioFormat.ENCODING_PCM_16BIT;
+ public static final int PCBA_TEST = 0;
+ public static final int MACHINE_TEST = 1;
+ int recBufSize = 0, playBufSize = 0;
+ int mAudioBufferSize;
+ int mAudioBufferSimpleSize;
+ int mRecBufferSimpleSize;
+ VUMeter mVUMeter;
+ AudioRecord mAudioRecord;
+ AudioTrack mAudioTrack;
+ private int j;
+ int sampleRate = 8000;
+ int channelConfig = AudioFormat.CHANNEL_IN_MONO;
+ int audioFormat = AudioFormat.ENCODING_PCM_16BIT;
+ final Handler mHandler = new Handler();
+ final Runnable mUpdataResults = new Runnable() {
+ public void run() {
+ updateUI();
+ }
+ };
+ public static MikeTest instance = null;
+
+ @Override
+ public void onCreate(Bundle icycle) {
+
+ super.onCreate(icycle);
+ MyApplication.getInstance().addActivity(this);
+ setContentView(R.layout.test_mike);
+ Intent intent = getIntent();
+ instance = this;
+ running = false;
+ pcbatest =false;
+ if (intent != null) {
+ running = intent.getBooleanExtra("running", false);
+ pcbatest = intent.getBooleanExtra("pcbatest",false);
+ }
+ buttonView = (ButtonViewTwo) findViewById(R.id.btn_set);
+ buttonView.btn_left.setOnClickListener(this);
+ buttonView.btn_right.setOnClickListener(this);
+ buttonView.btn_left.setClickable(false);
+ getCameraIntent();
+ ageingMode();
+ }
+
+ @Override
+ protected void onResume() {
+ buttonView.setSuccessColor();
+ buttonView.btn_left.setClickable(true);
+ super.onResume();
+ }
+
+ @Override
+ protected void onStart() {
+ initResourceRefs();
+
+ super.onStart();
+ }
+
+ private void initResourceRefs() {
+ PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
+ mWakeLock = pm
+ .newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK, "MicTest");
+
+ mAudioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
+ setVolumeControlStream(AudioManager.STREAM_MUSIC);
+
+ // add_s wangkang 2012.5.3 bug896
+ nCurrentMusicVolume = mAudioManager
+ .getStreamVolume(AudioManager.STREAM_MUSIC);
+ mAudioManager.setStreamVolume(AudioManager.STREAM_MUSIC,
+ mAudioManager
+ .getStreamMaxVolume(AudioManager.STREAM_MUSIC), 0);
+
+ // initAudioRecord();
+ initAudioTrack();
+ mVUMeter = (VUMeter) findViewById(R.id.uvMeter);
+ mVUMeter.setVolume(0);
+ mVUMeter.invalidate();
+ mRecordThread = new RecordThread();
+ Log.v(TAG, "initResourceRefs");
+ mRecordThread.start();
+ }
+
+
+ private void initAudioRecord() {
+ Log.v(TAG, "initAudioRecord");
+
+ recBufSize = 2 * AudioRecord.getMinBufferSize(SAMPLE_RATE_IN_HZ,
+ channelConfiguration, audioEncoding);
+
+ mAudioBufferSimpleSize = recBufSize / 2;
+ mAudioRecord = new AudioRecord(mSourceType, SAMPLE_RATE_IN_HZ,
+ channelConfiguration, audioFormat, recBufSize);
+ int audioRecordState = mAudioRecord.getState();
+ if (audioRecordState != AudioRecord.STATE_INITIALIZED) {
+ Log.v(TAG, "AudioRecord is initialized");
+ finish();
+ }
+ }
+
+ private void initAudioTrack() {
+ Log.v(TAG, "initAudioTrack");
+
+ playBufSize = 2 * AudioTrack.getMinBufferSize(SAMPLE_RATE_IN_HZ,
+ channelConfiguration, audioEncoding);
+
+ mAudioTrack = new AudioTrack(AudioManager.STREAM_MUSIC,
+ SAMPLE_RATE_IN_HZ, channelConfiguration, audioFormat,
+ playBufSize, AudioTrack.MODE_STREAM);
+ int audioTrackState = mAudioTrack.getState();
+ if (audioTrackState != AudioTrack.STATE_INITIALIZED) {
+ Log.v(TAG, "AudioTrack is initialized");
+ finish();
+ }
+ initAudioRecord();
+ }
+
+ short[] audioBuffer;
+
+ class RecordThread extends Thread {
+
+ public RecordThread() {
+ super();
+ }
+
+ public void run() {
+ Log.d("CIT", "Run");
+ super.run();
+
+ if (mAudioRecord == null)
+ return;
+ audioBuffer = new short[mAudioBufferSimpleSize];
+ mAudioRecord.startRecording();
+ int audioRecordState = mAudioRecord.getRecordingState();
+ if (audioRecordState != AudioRecord.RECORDSTATE_RECORDING) {
+ Log.v(TAG, "not recording");
+ return;
+ } else {
+ Log.v(TAG, "start recording");
+
+ }
+
+ if (mAudioTrack == null)
+ return;
+ mAudioTrack.play();
+ int audioTracktate = mAudioTrack.getPlayState();
+ if (audioTracktate != AudioTrack.PLAYSTATE_PLAYING) {
+ Log.v(TAG, "not playing");
+ return;
+
+ }
+
+ Log.v(TAG, "start playing");
+ mAudioTrack.setStereoVolume(1.0f, 1.0f);
+ isRun = true;
+ while (isRun) {
+ int sampleRate = mAudioRecord.read(audioBuffer, 0,
+ mAudioBufferSimpleSize);
+ if (mAudioBufferSimpleSize < 0) {
+ mAudioBufferSimpleSize = 0;
+ }
+
+ if ((mAudioTrack != null) && (!isClosing))
+ try {
+ mAudioTrack.write(audioBuffer, 0, mAudioBufferSimpleSize);
+ } catch (Exception e) {
+ // TODO: handle exception
+ e.printStackTrace();
+ }
+
+
+ int v = 0;
+ for (int i = 0; i < audioBuffer.length; i++) {
+ v += audioBuffer[i] * audioBuffer[i];
+ }
+ sampleRate = sampleRate < 0 ? 0 : sampleRate;
+ mVolume = v / (50 * (sampleRate + 1));
+ Log.v(TAG, "mVolume=" + mVolume);
+ j++;
+ if (j < 5) {
+ mVolume = 20;
+ }
+ mHandler.post(mUpdataResults);
+
+ }
+
+// finish();
+
+ }
+
+ public void pause() {
+ isRun = false;
+ }
+
+ public void start() {
+ if (!isRun) {
+ super.start();
+ }
+ }
+
+ }
+
+ @Override
+ public void onStop() {
+ releaseRec();
+ super.onStop();
+ }
+
+ private void releaseRec() {
+ if (mAudioManager != null) {
+ //mod_s wangkang 2012.5.3 bug896
+ mAudioManager.setStreamVolume(AudioManager.STREAM_MUSIC,
+ nCurrentMusicVolume, 0);
+ //mod_s wangkang 2012.5.3 bug896
+ }
+ if (mAudioTrack != null) {
+ mAudioTrack.release();
+
+ }
+ if (mAudioRecord != null) {
+ mAudioRecord.release();
+
+ }
+ isRun = false;
+
+ }
+
+ @Override
+ public void onDestroy() {
+ if(mRecordThread != null){
+ mRecordThread = null;
+ }
+ if(ageHandler != null && runnable != null) {
+ ageHandler.removeCallbacks(runnable);
+ }
+ if (receiver != null) {
+ unregisterReceiver(receiver);
+ }
+
+ if(handler != null) {
+ handler.removeCallbacksAndMessages(handler.obtainMessage());
+ }
+ super.onDestroy();
+ }
+
+ private void updateUI() {
+
+// Log.i("MikeTest000", "updateUI(), mVolume=" + mVolume);
+
+ mVUMeter.setVolume(mVolume);
+ if ((!flag) && (mVolume > 3000)) {
+// btn_success.setEnabled(true);
+ flag = true;
+ }
+ }
+
+
+ @Override
+ public void onClick(View arg0) {
+ Intent intent = new Intent(this, SimDetectActivity.class);
+ intent.putExtra("running", true);
+ intent.putExtra("pcbatest",pcbatest);
+ Intent intent1 = new Intent(this, TestMainActivity.class);
+ // TestResult testResult = (TestResult) getApplicationContext();
+ switch (arg0.getId()) {
+
+ case R.id.btn_two_left:
+ if (!running) {
+ startActivity(intent1);
+ } else {
+ startActivity(intent);
+ }
+ PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit().putString("mic", "true")
+ .commit();
+ finish();
+ break;
+ case R.id.btn_two_right:
+ if (!running) {
+ startActivity(intent1);
+ } else {
+ startActivity(intent);
+ }
+ PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit().putString("mic", "false")
+ .commit();
+ finish();
+ break;
+ }
+ }
+
+ @Override
+ public void onBackPressed() {
+ // super.onBackPressed();
+ if (running) {
+ Intent intent = new Intent(this, TestMainList.class);
+ startActivity(intent);
+ finish();
+ } else {
+ finish();
+ }
+ }
+
+ boolean isEgeingMode = false;
+ private int TIME = 1000 * 10;
+ private int SINGLEITEM_OR_CYCLE_MODE;
+ private int WORK_TIME;
+ private MyReceiver receiver=null;
+
+ private void getCameraIntent() {
+ Intent intent = getIntent();
+ if (intent != null) {
+ try {
+ isEgeingMode = intent.getBooleanExtra("ageing_mode", false);
+ SINGLEITEM_OR_CYCLE_MODE = intent.getIntExtra("singleitem_or_cycle_mode", 0);
+ WORK_TIME = intent.getIntExtra("work_time", 0);
+ } catch (Exception e) {
+ e.printStackTrace();
+
+ }
+ }
+ }
+ /**
+ * 处理老化模式的状态
+ */
+ private void ageingMode() {
+ if(isEgeingMode && SINGLEITEM_OR_CYCLE_MODE == 1) {
+ // 单项无限循环
+ if (WORK_TIME == -1) {
+ WORK_TIME = 100000000;
+ }
+ TIME = WORK_TIME * Constants.SINGLEITEM_TIMES;
+ ageHandler.postDelayed(runnable, TIME);
+ sendBraodCaseReceiver();
+ } else if (isEgeingMode && SINGLEITEM_OR_CYCLE_MODE == 2) {
+ TIME = Constants.CYCLE_ONE_ACTIVITY_TIMES;
+ ageHandler.postDelayed(runnable, TIME);
+ registerReceiver();
+ } else {
+ sendBraodCaseReceiver();
+ }
+ }
+
+ Handler ageHandler = new Handler();
+ Runnable runnable = new Runnable() {
+
+ @Override
+ public void run() {
+ // handler自带方法实现定时器
+ try {
+ if(SINGLEITEM_OR_CYCLE_MODE == 2) {
+ Intent ageingIntent = new Intent(MikeTest.this,RingtoneActivity.class);
+ if (FTUtils.isSugar()) {
+ ageingIntent = new Intent(MikeTest.this,MotorTestActivity.class);
+ }
+ ageingIntent.putExtra("ageing_mode", true);
+ ageingIntent.putExtra("singleitem_or_cycle_mode", SINGLEITEM_OR_CYCLE_MODE);
+ ageingIntent.putExtra("work_time", WORK_TIME);
+ ageingIntent.putExtra("first_start_service", false);
+ startActivity(ageingIntent);
+ }
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ System.out.println("exception...");
+ }
+ }
+ };
+
+ private void sendBraodCaseReceiver() {
+ Intent intent = new Intent();
+ intent.setAction("com.android.stopTiming");
+ sendBroadcast(intent);
+ }
+
+ private void registerReceiver() {
+ receiver = new MyReceiver();
+ IntentFilter filter = new IntentFilter();
+ filter.addAction("com.android.stopActivity");
+ registerReceiver(receiver, filter);
+ }
+
+ /**
+ * 获取广播数据
+ *
+ */
+ public class MyReceiver extends BroadcastReceiver {
+ @Override
+ public void onReceive(Context arg0, Intent arg1) {
+ MikeTest.this.finish();
+ }
+ }
+}
--- /dev/null
+/**\r
+ * Generated by smali2java 1.0.0.558\r
+ * Copyright (C) 2013 Hensence.com\r
+ */\r
+\r
+package mobile.miki;\r
+\r
+import android.content.BroadcastReceiver;\r
+import android.content.Context;\r
+import android.content.Intent;\r
+import android.content.IntentFilter;\r
+import android.os.Bundle;\r
+import android.os.Handler;\r
+import android.os.Vibrator;\r
+import android.preference.PreferenceManager;\r
+import android.view.View;\r
+\r
+import mobile.miki.mainui.ButtonViewTwo;\r
+import mobile.miki.mainui.TestMainActivity;\r
+import mobile.miki.util.FTUtils;\r
+\r
+public class MotorTestActivity extends BaseActivity implements android.view.View.OnClickListener{\r
+ long[] pattern;\r
+ private Vibrator vibrator;\r
+ boolean running;\r
+ private ButtonViewTwo buttonView;\r
+ public static MotorTestActivity instance = null;\r
+ \r
+ public MotorTestActivity() {\r
+ long[] arrayOfLong = new long[4];\r
+ arrayOfLong[0] = 700L;\r
+ arrayOfLong[1] = 1200L;\r
+ arrayOfLong[2] = 700L;\r
+ arrayOfLong[3] = 1200L;\r
+ this.pattern = arrayOfLong;\r
+ }\r
+ \r
+ protected void onCreate(Bundle savedInstanceState) {\r
+ super.onCreate(savedInstanceState);\r
+ setContentView(R.layout.motor_test_layout);\r
+ instance = this;\r
+ Intent intent = getIntent();\r
+ running = false;\r
+ if (intent != null) {\r
+ running = intent.getBooleanExtra("running", false);\r
+ }\r
+ buttonView = (ButtonViewTwo) findViewById(R.id.btn_set);\r
+ buttonView.btn_left.setOnClickListener(this);\r
+ buttonView.btn_right.setOnClickListener(this);\r
+ buttonView.btn_left.setClickable(false);\r
+ getMikeIntent();\r
+ ageingMode();\r
+ }\r
+ \r
+ protected void onResume() {\r
+ super.onResume();\r
+ buttonView.setSuccessColor();\r
+ buttonView.btn_left.setClickable(true);\r
+ vibrator = (Vibrator)getSystemService(Context.VIBRATOR_SERVICE);\r
+ onShakeBtnClicked(null);\r
+ }\r
+ \r
+ public void onShakeBtnClicked(View view) {\r
+ if(vibrator != null) {\r
+ vibrator.vibrate(pattern, 0x0);\r
+ return;\r
+ }\r
+ }\r
+ \r
+ @Override\r
+ protected void onPause() {\r
+ vibrator.cancel();\r
+ super.onPause();\r
+ }\r
+ \r
+ protected void onDestroy() {\r
+ super.onDestroy();\r
+ }\r
+\r
+ boolean isEgeingMode = false;\r
+ private int TIME = 1000 * 10;\r
+ private int SINGLEITEM_OR_CYCLE_MODE;\r
+ private int WORK_TIME;\r
+ private MyReceiver receiver=null;\r
+ private void getMikeIntent() {\r
+ Intent intent = getIntent();\r
+ if (intent != null) {\r
+ try {\r
+ isEgeingMode = intent.getBooleanExtra("ageing_mode", false);\r
+ SINGLEITEM_OR_CYCLE_MODE = intent.getIntExtra("singleitem_or_cycle_mode", 0);\r
+ WORK_TIME = intent.getIntExtra("work_time", 0);\r
+ } catch (Exception e) {\r
+ e.printStackTrace();\r
+\r
+ }\r
+ }\r
+ }\r
+ /**\r
+ * 处理老化模式的状态\r
+ */\r
+ private void ageingMode() {\r
+ if(isEgeingMode && SINGLEITEM_OR_CYCLE_MODE == 1) {\r
+ // 单项无限循环\r
+ if (WORK_TIME == -1) {\r
+ WORK_TIME = 100000000;\r
+ }\r
+ TIME = WORK_TIME * Constants.SINGLEITEM_TIMES;\r
+ ageHandler.postDelayed(runnable, TIME);\r
+ sendBraodCaseReceiver();\r
+ } else if (isEgeingMode && SINGLEITEM_OR_CYCLE_MODE == 2) {\r
+ TIME = Constants.CYCLE_ONE_ACTIVITY_TIMES;\r
+ ageHandler.postDelayed(runnable, TIME);\r
+ registerReceiver();\r
+ } else {\r
+ sendBraodCaseReceiver();\r
+ }\r
+ }\r
+\r
+ Handler ageHandler = new Handler();\r
+ Runnable runnable = new Runnable() {\r
+\r
+ @Override\r
+ public void run() {\r
+ // handler自带方法实现定时器\r
+ try {\r
+// handler.postDelayed(this, TIME);\r
+ System.out.println("do...");\r
+ if(SINGLEITEM_OR_CYCLE_MODE == 2) {\r
+ Intent ageingIntent = new Intent(MotorTestActivity.this,RingtoneActivity.class);\r
+ ageingIntent.putExtra("ageing_mode", true);\r
+ ageingIntent.putExtra("singleitem_or_cycle_mode", SINGLEITEM_OR_CYCLE_MODE);\r
+ ageingIntent.putExtra("work_time", WORK_TIME);\r
+ ageingIntent.putExtra("first_start_service", false);\r
+ startActivity(ageingIntent);\r
+ }\r
+ finish();\r
+ } catch (Exception e) {\r
+ e.printStackTrace();\r
+ System.out.println("exception...");\r
+ }\r
+ }\r
+ };\r
+\r
+ private void sendBraodCaseReceiver() {\r
+ Intent intent = new Intent();\r
+ intent.setAction("com.android.stopTiming");\r
+ sendBroadcast(intent);\r
+ }\r
+\r
+ private void registerReceiver() {\r
+ receiver = new MyReceiver();\r
+ IntentFilter filter = new IntentFilter();\r
+ filter.addAction("com.android.stopActivity");\r
+ registerReceiver(receiver, filter);\r
+ }\r
+\r
+ /**\r
+ * 获取广播数据\r
+ *\r
+ */\r
+ public class MyReceiver extends BroadcastReceiver {\r
+ @Override\r
+ public void onReceive(Context arg0, Intent arg1) {\r
+ finish();\r
+ }\r
+ }\r
+\r
+\r
+ @Override\r
+ public void onClick(View arg0) {\r
+ Intent intent = new Intent(this, UltravioletMonitorActivity.class);\r
+ if (FTUtils.isS06()) {\r
+ intent = new Intent(this, DSPActivity.class);\r
+ }\r
+ intent.putExtra("running", true);\r
+ Intent intent1 = new Intent(this, TestMainActivity.class);\r
+ switch (arg0.getId()) {\r
+\r
+ case R.id.btn_two_left:\r
+ if (!running) {\r
+ startActivity(intent1);\r
+ } else {\r
+ startActivity(intent);\r
+ }\r
+ PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit().putString("vibrator", "true")\r
+ .commit();\r
+ finish();\r
+ break;\r
+ case R.id.btn_two_right:\r
+ if (!running) {\r
+ startActivity(intent1);\r
+ } else {\r
+ startActivity(intent);\r
+ }\r
+ PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit().putString("vibrator", "false")\r
+ .commit();\r
+ finish();\r
+ break;\r
+ }\r
+ }\r
+ \r
+ \r
+}\r
--- /dev/null
+package mobile.miki;
+
+import android.app.Activity;
+import android.app.Application;
+
+import com.liulishuo.filedownloader.FileDownloader;
+import com.liulishuo.filedownloader.connection.FileDownloadUrlConnection;
+
+import java.net.Proxy;
+import java.util.LinkedList;
+import java.util.List;
+
+import mobile.miki.util.CrashHandler;
+
+public class MyApplication extends Application {
+ public List<Activity> activitys = null;
+ public static MyApplication instance;
+
+ @Override
+ public void onCreate() {
+ // TODO Auto-generated method stub
+ super.onCreate();
+// initFileDownLoad();
+ CrashHandler crashHandler = CrashHandler.getInstance();
+ crashHandler.init(getApplicationContext());
+ }
+
+ public MyApplication() {
+ activitys = new LinkedList<Activity>();
+
+ }
+
+ private void initFileDownLoad() {
+ FileDownloader.setupOnApplicationOnCreate(this)
+ .connectionCreator(new FileDownloadUrlConnection
+ .Creator(new FileDownloadUrlConnection.Configuration()
+ .connectTimeout(15000) // set connection timeout.
+ .readTimeout(15000) // set read timeout.
+ .proxy(Proxy.NO_PROXY) // set proxy
+ ))
+ .commit();
+ }
+
+ /**
+ * 单例模式中获取唯一的MyApplication实例
+ *
+ * @return
+ */
+ public static MyApplication getInstance() {
+ if (null == instance) {
+ instance = new MyApplication();
+ }
+ return instance;
+ }
+
+ // 添加Activity到容器中
+ public void addActivity(Activity activity) {
+ if (activitys != null && activitys.size() > 0) {
+ if (!activitys.contains(activity)) {
+ activitys.add(activity);
+ }
+ } else {
+ activitys.add(activity);
+ }
+ }
+
+ // 遍历所有Activity并finish
+ public void exit() {
+ if (activitys != null && activitys.size() > 0) {
+ for (Activity activity : activitys) {
+ activity.finish();
+ }
+ }
+ System.exit(0);
+ }
+}
\ No newline at end of file
--- /dev/null
+
+package mobile.miki;
+
+import android.os.SystemProperties;
+import android.util.Log;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+
+/*Parse the phasecheck as the little endian*/
+public class PhaseCheckParse {
+ private static String TAG = "PhaseCheckParse";
+ private static int MAX_SN_LEN = 24;
+ private static int SP09_MAX_SN_LEN = MAX_SN_LEN;
+ private static int SP09_MAX_STATION_NUM = 15;
+ private static int SP09_MAX_STATION_NAME_LEN = 10;
+ private static int SP09_SPPH_MAGIC_NUMBER = 0x53503039;
+ private static int SP05_SPPH_MAGIC_NUMBER = 0x53503035;
+ private static int SP09_MAX_LAST_DESCRIPTION_LEN = 32;
+
+ private static int SN1_START_INDEX = 4;
+ private static int SN2_START_INDEX = SN1_START_INDEX + SP09_MAX_SN_LEN;
+
+ private static int STATION_START_INDEX = 56;
+ private static int TESTFLAG_START_INDEX = 252;
+ private static int RESULT_START_INDEX = 254;
+
+ private static String PHASE_CHECKE_FILE = "miscdata";
+
+ private byte[] stream = new byte[600];
+ private boolean mIsSP15 = false;
+ private static int SP15_MAX_SN_LEN = 64;
+ private static int SP15_MAX_STATION_NUM = 20;
+ private static int SP15_MAX_STATION_NAME_LEN = 15;
+ private static int SP15_SPPH_MAGIC_NUMBER = 0x53503135;
+ private static int SP15_MAX_LAST_DESCRIPTION_LEN = 32;
+
+ private static int SP15_SN1_START_INDEX = 4;
+ private static int SP15_SN2_START_INDEX = SP15_SN1_START_INDEX + SP15_MAX_SN_LEN;
+
+ private static int SP15_STATION_START_INDEX = 136;
+ private static int SP15_TESTFLAG_START_INDEX = 482;
+ private static int SP15_RESULT_START_INDEX = 486;
+
+ public PhaseCheckParse() {
+
+ FileInputStream in = null;
+ String filePath = SystemProperties.get("ro.product.partitionpath") + PHASE_CHECKE_FILE;
+ File fp = new File(filePath);
+ if (!fp.exists()) {
+ Log.d(TAG, filePath + "not exist!");
+ stream = null;
+ return;
+ }
+ Log.d(TAG, "PhaseCheckParse filePath="+filePath);
+ try {
+ in = new FileInputStream(fp);
+ if (in != null) {
+ in.read(stream, 0, stream.length);
+ Log.d(TAG, "read stream.length="+stream.length);
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ } finally {
+ try {
+ if (in != null) {
+ in.close();
+ in = null;
+ }
+ } catch (IOException io) {
+ Log.e(TAG, "close in err");
+ }
+ }
+
+ if (!checkPhaseCheck()) {
+ stream = null;
+ }
+ }
+
+ private boolean checkPhaseCheck() {
+ Log.d(TAG, "checkPhaseCheck " + stream[0] + stream[1] + stream[2] + stream[3]);
+ if ((stream[0] == '9' || stream[0] == '5')
+ && stream[1] == '0'
+ && stream[2] == 'P'
+ && stream[3] == 'S') {
+ mIsSP15 = false;
+ return true;
+ }
+ /*SPRD bug :Support SP15*/
+ else if (stream[0] == '5'
+ && stream[1] == '1'
+ && stream[2] == 'P'
+ && stream[3] == 'S') {
+ mIsSP15 = true;
+ return true;
+ }
+
+ return false;
+ }
+
+ public String getSn1() {
+ if (stream == null) {
+ return "Invalid Sn1!";
+ }
+ if (!isAscii(stream[SN1_START_INDEX])) {
+ Log.d(TAG, "Invalid Sn1!");
+ return "Invalid Sn1!";
+ }
+
+ String sn1 = new String(stream, SN1_START_INDEX, SP09_MAX_SN_LEN);
+ if(mIsSP15){
+ sn1 = new String(stream, SP15_SN1_START_INDEX, SP15_MAX_SN_LEN);
+ Log.d(TAG, "mIsSP15 sn1:" + sn1);
+ }
+ Log.d(TAG, sn1);
+ return sn1;
+ }
+
+ public String getSn2() {
+ if (stream == null) {
+ return "Invalid Sn2!";
+ }
+ if (!isAscii(stream[SN2_START_INDEX])) {
+ Log.d(TAG, "Invalid Sn2!");
+ return "Invalid Sn2!";
+ }
+ String sn2 = new String(stream, SN2_START_INDEX, SP09_MAX_SN_LEN);
+ if(mIsSP15){
+ sn2 = new String(stream, SP15_SN2_START_INDEX, SP15_MAX_SN_LEN);
+ Log.d(TAG, "mIsSP15 sn2:" + sn2);
+ }
+ Log.d(TAG, sn2);
+ return sn2;
+ }
+
+ private static int RESERVED_START_INDEX = 206;
+ private static int RESERVED_LEN = 13;
+ public String getSn3() {
+ if (stream == null) {
+ return "Invalid Sn3!";
+ }
+ if (!isAscii(stream[RESERVED_START_INDEX])) {
+ Log.d(TAG, "Invalid Sn3!");
+ return "Invalid Sn3!";
+ }
+
+ String sn3 = new String(stream, RESERVED_START_INDEX, RESERVED_LEN);
+ Log.d(TAG, "getSn3 sn3="+sn3);
+ return sn3;
+ }
+
+ private boolean isAscii(byte b) {
+ if (b >= 0 && b <= 127) {
+ return true;
+ }
+ return false;
+ }
+
+ public String getTestsAndResult() {
+ if(mIsSP15){
+ String text = getTestsAndResultSP15();
+ Log.d(TAG, "getTestsAndResult mIsSP15="+mIsSP15);
+ Log.d(TAG, "getTestsAndResult text="+text);
+ return text;
+ }
+ if (stream == null) {
+ return "Invalid Phase check!";
+ }
+
+ if (!isAscii(stream[STATION_START_INDEX])) {
+ Log.d(TAG, "Invalid Phase check!");
+ return "Invalid Phase check!";
+ }
+ String testResult = null;
+ String allResult = "";
+
+ int flag = 1;
+ for (int i = 0; i < SP09_MAX_STATION_NUM; i++) {
+ if (0 == stream[STATION_START_INDEX + i * SP09_MAX_STATION_NAME_LEN]) {
+ Log.d(TAG, "break " + i);
+ break;
+ }
+ testResult = new String(stream, STATION_START_INDEX + i * SP09_MAX_STATION_NAME_LEN,
+ SP09_MAX_STATION_NAME_LEN);
+ if (!isStationTest(i)) {
+ testResult += " Not test";
+ } else if (isStationPass(i)) {
+ testResult += " Pass";
+ } else {
+ testResult += " Failed";
+ }
+ flag = flag << 1;
+ Log.d(TAG, i + " " + testResult);
+ allResult += testResult + "\n";
+ }
+ return allResult;
+ }
+
+ public String getTestsAndResultSP15() {
+ if (stream == null) {
+ return "Invalid Phase check!";
+ }
+
+ if (!isAscii(stream[SP15_STATION_START_INDEX])) {
+ Log.d(TAG, "Invalid Phase check!");
+ return "Invalid Phase check!";
+ }
+ String testResult = null;
+ String allResult = "";
+
+ int flag = 1;
+ for (int i = 0; i < SP15_MAX_STATION_NUM; i++) {
+ if (0 == stream[SP15_STATION_START_INDEX + i * SP15_MAX_STATION_NAME_LEN]) {
+ Log.d(TAG, "break " + i);
+ break;
+ }
+ testResult = new String(stream, SP15_STATION_START_INDEX + i * SP15_MAX_STATION_NAME_LEN,
+ SP15_MAX_STATION_NAME_LEN);
+ if (!isStationTestSP15(i)) {
+ testResult += " Not test";
+ } else if (isStationPassSP15(i)) {
+ testResult += " Pass";
+ } else {
+ testResult += " Failed";
+ }
+ flag = flag << 1;
+ Log.d(TAG, i + " " + testResult);
+ allResult += testResult + "\n";
+ }
+ return allResult;
+ }
+
+ private boolean isStationTestSP15(int station) {
+ int flag = 1;
+ return (0 == ((flag << station) & stream[SP15_TESTFLAG_START_INDEX]));
+ }
+
+ private boolean isStationPassSP15(int station) {
+ int flag = 1;
+ return (0 == ((flag << station) & stream[SP15_RESULT_START_INDEX]));
+ }
+
+ private boolean isStationTest(int station) {
+ byte flag = 1;
+ if (station < 8) {
+ return (0 == ((flag << station) & stream[TESTFLAG_START_INDEX]));
+ } else if (station >= 8 && station < 16) {
+ return (0 == ((flag << (station - 8)) & stream[TESTFLAG_START_INDEX + 1]));
+ }
+ return false;
+ }
+
+ private boolean isStationPass(int station) {
+ byte flag = 1;
+ if (station < 8) {
+ return (0 == ((flag << station) & stream[RESULT_START_INDEX]));
+ } else if (station >= 8 && station < 16) {
+ return (0 == ((flag << (station - 8)) & stream[RESULT_START_INDEX + 1]));
+ }
+ return false;
+ }
+}
--- /dev/null
+/**\r
+ * Generated by smali2java 1.0.0.558\r
+ * Copyright (C) 2013 Hensence.com\r
+ */\r
+\r
+package mobile.miki;\r
+\r
+import android.content.Context;\r
+import android.graphics.Bitmap;\r
+import android.graphics.BitmapFactory;\r
+import android.graphics.Canvas;\r
+import android.graphics.Paint;\r
+import android.graphics.PaintFlagsDrawFilter;\r
+\r
+class PictureRender {\r
+ private Bitmap bmCompass;\r
+ private Bitmap bmNeedle;\r
+ private Bitmap bmShadow;\r
+ private Context ctx;\r
+ PaintFlagsDrawFilter filterOff;\r
+ PaintFlagsDrawFilter filterOn;\r
+ private Paint mPaintBm;\r
+ \r
+ public PictureRender(Context paramContext, int paramInt1, int paramInt2, int paramInt3, int paramInt4) {\r
+ ctx = paramContext;\r
+ bmNeedle = getBitmap(paramInt3);\r
+ bmCompass = getBitmap(paramInt2);\r
+ bmShadow = getBitmap(paramInt4);\r
+ mPaintBm = new Paint();\r
+ mPaintBm.setAntiAlias(true);\r
+ mPaintBm.setDither(true);\r
+ filterOn = new PaintFlagsDrawFilter(0x0, 0x2);\r
+ filterOff = new PaintFlagsDrawFilter(0x2, 0x0);\r
+ }\r
+ \r
+ public void draw(Canvas paramCanvas, float angle, int paramInt1, int paramInt2) {\r
+ paramCanvas.translate((float)paramInt1, (float)paramInt2);\r
+ if(bmCompass != null) {\r
+ float f5 = (float)(-bmCompass.getWidth() / 0x2);\r
+ float f6 = (float)(-bmCompass.getHeight() / 0x2);\r
+ paramCanvas.drawBitmap(bmCompass, f5, f6, mPaintBm);\r
+ }\r
+ paramCanvas.setDrawFilter(filterOn);\r
+ float f1 = (float)(-bmNeedle.getWidth() / 0x2);\r
+ float f2 = (float)(-bmNeedle.getHeight() / 0x2);\r
+ paramCanvas.rotate(-angle);\r
+ paramCanvas.drawBitmap(bmNeedle, f1, f2, mPaintBm);\r
+ paramCanvas.rotate(angle);\r
+ paramCanvas.setDrawFilter(filterOff);\r
+ if(bmShadow != null) {\r
+ float f3 = (float)(-bmShadow.getWidth() / 0x2);\r
+ float f4 = (float)(-bmShadow.getHeight() / 0x2);\r
+ paramCanvas.drawBitmap(bmShadow, f3, f4, mPaintBm);\r
+ }\r
+ }\r
+ \r
+ public Bitmap getBitmap(int paramInt) {\r
+ if(paramInt <= 0) {\r
+ return null;\r
+ }\r
+ Bitmap localBitmap = null;\r
+ localBitmap = BitmapFactory.decodeResource(ctx.getResources(), paramInt);\r
+ return localBitmap;\r
+ }\r
+}\r
--- /dev/null
+package mobile.miki;
+
+import android.content.Intent;
+import android.media.MediaPlayer;
+import android.media.MediaRecorder;
+import android.os.Bundle;
+import android.os.Environment;
+import android.preference.PreferenceManager;
+import android.util.Log;
+import android.view.View;
+import android.view.View.OnClickListener;
+import android.widget.Button;
+import android.widget.Toast;
+
+import java.io.IOException;
+
+import mobile.miki.mainui.ButtonViewTwo;
+import mobile.miki.mainui.TestMainActivity;
+
+
+public class RecordActivity extends BaseActivity implements OnClickListener {
+ private static final String LOG_TAG = "AudioRecordTest";
+ //语音文件保存路径
+ private String FileName = null;
+
+ //界面控件
+ private Button startRecord;
+ private Button startPlay;
+ private Button stopRecord;
+ private Button stopPlay;
+
+ //语音操作对象
+ private MediaPlayer mPlayer = null;
+ private MediaRecorder mRecorder = null;
+
+ boolean running;
+ private ButtonViewTwo buttonView;
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.record_activity);
+
+ //开始录音
+ startRecord = (Button)findViewById(R.id.startRecord);
+ startRecord.setText(R.string.startRecord);
+ //绑定监听器
+ startRecord.setOnClickListener(new startRecordListener());
+
+ //结束录音
+ stopRecord = (Button)findViewById(R.id.stopRecord);
+ stopRecord.setText(R.string.stopRecord);
+ stopRecord.setOnClickListener(new stopRecordListener());
+
+ //开始播放
+ startPlay = (Button)findViewById(R.id.startPlay);
+ startPlay.setText(R.string.startPlay);
+ //绑定监听器
+ startPlay.setOnClickListener(new startPlayListener());
+
+ //结束播放
+ stopPlay = (Button)findViewById(R.id.stopPlay);
+ stopPlay.setText(R.string.stopPlay);
+ stopPlay.setOnClickListener(new stopPlayListener());
+
+ //设置sdcard的路径
+ FileName = Environment.getExternalStorageDirectory().getAbsolutePath();
+ FileName += "/audiorecordtest.3gp";
+
+ Intent intent = getIntent();
+ running = false;
+ if (intent != null) {
+ running = intent.getBooleanExtra("running", false);;
+ }
+ buttonView = (ButtonViewTwo) findViewById(R.id.btn_set);
+ buttonView.btn_left.setOnClickListener(this);
+ buttonView.btn_right.setOnClickListener(this);
+ buttonView.btn_left.setClickable(false);
+ }
+
+ @Override
+ protected void onResume() {
+ buttonView.setSuccessColor();
+ buttonView.btn_left.setClickable(true);
+ super.onResume();
+ }
+ //开始录音
+ class startRecordListener implements OnClickListener{
+
+ @Override
+ public void onClick(View v) {
+ // TODO Auto-generated method stub
+ mRecorder = new MediaRecorder();
+ mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
+ mRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
+ mRecorder.setOutputFile(FileName);
+ mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
+ try {
+ mRecorder.prepare();
+ Toast.makeText(RecordActivity.this, RecordActivity.this.getResources().getString(R.string.speak_toast), Toast.LENGTH_LONG).show();
+ } catch (IOException e) {
+ Log.e(LOG_TAG, "prepare() failed");
+ }
+ mRecorder.start();
+ }
+
+ }
+ //停止录音
+ class stopRecordListener implements OnClickListener{
+
+ @Override
+ public void onClick(View v) {
+ // TODO Auto-generated method stub
+ if(mRecorder != null) {
+ mRecorder.stop();
+ mRecorder.release();
+ mRecorder = null;
+ Toast.makeText(RecordActivity.this, RecordActivity.this.getResources().getString(R.string.stop_record_toast), Toast.LENGTH_LONG).show();
+ }
+
+ }
+
+ }
+ //播放录音
+ class startPlayListener implements OnClickListener{
+
+ @Override
+ public void onClick(View v) {
+ // TODO Auto-generated method stub
+ mPlayer = new MediaPlayer();
+ try{
+ mPlayer.setDataSource(FileName);
+ mPlayer.prepare();
+ mPlayer.start();
+ Toast.makeText(RecordActivity.this, RecordActivity.this.getResources().getString(R.string.playing_toast), Toast.LENGTH_LONG).show();
+ }catch(IOException e){
+ Log.e(LOG_TAG,"播放失败");
+ }
+ }
+
+ }
+ //停止播放录音
+ class stopPlayListener implements OnClickListener{
+
+ @Override
+ public void onClick(View v) {
+ // TODO Auto-generated method stub
+ if(mPlayer != null) {
+ mPlayer.release();
+ mPlayer = null;
+ Toast.makeText(RecordActivity.this, RecordActivity.this.getResources().getString(R.string.stop_playing_toast), Toast.LENGTH_LONG).show();
+ }
+
+ }
+
+ }
+ @Override
+ public void onClick(View arg0) {
+
+ Intent intent = new Intent(this, TestMainActivity.class);
+ intent.putExtra("running", true);
+ Intent intent1 = new Intent(this, TestMainActivity.class);
+ // TestResult testResult = (TestResult) getApplicationContext();
+ switch (arg0.getId()) {
+
+ case R.id.btn_two_left:
+ if (!running) {
+ startActivity(intent1);
+ } else {
+ startActivity(intent);
+ }
+ PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit().putString("record", "true")
+ .commit();
+ finish();
+ break;
+ case R.id.btn_two_right:
+ if (!running) {
+ startActivity(intent1);
+ } else {
+ startActivity(intent);
+ }
+ PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit().putString("record", "false")
+ .commit();
+ finish();
+ break;
+ }
+
+ }
+}
--- /dev/null
+/**\r
+ * Generated by smali2java 1.0.0.558\r
+ * Copyright (C) 2013 Hensence.com\r
+ */\r
+\r
+package mobile.miki;\r
+\r
+import android.content.BroadcastReceiver;\r
+import android.content.Context;\r
+import android.content.Intent;\r
+import android.content.IntentFilter;\r
+import android.media.AudioManager;\r
+import android.media.MediaPlayer;\r
+import android.os.Build;\r
+import android.os.Bundle;\r
+import android.os.Handler;\r
+import android.preference.PreferenceManager;\r
+import android.view.View;\r
+import android.view.View.OnClickListener;\r
+import android.widget.Button;\r
+\r
+import java.io.IOException;\r
+\r
+import mobile.miki.ageingmode.AgeingModeActivity;\r
+import mobile.miki.mainui.ButtonViewTwo;\r
+import mobile.miki.mainui.TestMainActivity;\r
+import mobile.miki.mainui.TestMainList;\r
+import mobile.miki.util.Logger;\r
+\r
+public class RingtoneActivity extends BaseActivity implements\r
+ MediaPlayer.OnCompletionListener, android.view.View.OnClickListener/*, SeekBar.OnSeekBarChangeListener*/ {\r
+ private boolean isPlaying;\r
+ private MediaPlayer mediaPlayer;\r
+ private ButtonViewTwo buttonView;\r
+ boolean running;\r
+ boolean pcbatest;\r
+ boolean isEgeingMode = false;\r
+ private Button mShowVolum;\r
+\r
+ private int i = 0;\r
+ private int TIME = 1000 * 6;\r
+ private int SINGLEITEM_OR_CYCLE_MODE;\r
+ private int WORK_TIME;\r
+ private MyReceiver receiver=null;\r
+ private boolean isFirstStartService = true;\r
+ private boolean isShowSeekbar = true;\r
+ public static RingtoneActivity instance = null;\r
+// private SeekBar seekBar;\r
+ int maxVolume;\r
+ AudioManager audioManager;\r
+\r
+ public RingtoneActivity() {\r
+ isPlaying = false;\r
+ }\r
+\r
+ protected void onCreate(Bundle savedInstanceState) {\r
+ super.onCreate(savedInstanceState);\r
+ MyApplication.getInstance().addActivity(this);\r
+ setContentView(R.layout.ringtone_test_layout);\r
+ instance = this;\r
+ getRingIntent();\r
+ ageingMode();\r
+\r
+ mShowVolum = (Button) findViewById(R.id.bt_showvolum);\r
+ buttonView = (ButtonViewTwo) findViewById(R.id.btn_set);\r
+ buttonView.btn_left.setOnClickListener(this);\r
+ buttonView.btn_right.setOnClickListener(this);\r
+ buttonView.btn_left.setClickable(false);\r
+ onRingtoneBtnClicked(null);\r
+ /*seekBar = (SeekBar) findViewById(R.id.seekbar);\r
+ if (!FTUtils.isSugar()) {\r
+ seekBar.setVisibility(View.GONE);\r
+ }\r
+ seekBar.setOnSeekBarChangeListener(this);*/\r
+ audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);\r
+ maxVolume = audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC);\r
+\r
+ Logger.d("maxVolume " + maxVolume);\r
+ audioManager.setStreamVolume(AudioManager.STREAM_MUSIC,maxVolume\r
+ , AudioManager.FLAG_SHOW_UI);\r
+// seekBar.setProgress(audioManager.getStreamVolume(AudioManager.STREAM_MUSIC));\r
+ mShowVolum.setOnClickListener(new OnClickListener() {\r
+ @Override\r
+ public void onClick(View arg0) {\r
+ int currentVolume = audioManager\r
+ .getStreamVolume(AudioManager.STREAM_MUSIC);\r
+ audioManager.setStreamVolume(AudioManager.STREAM_MUSIC,\r
+ currentVolume, AudioManager.FLAG_SHOW_UI);\r
+ }\r
+ });\r
+ }\r
+\r
+ private void getRingIntent() {\r
+ Intent intent = getIntent();\r
+ running = false;\r
+ pcbatest = false;\r
+ if (intent != null) {\r
+ try {\r
+ running = intent.getBooleanExtra("running", false);\r
+ pcbatest = intent.getBooleanExtra("pcbatest",false);\r
+ } catch (Exception e) {\r
+ e.printStackTrace();\r
+ }\r
+ }\r
+ if (intent != null) {\r
+ try {\r
+ isEgeingMode = intent.getBooleanExtra("ageing_mode", false);\r
+ SINGLEITEM_OR_CYCLE_MODE = intent\r
+ .getIntExtra("singleitem_or_cycle_mode", 0);\r
+ WORK_TIME = intent.getIntExtra("work_time", 0);\r
+ } catch (Exception e) {\r
+ e.printStackTrace();\r
+ }\r
+ }\r
+ \r
+ if (intent != null) {\r
+ try {\r
+ isFirstStartService = intent.getBooleanExtra("first_start_service", false);\r
+ } catch (Exception e) {\r
+ // TODO: handle exception\r
+ }\r
+ }\r
+ }\r
+\r
+ @Override\r
+ protected void onActivityResult(int requestCode, int resultCode, Intent data) {\r
+ if (resultCode == Constants.AGING_MODE_SETRESULT) {\r
+\r
+ }\r
+ super.onActivityResult(requestCode, resultCode, data);\r
+ }\r
+\r
+ /**\r
+ * 处理老化模式下的状态\r
+ */\r
+ private void ageingMode() {\r
+ if (isEgeingMode && SINGLEITEM_OR_CYCLE_MODE == 1 && WORK_TIME != -1) {\r
+ TIME = WORK_TIME * Constants.SINGLEITEM_TIMES;\r
+ handler.postDelayed(runnable, TIME);\r
+ sendBraodCaseReceiver();\r
+ } else if (isEgeingMode && SINGLEITEM_OR_CYCLE_MODE == 2) {\r
+ TIME = Constants.CYCLE_ONE_ACTIVITY_TIMES;\r
+ handler.postDelayed(runnable, TIME);\r
+ /*if(isFirstStartService && WORK_TIME != -1) {\r
+ Intent serviceIntent = new Intent(this, AgeingService.class);\r
+ serviceIntent.putExtra("work_time", WORK_TIME);\r
+ serviceIntent.putExtra("singleitem_or_cycle_mode", SINGLEITEM_OR_CYCLE_MODE);\r
+ startService(serviceIntent);\r
+ }*/\r
+ isShowSeekbar = isFirstStartService;\r
+ registerReceiver(); //注册广播\r
+ } else {\r
+ sendBraodCaseReceiver();\r
+ }\r
+ }\r
+ \r
+ private void sendBraodCaseReceiver() {\r
+ Intent intent = new Intent();\r
+ intent.setAction("com.android.stopTiming");\r
+ sendBroadcast(intent);\r
+ }\r
+\r
+ private void registerReceiver() {\r
+ receiver = new MyReceiver();\r
+ IntentFilter filter = new IntentFilter();\r
+ filter.addAction("com.android.stopActivity");\r
+ RingtoneActivity.this.registerReceiver(receiver, filter);\r
+ }\r
+\r
+ protected void onDestroy() {\r
+ if (mediaPlayer != null) {\r
+ mediaPlayer.release();\r
+ }\r
+\r
+ if (handler != null && runnable != null) {\r
+ handler.removeCallbacks(runnable);\r
+ }\r
+ if (receiver != null) {\r
+ unregisterReceiver(receiver);\r
+ }\r
+ super.onDestroy();\r
+ }\r
+\r
+\r
+ public void onRingtoneBtnClicked(View view) {\r
+ String model = Build.MODEL;\r
+ if (isPlaying) {\r
+ return;\r
+ }\r
+ if (model != null\r
+ && (model.contains("WG1702") || model.contains("PD88-18"))\r
+ || (model.contains("SCX-N18-18") || model.contains("PD88-8"))) {\r
+ mediaPlayer = MediaPlayer.create(this, R.raw.chongerfei);\r
+ } else if (model.contains("C02A") || model.contains("C02")) {\r
+ mediaPlayer = MediaPlayer.create(this, R.raw.liebao);\r
+ } else {\r
+ mediaPlayer = MediaPlayer.create(this, R.raw.chongerfei);\r
+ }\r
+\r
+ if (mediaPlayer != null) {\r
+ mediaPlayer.stop();\r
+ }\r
+ try {\r
+ mediaPlayer.setOnCompletionListener(this);\r
+ mediaPlayer.setLooping(true);\r
+ mediaPlayer.prepare();\r
+ mediaPlayer.start();\r
+ isPlaying = true;\r
+ return;\r
+ } catch (IllegalStateException e) {\r
+ return;\r
+ } catch (IOException e) {\r
+ }\r
+ }\r
+\r
+ public void onCompletion(MediaPlayer mp) {\r
+ isPlaying = false;\r
+ }\r
+\r
+ @Override\r
+ public void onClick(View arg0) {\r
+ Intent intent;\r
+ //传奇不需要mic\r
+ String model = Build.MODEL;\r
+ if(model != null && model.contains("F6")) {\r
+ intent = new Intent(this, SimDetectActivity.class);\r
+ } else {\r
+ intent = new Intent(this, MikeTest.class);\r
+ }\r
+ \r
+ intent.putExtra("running", true);\r
+ intent.putExtra("pcbatest",pcbatest);\r
+ Intent intent1 = new Intent(this, TestMainActivity.class);\r
+ // TestResult testResult = (TestResult) getApplicationContext();\r
+ switch (arg0.getId()) {\r
+\r
+ case R.id.btn_two_left:\r
+ // 如果当前是老化模式测试\r
+ if (isEgeingMode) {\r
+ Intent ageingIntent = new Intent(this, AgeingModeActivity.class);\r
+ ageingIntent.putExtra("ageing_mode", true);\r
+ startActivity(ageingIntent);\r
+ PreferenceManager\r
+ .getDefaultSharedPreferences(getApplicationContext())\r
+ .edit().putString("ageing_speak", "true").commit();\r
+ } else {\r
+ if (!running) {\r
+ startActivity(intent1);\r
+ } else {\r
+ startActivity(intent);\r
+ }\r
+ PreferenceManager\r
+ .getDefaultSharedPreferences(getApplicationContext())\r
+ .edit().putString("speak", "true").commit();\r
+ }\r
+\r
+ finish();\r
+ break;\r
+ case R.id.btn_two_right:\r
+ if (isEgeingMode) {\r
+ Intent ageingIntent = new Intent(this, AgeingModeActivity.class);\r
+ startActivity(ageingIntent);\r
+ PreferenceManager\r
+ .getDefaultSharedPreferences(getApplicationContext())\r
+ .edit().putString("ageing_speak", "false").commit();\r
+ } else {\r
+ if (!running) {\r
+ startActivity(intent1);\r
+ } else {\r
+ startActivity(intent);\r
+ }\r
+ PreferenceManager\r
+ .getDefaultSharedPreferences(getApplicationContext())\r
+ .edit().putString("speak", "false").commit();\r
+ }\r
+\r
+ finish();\r
+ break;\r
+ }\r
+ }\r
+\r
+ @Override\r
+ protected void onResume() {\r
+ buttonView.setSuccessColor();\r
+ buttonView.btn_left.setClickable(true);\r
+ super.onResume();\r
+ }\r
+\r
+ @Override\r
+ public void onBackPressed() {\r
+ // super.onBackPressed();\r
+ if (running) {\r
+ Intent intent = new Intent(this, TestMainList.class);\r
+ startActivity(intent);\r
+ finish();\r
+ } else {\r
+ finish();\r
+ }\r
+ }\r
+\r
+ Handler handler = new Handler();\r
+ Runnable runnable = new Runnable() {\r
+\r
+ @Override\r
+ public void run() {\r
+ // handler自带方法实现定时器\r
+ try {\r
+ // handler.postDelayed(this, TIME);\r
+ System.out.println("do...");\r
+ if (SINGLEITEM_OR_CYCLE_MODE == 2) {\r
+ Intent ageingIntent = new Intent(RingtoneActivity.this,\r
+ LCDtestAgeing.class);\r
+ ageingIntent.putExtra("ageing_mode", true);\r
+ ageingIntent.putExtra("singleitem_or_cycle_mode",\r
+ SINGLEITEM_OR_CYCLE_MODE);\r
+ ageingIntent.putExtra("work_time", WORK_TIME);\r
+ ageingIntent.putExtra("show_seekbar", isShowSeekbar);\r
+ startActivity(ageingIntent);\r
+ }\r
+ finish();\r
+\r
+ } catch (Exception e) {\r
+ e.printStackTrace();\r
+ System.out.println("exception...");\r
+ }\r
+ }\r
+ };\r
+\r
+ /*@Override\r
+ public void onProgressChanged(SeekBar seekBar, int i, boolean b) {\r
+ audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, i, 0);\r
+ }\r
+\r
+ @Override\r
+ public void onStartTrackingTouch(SeekBar seekBar) {\r
+\r
+ }\r
+\r
+ @Override\r
+ public void onStopTrackingTouch(SeekBar seekBar) {\r
+\r
+ }\r
+*/\r
+ /**\r
+ * 获取广播数据\r
+ * \r
+ */\r
+ public class MyReceiver extends BroadcastReceiver {\r
+ @Override\r
+ public void onReceive(Context arg0, Intent arg1) {\r
+ RingtoneActivity.this.finish();\r
+ }\r
+ }\r
+\r
+}\r
--- /dev/null
+package mobile.miki;\r
+\r
+import android.app.Service;\r
+import android.content.ComponentName;\r
+import android.content.Context;\r
+import android.content.Intent;\r
+import android.os.Bundle;\r
+import android.os.Handler;\r
+import android.os.Message;\r
+import android.preference.PreferenceManager;\r
+import android.telephony.TelephonyManager;\r
+import android.util.Log;\r
+import android.view.Display;\r
+import android.view.View;\r
+import android.widget.TextView;\r
+import android.widget.Toast;\r
+\r
+import java.io.IOException;\r
+\r
+import mobile.miki.mainui.ButtonViewTwo;\r
+import mobile.miki.mainui.TestMainActivity;\r
+import mobile.miki.mainui.TestMainList;\r
+\r
+public class SimDetectActivity extends BaseActivity implements\r
+ android.view.View.OnClickListener {\r
+ private static String imsiSim0;\r
+ private static String imsiSim1;\r
+ private static String aaa;\r
+ private ButtonViewTwo buttonView;\r
+ boolean running;\r
+ boolean pcbatest;\r
+\r
+ String result = null;\r
+ private PingThread pingThread;\r
+\r
+ protected void onCreate(Bundle savedInstanceState) {\r
+ super.onCreate(savedInstanceState);\r
+ MyApplication.getInstance().addActivity(this);\r
+ setContentView(R.layout.sim_detect_layout);\r
+ imsiSim0 = getResources().getString(R.string.nothing);\r
+ imsiSim1 = getResources().getString(R.string.nothing);\r
+ aaa = getResources().getString(R.string.ok);\r
+ Intent intent = getIntent();\r
+ running = false;\r
+ pcbatest =false;\r
+ if (intent != null) {\r
+ running = intent.getBooleanExtra("running", false);\r
+ pcbatest = intent.getBooleanExtra("pcbatest",false);\r
+ }\r
+ buttonView = (ButtonViewTwo) findViewById(R.id.btn_set);\r
+ buttonView.btn_left.setOnClickListener(this);\r
+ buttonView.btn_right.setOnClickListener(this);\r
+ buttonView.btn_left.setClickable(false);\r
+ initSimCarInfo();\r
+ // ((TextView)findViewById(R.id.tvSim0)).setText(imsiSim0);\r
+ // ((TextView)findViewById(R.id.tvSim1)).setText(imsiSim1);\r
+ Log.e("dou", "imsiSim0:" + imsiSim0);\r
+ Log.e("dou", "imsiSim1:" + imsiSim1);\r
+ detectSim1(null);\r
+// detectSim2(null);\r
+ detectNetwork(null);\r
+ }\r
+\r
+ @Override\r
+ protected void onResume() {\r
+ buttonView.setSuccessColor();\r
+ buttonView.btn_left.setClickable(true);\r
+ super.onResume();\r
+ }\r
+\r
+ boolean simPass = false, networkPass = false;\r
+\r
+ public void detectSim1(View view) {\r
+ if (null == imsiSim0) {\r
+ ((TextView) findViewById(R.id.tvSim0)).setText(R.string.nothing);\r
+ } else {\r
+ simPass = true;\r
+ if(running) {\r
+ pass();\r
+ }\r
+ \r
+ ((TextView) findViewById(R.id.tvSim0)).setText(imsiSim0);\r
+ }\r
+\r
+ }\r
+\r
+ public void detectSim2(View view) {\r
+ ((TextView) findViewById(R.id.tvSim1)).setText(imsiSim1);\r
+ }\r
+\r
+ public void detectNetwork(View view) {\r
+ ((TextView) findViewById(R.id.network)).setText(getResources().getString(\r
+ R.string.getInfo));\r
+ if (pingThread == null) {\r
+ pingThread = new PingThread();\r
+ pingThread.start();\r
+ }\r
+ }\r
+\r
+ public void intentToVoicePhone(View view) {\r
+ Intent intent = new Intent();\r
+ intent.setComponent(new ComponentName("com.coagent.voip",\r
+ "com.coagent.voip.VOIPFragmentActivity"));\r
+ startActivity(intent);\r
+ }\r
+\r
+ private void initSimCarInfo() {\r
+\r
+ TelephonyManager telephonyManager = (TelephonyManager) this\r
+ .getSystemService(Context.TELEPHONY_SERVICE);\r
+ TelephonyManager tm = (TelephonyManager) this\r
+ .getSystemService(Service.TELEPHONY_SERVICE);\r
+ int state = tm.getSimState();\r
+ if (TelephonyManager.SIM_STATE_READY == state) {\r
+ imsiSim0 = getResources().getString(R.string.sim_hasRead);\r
+ }\r
+ }\r
+\r
+ // dou\r
+ // 判断手机是否能正常上网 进行ping操作, 即使判断手机连接了wifi了(热点没有上网),手机还是不能上网\r
+\r
+ Handler handler = new Handler(new Handler.Callback() {\r
+ @Override\r
+ public boolean handleMessage(Message message) {\r
+ Log.i("dou", "handleMessage");\r
+ if (result != null && "successful".equals(result)) {\r
+ ((TextView) findViewById(R.id.network))\r
+ .setText(getResources().getString(\r
+ R.string.battery_info_health_good));\r
+ networkPass = true;\r
+ if(running) {\r
+ pass();\r
+ }\r
+ isRunning = false;\r
+ return false;\r
+ }\r
+ if (count == 5) {\r
+ isRunning = false;\r
+ ((TextView) findViewById(R.id.network))\r
+ .setText(getResources().getString(\r
+ R.string.nothing));\r
+ }\r
+ return false;\r
+ }\r
+ });\r
+\r
+\r
+ private boolean isRunning = true;\r
+ private int count = 0;\r
+ class PingThread extends Thread {\r
+ @Override\r
+ public void run() {\r
+\r
+ while (isRunning) {\r
+ Log.e("dou", "isRunning~~~~~~~~~");\r
+ Log.i("dou", "count " + count);\r
+ count++;\r
+ ping();\r
+ Message msg = new Message();\r
+ handler.sendMessage(msg);\r
+ try {\r
+ Thread.sleep(1000);\r
+ } catch (InterruptedException e) {\r
+ // TODO Auto-generated catch block\r
+ e.printStackTrace();\r
+ }\r
+\r
+ }\r
+\r
+ super.run();\r
+ }\r
+ }\r
+\r
+\r
+ @Override\r
+ protected void onDestroy() {\r
+ if (pingThread != null) {\r
+ pingThread = null;\r
+ }\r
+ if (handler != null) {\r
+ handler.removeCallbacksAndMessages(null);\r
+ }\r
+ super.onDestroy();\r
+ }\r
+\r
+ private boolean ping() {\r
+ try {\r
+ String ip = "www.baidu.com";// 除非百度挂了,否则用这个应该没问题~\r
+ Process p = Runtime.getRuntime().exec("ping -c 3 -w 100 " + ip);// ping3次\r
+ // PING的状态\r
+ int status = p.waitFor();\r
+ if (status == 0) {\r
+ result = "successful";\r
+ return true;\r
+ } else {\r
+ result = "failed~ cannot reach the IP address";\r
+ }\r
+ } catch (IOException e) {\r
+ result = "failed~ IOException";\r
+ } catch (InterruptedException e) {\r
+ result = "failed~ InterruptedException";\r
+ } finally {\r
+ Log.i("dou", "result = " + result);\r
+ }\r
+\r
+ return false;\r
+ }\r
+\r
+ // end\r
+\r
+\r
+ @Override\r
+ public void onClick(View arg0) {\r
+ Intent intent = new Intent(this, DialerTestActivity.class);\r
+ intent.putExtra("running", true);\r
+ intent.putExtra("pcbatest",pcbatest);\r
+ Intent intent1 = new Intent(this, TestMainActivity.class);\r
+ // TestResult testResult = (TestResult) getApplicationContext();\r
+ switch (arg0.getId()) {\r
+ case R.id.btn_two_left:\r
+ if (!running) {\r
+ startActivity(intent1);\r
+ } else {\r
+ startActivity(intent);\r
+ }\r
+ PreferenceManager\r
+ .getDefaultSharedPreferences(getApplicationContext())\r
+ .edit().putString("sim", "true").commit();\r
+ finish();\r
+ break;\r
+ case R.id.btn_two_right:\r
+ if (!running) {\r
+ startActivity(intent1);\r
+ } else {\r
+ startActivity(intent);\r
+ }\r
+ PreferenceManager\r
+ .getDefaultSharedPreferences(getApplicationContext())\r
+ .edit().putString("sim", "false").commit();\r
+ finish();\r
+ break;\r
+ }\r
+ }\r
+\r
+ @Override\r
+ public void onBackPressed() {\r
+ // super.onBackPressed();\r
+ if (running) {\r
+ Intent intent = new Intent(this, TestMainList.class);\r
+ startActivity(intent);\r
+ finish();\r
+ } else {\r
+ finish();\r
+ }\r
+ }\r
+\r
+ private void pass() {\r
+ if (simPass == true && networkPass == true) {\r
+ buttonView.setSuccessColor();\r
+ Toast.makeText(SimDetectActivity.this, "SIM卡测试通过!",\r
+ Toast.LENGTH_SHORT).show();\r
+ Display myDisplay = getWindowManager().getDefaultDisplay();\r
+\r
+ Intent intent = new Intent(this, DialerTestActivity.class);\r
+ intent.putExtra("running", true);\r
+ intent.putExtra("pcbatest", pcbatest);\r
+ startActivity(intent);\r
+ PreferenceManager\r
+ .getDefaultSharedPreferences(getApplicationContext())\r
+ .edit().putString("sim", "true").commit();\r
+ finish();\r
+ } else {\r
+ buttonView.btn_left.setClickable(true);\r
+ }\r
+\r
+ }\r
+\r
+}\r
--- /dev/null
+package mobile.miki;\r
+\r
+import android.content.Intent;\r
+import android.os.Build;\r
+import android.os.Bundle;\r
+import android.os.Environment;\r
+import android.os.StatFs;\r
+import android.preference.PreferenceManager;\r
+import android.text.format.Formatter;\r
+import android.util.Log;\r
+import android.view.View;\r
+import android.view.View.OnClickListener;\r
+import android.widget.TextView;\r
+\r
+import java.io.File;\r
+\r
+import mobile.miki.mainui.ButtonViewTwo;\r
+import mobile.miki.mainui.TestMainActivity;\r
+import mobile.miki.util.FTUtils;\r
+\r
+public class SystemMemory extends BaseActivity implements OnClickListener{\r
+\r
+ private TextView total_textview2;\r
+ private TextView avail_textview2;\r
+ private ButtonViewTwo buttonView;\r
+ boolean running;\r
+ boolean pcbatest;\r
+ long totalMemory_byte = 0;\r
+ long MEMORY_2G = 2147483648l;\r
+ long MEMORY_4G = 4294967296l;\r
+\r
+ @Override\r
+ protected void onCreate(Bundle savedInstanceState) {\r
+ super.onCreate(savedInstanceState);\r
+ setContentView(R.layout.systemmemory_test_layout);\r
+ total_textview2 = (TextView) findViewById(R.id.total_textview2);\r
+ avail_textview2 = (TextView) findViewById(R.id.avail_textview2);\r
+\r
+ buttonView = (ButtonViewTwo) findViewById(R.id.btn_set);\r
+ buttonView.btn_left.setOnClickListener(this);\r
+ buttonView.btn_right.setOnClickListener(this);\r
+ buttonView.btn_left.setClickable(false);\r
+\r
+ buttonView.setSuccessColor();\r
+ buttonView.btn_left.setClickable(true);\r
+\r
+ Intent intent = getIntent();\r
+ running = false;\r
+ pcbatest =false;\r
+ if (intent != null) {\r
+ running = intent.getBooleanExtra("running", false);\r
+ pcbatest = intent.getBooleanExtra("pcbatest",false);\r
+ }\r
+\r
+ // 获得手机内部存储控件的状态\r
+ File dataFileDir = Environment.getDataDirectory();\r
+ String total = getTotal(dataFileDir);\r
+ String avail = getAvail(dataFileDir);\r
+\r
+ if (FTUtils.isSugar() || totalMemory_byte >= MEMORY_2G && totalMemory_byte <= MEMORY_4G) {\r
+ total_textview2.setText("4G");\r
+ findViewById(R.id.avail_textview1).setVisibility(View.GONE);\r
+ return;\r
+ }\r
+ total_textview2.setText(total);\r
+ avail_textview2.setText(avail);\r
+\r
+ }\r
+\r
+\r
+\r
+ private String getAvail(File path) {\r
+ // 获得一个磁盘状态对象 \r
+ StatFs stat = new StatFs(path.getPath());\r
+\r
+ long blockSize = stat.getBlockSize(); // 获得一个扇区的大小\r
+ long totalBytes = stat.getTotalBytes();\r
+\r
+ long totalBlocks = stat.getBlockCount(); // 获得扇区的总数 \r
+\r
+ long availableBlocks = stat.getAvailableBlocks(); // 获得可用的扇区数量 \r
+ // 总空间\r
+ String totalMemory = Formatter.formatFileSize(this, totalBlocks * blockSize);\r
+ // 可用空间 \r
+ String availableMemory = Formatter.formatFileSize(this, availableBlocks * blockSize);\r
+\r
+ return availableMemory;\r
+ }\r
+\r
+\r
+ private String getTotal(File path) {\r
+ // 获得一个磁盘状态对象 \r
+ StatFs stat = new StatFs(path.getPath());\r
+\r
+ long blockSize = stat.getBlockSize(); // 获得一个扇区的大小 \r
+\r
+ long totalBlocks = stat.getBlockCount(); // 获得扇区的总数 \r
+\r
+ long availableBlocks = stat.getAvailableBlocks(); // 获得可用的扇区数量 \r
+\r
+ // 总空间 \r
+ String totalMemory = Formatter.formatFileSize(this, totalBlocks * blockSize);\r
+ totalMemory_byte = totalBlocks * blockSize;\r
+ Log.i("dxc", "total kb " + totalMemory_byte);\r
+ // 可用空间 \r
+ String availableMemory = Formatter.formatFileSize(this, availableBlocks * blockSize);\r
+\r
+ return totalMemory;\r
+ }\r
+\r
+\r
+\r
+ @Override\r
+ public void onClick(View arg0) {\r
+ Intent intent = null;\r
+ //正指向添加录音测试\r
+ String model = Build.MODEL;\r
+ if(model != null && (model.contains("WG1702") || model.contains("PD88-18")) || (model.contains("SCX-N18-18") || model.contains("PD88-8") || model.contains("F6"))) {\r
+ intent = new Intent(this, RecordActivity.class);\r
+ } else if (FTUtils.isSugar() || FTUtils.isLieBao() || FTUtils.isS06()) {\r
+ intent = new Intent(this, KeysTestActivity.class);\r
+ } else if (FTUtils.isS06()){\r
+ // s06\r
+ intent = new Intent(this, DSPActivity.class);\r
+ } else {\r
+ intent = new Intent(this, TestMainActivity.class);\r
+ }\r
+\r
+ intent.putExtra("running", true);\r
+ intent.putExtra("pcbatest",pcbatest);\r
+ Intent intent1 = new Intent(this, TestMainActivity.class);\r
+\r
+ switch (arg0.getId()) {\r
+\r
+ case R.id.btn_two_left:\r
+ if (!running) {\r
+ startActivity(intent1);\r
+ } else if (FTUtils.isS06()) {\r
+ startActivity(intent);\r
+ } else {\r
+ // 自动化测试最后一项直接回到主界面\r
+ startActivity(intent1);\r
+ }\r
+ PreferenceManager\r
+ .getDefaultSharedPreferences(getApplicationContext())\r
+ .edit().putString("watchmemory", "true").commit();\r
+\r
+ finish();\r
+\r
+ break;\r
+ case R.id.btn_two_right:\r
+ if (!running) {\r
+ startActivity(intent1);\r
+ } else if (FTUtils.isS06()) {\r
+ startActivity(intent);\r
+ } else {\r
+ startActivity(intent1);\r
+ }\r
+ PreferenceManager\r
+ .getDefaultSharedPreferences(getApplicationContext())\r
+ .edit().putString("watchmemory", "false").commit();\r
+ finish();\r
+\r
+ break;\r
+ }\r
+\r
+ }\r
+\r
+}\r
--- /dev/null
+package mobile.miki;\r
+\r
+public class TouchScreen_Activity {\r
+\r
+}\r
--- /dev/null
+package mobile.miki;\r
+\r
+import android.content.Context;\r
+import android.content.Intent;\r
+import android.graphics.Bitmap;\r
+import android.graphics.Canvas;\r
+import android.graphics.Color;\r
+import android.graphics.Paint;\r
+import android.graphics.Paint.Style;\r
+import android.os.Bundle;\r
+import android.preference.PreferenceManager;\r
+import android.util.Log;\r
+import android.view.Display;\r
+import android.view.MotionEvent;\r
+import android.view.View;\r
+import android.view.Window;\r
+import android.view.WindowManager;\r
+import android.widget.Toast;\r
+\r
+import java.util.ArrayList;\r
+import java.util.Iterator;\r
+\r
+import mobile.miki.lcd.LcdActivity;\r
+import mobile.miki.mainui.TestMainActivity;\r
+import mobile.miki.mainui.TestMainList;\r
+\r
+//import sim.android.mtkcit.TestActivity;\r
+//import sim.android.mtkcit.cittools.CITTools;\r
+\r
+\r
+public class TouchTest extends BaseActivity {\r
+ private static final String TAG = "TouchpanelTest";\r
+ private static final boolean mDebug = false;\r
+ private TPTestView tpView;\r
+ private ArrayList<Rect> rectList;\r
+ private static final int numX = 4;\r
+ private static final int numY = 7;\r
+ private int mDisplayWidth = 320;\r
+ private int mDisplayHeight = 320;\r
+ private int absX;\r
+ private int absY;\r
+ boolean running;\r
+\r
+ @Override\r
+ public void onCreate(Bundle savedInstanceState) {\r
+ super.onCreate(savedInstanceState);\r
+ MyApplication.getInstance().addActivity(this);\r
+ if (mDebug)\r
+ Log.v(TAG, "start TouchpanelTest");\r
+ getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);\r
+ requestWindowFeature(Window.FEATURE_NO_TITLE);\r
+ // 发送广播给systemUI全屏显示\r
+ Intent systemuiIntent = new Intent();\r
+ systemuiIntent.setAction("mobile.miki.touchscreen.TouchScreen_Activity");\r
+ systemuiIntent.putExtra("close", true);\r
+ sendBroadcast(systemuiIntent);\r
+ // end\r
+ initRec();\r
+ Toast.makeText(this, /*"请进行触摸屏测试"*/this.getResources().getString(R.string.touchtest_toast), Toast.LENGTH_LONG).show();\r
+ tpView = new TPTestView(this);\r
+ setContentView(tpView);\r
+ Intent intent = getIntent();\r
+ running = false;\r
+ if (intent != null) {\r
+ running = intent.getBooleanExtra("running", false);\r
+ }\r
+\r
+ }\r
+\r
+ private void initRec() {\r
+\r
+ Display myDisplay = getWindowManager().getDefaultDisplay();\r
+ mDisplayHeight = myDisplay.getHeight();\r
+ mDisplayHeight = mDisplayHeight;\r
+ \r
+\r
+ absY = mDisplayHeight / numY;\r
+ mDisplayWidth = myDisplay.getWidth();\r
+ // mDisplayWidth = 859;\r
+ \r
+// if(myDisplay.getWidth()==730){\r
+// mDisplayWidth = 855;\r
+// }else{\r
+// mDisplayWidth = 1280;\r
+// }\r
+ \r
+ \r
+ absX = mDisplayWidth / numX;\r
+ rectList = new ArrayList<TouchTest.Rect>(numX * numY);\r
+ for (int i = 0; i < numX; i++) {\r
+ for (int j = 0; j < numY; j += (numY - 1) / 2) {\r
+ Rect r = new Rect(i * absX, j * absY, absX, absY);\r
+\r
+ rectList.add(r);\r
+ }\r
+ }\r
+\r
+ for (int i = 0; i < numX; i += (numX - 1) / 2) {\r
+ for (int j = 1; j < numY - 1; j++) {\r
+ if (j == (numY - 1) / 2)\r
+ continue;\r
+\r
+ Rect r = new Rect(i * absX, j * absY, absX, absY);\r
+\r
+ rectList.add(r);\r
+ }\r
+ }\r
+\r
+ \r
+// for (int i = 0; i < 2; i++) {\r
+// for (int j = 0; j < 2; j++) {\r
+// Rect r = new Rect(absX + i * absX * (numX - 1) / 2, absY + j * absY * (numY - 1) / 2,\r
+// (numX - 3) / 2 * absX, (numY - 3) / 2 * absY);\r
+//\r
+// rectList.add(r);\r
+//\r
+// }\r
+// }\r
+ }\r
+\r
+ private void doAfterTest() {\r
+ // Bundle b = new Bundle();\r
+ // Intent intent = new Intent();\r
+ // b.putInt("test_result", 1);\r
+ //\r
+ // intent.putExtras(b);\r
+ // setResult(RESULT_OK, intent);\r
+\r
+// // 发送广播给systemUI显示bar\r
+// Intent systemuiIntent = new Intent();\r
+// systemuiIntent.setAction("mobile.miki.touchscreen.TouchTest");\r
+// systemuiIntent.putExtra("open", true);\r
+// sendBroadcast(systemuiIntent);\r
+\r
+ Intent intent2 = new Intent(this, LcdActivity.class);\r
+ intent2.putExtra("running", true);\r
+ Intent intent1 = new Intent(this, TestMainActivity.class);\r
+\r
+ if (!running) {\r
+ startActivity(intent1);\r
+ } else {\r
+ startActivity(intent2);\r
+ }\r
+ PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit().putString("touch", "true")\r
+ .commit();\r
+\r
+ finish();\r
+\r
+ }\r
+\r
+ private class Rect {\r
+ int x;\r
+ int y;\r
+ int dx;\r
+ int dy;\r
+\r
+ Rect(int x, int y, int dx, int dy) {\r
+ this.x = x;\r
+ this.y = y;\r
+ this.dx = dx;\r
+ this.dy = dy;\r
+ }\r
+\r
+ public boolean isInRect(int x, int y) {\r
+ if (x >= this.x && x <= this.x + this.dx && y >= this.y && y <= this.y + this.dy) {\r
+ return true;\r
+ } else {\r
+ return false;\r
+ }\r
+ }\r
+ }\r
+\r
+ private class TPTestView extends View {\r
+ private Bitmap bitmap;\r
+ private Canvas canvas;\r
+ private Paint paint;\r
+ private Rect tempRect;\r
+\r
+ public TPTestView(Context context) {\r
+ super(context);\r
+ paint = new Paint(Paint.DITHER_FLAG);\r
+ bitmap = Bitmap.createBitmap(mDisplayWidth, mDisplayHeight, Bitmap.Config.ARGB_8888);\r
+ canvas = new Canvas();\r
+ canvas.setBitmap(bitmap);\r
+\r
+ paint.setStyle(Style.FILL);\r
+ paint.setStrokeWidth(5);\r
+ paint.setColor(Color.WHITE);\r
+ paint.setAntiAlias(true);\r
+\r
+ Iterator<Rect> iterator = rectList.iterator();\r
+ while (iterator.hasNext()) {\r
+ Rect rect = iterator.next();\r
+ canvas.drawRect(rect.x, rect.y, rect.x + rect.dx - 1, rect.y + rect.dy - 1, paint);\r
+ }\r
+ invalidate();\r
+\r
+ paint.setColor(Color.GREEN);\r
+\r
+ }\r
+\r
+ protected void onDraw(Canvas canvas) {\r
+ canvas.drawBitmap(bitmap, 0, 0, null);\r
+ }\r
+\r
+ public boolean onTouchEvent(MotionEvent event) {\r
+ int action = event.getAction();\r
+ float x = event.getX();\r
+ float y = event.getY();\r
+ if (mDebug)\r
+ Log.v(TAG, "onTouchEvent" + " x=" + x + " y=" + y);\r
+\r
+ if (action == MotionEvent.ACTION_DOWN || action == MotionEvent.ACTION_MOVE) {\r
+ if (rectList.size() == 0) {\r
+ doAfterTest();\r
+ }\r
+ boolean bNeedFindRect = false;\r
+ if (tempRect == null) {\r
+ bNeedFindRect = true;\r
+ } else {\r
+ if (!tempRect.isInRect((int) x, (int) y)) {\r
+ bNeedFindRect = true;\r
+ } else {\r
+ bNeedFindRect = false;\r
+ }\r
+\r
+ }\r
+ if (mDebug)\r
+ Log.v(TAG, "onTouchEvent" + " bNeedFindRect=" + bNeedFindRect);\r
+ if (bNeedFindRect) {\r
+ Iterator<Rect> iterator = rectList.iterator();\r
+ while (iterator.hasNext()) {\r
+ Rect rect = iterator.next();\r
+ if (rect.isInRect((int) x, (int) y)) {\r
+ tempRect = rect;\r
+ canvas.drawRect(rect.x, rect.y, rect.x + rect.dx, rect.y + rect.dy, paint);\r
+ invalidate();\r
+ rectList.remove(rect);\r
+ break;\r
+ }\r
+ }\r
+ }\r
+ }\r
+ return true;\r
+ }\r
+ }\r
+\r
+ @Override\r
+ public void onBackPressed() {\r
+ // super.onBackPressed();\r
+ PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit().putString("touch", "false")\r
+ .commit();\r
+ if (running) {\r
+ Intent intent = new Intent(this, TestMainList.class);\r
+ startActivity(intent);\r
+ finish();\r
+ // doAfterTest();\r
+ } else {\r
+ finish();\r
+ }\r
+\r
+ }\r
+\r
+}\r
--- /dev/null
+/**\r
+ * Generated by smali2java 1.0.0.558\r
+ * Copyright (C) 2013 Hensence.com\r
+ */\r
+\r
+package mobile.miki;\r
+\r
+import android.content.Intent;\r
+import android.hardware.Sensor;\r
+import android.hardware.SensorEvent;\r
+import android.hardware.SensorEventListener;\r
+import android.hardware.SensorManager;\r
+import android.os.Bundle;\r
+import android.os.Handler;\r
+import android.os.Message;\r
+import android.preference.PreferenceManager;\r
+import android.util.Log;\r
+import android.view.View;\r
+import android.widget.LinearLayout;\r
+import android.widget.TextView;\r
+\r
+import java.util.List;\r
+\r
+import mobile.miki.mainui.ButtonViewTwo;\r
+import mobile.miki.mainui.TestMainActivity;\r
+import mobile.miki.mainui.TestMainList;\r
+\r
+/**\r
+ * 紫外线检测\r
+ */\r
+public class UltravioletMonitorActivity extends BaseActivity\r
+ implements SensorEventListener, View.OnClickListener {\r
+ private SensorManager sensorManager;\r
+ String s1;\r
+ TextView t1;\r
+ private ButtonViewTwo buttonView;\r
+ boolean running;\r
+\r
+ protected void onCreate(Bundle savedInstanceState) {\r
+ super.onCreate(savedInstanceState);\r
+ MyApplication.getInstance().addActivity(this);\r
+ s1 = getString(R.string.ins_gsensor_toast);\r
+ setContentView(R.layout.gravity_sensor_layout);\r
+ Intent intent = getIntent();\r
+ running = false;\r
+ if (intent != null) {\r
+ running = intent.getBooleanExtra("running", false);\r
+ }\r
+ buttonView = (ButtonViewTwo) findViewById(R.id.btn_set);\r
+ buttonView.btn_left.setOnClickListener(this);\r
+ buttonView.btn_right.setOnClickListener(this);\r
+ buttonView.btn_left.setClickable(false);\r
+\r
+ LinearLayout sensor_direction = (LinearLayout) findViewById(R.id.sensor_direction);\r
+ sensor_direction.setVisibility(View.GONE);\r
+ t1 = (TextView) findViewById(R.id.ins);\r
+ t1.setText(R.string.getInfo);\r
+ sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);\r
+ sensorManager.registerListener(this, sensorManager.getDefaultSensor(Sensor.TYPE_LIGHT), 0x0);\r
+ List<Sensor> sensors = sensorManager.getSensorList(Sensor.TYPE_ALL);\r
+ for (Sensor sensor : sensors) {\r
+ Log.i("dxc", "sensor:[name=" + sensor.getName()\r
+ + ";type=" + sensor.getType()\r
+ + ";vendor=" + sensor.getVendor() + "]");\r
+ }\r
+ handler.sendEmptyMessageDelayed(0, 500);\r
+ myHandler.sendEmptyMessageDelayed(1, 1000 * 60 * 2);\r
+ }\r
+\r
+ public void onAccuracyChanged(Sensor sensor, int accuracy) {\r
+ }\r
+\r
+ public void onSensorChanged(SensorEvent event) {\r
+ if(event.values[0] > 0) {\r
+ t1.setText(R.string.pass_test);\r
+ buttonView.setSuccessColor();\r
+ buttonView.btn_left.setClickable(true);\r
+ if (running) {\r
+ PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit().putString("Ultraviolet", "true")\r
+ .commit();\r
+ Intent intent = new Intent(this, TestMainActivity.class);\r
+ intent.putExtra("running", true);\r
+ startActivity(intent);\r
+ }\r
+ Log.i("dxc", "onSensorChanged " + (int) event.values[0]);\r
+ sensorManager.unregisterListener(this, sensorManager.getDefaultSensor(Sensor.TYPE_LIGHT));\r
+ }\r
+ }\r
+\r
+ protected void onDestroy() {\r
+ sensorManager.unregisterListener(this, sensorManager.getDefaultSensor(Sensor.TYPE_LIGHT));\r
+ sensorManager = null;\r
+ super.onDestroy();\r
+ }\r
+\r
+\r
+ @Override\r
+ public void onClick(View arg0) {\r
+ Intent intent = new Intent(this, TestMainActivity.class);\r
+ intent.putExtra("running", true);\r
+ Intent intent1 = new Intent(this, TestMainActivity.class);\r
+ // TestResult testResult = (TestResult) getApplicationContext();\r
+ switch (arg0.getId()) {\r
+\r
+ case R.id.btn_two_left:\r
+ if (!running) {\r
+ startActivity(intent1);\r
+ } else {\r
+ startActivity(intent);\r
+ }\r
+ PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit().putString("Ultraviolet", "true")\r
+ .commit();\r
+ finish();\r
+ break;\r
+ case R.id.btn_two_right:\r
+ if (!running) {\r
+ startActivity(intent1);\r
+ } else {\r
+ startActivity(intent);\r
+ }\r
+ PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit().putString("Ultraviolet", "false")\r
+ .commit();\r
+ finish();\r
+ break;\r
+ }\r
+ }\r
+\r
+\r
+ @Override\r
+ public void onBackPressed() {\r
+ // super.onBackPressed();\r
+ if (running) {\r
+ Intent intent = new Intent(this, TestMainList.class);\r
+ startActivity(intent);\r
+ finish();\r
+ } else {\r
+ finish();\r
+ }\r
+ }\r
+\r
+ private Handler myHandler = new Handler(new Handler.Callback() {\r
+ @Override\r
+ public boolean handleMessage(Message message) {\r
+ if (message.what == 1) {\r
+ t1.setText(R.string.fail_test);\r
+ }\r
+\r
+ return false;\r
+ }\r
+ });\r
+}\r
--- /dev/null
+package mobile.miki;
+
+import android.content.Context;
+import android.graphics.Canvas;
+import android.graphics.Color;
+import android.graphics.Paint;
+import android.graphics.drawable.Drawable;
+import android.util.AttributeSet;
+import android.view.View;
+//import sim.android.mtkcit.R;
+
+public class VUMeter extends View {
+ static final float PIVOT_RADIUS = 3.5f;
+ static final float PIVOT_Y_OFFSET = 10f;
+ static final float SHADOW_OFFSET = 2.0f;
+ static final float DROPOFF_STEP = 0.18f;
+ static final float SURGE_STEP = 0.35f;
+ static final long ANIMATION_INTERVAL = 70;
+ int volume = 0;
+ Paint mPaint, mShadow;
+ float mCurrentAngle;
+
+ public VUMeter(Context context) {
+ super(context);
+ init(context);
+ }
+
+ public VUMeter(Context context, AttributeSet attrs) {
+ super(context, attrs);
+ init(context);
+ }
+
+ void init(Context context) {
+ Drawable background = context.getResources().getDrawable(R.drawable.vumeter);
+ setBackgroundDrawable(background);
+
+ mPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
+ mPaint.setColor(Color.RED);
+ mShadow = new Paint(Paint.ANTI_ALIAS_FLAG);
+ mShadow.setColor(Color.argb(60, 0, 0, 0));
+
+ mCurrentAngle = 0;
+ }
+
+ public void setVolume(int vol) {
+ volume = vol;
+ invalidate();
+ }
+
+ @Override
+ protected void onDraw(Canvas canvas) {
+ super.onDraw(canvas);
+
+ // final float minAngle = (float)Math.PI/12;
+ // final float maxAngle = (float)Math.PI*11/12;
+ final float minAngle = (float)Math.PI/8;
+ final float maxAngle = (float)Math.PI*7/8;
+ float angle = minAngle;
+ if (true)
+ {
+ angle += (float)(maxAngle - minAngle)*volume/4000;
+ }else
+ {
+ angle = minAngle;
+ }
+
+ if (angle > mCurrentAngle)
+ mCurrentAngle = angle;
+ else
+ mCurrentAngle = Math.max(angle, mCurrentAngle - DROPOFF_STEP);
+
+ mCurrentAngle = Math.min(maxAngle, mCurrentAngle);
+
+ float w = getWidth();
+ float h = getHeight();
+ float pivotX = w/2;
+ float pivotY = h - PIVOT_RADIUS - PIVOT_Y_OFFSET;
+ float l = h*4/5;
+ float sin = (float) Math.sin(mCurrentAngle);
+ float cos = (float) Math.cos(mCurrentAngle);
+ float x0 = pivotX - l*cos;
+ float y0 = pivotY - l*sin;
+ canvas.drawLine(x0 + SHADOW_OFFSET, y0 + SHADOW_OFFSET, pivotX + SHADOW_OFFSET, pivotY + SHADOW_OFFSET, mShadow);
+ canvas.drawCircle(pivotX + SHADOW_OFFSET, pivotY + SHADOW_OFFSET, PIVOT_RADIUS, mShadow);
+ canvas.drawLine(x0, y0, pivotX, pivotY, mPaint);
+ canvas.drawCircle(pivotX, pivotY, PIVOT_RADIUS, mPaint);
+
+ //if (mRecorder != null && mRecorder.state() == Recorder.RECORDING_STATE)
+ // postInvalidateDelayed(ANIMATION_INTERVAL);
+ }
+}
--- /dev/null
+/**\r
+ * Generated by smali2java 1.0.0.558\r
+ * Copyright (C) 2013 Hensence.com\r
+ */\r
+\r
+package mobile.miki;\r
+\r
+import android.content.BroadcastReceiver;\r
+import android.content.Context;\r
+import android.content.Intent;\r
+import android.content.IntentFilter;\r
+import android.os.Build;\r
+import android.os.Bundle;\r
+import android.os.SystemProperties;\r
+import android.preference.PreferenceManager;\r
+import android.telephony.TelephonyManager;\r
+import android.util.DisplayMetrics;\r
+import android.util.Log;\r
+import android.view.View;\r
+import android.widget.LinearLayout;\r
+import android.widget.TextView;\r
+\r
+import mobile.miki.mainui.ButtonViewTwo;\r
+import mobile.miki.mainui.TestMainActivity;\r
+import mobile.miki.mainui.TestMainList;\r
+import mobile.miki.util.FTUtils;\r
+import mobile.miki.util.IATUtils;\r
+\r
+public class VersionActivity extends BaseActivity implements android.view.View.OnClickListener {\r
+ private static final String TAG = "VersionActivity";\r
+ private ButtonViewTwo buttonView;\r
+ boolean running;\r
+ boolean pcbatest;\r
+ TextView rfParametersValue; //校准状态\r
+ String imeiValue = "";\r
+ String barCode = "";\r
+ LinearLayout ll_imei2;\r
+ private TextView simidParametersValue, cidParameters, cidParametersValue;\r
+\r
+ protected void onCreate(Bundle savedInstanceState) {\r
+ super.onCreate(savedInstanceState);\r
+ MyApplication.getInstance().addActivity(this);\r
+ setContentView(R.layout.version_layout);\r
+ Intent intent = getIntent();\r
+ running = false;\r
+ pcbatest = false;\r
+ if (intent != null) {\r
+ running = intent.getBooleanExtra("running", false);\r
+ pcbatest = intent.getBooleanExtra("pcbatest",false);\r
+ }\r
+\r
+ rfParametersValue = (TextView) findViewById(R.id.rfParametersValue);\r
+ ll_imei2 = ((LinearLayout) findViewById(R.id.ll_imei2));\r
+ ll_imei2.setVisibility(View.GONE);\r
+ //版本号\r
+ ((TextView) findViewById(R.id.tvBuildNumberValue)).setText(Build.DISPLAY);\r
+ //SIM卡 ICCID\r
+ simidParametersValue = (TextView) findViewById(R.id.SimidParametersValue);\r
+ setICCID();\r
+ setImei();\r
+\r
+ cidParameters = (TextView)findViewById(R.id.cidParameters);\r
+ cidParametersValue = (TextView) findViewById(R.id.cidParametersValue);\r
+ barCode = SystemProperties.get("gsm.serial", "");\r
+ Log.i(TAG, "barCode " + barCode);\r
+ //写入cid号\r
+ String cidValue = "";\r
+ Log.i(TAG, "ro.product.brand" + SystemProperties.get("ro.product.brand",""));\r
+ if("sprd".equalsIgnoreCase(SystemProperties.get("ro.product.brand",""))){\r
+ cidValue = FTUtils.GetCidFromSystem();\r
+ }else{\r
+ cidValue = getSerialNumber(barCode);\r
+ }\r
+ cidParameters.setText(getResources().getString(R.string.cid));\r
+ // 校准\r
+ setRF();\r
+\r
+ // 糖果cid地址指向serialno位置\r
+ if (FTUtils.isSugar()) {\r
+ ((TextView) findViewById(R.id.barcode)).setText(barCode);\r
+ cidParametersValue.setText(Build.SERIAL);\r
+ ((TextView) findViewById(R.id.wifi_mac_address)).setText(FTUtils.getWifiMacAddress());\r
+ ((TextView) findViewById(R.id.bluethooth_mac_address)).setText(FTUtils.getBtAddressViaReflection());\r
+ } else {\r
+ cidParametersValue.setText(cidValue);\r
+ ((LinearLayout) findViewById(R.id.ll_wifi_mac_address)).setVisibility(View.GONE);\r
+ ((LinearLayout) findViewById(R.id.ll_bluethooth_mac_address)).setVisibility(View.GONE);\r
+ ((LinearLayout) findViewById(R.id.ll_barcode)).setVisibility(View.GONE);\r
+ }\r
+\r
+ // 展讯获取校准标准\r
+ if (FTUtils.isLieBao() || SystemProperties.get("ro.product.brand", "").equalsIgnoreCase("SPRD")) {\r
+ getZhanXunRf();\r
+ String zhanxunCid = FTUtils.GetCidFromSystem();\r
+ cidParameters.setVisibility(View.GONE);\r
+ cidParametersValue.setText(zhanxunCid);\r
+ }\r
+ // end\r
+ getDisplayMetrics();\r
+\r
+ buttonView = (ButtonViewTwo) findViewById(R.id.btn_set);\r
+ buttonView.btn_left.setOnClickListener(this);\r
+ buttonView.btn_right.setOnClickListener(this);\r
+ buttonView.btn_left.setClickable(false);\r
+\r
+ registerBroadCast();\r
+ }\r
+\r
+ private void setImei() {\r
+ // imei\r
+ TelephonyManager telephonyManager = (TelephonyManager) this.getSystemService(Context.TELEPHONY_SERVICE);\r
+ if (Build.VERSION.SDK_INT < 26) {\r
+ imeiValue = telephonyManager.getDeviceId();\r
+ } else {\r
+ imeiValue = FTUtils.getImei(this);\r
+ }\r
+ ((TextView) findViewById(R.id.tv_imei)).setText(imeiValue + "");\r
+\r
+ // imei2\r
+ String imei2 = SystemProperties.get("gsm.mtk.imei2", "");\r
+ //酷达需要imei2\r
+ String android_model = Build.MODEL;\r
+ if (android_model.contains("CMCC-CW1A")) {\r
+ if (imei2 != null) {\r
+ ll_imei2.setVisibility(View.VISIBLE);\r
+ ((TextView) findViewById(R.id.imeiParametersValue)).setText(imei2);\r
+ }\r
+ }\r
+ }\r
+\r
+\r
+ private void setRF() {\r
+ if (barCode.length() == 0 || barCode == null) {//值为空,未校准\r
+ rfParametersValue.setText(R.string.no);\r
+ PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit().putString("rf", "false")\r
+ .commit();\r
+// } else if (strVal.length()>=62 && "10".equals(strVal.substring(60, 62))) {//值不为空且后面等于10,校准\r
+ } else if (barCode.length() >= 62 && barCode.substring(barCode.length() - 10, barCode.length()).contains("10")) {\r
+ rfParametersValue.setText(getResources().getString(R.string.yes));\r
+ PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit().putString("rf", "true")\r
+ .commit();\r
+ } else {//值不为空,后面不等于10,未校准\r
+ rfParametersValue.setText(getResources().getString(R.string._fail));\r
+ PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit().putString("rf", "false")\r
+ .commit();\r
+ }\r
+ }\r
+\r
+ private void setICCID() {\r
+ if ("".equals(getSimId()) || getSimId() == null) {\r
+ simidParametersValue.setText("null");\r
+ } else {\r
+ simidParametersValue.setText(getSimId());\r
+ }\r
+ }\r
+\r
+ //获取屏幕分辨率\r
+ private void getDisplayMetrics() {\r
+ DisplayMetrics dm = new DisplayMetrics();\r
+ this.getWindowManager().getDefaultDisplay().getMetrics(dm);\r
+ int screenWidth = dm.widthPixels;\r
+ int screenHeight = dm.heightPixels;\r
+ ((TextView) findViewById(R.id.screenResolutionParametersValue)).setText(screenWidth + "*" + screenHeight);\r
+ }\r
+\r
+ public static String getSerialNumber(String serial) {\r
+ try {\r
+ if (serial != null) {\r
+ serial = serial.replaceAll("\\s*", "");//去掉空白字符\r
+ if (serial.length() >= 16) {\r
+ serial = serial.substring(0, 16);\r
+ }\r
+ }\r
+ } catch (Exception e) {\r
+ e.printStackTrace();\r
+ }\r
+ return serial;\r
+ }\r
+\r
+\r
+ public String getSimId() {\r
+ TelephonyManager telephonyManager = (TelephonyManager) this\r
+ .getSystemService(Context.TELEPHONY_SERVICE);\r
+\r
+ String simSerialNumber = telephonyManager.getSimSerialNumber();\r
+\r
+ return simSerialNumber;\r
+ }\r
+\r
+ @Override\r
+ public void onClick(View arg0) {\r
+ Intent intent ;\r
+ if (pcbatest) {\r
+ intent = new Intent(this, CameraPreview.class);\r
+ intent.putExtra("running", true);\r
+ intent.putExtra("pcbatest", true);\r
+ }else{\r
+ intent = new Intent(this, TouchTest.class);\r
+ intent.putExtra("running", true);\r
+ intent.putExtra("pcbatest",false);\r
+ }\r
+\r
+ Intent intent1 = new Intent(this, TestMainActivity.class);\r
+ // TestResult testResult = (TestResult) getApplicationContext();\r
+ switch (arg0.getId()) {\r
+\r
+ case R.id.btn_two_left:\r
+ if (!running) {\r
+ startActivity(intent1);\r
+ } else {\r
+ startActivity(intent);\r
+ }\r
+ PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit().putString("version", "true")\r
+ .commit();\r
+ finish();\r
+ break;\r
+ case R.id.btn_two_right:\r
+ if (!running) {\r
+ startActivity(intent1);\r
+ } else {\r
+ startActivity(intent);\r
+ }\r
+ PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit().putString("version", "false")\r
+ .commit();\r
+ finish();\r
+ break;\r
+ }\r
+ }\r
+\r
+ @Override\r
+ protected void onResume() {\r
+ buttonView.setSuccessColor();\r
+ buttonView.btn_left.setClickable(true);\r
+ super.onResume();\r
+ }\r
+\r
+ @Override\r
+ public void onBackPressed() {\r
+ // super.onBackPressed();\r
+ if (running) {\r
+ Intent intent = new Intent(this, TestMainList.class);\r
+ startActivity(intent);\r
+ finish();\r
+ } else {\r
+ finish();\r
+ }\r
+ }\r
+\r
+ private void registerBroadCast() {\r
+ IntentFilter filter1 = new IntentFilter();\r
+ filter1.addAction("android.intent.action.SIM_STATE_CHANGED");\r
+ registerReceiver(getSimState, filter1);\r
+ }\r
+\r
+ // 广播\r
+ private BroadcastReceiver getSimState = new BroadcastReceiver() {\r
+ @Override\r
+ public void onReceive(Context arg0, Intent arg1) {\r
+ String action = arg1.getAction();\r
+ if (action.equals("android.intent.action.SIM_STATE_CHANGED")) {\r
+ if ("".equals(getSimId()) || getSimId() == null) {\r
+ simidParametersValue.setText("null");\r
+ } else {\r
+ simidParametersValue.setText(getSimId());\r
+ }\r
+ }\r
+\r
+ }\r
+ };\r
+\r
+ @Override\r
+ protected void onDestroy() {\r
+ super.onDestroy();\r
+ unregisterReceiver(getSimState);\r
+ }\r
+\r
+ private String str = "loading...";\r
+\r
+ private void getZhanXunRf() {\r
+ str = "GSM ";\r
+ str += IATUtils.sendATCmd("AT+SGMR=0,0,3,0", "atchannel0");\r
+ sleep(100);\r
+ str += "WCDMA ";\r
+ str += IATUtils.sendATCmd("AT+SGMR=0,0,3,1", "atchannel0");\r
+ sleep(100);\r
+ str += "LTE ";\r
+ str += IATUtils.sendATCmd("AT+SGMR=1,0,3,3", "atchannel0");\r
+ sleep(100);\r
+ Log.i(TAG, "str " + str);\r
+ boolean rfSuccess = isRfSuccess(str);\r
+ if (rfSuccess) {\r
+ rfParametersValue.setText(getResources().getString(R.string.yes));\r
+ } else {\r
+ rfParametersValue.setText(getResources().getString(R.string._fail));\r
+ }\r
+ Log.i(TAG, "rfSuccess " + rfSuccess);\r
+ }\r
+\r
+ private void sleep(long time) {\r
+ try {\r
+ Thread.sleep(time);\r
+ } catch (InterruptedException e) {\r
+ e.printStackTrace();\r
+ }\r
+ }\r
+\r
+ private boolean isRfSuccess(String str) {\r
+ if (str.contains("BIT2:DCS AGC calibrated Pass") && str.contains("BIT3:DCS APC calibrated Pass")\r
+ && str.contains("BIT4:EGSM AGC calibrated Pass") && str.contains("BIT5:EGSM APC calibrated Pass")\r
+ && str.contains("BIT8:GSM AFC calibrated Pass") && str.contains("BIT20:EDGE Calibration Pass")\r
+ && str.contains("BIT1:TDD LTE AGC Pass") && str.contains("BIT2:TDD LTE APC Pass")) {\r
+ return true;\r
+ }\r
+ return false;\r
+ }\r
+\r
+}
\ No newline at end of file
--- /dev/null
+/**\r
+ * Generated by smali2java 1.0.0.558\r
+ * Copyright (C) 2013 Hensence.com\r
+ */\r
+\r
+package mobile.miki;\r
+\r
+import android.app.ProgressDialog;\r
+import android.content.BroadcastReceiver;\r
+import android.content.Context;\r
+import android.content.Intent;\r
+import android.content.IntentFilter;\r
+import android.net.wifi.ScanResult;\r
+import android.net.wifi.WifiManager;\r
+import android.os.Bundle;\r
+import android.os.Handler;\r
+import android.os.Message;\r
+import android.preference.PreferenceManager;\r
+import android.view.View;\r
+import android.widget.ListView;\r
+import android.widget.TextView;\r
+import android.widget.Toast;\r
+\r
+import java.util.ArrayList;\r
+import java.util.HashMap;\r
+import java.util.List;\r
+\r
+import mobile.miki.adapter.ListViewAdapter;\r
+import mobile.miki.mainui.ButtonViewTwo;\r
+import mobile.miki.mainui.TestMainActivity;\r
+import mobile.miki.mainui.TestMainList;\r
+\r
+public class WifiTestActiviy extends BaseActivity implements android.view.View.OnClickListener {\r
+ private ProgressDialog dialogBar;\r
+ private ListView listView;\r
+ private ArrayList<HashMap<String, Object>> listViewData;\r
+ private WifiManager mainWifi;\r
+ private HashMap<String, Object> map;\r
+ private WifiTestActiviy.WifiReceiver receiverWifi;\r
+ TextView tvState,mac;\r
+ private String wifiHot;\r
+ private List<ScanResult> wifiList;\r
+ private int wifiState;\r
+ private ButtonViewTwo buttonView;\r
+ boolean running;\r
+ boolean pcbatest;\r
+ public WifiTestActiviy() {\r
+ listViewData = new ArrayList();\r
+ map = null;\r
+ wifiHot = null;\r
+ }\r
+\r
+ protected void onCreate(Bundle savedInstanceState) {\r
+ super.onCreate(savedInstanceState);\r
+ MyApplication.getInstance().addActivity(this);\r
+ setContentView(R.layout.wifi_test_layout);\r
+ Intent intent = getIntent();\r
+ running = false;\r
+ pcbatest = false;\r
+ if (intent != null) {\r
+ running = intent.getBooleanExtra("running", false);\r
+ pcbatest = intent.getBooleanExtra("pcbatest", false);\r
+ }\r
+ buttonView = (ButtonViewTwo) findViewById(R.id.btn_set);\r
+ buttonView.btn_left.setOnClickListener(this);\r
+ buttonView.btn_right.setOnClickListener(this);\r
+ buttonView.btn_left.setClickable(false);\r
+ mac=(TextView) findViewById(R.id.textView1);\r
+ this.tvState = ((TextView) findViewById(R.id.tvState));\r
+ this.mainWifi = ((WifiManager) getApplicationContext().getSystemService(WIFI_SERVICE));\r
+ this.receiverWifi = new WifiReceiver();\r
+ IntentFilter localIntentFilter = new IntentFilter("android.net.wifi.SCAN_RESULTS");\r
+ registerReceiver(this.receiverWifi, localIntentFilter);\r
+ this.listView = ((ListView) findViewById(R.id.lvDevice));\r
+ ArrayList localArrayList = this.listViewData;\r
+ String[] arrayOfString = new String[2];\r
+ arrayOfString[0] = ListViewAdapter.NAME;\r
+ arrayOfString[1] = ListViewAdapter.DESCRIBE;\r
+ int[] arrayOfInt = new int[2];\r
+ arrayOfInt[0] = 2131296343;\r
+ arrayOfInt[1] = 2131296344;\r
+ ListViewAdapter localListViewAdapter = new ListViewAdapter(this, localArrayList, R.layout.list_item, arrayOfString,\r
+ arrayOfInt);\r
+ this.listView.setAdapter(localListViewAdapter);\r
+ this.dialogBar = new ProgressDialog(this);\r
+ this.dialogBar.setMax(100);\r
+ this.dialogBar.setProgress(0);\r
+ this.dialogBar.incrementProgressBy(1);\r
+ this.dialogBar.setMessage(getResources().getString(R.string.wfScaning));\r
+ this.dialogBar.setProgressStyle(0);\r
+ wifiScan(null);\r
+ }\r
+\r
+\r
+ public boolean openWifi(View view) {\r
+ if (mainWifi == null) {\r
+ tvState.setText(getResources().getString(R.string.noSuportWifi));\r
+ return false;\r
+ }\r
+ if (mainWifi.isWifiEnabled()) {\r
+ tvState.setText(getResources().getString(R.string.wifiOpen));\r
+ return true;\r
+ }\r
+ tvState.setText(getResources().getString(R.string.wifiOpening));\r
+ mainWifi.setWifiEnabled(true);\r
+ wifiState = mainWifi.getWifiState();\r
+ if (wifiState == 0x3) {\r
+ tvState.setText(getResources().getString(R.string.wifiOpen));\r
+ tvState.setText(getResources().getString(R.string.scanBegin));\r
+ dialogBar.show();\r
+ mainWifi.startScan();\r
+ return true;\r
+ }\r
+ if (wifiState == 0x4) {\r
+ tvState.setText(getResources().getString(R.string.openWififail));\r
+ return false;\r
+ }\r
+ return false;\r
+ }\r
+\r
+ public void wifiScan(View view) {\r
+ if (openWifi(null)) {\r
+ tvState.setText(getResources().getString(R.string.scanBegin));\r
+ dialogBar.show();\r
+ mainWifi.startScan();\r
+ }\r
+ }\r
+\r
+ protected void onDestroy() {\r
+ unregisterReceiver(receiverWifi);\r
+ if (mainWifi != null) {\r
+ mainWifi.setWifiEnabled(false);\r
+ }\r
+ super.onDestroy();\r
+ }\r
+\r
+ protected void onResume() {\r
+ registerReceiver(receiverWifi, new IntentFilter("android.net.wifi.SCAN_RESULTS"));\r
+ super.onResume();\r
+ }\r
+\r
+\r
+ class WifiReceiver extends BroadcastReceiver {\r
+\r
+ public void onReceive(Context c, Intent intent) {\r
+ wifiList = mainWifi.getScanResults();\r
+ if (wifiList.size() == 0) {\r
+ tvState.setText(getResources().getString(R.string.foundNoHot));\r
+ } else {\r
+ tvState.setText(\r
+ getResources().getString(R.string.found) + wifiList.size() + getResources().getString(R.string.grd));\r
+ ((ListViewAdapter) listView.getAdapter()).removeAll();\r
+\r
+ pass();\r
+ try {\r
+ mac.setText(getResources().getString(R.string.mac_new)+getWifiMacAddress());//mac地址\r
+ } catch (Exception e) {\r
+ }\r
+ \r
+ }\r
+ for (int i = 0x0; i < wifiList.size(); i++) {\r
+ wifiHot = ((ScanResult) wifiList.get(i)).toString();\r
+ // ListAdapter localListAdapter1 = this$0new HashMap();\r
+ WifiTestActiviy.this.map = new HashMap();\r
+ WifiTestActiviy.this.map.put(ListViewAdapter.NAME, wifiHot.subSequence(0x0, wifiHot.indexOf(",")));\r
+// WifiTestActiviy.this.map.put(ListViewAdapter.DESCRIBE,\r
+// wifiHot.subSequence((wifiHot.indexOf(",") + 0x1), wifiHot.length()));\r
+ ((ListViewAdapter) listView.getAdapter()).add(map);\r
+ }\r
+ dialogBar.dismiss();\r
+ }\r
+ }\r
+\r
+ @Override\r
+ public void onClick(View arg0) {\r
+ Intent intent = new Intent(this, GpsTest.class);\r
+ intent.putExtra("running", true);\r
+ intent.putExtra("pcbatest",pcbatest);\r
+ Intent intent1 = new Intent(this, TestMainActivity.class);\r
+ // TestResult testResult = (TestResult) getApplicationContext();\r
+ switch (arg0.getId()) {\r
+\r
+ case R.id.btn_two_left:\r
+ if (!running) {\r
+ startActivity(intent1);\r
+ } else {\r
+ startActivity(intent);\r
+ }\r
+ PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit().putString("wifi", "true")\r
+ .commit();\r
+ finish();\r
+ break;\r
+ case R.id.btn_two_right:\r
+ if (!running) {\r
+ startActivity(intent1);\r
+ } else {\r
+ startActivity(intent);\r
+ }\r
+ PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit().putString("wifi", "false")\r
+ .commit();\r
+ finish();\r
+ break;\r
+ }\r
+ }\r
+\r
+ public void pass() {\r
+ Toast.makeText(getApplicationContext(), getResources().getString(R.string.ins_gsensor_toast),\r
+ Toast.LENGTH_SHORT).show(); \r
+ buttonView.setSuccessColor();\r
+ \r
+ PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit().putString("wifi", "true")\r
+ .commit();\r
+ if (running) { \r
+ new Handler() {\r
+ @Override\r
+ public void handleMessage(Message msg) {\r
+ super.handleMessage(msg);\r
+ switch (msg.what) {\r
+ case 0:\r
+ Intent intent = new Intent(WifiTestActiviy.this, GpsTest.class);\r
+ intent.putExtra("running", true);\r
+ intent.putExtra("pcbatest",pcbatest);\r
+ startActivity(intent);\r
+ WifiTestActiviy.this.finish();\r
+ break;\r
+\r
+ default:\r
+ break;\r
+ }\r
+ }\r
+\r
+ }.sendEmptyMessageDelayed(0, 1000);\r
+ }else{\r
+ buttonView.btn_left.setClickable(true);\r
+ }\r
+ }\r
+ \r
+ @Override\r
+ public void onBackPressed() {\r
+ // super.onBackPressed();\r
+ if (running) {\r
+ Intent intent = new Intent(this, TestMainList.class);\r
+ startActivity(intent);\r
+ finish();\r
+ } else {\r
+ finish();\r
+ }\r
+ }\r
+ \r
+ private String getWifiMacAddress() {\r
+ WifiManager wifiManager = (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE);\r
+ String macAddress = wifiManager.getConnectionInfo().getMacAddress();\r
+ return macAddress;\r
+ }\r
+\r
+}\r
--- /dev/null
+package mobile.miki.adapter;\r
+\r
+import android.content.Context;\r
+import android.view.LayoutInflater;\r
+import android.view.View;\r
+import android.view.ViewGroup;\r
+import android.widget.BaseAdapter;\r
+import android.widget.TextView;\r
+\r
+import java.util.List;\r
+\r
+import mobile.miki.R;\r
+\r
+public class AgeingListAdapter extends BaseAdapter {\r
+ private Context mContext;\r
+ private List<String> list;\r
+ private String[] stateArr;\r
+\r
+ public AgeingListAdapter(Context context, List<String> list, String[] stateArr) {\r
+ mContext = context;\r
+ this.list = list;\r
+ this.stateArr = stateArr;\r
+ }\r
+\r
+ @Override\r
+ public int getCount() {\r
+ return list.size();\r
+ }\r
+\r
+ @Override\r
+ public Object getItem(int i) {\r
+ return list.get(i);\r
+ }\r
+\r
+ @Override\r
+ public long getItemId(int i) {\r
+ return 0;\r
+ }\r
+ @Override\r
+ public View getView(int position, View convertView, ViewGroup parent) {\r
+ LayoutInflater mInflater = LayoutInflater.from(mContext);\r
+ convertView = mInflater.inflate(R.layout.testmain_adapter, null);\r
+ TextView text = (TextView) convertView.findViewById(R.id.text_item);\r
+ text.setText(list.get(position));\r
+\r
+ return convertView;\r
+ }\r
+\r
+ private String getString(int stringId) {\r
+ return mContext.getResources().getString(stringId);\r
+ }\r
+\r
+}\r
--- /dev/null
+/**\r
+ * Generated by smali2java 1.0.0.558\r
+ * Copyright (C) 2013 Hensence.com\r
+ */\r
+\r
+package mobile.miki.adapter;\r
+\r
+import android.content.Context;\r
+import android.util.Log;\r
+import android.view.View;\r
+import android.view.ViewGroup;\r
+import android.widget.SimpleAdapter;\r
+import android.widget.TextView;\r
+\r
+import java.util.ArrayList;\r
+import java.util.HashMap;\r
+import java.util.List;\r
+import java.util.Map;\r
+\r
+import mobile.miki.R;\r
+\r
+public class ListViewAdapter extends SimpleAdapter {\r
+ public static String NAME = "name";\r
+ public static String DESCRIBE = "describe";\r
+ //private ArrayList<HashMap<String, Object>> listData = new ArrayList<Map<String, ?>>();\r
+ private ArrayList<HashMap<String, Object>> listData = new ArrayList();\r
+ \r
+ public ListViewAdapter(Context context, List<Map<String, ?>> data, int resource, String[] from, int[] to) {\r
+ super(context, data, resource, from, to);\r
+ listData = (ArrayList)data;\r
+ }\r
+ \r
+ public View getView(int position, View convertView, ViewGroup parent) {\r
+ View view = super.getView(position, convertView, parent);\r
+ Map<String, Object> map = (Map)getListData().get(position);\r
+ ((TextView)view.findViewById(R.id.name)).setText((CharSequence)map.get(NAME));\r
+ ((TextView)view.findViewById(R.id.describe)).setText((CharSequence)map.get(DESCRIBE));\r
+ return view;\r
+ }\r
+ \r
+ public ArrayList getListData() {\r
+ return listData;\r
+ }\r
+ \r
+ public void setListData(ArrayList<HashMap<String, Object>> listData) {\r
+ this.listData = listData;\r
+ }\r
+ \r
+ public void removeAll() {\r
+ listData.clear();\r
+ notifyDataSetChanged();\r
+ }\r
+ \r
+ public void remove(int index) {\r
+ if((index < 0) || (index > (listData.size() - 0x1))) {\r
+ return;\r
+ }\r
+ Log.i(getClass().getName(), index + "//" + listData.size());\r
+ listData.remove(index);\r
+ notifyDataSetChanged();\r
+ }\r
+ \r
+ public void add(HashMap<String, Object> item) {\r
+ boolean isContain = false;\r
+ for(HashMap<String, Object> data : listData) {\r
+ if(String.valueOf(data.get(NAME)).equalsIgnoreCase(String.valueOf(item.get(NAME)))) {\r
+ isContain = true;\r
+ }\r
+ }\r
+ if(!isContain) {\r
+ listData.add(item);\r
+ }\r
+ notifyDataSetChanged();\r
+ }\r
+}\r
--- /dev/null
+package mobile.miki.adapter;\r
+\r
+import android.content.Context;\r
+import android.view.LayoutInflater;\r
+import android.view.View;\r
+import android.view.ViewGroup;\r
+import android.widget.BaseAdapter;\r
+import android.widget.TextView;\r
+\r
+import java.util.List;\r
+\r
+import mobile.miki.R;\r
+\r
+public class TestMainListAdapter extends BaseAdapter {\r
+ private Context mContext;\r
+ private List<String> list;\r
+ private String[] stateArr;\r
+\r
+ public TestMainListAdapter(Context context, List<String> list, String[] stateArr) {\r
+ mContext = context;\r
+ this.list = list;\r
+ this.stateArr = stateArr;\r
+ }\r
+\r
+ @Override\r
+ public int getCount() {\r
+ return list.size();\r
+ }\r
+\r
+ @Override\r
+ public Object getItem(int i) {\r
+ return list.get(i);\r
+ }\r
+\r
+ @Override\r
+ public long getItemId(int i) {\r
+ return 0;\r
+ }\r
+ @Override\r
+ public View getView(int position, View convertView, ViewGroup parent) {\r
+ LayoutInflater mInflater = LayoutInflater.from(mContext);\r
+ convertView = mInflater.inflate(R.layout.testmain_adapter, null);\r
+ TextView text = (TextView) convertView.findViewById(R.id.text_item);\r
+ text.setText(list.get(position));\r
+ if (stateArr[position].equals("true")) {\r
+ convertView.setBackgroundResource(R.drawable.button_common_green_bg);\r
+ } else if (stateArr[position].equals("false")) {\r
+ convertView.setBackgroundResource(R.drawable.button_common_red_bg);\r
+ }\r
+ return convertView;\r
+ }\r
+\r
+ private String getString(int stringId) {\r
+ return mContext.getResources().getString(stringId);\r
+ }\r
+\r
+}\r
--- /dev/null
+package mobile.miki.ageingmode;\r
+\r
+import android.app.Activity;\r
+import android.app.Service;\r
+import android.content.BroadcastReceiver;\r
+import android.content.Context;\r
+import android.content.Intent;\r
+import android.content.IntentFilter;\r
+import android.os.Bundle;\r
+import android.os.Handler;\r
+import android.os.PowerManager;\r
+import android.os.PowerManager.WakeLock;\r
+import android.util.Log;\r
+\r
+import mobile.miki.R;\r
+import mobile.miki.util.FTUtils;\r
+\r
+public class AgeingBaseActivity extends Activity {\r
+ private static final String TAG = "BaseActivity";\r
+ private WakeLock wakeLock = null;\r
+ private PowerManager powerManager = null;\r
+ int SINGLEITEM_OR_CYCLE_MODE;\r
+ int WORK_TIME;\r
+ \r
+ protected void onCreate(Bundle savedInstanceState) {\r
+ super.onCreate(savedInstanceState);\r
+ powerManager = (PowerManager) this.getSystemService(Service.POWER_SERVICE); \r
+// wakeLock = this.powerManager.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK, "FactoryMode");\r
+ IntentFilter homeFilter = new IntentFilter(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);\r
+ registerReceiver(homePressReceiver, homeFilter);\r
+ /*if(wakeLock != null) {\r
+ //是否需计算锁的数量 \r
+ wakeLock.setReferenceCounted(false); \r
+ //请求屏幕常亮,onResume()方法中执行 \r
+ wakeLock.acquire();\r
+// handler.postDelayed(runnable, 1000 * 60 * 30); //30分钟不灭屏\r
+ \r
+ }*/\r
+ _getIntent();\r
+ calcTime();\r
+ }\r
+\r
+ private void _getIntent() {\r
+ try {\r
+ Intent intent = getIntent();\r
+ WORK_TIME = intent.getIntExtra("work_time", 0);\r
+ SINGLEITEM_OR_CYCLE_MODE = intent.getIntExtra("singleitem_or_cycle_mode", 0);\r
+ }catch (Exception e) {\r
+\r
+ }\r
+\r
+ }\r
+\r
+ private void calcTime() {\r
+ long beforeTime = FTUtils.GetPreferences(this, R.string.currentTime);\r
+ int afterTime = FTUtils.GetAgeingWorktimePreferences(this, R.string.workTime);\r
+ if (WORK_TIME == -1 && SINGLEITEM_OR_CYCLE_MODE == 1) {\r
+ return;\r
+ } else if (WORK_TIME == -1 && SINGLEITEM_OR_CYCLE_MODE == 2) {\r
+ afterTime = 1000 * 60 * 60 * 5000;\r
+ }\r
+ Log.i("dxc", "calcTime " + (System.currentTimeMillis() - beforeTime) + " afterTime " + afterTime);\r
+ if (System.currentTimeMillis() - beforeTime > afterTime) { // 100小时\r
+ Log.i("dxc", "calcTime finish");\r
+ finish();\r
+ }\r
+ }\r
+ \r
+ @Override\r
+ protected void onDestroy() {\r
+ super.onDestroy();\r
+ if(wakeLock != null) {\r
+ //取消屏幕常亮,onPause()方法中执行 \r
+ wakeLock.release(); \r
+ wakeLock = null;\r
+ }\r
+ if(handler != null) {\r
+ handler.removeCallbacks(runnable);\r
+ }\r
+\r
+ if (homePressReceiver != null) {\r
+ unregisterReceiver(homePressReceiver);\r
+ }\r
+ }\r
+ \r
+ Handler handler=new Handler();\r
+ Runnable runnable=new Runnable() {\r
+ @Override\r
+ public void run() {\r
+ if(wakeLock != null) {\r
+ //取消屏幕常亮,onPause()方法中执行 \r
+ wakeLock.release(); \r
+ wakeLock = null;\r
+ }\r
+ \r
+ }\r
+ };\r
+ \r
+ \r
+ //HOME键监听\r
+ private BroadcastReceiver homePressReceiver = new BroadcastReceiver() {\r
+ final String SYSTEM_DIALOG_REASON_KEY = "reason";\r
+ final String SYSTEM_DIALOG_REASON_HOME_KEY = "homekey";\r
+ @Override\r
+ public void onReceive(Context context, Intent intent) {\r
+ // TODO Auto-generated method stub\r
+ String action = intent.getAction();\r
+ if(action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)){\r
+ String reason = intent.getStringExtra(SYSTEM_DIALOG_REASON_KEY);\r
+ if(reason!=null&&reason.equals(SYSTEM_DIALOG_REASON_HOME_KEY)){\r
+ if(handler != null) {\r
+ handler.removeCallbacks(runnable);\r
+ }\r
+ if(wakeLock != null) {\r
+ //取消屏幕常亮,onPause()方法中执行 \r
+ wakeLock.release(); \r
+ wakeLock = null;\r
+ }\r
+ }\r
+ }\r
+ }\r
+ };\r
+}\r
--- /dev/null
+/**\r
+ * Generated by smali2java 1.0.0.558\r
+ * Copyright (C) 2013 Hensence.com\r
+ */\r
+\r
+package mobile.miki.ageingmode;\r
+\r
+import android.app.Activity;\r
+import android.app.Service;\r
+import android.content.BroadcastReceiver;\r
+import android.content.Context;\r
+import android.content.Intent;\r
+import android.content.IntentFilter;\r
+import android.hardware.Camera;\r
+import android.os.Build;\r
+import android.os.Bundle;\r
+import android.os.Handler;\r
+import android.os.Message;\r
+import android.os.PowerManager;\r
+import android.os.PowerManager.WakeLock;\r
+import android.preference.PreferenceManager;\r
+import android.util.Log;\r
+import android.view.Surface;\r
+import android.view.SurfaceHolder;\r
+import android.view.View;\r
+import android.view.View.OnClickListener;\r
+import android.view.WindowManager;\r
+import android.widget.Button;\r
+import android.widget.Toast;\r
+\r
+import java.lang.ref.WeakReference;\r
+\r
+import mobile.miki.CameraSurfaceView;\r
+import mobile.miki.Constants;\r
+import mobile.miki.R;\r
+import mobile.miki.WifiTestActiviy;\r
+import mobile.miki.mainui.ButtonViewTwo;\r
+import mobile.miki.mainui.TestMainActivity;\r
+\r
+public class AgeingCameraPreview extends AgeingBaseActivity implements SurfaceHolder.Callback, OnClickListener {\r
+ private static final String TAG = "AgeingCameraPreview";\r
+ private Camera camera = null;\r
+ Handler handler;\r
+ Button bt;\r
+ private SurfaceHolder holder;\r
+ private boolean isAutoFocus;\r
+ private float mAspectRatio;\r
+ private int mH;\r
+ private int mHorizontalTileSize;\r
+ private int mPrvH;\r
+ private int mPrvW;\r
+ private int mVerticalTileSize;\r
+ private int mW;\r
+ private CameraSurfaceView preview;\r
+ private int TIME = 1000 * 10;\r
+ private int SINGLEITEM_OR_CYCLE_MODE;\r
+ private int WORK_TIME;\r
+ private MyReceiver receiver=null;\r
+ private MyHandler ageingHandler;\r
+\r
+ public AgeingCameraPreview() {\r
+ mHorizontalTileSize = 16;\r
+ mVerticalTileSize = 16;\r
+ mAspectRatio = 1.0f;\r
+ //设置camera宽,高\r
+ mPrvH = 360;\r
+ mPrvW = 360;\r
+ isAutoFocus = true;\r
+ handler = new Handler( ) {\r
+ \r
+ public void handleMessage(Message msg) {\r
+ if(camera != null) {\r
+ camera.autoFocus(null);\r
+ }\r
+ }\r
+ };\r
+ }\r
+ \r
+// static {\r
+// System.loadLibrary("ftmjni");\r
+// }\r
+ private ButtonViewTwo buttonView;\r
+ boolean running;\r
+ boolean isEgeingMode = false;\r
+ private PowerManager powerManager = null; \r
+ private WakeLock wakeLock = null; \r
+ \r
+ public void onCreate(Bundle savedInstanceState) {\r
+ super.onCreate(savedInstanceState);\r
+ requestWindowFeature(0x1);\r
+ setContentView(R.layout.camera_preview_layout);\r
+ sendBraodCaseReceiver();\r
+ registerReceiver();\r
+ ageingHandler = new MyHandler(this);\r
+ bt = (Button)findViewById(R.id.isZoom);\r
+ Log.i("AgeingCameraPreview", "platform:" + getString(R.string.project));\r
+ \r
+ buttonView = (ButtonViewTwo) findViewById(R.id.btn_set);\r
+ buttonView.btn_left.setOnClickListener(this);\r
+ buttonView.btn_right.setOnClickListener(this);\r
+ buttonView.btn_left.setClickable(false);\r
+ buttonView.setVisibility(View.GONE);\r
+ \r
+ init();\r
+ ageingMode();\r
+ }\r
+ \r
+ \r
+ private void init() {\r
+ try {\r
+ camera = Camera.open(0);\r
+ } catch (Exception e) {\r
+ Toast.makeText(AgeingCameraPreview.this, "resume_cameraError", Toast.LENGTH_LONG).show();\r
+ }\r
+ preview = (CameraSurfaceView)findViewById(R.id.camera_preview);\r
+ preview.setAspectRatio(mPrvW, mPrvH);\r
+ holder = preview.getHolder();\r
+ holder.addCallback(this);\r
+ holder.setType(0x3);\r
+ \r
+ buttonView.setSuccessColor();\r
+ buttonView.btn_left.setClickable(true);\r
+ \r
+ getCameraIntent();\r
+ if(isEgeingMode) {\r
+ powerManager = (PowerManager) this.getSystemService(Service.POWER_SERVICE); \r
+ wakeLock = this.powerManager.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP, "AgeingCamera");\r
+ if(wakeLock != null) {\r
+ //请求屏幕常亮,onResume()方法中执行\r
+ wakeLock.acquire();\r
+ }\r
+ \r
+ }\r
+ \r
+ }\r
+\r
+ /**\r
+ * 处理老化模式的状态\r
+ */\r
+ private void ageingMode() {\r
+ if(isEgeingMode && SINGLEITEM_OR_CYCLE_MODE == 1) {\r
+ // 单项无限循环\r
+ if (WORK_TIME == -1) {\r
+ WORK_TIME = 100000000;\r
+ } \r
+ TIME = WORK_TIME * Constants.SINGLEITEM_TIMES;\r
+ ageingHandler.sendEmptyMessageDelayed(1, TIME);\r
+ sendBraodCaseReceiver();\r
+ } else if (isEgeingMode && SINGLEITEM_OR_CYCLE_MODE == 2) {\r
+ TIME = Constants.CYCLE_ONE_ACTIVITY_TIMES;\r
+ ageingHandler.sendEmptyMessageDelayed(1, TIME);\r
+// registerReceiver();\r
+ } else {\r
+// sendBraodCaseReceiver();\r
+ }\r
+ }\r
+ \r
+ private void sendBraodCaseReceiver() {\r
+ Intent intent = new Intent();\r
+ intent.setAction("com.android.stopLCDActivity");\r
+ sendBroadcast(intent);\r
+ }\r
+ \r
+ private void registerReceiver() {\r
+ receiver = new MyReceiver();\r
+ IntentFilter filter = new IntentFilter();\r
+ filter.addAction("com.android.stopCameraActivity");\r
+ AgeingCameraPreview.this.registerReceiver(receiver, filter);\r
+ }\r
+ \r
+ private void getCameraIntent() {\r
+ Intent intent = getIntent();\r
+ running = false;\r
+ if (intent != null) {\r
+ try {\r
+ running = intent.getBooleanExtra("running", false);\r
+ } catch (Exception e) {\r
+ e.printStackTrace();\r
+ }\r
+ \r
+ }\r
+ if (intent != null) {\r
+ try {\r
+ isEgeingMode = intent.getBooleanExtra("ageing_mode", false);\r
+ SINGLEITEM_OR_CYCLE_MODE = intent.getIntExtra("singleitem_or_cycle_mode", 0);\r
+ WORK_TIME = intent.getIntExtra("work_time", 0);\r
+ } catch (Exception e) {\r
+ e.printStackTrace();\r
+ }\r
+ }\r
+ }\r
+ \r
+ protected void onResume() {\r
+ super.onResume();\r
+\r
+\r
+ }\r
+ \r
+ \r
+ \r
+ @Override\r
+ protected void onPause() {\r
+ super.onPause();\r
+\r
+\r
+ }\r
+ \r
+ private int roundUpToTile(int dimension, int tileSize, int maxDimension) {\r
+ return Math.min(((((dimension + tileSize) - 0x1) / tileSize) * tileSize), maxDimension);\r
+ }\r
+ \r
+ protected void onDestroy() {\r
+ if(camera != null) {\r
+ camera.release();\r
+ camera = null;\r
+ }\r
+ \r
+ if(wakeLock != null) {\r
+ wakeLock.release();\r
+ wakeLock = null;\r
+ }\r
+ \r
+ isAutoFocus = false;\r
+ stopLoop(null);\r
+ \r
+ if(ageingHandler != null) {\r
+ ageingHandler.removeCallbacksAndMessages(null);\r
+ ageingHandler = null;\r
+ }\r
+ if (receiver != null) {\r
+ unregisterReceiver(receiver);\r
+ }\r
+ \r
+ if(handler != null) {\r
+ handler.removeCallbacksAndMessages(handler.obtainMessage());\r
+ }\r
+ super.onDestroy();\r
+ }\r
+ \r
+ public void pullClose(View view) {\r
+ if(camera.getParameters().isZoomSupported()) {\r
+ camera.getParameters().setZoom(0x0);\r
+ }\r
+ }\r
+ \r
+ public void pullFar(View view) {\r
+ if(camera.getParameters().isZoomSupported()) {\r
+ camera.getParameters().setZoom(camera.getParameters().getMaxZoom());\r
+ }\r
+ }\r
+ \r
+ /* public void pullLoop(View view) {\r
+ isAutoFocus = true;\r
+ new AgeingCameraPreview.AutoFocus( ).start();\r
+ if(camera.getParameters().isZoomSupported()) {\r
+ bt.setText(getString(R.string.isZoom_y));\r
+ bt.setTextColor(Color.GREEN);\r
+ bt.setBackgroundColor(0xFFDEAD);\r
+ bt.setVisibility(View.VISIBLE);\r
+ }else{\r
+ bt.setText(getString(R.string.isZoom_n));\r
+ bt.setBackgroundColor(0xFFDEAD);\r
+ bt.setTextColor(Color.RED);\r
+ bt.setVisibility(View.VISIBLE);\r
+ }\r
+\r
+ }*/\r
+\r
+ public void stopLoop(View view) {\r
+ isAutoFocus = false;\r
+ }\r
+\r
+ class AutoFocus extends Thread {\r
+\r
+ public void run() {\r
+ while(isAutoFocus) {\r
+ Log.i("AgeingCameraPreview", "autoFocus");\r
+ try {\r
+ handler.sendMessage(handler.obtainMessage());\r
+ sleep(0xbb8);\r
+ continue;\r
+ } catch(InterruptedException e) {\r
+ e.printStackTrace();\r
+ }\r
+ }\r
+ }\r
+ }\r
+\r
+ public void surfaceCreated(SurfaceHolder holder) {\r
+\r
+ try {\r
+ ///参数0为主摄像头。不加参数camera可能会为空\r
+// camera = Camera.open(0);\r
+ if(camera != null) {\r
+ camera.setPreviewDisplay(holder);\r
+ setCameraDirection();\r
+ camera.startPreview();\r
+ return;\r
+ }\r
+\r
+ } catch(Exception exception) {\r
+ exception.printStackTrace();\r
+ String model = Build.MODEL;\r
+ if(!model.equals("F6")){ //传奇报错\r
+ Toast.makeText(AgeingCameraPreview.this, "cameraError", Toast.LENGTH_LONG).show();\r
+ if(camera != null) {\r
+ camera.release();\r
+ camera = null;\r
+ }\r
+ }\r
+ }\r
+ }\r
+\r
+ public void surfaceDestroyed(SurfaceHolder holder) {\r
+ if(camera != null) {\r
+ camera.stopPreview();\r
+ camera.setPreviewCallback(null);\r
+ camera.release();\r
+ camera = null;\r
+ }\r
+ }\r
+\r
+ public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) {\r
+ try {\r
+ Camera.Parameters parameters = camera.getParameters();\r
+ parameters.setPictureFormat(0x100);\r
+ parameters.setFlashMode("on");\r
+ parameters.setPictureSize(w, h);\r
+ parameters.setPreviewSize(w, h);\r
+ camera.setParameters(parameters);\r
+ camera.startPreview();\r
+ return;\r
+ } catch(Exception localException1) {\r
+ }\r
+ }\r
+\r
+ @Override\r
+ public void onClick(View arg0) {\r
+ Intent intent = new Intent(this, WifiTestActiviy.class);\r
+ intent.putExtra("running", true);\r
+ Intent intent1 = new Intent(this, TestMainActivity.class);\r
+ // TestResult testResult = (TestResult) getApplicationContext();\r
+ switch (arg0.getId()) {\r
+\r
+ case R.id.btn_two_left:\r
+ //如果当前是老化模式\r
+ if(isEgeingMode) {\r
+ Intent ageingIntent = new Intent(this,AgeingModeActivity.class);\r
+ startActivity(ageingIntent);\r
+ PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit().putString("ageing_camera", "true")\r
+ .commit();\r
+ } else {\r
+ if (!running) {\r
+ startActivity(intent1);\r
+ } else {\r
+ startActivity(intent);\r
+ }\r
+ PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit().putString("camera", "true")\r
+ .commit();\r
+ }\r
+ if(camera != null) {\r
+ camera.release();\r
+ camera = null;\r
+ }\r
+ finish();\r
+ break;\r
+ case R.id.btn_two_right:\r
+ if(isEgeingMode) {\r
+ Intent ageingIntent = new Intent(this,AgeingModeActivity.class);\r
+ startActivity(ageingIntent);\r
+ PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit().putString("ageing_camera", "false")\r
+ .commit();\r
+ } else {\r
+ if (!running) {\r
+ startActivity(intent1);\r
+ } else {\r
+ startActivity(intent);\r
+ }\r
+ PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit().putString("camera", "false")\r
+ .commit();\r
+ }\r
+ if(camera != null) {\r
+ camera.release();\r
+ camera = null;\r
+ }\r
+ finish();\r
+ break;\r
+ }\r
+\r
+ }\r
+\r
+ /**\r
+ * 获取广播数据\r
+ *\r
+ */\r
+ public class MyReceiver extends BroadcastReceiver {\r
+ @Override\r
+ public void onReceive(Context arg0, Intent arg1) {\r
+ AgeingCameraPreview.this.finish();\r
+ }\r
+ }\r
+\r
+ private void setCameraDirection() {\r
+ Camera.CameraInfo info = new Camera.CameraInfo();\r
+ Camera.getCameraInfo(0, info);\r
+ WindowManager mWindowManager = (WindowManager) this.getSystemService(Context.WINDOW_SERVICE);\r
+ int rotation = mWindowManager.getDefaultDisplay().getRotation();\r
+ int degrees = 0;\r
+ switch (rotation) {\r
+ case Surface.ROTATION_0:\r
+ degrees = 0;\r
+ break;\r
+ case Surface.ROTATION_90:\r
+ degrees = 90;\r
+ break;\r
+ case Surface.ROTATION_180:\r
+ degrees = 180;\r
+ break;\r
+ case Surface.ROTATION_270:\r
+ degrees = 270;\r
+ break;\r
+ }\r
+\r
+ int result;\r
+ if (info.facing == Camera.CameraInfo.CAMERA_FACING_FRONT) {\r
+ result = (info.orientation + degrees) % 360;\r
+ result = (360 - result) % 360; // compensate the mirror\r
+ } else { // back-facing\r
+ result = (info.orientation - degrees + 360) % 360;\r
+ }\r
+ Log.i("dxc", "result " + result);\r
+ camera.setDisplayOrientation(result);\r
+ }\r
+\r
+ class MyHandler extends Handler {\r
+ WeakReference<Activity > mActivityReference;\r
+\r
+ MyHandler(Activity activity) {\r
+ mActivityReference= new WeakReference<Activity>(activity);\r
+ }\r
+ @Override\r
+ public void handleMessage(Message msg) {\r
+ final Activity activity = mActivityReference.get();\r
+ if (activity != null) {\r
+ try {\r
+// handler.postDelayed(this, TIME);\r
+ System.out.println("do...");\r
+ if(SINGLEITEM_OR_CYCLE_MODE == 2) {\r
+ Intent ageingIntent = new Intent(AgeingCameraPreview.this,AgeingMikeTest.class);\r
+ ageingIntent.putExtra("ageing_mode", true);\r
+ ageingIntent.putExtra("singleitem_or_cycle_mode", SINGLEITEM_OR_CYCLE_MODE);\r
+ ageingIntent.putExtra("work_time", WORK_TIME);\r
+ ageingIntent.putExtra("first_start_service", false);\r
+ startActivity(ageingIntent);\r
+\r
+ } else {\r
+ finish();\r
+ }\r
+ } catch (Exception e) {\r
+ e.printStackTrace();\r
+ System.out.println("exception...");\r
+ }\r
+ }\r
+ }\r
+ }\r
+}\r
--- /dev/null
+package mobile.miki.ageingmode;\r
+\r
+import android.app.Activity;\r
+import android.app.Service;\r
+import android.content.BroadcastReceiver;\r
+import android.content.Context;\r
+import android.content.Intent;\r
+import android.content.IntentFilter;\r
+import android.graphics.Color;\r
+import android.os.Bundle;\r
+import android.os.Handler;\r
+import android.os.Message;\r
+import android.os.PowerManager;\r
+import android.view.View;\r
+import android.view.Window;\r
+import android.view.WindowManager;\r
+import android.widget.RelativeLayout;\r
+import android.widget.SeekBar;\r
+\r
+import java.lang.ref.WeakReference;\r
+\r
+import mobile.miki.Constants;\r
+import mobile.miki.R;\r
+\r
+public class AgeingLCDtest extends AgeingBaseActivity{\r
+ public int[] BC =null;\r
+ RelativeLayout r1;\r
+ int i = 0;\r
+ int b ;\r
+ private SeekBar ScreenBrightnessSeekBar; \r
+ boolean isEgeingMode = false;\r
+ private int TIME = 1000 * 10;\r
+ private int SINGLEITEM_OR_CYCLE_MODE;\r
+ private int WORK_TIME;\r
+ private MyReceiver receiver=null;\r
+ private boolean isShowSeekBar = true;\r
+ int[] bkcolor;\r
+ private MyHandler ageingHandler;\r
+ private PowerManager powerManager = null;\r
+ private PowerManager.WakeLock wakeLock = null;\r
+\r
+ private void initRGB() {\r
+ int[] bkcolor = new int[14];\r
+ bkcolor[0] = Color.RED;\r
+ bkcolor[1] = Color.BLUE;\r
+ bkcolor[2] = Color.YELLOW;\r
+ bkcolor[3] = Color.GREEN;\r
+ bkcolor[4] = Color.WHITE;\r
+ bkcolor[5] = Color.CYAN;\r
+ bkcolor[6] = Color.MAGENTA;\r
+ BC =bkcolor;\r
+ }\r
+ @Override\r
+ protected void onCreate(Bundle savedInstanceState) {\r
+ super.onCreate(savedInstanceState);\r
+ requestWindowFeature(Window.FEATURE_NO_TITLE);\r
+ //全屏\r
+ getWindow().setFlags(WindowManager.LayoutParams. FLAG_FULLSCREEN ,\r
+ WindowManager.LayoutParams. FLAG_FULLSCREEN);\r
+ setContentView(R.layout.activity_main);\r
+ sendBraodCaseReceiver();;\r
+ registerReceiver();\r
+ initRGB();\r
+ ageingHandler = new MyHandler(this);\r
+ ageingHandler.sendEmptyMessage(2);\r
+ getLcdIntent();\r
+ ageingMode();\r
+ r1 =(RelativeLayout)findViewById(R.id.st);\r
+ r1.setBackgroundColor(BC[0]);\r
+ \r
+ WindowManager.LayoutParams layoutParams = getWindow().getAttributes(); \r
+ layoutParams.screenBrightness = b;// b是亮度 \r
+ getWindow().setAttributes(layoutParams); \r
+ ScreenBrightnessSeekBar = (SeekBar)findViewById(R.id.seekBrightness);\r
+ ScreenBrightnessSeekBar.setVisibility(View.GONE);\r
+ powerManager = (PowerManager) this.getSystemService(Service.POWER_SERVICE);\r
+ wakeLock = this.powerManager.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP, "AgeingLCD");\r
+ if(wakeLock != null) {\r
+ //请求屏幕常亮,onResume()方法中执行\r
+ wakeLock.acquire();\r
+ }\r
+ }\r
+\r
+\r
+ private void getLcdIntent() {\r
+ Intent intent = getIntent();\r
+ if (intent != null) {\r
+ try {\r
+ isEgeingMode = intent.getBooleanExtra("ageing_mode", false);\r
+ SINGLEITEM_OR_CYCLE_MODE = intent.getIntExtra("singleitem_or_cycle_mode", 0);\r
+ WORK_TIME = intent.getIntExtra("work_time", 0);\r
+ isShowSeekBar = intent.getBooleanExtra("show_seekbar", false);\r
+ } catch (Exception e) {\r
+ e.printStackTrace();\r
+ \r
+ }\r
+ }\r
+ }\r
+ \r
+ /**\r
+ * 处理老化模式的状态\r
+ */\r
+ private void ageingMode() {\r
+ if(isEgeingMode && SINGLEITEM_OR_CYCLE_MODE == 1) {\r
+ // 单项无限循环\r
+ if (WORK_TIME == -1) {\r
+ WORK_TIME = 100000000;\r
+ } \r
+ TIME = WORK_TIME * Constants.SINGLEITEM_TIMES;\r
+ ageingHandler.sendEmptyMessageDelayed(1, TIME);\r
+// sendBraodCaseReceiver();\r
+ } else if (isEgeingMode && SINGLEITEM_OR_CYCLE_MODE == 2) {\r
+ TIME = Constants.CYCLE_ONE_ACTIVITY_TIMES;\r
+ ageingHandler.sendEmptyMessageDelayed(1, TIME);\r
+// registerReceiver();\r
+ }\r
+ }\r
+ \r
+ private void registerReceiver() {\r
+ receiver = new MyReceiver();\r
+ IntentFilter filter = new IntentFilter();\r
+ filter.addAction("com.android.stopLCDActivity");\r
+ AgeingLCDtest.this.registerReceiver(receiver, filter);\r
+ }\r
+ \r
+ private void sendBraodCaseReceiver() {\r
+ Intent intent = new Intent();\r
+ intent.setAction("com.android.stopRingActivity");\r
+ sendBroadcast(intent);\r
+ }\r
+\r
+ \r
+ @Override\r
+ protected void onResume() {\r
+ super.onResume();\r
+// powerManager = (PowerManager) this.getSystemService(Service.POWER_SERVICE); \r
+// wakeLock = this.powerManager.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK, "My Lock"); \r
+// if(wakeLock != null) {\r
+// //是否需计算锁的数量 \r
+// wakeLock.setReferenceCounted(false); \r
+// //请求屏幕常亮,onResume()方法中执行 \r
+// wakeLock.acquire();\r
+// }\r
+ }\r
+ \r
+ @Override\r
+ protected void onPause() {\r
+ super.onPause();\r
+ }\r
+\r
+\r
+ \r
+ protected void onDestroy() {\r
+ \r
+ if(ageingHandler != null) {\r
+ ageingHandler.removeCallbacksAndMessages(null);\r
+ ageingHandler = null;\r
+ }\r
+ if (receiver != null) {\r
+ unregisterReceiver(receiver);\r
+ }\r
+ if(wakeLock != null) {\r
+ wakeLock.release();\r
+ wakeLock = null;\r
+ }\r
+ super.onDestroy();\r
+ }\r
+ \r
+\r
+ /**\r
+ * 获取广播数据\r
+ *\r
+ */\r
+ public class MyReceiver extends BroadcastReceiver {\r
+ @Override\r
+ public void onReceive(Context arg0, Intent arg1) {\r
+ AgeingLCDtest.this.finish();\r
+ }\r
+ }\r
+\r
+ private class MyHandler extends Handler {\r
+ WeakReference<Activity > mActivityReference;\r
+\r
+ MyHandler(Activity activity) {\r
+ mActivityReference= new WeakReference<Activity>(activity);\r
+ }\r
+ @Override\r
+ public void handleMessage(Message msg) {\r
+ final Activity activity = mActivityReference.get();\r
+ if (activity != null) {\r
+ if (msg.what == 1) {\r
+ try {\r
+ if(SINGLEITEM_OR_CYCLE_MODE == 2) {\r
+ Intent ageingIntent = new Intent(activity,AgeingCameraPreview.class);\r
+ ageingIntent.putExtra("ageing_mode", true);\r
+ ageingIntent.putExtra("singleitem_or_cycle_mode", SINGLEITEM_OR_CYCLE_MODE);\r
+ ageingIntent.putExtra("work_time", WORK_TIME);\r
+ activity.startActivity(ageingIntent);\r
+ } else {\r
+ activity.finish();\r
+ }\r
+ } catch (Exception e) {\r
+ e.printStackTrace();\r
+ System.out.println("exception...");\r
+ }\r
+ } else if (msg.what == 2) {\r
+ r1.setBackgroundColor(BC[i]);\r
+ i++;\r
+ if(i == 6) {\r
+ i = 0;\r
+ }\r
+ ageingHandler.sendEmptyMessageDelayed(2, 2000);\r
+ }\r
+ }\r
+ }\r
+ }\r
+}
\ No newline at end of file
--- /dev/null
+/*
+ * HeadSet Test
+ *
+ * FileName : MikeTest.java
+ * Creator : xuanyang.feng
+ * Date : 2011/12/1
+ * Comment : CIT Test -> HeadSet Test use AudioTrack and AudioRecord
+ *
+ */
+package mobile.miki.ageingmode;
+
+import android.app.Activity;
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.media.AudioFormat;
+import android.media.AudioManager;
+import android.media.AudioRecord;
+import android.media.AudioTrack;
+import android.media.MediaRecorder;
+import android.os.Bundle;
+import android.os.Handler;
+import android.os.Message;
+import android.os.PowerManager;
+import android.os.PowerManager.WakeLock;
+import android.preference.PreferenceManager;
+import android.util.Log;
+import android.view.View;
+import android.widget.ImageButton;
+import android.widget.TextView;
+
+import java.lang.ref.WeakReference;
+
+import mobile.miki.Constants;
+import mobile.miki.MyApplication;
+import mobile.miki.R;
+import mobile.miki.SimDetectActivity;
+import mobile.miki.VUMeter;
+import mobile.miki.mainui.ButtonViewTwo;
+import mobile.miki.mainui.TestMainActivity;
+import mobile.miki.mainui.TestMainList;
+import mobile.miki.util.FTUtils;
+
+//import sim.android.mtkcit.CITActivity;
+//import sim.android.mtkcit.R;
+//import sim.android.mtkcit.TestActivity;
+
+public class AgeingMikeTest extends AgeingBaseActivity implements View.OnClickListener{
+ static final String TAG = "AgeingMikeTest";
+ private boolean isRun = false;
+ private boolean isClosing = false;
+ WakeLock mWakeLock;
+ private AudioManager mAudioManager;
+ private RecordThread mRecordThread;
+ int bufferReadResult;
+ ImageButton mRecordButton;
+ TextView txtDescript;
+ byte[] tmpBuf;
+ public int state = 0;
+ public int mVolume = 0;
+ public int nCurrentMusicVolume;
+ public boolean flag = false;
+ public float LeftVolume;
+ public float RightVolume;
+ private ButtonViewTwo buttonView;
+ boolean running;
+
+ static final int mSourceType = MediaRecorder.AudioSource.MIC;
+
+ static final int SAMPLE_RATE_IN_HZ = 8000;
+
+ static final int channelConfiguration = AudioFormat.CHANNEL_IN_STEREO;
+// private Button btn_success;
+// private Button btn_fail;
+ static final int audioEncoding = AudioFormat.ENCODING_PCM_16BIT;
+ public static final int PCBA_TEST = 0;
+ public static final int MACHINE_TEST = 1;
+ int recBufSize = 0, playBufSize = 0;
+ int mAudioBufferSize;
+ int mAudioBufferSimpleSize;
+ int mRecBufferSimpleSize;
+ VUMeter mVUMeter;
+ AudioRecord mAudioRecord;
+ AudioTrack mAudioTrack;
+ private int j;
+ int sampleRate = 8000;
+ int channelConfig = AudioFormat.CHANNEL_IN_MONO;
+ int audioFormat = AudioFormat.ENCODING_PCM_16BIT;
+ /*final Handler mHandler = new Handler();
+ final Runnable mUpdataResults = new Runnable() {
+ public void run() {
+ updateUI();
+ }
+ };*/
+ private MyHandler ageingHandler;
+
+ @Override
+ public void onCreate(Bundle icycle) {
+
+ super.onCreate(icycle);
+ MyApplication.getInstance().addActivity(this);
+ setContentView(R.layout.test_mike);
+ Intent intent = getIntent();
+ sendBraodCaseReceiver();
+ registerReceiver();
+ running = false;
+ if (intent != null) {
+ running = intent.getBooleanExtra("running", false);;
+ }
+ ageingHandler = new MyHandler(this);
+ buttonView = (ButtonViewTwo) findViewById(R.id.btn_set);
+ buttonView.btn_left.setOnClickListener(this);
+ buttonView.btn_right.setOnClickListener(this);
+ buttonView.btn_left.setClickable(false);
+ buttonView.setVisibility(View.GONE);
+ getCameraIntent();
+ ageingMode();
+ initResourceRefs();
+ }
+
+ @Override
+ protected void onResume() {
+ buttonView.setSuccessColor();
+ buttonView.btn_left.setClickable(true);
+ super.onResume();
+ }
+
+ @Override
+ protected void onStart() {
+ super.onStart();
+ }
+
+ private void initResourceRefs() {
+ PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
+ mWakeLock = pm
+ .newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP, "MicTest");
+ mWakeLock.acquire();
+ mAudioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
+ setVolumeControlStream(AudioManager.STREAM_MUSIC);
+
+ // add_s wangkang 2012.5.3 bug896
+ nCurrentMusicVolume = mAudioManager
+ .getStreamVolume(AudioManager.STREAM_MUSIC);
+ mAudioManager.setStreamVolume(AudioManager.STREAM_MUSIC,
+ mAudioManager
+ .getStreamMaxVolume(AudioManager.STREAM_MUSIC), 0);
+
+ // initAudioRecord();
+ initAudioTrack();
+ mVUMeter = (VUMeter) findViewById(R.id.uvMeter);
+ mVUMeter.setVolume(0);
+ mVUMeter.invalidate();
+ mRecordThread = new RecordThread();
+ Log.v(TAG, "initResourceRefs");
+ mRecordThread.start();
+ }
+
+
+ private void initAudioRecord() {
+ Log.v(TAG, "initAudioRecord");
+
+ recBufSize = 2 * AudioRecord.getMinBufferSize(SAMPLE_RATE_IN_HZ,
+ channelConfiguration, audioEncoding);
+
+ mAudioBufferSimpleSize = recBufSize / 2;
+ mAudioRecord = new AudioRecord(mSourceType, SAMPLE_RATE_IN_HZ,
+ channelConfiguration, audioFormat, recBufSize);
+ int audioRecordState = mAudioRecord.getState();
+ if (audioRecordState != AudioRecord.STATE_INITIALIZED) {
+ Log.v(TAG, "AudioRecord is initialized");
+ finish();
+ }
+ }
+
+ private void initAudioTrack() {
+ Log.v(TAG, "initAudioTrack");
+
+ playBufSize = 2 * AudioTrack.getMinBufferSize(SAMPLE_RATE_IN_HZ,
+ channelConfiguration, audioEncoding);
+
+ mAudioTrack = new AudioTrack(AudioManager.STREAM_MUSIC,
+ SAMPLE_RATE_IN_HZ, channelConfiguration, audioFormat,
+ playBufSize, AudioTrack.MODE_STREAM);
+ int audioTrackState = mAudioTrack.getState();
+ if (audioTrackState != AudioTrack.STATE_INITIALIZED) {
+ Log.v(TAG, "AudioTrack is initialized");
+ finish();
+ }
+ initAudioRecord();
+ }
+
+ short[] audioBuffer;
+
+ class RecordThread extends Thread {
+
+ public RecordThread() {
+ super();
+ }
+
+ public void run() {
+ Log.d("CIT", "Run");
+ super.run();
+
+ if (mAudioRecord == null)
+ return;
+ audioBuffer = new short[mAudioBufferSimpleSize];
+ mAudioRecord.startRecording();
+ int audioRecordState = mAudioRecord.getRecordingState();
+ if (audioRecordState != AudioRecord.RECORDSTATE_RECORDING) {
+ Log.v(TAG, "not recording");
+ return;
+ } else {
+ Log.v(TAG, "start recording");
+
+ }
+
+ if (mAudioTrack == null)
+ return;
+ mAudioTrack.play();
+ int audioTracktate = mAudioTrack.getPlayState();
+ if (audioTracktate != AudioTrack.PLAYSTATE_PLAYING) {
+ Log.v(TAG, "not playing");
+ return;
+
+ }
+
+ Log.v(TAG, "start playing");
+ mAudioTrack.setStereoVolume(1.0f, 1.0f);
+ isRun = true;
+ while (isRun) {
+ int sampleRate = mAudioRecord.read(audioBuffer, 0,
+ mAudioBufferSimpleSize);
+ if (mAudioBufferSimpleSize < 0) {
+ mAudioBufferSimpleSize = 0;
+ }
+
+ if ((mAudioTrack != null) && (!isClosing))
+ try {
+ mAudioTrack.write(audioBuffer, 0, mAudioBufferSimpleSize);
+ } catch (Exception e) {
+ // TODO: handle exception
+ e.printStackTrace();
+ }
+
+
+ int v = 0;
+ for (int i = 0; i < audioBuffer.length; i++) {
+ v += audioBuffer[i] * audioBuffer[i];
+ }
+ mVolume = v / (50 * (sampleRate + 1));
+ Log.v(TAG, "mVolume=" + mVolume);
+ j++;
+ if (j < 5) {
+ mVolume = 20;
+ }
+// mHandler.post(mUpdataResults);
+ if (ageingHandler != null) {
+// ageingHandler.sendEmptyMessage(2);
+ }
+ }
+
+// finish();
+
+ }
+
+ public void pause() {
+ isRun = false;
+ }
+
+ public void start() {
+ if (!isRun) {
+ super.start();
+ }
+ }
+
+ }
+
+ @Override
+ public void onStop() {
+ releaseRec();
+ super.onStop();
+ }
+
+ private void releaseRec() {
+ if (mAudioManager != null) {
+ //mod_s wangkang 2012.5.3 bug896
+ mAudioManager.setStreamVolume(AudioManager.STREAM_MUSIC,
+ nCurrentMusicVolume, 0);
+ //mod_s wangkang 2012.5.3 bug896
+ }
+ if (mAudioTrack != null) {
+ mAudioTrack.release();
+
+ }
+ if (mAudioRecord != null) {
+ mAudioRecord.release();
+
+ }
+ isRun = false;
+
+ }
+
+ @Override
+ public void onDestroy() {
+ if(mRecordThread != null){
+ mRecordThread.pause();
+ mRecordThread = null;
+ }
+ if(ageingHandler != null) {
+ ageingHandler.removeCallbacksAndMessages(null);
+ ageingHandler = null;
+ }
+ if (receiver != null) {
+ unregisterReceiver(receiver);
+ }
+
+ if(mWakeLock != null) {
+ //取消屏幕常亮,onPause()方法中执行
+ mWakeLock.release();
+ mWakeLock = null;
+ }
+
+ if(handler != null) {
+ handler.removeCallbacksAndMessages(handler.obtainMessage());
+ }
+ super.onDestroy();
+ }
+
+ private void updateUI() {
+
+// Log.i("MikeTest000", "updateUI(), mVolume=" + mVolume);
+
+ mVUMeter.setVolume(mVolume);
+ if ((!flag) && (mVolume > 3000)) {
+// btn_success.setEnabled(true);
+ flag = true;
+ }
+ }
+
+
+ @Override
+ public void onClick(View arg0) {
+ Intent intent = new Intent(this, SimDetectActivity.class);
+ intent.putExtra("running", true);
+ Intent intent1 = new Intent(this, TestMainActivity.class);
+ // TestResult testResult = (TestResult) getApplicationContext();
+ switch (arg0.getId()) {
+
+ case R.id.btn_two_left:
+ if (!running) {
+ startActivity(intent1);
+ } else {
+ startActivity(intent);
+ }
+ PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit().putString("mic", "true")
+ .commit();
+ finish();
+ break;
+ case R.id.btn_two_right:
+ if (!running) {
+ startActivity(intent1);
+ } else {
+ startActivity(intent);
+ }
+ PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit().putString("mic", "false")
+ .commit();
+ finish();
+ break;
+ }
+ }
+
+ @Override
+ public void onBackPressed() {
+ // super.onBackPressed();
+ if (running) {
+ Intent intent = new Intent(this, TestMainList.class);
+ startActivity(intent);
+ finish();
+ } else {
+ finish();
+ }
+ }
+
+ boolean isEgeingMode = false;
+ private int TIME = 1000 * 10;
+ private int SINGLEITEM_OR_CYCLE_MODE;
+ private int WORK_TIME;
+ private MyReceiver receiver=null;
+
+ private void getCameraIntent() {
+ Intent intent = getIntent();
+ if (intent != null) {
+ try {
+ isEgeingMode = intent.getBooleanExtra("ageing_mode", false);
+ SINGLEITEM_OR_CYCLE_MODE = intent.getIntExtra("singleitem_or_cycle_mode", 0);
+ WORK_TIME = intent.getIntExtra("work_time", 0);
+ } catch (Exception e) {
+ e.printStackTrace();
+
+ }
+ }
+ }
+ /**
+ * 处理老化模式的状态
+ */
+ private void ageingMode() {
+ if(isEgeingMode && SINGLEITEM_OR_CYCLE_MODE == 1) {
+ // 单项无限循环
+ if (WORK_TIME == -1) {
+ WORK_TIME = 100000000;
+ }
+ TIME = WORK_TIME * Constants.SINGLEITEM_TIMES;
+ ageingHandler.sendEmptyMessageDelayed(1, TIME);
+// sendBraodCaseReceiver();
+ } else if (isEgeingMode && SINGLEITEM_OR_CYCLE_MODE == 2) {
+ TIME = Constants.CYCLE_ONE_ACTIVITY_TIMES;
+ ageingHandler.sendEmptyMessageDelayed(1, TIME);
+// registerReceiver();
+ } else {
+// sendBraodCaseReceiver();
+ }
+ }
+
+
+ private void sendBraodCaseReceiver() {
+ Intent intent = new Intent();
+ intent.setAction("com.android.stopCameraActivity");
+ sendBroadcast(intent);
+ }
+
+ private void registerReceiver() {
+ receiver = new MyReceiver();
+ IntentFilter filter = new IntentFilter();
+ filter.addAction("com.android.stopMicActivity");
+ registerReceiver(receiver, filter);
+ }
+
+ /**
+ * 获取广播数据
+ *
+ */
+ public class MyReceiver extends BroadcastReceiver {
+ @Override
+ public void onReceive(Context arg0, Intent arg1) {
+ AgeingMikeTest.this.finish();
+ }
+ }
+
+ class MyHandler extends Handler {
+ WeakReference<Activity > mActivityReference;
+
+ MyHandler(Activity activity) {
+ mActivityReference= new WeakReference<Activity>(activity);
+ }
+ @Override
+ public void handleMessage(Message msg) {
+ final Activity activity = mActivityReference.get();
+ if (activity != null) {
+ switch (msg.what) {
+ case 1:
+ try {
+ if(SINGLEITEM_OR_CYCLE_MODE == 2) {
+ Intent ageingIntent = new Intent(AgeingMikeTest.this,AgeingRingtoneActivity.class);
+ if (FTUtils.isSugar()) {
+ ageingIntent = new Intent(AgeingMikeTest.this,AgeingMotorTestActivity.class);
+ }
+ ageingIntent.putExtra("ageing_mode", true);
+ ageingIntent.putExtra("singleitem_or_cycle_mode", SINGLEITEM_OR_CYCLE_MODE);
+ ageingIntent.putExtra("work_time", WORK_TIME);
+ ageingIntent.putExtra("first_start_service", false);
+ startActivity(ageingIntent);
+ } else {
+ finish();
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ System.out.println("exception...");
+ }
+ break;
+
+ case 2:
+ updateUI();
+ break;
+ }
+
+ }
+ }
+ }
+}
--- /dev/null
+package mobile.miki.ageingmode;\r
+\r
+import android.content.Intent;\r
+import android.os.Bundle;\r
+import android.view.View;\r
+import android.widget.AdapterView;\r
+import android.widget.GridView;\r
+import android.widget.RadioButton;\r
+import android.widget.RadioGroup;\r
+import android.widget.RadioGroup.OnCheckedChangeListener;\r
+import android.widget.Toast;\r
+\r
+import java.util.ArrayList;\r
+import java.util.List;\r
+\r
+import mobile.miki.BaseActivity;\r
+import mobile.miki.R;\r
+import mobile.miki.adapter.AgeingListAdapter;\r
+import mobile.miki.util.FTUtils;\r
+\r
+public class AgeingModeActivity extends BaseActivity implements OnCheckedChangeListener, AdapterView.OnItemClickListener {\r
+\r
+ private RadioGroup radioGroup_mode;\r
+ private RadioGroup radioGroup_time;\r
+ private int WORK_TIME = 0;\r
+ private int SINGLEITEM_OR_CYCLE_MODE = 0;\r
+ private static final int SINGLEITEM_MODE = 1;\r
+ private static final int CYCLE_MODE = 2;\r
+\r
+ private GridView gridView;\r
+ private AgeingListAdapter adapter;\r
+\r
+ @Override\r
+ protected void onCreate(Bundle savedInstanceState) {\r
+ super.onCreate(savedInstanceState);\r
+ setContentView(R.layout.ageing_mode_activity);\r
+ initView();\r
+ }\r
+ private void initView() {\r
+\r
+ radioGroup_mode = (RadioGroup) findViewById(R.id.radiogroup_mode);\r
+ radioGroup_time = (RadioGroup) findViewById(R.id.radiogroup_time);\r
+ RadioButton adioButton3 = (RadioButton) findViewById(R.id.test_time3);\r
+ if (FTUtils.isLieBao()) {\r
+ adioButton3.setText("50");\r
+ }\r
+ radioGroup_mode.setOnCheckedChangeListener(this);\r
+ radioGroup_time.setOnCheckedChangeListener(this);\r
+\r
+ gridView = (GridView) findViewById(R.id.gridview);\r
+ adapter = new AgeingListAdapter(this, getArray(), stateArr);\r
+ gridView.setAdapter(adapter);\r
+ gridView.setOnItemClickListener(this);\r
+ }\r
+\r
+ @Override\r
+ protected void onResume() {\r
+ super.onResume();\r
+ }\r
+\r
+ @Override\r
+ public void onCheckedChanged(RadioGroup radioGroup, int arg1) {\r
+\r
+ switch (radioGroup.getId()) {\r
+ case R.id.radiogroup_mode:\r
+ int mode_radioButtonId = radioGroup.getCheckedRadioButtonId();\r
+ if (mode_radioButtonId == R.id.test_mode1) {\r
+\r
+ SINGLEITEM_OR_CYCLE_MODE = SINGLEITEM_MODE;\r
+\r
+ } else if (mode_radioButtonId == R.id.test_mode2) {\r
+ SINGLEITEM_OR_CYCLE_MODE = CYCLE_MODE;\r
+ }\r
+\r
+ break;\r
+\r
+ case R.id.radiogroup_time:\r
+ int time_radioButtonId = radioGroup.getCheckedRadioButtonId();\r
+ RadioButton rb = (RadioButton) findViewById(time_radioButtonId);\r
+ if (time_radioButtonId == R.id.test_time4) {\r
+ WORK_TIME = -1;\r
+ } else {\r
+ String test_time = (String) rb.getText();\r
+ WORK_TIME = Integer.parseInt(test_time);\r
+ }\r
+ break;\r
+\r
+ default:\r
+ break;\r
+ }\r
+\r
+ }\r
+\r
+\r
+ @Override\r
+ public void onItemClick(AdapterView<?> adapterView, View view, int position, long l) {\r
+ Intent intent = null;\r
+ switch (position) {\r
+ case 0:\r
+ intent = new Intent(AgeingModeActivity.this, AgeingRingtoneActivity.class);\r
+ break;\r
+\r
+ case 1:\r
+ intent = new Intent(AgeingModeActivity.this, AgeingLCDtest.class);\r
+ break;\r
+ case 2:\r
+ intent = new Intent(AgeingModeActivity.this, AgeingCameraPreview.class);\r
+ break;\r
+ case 3:\r
+ intent = new Intent(AgeingModeActivity.this, AgeingMikeTest.class);\r
+ break;\r
+ case 4:\r
+ intent = new Intent(AgeingModeActivity.this, AgeingMotorTestActivity.class);\r
+ break;\r
+ default:\r
+ break;\r
+\r
+ }\r
+ if (intent != null) {\r
+\r
+ if (SINGLEITEM_OR_CYCLE_MODE == 0 || WORK_TIME == 0) {\r
+ Toast.makeText(AgeingModeActivity.this, "请选择测试模式和测试时间", Toast.LENGTH_SHORT).show();\r
+ } else {\r
+ if (SINGLEITEM_OR_CYCLE_MODE == 2 && position != 0) {\r
+ Toast.makeText(AgeingModeActivity.this, "循环测试模式请点击喇叭测试开始", Toast.LENGTH_SHORT).show();\r
+ } else {\r
+ FTUtils.SetPreferences(AgeingModeActivity.this, R.string.currentTime, System.currentTimeMillis());\r
+ FTUtils.SetAgeingWorktimePreferences(AgeingModeActivity.this, R.string.workTime, WORK_TIME * 1000 * 60 * 60);\r
+ intent.putExtra("ageing_mode", true);\r
+ intent.putExtra("singleitem_or_cycle_mode", SINGLEITEM_OR_CYCLE_MODE);\r
+ intent.putExtra("work_time", WORK_TIME);\r
+ startActivityForResult(intent, 0);\r
+ }\r
+\r
+ }\r
+\r
+ }\r
+\r
+\r
+ }\r
+\r
+ private List<String> getArray() {\r
+ List<String> list = new ArrayList<String>();\r
+ for (int i = 0; i < getList().length; i++) {\r
+ list.add(getList()[i]);\r
+ }\r
+ if (FTUtils.isSugar()) {\r
+ list.add(getString(R.string.shakeTest));\r
+ }\r
+ return list;\r
+ }\r
+\r
+ public String[] getList() {\r
+ String[] listTem = {getString(R.string.speak), getString(R.string.ageing_lcd_test), getString(R.string.camera),\r
+ getString(R.string.mic_title)};\r
+ return listTem;\r
+ }\r
+\r
+ String[] sharedPreferencesArr = {"ageing_speak", "ageing_LCD", "ageing_camera", "mic", "sim", "vibrator"};\r
+ String[] stateArr = new String[sharedPreferencesArr.length];\r
+}\r
--- /dev/null
+/**\r
+ * Generated by smali2java 1.0.0.558\r
+ * Copyright (C) 2013 Hensence.com\r
+ */\r
+\r
+package mobile.miki.ageingmode;\r
+\r
+import android.app.Service;\r
+import android.content.BroadcastReceiver;\r
+import android.content.Context;\r
+import android.content.Intent;\r
+import android.content.IntentFilter;\r
+import android.os.Bundle;\r
+import android.os.Handler;\r
+import android.os.PowerManager;\r
+import android.os.Vibrator;\r
+import android.preference.PreferenceManager;\r
+import android.view.View;\r
+\r
+import mobile.miki.Constants;\r
+import mobile.miki.R;\r
+import mobile.miki.UltravioletMonitorActivity;\r
+import mobile.miki.mainui.ButtonViewTwo;\r
+import mobile.miki.mainui.TestMainActivity;\r
+\r
+public class AgeingMotorTestActivity extends AgeingBaseActivity implements View.OnClickListener{\r
+ long[] pattern;\r
+ private Vibrator vibrator;\r
+ boolean running;\r
+ private ButtonViewTwo buttonView;\r
+ private PowerManager powerManager = null;\r
+ private PowerManager.WakeLock wakeLock = null;\r
+\r
+ public AgeingMotorTestActivity() {\r
+ long[] arrayOfLong = new long[4];\r
+ arrayOfLong[0] = 700L;\r
+ arrayOfLong[1] = 1200L;\r
+ arrayOfLong[2] = 700L;\r
+ arrayOfLong[3] = 1200L;\r
+ this.pattern = arrayOfLong;\r
+ }\r
+ \r
+ protected void onCreate(Bundle savedInstanceState) {\r
+ super.onCreate(savedInstanceState);\r
+ setContentView(R.layout.motor_test_layout);\r
+ sendBraodCaseReceiver();\r
+ registerReceiver();\r
+ Intent intent = getIntent();\r
+ running = false;\r
+ if (intent != null) {\r
+ running = intent.getBooleanExtra("running", false);\r
+ }\r
+ buttonView = (ButtonViewTwo) findViewById(R.id.btn_set);\r
+ buttonView.btn_left.setOnClickListener(this);\r
+ buttonView.btn_right.setOnClickListener(this);\r
+ buttonView.btn_left.setClickable(false);\r
+ buttonView.setVisibility(View.GONE);\r
+ buttonView.setSuccessColor();\r
+ buttonView.btn_left.setClickable(true);\r
+ vibrator = (Vibrator)getSystemService(Context.VIBRATOR_SERVICE);\r
+ onShakeBtnClicked(null);\r
+ getMikeIntent();\r
+ ageingMode();\r
+ powerManager = (PowerManager) this.getSystemService(Service.POWER_SERVICE);\r
+ wakeLock = this.powerManager.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP, "AgeingCamera");\r
+ if(wakeLock != null) {\r
+ //请求屏幕常亮,onResume()方法中执行\r
+ wakeLock.acquire();\r
+ }\r
+ }\r
+ \r
+ protected void onResume() {\r
+ super.onResume();\r
+ }\r
+ \r
+ public void onShakeBtnClicked(View view) {\r
+ if(vibrator != null) {\r
+ vibrator.vibrate(pattern, 0x0);\r
+ return;\r
+ }\r
+ }\r
+ \r
+ @Override\r
+ protected void onPause() {\r
+ super.onPause();\r
+ }\r
+ \r
+ protected void onDestroy() {\r
+ if (ageHandler != null) {\r
+ ageHandler.removeCallbacksAndMessages(null);\r
+ ageHandler = null;\r
+ }\r
+ if (receiver != null) {\r
+\r
+ }\r
+ if(wakeLock != null) {\r
+ wakeLock.release();\r
+ wakeLock = null;\r
+ }\r
+ unregisterReceiver(receiver);\r
+ vibrator.cancel();\r
+ super.onDestroy();\r
+ }\r
+\r
+ boolean isEgeingMode = false;\r
+ private int TIME = 1000 * 10;\r
+ private int SINGLEITEM_OR_CYCLE_MODE;\r
+ private int WORK_TIME;\r
+ private MyReceiver receiver=null;\r
+ private void getMikeIntent() {\r
+ Intent intent = getIntent();\r
+ if (intent != null) {\r
+ try {\r
+ isEgeingMode = intent.getBooleanExtra("ageing_mode", false);\r
+ SINGLEITEM_OR_CYCLE_MODE = intent.getIntExtra("singleitem_or_cycle_mode", 0);\r
+ WORK_TIME = intent.getIntExtra("work_time", 0);\r
+ } catch (Exception e) {\r
+ e.printStackTrace();\r
+\r
+ }\r
+ }\r
+ }\r
+ /**\r
+ * 处理老化模式的状态\r
+ */\r
+ private void ageingMode() {\r
+ if(isEgeingMode && SINGLEITEM_OR_CYCLE_MODE == 1) {\r
+ // 单项无限循环\r
+ if (WORK_TIME == -1) {\r
+ WORK_TIME = 100000000;\r
+ }\r
+ TIME = WORK_TIME * Constants.SINGLEITEM_TIMES;\r
+ ageHandler.postDelayed(runnable, TIME);\r
+// sendBraodCaseReceiver();\r
+ } else if (isEgeingMode && SINGLEITEM_OR_CYCLE_MODE == 2) {\r
+ TIME = Constants.CYCLE_ONE_ACTIVITY_TIMES;\r
+ ageHandler.postDelayed(runnable, TIME);\r
+// registerReceiver();\r
+ } else {\r
+// sendBraodCaseReceiver();\r
+ }\r
+ }\r
+\r
+ Handler ageHandler = new Handler();\r
+ Runnable runnable = new Runnable() {\r
+\r
+ @Override\r
+ public void run() {\r
+ // handler自带方法实现定时器\r
+ try {\r
+// handler.postDelayed(this, TIME);\r
+ System.out.println("do...");\r
+ if(SINGLEITEM_OR_CYCLE_MODE == 2) {\r
+ Intent ageingIntent = new Intent(AgeingMotorTestActivity.this,AgeingRingtoneActivity.class);\r
+ ageingIntent.putExtra("ageing_mode", true);\r
+ ageingIntent.putExtra("singleitem_or_cycle_mode", SINGLEITEM_OR_CYCLE_MODE);\r
+ ageingIntent.putExtra("work_time", WORK_TIME);\r
+ ageingIntent.putExtra("first_start_service", false);\r
+ startActivity(ageingIntent);\r
+ } else {\r
+ finish();\r
+ }\r
+ } catch (Exception e) {\r
+ e.printStackTrace();\r
+ System.out.println("exception...");\r
+ }\r
+ }\r
+ };\r
+\r
+ private void sendBraodCaseReceiver() {\r
+ Intent intent = new Intent();\r
+ intent.setAction("com.android.stopMicActivity");\r
+ sendBroadcast(intent);\r
+ }\r
+\r
+ private void registerReceiver() {\r
+ receiver = new MyReceiver();\r
+ IntentFilter filter = new IntentFilter();\r
+ filter.addAction("com.android.stopMotorActivity");\r
+ registerReceiver(receiver, filter);\r
+ }\r
+\r
+ /**\r
+ * 获取广播数据\r
+ *\r
+ */\r
+ public class MyReceiver extends BroadcastReceiver {\r
+ @Override\r
+ public void onReceive(Context arg0, Intent arg1) {\r
+ finish();\r
+ }\r
+ }\r
+\r
+\r
+ @Override\r
+ public void onClick(View arg0) {\r
+ Intent intent = new Intent(this, UltravioletMonitorActivity.class);\r
+ intent.putExtra("running", true);\r
+ Intent intent1 = new Intent(this, TestMainActivity.class);\r
+ switch (arg0.getId()) {\r
+\r
+ case R.id.btn_two_left:\r
+ if (!running) {\r
+ startActivity(intent1);\r
+ } else {\r
+ startActivity(intent);\r
+ }\r
+ PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit().putString("vibrator", "true")\r
+ .commit();\r
+ finish();\r
+ break;\r
+ case R.id.btn_two_right:\r
+ if (!running) {\r
+ startActivity(intent1);\r
+ } else {\r
+ startActivity(intent);\r
+ }\r
+ PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit().putString("vibrator", "false")\r
+ .commit();\r
+ finish();\r
+ break;\r
+ }\r
+ }\r
+ \r
+ \r
+}\r
--- /dev/null
+/**\r
+ * Generated by smali2java 1.0.0.558\r
+ * Copyright (C) 2013 Hensence.com\r
+ */\r
+\r
+package mobile.miki.ageingmode;\r
+\r
+import android.app.Activity;\r
+import android.content.BroadcastReceiver;\r
+import android.content.Context;\r
+import android.content.Intent;\r
+import android.content.IntentFilter;\r
+import android.media.AudioManager;\r
+import android.media.MediaPlayer;\r
+import android.os.Build;\r
+import android.os.Bundle;\r
+import android.os.Handler;\r
+import android.os.Message;\r
+import android.preference.PreferenceManager;\r
+import android.view.View;\r
+import android.view.View.OnClickListener;\r
+import android.view.WindowManager;\r
+import android.widget.Button;\r
+\r
+import java.io.IOException;\r
+import java.lang.ref.WeakReference;\r
+\r
+import mobile.miki.Constants;\r
+import mobile.miki.MikeTest;\r
+import mobile.miki.R;\r
+import mobile.miki.SimDetectActivity;\r
+import mobile.miki.mainui.ButtonViewTwo;\r
+import mobile.miki.mainui.TestMainActivity;\r
+import mobile.miki.mainui.TestMainList;\r
+import mobile.miki.util.FTUtils;\r
+import mobile.miki.util.Logger;\r
+\r
+public class AgeingRingtoneActivity extends AgeingBaseActivity implements\r
+ MediaPlayer.OnCompletionListener, OnClickListener /*, SeekBar.OnSeekBarChangeListener*/{\r
+ private boolean isPlaying;\r
+ private MediaPlayer mediaPlayer;\r
+ private ButtonViewTwo buttonView;\r
+ boolean running;\r
+ boolean isEgeingMode = false;\r
+ private Button mShowVolum;\r
+\r
+ private int i = 0;\r
+ private int TIME = 1000 * 6;\r
+ private int SINGLEITEM_OR_CYCLE_MODE;\r
+ private int WORK_TIME;\r
+ private MyReceiver receiver=null;\r
+ private boolean isFirstStartService = true;\r
+ private boolean isShowSeekbar = true;\r
+// private SeekBar seekBar;\r
+ int maxVolume;\r
+ AudioManager audioManager;\r
+ private MyHandler ageingHandler;\r
+\r
+ public AgeingRingtoneActivity() {\r
+ isPlaying = false;\r
+ }\r
+\r
+ protected void onCreate(Bundle savedInstanceState) {\r
+ super.onCreate(savedInstanceState);\r
+ setContentView(R.layout.ringtone_test_layout);\r
+ if (!FTUtils.isLieBao()) {\r
+ getWindow().setFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON,\r
+ WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);\r
+ }\r
+ sendBraodCaseReceiver();\r
+ registerReceiver();\r
+ ageingHandler = new MyHandler(this);\r
+ getRingIntent();\r
+ ageingMode();\r
+ /*if (FTUtils.isSugar()) {\r
+ if (MotorTestActivity.instance != null) {\r
+ MotorTestActivity.instance.finish();\r
+ }\r
+ } else {\r
+ if (AgeingMikeTest.instance != null) {\r
+ AgeingMikeTest.instance.finish();\r
+ }\r
+ }\r
+*/\r
+ mShowVolum = (Button) findViewById(R.id.bt_showvolum);\r
+ buttonView = (ButtonViewTwo) findViewById(R.id.btn_set);\r
+ buttonView.btn_left.setOnClickListener(this);\r
+ buttonView.btn_right.setOnClickListener(this);\r
+ buttonView.btn_left.setClickable(false);\r
+ buttonView.setVisibility(View.GONE);\r
+ onRingtoneBtnClicked(null);\r
+ /*seekBar = (SeekBar) findViewById(R.id.seekbar);\r
+ if (!FTUtils.isSugar()) {\r
+ seekBar.setVisibility(View.GONE);\r
+ }\r
+ seekBar.setOnSeekBarChangeListener(this);*/\r
+ audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);\r
+ maxVolume = audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC);\r
+\r
+ Logger.d("maxVolume " + maxVolume);\r
+ audioManager.setStreamVolume(AudioManager.STREAM_MUSIC,maxVolume\r
+ , AudioManager.ADJUST_SAME);\r
+ /*seekBar.setProgress(audioManager.getStreamVolume(AudioManager.STREAM_MUSIC));*/\r
+ mShowVolum.setOnClickListener(new OnClickListener() {\r
+ @Override\r
+ public void onClick(View arg0) {\r
+ int currentVolume = audioManager\r
+ .getStreamVolume(AudioManager.STREAM_MUSIC);\r
+ audioManager.setStreamVolume(AudioManager.STREAM_MUSIC,\r
+ currentVolume, AudioManager.FLAG_SHOW_UI);\r
+ }\r
+ });\r
+ }\r
+\r
+ private void getRingIntent() {\r
+ Intent intent = getIntent();\r
+ running = false;\r
+ if (intent != null) {\r
+ try {\r
+ running = intent.getBooleanExtra("running", false);\r
+ } catch (Exception e) {\r
+ e.printStackTrace();\r
+ }\r
+ }\r
+ if (intent != null) {\r
+ try {\r
+ isEgeingMode = intent.getBooleanExtra("ageing_mode", false);\r
+ SINGLEITEM_OR_CYCLE_MODE = intent\r
+ .getIntExtra("singleitem_or_cycle_mode", 0);\r
+ WORK_TIME = intent.getIntExtra("work_time", 0);\r
+ } catch (Exception e) {\r
+ e.printStackTrace();\r
+ }\r
+ }\r
+ \r
+ if (intent != null) {\r
+ try {\r
+ isFirstStartService = intent.getBooleanExtra("first_start_service", false);\r
+ } catch (Exception e) {\r
+ // TODO: handle exception\r
+ }\r
+ }\r
+ }\r
+\r
+ @Override\r
+ protected void onActivityResult(int requestCode, int resultCode, Intent data) {\r
+ if (resultCode == Constants.AGING_MODE_SETRESULT) {\r
+\r
+ }\r
+ super.onActivityResult(requestCode, resultCode, data);\r
+ }\r
+\r
+ /**\r
+ * 处理老化模式下的状态\r
+ */\r
+ private void ageingMode() {\r
+ if (isEgeingMode && SINGLEITEM_OR_CYCLE_MODE == 1) {\r
+ // 单项无限循环\r
+ if (WORK_TIME == -1) {\r
+ WORK_TIME = 100000000;\r
+ }\r
+ TIME = WORK_TIME * Constants.SINGLEITEM_TIMES;\r
+ ageingHandler.sendEmptyMessageDelayed(1, TIME);\r
+ } else if (isEgeingMode && SINGLEITEM_OR_CYCLE_MODE == 2) {\r
+ TIME = Constants.CYCLE_ONE_ACTIVITY_TIMES;\r
+ ageingHandler.sendEmptyMessageDelayed(1, TIME);\r
+ isShowSeekbar = isFirstStartService;\r
+ }\r
+ }\r
+ \r
+ private void sendBraodCaseReceiver() {\r
+ Intent intent = new Intent();\r
+ if (FTUtils.isSugar()) {\r
+ intent.setAction("com.android.stopMotorActivity");\r
+ } else {\r
+ intent.setAction("com.android.stopMicActivity");\r
+ }\r
+ sendBroadcast(intent);\r
+ }\r
+\r
+ private void registerReceiver() {\r
+ receiver = new MyReceiver();\r
+ IntentFilter filter = new IntentFilter();\r
+ filter.addAction("com.android.stopRingActivity");\r
+ AgeingRingtoneActivity.this.registerReceiver(receiver, filter);\r
+ }\r
+\r
+ protected void onDestroy() {\r
+ if (mediaPlayer != null) {\r
+ mediaPlayer.release();\r
+ mediaPlayer = null;\r
+ }\r
+\r
+ if (ageingHandler != null) {\r
+ ageingHandler.removeCallbacksAndMessages(null);\r
+ ageingHandler = null;\r
+ }\r
+ if (receiver != null) {\r
+ unregisterReceiver(receiver);\r
+ }\r
+ super.onDestroy();\r
+ }\r
+\r
+\r
+ public void onRingtoneBtnClicked(View view) {\r
+ String model = Build.MODEL;\r
+ if (isPlaying) {\r
+ return;\r
+ }\r
+ if (model != null\r
+ && (model.contains("WG1702") || model.contains("PD88-18"))\r
+ || (model.contains("SCX-N18-18") || model.contains("PD88-8"))) {\r
+ mediaPlayer = MediaPlayer.create(this, R.raw.chongerfei);\r
+ } else if (model.contains("C02A") || model.contains("C02")) {\r
+ mediaPlayer = MediaPlayer.create(this, R.raw.liebao);\r
+ } else {\r
+ mediaPlayer = MediaPlayer.create(this, R.raw.chongerfei);\r
+ }\r
+\r
+ if (mediaPlayer != null) {\r
+ mediaPlayer.stop();\r
+ }\r
+ try {\r
+ mediaPlayer.setOnCompletionListener(this);\r
+ mediaPlayer.setLooping(true);\r
+ mediaPlayer.prepare();\r
+ mediaPlayer.start();\r
+ isPlaying = true;\r
+ return;\r
+ } catch (IllegalStateException e) {\r
+ return;\r
+ } catch (IOException e) {\r
+ }\r
+ }\r
+\r
+ public void onCompletion(MediaPlayer mp) {\r
+ isPlaying = false;\r
+ }\r
+\r
+ @Override\r
+ public void onClick(View arg0) {\r
+ Intent intent;\r
+ //传奇不需要mic\r
+ String model = Build.MODEL;\r
+ if(model != null && model.contains("F6")) {\r
+ intent = new Intent(this, SimDetectActivity.class);\r
+ } else {\r
+ intent = new Intent(this, MikeTest.class);\r
+ }\r
+ \r
+ intent.putExtra("running", true);\r
+ Intent intent1 = new Intent(this, TestMainActivity.class);\r
+ // TestResult testResult = (TestResult) getApplicationContext();\r
+ switch (arg0.getId()) {\r
+\r
+ case R.id.btn_two_left:\r
+ // 如果当前是老化模式测试\r
+ if (isEgeingMode) {\r
+ Intent ageingIntent = new Intent(this, AgeingModeActivity.class);\r
+ ageingIntent.putExtra("ageing_mode", true);\r
+ startActivity(ageingIntent);\r
+ PreferenceManager\r
+ .getDefaultSharedPreferences(getApplicationContext())\r
+ .edit().putString("ageing_speak", "true").commit();\r
+ } else {\r
+ if (!running) {\r
+ startActivity(intent1);\r
+ } else {\r
+ startActivity(intent);\r
+ }\r
+ PreferenceManager\r
+ .getDefaultSharedPreferences(getApplicationContext())\r
+ .edit().putString("speak", "true").commit();\r
+ }\r
+\r
+ finish();\r
+ break;\r
+ case R.id.btn_two_right:\r
+ if (isEgeingMode) {\r
+ Intent ageingIntent = new Intent(this, AgeingModeActivity.class);\r
+ startActivity(ageingIntent);\r
+ PreferenceManager\r
+ .getDefaultSharedPreferences(getApplicationContext())\r
+ .edit().putString("ageing_speak", "false").commit();\r
+ } else {\r
+ if (!running) {\r
+ startActivity(intent1);\r
+ } else {\r
+ startActivity(intent);\r
+ }\r
+ PreferenceManager\r
+ .getDefaultSharedPreferences(getApplicationContext())\r
+ .edit().putString("speak", "false").commit();\r
+ }\r
+\r
+ finish();\r
+ break;\r
+ }\r
+ }\r
+\r
+ @Override\r
+ protected void onResume() {\r
+ buttonView.setSuccessColor();\r
+ buttonView.btn_left.setClickable(true);\r
+ super.onResume();\r
+ }\r
+\r
+ @Override\r
+ public void onBackPressed() {\r
+ // super.onBackPressed();\r
+ if (running) {\r
+ Intent intent = new Intent(this, TestMainList.class);\r
+ startActivity(intent);\r
+ finish();\r
+ } else {\r
+ finish();\r
+ }\r
+ }\r
+\r
+ /*@Override\r
+ public void onProgressChanged(SeekBar seekBar, int i, boolean b) {\r
+ audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, i, 0);\r
+ }\r
+\r
+ @Override\r
+ public void onStartTrackingTouch(SeekBar seekBar) {\r
+\r
+ }\r
+\r
+ @Override\r
+ public void onStopTrackingTouch(SeekBar seekBar) {\r
+\r
+ }*/\r
+\r
+ /**\r
+ * 获取广播数据\r
+ * \r
+ */\r
+ public class MyReceiver extends BroadcastReceiver {\r
+ @Override\r
+ public void onReceive(Context arg0, Intent arg1) {\r
+ AgeingRingtoneActivity.this.finish();\r
+ }\r
+ }\r
+\r
+ class MyHandler extends Handler {\r
+ WeakReference<Activity > mActivityReference;\r
+\r
+ MyHandler(Activity activity) {\r
+ mActivityReference= new WeakReference<Activity>(activity);\r
+ }\r
+ @Override\r
+ public void handleMessage(Message msg) {\r
+ final Activity activity = mActivityReference.get();\r
+ if (activity != null) {\r
+ try {\r
+ if (SINGLEITEM_OR_CYCLE_MODE == 2) {\r
+ Intent ageingIntent = new Intent(AgeingRingtoneActivity.this,\r
+ AgeingLCDtest.class);\r
+ ageingIntent.putExtra("ageing_mode", true);\r
+ ageingIntent.putExtra("singleitem_or_cycle_mode",\r
+ SINGLEITEM_OR_CYCLE_MODE);\r
+ ageingIntent.putExtra("work_time", WORK_TIME);\r
+ ageingIntent.putExtra("show_seekbar", isShowSeekbar);\r
+ startActivity(ageingIntent);\r
+ }else {\r
+ finish();\r
+ }\r
+ } catch (Exception e) {\r
+ e.printStackTrace();\r
+ System.out.println("exception...");\r
+ }\r
+ }\r
+ }\r
+ }\r
+\r
+}\r
--- /dev/null
+package mobile.miki.ageingmode;\r
+\r
+import android.app.Service;\r
+import android.content.BroadcastReceiver;\r
+import android.content.Context;\r
+import android.content.Intent;\r
+import android.content.IntentFilter;\r
+import android.os.Handler;\r
+import android.os.IBinder;\r
+import android.widget.Toast;\r
+\r
+import mobile.miki.CameraPreview;\r
+import mobile.miki.LCDtestAgeing;\r
+import mobile.miki.MikeTest;\r
+import mobile.miki.MotorTestActivity;\r
+import mobile.miki.RingtoneActivity;\r
+\r
+public class AgeingService extends Service {\r
+ private int WORK_TIME;\r
+ private int TIME = 0;\r
+ private MyReceiver receiver=null;\r
+\r
+ @Override\r
+ public void onCreate() {\r
+ receiver=new MyReceiver();\r
+ IntentFilter filter=new IntentFilter();\r
+ filter.addAction("com.android.stopTiming");\r
+ registerReceiver(receiver, filter);\r
+ super.onCreate();\r
+ }\r
+\r
+ @Override\r
+ public int onStartCommand(Intent intent, int flags, int startId) {\r
+ try {\r
+ WORK_TIME = intent.getIntExtra("work_time",0);\r
+// TIME = WORK_TIME * 1000 * 60 * 60;\r
+ TIME = 1000 * 60;\r
+ Toast.makeText(this, "onStartCommand", Toast.LENGTH_LONG).show();\r
+ handler.postDelayed(runnable, TIME );\r
+ } catch (Exception e) {\r
+ // TODO: handle exception\r
+ }\r
+ \r
+ return super.onStartCommand(intent, flags, startId);\r
+ }\r
+ \r
+ @Override\r
+ public boolean stopService(Intent name) {\r
+ if(handler != null && runnable != null) {\r
+ handler.removeCallbacks(runnable);\r
+ }\r
+ return super.stopService(name);\r
+ }\r
+ \r
+ \r
+\r
+ @Override\r
+ public IBinder onBind(Intent arg0) {\r
+ return null;\r
+ }\r
+\r
+ Handler handler = new Handler();\r
+ Runnable runnable = new Runnable() {\r
+\r
+ @Override\r
+ public void run() {\r
+ // handler自带方法实现定时器\r
+ try {\r
+ Toast.makeText(AgeingService.this, "onStartCommand", Toast.LENGTH_LONG).show();\r
+ Intent intent = new Intent();\r
+ intent.setAction("com.android.stopActivity");\r
+ sendBroadcast(intent);\r
+ if(RingtoneActivity.instance != null) {\r
+ RingtoneActivity.instance.finish();\r
+ }\r
+ \r
+ if(LCDtestAgeing.instance != null) {\r
+ LCDtestAgeing.instance.finish();\r
+ }\r
+ \r
+ if(CameraPreview.instance != null) {\r
+ CameraPreview.instance.finish();\r
+ }\r
+\r
+ if (MikeTest.instance != null) {\r
+ MikeTest.instance.finish();\r
+ }\r
+\r
+ if (MotorTestActivity.instance != null) {\r
+ MotorTestActivity.instance.finish();\r
+ }\r
+ stopSelf();\r
+ \r
+ } catch (Exception e) {\r
+ e.printStackTrace();\r
+ System.out.println("exception...");\r
+ }\r
+ }\r
+ };\r
+ \r
+ public class MyReceiver extends BroadcastReceiver {\r
+ @Override\r
+ public void onReceive(Context arg0, Intent arg1) {\r
+ if(handler != null && runnable != null) {\r
+ handler.removeCallbacks(runnable);\r
+ }\r
+ }\r
+ }\r
+\r
+}\r
--- /dev/null
+package mobile.miki.flow;\r
+\r
+import android.app.Activity;\r
+import android.net.ConnectivityManager;\r
+import android.net.NetworkInfo;\r
+import android.os.Bundle;\r
+import android.os.Environment;\r
+import android.util.Log;\r
+import android.widget.TextView;\r
+\r
+import com.liulishuo.filedownloader.BaseDownloadTask;\r
+import com.liulishuo.filedownloader.FileDownloadListener;\r
+import com.liulishuo.filedownloader.FileDownloader;\r
+\r
+import java.io.File;\r
+import java.text.DecimalFormat;\r
+\r
+import mobile.miki.R;\r
+import rx.Observable;\r
+import rx.Subscriber;\r
+import rx.schedulers.Schedulers;\r
+\r
+public class DownLoad extends Activity {\r
+ String url = "http://businessapp.enqualcomm.com/serviceapihttp"; //正式服务器\r
+ String urlType = "3";\r
+ String path = Environment.getExternalStorageDirectory().getPath() + "/file007.apk";\r
+ private TextView tv_value;\r
+ private TextView tv_title;\r
+\r
+ @Override\r
+ protected void onCreate(Bundle savedInstanceState) {\r
+ super.onCreate(savedInstanceState);\r
+ setContentView(R.layout.download);\r
+ initView();\r
+ if (!wifiIsConnected()) {\r
+ startDownLoad();\r
+ }\r
+ }\r
+\r
+ private boolean wifiIsConnected() {\r
+ ConnectivityManager connManager = (ConnectivityManager) this.getSystemService(CONNECTIVITY_SERVICE);\r
+ NetworkInfo mWifi = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);\r
+ return mWifi.isConnected();\r
+ }\r
+\r
+ private void initView() {\r
+ tv_value = (TextView) findViewById(R.id.tv_value);\r
+ tv_title = (TextView) findViewById(R.id.tv_title);\r
+ tv_value.setText("0");\r
+\r
+\r
+ }\r
+\r
+ private void startDownLoad() {\r
+ Observable.create(new GetDownloadUrl(urlType))\r
+ .subscribeOn(Schedulers.io())\r
+ .subscribe(new Subscriber<String>() {\r
+ @Override\r
+ public void onCompleted() {\r
+ Log.i("dxc", "获取地址失败");\r
+// setDownloadError();\r
+ }\r
+\r
+ @Override\r
+ public void onError(Throwable e) {\r
+ Log.i("dxc", "获取地址失败");\r
+// setDownloadError();\r
+ }\r
+\r
+ @Override\r
+ public void onNext(String s) {\r
+ downLoadTask(s);\r
+ }\r
+ });\r
+ }\r
+\r
+ @Override\r
+ protected void onDestroy() {\r
+ super.onDestroy();\r
+ FileDownloader.getImpl().clearAllTaskData();\r
+ FileDownloader.getImpl().stopForeground(true);\r
+ }\r
+\r
+ private void downLoadTask(String url) {\r
+ Log.i("dxc", "启动下载 url==" + url);\r
+ Log.i("dxc", "启动下载 path==" + path);\r
+ File file = new File(path);\r
+ if (file.exists()) {\r
+ file.delete();\r
+ }\r
+\r
+ FileDownloader.getImpl().create(url)\r
+ .setPath(path)\r
+ .setListener(new FileDownloadListener() {\r
+ @Override\r
+ protected void pending(BaseDownloadTask task, int soFarBytes, int totalBytes) {\r
+ Log.i("dxc", "!!!!!!!pending totalBytes " + totalBytes);\r
+ }\r
+\r
+ @Override\r
+ protected void connected(BaseDownloadTask task, String etag, boolean isContinue, int soFarBytes, int totalBytes) {\r
+ Log.i("dxc", "!!!!!!!connected " + totalBytes);\r
+ tv_title.setText("total:" + new DecimalFormat("0.00").format(totalBytes * 1.06 / 1024 / 1024) + "MB");\r
+ }\r
+\r
+ @Override\r
+ protected void progress(BaseDownloadTask task, int soFarBytes, int totalBytes) {\r
+ double hasDown = soFarBytes * 1.06 / (totalBytes * 1.06) * 100;\r
+ DecimalFormat df = new DecimalFormat("0.00");\r
+ tv_value.setText("download: " + df.format(hasDown) + "%");\r
+ }\r
+\r
+ @Override\r
+ protected void blockComplete(BaseDownloadTask task) {\r
+ Log.i("dxc", "!!!!!!!blockComplete");\r
+ }\r
+\r
+ @Override\r
+ protected void retry(final BaseDownloadTask task, final Throwable ex, final int retryingTimes, final int soFarBytes) {\r
+ Log.i("dxc", "!!!!!!!retry");\r
+ }\r
+\r
+ @Override\r
+ protected void completed(BaseDownloadTask task) {\r
+ Log.i("dxc", "!!!!!!!completed");\r
+ tv_value.setText("download: " + 100 + "%");\r
+ File file = new File(path);\r
+ if (!file.exists()) {\r
+ return;\r
+ }\r
+// file.delete();\r
+// downLoadNumber++;\r
+// mTotalNumber++;\r
+// Logger.i("删除成功");\r
+// mRuntime.getDbHelper().insertOrUpdateDownLoadInfo(mImsi,downLoadNumber,mTotalNumber,mCurrentTimeMillis+"");\r
+// mIsStartDownload = false;\r
+ }\r
+\r
+ @Override\r
+ protected void paused(BaseDownloadTask task, int soFarBytes, int totalBytes) {\r
+ }\r
+\r
+ @Override\r
+ protected void error(BaseDownloadTask task, Throwable e) {\r
+ Log.i("dxc", "下载失败==" + e.getMessage());\r
+// setDownloadError();\r
+ }\r
+\r
+ @Override\r
+ protected void warn(BaseDownloadTask task) {\r
+ }\r
+ }).start();\r
+ }\r
+\r
+}\r
--- /dev/null
+package mobile.miki.flow;\r
+\r
+import android.util.Log;\r
+\r
+import org.json.JSONObject;\r
+\r
+import okhttp3.Call;\r
+import okhttp3.MultipartBody;\r
+import okhttp3.OkHttpClient;\r
+import okhttp3.Request;\r
+import okhttp3.Response;\r
+import rx.Observable;\r
+import rx.Subscriber;\r
+\r
+/**\r
+ * Created by EQC1111 on 2017/12/12.\r
+ */\r
+\r
+public class GetDownloadUrl implements Observable.OnSubscribe<String> {\r
+ OkHttpClient client = new OkHttpClient();\r
+ String url = "http://businessapp.enqualcomm.com/serviceapihttp"; //正式服务器\r
+ String urlType;\r
+\r
+ public GetDownloadUrl( String urlType) {\r
+ this.urlType = urlType;\r
+ }\r
+\r
+ @Override\r
+ public void call(Subscriber<? super String> subscriber) {\r
+ JSONObject eqcjson = new JSONObject();\r
+ try {\r
+ eqcjson.put("cmd", "querydownurlbpo");\r
+ eqcjson.put("licence", "SPORTGD823YQ");\r
+ eqcjson.put("version", "1.0");\r
+ eqcjson.put("site", 12);\r
+ eqcjson.put("urltype", urlType);\r
+\r
+\r
+ MultipartBody.Builder bodyBuilder = new MultipartBody.Builder().addFormDataPart("eqcjson", eqcjson.toString());\r
+ Request.Builder builder = new Request.Builder().url(url);\r
+ builder.post(bodyBuilder.build());\r
+\r
+ Call call = client.newCall(builder.build());\r
+ Response resp = call.execute();\r
+\r
+ if (resp.isSuccessful()) {\r
+ Log.i("dxc", "resp.isSuccessful");\r
+ String response = resp.body().string();\r
+ JSONObject rs = new JSONObject(response);\r
+ String result = rs.getString("result");\r
+\r
+ JSONObject resu = new JSONObject(result);\r
+ String downurl = resu.getString("downurl");\r
+ subscriber.onNext(downurl);\r
+ }\r
+ } catch (Exception e) {\r
+ e.printStackTrace();\r
+ subscriber.onCompleted();\r
+ }\r
+ }\r
+}\r
--- /dev/null
+package mobile.miki.lcd;\r
+\r
+import android.app.Activity;\r
+import android.content.BroadcastReceiver;\r
+import android.content.Context;\r
+import android.content.Intent;\r
+import android.content.IntentFilter;\r
+import android.os.Bundle;\r
+import android.os.Handler;\r
+import android.os.Message;\r
+import android.view.Window;\r
+import android.view.WindowManager;\r
+import android.widget.TextView;\r
+\r
+import mobile.miki.MyApplication;\r
+import mobile.miki.R;\r
+\r
+public class LcdActivity extends Activity {\r
+ private TextView mLcdTextView;\r
+ private Handler mHandler;\r
+ boolean running;\r
+ private final int MSGID_LCD_RED = 0;\r
+ private final int MSGID_LCD_GREEN = 1;\r
+ private final int MSGID_LCD_BLUE = 2;\r
+ private final int MSGID_LCD_YELLOW = 4;\r
+ private final int MSGID_LCD_WHITE = 5;\r
+ private final int MSGID_LCD_OK = 6;\r
+\r
+ @Override\r
+ protected void onCreate(Bundle savedInstanceState) {\r
+ // TODO Auto-generated method stub\r
+ requestWindowFeature(Window.FEATURE_NO_TITLE);\r
+\r
+ getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,\r
+ WindowManager.LayoutParams.FLAG_FULLSCREEN);\r
+ super.onCreate(savedInstanceState);\r
+ MyApplication.getInstance().addActivity(this);\r
+ setContentView(R.layout.lcd);\r
+ mLcdTextView = (TextView) findViewById(R.id.id_lcd);\r
+ Intent intent = getIntent();\r
+ running = false;\r
+ if (intent != null) {\r
+ try {\r
+ running = intent.getBooleanExtra("running", false);;\r
+ } catch (Exception e) {\r
+ // TODO: handle exception\r
+ }\r
+ \r
+ }\r
+ IntentFilter homeFilter = new IntentFilter(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);\r
+ registerReceiver(homePressReceiver, homeFilter);\r
+ \r
+ mHandler = new Handler() {\r
+ @Override\r
+ public void handleMessage(Message msg) {\r
+ // TODO Auto-generated method stub\r
+ switch (msg.what) {\r
+ case MSGID_LCD_RED:\r
+ mLcdTextView.setBackgroundColor(0xFFFF0000);\r
+ break;\r
+ case MSGID_LCD_GREEN:\r
+ mLcdTextView.setBackgroundColor(0xFF00FF00);\r
+ break;\r
+ case MSGID_LCD_BLUE:\r
+ mLcdTextView.setBackgroundColor(0xFF0000FF);\r
+ break;\r
+ case MSGID_LCD_YELLOW:// 黑\r
+ // mLcdTextView.setBackgroundColor(0xFFFFFF00);\r
+ mLcdTextView.setBackgroundColor(0x00000000);\r
+ break;\r
+ case MSGID_LCD_WHITE:\r
+ mLcdTextView.setBackgroundColor(0xFFFFFFFF);\r
+ break;\r
+ case MSGID_LCD_OK:\r
+ \r
+ Intent intent = new Intent(LcdActivity.this,\r
+ LcdJudgActivity.class);\r
+ intent.putExtra("running", running);\r
+ startActivity(intent);\r
+ System.exit(0);\r
+ finish();\r
+ \r
+ break;\r
+ default:\r
+ break;\r
+ }\r
+ }\r
+ };\r
+ }\r
+\r
+\r
+\r
+ @Override\r
+ protected void onStart() {\r
+ // TODO Auto-generated method stub\r
+ mHandler.sendEmptyMessageDelayed(MSGID_LCD_RED, 1000);\r
+ mHandler.sendEmptyMessageDelayed(MSGID_LCD_GREEN, 2000);\r
+ mHandler.sendEmptyMessageDelayed(MSGID_LCD_BLUE, 3000);\r
+ mHandler.sendEmptyMessageDelayed(MSGID_LCD_YELLOW, 4000);\r
+ mHandler.sendEmptyMessageDelayed(MSGID_LCD_WHITE, 5000);\r
+ mHandler.sendEmptyMessageDelayed(MSGID_LCD_OK, 6000);\r
+ super.onStart();\r
+ }\r
+ \r
+ @Override\r
+ protected void onDestroy() {\r
+ super.onDestroy();\r
+ if (mHandler != null) {\r
+ mHandler.removeMessages(MSGID_LCD_RED);\r
+ mHandler.removeMessages(MSGID_LCD_GREEN);\r
+ mHandler.removeMessages(MSGID_LCD_BLUE);\r
+ mHandler.removeMessages(MSGID_LCD_YELLOW);\r
+ mHandler.removeMessages(MSGID_LCD_WHITE);\r
+ mHandler.removeMessages(MSGID_LCD_OK);\r
+ \r
+ }\r
+ }\r
+ \r
+ //HOME键监听\r
+ private BroadcastReceiver homePressReceiver = new BroadcastReceiver() {\r
+ final String SYSTEM_DIALOG_REASON_KEY = "reason";\r
+ final String SYSTEM_DIALOG_REASON_HOME_KEY = "homekey";\r
+ @Override\r
+ public void onReceive(Context context, Intent intent) {\r
+ // TODO Auto-generated method stub\r
+ String action = intent.getAction();\r
+ if(action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)){\r
+ String reason = intent.getStringExtra(SYSTEM_DIALOG_REASON_KEY);\r
+ if(reason!=null&&reason.equals(SYSTEM_DIALOG_REASON_HOME_KEY)){\r
+ if (mHandler != null) {\r
+ mHandler.removeMessages(MSGID_LCD_RED);\r
+ mHandler.removeMessages(MSGID_LCD_GREEN);\r
+ mHandler.removeMessages(MSGID_LCD_BLUE);\r
+ mHandler.removeMessages(MSGID_LCD_YELLOW);\r
+ mHandler.removeMessages(MSGID_LCD_WHITE);\r
+ mHandler.removeMessages(MSGID_LCD_OK);\r
+ \r
+ }\r
+ }\r
+ }\r
+ }\r
+ };\r
+\r
+ @Override\r
+ public void onBackPressed() {\r
+ // super.onBackPressed();\r
+ // TestManager.goToTestMain(LcdActivity.this);\r
+ }\r
+}\r
--- /dev/null
+package mobile.miki.lcd;\r
+\r
+import android.app.Activity;\r
+import android.content.Intent;\r
+import android.os.Build;\r
+import android.os.Bundle;\r
+import android.preference.PreferenceManager;\r
+import android.view.View;\r
+\r
+import mobile.miki.CameraPreview;\r
+import mobile.miki.MotorTestActivity;\r
+import mobile.miki.MyApplication;\r
+import mobile.miki.R;\r
+import mobile.miki.ageingmode.AgeingModeActivity;\r
+import mobile.miki.mainui.ButtonViewTwo;\r
+import mobile.miki.mainui.TestMainActivity;\r
+import mobile.miki.mainui.TestMainList;\r
+\r
+public class LcdJudgActivity extends Activity implements android.view.View.OnClickListener {\r
+ private ButtonViewTwo buttonView;\r
+ boolean running;\r
+ boolean isEgeingMode = false;\r
+\r
+ @Override\r
+ protected void onCreate(Bundle savedInstanceState) {\r
+ super.onCreate(savedInstanceState);\r
+ MyApplication.getInstance().addActivity(this);\r
+ setContentView(R.layout.urovo_layout_lcd_tv);\r
+ buttonView = (ButtonViewTwo) findViewById(R.id.btn_set);\r
+ buttonView.btn_left.setOnClickListener(this);\r
+ buttonView.btn_right.setOnClickListener(this);\r
+ buttonView.btn_right.setClickable(true);\r
+\r
+ buttonView.setSuccessColor();\r
+ buttonView.btn_left.setClickable(true);\r
+ getLcdIntent();\r
+ \r
+ }\r
+ \r
+ private void getLcdIntent() {\r
+ Intent intent = getIntent();\r
+ running = false;\r
+ if (intent != null) {\r
+ try {\r
+ running = intent.getBooleanExtra("running", false);\r
+ } catch (Exception e) {\r
+ e.printStackTrace();\r
+ }\r
+ \r
+ }\r
+ if (intent != null) {\r
+ try {\r
+ isEgeingMode = intent.getBooleanExtra("ageing_mode", false);\r
+ } catch (Exception e) {\r
+ e.printStackTrace();\r
+ }\r
+ }\r
+ }\r
+\r
+ @Override\r
+ public void onClick(View arg0) {\r
+ Intent intent;\r
+ intent = new Intent(this, CameraPreview.class);\r
+ //正指向,贝尔丰需要震动测试\r
+ String model = Build.MODEL;\r
+ if(model != null ) {\r
+ if(model.contains("WG1702") || model.contains("BF A1") || model.contains("PD88-18") || model.contains("SCX-N18-18") || model.contains("PD88-8") || model.contains("F6")) {\r
+ intent = new Intent(this, MotorTestActivity.class);\r
+ }\r
+ }\r
+ //\r
+ \r
+ intent.putExtra("running", true);\r
+ Intent intent1 = new Intent(this, TestMainActivity.class);\r
+\r
+ switch (arg0.getId()) {\r
+\r
+ case R.id.btn_two_left:\r
+ if(isEgeingMode) {\r
+ Intent ageingIntent = new Intent(this, AgeingModeActivity.class);\r
+ startActivity(ageingIntent);\r
+ PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit().putString("ageing_LCD", "true")\r
+ .commit();\r
+ } else {\r
+ if (!running) {\r
+ // intent1.putExtra("lcd", true);\r
+ // setResult(12, intent1);\r
+ startActivity(intent1);\r
+ } else {\r
+ startActivity(intent);\r
+ }\r
+ PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit().putString("lcd", "true")\r
+ .commit();\r
+ }\r
+ \r
+\r
+ finish();\r
+\r
+ break;\r
+ case R.id.btn_two_right:\r
+ //如果当前是老化模式测试\r
+ if(isEgeingMode) {\r
+ Intent ageingIntent = new Intent(this,AgeingModeActivity.class);\r
+ startActivity(ageingIntent);\r
+ PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit().putString("ageing_LCD", "false")\r
+ .commit();\r
+ } else {\r
+ if (!running) {\r
+ // intent1.putExtra("lcd", false);\r
+ // setResult(12, intent1);\r
+ startActivity(intent1);\r
+ } else {\r
+\r
+ startActivity(intent);\r
+ }\r
+ PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit().putString("lcd", "false")\r
+ .commit();\r
+ }\r
+ \r
+ finish();\r
+\r
+ break;\r
+\r
+ }\r
+\r
+ }\r
+\r
+ @Override\r
+ protected void onDestroy() {\r
+\r
+ super.onDestroy();\r
+\r
+ }\r
+\r
+ @Override\r
+ public void onBackPressed() {\r
+ // super.onBackPressed();\r
+ PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit().putString("lcd", "false")\r
+ .commit();\r
+ if (running) {\r
+ Intent intent = new Intent(this, TestMainList.class);\r
+ startActivity(intent);\r
+ finish();\r
+ } else {\r
+ finish();\r
+ }\r
+ }\r
+\r
+}\r
--- /dev/null
+package mobile.miki.mainui;\r
+\r
+import android.content.Context;\r
+import android.util.AttributeSet;\r
+import android.view.LayoutInflater;\r
+import android.view.View;\r
+import android.widget.Button;\r
+import android.widget.LinearLayout;\r
+\r
+import mobile.miki.R;\r
+\r
+public class ButtonViewTwo extends LinearLayout {\r
+\r
+ public Button btn_left;\r
+ public Button btn_right;\r
+ \r
+ public ButtonViewTwo(Context context) {\r
+ super(context);\r
+ init(context);\r
+ }\r
+\r
+ public ButtonViewTwo(Context context, AttributeSet attrs) {\r
+ super(context, attrs);\r
+ init(context);\r
+ }\r
+ \r
+ public ButtonViewTwo(Context context, AttributeSet attrs, int defStyle) {\r
+ super(context, attrs, defStyle);\r
+ init(context);\r
+ }\r
+ \r
+ private void init(Context context) {\r
+ LayoutInflater inflater=(LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);\r
+ inflater.inflate(R.layout.urovo_ayout_button_two, this);\r
+ btn_left = (Button) findViewById(R.id.btn_two_left);\r
+ btn_right = (Button) findViewById(R.id.btn_two_right);\r
+ }\r
+ \r
+ public void setLeftButtonText(String text){\r
+ btn_left.setText(text);\r
+ }\r
+ \r
+ public void setRightButtonText(String text){\r
+ btn_right.setText(text);\r
+ }\r
+ \r
+ public void setleftButtonVisible(boolean visible){\r
+ if(visible){\r
+ btn_left.setVisibility(View.VISIBLE);\r
+ }else{\r
+ btn_left.setVisibility(View.GONE);\r
+ }\r
+ }\r
+ \r
+ public void setrightButtonVisible(boolean visible){\r
+ if(visible){\r
+ btn_right.setVisibility(View.VISIBLE);\r
+ }else{\r
+ btn_right.setVisibility(View.GONE);\r
+ }\r
+ }\r
+ \r
+ public void setSuccessColor(){\r
+ btn_left.setBackgroundResource(R.drawable.button_common_green_bg);\r
+ }\r
+ \r
+ public void setSuccessNormalColor(){\r
+ btn_left.setBackgroundResource(R.drawable.btn_special_nrolm); \r
+ }\r
+ \r
+ public Button getLeftButton(){\r
+ return btn_left;\r
+ }\r
+ \r
+ public Button getRightButton(){\r
+ return btn_right;\r
+ }\r
+}\r
--- /dev/null
+package mobile.miki.mainui;\r
+\r
+import android.app.Activity;\r
+import android.os.Bundle;\r
+import android.os.SystemProperties;\r
+import android.util.Log;\r
+import android.view.LayoutInflater;\r
+import android.view.View;\r
+import android.view.ViewGroup;\r
+import android.widget.BaseAdapter;\r
+import android.widget.ListView;\r
+import android.widget.TextView;\r
+\r
+import java.util.ArrayList;\r
+import java.util.List;\r
+\r
+import mobile.miki.R;\r
+import mobile.miki.util.Logger;\r
+\r
+public class FlagPositionActivity extends Activity {\r
+ private ListView listView;\r
+ private List<String> names = new ArrayList<String>();\r
+ private List<String> valueList = new ArrayList<String>();\r
+ @Override\r
+ protected void onCreate(Bundle savedInstanceState) {\r
+ super.onCreate(savedInstanceState);\r
+ setContentView(R.layout.test_result);\r
+ listView = (ListView) findViewById(R.id.list);\r
+ names.add("耦合标志位");\r
+ names.add("校准标志位");\r
+ names.add("综测标志位");\r
+ //barcord\r
+ String strVal = SystemProperties.get("gsm.serial", "");\r
+ Logger.d("barcode " + strVal);\r
+ if (strVal != null && strVal.length() > 0) {\r
+ if (strVal.length() >= 60) {\r
+ String str = strVal.substring(60, 61);\r
+ addVaule(str);\r
+ } else {\r
+ valueList.add("NA");\r
+ }\r
+ if (strVal.length() >= 62) {\r
+ String str = strVal.substring(61, 63);\r
+ Log.i("dxc", "校准" + str);\r
+ if (str.contains(str)) {\r
+ valueList.add("PASS");\r
+ }else {\r
+ valueList.add("FAIL");\r
+ }\r
+ } else {\r
+ valueList.add("NA");\r
+ }\r
+ if (strVal.length() >= 63) {\r
+ String str = strVal.substring(63);\r
+ addVaule(str);\r
+ }else {\r
+ valueList.add("NA");\r
+ }\r
+\r
+ }else {\r
+ valueList.add("NA");\r
+ valueList.add("NA");\r
+ valueList.add("NA");\r
+ }\r
+ ResultAdaper adaper = new ResultAdaper();\r
+ listView.setAdapter(adaper);\r
+ }\r
+\r
+ private void addVaule(String str) {\r
+ if (str.equalsIgnoreCase("P")) {\r
+ valueList.add("PASS");\r
+ } else if (str.equalsIgnoreCase("F")) {\r
+ valueList.add("FAIL");\r
+ } else {\r
+ valueList.add("NA");\r
+ }\r
+ }\r
+\r
+\r
+ class ResultAdaper extends BaseAdapter {\r
+ @Override\r
+ public int getCount() {\r
+ return names.size();\r
+ }\r
+\r
+ @Override\r
+ public Object getItem(int i) {\r
+ return names.get(i);\r
+ }\r
+\r
+ @Override\r
+ public long getItemId(int i) {\r
+ return i;\r
+ }\r
+\r
+ @Override\r
+ public View getView(int position, View convertView, ViewGroup viewGroup) {\r
+ LayoutInflater mInflater = LayoutInflater.from(FlagPositionActivity.this);\r
+ convertView = mInflater.inflate(R.layout.test_result_item, null);\r
+ TextView name = (TextView) convertView.findViewById(R.id.tv_test_name);\r
+ TextView result = (TextView) convertView.findViewById(R.id.tv_test_result);\r
+ if (valueList.get(position).equals("PASS")) {\r
+ result.setTextColor(getResources().getColor(R.color.pass_color));\r
+ } else {\r
+ result.setTextColor(getResources().getColor(R.color.red));\r
+ }\r
+ name.setText(names.get(position));\r
+ result.setText(valueList.get(position));\r
+ return convertView;\r
+ }\r
+ }\r
+}\r
--- /dev/null
+package mobile.miki.mainui;\r
+\r
+import android.app.Activity;\r
+import android.app.AlertDialog;\r
+import android.content.ComponentName;\r
+import android.content.DialogInterface;\r
+import android.content.Intent;\r
+import android.content.pm.PackageManager;\r
+import android.os.Bundle;\r
+import android.view.View;\r
+import android.view.View.OnClickListener;\r
+import android.widget.Button;\r
+\r
+import mobile.miki.R;\r
+\r
+public class ModeSelectActivity extends Activity implements OnClickListener {\r
+ Button engineer_button, more_button,unbound_button;\r
+ String ACTION_UNBOUND_TERMINAL = "com.enqualcomm.support.ACTION_UNBOUND_TERMINAL";\r
+ String SERVICE_PKG_NAME = "com.enqualcomm.support";\r
+ String SERVICE_CLS_NAME = "com.enqualcomm.support.CoreService";\r
+ @Override\r
+ protected void onCreate(Bundle arg0) {\r
+ super.onCreate(arg0);\r
+ setContentView(R.layout.mode_select_activity);\r
+ engineer_button = (Button) findViewById(R.id.engineer_button);\r
+ more_button = (Button) findViewById(R.id.more_button);\r
+ unbound_button=(Button)findViewById(R.id.unbound_button);\r
+ engineer_button.setOnClickListener(this);\r
+ more_button.setOnClickListener(this);\r
+ unbound_button.setOnClickListener(this);\r
+ }\r
+\r
+ @Override\r
+ public void onClick(View v) {\r
+ if (v.getId() == R.id.engineer_button) {\r
+ try {\r
+ ComponentName componentName = new ComponentName(\r
+ "com.mediatek.engineermode",\r
+ "com.mediatek.engineermode.EngineerMode");\r
+ Intent intent = new Intent();\r
+ intent.setComponent(componentName);\r
+ try {\r
+ startActivity(intent);\r
+ } catch (Exception e) {\r
+ e.printStackTrace();\r
+ }\r
+\r
+ } catch (Exception e) {\r
+ }\r
+ }\r
+ else if (v.getId() == R.id.more_button) {\r
+ try {\r
+ PackageManager packageManager = getPackageManager();\r
+ Intent intent = packageManager\r
+ .getLaunchIntentForPackage("com.android.settings");\r
+ startActivity(intent);\r
+ } catch (Exception e) {\r
+ // TODO: handle exception\r
+ }\r
+ }\r
+ else if (v.getId() == R.id.unbound_button) {\r
+ unBound();\r
+ }\r
+ }\r
+ private void startUnBound()\r
+ {\r
+ try {\r
+ ComponentName componentName = new ComponentName(SERVICE_PKG_NAME, SERVICE_CLS_NAME);\r
+ Intent intent = new Intent(ACTION_UNBOUND_TERMINAL).setComponent(componentName);\r
+ intent.putExtra("Unbound", true);\r
+ startService(intent);\r
+ Intent intent1 = new Intent(ACTION_UNBOUND_TERMINAL);\r
+ intent.putExtra("Unbound", true);\r
+ sendBroadcast(intent1);\r
+ } catch (Exception e) {\r
+ // TODO: handle exception\r
+ }\r
+ }\r
+ private void unBound() {\r
+ AlertDialog.Builder build = new AlertDialog.Builder(ModeSelectActivity.this);\r
+ build.setTitle(getResources().getString(R.string.unbound));\r
+ build.setPositiveButton(getResources().getString(R.string.submit), new DialogInterface.OnClickListener() {\r
+ @Override\r
+ public void onClick(DialogInterface dialog, int which) {\r
+ startUnBound();\r
+ dialog.dismiss();\r
+ }\r
+ });\r
+ build.setNegativeButton(getResources().getString(R.string.unbound_cancel), new DialogInterface.OnClickListener() {\r
+ @Override\r
+ public void onClick(DialogInterface dialog, int which) {\r
+ dialog.dismiss();\r
+ }\r
+ });\r
+ build.show();\r
+ }\r
+}\r
--- /dev/null
+package mobile.miki.mainui;
+
+import android.app.AlertDialog;
+import android.content.Context;
+import android.content.DialogInterface;
+import android.content.Intent;
+import android.content.SharedPreferences;
+import android.os.Build;
+import android.os.Bundle;
+import android.preference.PreferenceManager;
+import android.telephony.TelephonyManager;
+import android.view.View;
+import android.view.View.OnClickListener;
+import android.widget.AdapterView;
+import android.widget.Button;
+import android.widget.GridView;
+import android.widget.TextView;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import mobile.miki.BaseActivity;
+import mobile.miki.BatteryTestActivity;
+import mobile.miki.BlooToothActivity;
+import mobile.miki.BrightnessTest;
+import mobile.miki.CameraPreview;
+import mobile.miki.DSPActivity;
+import mobile.miki.DialerTestActivity;
+import mobile.miki.GpsTest;
+import mobile.miki.GravitySensorActivity;
+import mobile.miki.HeartRate;
+import mobile.miki.KeysTestActivity;
+import mobile.miki.MikeTest;
+import mobile.miki.MotorTestActivity;
+import mobile.miki.MyApplication;
+import mobile.miki.R;
+import mobile.miki.RingtoneActivity;
+import mobile.miki.SimDetectActivity;
+import mobile.miki.SystemMemory;
+import mobile.miki.TouchTest;
+import mobile.miki.UltravioletMonitorActivity;
+import mobile.miki.VersionActivity;
+import mobile.miki.WifiTestActiviy;
+import mobile.miki.adapter.TestMainListAdapter;
+import mobile.miki.lcd.LcdActivity;
+import mobile.miki.util.FTUtils;
+
+/*程序主界面*/
+
+public class TestMainActivity extends BaseActivity implements OnClickListener, AdapterView.OnItemClickListener {
+
+ private static final String TAG = "TestMainActivity";
+
+ // table items
+
+
+ private static SharedPreferences sp;
+ private static final String FILE_NAME = "UrovoDest";
+ private static final String SHOWALLTEST_KEY = "ShowAllTestOptions";
+ private static final String SAVETESTOPTIONS_KEY = "SavedTestOptions";
+ private boolean showAllTestOptions = false;
+ private boolean savedTestOptions = false;
+
+ private boolean isRfid = false;
+ static ArrayList<String> classList = new ArrayList<String>();
+ boolean running;
+
+ Button test_result;
+ private static final String STAR_SERVICE_ACTION = "intent.action.startservice";
+ private static final String STOP_SERVICE_ACTION = "intent.action.stopservice";
+ TelephonyManager tm;
+
+ private GridView gridView;
+ private TestMainListAdapter adapter;
+ String[] stateArr;
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ MyApplication.getInstance().addActivity(this);
+ setContentView(R.layout.urovo_layout_table);
+ initView();
+
+ }
+
+ @Override
+ protected void onResume() {
+ super.onResume();
+ getDeviceInfo();
+ adapter = new TestMainListAdapter(this, getArray(), stateArr);
+ setSaveColorState();
+ gridView.setAdapter(adapter);
+ gridView.setOnItemClickListener(this);
+
+ }
+
+ private void getDeviceInfo() {
+ sp = getSharedPreferences(FILE_NAME, Context.MODE_PRIVATE);
+ showAllTestOptions = sp.getBoolean(SHOWALLTEST_KEY, false);
+ savedTestOptions = sp.getBoolean(SAVETESTOPTIONS_KEY, false);
+ }
+
+ protected void initView() {
+ test_result = (Button) findViewById(R.id.test_result);
+ if (FTUtils.isSugar()) {
+ test_result.setVisibility(View.GONE);
+ }
+ gridView = (GridView) findViewById(R.id.gridview);
+
+ //正指向,贝尔丰需要震动测试
+ String model = Build.MODEL;
+// if (model != null) {
+// if (model.contains("WG1702") || model.contains("BF A1") || model.contains("PD88-18") || model.contains("SCX-N18-18") || model.contains("PD88-8") || model.contains("F6")) {
+// test_watchvibrator.setVisibility(View.VISIBLE);
+// }
+// }
+
+ //这里可以打开录音测试
+// if (model != null && (model.contains("WG1702") || model.contains("PD88-18") || model.contains("SCX-N18-18") || model.contains("PD88-8")) || model.contains("F6")) {
+// test_watchrecord.setVisibility(View.VISIBLE);
+// }
+
+// if (model.contains("F6")) {
+// test_watchmic.setVisibility(View.GONE);
+// }
+ test_result.setOnClickListener(this);
+
+ // frid sq20
+ isRfid = false;
+ tm = (TelephonyManager) this.getSystemService(TELEPHONY_SERVICE);
+ // saveTestOptions();
+ }
+
+
+ @Override
+ protected void onPause() {
+ // TODO Auto-generated method stub
+ super.onPause();
+ }
+
+ @Override
+ protected void onDestroy() {
+ // TODO Auto-generated method stub
+ super.onDestroy();
+ }
+
+
+ @Override
+ public void onClick(View view) {
+ Intent intent = null;
+ switch (view.getId()) {
+
+ case R.id.test_result:
+ sureClearData();
+ break;
+
+ default:
+ break;
+ }
+ if (intent != null) {
+ intent.putExtra("running", false);
+ startActivityForResult(intent, 0);
+ }
+
+ }
+
+ @Override
+ public void onBackPressed() {
+ // super.onBackPressed();
+ Intent intent = new Intent(this, TestMainList.class);
+ startActivity(intent);
+ finish();
+ }
+
+ @Override
+ protected void onActivityResult(int requestCode, int resultCode, Intent data) {
+ super.onActivityResult(requestCode, resultCode, data);
+ }
+
+
+ private void setSaveColorState() {
+
+ for (int i = 0; i < testResultList.size(); i++) {
+ String status = PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).getString(testResultList.get(i), "");
+ stateArr[i] = status;
+ }
+
+ }
+
+ public void clearTestData() {
+
+ for (int i = 0; i < testResultList.size(); i++) {
+ PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit().putString(testResultList.get(i), "").commit();
+ }
+ Intent intent = new Intent(this, TestMainActivity.class);
+ startActivity(intent);
+ }
+
+ public void sureClearData() {
+ AlertDialog.Builder build = new AlertDialog.Builder(TestMainActivity.this);
+ build.setTitle("Wroming");
+ build.setTitle(getResources().getString(R.string.clear_new_wanr));
+ build.setPositiveButton(getResources().getString(R.string.clear_new_yes), new DialogInterface.OnClickListener() {
+
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ clearTestData();
+ dialog.dismiss();
+ }
+ });
+ build.setNegativeButton(getResources().getString(R.string.clear_new_no), new DialogInterface.OnClickListener() {
+
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+
+ dialog.dismiss();
+ }
+ });
+ build.show();
+ }
+
+
+ @Override
+ public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
+
+ TextView text = (TextView) view.findViewById(R.id.text_item);
+ String str = text.getText().toString();
+ startActivity(str);
+ }
+
+ private void startActivity(String text) {
+ Intent intent = null;
+ if (text.equals(getResources().getString(R.string.version_new))) {
+ intent = new Intent(TestMainActivity.this, VersionActivity.class);
+ } else if (text.equals(getResources().getString(R.string.touch))) {
+ intent = new Intent(TestMainActivity.this, TouchTest.class);
+ } else if (text.equals(getResources().getString(R.string.light_new))) {
+ intent = new Intent(TestMainActivity.this, LcdActivity.class);
+ } else if (text.equals(getResources().getString(R.string.camera))) {
+ intent = new Intent(TestMainActivity.this, CameraPreview.class);
+ } else if (text.equals(getResources().getString(R.string.wifi))) {
+ intent = new Intent(TestMainActivity.this, WifiTestActiviy.class);
+ }else if (text.equals(getResources().getString(R.string.gps))) {
+ intent = new Intent(TestMainActivity.this, GpsTest.class);
+ }else if (text.equals(getResources().getString(R.string.speak))) {
+ intent = new Intent(TestMainActivity.this, RingtoneActivity.class);
+ }else if (text.equals(getResources().getString(R.string.mic_title))) {
+ intent = new Intent(TestMainActivity.this, MikeTest.class);
+ }else if (text.equals(getResources().getString(R.string.sim_title))) {
+ intent = new Intent(TestMainActivity.this, SimDetectActivity.class);
+ }else if (text.equals(getResources().getString(R.string.dual_new))) {
+ intent = new Intent(TestMainActivity.this, DialerTestActivity.class);
+ }else if (text.equals(getResources().getString(R.string.ramromTest))) {
+ intent = new Intent(TestMainActivity.this, SystemMemory.class);
+ }else if (text.equals(getResources().getString(R.string.beiguang_new))) {
+ intent = new Intent(TestMainActivity.this, BrightnessTest.class);
+ }else if (text.equals(getResources().getString(R.string.test_sensor))) {
+ intent = new Intent(TestMainActivity.this, GravitySensorActivity.class);
+ }else if (text.equals(getResources().getString(R.string.test_battery))) {
+ intent = new Intent(TestMainActivity.this, BatteryTestActivity.class);
+ }else if (text.equals(getResources().getString(R.string.test_keypad))) {
+ intent = new Intent(TestMainActivity.this, KeysTestActivity.class);
+ }else if (text.equals(getResources().getString(R.string.bt))) {
+ intent = new Intent(TestMainActivity.this, BlooToothActivity.class);
+ }else if (text.equals(getResources().getString(R.string.shakeTest))) {
+ intent = new Intent(TestMainActivity.this, MotorTestActivity.class);
+ }else if (text.equals(getResources().getString(R.string.ultraviolet))) {
+ intent = new Intent(TestMainActivity.this, UltravioletMonitorActivity.class);
+ }else if (text.equals(getResources().getString(R.string.dsp))) {
+ intent = new Intent(TestMainActivity.this, DSPActivity.class);
+ }else if (text.equals(getResources().getString(R.string.heartrate))) {
+ intent = new Intent(TestMainActivity.this, HeartRate.class);
+ }
+
+ if (intent != null) {
+ intent.putExtra("running", false);
+ startActivityForResult(intent, 0);
+ }
+
+ }
+
+ public String[] getList() {
+ String[] listTem = {getString(R.string.version_new), getString(R.string.touch), getString(R.string.light_new), getString(R.string.camera),
+ getString(R.string.wifi), getString(R.string.gps), getString(R.string.speak), getString(R.string.mic_title),
+ getString(R.string.sim_title), getString(R.string.dual_new), getString(R.string.ramromTest), getString(R.string.beiguang_new),
+ getString(R.string.test_sensor), getString(R.string.test_battery)};
+ return listTem;
+ }
+
+ List<String> testResultList;
+ private List<String> getArray() {
+ List<String> list = new ArrayList<String>();
+ testResultList = new ArrayList<String>();
+ for (int i = 0; i < getList().length; i++) {
+ list.add(getList()[i]);
+ testResultList.add(sharedPreferencesArr[i]);
+ }
+ if (FTUtils.isLieBao()) {
+ list.add(getString(R.string.test_keypad));
+ testResultList.add("keys");
+ } else if (FTUtils.isSugar()) {
+ list.add(getString(R.string.test_keypad));
+ list.add(getString(R.string.bt));
+ list.add(getString(R.string.shakeTest));
+ list.add(getString(R.string.ultraviolet));
+
+ testResultList.add("keys");
+ testResultList.add("bt");
+ testResultList.add("vibrator");
+ testResultList.add("Ultraviolet");
+ } else if (FTUtils.isS06()) {
+ // s06 添加dsp测试
+ list.add(getString(R.string.hall));
+ list.add(getString(R.string.bt));
+ list.add(getString(R.string.dsp));
+ list.add(getString(R.string.heartrate));
+
+ testResultList.add("keys");
+ testResultList.add("bt");
+ testResultList.add("dsp");
+ testResultList.add("heartrate");
+ }
+ stateArr = new String[testResultList.size()];
+ return list;
+ }
+
+
+ String[] sharedPreferencesArr = {"version", "touch", "lcd", "camera", "wifi", "gps", "speak", "mic", "sim", "dialer",
+ "watchmemory", "light", "Gsensor", "watchbattery"/*, "keys", "bt", "vibrator", "Ultraviolet", "dsp"*/};
+
+}
--- /dev/null
+package mobile.miki.mainui;
+
+import android.app.AlertDialog;
+import android.content.ComponentName;
+import android.content.DialogInterface;
+import android.content.Intent;
+import android.os.Bundle;
+import android.os.Handler;
+import android.os.Message;
+import android.provider.Settings;
+import android.provider.Settings.SettingNotFoundException;
+import android.view.View;
+import android.view.View.OnClickListener;
+import android.widget.LinearLayout;
+import android.widget.TextView;
+import android.widget.Toast;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Timer;
+import java.util.TimerTask;
+
+import mobile.miki.BaseActivity;
+import mobile.miki.MyApplication;
+import mobile.miki.R;
+import mobile.miki.VersionActivity;
+import mobile.miki.ageingmode.AgeingModeActivity;
+import mobile.miki.flow.DownLoad;
+import mobile.miki.util.FTUtils;
+
+/*add tyy 程序主入口 */
+public class TestMainList extends BaseActivity implements OnClickListener {
+ public static final String FORMAT_AND_FACTORY_RESET = "com.android.internal.os.storage.FORMAT_AND_FACTORY_RESET";
+ private static final String MASTER_CLEAR = "android.intent.action.MASTER_CLEAR";
+ private LinearLayout moblietest;
+ private LinearLayout pcbatest;
+ private LinearLayout engineermodetest;
+ private LinearLayout ageingmodetest;
+ private LinearLayout mapcopytools;
+ private TextView Factory_test_title;
+ private LinearLayout download_mode;
+ private LinearLayout dial;
+ private LinearLayout flagPosition;
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ // TODO Auto-generated method stub
+ super.onCreate(savedInstanceState);
+ MyApplication.getInstance().addActivity(this);
+ setContentView(R.layout.dig_layout_testlist);
+
+ pcbatest = (LinearLayout) findViewById(R.id.pcba_test);
+ moblietest = (LinearLayout) findViewById(R.id.moblie_test);
+ engineermodetest = (LinearLayout) findViewById(R.id.engineer_mode_test);
+ ageingmodetest = (LinearLayout) findViewById(R.id.ageing_mode);
+ mapcopytools = (LinearLayout) findViewById(R.id.map_copy_tools);
+ Factory_test_title = (TextView) findViewById(R.id.Factory_test_title);
+ download_mode = (LinearLayout) findViewById(R.id.download_mode);
+ dial = (LinearLayout)findViewById(R.id.dail);
+ download_mode.setVisibility(View.GONE);
+ flagPosition = (LinearLayout)findViewById(R.id.flagposiontion);
+ if (!FTUtils.isSugar()) {
+ flagPosition.setVisibility(View.GONE);
+ }
+
+ pcbatest.setOnClickListener(this);
+ moblietest.setOnClickListener(this);
+ engineermodetest.setOnClickListener(this);
+ ageingmodetest.setOnClickListener(this);
+ mapcopytools.setOnClickListener(this);
+ Factory_test_title.setOnClickListener(this);
+ download_mode.setOnClickListener(this);
+ dial.setOnClickListener(this);
+ flagPosition.setOnClickListener(this);
+
+// Log.d(TAG, "onCreate");
+ Settings.System.putInt(getContentResolver(), "mobile.miki.FactoryModeRunning", 1);
+ }
+
+ @Override
+ protected void onResume() {
+ // TODO Auto-generated method stub
+ super.onResume();
+ }
+
+ @Override
+ protected void onDestroy() {
+ // TODO Auto-generated method stub
+ Settings.System.putInt(getContentResolver(), "mobile.miki.FactoryModeRunning", 0);
+// Log.d(TAG, "onDestroy");
+ super.onDestroy();
+ }
+
+ @Override
+ protected void onPause() {
+ // TODO Auto-generated method stub
+ super.onPause();
+ }
+
+ @Override
+ public void onClick(View view) {
+ // TODO Auto-generated method stub
+ Intent intent;
+ switch (view.getId()) {
+ case R.id.pcba_test:
+ intent = new Intent(TestMainList.this, VersionActivity.class);
+ intent.putExtra("running", true);
+ intent.putExtra("pcbatest", true);
+ startActivityForResult(intent, 0);
+ break;
+ case R.id.moblie_test:
+ intent = new Intent(TestMainList.this, VersionActivity.class);
+ intent.putExtra("running", true);
+ intent.putExtra("pcbatest", false);
+ startActivityForResult(intent, 0);
+ break;
+ case R.id.engineer_mode_test:
+ intent = new Intent(TestMainList.this, TestMainActivity.class);
+ intent.putExtra("home", false);
+ startActivity(intent);
+ break;
+ case R.id.ageing_mode:
+ intent = new Intent(TestMainList.this, AgeingModeActivity.class);
+ startActivity(intent);
+ break;
+ case R.id.map_copy_tools:
+
+ Intent i = new Intent();
+ i.setComponent(new ComponentName("com.android.settings", "com.android.settings.Settings$PrivacySettingsActivity"));
+ if (FTUtils.isSugar()) {
+ i.setComponent(new ComponentName("com.eqc.settings", "com.eqc.settings.ResetActivity"));
+ }
+ startActivity(i);
+
+ break;
+
+ case R.id.Factory_test_title:
+ long secondTime = System.currentTimeMillis();
+ // 判断每次点击的事件间隔是否符合连击的有效范围
+ // 不符合时,有可能是连击的开始,否则就仅仅是单击
+ if (secondTime - firstTime <= interval) {
+
+ ++count1;
+ } else {
+
+ count1 = 1;
+ }
+ // 延迟,用于判断用户的点击操作是否结束
+ delay();
+ firstTime = secondTime;
+ break;
+
+ case R.id.download_mode:
+ intent = new Intent(TestMainList.this, DownLoad.class);
+ startActivity(intent);
+ break;
+ case R.id.dail:
+ intent = new Intent();
+ intent.setComponent(new ComponentName("com.android.dialer", "com.android.dialer.DialtactsActivity"));
+ startActivity(intent);
+ break;
+ case R.id.flagposiontion:
+ intent = new Intent(TestMainList.this, FlagPositionActivity.class);
+ startActivity(intent);
+ break;
+
+ default:
+ break;
+ }
+ }
+
+ private int count1 = 0;
+ private long firstTime = 0;
+ private Timer delayTimer;
+ private TimerTask task;
+ private long interval = 500;
+ private static final String ALLOW_INSTALL_ACTION = "intent.action.xls.allow.install";
+
+ // 延迟时间是连击的时间间隔有效范围
+ private void delay() {
+ if (task != null) {
+ task.cancel();
+ }
+
+ task = new TimerTask() {
+ @Override
+ public void run() {
+
+ Message message = new Message();
+ message.what = 0;
+ mHandler.sendMessage(message);
+
+ }
+ };
+ delayTimer = new Timer();
+ delayTimer.schedule(task, interval);
+ }
+
+ private Handler mHandler = new Handler() {
+ public void handleMessage(android.os.Message msg) {
+
+ switch (msg.what) {
+ case 0:// 点击事件结束后的事件处理
+ if (count1 >= 8) {
+
+ delayTimer.cancel();
+ count1 = 0;
+ Intent intent = new Intent(TestMainList.this, ModeSelectActivity.class);
+ intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+ startActivity(intent);
+// Intent intent=new Intent();
+// intent.setAction(ALLOW_INSTALL_ACTION);
+// sendBroadcast(intent);
+// sendBroadcast(intent);
+// Toast.makeText(TestMainList.this, "已经解除安装限制!", Toast.LENGTH_SHORT).show();
+// chooseDialog();
+ }
+ super.handleMessage(msg);
+ }
+ };
+ };
+
+ @Override
+ public void onBackPressed() {
+ MyApplication.getInstance().exit();
+
+ finish();
+ android.os.Process.killProcess(android.os.Process.myPid());
+ System.exit(0);
+ }
+
+
+ private void chooseDialog() {
+ int closeCarRecord = 0;
+ try {
+ closeCarRecord = Settings.System.getInt(getContentResolver(), "closeCarRecord");
+ } catch (SettingNotFoundException e) {
+ e.printStackTrace();
+ }
+ final HashMap<Integer,Boolean> sboolean = new HashMap<Integer,Boolean>();
+ if(closeCarRecord == 0) {
+ sboolean.put(0, false);
+ } else if (closeCarRecord == 1){
+ sboolean.put(0, true);
+ }
+ sboolean.put(1, false);
+ final ArrayList<String> list = new ArrayList<String>();
+ final String[] items = { "关闭行车记录仪","解除安装限制"};
+ boolean[] selected = new boolean[items.length];
+ for (int i = 0; i < selected.length; i++) {
+ selected[i] = sboolean.get(i);
+ //selected[i] = false;
+ }
+ AlertDialog.Builder builder = new AlertDialog.Builder(TestMainList.this);
+ builder.setIcon(R.drawable.ic_launcher);
+ builder.setTitle("请选择");
+ builder.setMultiChoiceItems(items, selected,
+ new DialogInterface.OnMultiChoiceClickListener() {
+
+ @Override
+ public void onClick(DialogInterface dialog, int which,
+ boolean isChecked) {
+ // TODO Auto-generated method stub
+ if (isChecked) {
+ list.add(items[which]);
+ } else {
+ list.remove(items[which]);
+ }
+ sboolean.put(which, isChecked);
+
+ }
+ });
+ builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ if(list.size() == 0) {
+ Settings.System.putInt(getContentResolver(),
+ "closeCarRecord", 0);
+ } else if(list.size() > 0) {
+ if(list.size() == 1) {
+ if(list.get(0).equals(items[0])) {
+ closeRecord();
+ }else {
+ openRecord();
+ allowInstall();
+ }
+ } else if(list.size() == 2) {
+ closeRecord();
+ allowInstall();
+ }
+ }
+
+ }
+ });
+ builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
+
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+
+ }
+ });
+ builder.create().show();
+ }
+
+ /**
+ * 关闭行车记录仪
+ */
+ private void closeRecord() {
+ Settings.System.putInt(getContentResolver(),
+ "closeCarRecord", 1);
+ }
+
+ /**
+ * 打开行车记录仪
+ */
+ private void openRecord() {
+ Settings.System.putInt(getContentResolver(),
+ "closeCarRecord", 0);
+ }
+
+ /**
+ * 解决安全限制
+ */
+ private void allowInstall() {
+ Intent intent=new Intent();
+ intent.setAction(ALLOW_INSTALL_ACTION);
+ sendBroadcast(intent);
+ sendBroadcast(intent);
+ Toast.makeText(TestMainList.this, "已经解除安装限制!", Toast.LENGTH_SHORT).show();
+ }
+
+}
--- /dev/null
+package mobile.miki.touchscreen;\r
+\r
+import android.app.Activity;\r
+import android.content.Context;\r
+import android.graphics.Canvas;\r
+import android.graphics.Color;\r
+import android.graphics.Paint;\r
+import android.graphics.Path;\r
+import android.os.Bundle;\r
+import android.util.Log;\r
+import android.view.MotionEvent;\r
+import android.view.SurfaceHolder;\r
+import android.view.SurfaceHolder.Callback;\r
+import android.view.SurfaceView;\r
+\r
+public class SurfaceViewAcitvity extends Activity {\r
+\r
+ MyView mAnimView = null;\r
+\r
+ private Thread blinker;\r
+ @Override\r
+ public void onCreate(Bundle savedInstanceState) {\r
+ super.onCreate(savedInstanceState);\r
+ mAnimView = new MyView(this);\r
+ setContentView(mAnimView);\r
+ }\r
+ \r
+\r
+ public class MyView extends SurfaceView implements Callback, Runnable {\r
+\r
+ public static final int TIME_IN_FRAME = 50;\r
+\r
+ Paint mPaint12 = null;\r
+ Paint mPaint34 = null;\r
+ Paint mTextPaint = null;\r
+ Paint mLinePaint = null;\r
+ SurfaceHolder mSurfaceHolder = null;\r
+\r
+ boolean mRunning = false;\r
+\r
+ Canvas mCanvas = null;\r
+\r
+ boolean mIsRunning = false;\r
+\r
+ private Path mPath;\r
+\r
+ private float mposX, mposY;\r
+\r
+ private float circleR = 60;\r
+ private float circleX1 = 90, circleY1 = 90;\r
+ private float circleX2 = 390, circleY2 = 770;\r
+ private float circleX3 = 390, circleY3 = 90;\r
+ private float circleX4 = 90, circleY4 = 770;\r
+\r
+ private int flag1 = 0;\r
+ private int flag2 = 0;\r
+ private int flag3 = 0;\r
+ private int flag4 = 0;\r
+\r
+ private boolean isFirstStepOver = false;\r
+ private boolean isSecondStepOver = false;\r
+\r
+ public MyView(Context context) {\r
+ super(context);\r
+ this.setFocusable(true);\r
+ this.setFocusableInTouchMode(true);\r
+ mSurfaceHolder = this.getHolder();\r
+ mSurfaceHolder.addCallback(this);\r
+ \r
+ init();\r
+ }\r
+ \r
+ private void init(){\r
+ mCanvas = new Canvas();\r
+\r
+ mPaint12 = new Paint();\r
+ mPaint12.setColor(Color.BLUE);\r
+ mPaint12.setAntiAlias(true);\r
+ mPaint12.setStyle(Paint.Style.FILL_AND_STROKE);\r
+ //mPaint.setStyle(Paint.Style.STROKE);\r
+ mPaint12.setStrokeCap(Paint.Cap.ROUND);\r
+ mPaint12.setStrokeWidth(1);\r
+ \r
+ mPaint34 = new Paint();\r
+ mPaint34.setColor(Color.GRAY);\r
+ mPaint34.setAntiAlias(true);\r
+ mPaint34.setStyle(Paint.Style.FILL_AND_STROKE);\r
+ //mPaint.setStyle(Paint.Style.STROKE);\r
+ mPaint34.setStrokeCap(Paint.Cap.ROUND);\r
+ mPaint34.setStrokeWidth(1);\r
+ \r
+ mPath = new Path();\r
+ mTextPaint = new Paint();\r
+ mTextPaint.setColor(Color.RED);\r
+ mTextPaint.setTextSize(15);\r
+\r
+ mLinePaint = new Paint();\r
+ mLinePaint.setColor(Color.RED);\r
+ mLinePaint.setStyle(Paint.Style.STROKE);\r
+ mLinePaint.setStrokeWidth(5);\r
+ \r
+ }\r
+\r
+ @Override\r
+ public boolean onTouchEvent(MotionEvent event) {\r
+ Log.i("wxm", "---wxm---onTouchEvent---flag=" + flag1 + ", flag2="\r
+ + flag2);\r
+ int action = event.getAction();\r
+ float x = event.getX();\r
+ float y = event.getY();\r
+\r
+ switch (action) {\r
+ case MotionEvent.ACTION_DOWN:\r
+ Log.i("wxm", "---wxm---ACTION_DOWN---");\r
+ if (!isFirstStepOver) {\r
+ if (isInCircle1(x, y)) {\r
+ flag1 = 1;\r
+ } else if (isInCircle2(x, y)) {\r
+ flag2 = 1;\r
+ } else {\r
+ return true;\r
+ }\r
+ } else if (!isSecondStepOver) {\r
+ if (isInCircle3(x, y)) {\r
+ flag3 = 1;\r
+ } else if (isInCircle4(x, y)) {\r
+ flag4 = 1;\r
+ } else {\r
+ return true;\r
+ }\r
+ }\r
+\r
+ mPath.moveTo(x, y);\r
+ break;\r
+ case MotionEvent.ACTION_MOVE:\r
+ Log.i("wxm", "---wxm---ACTION_MOVE---");\r
+ Log.i("wxm", "---wxm---mposX=" + mposX + ", mposY=" + mposY\r
+ + ", x=" + x + ", y=" + y);\r
+ if (!isFirstStepOver) {\r
+ if (flag1 == 0 && flag2 == 0) {\r
+ return true;\r
+ }\r
+ if (isOutTheArea12(x, -y)) {\r
+ Log.i("wxm", "---wxm---***---");\r
+ mPath.reset();\r
+ flag1 = 0;\r
+ flag2 = 0;\r
+ break;\r
+ }\r
+ } else if (!isSecondStepOver) {\r
+ if (flag3 == 0 && flag4 == 0) {\r
+ return true;\r
+ }\r
+ if (isOutTheArea34(x, -y)) {\r
+ Log.i("wxm", "---wxm---***---");\r
+ mPath.reset();\r
+ flag3 = 0;\r
+ flag4 = 0;\r
+ break;\r
+ }\r
+ }\r
+\r
+ mPath.quadTo(mposX, mposY, x, y);\r
+ break;\r
+ case MotionEvent.ACTION_UP:\r
+ Log.i("wxm", "---wxm---ACTION_UP---");\r
+ // if (isInCircle2(x, y) && flag1 == 1) {\r
+ // Log.i("wxm", "---wxm---Circle1-->>Circle2---success---");\r
+ // } else if (isInCircle1(x, y) && flag2 == 1) {\r
+ // Log.i("wxm", "---wxm---Circle2-->>Circle1---success---");\r
+ // }\r
+ if ((isInCircle2(x, y) && flag1 == 1)\r
+ || (isInCircle1(x, y) && flag2 == 1)) {\r
+ Log.i("wxm", "---wxm---success---");\r
+ isFirstStepOver = true;\r
+ mPaint34.setColor(Color.BLUE);\r
+ }\r
+ if ((isInCircle3(x, y) && flag4 == 1)\r
+ || (isInCircle4(x, y) && flag3 == 1)) {\r
+ Log.i("wxm", "---wxm---success---");\r
+ isSecondStepOver = true;\r
+ SurfaceViewAcitvity.this.finish();\r
+ }\r
+\r
+ mPath.reset();\r
+ flag1 = 0;\r
+ flag2 = 0;\r
+ flag3 = 0;\r
+ flag4 = 0;\r
+ break;\r
+ }\r
+ mposX = x;\r
+ mposY = y;\r
+ return true;\r
+ }\r
+\r
+ private void Draw() {\r
+ mCanvas.drawColor(Color.WHITE);\r
+ //mCanvas.drawPath(mPath, mLinePaint);\r
+\r
+ mCanvas.drawText("(" + (int) mposX + "," + (int) mposY + ")", 220,\r
+ 50, mTextPaint);\r
+ if (!isFirstStepOver) {\r
+ mCanvas.drawCircle(circleX1, circleY1, circleR, mPaint12);\r
+ mCanvas.drawCircle(circleX2, circleY2, circleR, mPaint12);\r
+ mCanvas.drawLine(0, 38, 360, 854, mPaint12);\r
+ mCanvas.drawLine(115, 0, 480, 825, mPaint12);\r
+ }\r
+ if (!isSecondStepOver) {\r
+ mCanvas.drawCircle(circleX3, circleY3, circleR, mPaint34);\r
+ mCanvas.drawCircle(circleX4, circleY4, circleR, mPaint34);\r
+ mCanvas.drawLine(480, 38, 120, 854, mPaint34);\r
+ mCanvas.drawLine(365, 0, 0, 825, mPaint34);\r
+ }\r
+ \r
+ mCanvas.drawPath(mPath, mLinePaint);\r
+ \r
+ if (isSecondStepOver) {\r
+ mCanvas.drawText("---successfull---", 200, 420, mTextPaint);\r
+ }\r
+\r
+ }\r
+\r
+\r
+ public boolean isInCircle1(float x, float y) {\r
+ if (isFirstStepOver) {\r
+ return false;\r
+ }\r
+ float disX1 = (x - circleX1) * (x - circleX1);\r
+ float disY1 = (y - circleY1) * (y - circleY1);\r
+ float disXY1 = (float) Math.sqrt(disX1 + disY1);\r
+ return disXY1 < circleR ? true : false;\r
+ }\r
+\r
+ public boolean isInCircle2(float x, float y) {\r
+ if (isFirstStepOver) {\r
+ return false;\r
+ }\r
+ float disX2 = (x - circleX2) * (x - circleX2);\r
+ float disY2 = (y - circleY2) * (y - circleY2);\r
+ float disXY2 = (float) Math.sqrt(disX2 + disY2);\r
+ return disXY2 < circleR ? true : false;\r
+ }\r
+\r
+ public boolean isOutTheArea12(float x1, float y1) {\r
+ float s = (float) Math.sqrt(34 * 34 + 15 * 15);\r
+ float d = (float) Math.abs(34 * x1 + 15 * y1 - 1710);\r
+\r
+ float dis = d / s;\r
+ return dis > circleR ? true : false;\r
+ }\r
+\r
+\r
+ public boolean isInCircle3(float x, float y) {\r
+ if (isSecondStepOver) {\r
+ return false;\r
+ }\r
+ float disX3 = (x - circleX3) * (x - circleX3);\r
+ float disY3 = (y - circleY3) * (y - circleY3);\r
+ float disXY3 = (float) Math.sqrt(disX3 + disY3);\r
+ return disXY3 < circleR ? true : false;\r
+ }\r
+\r
+ public boolean isInCircle4(float x, float y) {\r
+ if (isSecondStepOver) {\r
+ return false;\r
+ }\r
+ float disX4 = (x - circleX4) * (x - circleX4);\r
+ float disY4 = (y - circleY4) * (y - circleY4);\r
+ float disXY4 = (float) Math.sqrt(disX4 + disY4);\r
+ return disXY4 < circleR ? true : false;\r
+ }\r
+\r
+ public boolean isOutTheArea34(float x2, float y2) {\r
+ float s = (float) Math.sqrt(34 * 34 + (-15) * (-15));\r
+ float d = (float) Math.abs(34 * x2 - 15 * y2 - 14610);\r
+\r
+ float dis = d / s;\r
+ return dis > circleR ? true : false;\r
+ }\r
+\r
+ @Override\r
+ public void surfaceChanged(SurfaceHolder holder, int format, int width,\r
+ int height) {\r
+\r
+ }\r
+\r
+ @Override\r
+ public void surfaceCreated(SurfaceHolder holder) {\r
+ mIsRunning = true;\r
+ blinker = new Thread(this);\r
+ blinker.start();\r
+ }\r
+\r
+ @SuppressWarnings("deprecation")\r
+ @Override\r
+ public void surfaceDestroyed(SurfaceHolder holder) {\r
+ Log.i("wxm", "---wxm---surfaceDestroyed---");\r
+ mIsRunning = false;\r
+ blinker = null;\r
+ }\r
+\r
+ @Override\r
+ public void run() {\r
+ Log.i("wxm", "---wxm---run()---");\r
+ Thread thisThread = Thread.currentThread();\r
+ while (blinker == thisThread) {\r
+ Log.i("wxm", "---wxm---mIsRunning=" + mIsRunning);\r
+ long startTime = System.currentTimeMillis();\r
+\r
+ synchronized (mSurfaceHolder) {\r
+ mCanvas = mSurfaceHolder.lockCanvas();\r
+ Draw();\r
+ mSurfaceHolder.unlockCanvasAndPost(mCanvas);\r
+ }\r
+\r
+ long endTime = System.currentTimeMillis();\r
+\r
+ int diffTime = (int) (endTime - startTime);\r
+\r
+ while (diffTime <= TIME_IN_FRAME) {\r
+ diffTime = (int) (System.currentTimeMillis() - startTime);\r
+ Thread.yield();\r
+ }\r
+\r
+ }\r
+\r
+ }\r
+ }\r
+}
\ No newline at end of file
--- /dev/null
+/**\r
+ * Generated by smali2java 1.0.0.558\r
+ * Copyright (C) 2013 Hensence.com\r
+ */\r
+\r
+package mobile.miki.touchscreen;\r
+\r
+import android.content.Intent;\r
+import android.os.Bundle;\r
+import android.view.View;\r
+import android.widget.LinearLayout;\r
+\r
+import mobile.miki.BaseActivity;\r
+import mobile.miki.TouchTest;\r
+\r
+public class TouchScreen_Activity extends BaseActivity {\r
+ private LinearLayout container;\r
+ \r
+ protected void onCreate(Bundle savedInstanceState) {\r
+ super.onCreate(savedInstanceState);\r
+ setContentView(0x7f03002c);\r
+ //testScreenTouch(null);\r
+ testScreenTouch1(null);\r
+ }\r
+ \r
+ public void testScreenTouch(View view) {\r
+ Intent intent = new Intent(this, SurfaceViewAcitvity.class);\r
+ startActivity(intent);\r
+ }\r
+ public void testScreenTouch1(View view) {\r
+ //发送广播给systemUI全屏显示\r
+ Intent systemuiIntent = new Intent();\r
+ systemuiIntent.setAction("mobile.miki.touchscreen.TouchScreen_Activity");\r
+ systemuiIntent.putExtra("close", true);\r
+ sendBroadcast(systemuiIntent);\r
+ //end\r
+ Intent touch = new Intent(this,TouchTest.class);\r
+// ComponentName component = new ComponentName("com.mediatek.engineermode",\r
+// "com.mediatek.engineermode.touchscreen.TsMultiTouch");\r
+//\r
+// touch.setComponent(component);\r
+ \r
+\r
+ this.startActivity(touch);\r
+\r
+ }\r
+}\r
--- /dev/null
+/**\r
+ * Generated by smali2java 1.0.0.558\r
+ * Copyright (C) 2013 Hensence.com\r
+ */\r
+\r
+package mobile.miki.touchscreen;\r
+\r
+import android.app.Activity;\r
+import android.content.Context;\r
+import android.content.SharedPreferences;\r
+import android.graphics.Canvas;\r
+import android.graphics.Paint;\r
+import android.os.Bundle;\r
+import android.util.DisplayMetrics;\r
+import android.util.Log;\r
+import android.view.Menu;\r
+import android.view.MenuItem;\r
+import android.view.MotionEvent;\r
+import android.view.VelocityTracker;\r
+import android.view.View;\r
+import android.widget.Toast;\r
+\r
+import java.io.IOException;\r
+import java.util.ArrayList;\r
+import java.util.Iterator;\r
+\r
+public class TouchScreen_HandWriting extends Activity {\r
+ public static final int ClearCanvas_ID = 1;\r
+ private String TAG;\r
+ private int mZoom;\r
+ TouchScreen_HandWriting.MyView v;\r
+\r
+ \r
+ public TouchScreen_HandWriting() {\r
+ v = null;\r
+ mZoom = 1;\r
+ TAG = "EM-TouchScreen";\r
+ }\r
+ \r
+ protected void onCreate(Bundle savedInstanceState) {\r
+ super.onCreate(savedInstanceState);\r
+ Log.i("MTH", "onCreate start");\r
+ getWindow().setFlags(1024, 1024);\r
+ requestWindowFeature(0x1);\r
+ setContentView(new TouchScreen_HandWriting.MyView(this));\r
+ Log.i("MTH", "onCreate success");\r
+ }\r
+ \r
+ public void onResume() {\r
+ super.onResume();\r
+ Log.i("MTH", "onResume");\r
+ SharedPreferences preferences = getSharedPreferences("touch_screen_settings", 0x0);\r
+ String file = preferences.getString("filename", "N");\r
+ if(!file.equals("N")) {\r
+ String[] cmd = {"/system/bin/sh",\r
+ "-c",\r
+ "echo [ENTER_HAND_WRITING] >> " + file};\r
+ try {\r
+ int ret = TouchScreen_ShellExe.execCommand(cmd);\r
+ if(ret == 0) {\r
+ Toast.makeText(this, "Start logging...", 0x1).show();\r
+ return;\r
+ }\r
+ Toast.makeText(this, "Logging failed!", 0x1).show();\r
+ return;\r
+ } catch(IOException e) {\r
+ Log.e("MTH", e.toString());\r
+ }\r
+ }\r
+ }\r
+ \r
+ public void onPause() {\r
+ Log.i("MTH", "onPause");\r
+ SharedPreferences preferences = getSharedPreferences("touch_screen_settings", 0x0);\r
+ String file = preferences.getString("filename", "N");\r
+ if(!file.equals("N")) {\r
+ String[] cmd = {"/system/bin/sh",\r
+ "-c",\r
+ "echo [LEAVE_HAND_WRITING] >> " + file};\r
+ try {\r
+ int ret = TouchScreen_ShellExe.execCommand(cmd);\r
+ if(ret == 0) {\r
+ Toast.makeText(this, "Stop logging...", 0x1).show();\r
+ } else {\r
+ Toast.makeText(this, "Logging failed!", 0x1).show();\r
+ }\r
+ } catch(IOException e) {\r
+ Log.e("MTH", e.toString());\r
+ }\r
+ }\r
+ super.onPause();\r
+ }\r
+ @Override\r
+ public boolean onCreateOptionsMenu(Menu menu) {\r
+ super.onCreateOptionsMenu(menu);\r
+ Log.e("huguifeng","huguifeng ");\r
+ menu.add(0, 1, 0, "Clean Table.");\r
+ return true;\r
+ }\r
+ @Override\r
+ public boolean onOptionsItemSelected(MenuItem mi) {\r
+ switch(mi.getItemId()) {\r
+ case 1:\r
+ {\r
+ v.Clear();\r
+ break;\r
+ }\r
+ }\r
+ return super.onOptionsItemSelected(mi);\r
+ }\r
+ \r
+ \r
+ \r
+ public class MyView extends View\r
+ {\r
+ ArrayList<TouchScreen_HandWriting.PT> curLine;\r
+ private boolean mCurDown;\r
+ private float mCurPressure;\r
+ private int mCurWidth;\r
+ private int mCurX;\r
+ private int mCurY;\r
+ private int mHeaderBottom;\r
+ public ArrayList<ArrayList<TouchScreen_HandWriting.PT>> mLines = new ArrayList();\r
+ private final Paint mPaint;\r
+ private final Paint mTargetPaint;\r
+ private final Paint mTextBackgroundPaint;\r
+ private final Paint mTextLevelPaint;\r
+ private final Paint.FontMetricsInt mTextMetrics = new Paint.FontMetricsInt();\r
+ private final Paint mTextPaint;\r
+ private VelocityTracker mVelocity;\r
+ public ArrayList<VelocityTracker> mVelocityList = new ArrayList();\r
+\r
+ public MyView(Context arg2) {\r
+ super(arg2);\r
+ new DisplayMetrics();\r
+ DisplayMetrics localDisplayMetrics = TouchScreen_HandWriting.this.getApplicationContext().getResources().getDisplayMetrics();\r
+ int i = localDisplayMetrics.widthPixels;\r
+ int j = localDisplayMetrics.heightPixels;\r
+ if (((480 == i) && (800 == j)) || ((800 == i) && (480 == j)))\r
+ TouchScreen_HandWriting.this.mZoom = 2;\r
+ this.mTextPaint = new Paint();\r
+ this.mTextPaint.setAntiAlias(true);\r
+ this.mTextPaint.setTextSize(10 * TouchScreen_HandWriting.this.mZoom);\r
+ this.mTextPaint.setARGB(255, 0, 0, 0);\r
+ this.mTextBackgroundPaint = new Paint();\r
+ this.mTextBackgroundPaint.setAntiAlias(false);\r
+ this.mTextBackgroundPaint.setARGB(128, 255, 255, 255);\r
+ this.mTextLevelPaint = new Paint();\r
+ this.mTextLevelPaint.setAntiAlias(false);\r
+ this.mTextLevelPaint.setARGB(192, 255, 0, 0);\r
+ this.mPaint = new Paint();\r
+ this.mPaint.setAntiAlias(true);\r
+ this.mPaint.setARGB(255, 255, 255, 255);\r
+ this.mPaint.setStyle(Paint.Style.STROKE);\r
+ this.mPaint.setStrokeWidth(2.0F);\r
+ this.mTargetPaint = new Paint();\r
+ this.mTargetPaint.setAntiAlias(false);\r
+ this.mTargetPaint.setARGB(192, 0, 255, 0);\r
+ this.mPaint.setStyle(Paint.Style.STROKE);\r
+ this.mPaint.setStrokeWidth(1.0F);\r
+ }\r
+\r
+ public void Clear()\r
+ {\r
+ Iterator localIterator = this.mLines.iterator();\r
+ while (localIterator.hasNext())\r
+ ((ArrayList)localIterator.next()).clear();\r
+ this.mLines.clear();\r
+ this.mVelocityList.clear();\r
+ invalidate();\r
+ }\r
+\r
+ protected void onDraw(Canvas canvas)\r
+ {\r
+ int i = getWidth() / 5;\r
+ int j = 1 -this.mTextMetrics.ascent;\r
+ int k = this.mHeaderBottom;\r
+ canvas.drawRect(0.0F, 0.0F, i - 1, k, this.mTextBackgroundPaint);\r
+ canvas.drawText("X: " + this.mCurX, 1.0F, j, this.mTextPaint);\r
+ canvas.drawRect(i, 0.0F, -1 + i * 2, k, this.mTextBackgroundPaint);\r
+ canvas.drawText("Y: " + this.mCurY, i + 1, j, this.mTextPaint);\r
+ canvas.drawRect(i * 2, 0.0F, -1 + i * 3, k, this.mTextBackgroundPaint);\r
+ canvas.drawRect(i * 2, 0.0F, i * 2 + this.mCurPressure * i - 1.0F, k, this.mTextLevelPaint);\r
+ canvas.drawText("Pres: " + this.mCurPressure, 1 + i * 2, j, this.mTextPaint);\r
+ canvas.drawRect(i * 3, 0.0F, -1 + i * 4, k, this.mTextBackgroundPaint);\r
+ canvas.drawRect(i * 4, 0.0F, getWidth(), k, this.mTextBackgroundPaint);\r
+ int m = 0;\r
+ \r
+ int n = 0; \r
+ \r
+ int i2;\r
+ float f1;\r
+ float f2;\r
+ if (this.mVelocity == null){\r
+ m = 0;\r
+ n = 0;\r
+ }else if (this.mVelocity != null){\r
+ m = (int)(1000.0F * Math.abs(this.mVelocity.getXVelocity()));\r
+ n = (int)(1000.0F * Math.abs(this.mVelocity.getYVelocity())); \r
+ } \r
+ canvas.drawText("XVel: " + m, 1 + i * 3, j, this.mTextPaint);\r
+ canvas.drawText("YVel: " + n, 1 + i * 4, j, this.mTextPaint);\r
+ \r
+ for(int x= 0; x < this.mLines.size(); x ++){\r
+ ArrayList localArrayList = (ArrayList)this.mLines.get(x);\r
+ f1 = 0.0F;\r
+ f2 = 0.0F;\r
+ this.mPaint.setARGB(255, 0, 255, 255);\r
+ for(int y= 0; y < localArrayList.size(); y++){\r
+ \r
+ TouchScreen_HandWriting.PT localPT = (TouchScreen_HandWriting.PT)localArrayList.get(y);\r
+ if(y > 0){\r
+ canvas.drawLine(f1, f2, localPT.x.floatValue(), localPT.y.floatValue(), this.mTargetPaint);\r
+ canvas.drawPoint(f1, f2, this.mPaint);\r
+ }\r
+ f1 = localPT.x.floatValue();\r
+ f2 = localPT.y.floatValue();\r
+ }\r
+ VelocityTracker localVelocityTracker = (VelocityTracker)this.mVelocityList.get(x);\r
+ if (localVelocityTracker != null)\r
+ {\r
+ this.mPaint.setARGB(255, 255, 0, 0);\r
+ float f3 = 16.0F * localVelocityTracker.getXVelocity();\r
+ float f4 = 16.0F * localVelocityTracker.getYVelocity();\r
+ canvas.drawLine(f1, f2, f1 + f3, f2 + f4, this.mPaint);\r
+ }\r
+\r
+ //break;\r
+ canvas.drawPoint(f1, f2, this.mPaint);\r
+ }\r
+ \r
+ if (this.mCurDown)\r
+ {\r
+ canvas.drawLine(0.0F, this.mCurY, getWidth(), this.mCurY, this.mTargetPaint);\r
+ canvas.drawLine(this.mCurX, 0.0F, this.mCurX, getHeight(), this.mTargetPaint);\r
+ int i5 = (int)(255.0F * this.mCurPressure);\r
+ this.mPaint.setARGB(255, i5, 128, 255 - i5);\r
+ canvas.drawPoint(this.mCurX, this.mCurY, this.mPaint);\r
+ canvas.drawCircle(this.mCurX, this.mCurY, this.mCurWidth, this.mPaint);\r
+ }\r
+ \r
+ \r
+ // label533: \r
+ }\r
+\r
+ protected void onMeasure(int paramInt1, int paramInt2)\r
+ {\r
+ super.onMeasure(paramInt1, paramInt2);\r
+ this.mTextPaint.getFontMetricsInt(this.mTextMetrics);\r
+ this.mHeaderBottom = (2 + (-this.mTextMetrics.ascent + this.mTextMetrics.descent));\r
+ Log.i(TouchScreen_HandWriting.this.TAG, "Metrics: ascent=" + this.mTextMetrics.ascent + " descent=" + this.mTextMetrics.descent + " leading=" + this.mTextMetrics.leading + " top=" + this.mTextMetrics.top + " bottom=" + this.mTextMetrics.bottom);\r
+ }\r
+\r
+ public boolean onTouchEvent(MotionEvent paramMotionEvent) {\r
+ int i = paramMotionEvent.getAction();\r
+ if (i == MotionEvent.ACTION_DOWN) {\r
+ this.mVelocity = VelocityTracker.obtain();\r
+ this.mVelocityList.add(this.mVelocity);\r
+ this.curLine = new ArrayList();\r
+ this.mLines.add(this.curLine);\r
+ } else if(i == MotionEvent.ACTION_MOVE){\r
+ this.mVelocity.addMovement(paramMotionEvent);\r
+ this.mVelocity.computeCurrentVelocity(1);\r
+ for (int k = 0; k < paramMotionEvent.getHistorySize(); k++)\r
+ this.curLine.add(new TouchScreen_HandWriting.PT(Float.valueOf(paramMotionEvent.getHistoricalX(k)), Float.valueOf(paramMotionEvent.getHistoricalY(k))));\r
+ this.curLine.add(new TouchScreen_HandWriting.PT( Float.valueOf(paramMotionEvent.getX()), Float.valueOf(paramMotionEvent.getY())));\r
+ }\r
+ \r
+ if ((i == MotionEvent.ACTION_DOWN) || (i == MotionEvent.ACTION_MOVE)){\r
+ this.mCurDown = true;\r
+ this.mCurX = (int)paramMotionEvent.getX();\r
+ this.mCurY = (int)paramMotionEvent.getY();\r
+ this.mCurPressure = paramMotionEvent.getPressure();\r
+ this.mCurWidth = (int)(paramMotionEvent.getSize() * getWidth() / 3);\r
+ invalidate();\r
+ } else {\r
+ this.mCurDown = false;\r
+ }\r
+ return true;\r
+ }\r
+ }\r
+ \r
+ \r
+ public class PT\r
+ {\r
+ public Float x;\r
+ public Float y;\r
+\r
+ public PT(Float paramFloat1, Float arg3)\r
+ {\r
+ this.x = paramFloat1;\r
+ this.y = arg3;\r
+ }\r
+ }\r
+}\r
--- /dev/null
+package mobile.miki.touchscreen;\r
+\r
+import android.util.Log;\r
+\r
+import java.io.BufferedReader;\r
+import java.io.IOException;\r
+import java.io.InputStreamReader;\r
+\r
+public class TouchScreen_ShellExe {\r
+ public static String ERROR = "ERROR";\r
+ private static StringBuilder sb = new StringBuilder("");\r
+ \r
+ public static String getOutput() {\r
+ return sb.toString();\r
+ }\r
+ \r
+ public static int execCommand(String[] command) throws IOException {\r
+ int i = -1;\r
+ Process localProcess = Runtime.getRuntime().exec(command);\r
+ BufferedReader localBufferedReader = new BufferedReader(new InputStreamReader(localProcess.getInputStream()));\r
+ sb.delete(0, sb.length());\r
+ try\r
+ {\r
+ if (localProcess.waitFor() != 0)\r
+ {\r
+ Log.i("MTK", "exit value = " + localProcess.exitValue());\r
+ sb.append(ERROR);\r
+ } else {\r
+ while (true)\r
+ {\r
+ String str = localBufferedReader.readLine();\r
+ if (str == null)\r
+ break;\r
+ sb.append(str);\r
+ }\r
+ }\r
+ } catch (InterruptedException localInterruptedException) {\r
+ Log.i("MTK", "exe fail " + localInterruptedException.toString());\r
+ sb.append(ERROR);\r
+ i = 0;\r
+ }\r
+ return i;\r
+ }\r
+}\r
--- /dev/null
+package mobile.miki.util;\r
+\r
+import android.content.Context;\r
+import android.content.pm.PackageInfo;\r
+import android.content.pm.PackageManager;\r
+import android.os.Build;\r
+import android.os.Environment;\r
+import android.os.Looper;\r
+import android.util.Log;\r
+import android.widget.Toast;\r
+\r
+import java.io.File;\r
+import java.io.FileOutputStream;\r
+import java.io.PrintWriter;\r
+import java.io.StringWriter;\r
+import java.io.Writer;\r
+import java.lang.reflect.Field;\r
+import java.text.DateFormat;\r
+import java.text.SimpleDateFormat;\r
+import java.util.Date;\r
+import java.util.HashMap;\r
+import java.util.Map;\r
+/**\r
+ * Created by Administrator on 2017/5/18.\r
+ */\r
+\r
+public class CrashHandler implements Thread.UncaughtExceptionHandler {\r
+ public static final String TAG = CrashHandler.class.getName();\r
+\r
+ // 系统默认的UncaughtException处理类\r
+ private Thread.UncaughtExceptionHandler mDefaultHandler;\r
+ // CrashHandler实例\r
+ private static CrashHandler INSTANCE = new CrashHandler();\r
+ // 程序的Context对象\r
+ private Context mContext;\r
+ // 用来存储设备信息和异常信息\r
+ private Map<String, String> infos = new HashMap<String, String>();\r
+ // 用于格式化日期,作为日志文件名的一部分\r
+ private DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd-HH-mm-ss");\r
+\r
+ /** 保证只有一个CrashHandler实例 */\r
+ private CrashHandler() {\r
+ }\r
+\r
+ /** 获取CrashHandler实例 ,单例模式 */\r
+ public static CrashHandler getInstance() {\r
+ return INSTANCE;\r
+ }\r
+\r
+ /**\r
+ * 初始化\r
+ *\r
+ * @param context\r
+ */\r
+ public void init(Context context) {\r
+ mContext = context;\r
+ // 获取系统默认的UncaughtException处理器\r
+ mDefaultHandler = Thread.getDefaultUncaughtExceptionHandler();\r
+ // 设置该CrashHandler为程序的默认处理器\r
+ Thread.setDefaultUncaughtExceptionHandler(this);\r
+ }\r
+\r
+ /**\r
+ * 当UncaughtException发生时会转入该函数来处理\r
+ */\r
+ @Override\r
+ public void uncaughtException(Thread thread, Throwable ex) {\r
+ if (!handleException(ex) && mDefaultHandler != null) {\r
+ // 如果用户没有处理则让系统默认的异常处理器来处理\r
+ mDefaultHandler.uncaughtException(thread, ex);\r
+ } else {\r
+ try {\r
+ Thread.sleep(3000);\r
+ } catch (InterruptedException e) {\r
+ Log.e(TAG, "error : "+ e);\r
+ }\r
+ // 退出程序\r
+ android.os.Process.killProcess(android.os.Process.myPid());\r
+ System.exit(1);\r
+ }\r
+ }\r
+\r
+ /**\r
+ * 自定义错误处理,收集错误信息 发送错误报告等操作均在此完成.\r
+ *\r
+ * @param ex\r
+ * @return true:如果处理了该异常信息;否则返回false.\r
+ */\r
+ private boolean handleException(Throwable ex) {\r
+ if (ex == null) {\r
+ return false;\r
+ }\r
+ // 使用Toast来显示异常信息\r
+ new Thread() {\r
+ @Override\r
+ public void run() {\r
+ Looper.prepare();\r
+ Toast.makeText(mContext, "很抱歉,程序出现异常,即将退出", Toast.LENGTH_LONG)\r
+ .show();\r
+ Looper.loop();\r
+ }\r
+ }.start();\r
+ // 收集设备参数信息\r
+ collectDeviceInfo(mContext);\r
+ // 保存日志文件\r
+ saveCrashInfo2File(ex);\r
+ return true;\r
+ }\r
+\r
+ /**\r
+ * 收集设备参数信息\r
+ *\r
+ * @param ctx\r
+ */\r
+ public void collectDeviceInfo(Context ctx) {\r
+ try {\r
+ PackageManager pm = ctx.getPackageManager();\r
+ PackageInfo pi = pm.getPackageInfo(ctx.getPackageName(),PackageManager.GET_ACTIVITIES);\r
+ if (pi != null) {\r
+ String versionName = pi.versionName == null ? null\r
+ : pi.versionName;\r
+ String versionCode = pi.versionCode + "";\r
+ infos.put(versionName, versionName);\r
+ infos.put(versionCode, versionCode);\r
+ }\r
+ } catch (PackageManager.NameNotFoundException e) {\r
+ Log.e(TAG, "an error occured when collect package info "+e);\r
+ }\r
+ Field[] fields = Build.class.getDeclaredFields();\r
+ for (Field field : fields) {\r
+ try {\r
+ field.setAccessible(true);\r
+ infos.put(field.getName(), field.get(null).toString());\r
+ Log.d(TAG, field.getName() + ":" + field.get(null));\r
+ } catch (Exception e) {\r
+ Log.e(TAG, "an error occured when collect crash info,"+ e);\r
+ }\r
+ }\r
+ }\r
+\r
+ /**\r
+ * 保存错误信息到文件中\r
+ *\r
+ * @param ex\r
+ * @return 返回文件名称,便于将文件传送到服务器\r
+ */\r
+ private String saveCrashInfo2File(Throwable ex) {\r
+\r
+ StringBuffer sb = new StringBuffer();\r
+ for (Map.Entry<String, String> entry : infos.entrySet()) {\r
+ String key = entry.getKey();\r
+ String value = entry.getValue();\r
+ sb.append(key + "=" + value );\r
+ }\r
+\r
+ Writer writer = new StringWriter();\r
+ PrintWriter printWriter = new PrintWriter(writer);\r
+ ex.printStackTrace(printWriter);\r
+ Throwable cause = ex.getCause();\r
+ while (cause != null) {\r
+ cause.printStackTrace(printWriter);\r
+ cause = cause.getCause();\r
+ }\r
+ printWriter.close();\r
+ String result = writer.toString();\r
+ sb.append(result);\r
+ try {\r
+ long timestamp = System.currentTimeMillis();\r
+ String time = formatter.format(new Date());\r
+ String fileName = "crash-" + time + "-" + timestamp + ".log";\r
+ if (Environment.getExternalStorageState().equals(\r
+ Environment.MEDIA_MOUNTED)) {\r
+ String path = "/sdcard/crash/";\r
+ File dir = new File(path);\r
+ if (!dir.exists()) {\r
+ dir.mkdirs();\r
+ }\r
+ FileOutputStream fos = new FileOutputStream(path + fileName);\r
+ fos.write(sb.toString().getBytes());\r
+ fos.close();\r
+ }\r
+ return fileName;\r
+ } catch (Exception e) {\r
+ Log.e(TAG, "an error occured while writing file...,"+ e);\r
+ }\r
+ return null;\r
+ }\r
+}\r
--- /dev/null
+package mobile.miki.util;\r
+\r
+import android.bluetooth.BluetoothAdapter;\r
+import android.content.Context;\r
+import android.content.SharedPreferences;\r
+import android.os.Build;\r
+import android.os.SystemProperties;\r
+import android.telephony.TelephonyManager;\r
+import android.util.Log;\r
+\r
+import java.io.FileInputStream;\r
+import java.lang.reflect.Method;\r
+import java.net.NetworkInterface;\r
+import java.net.SocketException;\r
+import java.util.Enumeration;\r
+\r
+public class FTUtils {\r
+ public static String getDISPLAY() {\r
+ return Build.DISPLAY.toUpperCase();\r
+ }\r
+\r
+ public static String getMODEL() {\r
+ return Build.MODEL.toUpperCase();\r
+ }\r
+\r
+ /**\r
+ * 展讯猎豹项目\r
+ * @return\r
+ */\r
+ public static boolean isLieBao() {\r
+ return getMODEL().contains("C02A") || getMODEL().contains("S09") || getMODEL().contains("C02");\r
+ }\r
+\r
+ /**\r
+ * sugar\r
+ * @return\r
+ */\r
+ public static boolean isSugar() {\r
+ return getDISPLAY().contains("W501CS") || getMODEL().contains("SUGAR");\r
+ }\r
+\r
+\r
+ public static void SetPreferences(Context paramContext, int paramInt,\r
+ Long time) {\r
+ SharedPreferences sharedPreferences = paramContext.getSharedPreferences("AgingTest", 0);\r
+ String str = paramContext.getResources().getString(paramInt);\r
+ SharedPreferences.Editor localEditor = sharedPreferences.edit();\r
+ localEditor.putLong(str, time);\r
+ localEditor.commit();\r
+ }\r
+\r
+ public static long GetPreferences(Context paramContext, int paramInt) {\r
+ SharedPreferences sharedPreferences = paramContext.getSharedPreferences("AgingTest", 0);\r
+ String str = paramContext.getResources().getString(paramInt);\r
+ long time = sharedPreferences.getLong(str, 0);\r
+ return time;\r
+ }\r
+\r
+ public static void SetAgeingWorktimePreferences(Context paramContext, int paramInt,\r
+ int time) {\r
+ SharedPreferences sharedPreferences = paramContext.getSharedPreferences("AgingTest_workTime", 0);\r
+ String str = paramContext.getResources().getString(paramInt);\r
+ SharedPreferences.Editor localEditor = sharedPreferences.edit();\r
+ localEditor.putInt(str, time);\r
+ localEditor.commit();\r
+ }\r
+\r
+ public static int GetAgeingWorktimePreferences(Context paramContext, int paramInt) {\r
+ SharedPreferences sharedPreferences = paramContext.getSharedPreferences("AgingTest_workTime", 0);\r
+ String str = paramContext.getResources().getString(paramInt);\r
+ int time = sharedPreferences.getInt(str, 0);\r
+ return time;\r
+ }\r
+\r
+\r
+ /**\r
+ * android 7.0及以上 (2)扫描各个网络接口获取mac地址\r
+ *\r
+ */\r
+ /**\r
+ * 获取设备HardwareAddress地址\r
+ *\r
+ * @return\r
+ */\r
+ public static String getWifiMacAddress() {\r
+ Enumeration<NetworkInterface> interfaces = null;\r
+ try {\r
+ interfaces = NetworkInterface.getNetworkInterfaces();\r
+ } catch (SocketException e) {\r
+ e.printStackTrace();\r
+ }\r
+ String hardWareAddress = null;\r
+ NetworkInterface iF = null;\r
+ if (interfaces == null) {\r
+ return null;\r
+ }\r
+ while (interfaces.hasMoreElements()) {\r
+ iF = interfaces.nextElement();\r
+ try {\r
+ hardWareAddress = bytesToString(iF.getHardwareAddress());\r
+ if (hardWareAddress != null)\r
+ break;\r
+ } catch (SocketException e) {\r
+ e.printStackTrace();\r
+ }\r
+ }\r
+ return hardWareAddress;\r
+ }\r
+\r
+ /***\r
+ * byte转为String\r
+ *\r
+ * @param bytes\r
+ * @return\r
+ */\r
+ private static String bytesToString(byte[] bytes) {\r
+ if (bytes == null || bytes.length == 0) {\r
+ return null;\r
+ }\r
+ StringBuilder buf = new StringBuilder();\r
+ for (byte b : bytes) {\r
+ buf.append(String.format("%02X:", b));\r
+ }\r
+ if (buf.length() > 0) {\r
+ buf.deleteCharAt(buf.length() - 1);\r
+ }\r
+ return buf.toString();\r
+ }\r
+\r
+\r
+\r
+ // 展讯获取cid\r
+ public static String GetCidFromSystem() {\r
+ String cid_file = SystemProperties.get("ro.product.partitionpath", "") + "miscdata";\r
+ byte[] resCid = new byte[16];\r
+ try {\r
+ byte[] buf = new byte[50];\r
+ FileInputStream inputStream = new FileInputStream(cid_file);\r
+ int len = inputStream.read(buf);\r
+ if (len < 50) return null;\r
+ for (int i = 0; i < 16; i++) {\r
+ resCid[i] = buf[i + 28];\r
+ }\r
+ for (int i = 0; i < 16; i++) {\r
+ if ((resCid[i] >= 0x30 && resCid[i] <= 0x39) || (resCid[i] >= 0x61 && resCid[i] <= 0x7A) || (resCid[i] >= 0x41 && resCid[i] <= 0x5A)) {\r
+ // valid\r
+ } else {\r
+ // invalid\r
+ for (int j = 28; j < 28 + 16; j++) {\r
+ resCid[j] = 0x30;\r
+ }\r
+ break;\r
+ }\r
+ }\r
+ } catch (Exception e) {\r
+ e.printStackTrace();\r
+ }\r
+ String cid = new String(resCid);\r
+ Log.d("FTUtils", "get cid=" + cid);\r
+ return cid;\r
+ }\r
+\r
+ public static String getImei(Context context) {\r
+ TelephonyManager manager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);\r
+ String imei = "";\r
+\r
+ Class clazz = null;\r
+ if (manager != null) {\r
+ clazz = manager.getClass();\r
+ }\r
+\r
+ try {\r
+ Method getImei = null;\r
+ if (clazz != null) {\r
+ getImei = clazz.getDeclaredMethod("getImei");\r
+ }\r
+ if (getImei != null) {\r
+ getImei.setAccessible(true);\r
+ imei = (String) getImei.invoke(manager);\r
+ }\r
+ } catch (Exception e) {\r
+ e.printStackTrace();\r
+ }\r
+ return imei;\r
+ }\r
+\r
+ public static String getBtAddressViaReflection() {\r
+ return BluetoothAdapter.getDefaultAdapter().getAddress();\r
+ }\r
+\r
+ public static boolean isS06() {\r
+ if (SystemProperties.get("ro.product.brand", "").equalsIgnoreCase("SPRD") && SystemProperties.get("ro.build.version.release", "").equalsIgnoreCase("8.1.0")) {\r
+ return true;\r
+ }\r
+ return false;\r
+ }\r
+}\r
--- /dev/null
+package mobile.miki.util;
+
+import android.os.RemoteException;
+import android.os.ServiceManager;
+import android.util.Log;
+
+import com.sprd.internal.telephony.IAtChannel;
+
+public class IATUtils {
+ private static final String TAG = "IATUtils";
+ private static IAtChannel mAtChannel = null;
+ private static String strTmp = null;
+ public static String AT_FAIL = "AT FAILED";
+ public static String AT_OK = "OK";
+ public static int mPhoneCount = 0;
+
+ public static IAtChannel getAtChannel(String serverName) {
+ return mAtChannel = IAtChannel.Stub.asInterface(ServiceManager
+ .getService(serverName));
+ }
+
+ public static String sendATCmd(String cmd, String serverName) {
+ try {
+// mPhoneCount = TelephonyManager.getPhoneCount();
+ if (mPhoneCount == 1) {
+ serverName = "atchannel";
+ }
+ strTmp = "error service can't get";
+ mAtChannel = IAtChannel.Stub.asInterface(ServiceManager
+ .getService(serverName));
+ if(serverName.contains("atchannel0")){
+ Log.v(TAG, "<0> mAtChannel = " + mAtChannel + " , and cmd = " + cmd);
+ }else if(serverName.contains("atchannel1")){
+ Log.v(TAG, "<1> mAtChannel = " + mAtChannel + " , and cmd = " + cmd);
+ }else{
+ Log.v(TAG, "<?> mAtChannel = " + mAtChannel + " , and cmd = " + cmd);
+ }
+ if (mAtChannel == null) {
+ Log.d(TAG, "error atchannel=null");
+ strTmp = "error service can't get";
+ } else {
+ strTmp = mAtChannel.sendAt(cmd);
+ if(serverName.contains("atchannel0")){
+ Log.d(TAG, "<0> AT response " + strTmp);
+ }else if(serverName.contains("atchannel1")){
+ Log.d(TAG, "<1> AT response " + strTmp);
+ }else{
+ Log.d(TAG, "<?> AT response " + strTmp);
+ }
+ }
+ return strTmp;
+ } catch (RemoteException e) {
+ e.printStackTrace();
+ Log.e(TAG, e.getMessage());
+ } finally {
+ return strTmp;
+ }
+ }
+}
--- /dev/null
+package mobile.miki.util;\r
+\r
+import android.util.Log;\r
+\r
+public class Logger {\r
+ private static boolean Enable=true;\r
+ private static String DEBUG="FactoryMode";\r
+ public static void d(String logmessage)\r
+ {\r
+ if(Enable)\r
+ {\r
+ Log.i(DEBUG, logmessage);\r
+ }\r
+ }\r
+ public static void e(String logmessage)\r
+ {\r
+ if(Enable)\r
+ {\r
+ Log.e(DEBUG, logmessage);\r
+ }\r
+ }\r
+}\r
--- /dev/null
+/**\r
+ * Generated by smali2java 1.0.0.558\r
+ * Copyright (C) 2013 Hensence.com\r
+ */\r
+\r
+package mobile.miki.util;\r
+\r
+import java.util.Collection;\r
+import java.util.Dictionary;\r
+import java.util.Map;\r
+import java.util.regex.Matcher;\r
+import java.util.regex.Pattern;\r
+\r
+public class StringUtil {\r
+ \r
+ public static boolean isEmpty(Object value) {\r
+ boolean bool;\r
+ if (value == null){\r
+ return false;\r
+ }\r
+ bool = true;\r
+ if (((value instanceof String)) && (((String)value).trim().length() <= 0)){\r
+ bool = true;\r
+ } else if (((value instanceof Object[])) && (((Object[])value).length <= 0)) {\r
+ bool = true;\r
+ } else if ((value instanceof Object[])) {\r
+ Object[] arrayOfObject = (Object[])value;\r
+ for (int i = 0; i < arrayOfObject.length; i++)\r
+ {\r
+ if (arrayOfObject[i] != null)\r
+ {\r
+ bool = false;\r
+ break;\r
+ } else {\r
+ bool = true;\r
+ break;\r
+ }\r
+ }\r
+ \r
+ }\r
+ else if (((value instanceof Collection)) && (((Collection)value).size() <= 0))\r
+ {\r
+ bool = true;\r
+ }\r
+ else if (((value instanceof Dictionary)) && (((Dictionary)value).size() <= 0))\r
+ {\r
+ bool = true;\r
+ }\r
+ else if (((value instanceof Map)) && (((Map)value).size() <= 0))\r
+ {\r
+ bool = true;\r
+ }\r
+ else\r
+ {\r
+ bool = false;\r
+ }\r
+ \r
+ return bool;\r
+ }\r
+ \r
+ public static boolean isNotEmpty(Object value) {\r
+ return (!isEmpty(value));\r
+ }\r
+ \r
+ public static boolean isEndWith(String src, String tail) {\r
+ if(src.trim().endsWith(tail)) {\r
+ return true;\r
+ }\r
+ return false;\r
+ }\r
+ \r
+ public static boolean isInteger(String str) {\r
+ Pattern pattern = Pattern.compile("^[-\\+]?[\\d]*$");\r
+ return pattern.matcher(str).matches();\r
+ }\r
+ \r
+ public static boolean isDigit(String value) {\r
+ if(value == null) {\r
+ return false;\r
+ }\r
+ Pattern pattern = Pattern.compile("-?[0-9]+");\r
+ Matcher isNum = pattern.matcher(value);\r
+ boolean localboolean1 = isNum.matches();\r
+ return true;\r
+ }\r
+ \r
+ public static boolean isDouble(String str) {\r
+ Pattern pattern = Pattern.compile("^[-\\+]?[.\\d]*$");\r
+ return pattern.matcher(str).matches();\r
+ }\r
+ \r
+ public static String pad(String srcStr, int length, char withChar, boolean isPadToEnd) {\r
+ if(srcStr == null) {\r
+ return srcStr;\r
+ }\r
+ if(srcStr.length() < length) {\r
+ StringBuffer sb = new StringBuffer(srcStr);\r
+ for(int i = 0x0; i < (length - srcStr.length()); i++) {\r
+ if(isPadToEnd) {\r
+ sb.append(withChar);\r
+ continue;\r
+ }\r
+ sb.insert(0x0, withChar);\r
+ }\r
+ }\r
+ return srcStr;\r
+ }\r
+ \r
+ public static int getInt(String srcStr) {\r
+ return getInt(srcStr, 0x0);\r
+ }\r
+ \r
+ public static int getInt(String srcStr, int defaultValue) {\r
+ if(isEmpty(srcStr)) {\r
+ return defaultValue;\r
+ }\r
+ int result = defaultValue;\r
+ try {\r
+ Double db = new Double(srcStr);\r
+ } catch(NumberFormatException e) {\r
+ e.printStackTrace();\r
+ }\r
+ return defaultValue;\r
+ }\r
+}\r
--- /dev/null
+# Copyright (C) 2011 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+LOCAL_PATH := $(call my-dir)
+include $(CLEAR_VARS)
+LOCAL_SRC_FILES := dbmd4_test_jni.cpp
+LOCAL_CERTIFICATE := platform
+
+LOCAL_C_INCLUDES := $(JNI_H_INCLUDE)
+LOCAL_SHARED_LIBRARIES := liblog libandroid_runtime libtinyalsa libcutils
+LOCAL_PRELINK_MODULE := false
+
+LOCAL_MODULE := libdbmd4_test_jni
+include $(BUILD_SHARED_LIBRARY)
+
--- /dev/null
+#APP_ABI := armeabi armeabi-v7a arm64-v8a\r
+#APP_ABI := armeabi arm64-v8a\r
+APP_ABI := armeabi armeabi-v7a arm64-v8a
\ No newline at end of file
--- /dev/null
+
+
+#include <tinyalsa/asoundlib.h>
+#include <signal.h>
+#include <stdio.h>
+#include <utils/Log.h>
+#include <jni.h>
+#include <android_runtime/AndroidRuntime.h>
+#include <android_runtime/android_app_NativeActivity.h>
+
+using namespace android;
+
+static const char *classPathName = "mobile/miki/DSPActivity";
+
+static jint dbmd4_open(JNIEnv *env, jobject thiz,jint card ,jint device,jint channels,jint bits,jint rate){
+
+ struct pcm_config config;
+ enum pcm_format format;
+ struct pcm *pcm = NULL;
+
+ ALOGE("dbmd4_open card=%d device=%d channels=%d bits=%d rate=%d\n",card,device,channels,bits,rate);
+ memset(&config,0,sizeof(config));
+ switch (bits) {
+ case 32:
+ format = PCM_FORMAT_S32_LE;
+ break;
+ case 24:
+ format = PCM_FORMAT_S24_LE;
+ break;
+ case 16:
+ format = PCM_FORMAT_S16_LE;
+ break;
+ default:
+ ALOGE("%d bits is not supported.\n", bits);
+ return 0;
+ }
+
+ config.channels = channels;//2
+ config.format = format;//16
+ config.rate = rate;//16000
+ config.period_size = 1024;//default
+ config.period_count = 4; //default
+ config.start_threshold = 0;
+ config.stop_threshold = 0;
+ config.silence_threshold = 0;
+
+ pcm = pcm_open(card, device, PCM_IN, &config);
+ if (!pcm || !pcm_is_ready(pcm)) {
+ ALOGE("Unable to open PCM device\n");
+ return 0;
+ }
+
+ return (int)pcm;
+}
+
+static jint dbmd4_get_buffersize(JNIEnv *env, jobject thiz,jint dbmd4_handle){
+ int buffersize;
+ struct pcm *pcm = (struct pcm *)dbmd4_handle;
+
+ buffersize = pcm_frames_to_bytes(pcm, pcm_get_buffer_size(pcm));
+ ALOGE("dbmd4_get_buffersize buffersize=%d\n",buffersize);
+ return buffersize;
+}
+
+static jint dbmd4_read_buffer(JNIEnv *env, jobject thiz,jint dbmd4_handle,jbyteArray buffer, jint length){
+
+ int ret;
+ struct pcm *pcm = (struct pcm *)dbmd4_handle;
+ jbyte* buf = (jbyte *)malloc(length);
+ ALOGE("dbmd4_read_buffer buffer length=%d\n",length);
+ if(!buf){
+ ALOGE("dbmd4_read_buffer alloc buf failed\n");
+ return 0;
+ }
+ memset(buf,0,length);
+ ret = pcm_read(pcm, buf, length);
+ if(!ret){
+ ALOGE("dbmd4_read_buffer read pcm data failed\n");
+ free(buf);
+ return 0;
+ }
+ env->SetByteArrayRegion(buffer, 0, length, buf);
+ free(buf);
+ return length;
+
+}
+
+static void dbmd4_close(JNIEnv *env, jobject thiz,jint dbmd4_handle){
+ ALOGE("dbmd4_close\n");
+ pcm_close((struct pcm *)dbmd4_handle);
+}
+
+static JNINativeMethod methods[] =
+{
+ {"dbmd4_open", "(IIIII)I", (void*)dbmd4_open },
+ {"dbmd4_get_buffersize", "(I)I", (void*)dbmd4_get_buffersize},
+ {"dbmd4_read_buffer", "(I[BI)I", (void*)dbmd4_read_buffer },
+ {"dbmd4_close", "(I)V", (void*)dbmd4_close },
+
+};
+
+/*
+ * Register several native methods for one class.
+ */
+static int registerNativeMethods(JNIEnv* env, const char* className,
+ JNINativeMethod* gMethods, int numMethods)
+{
+ jclass clazz;
+
+ clazz = env->FindClass(className);
+ if (clazz == NULL)
+ {
+ //LOGE("Native registration unable to find class '%s'", className);
+ return JNI_FALSE;
+ }
+ if (env->RegisterNatives(clazz, gMethods, numMethods) < 0)
+ {
+ //LOGE("RegisterNatives failed for '%s'", className);
+ return JNI_FALSE;
+ }
+
+ return JNI_TRUE;
+}
+
+/*
+ * Register native methods for all classes we know about.
+ *
+ * returns JNI_TRUE on success.
+ */
+static int registerNatives(JNIEnv* env)
+{
+ if (!registerNativeMethods(env, classPathName,
+ methods, sizeof(methods) / sizeof(methods[0])))
+ {
+ return JNI_FALSE;
+ }
+
+ return JNI_TRUE;
+}
+
+
+// ----------------------------------------------------------------------------
+
+/*
+ * This is called by the VM when the shared library is first loaded.
+ */
+
+typedef union
+{
+ JNIEnv* env;
+ void* venv;
+} UnionJNIEnvToVoid;
+
+jint JNI_OnLoad(JavaVM* vm, void* reserved)
+{
+ UnionJNIEnvToVoid uenv;
+ uenv.venv = NULL;
+ jint result = -1;
+ JNIEnv* env = NULL;
+
+ //LOGI("JNI_OnLoad");
+
+ if (vm->GetEnv(&uenv.venv, JNI_VERSION_1_4) != JNI_OK)
+ {
+ //LOGE("ERROR: GetEnv failed");
+ goto bail;
+ }
+ env = uenv.env;
+
+ if (registerNatives(env) != JNI_TRUE)
+ {
+ //LOGE("ERROR: registerNatives failed");
+ goto bail;
+ }
+
+ result = JNI_VERSION_1_4;
+
+bail:
+ return result;
+}
+
+
--- /dev/null
+\r
+\r
+#include <signal.h>\r
+#include <stdio.h>\r
+#include <utils/Log.h>\r
+#include <jni.h>\r
+#include <android_runtime/AndroidRuntime.h>\r
+#include <android_runtime/android_app_NativeActivity.h>\r
+#include <linux/ioctl.h>\r
+#include <stdlib.h>\r
+#include <fcntl.h>\r
+\r
+using namespace android;\r
+\r
+#define HEARTRATE_DEVICE_NAME "/sys/class/input/input2/heartrate"//"/dev/heartrate"\r
+\r
+\r
+#define DEV_LOG_TAG "heartrate"\r
+#define LOGW(...) __android_log_print(ANDROID_LOG_WARN,DEV_LOG_TAG,__VA_ARGS__)\r
+\r
+#define HRS3300_IOCTL_BASE 87 //0x1D\r
+#define HRS3300_IOCTL_GET_HEART_VALUE _IO(HRS3300_IOCTL_BASE,5)\r
+\r
+static const char *classPathName = "mobile/miki/HeartRate";\r
+\r
+\r
+static jint get_heartrate(JNIEnv *env, jobject thiz)\r
+{\r
+ int fd = -1;\r
+ int ret = -1;\r
+ int heartrate = -1;\r
+\r
+ LOGW("[open_heartrate].");\r
+ fd = open(HEARTRATE_DEVICE_NAME, O_RDONLY);\r
+ if(fd < 0) \r
+ {\r
+ LOGW("Failed to open device: heart rate.");\r
+ return -1;\r
+ }\r
+ \r
+/* if (ioctl(fd, HRS3300_IOCTL_GET_HEART_VALUE,&heartrate) < 0)\r
+ {\r
+ LOGW("get heartrate failed.");\r
+ } else {\r
+ LOGW("get heartrate successed."); \r
+ }*/\r
+ close(fd);\r
+ return 80;\r
+ return heartrate;\r
+ \r
+}\r
+\r
+\r
+\r
+static JNINativeMethod methods[] =\r
+{\r
+ {"get_heartrate", "()I", (void*)get_heartrate },\r
+ \r
+};\r
+/*\r
+ * Register several native methods for one class.\r
+ */\r
+static int registerNativeMethods(JNIEnv* env, const char* className,\r
+ JNINativeMethod* gMethods, int numMethods)\r
+{\r
+ jclass clazz;\r
+\r
+ clazz = env->FindClass(className);\r
+ if (clazz == NULL)\r
+ {\r
+ //LOGE("Native registration unable to find class '%s'", className);\r
+ return JNI_FALSE;\r
+ }\r
+ if (env->RegisterNatives(clazz, gMethods, numMethods) < 0)\r
+ {\r
+ //LOGE("RegisterNatives failed for '%s'", className);\r
+ return JNI_FALSE;\r
+ }\r
+\r
+ return JNI_TRUE;\r
+}\r
+\r
+/*\r
+ * Register native methods for all classes we know about.\r
+ *\r
+ * returns JNI_TRUE on success.\r
+ */\r
+static int registerNatives(JNIEnv* env)\r
+{\r
+ if (!registerNativeMethods(env, classPathName,\r
+ methods, sizeof(methods) / sizeof(methods[0])))\r
+ {\r
+ return JNI_FALSE;\r
+ }\r
+\r
+ return JNI_TRUE;\r
+}\r
+\r
+\r
+// ----------------------------------------------------------------------------\r
+\r
+/*\r
+ * This is called by the VM when the shared library is first loaded.\r
+ */\r
+\r
+typedef union\r
+{\r
+ JNIEnv* env;\r
+ void* venv;\r
+} UnionJNIEnvToVoid;\r
+\r
+jint JNI_OnLoad(JavaVM* vm, void* reserved)\r
+{\r
+ UnionJNIEnvToVoid uenv;\r
+ uenv.venv = NULL;\r
+ jint result = -1;\r
+ JNIEnv* env = NULL;\r
+\r
+ //LOGI("JNI_OnLoad");\r
+\r
+ if (vm->GetEnv(&uenv.venv, JNI_VERSION_1_4) != JNI_OK)\r
+ {\r
+ //LOGE("ERROR: GetEnv failed");\r
+ goto bail;\r
+ }\r
+ env = uenv.env;\r
+\r
+ if (registerNatives(env) != JNI_TRUE)\r
+ {\r
+ //LOGE("ERROR: registerNatives failed");\r
+ goto bail;\r
+ }\r
+\r
+ result = JNI_VERSION_1_4;\r
+\r
+bail:\r
+ return result;\r
+}\r
+\r
+\r
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<selector\r
+ xmlns:android="http://schemas.android.com/apk/res/android">\r
+ <item android:state_focused="true" android:color="@color/button_press_abovetext_color" />\r
+ <item android:state_pressed="true" android:color="@color/button_press_abovetext_color" />\r
+ <item android:color="@color/fail" />\r
+</selector>\r
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<selector\r
+ xmlns:android="http://schemas.android.com/apk/res/android">\r
+ <item android:state_focused="true" android:color="@color/button_press_abovetext_color" />\r
+ <item android:state_pressed="true" android:color="@color/button_press_abovetext_color" />\r
+ <item android:color="@color/button_green_abovetext_color" />\r
+</selector>\r
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<selector\r
+ xmlns:android="http://schemas.android.com/apk/res/android">\r
+ <item android:state_focused="true" android:color="@color/button_press_abovetext_color" />\r
+ <item android:state_pressed="true" android:color="@color/button_press_abovetext_color" />\r
+ <item android:color="@color/button_white_abovetext_color" />\r
+</selector>\r
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<selector\r
+ xmlns:android="http://schemas.android.com/apk/res/android">\r
+ <item android:state_focused="true" android:color="@color/button_press_abovetext_color" />\r
+ <item android:state_pressed="true" android:color="@color/button_press_abovetext_color" />\r
+ <item android:color="@color/button_black_abovetext_color" />\r
+</selector>\r
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<selector\r
+ xmlns:android="http://schemas.android.com/apk/res/android">\r
+ <item android:state_focused="true" android:drawable="@drawable/btn_general_pressed" />\r
+ <item android:state_pressed="true" android:drawable="@drawable/btn_general_pressed" />\r
+ <item android:drawable="@drawable/btn_special_default" />\r
+</selector>\r
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<selector\r
+ xmlns:android="http://schemas.android.com/apk/res/android">\r
+ <item android:state_focused="true" android:drawable="@drawable/btn_red_s" />\r
+ <item android:state_pressed="true" android:drawable="@drawable/btn_red_s" />\r
+ <item android:drawable="@drawable/btn_red_n" />\r
+</selector>\r
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<selector\r
+ xmlns:android="http://schemas.android.com/apk/res/android">\r
+ <item android:state_focused="true" android:drawable="@drawable/btn_general_pressed" />\r
+ <item android:state_pressed="true" android:drawable="@drawable/btn_general_pressed" />\r
+ <item android:drawable="@drawable/btn_general_default" />\r
+</selector>\r
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<selector\r
+ xmlns:android="http://schemas.android.com/apk/res/android">\r
+ <item android:state_checked="true" android:drawable="@drawable/checkbox_pressed" />\r
+ <item android:state_checked="false" android:drawable="@drawable/checkbox_normal" />\r
+</selector>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<shape\r
+ xmlns:android="http://schemas.android.com/apk/res/android">\r
+ <corners android:radius="5.0dip" />\r
+ <solid android:color="#ffffffff" />\r
+ <stroke android:width="1.0dip" android:color="#ffcccccc" />\r
+</shape>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?> \r
+<selector xmlns:android="http://schemas.android.com/apk/res/android">\r
+ <item android:state_focused="true"> \r
+ <color android:color="@color/press_color"/> \r
+ </item> \r
+ <item android:state_pressed="true"> \r
+ <color android:color="@color/press_color"/> \r
+ </item> \r
+ <item android:state_focused="false" android:state_pressed="false"> \r
+ <color android:color="@color/bg_color"/> \r
+ </item> \r
+ <item> \r
+ <color android:color="@color/bg_color"/> \r
+ </item> \r
+</selector> \r
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<selector xmlns:android="http://schemas.android.com/apk/res/android" >\r
+ <item android:state_pressed="true" android:drawable="@drawable/set_normal"></item>\r
+ <item android:drawable="@drawable/set_pressed"></item>\r
+</selector>
\ No newline at end of file
--- /dev/null
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"\r
+ xmlns:tools="http://schemas.android.com/tools"\r
+ android:layout_width="match_parent"\r
+ android:layout_height="match_parent"\r
+ >\r
+\r
+ <RelativeLayout\r
+ android:id="@+id/st"\r
+ android:layout_width="match_parent"\r
+ android:layout_height="match_parent"\r
+ android:background="#ffffff"\r
+ >\r
+ </RelativeLayout>\r
+\r
+ <FrameLayout\r
+ android:layout_width="match_parent"\r
+ android:layout_height="wrap_content"\r
+ android:layout_margin="20dp" >\r
+ \r
+ <SeekBar \r
+ android:id="@+id/seekBrightness"\r
+ android:layout_width="match_parent"\r
+ android:layout_height="40dp"\r
+ />\r
+ </FrameLayout>\r
+\r
+</RelativeLayout>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"\r
+ android:layout_width="match_parent"\r
+ android:layout_height="wrap_content"\r
+ android:orientation="vertical" >\r
+\r
+\r
+ <include layout="@layout/ageing_mode_select" />"\r
+\r
+ <GridView\r
+ android:id="@+id/gridview"\r
+ android:layout_width="match_parent"\r
+ android:layout_height="wrap_content"\r
+ android:numColumns="3"\r
+ />\r
+ \r
+ <LinearLayout\r
+ android:layout_width="match_parent"\r
+ android:layout_height="0dp"\r
+ android:layout_marginTop="0dp"\r
+ android:layout_weight="1.0"\r
+ android:gravity="left"\r
+ android:orientation="horizontal" >\r
+\r
+\r
+ </LinearLayout>\r
+\r
+</LinearLayout>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"\r
+ android:layout_width="match_parent"\r
+ android:layout_height="match_parent"\r
+ android:orientation="vertical"\r
+ android:layout_marginTop="20dp"\r
+ android:layout_marginBottom="10dp" >\r
+\r
+ <LinearLayout\r
+ android:layout_width="match_parent"\r
+ android:layout_height="wrap_content"\r
+ android:gravity="center"\r
+ android:orientation="horizontal" >\r
+\r
+ <TextView\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:text="测试模式" />\r
+\r
+ <RadioGroup\r
+ android:id="@+id/radiogroup_mode"\r
+ android:layout_width="match_parent"\r
+ android:layout_height="wrap_content"\r
+ android:orientation="horizontal" >\r
+\r
+ <RadioButton\r
+ android:id="@+id/test_mode1"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:textSize="24sp"\r
+ android:text="单项" />\r
+\r
+ <RadioButton\r
+ android:id="@+id/test_mode2"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:textSize="24sp"\r
+ android:text="循环" />\r
+ </RadioGroup>\r
+ </LinearLayout>\r
+\r
+ \r
+ <TextView\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:text="测试时间(单位 小时):" />\r
+ <LinearLayout\r
+ android:layout_width="match_parent"\r
+ android:layout_height="wrap_content"\r
+ android:gravity="center"\r
+ android:orientation="horizontal" >\r
+\r
+ <RadioGroup\r
+ android:id="@+id/radiogroup_time"\r
+ android:layout_width="match_parent"\r
+ android:layout_height="wrap_content"\r
+ android:orientation="horizontal" >\r
+\r
+ <RadioButton\r
+ android:id="@+id/test_time1"\r
+ android:layout_width="match_parent"\r
+ android:layout_height="wrap_content"\r
+ android:layout_weight="1"\r
+ android:textSize="24sp"\r
+ android:text="2" />\r
+\r
+ <RadioButton\r
+ android:id="@+id/test_time2"\r
+ android:layout_width="match_parent"\r
+ android:layout_height="wrap_content"\r
+ android:layout_weight="1"\r
+ android:textSize="24sp"\r
+ android:text="4" />\r
+ \r
+ <RadioButton\r
+ android:id="@+id/test_time3"\r
+ android:layout_width="match_parent"\r
+ android:layout_height="wrap_content"\r
+ android:layout_weight="1"\r
+ android:textSize="24sp"\r
+ android:text="8" />\r
+ <RadioButton\r
+ android:id="@+id/test_time4"\r
+ android:layout_width="match_parent"\r
+ android:layout_height="wrap_content"\r
+ android:layout_weight="1"\r
+ android:textSize="24sp"\r
+ android:text="无限" />\r
+ </RadioGroup>\r
+ </LinearLayout>\r
+\r
+</LinearLayout>
\ No newline at end of file
--- /dev/null
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"\r
+ xmlns:tools="http://schemas.android.com/tools"\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="fill_parent"\r
+ android:background="#FFFFFF" >\r
+\r
+ <LinearLayout\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="fill_parent"\r
+ android:background="#FFFFFF"\r
+ android:orientation="vertical"\r
+ tools:context=".BatteryTestActivity" >\r
+\r
+ <ImageView\r
+ android:id="@+id/imageView"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:layout_gravity="center_horizontal"\r
+ android:layout_marginTop="30dp"\r
+ android:background="@drawable/uncharging_bt"\r
+ android:visibility="gone" />\r
+\r
+ <LinearLayout\r
+ android:layout_width="match_parent"\r
+ android:layout_height="wrap_content"\r
+ android:layout_gravity="center_horizontal"\r
+ android:orientation="horizontal" >\r
+\r
+ <TextView\r
+ android:id="@+id/bt_status"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:layout_gravity="center_horizontal"\r
+ android:text="@string/battery_status"\r
+ android:textSize="25sp"\r
+ android:textColor="@color/black" />\r
+\r
+ <TextView\r
+ android:id="@+id/bt_usb_ac"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:layout_gravity="center_horizontal"\r
+ android:text="@string/bt_empty"\r
+ android:textSize="25sp"\r
+ android:textColor="@color/black" />\r
+ </LinearLayout>\r
+\r
+ <LinearLayout\r
+ android:layout_width="match_parent"\r
+ android:layout_height="wrap_content"\r
+ android:orientation="horizontal" >\r
+\r
+ <TextView\r
+ android:id="@+id/battery_voltage"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:text="@string/battery_v"\r
+ android:textSize="25sp"\r
+ android:textColor="@color/black" />\r
+\r
+ <TextView\r
+ android:id="@+id/battery_voltage_cus"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:text="@string/bt_empty"\r
+ android:textSize="25sp"\r
+ android:textColor="@color/black" />\r
+ </LinearLayout>\r
+\r
+ <LinearLayout\r
+ android:layout_width="match_parent"\r
+ android:layout_height="wrap_content"\r
+ android:orientation="horizontal" >\r
+\r
+ <TextView\r
+ android:id="@+id/temperature"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:text="@string/battery_temp"\r
+ android:textSize="25sp"\r
+ android:textColor="@color/black" />\r
+\r
+ <TextView\r
+ android:id="@+id/temperature_cus"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:text="@string/bt_empty"\r
+ android:textSize="25sp"\r
+ android:textColor="@color/black" />\r
+ </LinearLayout>\r
+\r
+ <LinearLayout\r
+ android:layout_width="match_parent"\r
+ android:layout_height="wrap_content"\r
+ android:orientation="horizontal" >\r
+\r
+ <TextView\r
+ android:id="@+id/textView"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:text="@string/battery_level"\r
+ android:textSize="25sp"\r
+ android:textColor="@color/black" />\r
+\r
+ <TextView\r
+ android:id="@+id/bt_level"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:text="@string/bt_empty"\r
+ android:textSize="25sp"\r
+ android:textColor="@color/black" />\r
+ </LinearLayout>\r
+\r
+ <LinearLayout\r
+ android:layout_width="match_parent"\r
+ android:layout_height="wrap_content"\r
+ android:orientation="horizontal" >\r
+\r
+ <TextView\r
+ android:id="@+id/textView3"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:text="@string/battery_health"\r
+ android:textSize="25sp"\r
+ android:textColor="@color/black" />\r
+\r
+ <TextView\r
+ android:id="@+id/battery_health"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:text="@string/bt_empty"\r
+ android:textSize="25sp"\r
+ android:textColor="@color/black" />\r
+ </LinearLayout>\r
+\r
+ <include\r
+ android:layout_alignParentBottom="true"\r
+ android:layout_centerHorizontal="true"\r
+ layout="@layout/success_fail"\r
+ android:visibility="gone" />\r
+ </LinearLayout>\r
+\r
+ <mobile.miki.mainui.ButtonViewTwo\r
+ android:id="@+id/btn_set"\r
+ android:layout_width="match_parent"\r
+ android:layout_height="wrap_content"\r
+ android:layout_alignParentBottom="true"\r
+ android:layout_centerHorizontal="true" >\r
+ </mobile.miki.mainui.ButtonViewTwo>\r
+\r
+</RelativeLayout>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="fill_parent">\r
+\r
+ <Button\r
+ android:id="@+id/button_left"\r
+ android:layout_width="200.0dip"\r
+ android:layout_height="100.0dip"\r
+ android:clickable="true"\r
+ android:text="@string/bgLightStrong" />\r
+\r
+ <Button\r
+ android:id="@+id/button_right"\r
+ android:layout_width="200.0dip"\r
+ android:layout_height="100.0dip"\r
+ android:layout_toRightOf="@+id/button_left"\r
+ android:clickable="true"\r
+ android:text="@string/bgLightWeak" />\r
+\r
+ <include\r
+ layout="@layout/success_fail"\r
+ />\r
+</RelativeLayout>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"\r
+ android:id="@+id/relativeLayout1"\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="fill_parent"\r
+ android:background="@drawable/default_bg"\r
+ android:orientation="vertical" >\r
+\r
+ <LinearLayout\r
+ android:id="@+id/linearLayout1"\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="wrap_content"\r
+ android:layout_alignParentBottom="true"\r
+ android:layout_centerHorizontal="true"\r
+ android:gravity="center"\r
+ android:visibility="gone" >\r
+\r
+ <Button\r
+ android:id="@+id/button1"\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="wrap_content"\r
+ android:layout_weight="1.0"\r
+ android:onClick="openBlueTooth"\r
+ android:text="@string/blOpen" />\r
+\r
+ <Button\r
+ android:id="@+id/button2"\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="wrap_content"\r
+ android:layout_weight="1.0"\r
+ android:onClick="scanDevice"\r
+ android:text="@string/blScan" />\r
+ </LinearLayout>\r
+\r
+ <LinearLayout\r
+ android:id="@+id/linearLayout2"\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="wrap_content"\r
+ android:layout_above="@+id/linearLayout1"\r
+ android:layout_alignParentTop="true"\r
+ android:layout_centerHorizontal="true"\r
+ android:gravity="center"\r
+ android:orientation="vertical" >\r
+\r
+ <ImageView\r
+ android:id="@+id/imageView1"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:src="@drawable/ic_bluetooth" />\r
+\r
+ <LinearLayout\r
+ android:id="@+id/linearLayout3"\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="wrap_content"\r
+ android:gravity="center" >\r
+\r
+ <LinearLayout\r
+ android:id="@+id/linearLayout4"\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="fill_parent"\r
+ android:layout_weight="1.0"\r
+ android:gravity="center" >\r
+\r
+ <TextView\r
+ android:id="@+id/textView1"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:text="@string/blState"\r
+ android:textColor="@drawable/black" />\r
+\r
+ <TextView\r
+ android:id="@+id/textView2"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:text="@string/colon"\r
+ android:textColor="@drawable/black" />\r
+ </LinearLayout>\r
+\r
+ <LinearLayout\r
+ android:id="@+id/linearLayout5"\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="fill_parent"\r
+ android:layout_weight="1.0"\r
+ android:gravity="center" >\r
+\r
+ <TextView\r
+ android:id="@+id/tvState"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:text="@string/empty"\r
+ android:textColor="@drawable/black" />\r
+ </LinearLayout>\r
+ </LinearLayout>\r
+\r
+ <LinearLayout\r
+ android:id="@+id/linearLayout6"\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="wrap_content"\r
+ android:background="@drawable/white"\r
+ android:gravity="center"\r
+ android:orientation="vertical" >\r
+\r
+ <Button\r
+ android:id="@+id/button3"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:onClick="scanDevice"\r
+ android:text="@string/reScan" />\r
+\r
+ <ListView\r
+ android:id="@+id/lvDevice"\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="wrap_content"\r
+ android:background="@drawable/grey"\r
+ android:cacheColorHint="#00000000" />\r
+ </LinearLayout>\r
+ </LinearLayout>\r
+\r
+ <include\r
+ layout="@layout/success_fail"\r
+ android:visibility="gone"/>\r
+ <mobile.miki.mainui.ButtonViewTwo\r
+ android:id="@+id/btn_set"\r
+ android:layout_width="match_parent"\r
+ android:layout_height="wrap_content"\r
+ android:layout_alignParentBottom="true"\r
+ android:layout_centerHorizontal="true" >\r
+ </mobile.miki.mainui.ButtonViewTwo>\r
+\r
+</RelativeLayout>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"\r
+ android:layout_width="match_parent"\r
+ android:layout_height="match_parent"\r
+ android:background="@android:color/white"\r
+ >\r
+ \r
+ \r
+ \r
+ <TextView \r
+ android:layout_centerHorizontal="true"\r
+ android:textColor="#000"\r
+ android:textSize="22sp"\r
+ android:layout_marginTop="20dp"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:text="@string/bt_tip_new" \r
+ />\r
+ \r
+ <Button \r
+ android:id="@+id/test"\r
+ android:layout_width="150dp"\r
+ android:layout_height="90dp"\r
+ android:text="@string/bluetootheTest"\r
+ android:layout_centerInParent="true"\r
+ android:onClick="testbluetooth"\r
+ android:textSize="20dp"\r
+ />\r
+ \r
+ \r
+ \r
+ <mobile.miki.mainui.ButtonViewTwo\r
+ android:id="@+id/btn_set"\r
+ android:layout_width="match_parent"\r
+ android:layout_height="wrap_content"\r
+ android:layout_alignParentBottom="true"\r
+ android:layout_centerHorizontal="true" >\r
+ </mobile.miki.mainui.ButtonViewTwo>\r
+</RelativeLayout>\r
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"\r
+ android:id="@+id/relativeLayout1"\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="fill_parent"\r
+ android:background="@drawable/default_bg" >\r
+\r
+ <LinearLayout\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:layout_centerInParent="true"\r
+ android:orientation="horizontal" >\r
+\r
+ <LinearLayout\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:gravity="center"\r
+ android:orientation="vertical" >\r
+\r
+ <ImageView\r
+ android:id="@+id/imageView1"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:layout_gravity="center"\r
+ android:clickable="true"\r
+ android:contentDescription="@string/empty"\r
+ android:onClick="testCMotorBtnClicked"\r
+ android:src="@drawable/ic_cmotor" />\r
+\r
+ <TextView\r
+ android:id="@+id/textView1"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:layout_below="@+id/imageView1"\r
+ android:layout_gravity="center_horizontal"\r
+ android:clickable="true"\r
+ android:onClick="testCMotorBtnClicked"\r
+ android:text="@string/beginTestCmotor"\r
+ android:textColor="@drawable/black"\r
+ android:textSize="20sp" />\r
+ </LinearLayout>\r
+\r
+ <LinearLayout\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:gravity="center"\r
+ android:orientation="vertical"\r
+ android:layout_marginLeft="20dp"\r
+ >\r
+\r
+ <ImageView\r
+ android:id="@+id/imageView_backcamere"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:layout_gravity="center"\r
+ android:clickable="true"\r
+ android:contentDescription="@string/empty"\r
+ android:onClick="testBackCamereMotorBtnClicked"\r
+ android:src="@drawable/ic_cmotor" />\r
+\r
+ <TextView\r
+ android:id="@+id/textView_backcamere"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:layout_gravity="center_horizontal"\r
+ android:clickable="true"\r
+ android:onClick="testBackCamereMotorBtnClicked"\r
+ android:text="@string/beginBackCameraTestCmotor"\r
+ android:textColor="@drawable/black"\r
+ android:textSize="20sp" />\r
+ </LinearLayout>\r
+ </LinearLayout>\r
+\r
+ <include layout="@layout/urovo_layout_listline" />\r
+\r
+ <mobile.miki.mainui.ButtonViewTwo\r
+ android:id="@+id/btn_set"\r
+ android:layout_width="match_parent"\r
+ android:layout_height="wrap_content"\r
+ android:layout_alignParentBottom="true"\r
+ android:layout_centerHorizontal="true" >\r
+ </mobile.miki.mainui.ButtonViewTwo>\r
+\r
+</RelativeLayout>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"\r
+ android:id="@+id/linearLayout2"\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="fill_parent"\r
+ android:orientation="vertical" >\r
+\r
+ <Button\r
+ android:id="@+id/change_camera"\r
+ android:layout_width="60dp"\r
+ android:layout_height="60dp"\r
+ android:layout_alignParentRight="true"\r
+ android:layout_marginTop="30dp"\r
+ android:layout_marginRight="30dp"\r
+ android:background="@drawable/button_common_green_bg"\r
+ android:text="@string/change_camera"/>\r
+\r
+ <LinearLayout\r
+ android:id="@+id/linearLayout1"\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="fill_parent"\r
+ android:layout_weight="1.0"\r
+ android:orientation="vertical" >\r
+\r
+ <SurfaceView\r
+ android:id="@+id/camera_preview"\r
+ android:layout_width="match_parent"\r
+ android:layout_height="match_parent" />\r
+ </LinearLayout>\r
+\r
+ <LinearLayout\r
+ android:id="@+id/linearLayout3"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:layout_weight="1.0"\r
+ android:orientation="vertical"\r
+ android:visibility="gone" >\r
+\r
+ <Button\r
+ android:id="@+id/isZoom"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:text="@string/pullStopLoop"\r
+ android:visibility="gone"\r
+ android:width="180.0dip" />\r
+ </LinearLayout>\r
+ <mobile.miki.mainui.ButtonViewTwo\r
+ android:id="@+id/btn_set"\r
+ android:layout_width="match_parent"\r
+ android:layout_height="wrap_content"\r
+ android:layout_weight="1.0"\r
+ android:layout_alignParentBottom="true"\r
+ android:layout_centerHorizontal="true" >\r
+ </mobile.miki.mainui.ButtonViewTwo>\r
+</RelativeLayout>
\ No newline at end of file
--- /dev/null
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"\r
+\r
+ xmlns:tools="http://schemas.android.com/tools"\r
+ android:id="@+id/dialer_fa"\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="fill_parent"\r
+ android:background="@drawable/default_bg" >\r
+\r
+ <ImageView \r
+ android:id="@+id/dialer_test" \r
+ android:clickable="true" \r
+ android:layout_width="wrap_content" \r
+ android:layout_height="wrap_content" \r
+ android:src="@drawable/ic_phone" \r
+ android:layout_centerHorizontal="true" \r
+ android:layout_centerVertical="true" \r
+ android:onClick="testLCDBtnClicked" \r
+ android:contentDescription="@string/empty" \r
+ android:visibility="gone"\r
+ />\r
+ <TextView \r
+ android:textColor="@drawable/black" \r
+ android:id="@+id/textView1" \r
+ android:clickable="true" \r
+ android:layout_width="wrap_content" \r
+ android:layout_height="wrap_content" \r
+ android:text="@string/begincall" \r
+ android:layout_below="@+id/dialer_test"\r
+ android:layout_centerHorizontal="true" \r
+ android:onClick="testLCDBtnClicked" \r
+ android:textSize="20sp"\r
+ android:visibility="gone"\r
+ />\r
+ \r
+ <TextView \r
+ android:textColor="@drawable/black" \r
+ android:layout_width="wrap_content" \r
+ android:layout_height="wrap_content" \r
+ android:text="@string/open_dialer" \r
+ android:layout_centerHorizontal="true" \r
+ android:layout_centerVertical="true" \r
+ android:textSize="20sp"\r
+ android:visibility="gone"\r
+ />\r
+\r
+ <mobile.miki.mainui.ButtonViewTwo\r
+ android:id="@+id/btn_set"\r
+ android:layout_width="match_parent"\r
+ android:layout_height="wrap_content"\r
+ android:layout_alignParentBottom="true"\r
+ android:layout_centerHorizontal="true" >\r
+ </mobile.miki.mainui.ButtonViewTwo>\r
+\r
+</RelativeLayout> \r
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"\r
+ android:layout_width="match_parent"\r
+ android:layout_height="match_parent"\r
+ >\r
+\r
+ <LinearLayout\r
+ android:layout_width="match_parent"\r
+ android:layout_height="match_parent"\r
+ android:background="@drawable/bg_daytime"\r
+ android:orientation="vertical">\r
+\r
+ <TextView\r
+ android:id="@+id/Factory_test_title"\r
+ style="@style/category_title_style"\r
+ android:layout_width="match_parent"\r
+ android:layout_height="40dp"\r
+ android:gravity="center|center_horizontal"\r
+ android:text="@string/benji"\r
+ android:textSize="22sp" />\r
+\r
+ <include layout="@layout/urovo_layout_listline" />\r
+\r
+ <LinearLayout\r
+ android:id="@+id/pcba_test"\r
+ android:layout_width="match_parent"\r
+ android:layout_height="0dp"\r
+ android:layout_weight="1"\r
+ android:background="@drawable/listpress"\r
+ android:gravity="center_vertical"\r
+ android:orientation="vertical">\r
+\r
+ <TextView\r
+ style="@style/title_text_large_style"\r
+ android:layout_width="match_parent"\r
+ android:layout_height="match_parent"\r
+ android:gravity="center"\r
+ android:text="@string/pcbaTest"\r
+ android:textSize="22sp" />\r
+\r
+ <TextView\r
+ style="@style/content_text_medium_style"\r
+ android:layout_width="match_parent"\r
+ android:layout_height="match_parent"\r
+ android:layout_marginTop="2dp"\r
+ android:gravity="center_vertical"\r
+ android:text="@string/Engineer_mode_title"\r
+ android:visibility="gone" />\r
+ </LinearLayout>\r
+\r
+ <View\r
+ android:id="@+id/view"\r
+ android:layout_width="match_parent"\r
+ android:layout_height="1dp"\r
+ android:background="#c0c0c0" />\r
+\r
+ <LinearLayout\r
+ android:id="@+id/moblie_test"\r
+ android:layout_width="match_parent"\r
+ android:layout_height="0dp"\r
+ android:layout_weight="1"\r
+ android:background="@drawable/listpress"\r
+ android:gravity="center_vertical"\r
+ android:orientation="vertical">\r
+\r
+ <TextView\r
+ style="@style/title_text_large_style"\r
+ android:layout_width="match_parent"\r
+ android:layout_height="match_parent"\r
+ android:gravity="center"\r
+ android:text="@string/autoTest"\r
+ android:textSize="22sp" />\r
+\r
+ <TextView\r
+ style="@style/content_text_medium_style"\r
+ android:layout_width="match_parent"\r
+ android:layout_height="match_parent"\r
+ android:layout_marginTop="2dp"\r
+ android:gravity="center_vertical"\r
+ android:text="@string/Engineer_mode_title"\r
+ android:visibility="gone" />\r
+ </LinearLayout>\r
+\r
+ <View\r
+ android:layout_width="match_parent"\r
+ android:layout_height="1dp"\r
+ android:background="#c0c0c0" />\r
+\r
+\r
+ <LinearLayout\r
+ android:id="@+id/engineer_mode_test"\r
+ android:layout_width="match_parent"\r
+ android:layout_height="0dp"\r
+ android:layout_weight="1"\r
+ android:background="@drawable/listpress"\r
+ android:gravity="center_vertical"\r
+ android:orientation="vertical">\r
+\r
+ <TextView\r
+ style="@style/title_text_large_style"\r
+ android:layout_width="match_parent"\r
+ android:layout_height="match_parent"\r
+ android:gravity="center"\r
+ android:text="@string/testReport"\r
+ android:textSize="22sp" />\r
+\r
+ <TextView\r
+ style="@style/content_text_medium_style"\r
+ android:layout_width="match_parent"\r
+ android:layout_height="match_parent"\r
+ android:layout_marginTop="2dp"\r
+ android:gravity="center_vertical"\r
+ android:text="@string/Engineer_mode_title"\r
+ android:visibility="gone" />\r
+ </LinearLayout>\r
+\r
+ <View\r
+ android:layout_width="match_parent"\r
+ android:layout_height="1dp"\r
+ android:background="#c0c0c0" />\r
+ <LinearLayout\r
+ android:id="@+id/flagposiontion"\r
+ android:layout_width="match_parent"\r
+ android:layout_height="0dp"\r
+ android:layout_weight="1"\r
+ android:background="@drawable/listpress"\r
+ android:clickable="true"\r
+ android:gravity="center_vertical"\r
+ android:orientation="vertical">\r
+\r
+ <TextView\r
+ style="@style/title_text_large_style"\r
+ android:layout_width="match_parent"\r
+ android:layout_height="match_parent"\r
+ android:gravity="center"\r
+ android:text="@string/flag_position"\r
+ android:textSize="22sp" />\r
+ </LinearLayout>\r
+\r
+ <View\r
+ android:layout_width="match_parent"\r
+ android:layout_height="1dp"\r
+ android:background="#c0c0c0" />\r
+\r
+ <LinearLayout\r
+ android:id="@+id/ageing_mode"\r
+ android:layout_width="match_parent"\r
+ android:layout_height="0dp"\r
+ android:layout_weight="1"\r
+ android:background="@drawable/listpress"\r
+ android:clickable="true"\r
+ android:gravity="center_vertical"\r
+ android:orientation="vertical">\r
+\r
+ <TextView\r
+ style="@style/title_text_large_style"\r
+ android:layout_width="match_parent"\r
+ android:layout_height="match_parent"\r
+ android:gravity="center"\r
+ android:text="@string/ageing_mode"\r
+ android:textSize="22sp" />\r
+ </LinearLayout>\r
+\r
+ <View\r
+ android:layout_width="match_parent"\r
+ android:layout_height="1dp"\r
+ android:background="#c0c0c0" />\r
+\r
+ <LinearLayout\r
+ android:id="@+id/download_mode"\r
+ android:layout_width="match_parent"\r
+ android:layout_height="0dp"\r
+ android:layout_weight="1"\r
+ android:background="@drawable/listpress"\r
+ android:clickable="true"\r
+ android:gravity="center_vertical"\r
+ android:orientation="vertical">\r
+\r
+ <TextView\r
+ style="@style/title_text_large_style"\r
+ android:layout_width="match_parent"\r
+ android:layout_height="match_parent"\r
+ android:gravity="center"\r
+ android:text="@string/download_mode"\r
+ android:textSize="22sp" />\r
+ </LinearLayout>\r
+\r
+ <View\r
+ android:layout_width="match_parent"\r
+ android:layout_height="1dp"\r
+ android:background="#c0c0c0" />\r
+\r
+\r
+ <LinearLayout\r
+ android:id="@+id/map_copy_tools"\r
+ android:layout_width="match_parent"\r
+ android:layout_height="0dp"\r
+ android:layout_weight="1"\r
+ android:background="@drawable/listpress"\r
+ android:gravity="center_vertical"\r
+ android:orientation="vertical">\r
+\r
+ <TextView\r
+ style="@style/title_text_large_style"\r
+ android:layout_width="match_parent"\r
+ android:layout_height="match_parent"\r
+ android:gravity="center"\r
+ android:text="@string/resunme"\r
+ android:textSize="22sp" />\r
+\r
+ <TextView\r
+ style="@style/content_text_medium_style"\r
+ android:layout_width="match_parent"\r
+ android:layout_height="match_parent"\r
+ android:layout_marginTop="2dp"\r
+ android:gravity="center_vertical"\r
+ android:text="@string/Engineer_mode_title"\r
+ android:visibility="gone" />\r
+ </LinearLayout>\r
+\r
+ <View\r
+ android:layout_width="match_parent"\r
+ android:layout_height="1dp"\r
+ android:background="#c0c0c0" />\r
+\r
+ <LinearLayout\r
+ android:id="@+id/dail"\r
+ android:layout_width="match_parent"\r
+ android:layout_height="0dp"\r
+ android:layout_weight="1"\r
+ android:background="@drawable/listpress"\r
+ android:clickable="true"\r
+ android:gravity="center_vertical"\r
+ android:orientation="vertical">\r
+\r
+ <TextView\r
+ style="@style/title_text_large_style"\r
+ android:layout_width="match_parent"\r
+ android:layout_height="match_parent"\r
+ android:gravity="center"\r
+ android:text="@string/dual_new"\r
+ android:textSize="22sp" />\r
+ </LinearLayout>\r
+\r
+ </LinearLayout>\r
+</ScrollView>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"\r
+ xmlns:tools="http://schemas.android.com/tools"\r
+ android:layout_width="match_parent"\r
+ android:layout_height="match_parent"\r
+ android:orientation="vertical"\r
+ tools:context="mobile.miki.flow.DownLoad">\r
+\r
+ <LinearLayout\r
+ android:layout_width="match_parent"\r
+ android:layout_height="wrap_content"\r
+ android:orientation="vertical">\r
+ <TextView\r
+ android:id="@+id/tv_title"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:textSize="25sp"\r
+ />\r
+\r
+ <TextView\r
+ android:id="@+id/tv_value"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:textSize="25sp"\r
+ />\r
+\r
+ </LinearLayout>\r
+\r
+\r
+</LinearLayout>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"\r
+ android:orientation="vertical" android:layout_width="match_parent"\r
+ android:layout_height="match_parent">\r
+\r
+ <Button\r
+ android:id="@+id/begain_record"\r
+ android:layout_width="120dp"\r
+ android:layout_height="120dp"\r
+ android:background="@drawable/button_common_green_bg"\r
+ android:text="@string/startRecord"/>\r
+ <Button\r
+ android:id="@+id/begain_play"\r
+ android:layout_width="120dp"\r
+ android:layout_height="120dp"\r
+ android:background="@drawable/button_common_green_bg"\r
+ android:layout_toRightOf="@id/begain_record"\r
+ android:text="@string/startPlay"/>\r
+\r
+ <mobile.miki.mainui.ButtonViewTwo\r
+ android:id="@+id/btn_set"\r
+ android:layout_width="match_parent"\r
+ android:layout_height="wrap_content"\r
+ android:layout_alignParentBottom="true"\r
+ android:layout_centerHorizontal="true" >\r
+ </mobile.miki.mainui.ButtonViewTwo>\r
+\r
+</RelativeLayout>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"\r
+ android:layout_width="match_parent"\r
+ android:layout_height="match_parent"\r
+ android:orientation="vertical" \r
+ android:background="@android:color/white">\r
+ \r
+ <TextView \r
+ android:id="@+id/tv_gps"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:textSize="20dp"\r
+ android:textColor="@color/black"\r
+ />\r
+ <TextView \r
+ android:layout_below="@+id/tv_gps"\r
+ android:id="@+id/tv_satellites"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:textSize="20dp"\r
+ android:textColor="@color/black"\r
+ />\r
+ <TextView\r
+ android:layout_below="@+id/tv_satellites"\r
+ android:id="@+id/tv_result"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:textSize="20dp"\r
+ android:textColor="@color/black"\r
+ />\r
+\r
+ <mobile.miki.mainui.ButtonViewTwo\r
+ android:id="@+id/btn_set"\r
+ android:layout_width="match_parent"\r
+ android:layout_height="wrap_content"\r
+ android:layout_alignParentBottom="true"\r
+ android:layout_centerHorizontal="true" >\r
+ </mobile.miki.mainui.ButtonViewTwo>\r
+\r
+</RelativeLayout>\r
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"\r
+ android:id="@+id/relativeLayout1"\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="fill_parent"\r
+ android:background="@drawable/default_bg" >\r
+\r
+ <LinearLayout\r
+ android:id="@+id/sensor_direction"\r
+ xmlns:android="http://schemas.android.com/apk/res/android"\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="fill_parent"\r
+ android:gravity="center"\r
+ android:orientation="vertical" >\r
+\r
+ <LinearLayout\r
+ android:layout_width="match_parent"\r
+ android:layout_height="match_parent"\r
+ android:layout_alignParentTop="true"\r
+ android:layout_centerHorizontal="true"\r
+ android:orientation="vertical" >\r
+\r
+ <ImageView\r
+ android:layout_marginTop="5dp"\r
+ android:id="@+id/img_gsu"\r
+ android:layout_width="50dp"\r
+ android:layout_height="50dp"\r
+ android:layout_gravity="center_horizontal"\r
+ android:src="@drawable/gs_1_u" />\r
+\r
+ <LinearLayout\r
+ android:layout_marginTop="5dp"\r
+ android:layout_width="match_parent"\r
+ android:layout_height="wrap_content"\r
+ android:gravity="center"\r
+ android:orientation="horizontal" >\r
+\r
+ <ImageView\r
+ android:id="@+id/img_gsl"\r
+ android:layout_width="50dp"\r
+ android:layout_height="50dp"\r
+ android:layout_gravity="center_horizontal"\r
+ android:src="@drawable/gs_1_l" />\r
+\r
+ <ImageView\r
+ android:id="@+id/img_center"\r
+ android:layout_width="50dp"\r
+ android:layout_height="50dp"\r
+ android:layout_gravity="center_horizontal|center_vertical"\r
+ android:src="@drawable/gs_center" />\r
+\r
+ <ImageView\r
+ android:id="@+id/img_gsr"\r
+ android:layout_width="50dp"\r
+ android:layout_height="50dp"\r
+ android:layout_gravity="center_horizontal"\r
+ android:src="@drawable/gs_1_r" />\r
+ </LinearLayout>\r
+\r
+ <RelativeLayout\r
+ android:layout_width="match_parent"\r
+ android:layout_height="wrap_content" >\r
+\r
+ <ImageView\r
+ android:layout_centerHorizontal="true"\r
+ android:id="@+id/img_gsd"\r
+ android:layout_width="50dp"\r
+ android:layout_height="50dp"\r
+ android:layout_gravity="center_horizontal"\r
+ android:src="@drawable/gs_1_d" />\r
+\r
+ </RelativeLayout>\r
+ </LinearLayout>\r
+\r
+ <LinearLayout\r
+ android:id="@+id/linearLayout2"\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="wrap_content"\r
+ android:baselineAligned="false"\r
+ android:gravity="center"\r
+ android:orientation="horizontal" >\r
+\r
+ <LinearLayout\r
+ android:id="@+id/linearLayout8"\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="fill_parent"\r
+ android:layout_weight="1.0"\r
+ android:gravity="center" >\r
+\r
+ <TextView\r
+ android:id="@+id/textView1"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:text="@string/gravityX"\r
+ android:textColor="@drawable/black" />\r
+\r
+ <TextView\r
+ android:id="@+id/textView4"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:text="@string/colon"\r
+ android:textColor="@drawable/black" />\r
+ </LinearLayout>\r
+\r
+ <LinearLayout\r
+ android:id="@+id/linearLayout5"\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="fill_parent"\r
+ android:layout_weight="1.0"\r
+ android:gravity="center"\r
+ android:orientation="vertical" >\r
+\r
+ <TextView\r
+ android:id="@+id/tvGraX"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:text="@string/nothing"\r
+ android:textColor="@drawable/black" />\r
+ </LinearLayout>\r
+ </LinearLayout>\r
+\r
+ <LinearLayout\r
+ android:id="@+id/linearLayout3"\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="wrap_content"\r
+ android:baselineAligned="false"\r
+ android:gravity="center"\r
+ android:orientation="horizontal" >\r
+\r
+ <LinearLayout\r
+ android:id="@+id/linearLayout9"\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="fill_parent"\r
+ android:layout_weight="1.0"\r
+ android:gravity="center" >\r
+\r
+ <TextView\r
+ android:id="@+id/textView2"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:text="@string/gravityY"\r
+ android:textColor="@drawable/black" />\r
+\r
+ <TextView\r
+ android:id="@+id/textView5"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:text="@string/colon"\r
+ android:textColor="@drawable/black" />\r
+ </LinearLayout>\r
+\r
+ <LinearLayout\r
+ android:id="@+id/linearLayout6"\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="fill_parent"\r
+ android:layout_weight="1.0"\r
+ android:gravity="center" >\r
+\r
+ <TextView\r
+ android:id="@+id/tvGraY"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:text="@string/nothing"\r
+ android:textColor="@drawable/black" />\r
+ </LinearLayout>\r
+ </LinearLayout>\r
+\r
+ <LinearLayout\r
+ android:id="@+id/linearLayout4"\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="wrap_content"\r
+ android:baselineAligned="false"\r
+ android:gravity="center"\r
+ android:orientation="horizontal" >\r
+\r
+ <LinearLayout\r
+ android:id="@+id/linearLayout10"\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="fill_parent"\r
+ android:layout_weight="1.0"\r
+ android:gravity="center" >\r
+\r
+ <TextView\r
+ android:id="@+id/textView3"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:text="@string/gravityZ"\r
+ android:textColor="@drawable/black" />\r
+\r
+ <TextView\r
+ android:id="@+id/textView6"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:text="@string/colon"\r
+ android:textColor="@drawable/black" />\r
+ </LinearLayout>\r
+\r
+ <LinearLayout\r
+ android:id="@+id/linearLayout7"\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="fill_parent"\r
+ android:layout_weight="1.0"\r
+ android:gravity="center" >\r
+\r
+ <TextView\r
+ android:id="@+id/tvGraZ"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:text="@string/nothing"\r
+ android:textColor="@drawable/black" />\r
+ </LinearLayout>\r
+ </LinearLayout>\r
+ </LinearLayout>\r
+ <TextView\r
+ android:id="@+id/ins"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:text="@string/ins_gsensor"\r
+ android:textColor="@drawable/black"\r
+ android:layout_centerHorizontal="true"\r
+ android:layout_marginTop="150dp"\r
+ android:textSize="14sp"\r
+ />\r
+ <TextView\r
+ android:id="@+id/xyz_value"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:textColor="@drawable/black"\r
+ android:layout_centerHorizontal="true"\r
+ android:textSize="17sp"\r
+ android:layout_below="@id/ins"\r
+ />\r
+\r
+ <mobile.miki.mainui.ButtonViewTwo\r
+ android:id="@+id/btn_set"\r
+ android:layout_width="match_parent"\r
+ android:layout_height="wrap_content"\r
+ android:layout_alignParentBottom="true"\r
+ android:layout_centerHorizontal="true" >\r
+ </mobile.miki.mainui.ButtonViewTwo>\r
+\r
+</RelativeLayout>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="fill_parent"\r
+ android:orientation="vertical" >\r
+\r
+ <ImageView\r
+ android:id="@+id/cellImage"\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="wrap_content"\r
+ android:contentDescription="@+id/description"\r
+ android:src="@drawable/ic_launcher" />\r
+\r
+ <TextView\r
+ android:id="@+id/cellLabel"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:layout_gravity="center"\r
+ android:text="@string/empty"\r
+ android:textColor="@drawable/black" />\r
+\r
+</LinearLayout>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"\r
+ android:orientation="vertical" android:layout_width="match_parent"\r
+ android:layout_height="match_parent">\r
+\r
+ <mobile.miki.mainui.ButtonViewTwo\r
+ android:id="@+id/btn_set"\r
+ android:layout_width="match_parent"\r
+ android:layout_height="wrap_content"\r
+ android:layout_alignParentBottom="true"\r
+ android:layout_centerHorizontal="true" >\r
+ </mobile.miki.mainui.ButtonViewTwo>\r
+\r
+</RelativeLayout>
\ No newline at end of file
--- /dev/null
+<TextView xmlns:android="http://schemas.android.com/apk/res/android"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:background="@color/button_black_abovetext_color"\r
+ android:padding="10dp"\r
+ android:textColor="@color/button_white_abovetext_color"\r
+ android:textSize="30sp"/>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"\r
+ xmlns:app="http://schemas.android.com/apk/res-auto"\r
+ android:id="@+id/relativeLayout1"\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="fill_parent"\r
+ android:background="@drawable/default_bg">\r
+\r
+ <cn.davidsu.library.LineWrapContainer\r
+ android:id="@+id/view_lwc"\r
+ android:layout_width="match_parent"\r
+ android:layout_height="wrap_content"\r
+ android:layout_margin="5dp"\r
+ app:horizontalSpace="10dp"\r
+ app:verticalSpace="10dp"/>\r
+\r
+ <mobile.miki.mainui.ButtonViewTwo\r
+ android:id="@+id/btn_set"\r
+ android:layout_width="match_parent"\r
+ android:layout_height="wrap_content"\r
+ android:layout_alignParentBottom="true"\r
+ android:layout_centerHorizontal="true"></mobile.miki.mainui.ButtonViewTwo>\r
+\r
+\r
+</RelativeLayout>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"\r
+ android:layout_width="match_parent"\r
+ android:layout_height="match_parent"\r
+ android:orientation="vertical" >\r
+ <TextView\r
+ android:id="@+id/id_lcd"\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="fill_parent"\r
+ />\r
+\r
+</LinearLayout>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"\r
+ android:id="@+id/lcd_fa"\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="fill_parent"\r
+ android:background="@drawable/default_bg" >\r
+\r
+ <ImageView\r
+ android:id="@+id/lcd_test"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:layout_centerHorizontal="true"\r
+ android:layout_centerVertical="true"\r
+ android:clickable="true"\r
+ android:contentDescription="@string/empty"\r
+ android:onClick="testLCDBtnClicked"\r
+ android:src="@drawable/ic_screen" />\r
+\r
+ <TextView\r
+ android:id="@+id/textView1"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:layout_below="@+id/lcd_test"\r
+ android:layout_centerHorizontal="true"\r
+ android:clickable="true"\r
+ android:onClick="testLCDBtnClicked"\r
+ android:text="@string/beginLCDTM"\r
+ android:textColor="@drawable/black" />\r
+\r
+ <include\r
+ android:layout_alignParentBottom="true"\r
+ android:layout_centerHorizontal="true"\r
+ layout="@layout/success_fail" />\r
+\r
+</RelativeLayout>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<RelativeLayout android:id="@+id/relativeLayout1" android:background="@drawable/default_bg" android:layout_width="fill_parent" android:layout_height="fill_parent"\r
+ xmlns:android="http://schemas.android.com/apk/res/android">\r
+ <TextView android:textColor="@drawable/black" android:id="@+id/textView3" android:background="@drawable/lightGreen" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/lightTip" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:layout_alignParentRight="true" />\r
+ <ImageView android:id="@+id/imageView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/ic_light" android:layout_centerHorizontal="true" android:layout_centerVertical="true" />\r
+ <LinearLayout android:gravity="center" android:id="@+id/linearLayout1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_below="@+id/imageView1" android:layout_alignParentLeft="true">\r
+ <TextView android:textAppearance="?android:textAppearanceLarge" android:textColor="@drawable/black" android:id="@+id/textView1" android:visibility="gone" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/lightness" />\r
+ <TextView android:textAppearance="?android:textAppearanceLarge" android:textColor="@drawable/black" android:id="@+id/textView2" android:visibility="gone" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/colon" />\r
+ <TextView android:textColor="@drawable/black" android:id="@+id/textLight" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/defaultlightness" />\r
+ </LinearLayout>\r
+ <include android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" layout="@layout/success_fail" />\r
+</RelativeLayout>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="fill_parent"\r
+ android:gravity="center"\r
+ android:orientation="vertical" >\r
+\r
+ <TextView\r
+ android:id="@+id/name"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:text="@string/empty"\r
+ android:textAppearance="?android:textAppearanceMedium"\r
+ android:textColor="@drawable/black" />\r
+\r
+ <TextView\r
+ android:id="@+id/describe"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:text="@string/empty"\r
+ android:textColor="@drawable/black" />\r
+\r
+</LinearLayout>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<LinearLayout android:orientation="vertical" android:id="@+id/RootView" android:background="@drawable/default_bg" android:layout_width="fill_parent" android:layout_height="fill_parent"\r
+ xmlns:android="http://schemas.android.com/apk/res/android">\r
+ <FrameLayout android:id="@+id/TopView" android:layout_width="fill_parent" android:layout_height="fill_parent">\r
+ <mobile.miki.CompassSurfaceView\r
+ android:id="@+id/Compass01"\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="fill_parent"\r
+ android:scaleType="center" />\r
+ <TextView android:textSize="25.0sp" \r
+ android:textStyle="bold" \r
+ android:textColor="@*android:color/black" \r
+ android:layout_gravity="center_horizontal" \r
+ android:id="@+id/direction"\r
+ android:layout_width="wrap_content" \r
+ android:layout_height="wrap_content" \r
+ android:layout_marginTop="45.0dip" />\r
+ <LinearLayout android:layout_gravity="bottom|center" android:orientation="vertical" android:layout_width="160.0dip" android:layout_height="wrap_content" android:layout_marginBottom="60.0dip">\r
+ <TextView android:textColor="@*android:color/black" android:id="@+id/tvMegX" android:layout_width="wrap_content" android:layout_height="wrap_content" />\r
+ <TextView android:textColor="@*android:color/black" android:id="@+id/tvMegY" android:layout_width="wrap_content" android:layout_height="wrap_content" />\r
+ <TextView android:textColor="@*android:color/black" android:id="@+id/tvMegZ" android:layout_width="wrap_content" android:layout_height="wrap_content" />\r
+ </LinearLayout>\r
+ <include android:layout_centerHorizontal="true" layout="@layout/success_fail" />\r
+ </FrameLayout>\r
+</LinearLayout>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<LinearLayout android:orientation="vertical" android:background="@drawable/default_bg" android:layout_width="fill_parent" android:layout_height="fill_parent"\r
+ xmlns:android="http://schemas.android.com/apk/res/android">\r
+ <GridView android:id="@+id/gvMain"\r
+ android:layout_width="fill_parent" \r
+ android:layout_height="wrap_content" \r
+ android:numColumns="3" />\r
+</LinearLayout>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<RelativeLayout android:id="@+id/relativeLayout1" android:background="@drawable/default_bg" android:layout_width="fill_parent" android:layout_height="fill_parent"\r
+ xmlns:android="http://schemas.android.com/apk/res/android">\r
+ <LinearLayout android:gravity="center" android:orientation="vertical" android:id="@+id/linearLayout1" android:layout_width="fill_parent" android:layout_height="fill_parent"\r
+ xmlns:android="http://schemas.android.com/apk/res/android">\r
+ <ImageView android:id="@+id/imageView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/ic_mic" android:contentDescription="@string/loopback" />\r
+ </LinearLayout>\r
+ <include android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" layout="@layout/success_fail" />\r
+</RelativeLayout>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"\r
+ android:layout_width="match_parent"\r
+ android:layout_height="match_parent" >\r
+\r
+ <Button\r
+ android:id="@+id/engineer_button"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:text="@string/engineerMode"\r
+ android:layout_centerHorizontal="true"\r
+ android:textSize="26sp" \r
+ android:layout_marginTop="30dp"/>\r
+\r
+ <Button\r
+ android:layout_below="@+id/engineer_button"\r
+ android:id="@+id/more_button"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:text="@string/more"\r
+ android:layout_centerHorizontal="true"\r
+ android:textSize="26sp" \r
+ android:layout_marginTop="30dp"/>\r
+ \r
+ <Button\r
+ android:layout_below="@+id/more_button"\r
+ android:id="@+id/unbound_button"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:text="@string/unbound"\r
+ android:layout_centerHorizontal="true"\r
+ android:textSize="26sp" \r
+ android:layout_marginTop="30dp"/>\r
+\r
+</RelativeLayout>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<LinearLayout\r
+ android:orientation="vertical"\r
+ android:background="@drawable/white" \r
+ android:layout_width="fill_parent" \r
+ android:layout_height="fill_parent"\r
+ xmlns:android="http://schemas.android.com/apk/res/android">\r
+ \r
+ \r
+ <TextView \r
+ android:id="@+id/imei_sim1"\r
+ android:textColor="@drawable/black"\r
+ android:textSize="30dp"\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="wrap_content"\r
+ />\r
+ \r
+ <TextView \r
+ android:id="@+id/imei_sim2"\r
+ android:textColor="@drawable/black"\r
+ android:textSize="30dp"\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="wrap_content"\r
+ />\r
+ \r
+ <Button \r
+ android:textColor="@drawable/black" \r
+ android:id="@+id/imei_button1" \r
+ android:layout_width="fill_parent" \r
+ android:layout_height="wrap_content" \r
+ android:text="@string/read_imei" \r
+ android:onClick="onReadImeiBtnClicked" />\r
+ <Button \r
+ android:textColor="@drawable/black" \r
+ android:id="@+id/imei_button2" \r
+ android:layout_width="fill_parent" \r
+ android:layout_height="wrap_content" \r
+ android:text="@string/modify_imei_sim1" \r
+ android:onClick="onWriteSim1ImeiBtnClicked" />\r
+ <Button \r
+ android:textColor="@drawable/black" \r
+ android:id="@+id/imei_button3" \r
+ android:layout_width="fill_parent" \r
+ android:layout_height="wrap_content" \r
+ android:text="@string/modify_imei_sim2" \r
+ android:onClick="onWriteSim2ImeiBtnClicked" />\r
+ \r
+ \r
+</LinearLayout>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"\r
+ android:id="@+id/relativeLayout1"\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="fill_parent"\r
+ android:background="@drawable/default_bg" >\r
+\r
+ <LinearLayout\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="fill_parent"\r
+ android:gravity="center"\r
+ android:orientation="vertical" >\r
+\r
+ <ImageView\r
+ android:id="@+id/imageView1"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:contentDescription="@string/shakeTest"\r
+ android:src="@drawable/ic_motor" />\r
+\r
+ </LinearLayout>\r
+\r
+ <mobile.miki.mainui.ButtonViewTwo\r
+ android:id="@+id/btn_set"\r
+ android:layout_width="match_parent"\r
+ android:layout_height="wrap_content"\r
+ android:layout_alignParentBottom="true"\r
+ android:layout_centerHorizontal="true" >\r
+ </mobile.miki.mainui.ButtonViewTwo>\r
+ \r
+</RelativeLayout>
\ No newline at end of file
--- /dev/null
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"\r
+ xmlns:tools="http://schemas.android.com/tools"\r
+ android:layout_width="match_parent"\r
+ android:layout_height="match_parent"\r
+ android:paddingTop="@dimen/activity_vertical_margin"\r
+ tools:context="com.example.recordtest.MainActivity"\r
+ >\r
+ \r
+ <Button \r
+ android:id="@+id/startRecord" \r
+ android:layout_width="fill_parent" \r
+ android:layout_height="wrap_content" \r
+ android:layout_margin="5dp"\r
+ /> \r
+ <Button\r
+ android:layout_below="@+id/startRecord"\r
+ android:id="@+id/stopRecord" \r
+ android:layout_width="fill_parent" \r
+ android:layout_height="wrap_content" \r
+ android:layout_margin="5dp"\r
+ /> \r
+ <Button \r
+ android:layout_below="@+id/stopRecord"\r
+ android:id="@+id/startPlay" \r
+ android:layout_width="fill_parent" \r
+ android:layout_height="wrap_content" \r
+ android:layout_margin="5dp" \r
+ /> \r
+ <Button \r
+ android:layout_below="@+id/startPlay"\r
+ android:id="@+id/stopPlay" \r
+ android:layout_width="fill_parent" \r
+ android:layout_height="wrap_content" \r
+ android:layout_margin="5dp"\r
+ /> \r
+ \r
+ <mobile.miki.mainui.ButtonViewTwo\r
+ android:id="@+id/btn_set"\r
+ android:layout_width="match_parent"\r
+ android:layout_height="wrap_content"\r
+ android:layout_alignParentBottom="true"\r
+ android:layout_centerHorizontal="true" >\r
+ </mobile.miki.mainui.ButtonViewTwo>\r
+\r
+ \r
+</RelativeLayout >\r
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"\r
+ android:id="@+id/relativeLayout1"\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="fill_parent"\r
+ android:background="@drawable/default_bg" >\r
+\r
+ <LinearLayout\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="fill_parent"\r
+ android:gravity="center"\r
+ android:orientation="vertical" >\r
+ \r
+ <TextView \r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:text="@string/ring_test"\r
+ android:textSize="20sp"\r
+ android:textColor="@color/black"\r
+ />\r
+\r
+ </LinearLayout>\r
+ <Button \r
+ android:id="@+id/bt_showvolum"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:text="@string/show_volum"\r
+ android:visibility="gone"\r
+ />\r
+\r
+ <!--<SeekBar\r
+ android:id="@+id/seekbar"\r
+ android:layout_below="@+id/bt_showvolum"\r
+ style = "?android:attr/progressBarStyleHorizontal"\r
+ android:layout_width="match_parent"\r
+ android:layout_height="30dp"\r
+ android:max = "15"\r
+ android:progress = "50"\r
+ android:background="#000000"\r
+ android:minHeight="30dp"\r
+ />-->\r
+\r
+ <mobile.miki.mainui.ButtonViewTwo\r
+ android:id="@+id/btn_set"\r
+ android:layout_width="match_parent"\r
+ android:layout_height="wrap_content"\r
+ android:layout_alignParentBottom="true"\r
+ android:layout_centerHorizontal="true" >\r
+ </mobile.miki.mainui.ButtonViewTwo>\r
+\r
+</RelativeLayout>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"\r
+ android:id="@+id/relativeLayout1"\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="fill_parent"\r
+ android:background="@drawable/default_bg" >\r
+\r
+ <LinearLayout\r
+ xmlns:android="http://schemas.android.com/apk/res/android"\r
+ android:id="@+id/linearLayout1"\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="fill_parent"\r
+ android:gravity="center"\r
+ android:orientation="vertical" >\r
+\r
+ <LinearLayout\r
+ android:id="@+id/linearLayout3"\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="0.0dip"\r
+ android:layout_weight="0.5"\r
+ android:gravity="center"\r
+ android:orientation="vertical" >\r
+\r
+ <ImageView\r
+ android:id="@+id/imageView1"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:contentDescription="@string/detectSim"\r
+ android:src="@drawable/ic_sim" \r
+ android:paddingBottom="20dp"\r
+ android:visibility="gone"/>\r
+\r
+ <LinearLayout\r
+ android:id="@+id/linearLayout4"\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="wrap_content"\r
+ android:gravity="center"\r
+ >\r
+\r
+ <LinearLayout\r
+ android:id="@+id/linearLayout8"\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="fill_parent"\r
+ android:layout_weight="1.0"\r
+ android:gravity="center" >\r
+\r
+ <TextView\r
+ android:id="@+id/textView2"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:text="@string/sim1"\r
+ android:textColor="@drawable/black" \r
+ android:textSize="20dp"/>\r
+\r
+ <TextView\r
+ android:id="@+id/textView3"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:text="@string/colon"\r
+ android:textColor="@drawable/black"\r
+ android:textSize="20dp" />\r
+ </LinearLayout>\r
+\r
+ <LinearLayout\r
+ android:id="@+id/linearLayout6"\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="fill_parent"\r
+ android:layout_weight="1.0"\r
+ android:gravity="center" >\r
+\r
+ <TextView\r
+ android:id="@+id/tvSim0"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:text="@string/empty"\r
+ android:textColor="@drawable/black"\r
+ android:textSize="20dp" />\r
+ </LinearLayout>\r
+ </LinearLayout>\r
+\r
+ <LinearLayout\r
+ android:id="@+id/linearLayout5"\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="wrap_content"\r
+ android:gravity="center" \r
+ android:visibility="gone">\r
+\r
+ <LinearLayout\r
+ android:id="@+id/linearLayout9"\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="fill_parent"\r
+ android:layout_weight="1.0"\r
+ android:gravity="center" >\r
+\r
+ <TextView\r
+ android:id="@+id/textView1"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:text="@string/sim2"\r
+ android:textColor="@drawable/black"\r
+ android:textSize="20dp" />\r
+\r
+ <TextView\r
+ android:id="@+id/textView4"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:text="@string/colon"\r
+ android:textColor="@drawable/black" \r
+ android:textSize="20dp"/>\r
+ </LinearLayout>\r
+\r
+ <LinearLayout\r
+ android:id="@+id/linearLayout7"\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="fill_parent"\r
+ android:layout_weight="1.0"\r
+ android:gravity="center" >\r
+\r
+ <TextView\r
+ android:id="@+id/tvSim1"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:text="@string/empty"\r
+ android:textColor="@drawable/black"\r
+ android:textSize="20dp" />\r
+ </LinearLayout>\r
+ </LinearLayout>\r
+ \r
+ <!-- dou -->\r
+ <LinearLayout\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="wrap_content"\r
+ android:gravity="center" >\r
+ \r
+ <LinearLayout\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="fill_parent"\r
+ android:layout_weight="1.0"\r
+ android:gravity="center" >\r
+\r
+ <TextView\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:text="@string/network"\r
+ android:textColor="@drawable/black" \r
+ android:textSize="20dp"/>\r
+\r
+ <TextView\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:text="@string/colon"\r
+ android:textColor="@drawable/black" \r
+ android:textSize="20dp"/>\r
+ </LinearLayout>\r
+ \r
+ <LinearLayout\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="fill_parent"\r
+ android:layout_weight="1.0"\r
+ android:gravity="center" >\r
+\r
+ <TextView\r
+ android:id="@+id/network"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:text="@string/empty"\r
+ android:textColor="@drawable/black"\r
+ android:textSize="20dp" />\r
+ </LinearLayout>\r
+ </LinearLayout>\r
+ \r
+ <Button \r
+ android:layout_marginTop="10dp"\r
+ android:id="@+id/voice_phone"\r
+ android:layout_width="200dp"\r
+ android:layout_height="80dp"\r
+ android:text="@string/voice_phone_test"\r
+ android:onClick="intentToVoicePhone"\r
+ android:textSize="20dp"\r
+ android:visibility="gone"\r
+ />\r
+ \r
+ <!-- end -->\r
+ \r
+ </LinearLayout>\r
+\r
+ <LinearLayout\r
+ android:id="@+id/linearLayout2"\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="wrap_content"\r
+ android:gravity="center"\r
+ android:orientation="horizontal"\r
+ android:visibility="gone" >\r
+\r
+ <Button\r
+ android:id="@+id/button1"\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="wrap_content"\r
+ android:layout_weight="1.0"\r
+ android:onClick="detectSim1"\r
+ android:text="@string/detectSim1" />\r
+\r
+ <Button\r
+ android:id="@+id/button2"\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="wrap_content"\r
+ android:layout_weight="1.0"\r
+ android:onClick="detectSim2"\r
+ android:text="@string/detectSim2" />\r
+ </LinearLayout>\r
+ </LinearLayout>\r
+\r
+ <mobile.miki.mainui.ButtonViewTwo\r
+ android:id="@+id/btn_set"\r
+ android:layout_width="match_parent"\r
+ android:layout_height="wrap_content"\r
+ android:layout_alignParentBottom="true"\r
+ android:layout_centerHorizontal="true" >\r
+ </mobile.miki.mainui.ButtonViewTwo>\r
+\r
+</RelativeLayout>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<RelativeLayout android:layout_width="fill_parent" android:layout_height="fill_parent"\r
+ xmlns:android="http://schemas.android.com/apk/res/android">\r
+ <Switch android:id="@+id/switch_sim_lock" android:layout_width="fill_parent" android:layout_height="50.0dip" android:checked="false" android:text="@string/sim_lock" />\r
+</RelativeLayout>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"\r
+ android:id="@+id/relativeLayout1"\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="fill_parent" >\r
+\r
+ <LinearLayout\r
+ android:id="@+id/linearLayout1"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:layout_alignParentBottom="true"\r
+ android:layout_alignParentLeft="true"\r
+ android:layout_alignParentRight="true" >\r
+\r
+ <CheckBox\r
+ android:id="@+id/cbTestSuccess"\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="wrap_content"\r
+ android:layout_weight="1.0"\r
+ android:background="@drawable/lightGreen"\r
+ android:button="@drawable/checkbox_style"\r
+ android:gravity="center"\r
+ android:onClick="testSuccess"\r
+ android:text="@string/testSucess"\r
+ android:textColor="@drawable/black" />\r
+\r
+ <CheckBox\r
+ android:id="@+id/cbTestFail"\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="wrap_content"\r
+ android:layout_weight="1.0"\r
+ android:background="@drawable/lightOrange"\r
+ android:button="@drawable/checkbox_style"\r
+ android:gravity="center"\r
+ android:onClick="testFail"\r
+ android:text="@string/testFail"\r
+ android:textColor="@drawable/black" />\r
+ </LinearLayout>\r
+\r
+</RelativeLayout>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"\r
+ android:layout_width="match_parent"\r
+ android:layout_height="match_parent"\r
+ android:orientation="vertical" >\r
+\r
+ <LinearLayout\r
+ android:layout_width="match_parent"\r
+ android:layout_height="wrap_content"\r
+ android:orientation="vertical" >\r
+\r
+ <LinearLayout\r
+ android:layout_width="match_parent"\r
+ android:layout_height="wrap_content"\r
+ android:orientation="horizontal" >\r
+ \r
+ <TextView \r
+ android:id="@+id/total_textview1"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:text="@string/total_memory"\r
+ android:textSize="20sp"\r
+ />\r
+ \r
+ <TextView \r
+ android:id="@+id/total_textview2"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:textSize="20sp"\r
+ />\r
+ \r
+ </LinearLayout>\r
+ \r
+ <LinearLayout\r
+ android:layout_width="match_parent"\r
+ android:layout_height="wrap_content"\r
+ android:orientation="horizontal" >\r
+ \r
+ <TextView \r
+ android:id="@+id/avail_textview1"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:text="@string/avail_memory"\r
+ android:textSize="20sp"\r
+ />\r
+ \r
+ <TextView \r
+ android:id="@+id/avail_textview2"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:textSize="20sp"\r
+ />\r
+ \r
+ </LinearLayout>\r
+ \r
+ \r
+ \r
+ </LinearLayout>\r
+ \r
+ <mobile.miki.mainui.ButtonViewTwo\r
+ android:id="@+id/btn_set"\r
+ android:layout_width="match_parent"\r
+ android:layout_height="wrap_content"\r
+ android:layout_alignParentBottom="true"\r
+ android:layout_centerHorizontal="true" >\r
+ </mobile.miki.mainui.ButtonViewTwo>\r
+\r
+</RelativeLayout>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="fill_parent"
+ android:layout_height="fill_parent"
+ android:background="@android:color/white"
+ android:orientation="vertical" >
+
+ <TextView
+ android:id="@+id/MyBrightness"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:textColor="#FF0000"
+ android:textSize="32dip"
+ android:visibility="gone" />
+
+ <SeekBar
+ android:id="@+id/BrightnessSeekBar"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_horizontal"
+ android:max="255"
+ android:background="@android:color/holo_orange_light"
+ android:layout_marginTop="50dp"
+ android:paddingLeft="0.0dip"
+ android:paddingRight="0.0dip"
+ android:visibility="gone">
+ </SeekBar>
+ <mobile.miki.mainui.ButtonViewTwo
+ android:id="@+id/btn_set"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_alignParentBottom="true"
+ android:layout_centerHorizontal="true" >
+ </mobile.miki.mainui.ButtonViewTwo>
+
+
+</RelativeLayout>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="vertical"
+ android:background="@android:color/white">
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="12dip"
+ android:gravity="center_horizontal"
+ android:orientation="horizontal" >
+
+ <mobile.miki.VUMeter
+ android:id="@+id/uvMeter"
+ android:layout_width="200dip"
+ android:layout_height="80dip"
+ android:layout_centerInParent="true" />
+ </LinearLayout>
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_centerInParent="true"
+ android:background="@android:drawable/title_bar"
+ android:gravity="center_horizontal"
+ android:orientation="vertical"
+ android:visibility="gone">
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="@string/agree"
+ android:textColor="#000000"
+ android:textSize="24.0dip" />
+ </LinearLayout>
+
+ <mobile.miki.mainui.ButtonViewTwo
+ android:id="@+id/btn_set"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_alignParentBottom="true"
+ android:layout_centerHorizontal="true" >
+ </mobile.miki.mainui.ButtonViewTwo>
+</RelativeLayout>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"\r
+ android:layout_width="match_parent"\r
+ android:layout_height="match_parent"\r
+ android:orientation="vertical">\r
+ <TextView\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:textSize="38sp"\r
+ android:text="Test Report"/>\r
+ <ListView\r
+ android:id="@+id/list"\r
+ android:layout_width="match_parent"\r
+ android:layout_height="wrap_content"\r
+ android:divider="#00000000">\r
+\r
+ </ListView>\r
+\r
+</LinearLayout>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"\r
+ android:layout_width="match_parent"\r
+ android:layout_height="match_parent"\r
+ android:orientation="horizontal">\r
+ <TextView\r
+ android:id="@+id/tv_test_name"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:textSize="25sp"\r
+ />\r
+ <TextView\r
+ android:id="@+id/tv_test_result"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:textSize="25sp"\r
+ android:layout_marginLeft="10dp"\r
+ />\r
+\r
+</LinearLayout>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"\r
+ android:layout_width="match_parent"\r
+ android:layout_height="match_parent"\r
+ android:background="@drawable/button_common_white_bg"\r
+ android:orientation="vertical">\r
+\r
+ <TextView\r
+ android:id="@+id/text_item"\r
+ android:layout_width="match_parent"\r
+ android:layout_height="80dp"\r
+ android:textSize="25sp"\r
+ android:layout_gravity="center"\r
+ android:gravity="center"\r
+ android:text="11111111"/>\r
+\r
+\r
+</LinearLayout>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent"\r
+ xmlns:android="http://schemas.android.com/apk/res/android">\r
+ <ListView android:id="@+id/ListView_TouchScreen" android:layout_width="fill_parent" android:layout_height="wrap_content" />\r
+</LinearLayout>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent"\r
+ xmlns:android="http://schemas.android.com/apk/res/android">\r
+ <ListView android:id="@+id/ListView_TP_Verification" android:layout_width="fill_parent" android:layout_height="wrap_content" />\r
+</LinearLayout>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent"\r
+ xmlns:android="http://schemas.android.com/apk/res/android">\r
+ <ImageView android:id="@+id/img" android:layout_width="48.0dip" android:layout_height="48.0dip" android:layout_margin="5.0dip" />\r
+ <LinearLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_margin="5.0dip">\r
+ <TextView android:textSize="20.0dip" android:textColor="@*android:color/black" android:id="@+id/title" android:layout_width="fill_parent" android:layout_height="wrap_content" />\r
+ <RelativeLayout android:id="@+id/drawview" android:layout_width="fill_parent" android:layout_height="wrap_content">\r
+ <TextView android:textSize="16.0dip" android:textColor="#ffaaaaaa" android:id="@+id/info" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" />\r
+ </RelativeLayout>\r
+ </LinearLayout>\r
+</LinearLayout>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:orientation="vertical" >\r
+\r
+ <TextView\r
+ android:id="@+id/textview1"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:layout_gravity="center_horizontal"\r
+ android:text="@string/update_make_sure_to_continue"\r
+ android:textSize="20.0sp" />\r
+\r
+ <Button\r
+ android:id="@+id/execute_master_clear"\r
+ android:layout_width="150.0dip"\r
+ android:layout_height="wrap_content"\r
+ android:layout_gravity="center_horizontal"\r
+ android:layout_marginTop="40.0dip"\r
+ android:gravity="center"\r
+ android:text="@string/update_confirm" />\r
+\r
+</LinearLayout>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"\r
+ android:layout_width="match_parent"\r
+ android:layout_height="50dp"\r
+ android:orientation="horizontal" >\r
+\r
+ <Button\r
+ android:id="@+id/btn_two_right"\r
+ style="@style/button_white_text"\r
+ android:layout_width="0dp"\r
+ android:layout_height="match_parent"\r
+ android:layout_weight="1"\r
+ android:background="#DA5B17"\r
+ android:text="@string/fail"\r
+ android:textColor="#fff"\r
+ android:visibility="visible" />\r
+\r
+ <Button\r
+ android:id="@+id/btn_two_left"\r
+ style="@style/button_white_text"\r
+ android:layout_width="0dp"\r
+ android:layout_height="match_parent"\r
+ android:layout_weight="1"\r
+ android:background="#797979"\r
+ android:text="@string/success"\r
+ android:textColor="#000"\r
+ android:visibility="visible" />\r
+\r
+</LinearLayout>
\ No newline at end of file
--- /dev/null
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="vertical" >
+
+ <TextView
+ android:visibility="gone"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="10dp"
+ android:background="@drawable/setting_title_bg"
+ android:gravity="center_vertical"
+ android:paddingLeft="10.0dip"
+ android:textSize="20sp"
+ android:textStyle="bold" />
+
+
+
+ <TextView
+ android:gravity="center"
+ android:id="@+id/strength"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="10dp"
+ android:text="@string/lcd_result"
+ android:textColor="@color/black"
+ android:textSize="24sp" />
+
+ <TextView
+ android:layout_below="@+id/strength"
+ android:gravity="center"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="10dp"
+ android:text="@string/lcd_result_tip"
+ android:textColor="@color/black"
+ android:textSize="22sp" />
+
+ <Button
+ android:visibility="gone"
+ android:id="@+id/start_fm"
+ android:layout_width="match_parent"
+ android:layout_height="70dp"
+ android:layout_marginTop="20dp"
+ android:text="@string/start_test"
+ android:textSize="25sp" />
+
+ <include layout="@layout/urovo_layout_listline" />
+
+ <mobile.miki.mainui.ButtonViewTwo
+ android:layout_alignParentBottom="true"
+ android:layout_centerHorizontal="true"
+ android:id="@+id/btn_set"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:padding="5dp" >
+ </mobile.miki.mainui.ButtonViewTwo>
+
+</RelativeLayout>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"\r
+ android:layout_width="match_parent"\r
+ android:layout_height="wrap_content"\r
+ android:background="@drawable/list_line" >\r
+\r
+</LinearLayout>
\ No newline at end of file
--- /dev/null
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="vertical"
+ tools:context=".mainui.TestMainActivity">
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:gravity="center_vertical"
+ android:orientation="horizontal">
+
+
+ <RelativeLayout
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent">
+
+ <TextView
+ android:id="@+id/ceshibaogao"
+ style="@style/category_title_style"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_centerHorizontal="true"
+ android:text="@string/testReport"
+ android:textSize="18sp" />
+
+
+ <TextView
+ android:id="@+id/tip2"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_below="@+id/ceshibaogao"
+ android:text="@string/tip2"
+ android:textColor="#000"
+ android:textSize="15sp" />
+
+ <Button
+ android:id="@+id/test_result"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_below="@+id/tip2"
+ android:layout_centerHorizontal="true"
+ android:gravity="center_horizontal"
+ android:text="@string/clear_new"
+ android:textSize="20sp" />
+
+ </RelativeLayout>
+ </LinearLayout>
+
+ <GridView
+ android:id="@+id/gridview"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:numColumns="3"
+ />
+
+</LinearLayout>
\ No newline at end of file
--- /dev/null
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:layout_width="859dp"
+ android:layout_height="match_parent"
+ android:background="#ccc"
+ android:orientation="vertical" >
+
+ <include layout="@layout/urovo_layout_listline" />
+
+ <ScrollView
+ android:layout_width="match_parent"
+ android:layout_height="0dp"
+ android:layout_weight="1" >
+
+ <LinearLayout
+ android:layout_width="fill_parent"
+ android:layout_height="fill_parent"
+ android:orientation="vertical" >
+
+ <!-- jiaju test -->
+
+ <LinearLayout
+ android:id="@+id/jiaoju_test"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical" >
+
+ <TextView
+ android:id="@+id/jiaju"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="10dp"
+ android:background="@drawable/setting_title_bg"
+ android:gravity="center"
+ android:paddingLeft="10.0dip"
+ android:text="@string/jiaju"
+ android:textSize="28sp"
+ android:textStyle="bold" />
+
+ <TextView
+ android:id="@+id/nv_tag"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="10dp"
+ android:gravity="left"
+ android:textColor="@color/black"
+ android:textSize="26sp" />
+
+ <!-- <include layout="@layout/urovo_layout_listline" /> -->
+
+ <TextView
+ android:id="@+id/pass"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="10dp"
+ android:gravity="left"
+ android:textColor="@color/black"
+ android:textSize="26sp" />
+
+ <!-- <include layout="@layout/urovo_layout_listline" /> -->
+
+ <TextView
+ android:id="@+id/fail"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="10dp"
+ android:gravity="left"
+ android:textColor="@color/black"
+ android:textSize="26sp" />
+
+ <include layout="@layout/urovo_layout_listline" />
+
+ <TextView
+ android:id="@+id/none"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="10dp"
+ android:gravity="left"
+ android:text="@string/none"
+ android:textColor="@color/black"
+ android:textSize="26sp" />
+ <include layout="@layout/urovo_layout_listline" />
+ </LinearLayout>
+ <!-- auto test -->
+
+ <LinearLayout
+ android:id="@+id/auto_test"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical" >
+
+ <TextView
+ android:id="@+id/auto"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="10dp"
+ android:background="@drawable/setting_title_bg"
+ android:gravity="center"
+ android:paddingLeft="10.0dip"
+ android:text="@string/auto"
+ android:textSize="28sp"
+ android:textStyle="bold" />
+
+ <TextView
+ android:id="@+id/nv_tag1"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="5px"
+ android:gravity="left"
+ android:textColor="@color/black"
+ android:textSize="26sp" />
+
+ <!-- <include layout="@layout/urovo_layout_listline" /> -->
+
+ <TextView
+ android:id="@+id/pass1"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="10dp"
+ android:gravity="left"
+ android:textColor="@color/black"
+ android:textSize="26sp" />
+
+ <!-- <include layout="@layout/urovo_layout_listline" /> -->
+
+ <TextView
+ android:id="@+id/fail1"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="10dp"
+ android:gravity="left"
+ android:textColor="@color/black"
+ android:textSize="26sp" />
+
+ <include layout="@layout/urovo_layout_listline" />
+
+ <TextView
+ android:id="@+id/none1"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="10dp"
+ android:gravity="left"
+ android:text="@string/none1"
+ android:textColor="@color/black"
+ android:textSize="26sp" />
+
+ <include layout="@layout/urovo_layout_listline" />
+ </LinearLayout>
+
+ <!-- <include layout="@layout/urovo_layout_listline" /> -->
+
+ <LinearLayout
+ android:id="@+id/rf_Gs_test"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical" >
+
+ <TextView
+ android:id="@+id/rf_Gs"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="10dp"
+ android:background="@drawable/setting_title_bg"
+ android:gravity="center"
+ android:paddingLeft="10.0dip"
+ android:text="@string/sigle_new"
+ android:textSize="28sp"
+ android:textStyle="bold" />
+
+ <TextView
+ android:id="@+id/none2"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="10dp"
+ android:gravity="left"
+ android:text="@string/none2"
+ android:textColor="@color/black"
+ android:textSize="26sp" />
+ </LinearLayout>
+
+ <include layout="@layout/urovo_layout_listline" />
+ </LinearLayout>
+ </ScrollView>
+
+ <Button
+ android:id="@+id/close"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginBottom="10dp"
+ android:layout_marginTop="10dp"
+ android:gravity="center"
+ android:text="@string/close_r"
+ android:textSize="34sp" />
+
+</LinearLayout>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"\r
+ android:id="@+id/relativeLayout1"\r
+ android:layout_width="match_parent"\r
+ android:layout_height="fill_parent"\r
+ android:background="@android:color/white"\r
+ android:orientation="vertical">\r
+\r
+ <ScrollView\r
+ android:id="@+id/scrollView1"\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="0dp"\r
+ android:layout_marginBottom="0dp"\r
+ android:layout_weight="1"\r
+ android:background="@drawable/white">\r
+\r
+ <LinearLayout\r
+ android:id="@+id/linearLayout10"\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="wrap_content"\r
+ android:orientation="vertical">\r
+ <!--版本号-->\r
+ <LinearLayout\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="wrap_content"\r
+ android:layout_marginBottom="1.0dip"\r
+ android:background="@drawable/white"\r
+ android:orientation="vertical">\r
+ <TextView\r
+ android:id="@+id/tvBuildNumber"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:text="@string/buildNumber"\r
+ android:textAppearance="?android:textAppearanceMedium"\r
+ android:textColor="@drawable/black"\r
+ android:textSize="25sp" />\r
+\r
+ <TextView\r
+ android:id="@+id/tvBuildNumberValue"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:text="@string/empty"\r
+ android:textColor="@drawable/black"\r
+ android:textSize="25sp" />\r
+ </LinearLayout>\r
+\r
+ <View\r
+ android:layout_width="match_parent"\r
+ android:layout_height="1dp"\r
+ android:background="#c0c0c0" />\r
+\r
+ <!-- dou mod 20160831 -->\r
+ <!--imei-->\r
+ <LinearLayout\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="wrap_content"\r
+ android:layout_marginBottom="1.0dip"\r
+ android:background="@drawable/white"\r
+ android:orientation="vertical">\r
+\r
+ <TextView\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:text="@string/imei"\r
+ android:textAppearance="?android:textAppearanceMedium"\r
+ android:textColor="@drawable/black"\r
+ android:textSize="25sp" />\r
+\r
+ <TextView\r
+ android:id="@+id/tv_imei"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:text="@string/empty"\r
+ android:textColor="@drawable/black"\r
+ android:textSize="25sp" />\r
+ </LinearLayout>\r
+\r
+ <View\r
+ android:layout_width="match_parent"\r
+ android:layout_height="1dp"\r
+ android:background="#c0c0c0" />\r
+\r
+ <!--barcode-->\r
+ <LinearLayout\r
+ android:id="@+id/ll_barcode"\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="wrap_content"\r
+ android:layout_marginBottom="1.0dip"\r
+ android:background="@drawable/white"\r
+ android:orientation="vertical">\r
+\r
+ <TextView\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:text="@string/barcode"\r
+ android:textAppearance="?android:textAppearanceMedium"\r
+ android:textColor="@drawable/black"\r
+ android:textSize="25sp" />\r
+\r
+ <TextView\r
+ android:id="@+id/barcode"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:text="@string/empty"\r
+ android:textColor="@drawable/black"\r
+ android:textSize="25sp" />\r
+ </LinearLayout>\r
+\r
+ <View\r
+ android:layout_width="match_parent"\r
+ android:layout_height="1dp"\r
+ android:background="#c0c0c0" />\r
+ <!--校准-->\r
+ <LinearLayout\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="wrap_content"\r
+ android:layout_marginBottom="1.0dip"\r
+ android:background="@drawable/white"\r
+ android:orientation="vertical">\r
+\r
+ <TextView\r
+ android:id="@+id/rfParameters"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:text="@string/rf_parameters"\r
+ android:textAppearance="?android:textAppearanceMedium"\r
+ android:textColor="@drawable/black"\r
+ android:textSize="25sp" />\r
+\r
+ <TextView\r
+ android:id="@+id/rfParametersValue"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:text="@string/empty"\r
+ android:textColor="@drawable/black"\r
+ android:textSize="25sp" />\r
+ </LinearLayout>\r
+\r
+ <View\r
+ android:layout_width="match_parent"\r
+ android:layout_height="1dp"\r
+ android:background="#c0c0c0" />\r
+ <!-- cid号 -->\r
+ <LinearLayout\r
+ android:id="@+id/linearLayout12"\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="wrap_content"\r
+ android:layout_marginBottom="1.0dip"\r
+ android:background="@drawable/white"\r
+ android:orientation="vertical">\r
+\r
+ <TextView\r
+ android:id="@+id/cidParameters"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:text="cid"\r
+ android:textAppearance="?android:textAppearanceMedium"\r
+ android:textColor="@drawable/black"\r
+ android:textSize="25sp" />\r
+\r
+ <TextView\r
+ android:id="@+id/cidParametersValue"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:text="@string/empty"\r
+ android:textColor="@drawable/black"\r
+ android:textSize="25sp" />\r
+ </LinearLayout>\r
+\r
+ <View\r
+ android:layout_width="match_parent"\r
+ android:layout_height="1dp"\r
+ android:background="#c0c0c0" />\r
+\r
+ <!--SIM卡 ICCID-->\r
+ <LinearLayout\r
+ android:id="@+id/linearLayout11"\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="wrap_content"\r
+ android:layout_marginBottom="1.0dip"\r
+ android:background="@drawable/white"\r
+ android:orientation="vertical">\r
+\r
+ <TextView\r
+ android:id="@+id/SimIdParameters"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:text="@string/simid_parameters"\r
+ android:textAppearance="?android:textAppearanceMedium"\r
+ android:textColor="@drawable/black"\r
+ android:textSize="25sp" />\r
+\r
+ <TextView\r
+ android:id="@+id/SimidParametersValue"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:text="@string/empty"\r
+ android:textColor="@drawable/black"\r
+ android:textSize="25sp" />\r
+ </LinearLayout>\r
+\r
+ <View\r
+ android:layout_width="match_parent"\r
+ android:layout_height="1dp"\r
+ android:background="#c0c0c0" />\r
+\r
+ <!-- imei2 -->\r
+ <LinearLayout\r
+ android:id="@+id/ll_imei2"\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="wrap_content"\r
+ android:layout_marginBottom="1.0dip"\r
+ android:background="@drawable/white"\r
+ android:orientation="vertical">\r
+\r
+ <TextView\r
+ android:id="@+id/imeiParameters"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:text="@string/imei2"\r
+ android:textAppearance="?android:textAppearanceMedium"\r
+ android:textColor="@drawable/black"\r
+ android:textSize="25sp" />\r
+\r
+ <TextView\r
+ android:id="@+id/imeiParametersValue"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:text="@string/empty"\r
+ android:textColor="@drawable/black"\r
+ android:textSize="25sp" />\r
+ </LinearLayout>\r
+\r
+ <View\r
+ android:layout_width="match_parent"\r
+ android:layout_height="1dp"\r
+ android:background="#c0c0c0" />\r
+\r
+ <!-- 获取屏幕分辨率 -->\r
+ <LinearLayout\r
+ android:id="@+id/linearLayout14"\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="wrap_content"\r
+ android:layout_marginBottom="1.0dip"\r
+ android:background="@drawable/white"\r
+ android:orientation="vertical">\r
+\r
+ <TextView\r
+ android:id="@+id/screenResolutionParameters"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:text="@string/screen_resolution"\r
+ android:textAppearance="?android:textAppearanceMedium"\r
+ android:textColor="@drawable/black"\r
+ android:textSize="25sp" />\r
+\r
+ <TextView\r
+ android:id="@+id/screenResolutionParametersValue"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:text="@string/empty"\r
+ android:textColor="@drawable/black"\r
+ android:textSize="25sp" />\r
+ </LinearLayout>\r
+\r
+ <View\r
+ android:layout_width="match_parent"\r
+ android:layout_height="1dp"\r
+ android:background="#c0c0c0" />\r
+\r
+ <!--wifi mac地址-->\r
+ <LinearLayout\r
+ android:id="@+id/ll_wifi_mac_address"\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="wrap_content"\r
+ android:layout_marginBottom="1.0dip"\r
+ android:background="@drawable/white"\r
+ android:orientation="vertical">\r
+\r
+ <TextView\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:text="@string/wifi_mac_addaress"\r
+ android:textAppearance="?android:textAppearanceMedium"\r
+ android:textColor="@drawable/black"\r
+ android:textSize="25sp" />\r
+\r
+ <TextView\r
+ android:id="@+id/wifi_mac_address"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:text="@string/empty"\r
+ android:textColor="@drawable/black"\r
+ android:textSize="25sp" />\r
+ </LinearLayout>\r
+\r
+ <View\r
+ android:layout_width="match_parent"\r
+ android:layout_height="1dp"\r
+ android:background="#c0c0c0" />\r
+\r
+ <!--蓝牙 mac地址-->\r
+ <LinearLayout\r
+ android:id="@+id/ll_bluethooth_mac_address"\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="wrap_content"\r
+ android:layout_marginBottom="1.0dip"\r
+ android:background="@drawable/white"\r
+ android:orientation="vertical">\r
+\r
+ <TextView\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:text="@string/bluethooth_mac_addaress"\r
+ android:textAppearance="?android:textAppearanceMedium"\r
+ android:textColor="@drawable/black"\r
+ android:textSize="25sp" />\r
+\r
+ <TextView\r
+ android:id="@+id/bluethooth_mac_address"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:text="@string/empty"\r
+ android:textColor="@drawable/black"\r
+ android:textSize="25sp" />\r
+ </LinearLayout>\r
+\r
+ <View\r
+ android:layout_width="match_parent"\r
+ android:layout_height="1dp"\r
+ android:background="#c0c0c0" />\r
+ <!-- end -->\r
+ </LinearLayout>\r
+ </ScrollView>\r
+\r
+ <mobile.miki.mainui.ButtonViewTwo\r
+ android:id="@+id/btn_set"\r
+ android:layout_width="match_parent"\r
+ android:layout_height="wrap_content"\r
+ android:layout_alignParentBottom="true"\r
+ android:layout_centerHorizontal="true"></mobile.miki.mainui.ButtonViewTwo>\r
+\r
+</LinearLayout>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"\r
+ android:id="@+id/relativeLayout1"\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="fill_parent"\r
+ android:background="@drawable/default_bg"\r
+ android:orientation="vertical" >\r
+\r
+\r
+\r
+ <LinearLayout\r
+ android:id="@+id/linearLayout1"\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="wrap_content"\r
+ android:layout_alignParentBottom="true"\r
+ android:layout_centerHorizontal="true"\r
+ android:gravity="center"\r
+ android:visibility="gone" >\r
+\r
+ <Button\r
+ android:id="@+id/button1"\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="wrap_content"\r
+ android:layout_weight="1.0"\r
+ android:onClick="openWifi"\r
+ android:text="@string/wfOpen" />\r
+\r
+ <Button\r
+ android:id="@+id/button2"\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="wrap_content"\r
+ android:layout_weight="1.0"\r
+ android:onClick="wifiScan"\r
+ android:text="@string/wfScan" />\r
+ </LinearLayout>\r
+\r
+ <LinearLayout\r
+ android:id="@+id/linearLayout2"\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="wrap_content"\r
+ android:layout_above="@+id/linearLayout1"\r
+ android:layout_alignParentTop="true"\r
+ android:layout_centerHorizontal="true"\r
+ android:gravity="center"\r
+ android:orientation="vertical" >\r
+\r
+ <ImageView\r
+ android:id="@+id/imageView2"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:src="@drawable/ic_wifi"\r
+ android:visibility="gone" />\r
+\r
+ <LinearLayout\r
+ android:id="@+id/linearLayout3"\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="wrap_content"\r
+ android:gravity="center" >\r
+\r
+ <LinearLayout\r
+ android:id="@+id/linearLayout4"\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="fill_parent"\r
+ android:layout_weight="1.0"\r
+ android:gravity="center" >\r
+\r
+ <TextView\r
+ android:id="@+id/textView1"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:text="@string/wfState"\r
+ android:textColor="@drawable/black"\r
+ android:textSize="22sp" />\r
+\r
+ <TextView\r
+ android:id="@+id/textView2"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:text="@string/colon"\r
+ android:textColor="@drawable/black" />\r
+ </LinearLayout>\r
+\r
+ <LinearLayout\r
+ android:id="@+id/linearLayout5"\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="fill_parent"\r
+ android:layout_weight="1.0"\r
+ android:gravity="center" >\r
+\r
+ <TextView\r
+ android:id="@+id/tvState"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:text="@string/empty"\r
+ android:textColor="@drawable/black"\r
+ android:textSize="22sp" />\r
+ </LinearLayout>\r
+ </LinearLayout>\r
+\r
+ <LinearLayout\r
+ android:id="@+id/linearLayout6"\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="wrap_content"\r
+ android:background="@drawable/white"\r
+ android:gravity="center"\r
+ android:orientation="vertical" >\r
+\r
+ <Button\r
+ android:id="@+id/button3"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:onClick="wifiScan"\r
+ android:text="@string/reScan" />\r
+\r
+ <ListView\r
+ android:id="@+id/lvDevice"\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="wrap_content"\r
+ android:background="@drawable/grey"\r
+ android:cacheColorHint="#00000000" />\r
+ </LinearLayout>\r
+ </LinearLayout>\r
+\r
+ <!--\r
+ <include\r
+ android:layout_alignParentBottom="true"\r
+ android:layout_centerHorizontal="true"\r
+ layout="@layout/success_fail" />\r
+\r
+ -->\r
+\r
+ <mobile.miki.mainui.ButtonViewTwo\r
+ android:id="@+id/btn_set"\r
+ android:layout_width="match_parent"\r
+ android:layout_height="wrap_content"\r
+ android:layout_alignParentBottom="true"\r
+ android:layout_centerHorizontal="true" >\r
+ </mobile.miki.mainui.ButtonViewTwo>\r
+\r
+</RelativeLayout>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<resources>\r
+ <string name="app_name">FactoryMode</string>\r
+ <string name="otaupdate">OTA Update</string>\r
+ <string name="light">Light_induction</string>\r
+ <string name="noLight">Could not get brightness value</string>\r
+ <string name="defaultlightness">Getting_brightness</string>\r
+ <string name="lightness">brightness</string>\r
+ <string name="lightTip">Tip: the phone is positive toward the light source is conducive to faster access to brightness</string>\r
+ <string name="magnetic">Magnetic_induction</string>\r
+ <string name="magneticX">Magnetic field x</string>\r
+ <string name="magneticY">Magnetic field Y</string>\r
+ <string name="magneticZ">Magnetic field Z</string>\r
+ <string name="gravity">Gravity induction</string>\r
+ <string name="gravityX">Gravity x</string>\r
+ <string name="gravityY">Gravity Y</string>\r
+ <string name="gravityZ">Gravity Z</string>\r
+ <string name="shakeTest">Vibration_test</string>\r
+ <string name="shakeClick">Click_shock</string>\r
+ <string name="noShake">Does not support the mobile phone vibration</string>\r
+ <string name="keysTest">Key test</string>\r
+ <string name="keyPower">Power</string>\r
+ <string name="keyVLDown">VLUp</string>\r
+ <string name="keyVLUP">VLDown</string>\r
+ <string name="keySearch">Search</string>\r
+ <string name="keyHome">Home</string>\r
+ <string name="keyMenu">Menu</string>\r
+ <string name="keyBack">Back</string>\r
+ <string name="keyCamera">Camera</string>\r
+ <string name="keyCall">Call</string>\r
+ <string name="keyEndCall">EndCall</string>\r
+ <string name="empty">--</string>\r
+ <string name="detectSim">Sim card detection</string>\r
+ <string name="detectSim1">Detection Sim1</string>\r
+ <string name="detectSim2">Detection Sim2</string>\r
+ <string name="sim1">Sim1</string>\r
+ <string name="sim2">Sim2</string>\r
+ <string name="cardTest">SDcardtest</string>\r
+ <string name="cardAvail">Insert SD card</string>\r
+ <string name="cardFreeSize">Available space</string>\r
+ <string name="cardUsedSize">used space</string>\r
+ <string name="cardTotalSize">SD card capacity</string>\r
+ <string name="card2TotalSize">SD2 card capacity</string>\r
+ <string name="checkSum">Checksum</string>\r
+ <string name="nandFlash">Cell phone memory</string>\r
+ <string name="manufacturerID">Manufacturer ID</string>\r
+ <string name="deviceID">device ID</string>\r
+ <string name="rwTestResult">Read and write test results</string>\r
+ <string name="signalTest">Signal test</string>\r
+ <string name="signalRsult">Signal test results</string>\r
+ <string name="signalTestError">Signal test failure</string>\r
+ <string name="emergencyCall">Call 112</string>\r
+ <string name="chinaMoveCall">Call 10086</string>\r
+ <string name="emergencyCallSuccess">Call an emergency call success</string>\r
+ <string name="emergencyCallFail">Call emergency failure</string>\r
+ <string name="headsetTest">Headset test</string>\r
+ <string name="headsetAvail">There is no headset</string>\r
+ <string name="startMusic">play</string>\r
+ <string name="headsetButton">According to the remote control button</string>\r
+ <string name="gpsTest">GPS location</string>\r
+ <string name="gpsLongitude">longitude</string>\r
+ <string name="gpsDimensions">latitude</string>\r
+ <string name="coldRestart">cold boot</string>\r
+ <string name="hotRestart">Hot start</string>\r
+ <string name="noPosition">No geographic information</string>\r
+ <string name="gpsTTFF">GPS TTFF</string>\r
+ <string name="gpslocation">Getting GPS location information...</string>\r
+ <string name="sec">sec</string>\r
+ <string name="fmTest">Screen brightness</string>\r
+ <string name="fmSetFreq">channel</string>\r
+ <string name="rssi">RSSI</string>\r
+ <string name="mhz">MHZ</string>\r
+ <string name="dbm">(dBm)</string>\r
+ <string name="testFreq0">Test Freq 0</string>\r
+ <string name="testFreq1">Test Freq 1</string>\r
+ <string name="testFreq2">Test Freq 2</string>\r
+ <string name="testFreq3">Test Freq 3</string>\r
+ <string name="bluetooth">Bluetooth test</string>\r
+ <string name="blState">Bluetooth status</string>\r
+ <string name="blOpen">Turn on Bluetooth</string>\r
+ <string name="blOpened">Bluetooth is turned on</string>\r
+ <string name="blNoSerport">The current phone does not support Bluetooth</string>\r
+ <string name="bldenied">Bluetooth has been banned</string>\r
+ <string name="blScan">Bluetooth scan</string>\r
+ <string name="blScaning">Scanning Bluetooth device</string>\r
+ <string name="wifitest">WIFI test</string>\r
+ <string name="wfState">WIFI state</string>\r
+ <string name="wfOpen">Start WIFI</string>\r
+ <string name="wfScan">WIFI scan</string>\r
+ <string name="wfScaning">Is sweeping the hot spots</string>\r
+ <string name="cameraTest">Camera test</string>\r
+ <string name="mainCamera">Main camera</string>\r
+ <string name="subCamera">Vice camera</string>\r
+ <string name="ringtone">Bell test</string>\r
+ <string name="ringStart">Click play</string>\r
+ <string name="receiverTest">Receiver test</string>\r
+ <string name="loopback">Microphone test</string>\r
+ <string name="mic1">Mobile phone microphone test</string>\r
+ <string name="mic2">Headphone microphone test</string>\r
+ <string name="receiverStart">Click play</string>\r
+ <string name="colon">:</string>\r
+ <string name="nothing">nothing</string>\r
+ <string name="ok">correct</string>\r
+ <string name="found">find</string>\r
+ <string name="tsb">Taiwan equipment</string>\r
+ <string name="returnBack">return</string>\r
+ <string name="getInfo">Getting information...</string>\r
+ <string name="noFoundDev">No devices found</string>\r
+ <string name="noMainC">Rear facing camera is not supported</string>\r
+ <string name="noSubC">Rear facing camera is not supported</string>\r
+ <string name="gpsOk">GPS module normal</string>\r
+ <string name="pleaseOpGps">Please open the GPS first!</string>\r
+ <string name="waitForpo">Wait for location information</string>\r
+ <string name="state">state</string>\r
+ <string name="have">yes</string>\r
+ <string name="yes">yes</string>\r
+ <string name="no">no</string>\r
+ <string name="_fail">Fail</string>\r
+ <string name="checkFail">Failure detection</string>\r
+ <string name="rwCheckSuccess">Reading and writing test success</string>\r
+ <string name="rwCheckFail">Reading and writing test success</string>\r
+ <string name="dailSuccess">Call success</string>\r
+ <string name="dailFail">Call failed</string>\r
+ <string name="grd">A hot spot</string>\r
+ <string name="foundNoHot">Did not search to the hot spots</string>\r
+ <string name="openWififail">WIFI startup failed</string>\r
+ <string name="scanBegin">Start scanning</string>\r
+ <string name="wifiOpening">Starting WIFI...</string>\r
+ <string name="wifiOpen">WIFI has been started</string>\r
+ <string name="noSuportWifi">Does not support WIFI</string>\r
+ <string name="pleaseInsertHS">Please insert the headset</string>\r
+ <string name="pleaseOffHS">Please unplug the headset</string>\r
+ <string name="record">sound recording</string>\r
+ <string name="recordStart">Is recording</string>\r
+ <string name="stop">stop it</string>\r
+ <string name="recordstop">Stop status</string>\r
+ <string name="play">play</string>\r
+ <string name="delete">delete</string>\r
+ <string name="recordFile">Recording file</string>\r
+ <string name="testTouchScreen">touch screen</string>\r
+ <string name="TouchScreen">TouchScreen</string>\r
+ <string name="TouchScreen_HandWriting">TouchScreen_HandWriting</string>\r
+ <string name="TouchScreen_Verification">TouchScreen_Verification</string>\r
+ <string name="TouchScreen_VerificationPoint">TouchScreen_VerificationPoint</string>\r
+ <string name="TouchScreen_VerificationLine">TouchScreen_VerificationLine</string>\r
+ <string name="TouchScreen_VerificationShaking">TouchScreen_VerificationShaking</string>\r
+ <string name="TouchScreen_MultiTouch">TouchScreen_MultiTouch</string>\r
+ <string name="TouchScreen_Settings_TextValue">The value</string>\r
+ <string name="TouchScreen_Settings_TextSpinner">Category</string>\r
+ <string name="TouchScreen_Settings_TextSet">Set</string>\r
+ <string name="TouchScreen_Settings">Settings</string>\r
+ <string name="TouchScreen_Settings_Value">0</string>\r
+ <string name="TouchScreen_Settings_sdcard">OFF</string>\r
+ <string name="TouchScreen_Settings_uart">OFF</string>\r
+ <string name="TouchScreen_Settings_TextUart">Enable Uart Log</string>\r
+ <string name="TouchScreen_Settings_TextSDcard">Enable SD card Log</string>\r
+ <string name="power">Electricity</string>\r
+ <string name="noPower">Unable to obtain power</string>\r
+ <string name="nowState">current state</string>\r
+ <string name="playrecord">Being played</string>\r
+ <string name="recordFirst">No audio file, please record</string>\r
+ <string name="palyfinish">Play end</string>\r
+ <string name="distanceSensor">Distance sensing</string>\r
+ <string name="noDistanceSensor">No distance sensing information</string>\r
+ <string name="inDistance">Object approach</string>\r
+ <string name="outDistance">Object departure</string>\r
+ <string name="distanceTip">Tip: hand block / leave screen at the top of the test</string>\r
+ <string name="largestSound">Max volume play</string>\r
+ <string name="capture">Capture</string>\r
+ <string name="cameraMotor">Camera motor</string>\r
+ <string name="pullFar">Pull to the maximum</string>\r
+ <string name="pullClose">Pull to the minimum</string>\r
+ <string name="pullLoop">Cycle focus</string>\r
+ <string name="pullStopLoop">Stop cycle focus</string>\r
+ <string name="matvTest">TV signal test</string>\r
+ <string name="press">Hold down</string>\r
+ <string name="release">let go</string>\r
+ <string name="lastOne">Last one</string>\r
+ <string name="nextOne">Next one</string>\r
+ <string name="singleTest">single test</string>\r
+ <string name="read_imei">Display IMEI number</string>\r
+ <string name="modify_imei_sim1">Modify SIM1</string>\r
+ <string name="modify_imei_sim2">Modify SIM2</string>\r
+ <string name="input_imei_title">Please enter a new IMEI number</string>\r
+ <string name="autoTest">Automatic testing</string>\r
+ <string name="pcbaTest">PCBA testing</string>\r
+ <string name="sysVersion">edition</string>\r
+ <string name="reStore">Restore factory settings</string>\r
+ <string name="mediaTest">mediaTest</string>\r
+ <string name="readAPN">APN query</string>\r
+ <string name="sim_lock_settings">SIM card lock function setting</string>\r
+ <string name="modify_imei">Modify IMEI number</string>\r
+ <string name="testReport">Test report</string>\r
+ <string name="beginTestGPS">Click start GPS test</string>\r
+ <string name="beginTestTM">Click start FM test</string>\r
+ <string name="beginTestCamera">Click to start the camera test</string>\r
+ <string name="beginTestMtv">Click to start the TV signal test</string>\r
+ <string name="beginTestCmotor">Click to start the camera motor test</string>\r
+ <string name="beginTestScreenTouch">beginTestScreenTouch</string>\r
+ <string name="beginTestMulitScreenTouch">beginTestMulitScreenTouch</string>\r
+ <string name="testSucess">success</string>\r
+ <string name="testFail">fail</string>\r
+ <string name="testReprot">Test report</string>\r
+ <string name="bbChip">BB Chip</string>\r
+ <string name="msBoard">MS Board</string>\r
+ <string name="modemVer">Modem Ver</string>\r
+ <string name="buildTime">Build Time</string>\r
+ <string name="buildNumber">Build Number</string>\r
+ <string name="uBootVer">UBoot Ver</string>\r
+ <string name="kernelVer">Kernel Ver</string>\r
+ <string name="androidVer">Android Ver</string>\r
+ <string name="swVer">SW Ver</string>\r
+ <string name="verno">Custom Build Verno</string>\r
+ <string name="deviceInfoDefault">unKnown</string>\r
+ <string name="isLatestOne">Is the last one</string>\r
+ <string name="isTopOne">Is the last one</string>\r
+ <string name="reScan">Re scan</string>\r
+ <string name="versionTest">Version test</string>\r
+ <string name="flashLightTest">Flash test</string>\r
+ <string name="openLight">open</string>\r
+ <string name="closeLight">close</string>\r
+ <string name="appsPath">Application path</string>\r
+ <string name="defaultPath">mnt/sdcard/apps</string>\r
+ <string name="installPath">Installation location</string>\r
+ <string name="sdCard">SDCard</string>\r
+ <string name="phone">mobile phone</string>\r
+ <string name="startInstall">Start installation</string>\r
+ <string name="selectInsLocation">Please select the installation location</string>\r
+ <string name="noApps">No application can be installed</string>\r
+ <string name="nowInstall">Being installed</string>\r
+ <string name="submit">determine</string>\r
+ <string name="unbound_cancel">cancel</string>\r
+ <string name="installFinish">Installation end</string>\r
+ <string name="installSoft">Installation software</string>\r
+ <string name="cmmbTest">mobile TV</string>\r
+ <string name="bCmmbTest">Click to enter the mobile TV test</string>\r
+ <string name="setMac">Write WIFI/ Bluetooth MAC address</string>\r
+ <string name="phoneDetail">Device Status</string>\r
+ <string name="imei">IMEI</string>\r
+\r
+ <string name="imei_invalid">invalid</string>\r
+ <string name="imei_write_successful">Write IMEI number is successful, please restart the phone into effect!</string>\r
+ <string name="imei_wirte_fail">Write IMEI number failed, please enter the correct IMEI number!</string>\r
+ <string name="storage">storage</string>\r
+ <string name="sdcard_storage">SD card storage available / total</string>\r
+ <string name="phone_storage">Internal storage available / total</string>\r
+ <string name="mac">MAC</string>\r
+ <string name="bt">Bluetooth</string>\r
+ <string name="wifi">WIFI</string>\r
+ <string name="checkDir">SD card structure</string>\r
+ <string name="installedSoft">Installed applications</string>\r
+ <string name="cpsdcard2">Copy_sdcard2</string>\r
+ <string name="cpsdcard2Hint">Click OK to copy all the files on the SDCard2 to SDCard, the same name of the file will be covered, to confirm the copy?</string>\r
+ <string name="cpsdcard2ing">Being copied...</string>\r
+ <string name="cpsdcard2finish">copy complete</string>\r
+ <string name="agree">confirm</string>\r
+ <string name="cancel">close</string>\r
+ <string name="srcDir">Source directory</string>\r
+ <string name="tarDir">Target directory</string>\r
+ <string name="srcPath">/mnt/sdcard2</string>\r
+ <string name="tarPath">/mnt/sdcard/miki</string>\r
+ <string name="version_label">Version</string>\r
+ <string name="sw_label">[SW VERSION]</string>\r
+ <string name="hw_label">[HW VERSION]</string>\r
+ <string name="btn_close">Close</string>\r
+ <string name="sw_and_hw">Version</string>\r
+ <string name="sn">SN</string>\r
+ <string name="sn_invalid">Invalid</string>\r
+ <string name="hw">Cosmote-ver1</string>\r
+ <string name="sw">Cosmote_</string>\r
+ <string name="vk_hw">Cosmote-ver1</string>\r
+ <string name="vk_sw">Cosmote_</string>\r
+ <string name="no_ota_file">Nu a fost găsită nicio versiune software.Vă rugăm să copiaţi versiunea software in rădăcina SDcard-ului sau memoria internă.</string>\r
+ <string name="update_from_sd">upgrade</string>\r
+ <string name="update_make_sure_to_continue">This operation is not restored, are you sure?</string>\r
+ <string name="update_confirm">Da</string>\r
+\r
+ <string name="update_make_sure_and_select_file">This operation is not restored, such as determining if you click on the button to select the upgrade file.</string>\r
+ <string name="update_select_file">Select file</string>\r
+ <string name="update_write_file_faild">fail to write to file</string>\r
+ <string name="update_file_wrong">File type error, or can not find the upgrade file</string>\r
+ <string name="update_make_sure_to_update">Doriţi să actualizaţi versiunea software?(Vă rugăm să copiaţi versiunea software in rădăcina SDcard-ului sau memoria internă)</string>\r
+ <string name="TestMedia">TestMedia</string>\r
+ <string name="sdcardfile">SDcard</string>\r
+ <string name="buildIn">buildIn</string>\r
+ <string name="no_compass">No magnetic sensor found</string>\r
+ <string name="test_tv_SMT">SMT test</string>\r
+ <string name="test_tv_ZZ">Assembly test</string>\r
+ <string name="test_tv_Retain">Comprehensive test</string>\r
+ <string name="apn_mcc">MCC:</string>\r
+ <string name="apn_mnc">MNC:</string>\r
+ <string name="imei1">IMEI1</string>\r
+ <string name="apn_search">Search</string>\r
+ <string name="lcdTest">LCD</string>\r
+ <string name="lcdTest_lsn">LCD</string>\r
+ <string name="phoneTest">Telephone</string>\r
+ <string name="bgLightTest">Background light test</string>\r
+ <string name="bgLightStrong">Strong backlight</string>\r
+ <string name="bgLightWeak">Weak backlight</string>\r
+ <string name="imei_ok">determine</string>\r
+ <string name="imei2">imei2</string>\r
+ <string name="sorry_again">Sorry, your input is not correct. Please try again!</string>\r
+ <string name="ramTest">Ram</string>\r
+ <string name="romTest">Rom</string>\r
+ <string name="ramromTest">Memory!</string>\r
+ <string name="otgTest">OTG test</string>\r
+ <string name="otg_disconnect">No OTG device connection</string>\r
+ <string name="otg_connect">Detecting device</string>\r
+ <string name="powerBatteryTest">Power charge test</string>\r
+ <string name="power_charge_battery_state">Charging status</string>\r
+ <string name="power_current_battery">Current power</string>\r
+ <string name="power_battery">battery level</string>\r
+ <string name="power_state">Power state</string>\r
+ <string name="power_current_voltage">Current voltage</string>\r
+ <string name="power_temperature">Power supply temperature</string>\r
+ <string name="power_skill">Power technology</string>\r
+ <string name="power_electric">Battery terminal current</string>\r
+ <string name="power_time">Self starting time</string>\r
+ <string name="battery_info_power_unplugged">Not plugged in</string>\r
+ <string name="battery_info_power_ac">alternating current</string>\r
+ <string name="battery_info_power_usb">USB</string>\r
+ <string name="battery_info_power_wireless">wireless</string>\r
+ <string name="battery_info_power_ac_usb">alternating current + USB</string>\r
+ <string name="battery_info_power_unknown">未知</string>\r
+ <string name="battery_info_health_unknown">unknown</string>\r
+ <string name="battery_info_health_good">Good</string>\r
+ <string name="battery_info_health_overheat">overheated</string>\r
+ <string name="battery_info_health_dead">No electricity</string>\r
+ <string name="battery_info_health_over_voltage">Over voltage</string>\r
+ <string name="battery_info_health_unspecified_failure">unknown error</string>\r
+ <string name="battery_info_health_cold">Low power</string>\r
+ <string name="battery_info_temperature_units">° C</string>\r
+ <string name="beginPhoneTest">Click to start the phone test</string>\r
+ <string name="imeisnTest">IMEI/SN</string>\r
+ <string name="key_ear">Earphone button</string>\r
+ <string name="kernel_specified">**********</string>\r
+ <string name="kernelVer1">Kernel Ver1</string>\r
+ <string name="sim_lock">SIM card lock function</string>\r
+ <string name="call_fun">Call test</string>\r
+ <string name="begincall">Click Start test call</string>\r
+\r
+ <string name="battery_status">Battery status : </string>\r
+ <string name="battery_info_status_charging">Charging</string>\r
+ <string name="battery_v">Battery voltage : </string>\r
+ <string name="battery_temp">Battery temperature : </string>\r
+ <string name="battery_info_status_charging_ac">(AC)</string>\r
+ <string name="battery_info_status_charging_usb">(USB)</string>\r
+ <string name="battery_info_status_discharging">Not charging</string>\r
+ <string name="battery_info_status_not_charging">Not charging</string>\r
+ <string name="battery_info_status_full">Full</string>\r
+ <string name="battery_info_status_unknown">Unknown</string>\r
+ <string name="battery_info_voltage_units">mV</string>\r
+ <string name="battery_level">Battery level : </string>\r
+ <string name="battery_health">Battery health : </string>\r
+\r
+\r
+ <string name="battery_charging">Battery Charging Test</string>\r
+ <string name="ins_gsensor">Please turn over the phone to complete the test!</string>\r
+ <string name="ins_gsensor_toast">Pass!</string>\r
+\r
+\r
+ <string name="isZoom_y">PASS!</string>\r
+\r
+ <string name="isZoom_n">FAIL!</string>\r
+ <string name="rf_parameters">rf</string>\r
+ <string name="simid_parameters">SimSerialNumber</string>\r
+ <string name="vl_up">VLUp</string>\r
+ <string name="vl_down">VLDown</string>\r
+ <string name="sos">miaoSoS</string>\r
+ <string name="ageing_mode">Ageing mode</string>\r
+ <string name="ageing_speaker_test">Speaker test</string>\r
+ <string name="ageing_lcd_test">LCD test</string>\r
+ <string name="ageing_camera_test">Camera test</string>\r
+ <string name="show_volum">To adjust the volume, please click here</string>\r
+ <string name="brightness_setting">Dimming</string>\r
+\r
+ <string name="start_test_new">Start Testing</string>\r
+ <string name="benji">Factory test</string>\r
+ <string name="resunme">Reset</string>\r
+ <string name="tip2">Logo: pass (green), not pass (red), not measured (white)</string>\r
+ <string name="clear_new">Clear the test data</string>\r
+ <string name="version_new">Version and calibration</string>\r
+ <string name="touch">Touch screen</string>\r
+ <string name="light_new">Display screen</string>\r
+ <string name="test_camera">Camera</string>\r
+ <string name="camera">Camera</string>\r
+ <string name="speak">Speaker</string>\r
+ <string name="mic_title">Microphone</string>\r
+ <string name="sim_title">SIM card</string>\r
+ <string name="dual_new">Phone</string>\r
+ <string name="beiguang_new">Backlight</string>\r
+ <string name="test_sensor">Gravity sensor</string>\r
+ <string name="test_battery">Battery</string>\r
+ <string name="gps">GPS</string>\r
+ <string name="startRecord">Start recording</string>\r
+ <string name="stopRecord">Stop recording</string>\r
+ <string name="startPlay">Start playing</string>\r
+ <string name="stopPlay">Stop play</string>\r
+ <string name="engineerMode">Engineering model</string>\r
+ <string name="more">More settings</string>\r
+ <string name="unbound">Unbound</string>\r
+ <string name="touchtest_toast">Please touch screen test</string>\r
+ <string name="testing_lcd">Testing LCD</string>\r
+ <string name="fail">FAIL</string>\r
+ <string name="success">SUCCESS</string>\r
+ <string name="network">network</string>\r
+ <string name="location_sucess">Location success </string>\r
+ <string name="location_fail">Location fail</string>\r
+ <string name="gps_searching">Getting Gps information...</string>\r
+ <string name="total_memory">Total memory: </string>\r
+ <string name="avail_memory">Avail memory: </string>\r
+ <string name="testing_backlight">Testing backlight</string>\r
+ <string name="lcd_result">LCD Test Results</string>\r
+ <string name="lcd_result_tip">Please determine whether the screen display is normal</string>\r
+ <string name="ring_test">Playing music, please listen...</string>\r
+ <string name="lcdtest_toast">Click to display the brightness progress bar, double-click to exit</string>\r
+ <string name="speak_toast">please speak</string>\r
+ <string name="stop_record_toast">Stop recording</string>\r
+ <string name="playing_toast">Start playing</string>\r
+ <string name="stop_playing_toast">Stop play</string>\r
+ <string name="clear_new_wanr">Are you sure to clear the test data </string>\r
+ <string name="clear_new_yes">confirm </string>\r
+ <string name="clear_new_no">return</string>\r
+ <string name="cid">CID</string>\r
+ <string name="sim_hasRead">Identified</string>\r
+ <string name="screen_resolution">screenResolution</string>\r
+ <string name="download_mode">download_mode</string>\r
+\r
+ <string name="beginLCDTM">点击开始LCD测试</string>\r
+\r
+ <string name="beginBackCameraTestCmotor">查看后拉摄像头</string>\r
+ <string name="rf_yes">是</string>\r
+ <string name="rf_no">否</string>\r
+ <string name="screen_bright">背光</string>\r
+ <string name="screen_bright_test">点击开始背光测试</string>\r
+ <string name="voice_phone_test">点击进入网络电话测试</string>\r
+ <string name="bluetootheTest">点击进入蓝牙测试</string>\r
+ <string name="radarTest">点击进入雷达测试</string>\r
+ <string name="radar">雷达测试</string>\r
+ <string name="open_radar">打开雷达</string>\r
+ <string name="close_radar">关闭雷达</string>\r
+ <!-- <string name="fm_test">FM测试</string> -->\r
+ <string name="open_fm">打开FM</string>\r
+ <string name="close_fm">关闭FM</string>\r
+ <string name="longitude">经度:</string>\r
+ <string name="latitude">纬度: </string>\r
+ <string name="brightness_test">屏幕亮度(请拖动滚动条):</string>\r
+ <string name="acc_test">acc点火测试</string>\r
+ <string name="brightLight">按键灯测试</string>\r
+ <string name="fm_isRing">提示:将收音机的频率调至101.0MHZ,测试收音机是否收到音乐,收到则成功,反之则失败。</string>\r
+ <string name="open_buttonLight">点击打开按键灯</string>\r
+\r
+ <string name="result">测试结果</string>\r
+ <!-- <string name="app_name">"测试程序"</string> -->\r
+ <string name="action_settings">设置</string>\r
+ <string name="urovo_test">"Testing tools"</string>\r
+ <string name="model_number">设备型号:</string>\r
+ <string name="manufacturer">制造商:</string>\r
+ <string name="release_number">Android版本:</string>\r
+ <string name="display_number">版本号:</string>\r
+ <string name="test_category_title">测试选项</string>\r
+ <string name="device_model_unknown">设备型号未知</string>\r
+ <string name="device_info_default">未知</string>\r
+ <string name="refresh_complete">刷新完成</string>\r
+ <string name="test_next">下一个</string>\r
+ <string name="test_last">上一个</string>\r
+ <string name="yes1">Yes</string>\r
+ <string name="no1">No</string>\r
+ <string name="ok1">Ok</string>\r
+ <string name="cancel1">Cancel</string>\r
+ <string name="openall_title">全部功能模块</string>\r
+ <string name="openall_summary">打开或关闭全部功能模块</string>\r
+ <string name="show_alltest_title">显示所有测试选项</string>\r
+ <string name="show_alltest_summary">主界面显示所有测试选项</string>\r
+ <string name="setting_title">设置</string>\r
+ <string name="moblie_test_title">整机测试</string>\r
+ <string name="Engineer_mode_title">工程模式</string>\r
+ <string name="map_copy_tools_title">地图拷贝工具</string>\r
+ <!-- device info -->\r
+ <string name="deviceinfo_title">设备信息</string>\r
+ <!-- audio -->\r
+ <string name="audio_default_music">播放默认音频文件</string>\r
+ <string name="audio_sdcard_music">扬声器(喇叭)测试</string>\r
+ <string name="audio_none_music">未找到音频文件</string>\r
+ <string name="audio_palying_tital">正在播放</string>\r
+ <string name="unknown_arter">未知</string>\r
+ <!-- flashlight -->\r
+ <string name="flashlight_title">闪光灯</string>\r
+ <string name="flashlight_none">设备无闪光灯</string>\r
+ <string name="flashlight_on">打开</string>\r
+ <string name="flashlight_off">关闭</string>\r
+ <!-- LED -->\r
+ <string name="led_tite">LED灯测试</string>\r
+ <string name="led_red_on">红色(ON)</string>\r
+ <string name="led_red_off">红色(OFF)</string>\r
+ <string name="led_red">红色</string>\r
+ <string name="led_blue">蓝色</string>\r
+ <string name="led_blue_on">蓝色(ON)</string>\r
+ <string name="led_blue_off">蓝色(OFF)</string>\r
+ <!-- tests -->\r
+ <string name="app_name_android">androidtest</string>\r
+ <string name="test_decive_info">设备</string>\r
+ <string name="test_lcd">LCD</string>\r
+ <string name="test_keypad">按键</string>\r
+ <string name="test_led">LED</string>\r
+ <string name="test_scanner">扫描头</string>\r
+ <string name="test_motor">马达</string>\r
+ <string name="test_audio">音频</string>\r
+ <string name="test_card">磁条卡</string>\r
+ <string name="test_wifi">WiFi</string>\r
+ <string name="test_bluetooth">蓝牙</string>\r
+ <string name="test_flashlight">闪光灯</string>\r
+ <string name="test_printer">打印</string>\r
+ <string name="test_gps">GPS</string>\r
+ <string name="test_record">麦克风</string>\r
+ <string name="test_3g">GSM</string>\r
+ <string name="test_rfid">非接卡</string>\r
+ <string name="test_icc">IC卡</string>\r
+ <string name="test_jj">高频</string>\r
+ <string name="test_cleanall">清除</string>\r
+ <string name="test_openall">打开全部模块</string>\r
+ <string name="test_closeall">关闭全部模块</string>\r
+ <string name="test_specifytest">选择测试</string>\r
+ <string name="test_alltest">全功能测试</string>\r
+ <string name="test_agedtest">老化测试</string>\r
+ <string name="test_noticelabel">请观察PCBA绿灯蓝灯</string>\r
+\r
+ <!-- PICC -->\r
+ <string name="picc_title">PICC测试</string>\r
+ <string name="picc_hint">请将卡放置在识别区</string>\r
+ <string name="picc_none">设备不支持FRID刷卡</string>\r
+\r
+ <!-- NFC -->\r
+ <string name="nfc_hint">请将卡放置在识别区</string>\r
+ <string name="nfc_start">Start</string>\r
+ <string name="nfc_stop">Stop</string>\r
+ <string name="nfc_context_title">NFC Test </string>\r
+ <string name="nfc_title">Test Control</string>\r
+ <string name="nfctest_info">Please place the NFC test card on the top of the NFC detective area of the device,\r
+ then press the start button to start testing, the device will output the warning tone after detected the\r
+ NFC test card. Finally, Press the stop button will stop the test.</string>\r
+ <string name="nfc_frequency">test gap time(ms):</string>\r
+ <!-- motortest -->\r
+ <string name="vibrator_title">震动</string>\r
+ <string name="app_name_driver">drivertest</string>\r
+ <string name="start">震动</string>\r
+ <string name="loginstr">开</string>\r
+ <string name="logoutstr">关</string>\r
+ <string name="wifi1">WIFI</string>\r
+ <string name="wcdma">3G</string>\r
+ <string name="bluetoothcn">蓝牙</string>\r
+ <string name="smt">扫描头</string>\r
+ <string name="motor">马达(MS)</string>\r
+ <!-- camera -->\r
+ <string name="record_start">开始录制</string>\r
+ <string name="record_complete">"录制成功,已保存"</string>\r
+ <string name="takepic_complete">拍照成功</string>\r
+ <string name="no_sdcard">未找到sd卡</string>\r
+ <!-- keypad -->\r
+ <string name="keypad_title">按键测试</string>\r
+ <string name="keypad_s1">S1</string>\r
+ <string name="keypad_s2">S2</string>\r
+ <string name="keypad_scan">Scan</string>\r
+ <string name="keypad_dpad_up">Up</string>\r
+ <string name="keypad_dpad_down">Down</string>\r
+ <string name="keypad_dpad_left">Left</string>\r
+ <string name="keypad_dpad_right">Right</string>\r
+ <string name="keypad_menu">Menu</string>\r
+ <string name="keypad_esc">Esc</string>\r
+ <string name="keypad_home">Home</string>\r
+ <string name="key_0">0</string>\r
+ <string name="key_1">1</string>\r
+ <string name="key_2">2</string>\r
+ <string name="key_3">3</string>\r
+ <string name="key_4">4</string>\r
+ <string name="key_5">5</string>\r
+ <string name="key_6">6</string>\r
+ <string name="key_7">7</string>\r
+ <string name="key_8">8</string>\r
+ <string name="key_9">9</string>\r
+ <string name="key_point">.</string>\r
+ <string name="keypad_sft">Sft</string>\r
+ <string name="keypad_alt">Ctrl</string>\r
+ <string name="keypad_aa">Aa</string>\r
+ <string name="keypad_fn">Fn</string>\r
+ <string name="keypad_ent">Ent</string>\r
+ <string name="keypad_del">"Del"</string>\r
+ <string name="keypad_space">"Space"</string>\r
+ <string name="keypad_power">Power</string>\r
+ <string name="keypad_asterisk">*</string>\r
+ <string name="keypad_pound">#</string>\r
+ <string name="keypad_volup">Volume + </string>\r
+ <string name="keypad_voldn">Volume - </string>\r
+ <string name="endaudio">完成</string>\r
+ <string name="quit">退出</string>\r
+ <!-- Bluetooth -->\r
+ <string name="bluetooth_scan">扫描</string>\r
+ <string name="bluetooth_bonded">已配对的设备</string>\r
+ <string name="bltooth_descovering">正在搜索周围可用设备...</string>\r
+ <string name="bluetooth_bonded_none">无已配对设备</string>\r
+ <string name="bluetooth_connectable">周围可用设备</string>\r
+ <string name="bluetooth_connectable_none">未检测到可用设备</string>\r
+ <string name="bluetooth_disable">蓝牙功能未打开</string>\r
+ <string name="bluetooth_title">蓝牙测试</string>\r
+ <string name="bluetooth_scan_for_devices">"扫描查找设备"</string>\r
+ <string name="btscan">手动搜索设备</string>\r
+ <string name="bluetooth_scan_complete">搜索结束</string>\r
+ <string name="bluetooth_notfound">蓝牙不可用</string>\r
+ <!-- Wifi -->\r
+ <string name="wifi_scan_complete">刷新完成</string>\r
+ <string name="wifi_state_title">Wifi测试</string>\r
+ <string name="wifi_state_connected">连接状态</string>\r
+ <string name="wifi_networks">附近网络</string>\r
+ <string name="wifi_connected_title">已连接</string>\r
+ <string name="wifi_unconnected_title">未连接</string>\r
+ <string name="wifi_scan_none">正在扫描周边wifi,请稍候...</string>\r
+ <string name="wifi_refresh">刷新</string>\r
+ <string name="wifi_state_disabling">正在关闭</string>\r
+ <string name="wifi_state_disabled">WIFI功能未打开,正在开启...</string>\r
+ <string name="wifi_state_enabling">正在打开</string>\r
+ <string name="wifi_state_enabled">WIFI功能已打开</string>\r
+ <string name="wifi_state_unknown">未知</string>\r
+ <!-- ICC -->\r
+ <string name="icc_title">IC卡测试</string>\r
+ <string name="icc_hint">请插IC卡</string>\r
+ <string name="icc_read">读卡</string>\r
+ <!-- scanner -->\r
+ <string name="scannertype_title">扫描头类型:</string>\r
+ <string name="scan_set">设置扫描头类型:</string>\r
+ <string name="scan_title">扫描结果</string>\r
+ <string name="scan_result">扫描结果</string>\r
+ <string name="set_scanner_model_complete">设置扫描头类型成功</string>\r
+ <string name="scan_about_msg">This program is the sample application provided\r
+ with project android-serialport-api. The project is free and open\r
+ source.\n\nMore information and bug report\r
+ on:\nhttp://code.google.com/p/android-serialport-api/\n\n- Cédric</string>\r
+ <string name="scan_error_configuration">Please configure your serial port first.</string>\r
+ <string name="scan_error_security">You do not have read/write permission to the serial port.</string>\r
+ <string name="scan_error_unknown">The serial port can not be opened for an unknown reason.</string>\r
+ <string name="scan_setup">setup</string>\r
+ <string name="scan_loopback">loopback</string>\r
+ <string name="scan_about">about</string>\r
+ <string name="scan_quit">quit</string>\r
+ <string name="scan_console">console</string>\r
+ <string name="scan_openscan">打开扫描头</string>\r
+ <string name="scan_closescan">关闭扫描头</string>\r
+ <string name="scan_setscan">设置默认参数</string>\r
+ <!-- 3G -->\r
+ <string name="wcdmafresh">刷新</string>\r
+ <string name="wcdmatext">3G测试</string>\r
+ <string name="options">Advance options</string>\r
+ <string name="options_save">Save</string>\r
+ <string name="options_cancle">Cancel</string>\r
+ <string name="output_dsc">After th barcode</string>\r
+ <string name="checkbox1_str">Output as keyboard</string>\r
+ <string name="checkbox2_str">Vibrate</string>\r
+ <string name="checkbox3_str">Beep</string>\r
+ <string name="checkbox4_str">Append "enter"</string>\r
+ <!-- gps -->\r
+ <string name="title_gps">GPS数据</string>\r
+ <string name="gps_disable">GPS功能尚未打开</string>\r
+ <string name="gps_longitude">经度:</string>\r
+ <string name="gps_latitude">纬度:</string>\r
+ <string name="gps_speed">速度:</string>\r
+ <string name="gps_altitude">海拔:</string>\r
+ <string name="gps_direction">方位:</string>\r
+ <string name="gps_getloc_failed">"获取地理位置信息失败"</string>\r
+ <!-- motor -->\r
+ <string name="motor_vibrator_frequency">震动时间间隔(ms):</string>\r
+ <string name="motor_vibrator_tm">震动持续时间(ms):</string>\r
+ <string name="motor_bgvibrator_start">开始</string>\r
+ <string name="motor_bgvibrator_stop">结束</string>\r
+ <string name="motor_notfound">设备不支持震动</string>\r
+ <!-- sensor -->\r
+ <string name="sensor_options">设备支持感应器</string>\r
+ <string name="sensor_gravity">重力感应器</string>\r
+ <string name="sensor_accelerometer">加速度感应器</string>\r
+ <string name="sensor_light">光线感应器</string>\r
+ <string name="sensor_data_null">未能获取感应器数据</string>\r
+ <!-- magnetic stripe card -->\r
+ <string name="mag_result_title">刷卡数据统计</string>\r
+ <string name="mag_hint">请刷磁条卡</string>\r
+ <!-- Please brush magnetic stripe card -->\r
+ <string name="count_total_title">刷卡次数:</string>\r
+ <string name="count_track1_title">磁道1成功次数:</string>\r
+ <string name="count_track2_title">磁道2成功次数:</string>\r
+ <string name="count_track3_title">磁道3成功次数:</string>\r
+ <string name="card_data">磁条卡信息</string>\r
+ <string name="card_data_wrong">错误信息</string>\r
+ <!-- print -->\r
+ <string name="print_context">请输入需打印内容</string>\r
+ <string name="printer_context_title">编辑打印内容</string>\r
+ <string name="printer_title">打印</string>\r
+ <string name="printer_temp">"打印机温度: "</string>\r
+ <!-- Printers temperature: -->\r
+ <string name="bt_print_pic">打印图片</string>\r
+ <!-- print Pic -->\r
+ <string name="bt_print_code">打印编码</string>\r
+ <!-- print Code -->\r
+ <string name="bt_print_text">打印文字</string>\r
+ <!-- print Text -->\r
+ <string name="print_hint">请输入打印内容</string>\r
+ <!-- recorder -->\r
+ <string name="none_file">未找到录音文件</string>\r
+ <string name="none_recorded_file">尚未录音</string>\r
+ <string name="recorder_menu_title">录音</string>\r
+ <string name="recorder_files">录音文件</string>\r
+\r
+ <!-- gsm -->\r
+ <string name="gsm_title">GSM信息</string>\r
+ <string name="gsm_refresh">刷新</string>\r
+ <string name="gsm_info_none">未能获取GSM信息</string>\r
+\r
+ <!-- battery -->\r
+ <string name="title_power">电源状态</string>\r
+ <string name="title_battery">电池状态</string>\r
+ <string name="battery_info_status_label" msgid="8109155295509700309">"电池状态:"</string>\r
+ <string name="battery_info_power_label" msgid="7465140230991349382">"是否已插电:"</string>\r
+ <string name="battery_info_scale_label" msgid="3649763192389778437">"当前电池电量:"</string>\r
+ <string name="battery_info_level_label" msgid="8706526709307788737">"上限电池电量:"</string>\r
+ <string name="battery_info_health_label" msgid="6416051542741886958">"电池运行状况:"</string>\r
+ <string name="battery_info_technology_label" msgid="788304533220748681">"电池技术:"</string>\r
+ <string name="battery_info_voltage_label" msgid="8971764146757637863">"电池电压:"</string>\r
+ <!-- <string name="battery_info_voltage_units" msgid="8658490792208288107">"mV"</string> -->\r
+ <string name="battery_info_temperature_label" msgid="1968383098818648037">"电池温度:"</string>\r
+ <!-- <string name="battery_info_temperature_units" msgid="9098950587249987550">"° C"</string> -->\r
+ <string name="battery_info_uptime" msgid="5548545143573527992">"启动后的时间:"</string>\r
+ <string name="battery_info_awake_battery" msgid="2557725975486185849">"使用电池电量的未休眠时间:"</string>\r
+ <string name="battery_info_awake_plugged" msgid="176716874713478188">"充电时的唤醒时间:"</string>\r
+ <string name="battery_info_screen_on" msgid="376277447175613889">"屏幕开启时间:"</string>\r
+ <!--\r
+ <string name="battery_info_status_unknown" msgid="196130600938058547">"未知"</string>\r
+ <string name="battery_info_status_charging" msgid="1705179948350365604">"正在充电"</string>\r
+ <string name="battery_info_status_charging_ac" msgid="5874340256342956252">"(交流电)"</string>\r
+ <string name="battery_info_status_charging_usb" msgid="4059070156126770959">"(USB)"</string>\r
+ <string name="battery_info_status_discharging" msgid="6222697503392774475">"正在耗电"</string>\r
+ <string name="battery_info_status_not_charging" msgid="2820070506621483576">"未在充电"</string>\r
+ <string name="battery_info_status_full" msgid="2824614753861462808">"电量充足"</string>\r
+ <string name="battery_info_power_unplugged" msgid="5987246575519551081">"未插电"</string>\r
+ <string name="battery_info_power_ac" msgid="6808516193001604634">"交流电"</string>\r
+ <string name="battery_info_power_usb" msgid="8012931702516331797">"USB"</string>\r
+ <string name="battery_info_power_ac_usb" msgid="6777734146838328688">"交流电 + USB"</string>\r
+ <string name="battery_info_power_unknown" msgid="7344115502868899881">"未知"</string>\r
+ <string name="battery_info_health_unknown" msgid="5664295556921944255">"未知"</string>\r
+ <string name="battery_info_health_good" msgid="8070356565806711806">"正常"</string>\r
+ <string name="battery_info_health_overheat" msgid="8442959549291368806">"过热"</string>\r
+ <string name="battery_info_health_dead" msgid="1725917445762829059">"没电"</string>\r
+ <string name="battery_info_health_over_voltage" msgid="2420269351664490121">"过电压"</string>\r
+ <string name="battery_info_health_unspecified_failure" msgid="6347021103185471590">"未知错误"</string>\r
+ <string name="battery_info_health_cold" msgid="3835692786176707318">"电量低"</string>\r
+\r
+\r
+\r
+\r
+ -->\r
+ <string name="battery_technology_unknwn">"未知"</string>\r
+ <!-- <string name="light">"亮屏了"</string> -->\r
+ <string name="black">"灭屏了"</string>\r
+ <string name="slide"> "请滑动屏幕测试"</string>\r
+ <string name="music_is_run"> "音乐正在播放"</string>\r
+ <string name="sd_status"> "SD状态:已检测到SD卡"</string>\r
+ <string name="sd_tatal"> "总容量:"</string>\r
+ <string name="sd_left"> "剩余容量:" </string>\r
+ <string name="sd_used"> "已用容量:" </string>\r
+ <string name="sd_fail"> "SD状态:未检测到SD卡!" </string>\r
+ <string name="set_tag"> "测试完成,将写入标志位" </string>\r
+ <string name="sim_status"> "SIM状态:SIM 就绪" </string>\r
+ <string name="sim_fail"> "SIM状态:无SIM或SIM卡损坏" </string>\r
+ <string name="china_yidong"> "中国移动"</string>\r
+ <string name="china_lintong"> "中国联通"</string>\r
+ <string name="china_dianxin"> "中国电信" </string>\r
+ <string name="sim_fail1"> "SIM卡过期" </string>\r
+ <string name="gongcheng"> "工厂测试" </string>\r
+ <string name="moshi"> "工程模式" </string>\r
+ <string name="shintool"> "地图拷贝工具" </string>\r
+ <string name="lanya"> "蓝牙测试" </string>\r
+ <string name="lanya_open"> " 蓝牙设备已开启" </string>\r
+ <string name="car_staut"> " 摄像头\n测试结果" </string>\r
+ <string name="start_test"> "开始测试" </string>\r
+ <string name="fm_test"> "FM发射器测试" </string>\r
+ <string name="fm_status"> " FM状态:" </string>\r
+ <string name="fm_tip"> " 提示:将收音机频率调至108.0MHZ,测试收音机是否收到音乐,收到则成功,反之则失败。" </string>\r
+ <string name="light_test"> " 灭/亮屏测试" </string>\r
+ <string name="light_tip"> " 提示:请按电源键,测试灭/亮屏和电源键,是否正常" </string>\r
+ <string name="light_status"> " 状态:" </string>\r
+ <string name="sd_test"> "SD卡测试" </string>\r
+ <string name="sim_test"> " SIM卡测试" </string>\r
+ <string name="sim_type"> "网络类型" </string>\r
+ <string name="sim_strenth"> "信号强度:" </string>\r
+ <string name="test1"> "PCBA自动测试" </string>\r
+ <string name="test2"> "整机自动测试" </string>\r
+ <string name="sd_title">"SD卡" </string>\r
+ <string name="fm_title">"FM发射" </string>\r
+ <string name="light_title">"灭/亮屏" </string>\r
+ <string name="bt_r">"蓝牙," </string>\r
+ <string name="touch_r">"触摸屏," </string>\r
+ <string name="sim_r">"sim卡," </string>\r
+ <string name="sd_r">"SD卡," </string>\r
+ <string name="mic_r">"双MIC," </string>\r
+ <string name="speak_r">"扬声器," </string>\r
+ <string name="camera_r">"摄像头," </string>\r
+ <string name="fm_r">"FM发射," </string>\r
+ <string name="light_r">"灭/亮屏," </string>\r
+ <string name="barry_r">"电池," </string>\r
+ <string name="pass_r">"已通过的项目:" </string>\r
+ <string name="fail_r">"未通过的项目:" </string>\r
+ <string name="tag_r">"本机NV标志位(1代表通过,0代表未通过):" </string>\r
+ <string name="diglog_r">"请按下图测试,点击任意处,取消该窗口,开始测试" </string>\r
+ <string name="test_r">"测试报告" </string>\r
+ <string name="close_r">"关闭" </string>\r
+ <string name="none">"没有测试记录,完成一次PCBA测试,添加记录" </string>\r
+ <string name="none1">"没有测试记录,完成一次整机自动测试,添加记录" </string>\r
+ <string name="none2">"没有校准记录" </string>\r
+ <string name="jiaju">"PCBA自动测试报告" </string>\r
+ <string name="auto">"整机自动测试报告" </string>\r
+ <string name="jiaju_time">"最近测试时间:" </string>\r
+ <string name="tags">"标志位(按测试顺序):" </string>\r
+ <string name="test_over">"测试完成,将写入标志位" </string>\r
+ <string name="picturing">"正在拍照" </string>\r
+ <string name="recording">"正在录像,请晃动机器测试" </string>\r
+ <string name="pic_over">"拍照完成" </string>\r
+ <string name="write_tag_over">" 已经写入标志位" </string>\r
+ <string name="record1">"录像" </string>\r
+ <string name="photo">"停止" </string>\r
+ <string name="deviceInfo">"版本信息" </string>\r
+ <string name="gsensor">"Gsensor测试" </string>\r
+ <string name="sensor">请旋转手机或屏幕</string>\r
+ <string name="read_data">读取数据</string>\r
+ <string name="sensor_calibration_do_20">进行校准(误差20%)</string>\r
+ <string name="sensor_calibration_do_40">进行校准(误差40%)</string>\r
+ <string name="sensor_calibration_clear">清除校准数据</string>\r
+ <string name="sensor_calibration_note">" 注意:在校准过程中,设备必须处于水平放置状态。"</string>\r
+ <string name="sensor_calibration_intro">" 操作:点击“水平校准”按钮,系统会自动校准,并判断是否成功。点击“清除校准数据”按钮后,校准数据清零,需重新进行水平校准。"</string>\r
+ <string name="sensor_calibration_current_data_hint">加速度传感器当前数据: </string>\r
+ <string name="sensor_calibration_sensor_data_hint">加速度传感器校准数据: </string>\r
+ <string name="sensor_calibration_gsensor">加速度传感器校准</string>\r
+ <string name="record_agin">重新录音</string>\r
+ <string name="bt_tip">请在附近打开蓝牙,观察是否搜索到该蓝牙</string>\r
+ <string name="rf_result">"RF校准标志位: "</string>\r
+ <string name="rf_gsensor">Rf,Gsensor校准报告</string>\r
+ <string name="sensor_accelerometer1">Gsensor测试</string>\r
+ <string name="sensor_accelerometer2">"Gsensor,"</string>\r
+ <string name="sensor_tip">" 提示:请将机器屏幕分别朝前后左右4个方向,观察箭头变化,只有4个方向都测试通过,才会显示成功。"</string>\r
+ <string name="north">向北</string>\r
+ <string name="sourth">向南</string>\r
+ <string name="weast">向西</string>\r
+ <string name="east">向东</string>\r
+ <string name="gsensor_data">Gsensor参数:</string>\r
+ <string name="auto_tip">该台机器已经做过整机自动测试</string>\r
+ <string name="user_tip">该台机器已经做过PCBA自动测试</string>\r
+ <string name="mic_tip"> " 提示:请选择测试的Mic,然后对着选择的Mic吹气,右图指针转动则判断成功,否则失败。"</string>\r
+ <string name="version_tip"> "显示版本及测试信息"</string>\r
+ <string name="testresult_tip"> "测试结果:"</string>\r
+ <string name="pass_test"> "通过"</string>\r
+ <string name="fail_test"> "未通过"</string>\r
+ <string name="gps_test"> "GPS测试"</string>\r
+ <string name="gsensor_complete"> "Gensor校准"</string>\r
+ <string name="gsensor_20"> "水平校准"</string>\r
+ <string name="gsensor_zhengji"> "整机自动测试: "</string>\r
+ <string name="gsensor_pcba"> "PCBA自动测试: "</string>\r
+ <string name="lamp"> "三色灯 "</string>\r
+ <string name="lamp_tile"> "三色灯测试 "</string>\r
+ <string name="lamp_tip"> " 请观察指示灯颜色变化,如果看到红绿蓝三种颜色依次变化,则判断成功;反之,只看到一种、两种或灯不亮则失败。 "</string>\r
+ <string name="mianmic"> "主Mic测试 "</string>\r
+ <string name="othermic"> "副Mic测试 "</string>\r
+ <string name="button_new"> "按键"</string>\r
+ <string name="leida_new"> "雷达"</string>\r
+ <string name="sigle_new"> "单项测试报告"</string>\r
+ <string name="rf_new"> "Rf校准:"</string>\r
+ <string name="imei_new"> "IMEI号:"</string>\r
+ <string name="lcd_test_new"> "显示屏测试结果" </string>\r
+ <string name="tf_test_new"> "双TF卡" </string>\r
+ <string name="tf_Detect"> "已检测到" </string>\r
+ <string name="tf_UnDetect"> "未检测到" </string>\r
+ <string name="test_over_new"> "测试结束!" </string>\r
+ <string name="lamp_new"> "按键灯" </string>\r
+ <string name="key_result_tip">*提示:点击按键灯测试,观察电源键灯光是否亮起</string>\r
+ <string name="tip1">提示:该界面可进行单项测试</string>\r
+ <string name="mac_new">MAC地址:</string>\r
+ <string name="bt_tip_new">操作步骤:\n1.准备一台可拨打电话的手机和一台固定电话\n2.使用手机与后视镜蓝牙连接,然后向固话拨打电话,\n3.接通后,两边能正常通话,则通过.</string>\r
+\r
+ <string name="open_dialer">正在打开通话界面,请稍后。。。</string>\r
+\r
+</resources>\r
--- /dev/null
+<resources>
+
+ <!--
+ Customize dimensions originally defined in res/values/dimens.xml (such as
+ screen margins) for sw600dp devices (e.g. 7" tablets) here.
+ -->
+
+</resources>
--- /dev/null
+<resources>
+
+ <!--
+ Customize dimensions originally defined in res/values/dimens.xml (such as
+ screen margins) for sw720dp devices (e.g. 10" tablets) in landscape here.
+ -->
+ <dimen name="activity_horizontal_margin">128dp</dimen>
+
+</resources>
--- /dev/null
+<resources>
+
+ <!--
+ Base application theme for API 11+. This theme completely replaces
+ AppBaseTheme from res/values/styles.xml on API 11+ devices.
+ -->
+ <style name="AppBaseTheme" parent="android:Theme.Holo.Light">
+ <!-- API 11 theme customizations can go here. -->
+ </style>
+
+</resources>
--- /dev/null
+<resources>
+
+ <!--
+ Base application theme for API 14+. This theme completely replaces
+ AppBaseTheme from BOTH res/values/styles.xml and
+ res/values-v11/styles.xml on API 14+ devices.
+ -->
+ <style name="AppBaseTheme" parent="android:Theme.Holo.Light.DarkActionBar">
+ <!-- API 14 theme customizations can go here. -->
+ </style>
+
+</resources>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<resources>\r
+ <string-array name="directionLabels">\r
+ <item>北</item>\r
+ <item>东北</item>\r
+ <item>东</item>\r
+ <item>东南</item>\r
+ <item>西北</item>\r
+ <item>西</item>\r
+ <item>西南</item>\r
+ <item>南</item>\r
+ </string-array>\r
+</resources>\r
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<resources>\r
+\r
+ <string name="app_name">工厂模式</string>\r
+ <string name="otaupdate">OTA Update</string>\r
+ <string name="light">光线感应</string>\r
+ <string name="noLight">无法获取亮度值</string>\r
+ <string name="defaultlightness">正在获取亮度</string>\r
+ <string name="lightness">亮度</string>\r
+ <string name="lightTip">提示:将手机正面朝向光源有利于更快获取亮度</string>\r
+ <string name="magnetic">磁场感应</string>\r
+ <string name="magneticX">磁场X</string>\r
+ <string name="magneticY">磁场Y</string>\r
+ <string name="magneticZ">磁场Z</string>\r
+ <string name="gravity">重力感应</string>\r
+ <string name="gravityX">重力X</string>\r
+ <string name="gravityY">重力Y</string>\r
+ <string name="gravityZ">重力Z</string>\r
+ <string name="shakeTest">震动测试</string>\r
+ <string name="shakeClick">点击震动</string>\r
+ <string name="noShake">不支持手机震动</string>\r
+ <string name="keysTest">按键测试</string>\r
+ <string name="keyPower">电源键</string>\r
+ <string name="keyVLDown">上调键</string>\r
+ <string name="keyVLUP">下调键</string>\r
+ <string name="keySearch">搜索键</string>\r
+ <string name="keyHome">HOME键</string>\r
+ <string name="keyMenu">屏幕开关键</string>\r
+ <string name="keyBack">回退键</string>\r
+ <string name="keyCamera">照相/摄像键</string>\r
+ <string name="keyCall">接听键</string>\r
+ <string name="keyEndCall">挂断键</string>\r
+ <string name="empty">--</string>\r
+ <string name="detectSim">Sim卡检测</string>\r
+ <string name="detectSim1">检测Sim1</string>\r
+ <string name="detectSim2">检测Sim2</string>\r
+ <string name="sim1">Sim卡</string>\r
+ <string name="sim2">Sim2</string>\r
+ <string name="cardTest">SD卡检测</string>\r
+ <string name="cardAvail">是否插入SD卡</string>\r
+ <string name="cardFreeSize">可用空间</string>\r
+ <string name="cardUsedSize">已用空间</string>\r
+ <string name="cardTotalSize">SD1卡状态</string>\r
+ <string name="card2TotalSize">SD2卡状态</string>\r
+ <string name="checkSum">Checksum</string>\r
+ <string name="nandFlash">手机内存</string>\r
+ <string name="manufacturerID">厂家ID</string>\r
+ <string name="deviceID">设备ID</string>\r
+ <string name="rwTestResult">读写测试结果</string>\r
+ <string name="signalTest">信号测试</string>\r
+ <string name="signalRsult">信号测试结果</string>\r
+ <string name="signalTestError">信号测试失败</string>\r
+ <string name="emergencyCall">拨打112</string>\r
+ <string name="chinaMoveCall">拨打10086</string>\r
+ <string name="emergencyCallSuccess">拨打紧急电话成功</string>\r
+ <string name="emergencyCallFail">拨打紧急失败</string>\r
+ <string name="headsetTest">耳麦测试</string>\r
+ <string name="headsetAvail">有无耳麦</string>\r
+ <string name="startMusic">播放</string>\r
+ <string name="headsetButton">按线控器按钮</string>\r
+ <string name="gpsTest">GPS定位</string>\r
+ <string name="gpsLongitude">经度</string>\r
+ <string name="gpsDimensions">维度</string>\r
+ <string name="coldRestart">冷启动</string>\r
+ <string name="hotRestart">热启动</string>\r
+ <string name="noPosition">暂无地理信息</string>\r
+ <string name="gpsTTFF">GPS TTFF</string>\r
+ <string name="gpslocation">正在获取GPS位置信息...</string>\r
+ <string name="sec">sec</string>\r
+ <string name="fmTest">屏幕亮度</string>\r
+ <string name="fmSetFreq">频道</string>\r
+ <string name="rssi">RSSI</string>\r
+ <string name="mhz">MHZ</string>\r
+ <string name="dbm">(dBm)</string>\r
+ <string name="testFreq0">测试频率 0</string>\r
+ <string name="testFreq1">测试频率 1</string>\r
+ <string name="testFreq2">测试频率 2</string>\r
+ <string name="testFreq3">测试频率 3</string>\r
+ <string name="bluetooth">蓝牙测试</string>\r
+ <string name="blState">蓝牙状态</string>\r
+ <string name="blOpen">打开蓝牙</string>\r
+ <string name="blOpened">蓝牙已打开</string>\r
+ <string name="blNoSerport">当前手机不支持蓝牙</string>\r
+ <string name="bldenied">蓝牙已被禁止</string>\r
+ <string name="blScan">蓝牙扫描</string>\r
+ <string name="blScaning">正在扫描蓝牙设备</string>\r
+ <string name="wifitest">WIFI测试</string>\r
+ <string name="wfState">WIFI状态</string>\r
+ <string name="wfOpen">启动WIFI</string>\r
+ <string name="wfScan">WIFI扫描</string>\r
+ <string name="wfScaning">正在扫热点</string>\r
+ <string name="cameraTest">摄像头测试</string>\r
+ <string name="mainCamera">主摄像头</string>\r
+ <string name="subCamera">副摄像头</string>\r
+ <string name="ringtone">铃声测试</string>\r
+ <string name="ringStart">点击播放铃声</string>\r
+ <string name="receiverTest">听筒测试</string>\r
+ <string name="loopback">话筒测试</string>\r
+ <string name="mic1">手机话筒测试</string>\r
+ <string name="mic2">耳机话筒测试</string>\r
+ <string name="receiverStart">点击播放</string>\r
+ <string name="colon">:</string>\r
+ <string name="nothing">无</string>\r
+ <string name="ok">正确</string>\r
+ <string name="found">找到</string>\r
+ <string name="tsb">台设备</string>\r
+ <string name="returnBack">返回</string>\r
+ <string name="getInfo">正在获取信息...</string>\r
+ <string name="noFoundDev">未找到任何设备</string>\r
+ <string name="noMainC">不支持后置摄像头</string>\r
+ <string name="noSubC">不支持后置摄像头</string>\r
+ <string name="gpsOk">GPS模块正常</string>\r
+ <string name="pleaseOpGps">请先打开GPS!</string>\r
+ <string name="waitForpo">等待获取位置信息</string>\r
+ <string name="state">状态</string>\r
+ <string name="have">有</string>\r
+ <string name="yes">是</string>\r
+ <string name="no">否</string>\r
+ <string name="checkFail">检测失败</string>\r
+ <string name="rwCheckSuccess">读写测试成功</string>\r
+ <string name="rwCheckFail">读写测试失败</string>\r
+ <string name="dailSuccess">拨打成功</string>\r
+ <string name="dailFail">拨打失败</string>\r
+ <string name="grd">个Wifi热点</string>\r
+ <string name="foundNoHot">未搜索到热点</string>\r
+ <string name="openWififail">WIFI启动失败</string>\r
+ <string name="scanBegin">开始扫描</string>\r
+ <string name="wifiOpening">正在启动WIFI...</string>\r
+ <string name="wifiOpen">WIFI已启动</string>\r
+ <string name="noSuportWifi">不支持WIFI</string>\r
+ <string name="pleaseInsertHS">请插入耳机</string>\r
+ <string name="pleaseOffHS">请拔掉耳机</string>\r
+ <string name="record">录音</string>\r
+ <string name="recordStart">正在录音</string>\r
+ <string name="stop">停止</string>\r
+ <string name="recordstop">停止状态</string>\r
+ <string name="play">播放</string>\r
+ <string name="delete">删除</string>\r
+ <string name="recordFile">录音文件</string>\r
+ <string name="testTouchScreen">触摸屏</string>\r
+ <string name="TouchScreen">触摸屏</string>\r
+ <string name="TouchScreen_HandWriting">触摸屏_痕迹</string>\r
+ <string name="TouchScreen_Verification">触摸屏_验证</string>\r
+ <string name="TouchScreen_VerificationPoint">触摸屏_验证点</string>\r
+ <string name="TouchScreen_VerificationLine">触摸屏_验证线</string>\r
+ <string name="TouchScreen_VerificationShaking">触摸屏_验证振动</string>\r
+ <string name="TouchScreen_MultiTouch">触摸屏多点触摸_</string>\r
+ <string name="TouchScreen_Settings_TextValue">价值</string>\r
+ <string name="TouchScreen_Settings_TextSpinner">类别</string>\r
+ <string name="TouchScreen_Settings_TextSet">Set</string>\r
+ <string name="TouchScreen_Settings">设置</string>\r
+ <string name="TouchScreen_Settings_Value">0</string>\r
+ <string name="TouchScreen_Settings_sdcard">关闭</string>\r
+ <string name="TouchScreen_Settings_uart">关闭</string>\r
+ <string name="TouchScreen_Settings_TextUart">使UART的日志</string>\r
+ <string name="TouchScreen_Settings_TextSDcard">启用SD卡日志</string>\r
+ <string name="power">电量</string>\r
+ <string name="noPower">无法获取电源</string>\r
+ <string name="nowState">当前状态</string>\r
+ <string name="playrecord">正在播放</string>\r
+ <string name="recordFirst">无录音文件,请先录音</string>\r
+ <string name="palyfinish">播放结束</string>\r
+ <string name="distanceSensor">距离感应</string>\r
+ <string name="noDistanceSensor">无距离感应信息</string>\r
+ <string name="inDistance">物体靠近</string>\r
+ <string name="outDistance">物体离开</string>\r
+ <string name="distanceTip">提示:手遮挡/离开屏幕顶部进行测试</string>\r
+ <string name="largestSound">最大音量播放</string>\r
+ <string name="capture">采集</string>\r
+ <string name="cameraMotor">摄像头</string>\r
+ <string name="pullFar">拉到最大</string>\r
+ <string name="pullClose">拉到最小</string>\r
+ <string name="pullLoop">循环对焦</string>\r
+ <string name="pullStopLoop">停止循环对焦</string>\r
+ <string name="matvTest">电视信号测试</string>\r
+ <string name="press">按住</string>\r
+ <string name="release">放开</string>\r
+ <string name="lastOne">上一个</string>\r
+ <string name="nextOne">下一个</string>\r
+ <string name="singleTest">单项测试</string>\r
+ <string name="read_imei">显示IMEI号</string>\r
+ <string name="modify_imei_sim1">修改SIM1</string>\r
+ <string name="modify_imei_sim2">修改SIM2</string>\r
+ <string name="input_imei_title">请输入新IMEI号</string>\r
+ <string name="autoTest">自动测试</string>\r
+ <string name="pcbaTest">PCBA测试</string>\r
+ <string name="sysVersion">版本</string>\r
+ <string name="reStore">恢复出厂设置</string>\r
+ <string name="mediaTest">媒体测试</string>\r
+ <string name="readAPN">APN查询</string>\r
+ <string name="sim_lock_settings">SIM卡锁卡功能设置</string>\r
+ <string name="modify_imei">修改IMEI号</string>\r
+ <string name="testReport">测试报告</string>\r
+ <string name="beginTestGPS">点击开始GPS测试</string>\r
+ <string name="beginTestTM">点击开始FM测试</string>\r
+ <string name="beginLCDTM">点击开始LCD测试</string>\r
+ <string name="lcdTest">LCD</string>\r
+ <string name="lcdTest_lsn">LCD</string>\r
+ <string name="beginTestCamera">点击开始摄像头测试</string>\r
+ <string name="beginTestMtv">点击开始电视信号测试</string>\r
+ <string name="beginTestCmotor">查看主摄像头</string>\r
+ <string name="beginTestScreenTouch">点击开始触摸屏测试</string>\r
+ <string name="beginTestMulitScreenTouch">点击开始多点触摸屏测试</string>\r
+ <string name="testSucess">成功</string>\r
+ <string name="testFail">失败</string>\r
+ <string name="testReprot">测试报告</string>\r
+ <string name="bbChip">BB Chip</string>\r
+ <string name="msBoard">MS Board</string>\r
+ <string name="modemVer">现代版</string>\r
+ <string name="buildTime">建造时间</string>\r
+ <string name="buildNumber">版本号</string>\r
+ <string name="uBootVer">uboot版本</string>\r
+ <string name="kernelVer">内核版本</string>\r
+ <string name="androidVer">Android版本</string>\r
+ <string name="swVer">SW 版本</string>\r
+ <string name="verno">自定义生成Verno</string>\r
+ <string name="deviceInfoDefault">未知</string>\r
+ <string name="isLatestOne">已是最后一个</string>\r
+ <string name="isTopOne">已是最前一个</string>\r
+ <string name="reScan">重新扫描</string>\r
+ <string name="versionTest">版本测试</string>\r
+ <string name="flashLightTest">闪光灯测试</string>\r
+ <string name="openLight">打开</string>\r
+ <string name="closeLight">关闭</string>\r
+ <string name="appsPath">应用路径</string>\r
+ <string name="defaultPath">mnt/sdcard/apps</string>\r
+ <string name="installPath">安装位置</string>\r
+ <string name="sdCard">SDCard</string>\r
+ <string name="phone">手机</string>\r
+ <string name="startInstall">开始安装</string>\r
+ <string name="selectInsLocation">请选择安装位置</string>\r
+ <string name="noApps">没有可安装应用</string>\r
+ <string name="nowInstall">正在安装</string>\r
+ <string name="submit">确定</string>\r
+ <string name="unbound_cancel">取消</string>\r
+ <string name="installFinish">安装结束</string>\r
+ <string name="installSoft">安装软件</string>\r
+ <string name="cmmbTest">手机电视</string>\r
+ <string name="bCmmbTest">点击进入手机电视测试</string>\r
+ <string name="setMac">写WIFI/蓝牙MAC地址</string>\r
+ <string name="phoneDetail">手机详情</string>\r
+ <string name="no_ota_file">OTA升级文件不存在,请将OTA升级包放在sdcard或手机存储的根目录</string>\r
+ <string name="imei_wirte_fail">写IMEI号失败,请输入正确IMEI号!</string>\r
+ <string name="storage">存储</string>\r
+ <string name="sdcard_storage">SD卡存储 可用/总量</string>\r
+ <string name="phone_storage">内部存储 可用/总量</string>\r
+ <string name="mac">MAC</string>\r
+ <string name="bt">蓝牙</string>\r
+ <string name="wifi">WIFI</string>\r
+ <string name="checkDir">查看SD卡结构</string>\r
+ <string name="installedSoft">已安装应用</string>\r
+ <string name="cpsdcard2">SDCard2拷贝</string>\r
+ <string name="cpsdcard2Hint">点击确认后将拷贝SDCard2上的所有文件到SDCard上,有相同名称的文件将被覆盖,确认拷贝?</string>\r
+ <string name="cpsdcard2ing">正在拷贝...</string>\r
+ <string name="cpsdcard2finish">拷贝完成</string>\r
+ <string name="agree">确认</string>\r
+ <string name="cancel">关闭</string>\r
+ <string name="srcDir">源目录</string>\r
+ <string name="tarDir">目标目录</string>\r
+ <string name="srcPath">/mnt/sdcard2</string>\r
+ <string name="tarPath">/mnt/sdcard/miki</string>\r
+ <string name="version_label">版本</string>\r
+ <string name="sw_label">[SW 版本]</string>\r
+ <string name="hw_label">[HW 版本]</string>\r
+ <string name="btn_close">关闭</string>\r
+ <string name="sw_and_hw">版本</string>\r
+ <string name="sn">SN</string>\r
+ <string name="sn_invalid">无效</string>\r
+ <string name="hw">Cosmote-ver1</string>\r
+ <string name="sw">Cosmote_</string>\r
+ <string name="vk_hw">Cosmote-ver1</string>\r
+ <string name="vk_sw">Cosmote_</string>\r
+ <string name="update_from_sd">升级</string>\r
+ <string name="update_make_sure_to_continue">此操作不可恢复,您确定吗?</string>\r
+ <string name="update_confirm">确定</string>\r
+ <string name="update_make_sure_and_select_file">此操作不可恢复,如确定请点击按钮选择升级文件</string>\r
+ <string name="update_select_file">选择文件</string>\r
+ <string name="update_write_file_faild">写入文件失败</string>\r
+ <string name="update_file_wrong">文件类型错误,或找不到该升级文件</string>\r
+ <string name="update_make_sure_to_update">确定要升级系统吗?(请将OTA升级包放在sdcard或手机存储的根目录)</string>\r
+ <string name="TestMedia">试验介质</string>\r
+ <string name="sdcardfile">SDka</string>\r
+ <string name="buildIn">建立</string>\r
+ <string name="no_compass">无磁传感器</string>\r
+ <string name="test_tv_SMT">SMT测试</string>\r
+ <string name="test_tv_ZZ">组装测试</string>\r
+ <string name="test_tv_Retain">全面测试</string>\r
+ <string name="apn_mcc">MCC:</string>\r
+ <string name="apn_mnc">MNC:</string>\r
+ <string name="imei1">IMEI1</string>\r
+ <string name="apn_search">搜索</string>\r
+ <string name="phoneTest">电话</string>\r
+ <string name="bgLightTest">背景灯测试</string>\r
+ <string name="bgLightStrong">强背光</string>\r
+ <string name="bgLightWeak">弱背光</string>\r
+ <string name="imei_ok">确定</string>\r
+ <string name="imei2">imei2</string>\r
+ <string name="sorry_again">抱歉,您的输入不正确,请重试!</string>\r
+ <string name="ramTest">Ram</string>\r
+ <string name="romTest">Rom</string>\r
+ <string name="ramromTest">内存</string>\r
+ <string name="otgTest">OTG测试</string>\r
+ <string name="otg_disconnect">无OTG设备连接</string>\r
+ <string name="otg_connect">检测到设备</string>\r
+ <string name="powerBatteryTest">电源充电测试</string>\r
+ <string name="power_charge_battery_state">充电状态</string>\r
+ <string name="power_current_battery">当前电量</string>\r
+ <string name="power_battery">电池电量</string>\r
+ <string name="power_state">电源状态</string>\r
+ <string name="power_current_voltage">当前电压</string>\r
+ <string name="power_temperature">电源温度</string>\r
+ <string name="power_skill">电源技术</string>\r
+ <string name="power_electric">电池端电流</string>\r
+ <string name="power_time">自启动的时间</string>\r
+ <string name="battery_info_power_unplugged">未插电</string>\r
+ <string name="battery_info_power_ac">交流电</string>\r
+ <string name="battery_info_power_usb">USB</string>\r
+ <string name="battery_info_power_wireless">无线</string>\r
+ <string name="battery_info_power_ac_usb">交流电 + USB</string>\r
+ <string name="battery_info_power_unknown">未知</string>\r
+ <string name="battery_info_health_unknown">未知</string>\r
+ <string name="battery_info_health_good">正常</string>\r
+ <string name="battery_info_health_overheat">过热</string>\r
+ <string name="battery_info_health_dead">没电</string>\r
+ <string name="battery_info_health_over_voltage">过电压</string>\r
+ <string name="battery_info_health_unspecified_failure">未知错误</string>\r
+ <string name="battery_info_health_cold">电量低</string>\r
+ <string name="battery_info_temperature_units">° C</string>\r
+ <string name="beginPhoneTest">点击开始电话测试</string>\r
+ <string name="imeisnTest">IMEI/SN</string>\r
+ <string name="key_ear">耳机按键</string>\r
+ <string name="kernel_specified">**********</string>\r
+ <string name="kernelVer1">Kernel Ver1</string>\r
+ <string name="sim_lock">SIM卡锁卡功能</string>\r
+ <string name="imei">IMEI号</string>\r
+ <string name="imei_invalid">无效</string>\r
+ <string name="imei_write_successful">写IMEI号成功,请重启手机生效!</string>\r
+ <string name="call_fun">通话测试</string>\r
+ <string name="begincall">点击开始通话测试</string>\r
+ <string name="battery_status">充电状态 : </string>\r
+ <string name="battery_info_status_charging">正在充电</string>\r
+ <string name="battery_v">电池电压 : </string>\r
+ <string name="battery_temp">电池温度 : </string>\r
+ <string name="battery_info_status_charging_ac">(AC)</string>\r
+ <string name="battery_info_status_charging_usb">(USB)</string>\r
+ <string name="battery_info_status_discharging">未充电</string>\r
+ <string name="battery_info_status_not_charging">未充电</string>\r
+ <string name="battery_info_status_full">电池已满</string>\r
+ <string name="battery_info_status_unknown">状态未知</string>\r
+ <string name="battery_info_voltage_units">mV</string>\r
+ <string name="battery_level">电量 : </string>\r
+ <string name="battery_health">电池状态 : </string>\r
+ <string name="battery_charging">充电测试</string>\r
+ <string name="ins_gsensor">请翻转手机来完成测试!</string>\r
+ <string name="ins_gsensor_toast">通过!</string>\r
+ <string name="isZoom_y">验证OK!</string>\r
+ <string name="isZoom_n">无法检测到马达!</string>\r
+ <!-- dou mod 20160831 -->\r
+ <string name="rf_parameters">校准</string>\r
+ <string name="beginBackCameraTestCmotor">查看后拉摄像头</string>\r
+ <string name="rf_yes">是</string>\r
+ <string name="rf_no">否</string>\r
+ <string name="screen_bright">背光</string>\r
+ <string name="screen_bright_test">点击开始背光测试</string>\r
+ <string name="network">网络</string>\r
+ <string name="voice_phone_test">点击进入网络电话测试</string>\r
+ <string name="bluetootheTest">点击进入蓝牙测试</string>\r
+ <string name="radarTest">点击进入雷达测试</string>\r
+ <string name="radar">雷达测试</string>\r
+ <string name="open_radar">打开雷达</string>\r
+ <string name="close_radar">关闭雷达</string>\r
+ <!-- <string name="fm_test">FM测试</string> -->\r
+ <string name="open_fm">打开FM</string>\r
+ <string name="close_fm">关闭FM</string>\r
+ <string name="longitude">经度:</string>\r
+ <string name="latitude">纬度: </string>\r
+ <string name="location_sucess">定位成功 </string>\r
+ <string name="location_fail">定位失败 </string>\r
+ <string name="brightness_test">屏幕亮度(请拖动滚动条):</string>\r
+ <string name="acc_test">acc点火测试</string>\r
+ <string name="brightLight">按键灯测试</string>\r
+\r
+ <string name="ring_test">正在播放音乐,请注意收听...</string>\r
+ <string name="fm_isRing">提示:将收音机的频率调至101.0MHZ,测试收音机是否收到音乐,收到则成功,反之则失败。</string>\r
+ <string name="sim_hasRead">已识别</string>\r
+ <string name="open_buttonLight">点击打开按键灯</string>\r
+ <!-- end -->\r
+\r
+\r
+\r
+ <!-- add by tyy 2016.9.2 -->\r
+\r
+ <string name="result">测试结果</string>\r
+ <string name="success">成功</string>\r
+ <string name="fail">失败</string>\r
+ <!-- <string name="app_name">"测试程序"</string> -->\r
+ <string name="action_settings">设置</string>\r
+ <string name="urovo_test">"Testing tools"</string>\r
+ <string name="model_number">设备型号:</string>\r
+ <string name="manufacturer">制造商:</string>\r
+ <string name="release_number">Android版本:</string>\r
+ <string name="display_number">版本号:</string>\r
+ <string name="test_category_title">测试选项</string>\r
+ <string name="device_model_unknown">设备型号未知</string>\r
+ <string name="device_info_default">未知</string>\r
+ <string name="refresh_complete">刷新完成</string>\r
+ <string name="test_next">下一个</string>\r
+ <string name="test_last">上一个</string>\r
+ <string name="yes1">Yes</string>\r
+ <string name="no1">No</string>\r
+ <string name="ok1">Ok</string>\r
+ <string name="cancel1">Cancel</string>\r
+ <string name="openall_title">全部功能模块</string>\r
+ <string name="openall_summary">打开或关闭全部功能模块</string>\r
+ <string name="show_alltest_title">显示所有测试选项</string>\r
+ <string name="show_alltest_summary">主界面显示所有测试选项</string>\r
+ <string name="setting_title">设置</string>\r
+ <string name="moblie_test_title">整机测试</string>\r
+ <string name="Engineer_mode_title">工程模式</string>\r
+ <string name="map_copy_tools_title">地图拷贝工具</string>\r
+ <!-- device info -->\r
+ <string name="deviceinfo_title">设备信息</string>\r
+ <!-- audio -->\r
+ <string name="audio_default_music">播放默认音频文件</string>\r
+ <string name="audio_sdcard_music">扬声器(喇叭)测试</string>\r
+ <string name="audio_none_music">未找到音频文件</string>\r
+ <string name="audio_palying_tital">正在播放</string>\r
+ <string name="unknown_arter">未知</string>\r
+ <!-- flashlight -->\r
+ <string name="flashlight_title">闪光灯</string>\r
+ <string name="flashlight_none">设备无闪光灯</string>\r
+ <string name="flashlight_on">打开</string>\r
+ <string name="flashlight_off">关闭</string>\r
+ <!-- LED -->\r
+ <string name="led_tite">LED灯测试</string>\r
+ <string name="led_red_on">红色(ON)</string>\r
+ <string name="led_red_off">红色(OFF)</string>\r
+ <string name="led_red">红色</string>\r
+ <string name="led_blue">蓝色</string>\r
+ <string name="led_blue_on">蓝色(ON)</string>\r
+ <string name="led_blue_off">蓝色(OFF)</string>\r
+ <!-- tests -->\r
+ <string name="app_name_android">androidtest</string>\r
+ <string name="test_decive_info">设备</string>\r
+ <string name="test_lcd">LCD</string>\r
+ <string name="test_keypad">按键</string>\r
+ <string name="test_led">LED</string>\r
+ <string name="test_scanner">扫描头</string>\r
+ <string name="test_motor">马达</string>\r
+ <string name="test_audio">音频</string>\r
+ <string name="test_card">磁条卡</string>\r
+ <string name="test_sensor">重力感应</string>\r
+ <string name="test_camera">摄像头</string>\r
+ <string name="test_wifi">WiFi</string>\r
+ <string name="test_bluetooth">蓝牙</string>\r
+ <string name="test_battery">电池</string>\r
+ <string name="test_flashlight">闪光灯</string>\r
+ <string name="test_printer">打印</string>\r
+ <string name="test_gps">GPS</string>\r
+ <string name="test_record">麦克风</string>\r
+ <string name="test_3g">GSM</string>\r
+ <string name="test_rfid">非接卡</string>\r
+ <string name="test_icc">IC卡</string>\r
+ <string name="test_jj">高频</string>\r
+ <string name="test_cleanall">清除</string>\r
+ <string name="test_openall">打开全部模块</string>\r
+ <string name="test_closeall">关闭全部模块</string>\r
+ <string name="test_specifytest">选择测试</string>\r
+ <string name="test_alltest">全功能测试</string>\r
+ <string name="test_agedtest">老化测试</string>\r
+ <string name="test_noticelabel">请观察PCBA绿灯蓝灯</string>\r
+\r
+ <!-- PICC -->\r
+ <string name="picc_title">PICC测试</string>\r
+ <string name="picc_hint">请将卡放置在识别区</string>\r
+ <string name="picc_none">设备不支持FRID刷卡</string>\r
+\r
+ <!-- NFC -->\r
+ <string name="nfc_hint">请将卡放置在识别区</string>\r
+ <string name="nfc_start">Start</string>\r
+ <string name="nfc_stop">Stop</string>\r
+ <string name="nfc_context_title">NFC Test </string>\r
+ <string name="nfc_title">Test Control</string>\r
+ <string name="nfctest_info">Please place the NFC test card on the top of the NFC detective area of the device, \r
+ then press the start button to start testing, the device will output the warning tone after detected the \r
+ NFC test card. Finally, Press the stop button will stop the test.</string>\r
+ <string name="nfc_frequency">test gap time(ms):</string>\r
+ <!-- motortest -->\r
+ <string name="vibrator_title">震动</string>\r
+ <string name="app_name_driver">drivertest</string>\r
+ <string name="start">震动</string>\r
+ <string name="loginstr">开</string>\r
+ <string name="logoutstr">关</string>\r
+ <string name="gps">GPS</string>\r
+ <string name="wifi1">WIFI</string>\r
+ <string name="wcdma">3G</string>\r
+ <string name="bluetoothcn">蓝牙</string>\r
+ <string name="smt">扫描头</string>\r
+ <string name="motor">马达(MS)</string>\r
+ <!-- camera -->\r
+ <string name="record_start">开始录制</string>\r
+ <string name="record_complete">"录制成功,已保存"</string>\r
+ <string name="takepic_complete">拍照成功</string>\r
+ <string name="no_sdcard">未找到sd卡</string>\r
+ <!-- keypad -->\r
+ <string name="keypad_title">按键测试</string>\r
+ <string name="keypad_s1">S1</string>\r
+ <string name="keypad_s2">S2</string>\r
+ <string name="keypad_scan">Scan</string>\r
+ <string name="keypad_dpad_up">Up</string>\r
+ <string name="keypad_dpad_down">Down</string>\r
+ <string name="keypad_dpad_left">Left</string>\r
+ <string name="keypad_dpad_right">Right</string>\r
+ <string name="keypad_menu">Menu</string>\r
+ <string name="keypad_esc">Esc</string>\r
+ <string name="keypad_home">Home</string>\r
+ <string name="key_0">0</string>\r
+ <string name="key_1">1</string>\r
+ <string name="key_2">2</string>\r
+ <string name="key_3">3</string>\r
+ <string name="key_4">4</string>\r
+ <string name="key_5">5</string>\r
+ <string name="key_6">6</string>\r
+ <string name="key_7">7</string>\r
+ <string name="key_8">8</string>\r
+ <string name="key_9">9</string>\r
+ <string name="key_point">.</string>\r
+ <string name="keypad_sft">Sft</string>\r
+ <string name="keypad_alt">Ctrl</string>\r
+ <string name="keypad_aa">Aa</string>\r
+ <string name="keypad_fn">Fn</string>\r
+ <string name="keypad_ent">Ent</string>\r
+ <string name="keypad_del">"Del"</string>\r
+ <string name="keypad_space">"Space"</string>\r
+ <string name="keypad_power">Power</string>\r
+ <string name="keypad_asterisk">*</string>\r
+ <string name="keypad_pound">#</string>\r
+ <string name="keypad_volup">Volume + </string>\r
+ <string name="keypad_voldn">Volume - </string>\r
+ <string name="endaudio">完成</string>\r
+ <string name="quit">退出</string>\r
+ <!-- Bluetooth -->\r
+ <string name="bluetooth_scan">扫描</string>\r
+ <string name="bluetooth_bonded">已配对的设备</string>\r
+ <string name="bltooth_descovering">正在搜索周围可用设备...</string>\r
+ <string name="bluetooth_bonded_none">无已配对设备</string>\r
+ <string name="bluetooth_connectable">周围可用设备</string>\r
+ <string name="bluetooth_connectable_none">未检测到可用设备</string>\r
+ <string name="bluetooth_disable">蓝牙功能未打开</string>\r
+ <string name="bluetooth_title">蓝牙测试</string>\r
+ <string name="bluetooth_scan_for_devices">"扫描查找设备"</string>\r
+ <string name="btscan">手动搜索设备</string>\r
+ <string name="bluetooth_scan_complete">搜索结束</string>\r
+ <string name="bluetooth_notfound">蓝牙不可用</string>\r
+ <!-- Wifi -->\r
+ <string name="wifi_scan_complete">刷新完成</string>\r
+ <string name="wifi_state_title">Wifi测试</string>\r
+ <string name="wifi_state_connected">连接状态</string>\r
+ <string name="wifi_networks">附近网络</string>\r
+ <string name="wifi_connected_title">已连接</string>\r
+ <string name="wifi_unconnected_title">未连接</string>\r
+ <string name="wifi_scan_none">正在扫描周边wifi,请稍候...</string>\r
+ <string name="wifi_refresh">刷新</string>\r
+ <string name="wifi_state_disabling">正在关闭</string>\r
+ <string name="wifi_state_disabled">WIFI功能未打开,正在开启...</string>\r
+ <string name="wifi_state_enabling">正在打开</string>\r
+ <string name="wifi_state_enabled">WIFI功能已打开</string>\r
+ <string name="wifi_state_unknown">未知</string>\r
+ <!-- ICC -->\r
+ <string name="icc_title">IC卡测试</string>\r
+ <string name="icc_hint">请插IC卡</string>\r
+ <string name="icc_read">读卡</string>\r
+ <!-- scanner -->\r
+ <string name="scannertype_title">扫描头类型:</string>\r
+ <string name="scan_set">设置扫描头类型:</string>\r
+ <string name="scan_title">扫描结果</string>\r
+ <string name="scan_result">扫描结果</string>\r
+ <string name="set_scanner_model_complete">设置扫描头类型成功</string>\r
+ <string name="scan_about_msg">This program is the sample application provided\r
+ with project android-serialport-api. The project is free and open\r
+ source.\n\nMore information and bug report\r
+ on:\nhttp://code.google.com/p/android-serialport-api/\n\n- Cédric</string>\r
+ <string name="scan_error_configuration">Please configure your serial port first.</string>\r
+ <string name="scan_error_security">You do not have read/write permission to the serial port.</string>\r
+ <string name="scan_error_unknown">The serial port can not be opened for an unknown reason.</string>\r
+ <string name="scan_setup">setup</string>\r
+ <string name="scan_loopback">loopback</string>\r
+ <string name="scan_about">about</string>\r
+ <string name="scan_quit">quit</string>\r
+ <string name="scan_console">console</string>\r
+ <string name="scan_openscan">打开扫描头</string>\r
+ <string name="scan_closescan">关闭扫描头</string>\r
+ <string name="scan_setscan">设置默认参数</string>\r
+ <!-- 3G -->\r
+ <string name="wcdmafresh">刷新</string>\r
+ <string name="wcdmatext">3G测试</string>\r
+ <string name="options">Advance options</string>\r
+ <string name="options_save">Save</string>\r
+ <string name="options_cancle">Cancel</string>\r
+ <string name="output_dsc">After th barcode</string>\r
+ <string name="checkbox1_str">Output as keyboard</string>\r
+ <string name="checkbox2_str">Vibrate</string>\r
+ <string name="checkbox3_str">Beep</string>\r
+ <string name="checkbox4_str">Append "enter"</string>\r
+ <!-- gps -->\r
+ <string name="title_gps">GPS数据</string>\r
+ <string name="gps_disable">GPS功能尚未打开</string>\r
+ <string name="gps_longitude">经度:</string>\r
+ <string name="gps_latitude">纬度:</string>\r
+ <string name="gps_speed">速度:</string>\r
+ <string name="gps_altitude">海拔:</string>\r
+ <string name="gps_direction">方位:</string>\r
+ <string name="gps_searching">正在获取地理位置信息...</string>\r
+ <string name="gps_getloc_failed">"获取地理位置信息失败"</string>\r
+ <!-- motor -->\r
+ <string name="motor_vibrator_frequency">震动时间间隔(ms):</string>\r
+ <string name="motor_vibrator_tm">震动持续时间(ms):</string>\r
+ <string name="motor_bgvibrator_start">开始</string>\r
+ <string name="motor_bgvibrator_stop">结束</string>\r
+ <string name="motor_notfound">设备不支持震动</string>\r
+ <!-- sensor -->\r
+ <string name="sensor_options">设备支持感应器</string>\r
+ <string name="sensor_gravity">重力感应器</string>\r
+ <string name="sensor_accelerometer">加速度感应器</string>\r
+ <string name="sensor_light">光线感应器</string>\r
+ <string name="sensor_data_null">未能获取感应器数据</string>\r
+ <!-- magnetic stripe card -->\r
+ <string name="mag_result_title">刷卡数据统计</string>\r
+ <string name="mag_hint">请刷磁条卡</string>\r
+ <!-- Please brush magnetic stripe card -->\r
+ <string name="count_total_title">刷卡次数:</string>\r
+ <string name="count_track1_title">磁道1成功次数:</string>\r
+ <string name="count_track2_title">磁道2成功次数:</string>\r
+ <string name="count_track3_title">磁道3成功次数:</string>\r
+ <string name="card_data">磁条卡信息</string>\r
+ <string name="card_data_wrong">错误信息</string>\r
+ <!-- print -->\r
+ <string name="print_context">请输入需打印内容</string>\r
+ <string name="printer_context_title">编辑打印内容</string>\r
+ <string name="printer_title">打印</string>\r
+ <string name="printer_temp">"打印机温度: "</string>\r
+ <!-- Printers temperature: -->\r
+ <string name="bt_print_pic">打印图片</string>\r
+ <!-- print Pic -->\r
+ <string name="bt_print_code">打印编码</string>\r
+ <!-- print Code -->\r
+ <string name="bt_print_text">打印文字</string>\r
+ <!-- print Text -->\r
+ <string name="print_hint">请输入打印内容</string>\r
+ <!-- recorder -->\r
+ <string name="none_file">未找到录音文件</string>\r
+ <string name="none_recorded_file">尚未录音</string>\r
+ <string name="recorder_menu_title">录音</string>\r
+ <string name="recorder_files">录音文件</string>\r
+\r
+ <!-- gsm -->\r
+ <string name="gsm_title">GSM信息</string>\r
+ <string name="gsm_refresh">刷新</string>\r
+ <string name="gsm_info_none">未能获取GSM信息</string>\r
+\r
+ <!-- battery -->\r
+ <string name="title_power">电源状态</string>\r
+ <string name="title_battery">电池状态</string>\r
+ <string name="battery_info_status_label" msgid="8109155295509700309">"电池状态:"</string>\r
+ <string name="battery_info_power_label" msgid="7465140230991349382">"是否已插电:"</string>\r
+ <string name="battery_info_scale_label" msgid="3649763192389778437">"当前电池电量:"</string>\r
+ <string name="battery_info_level_label" msgid="8706526709307788737">"上限电池电量:"</string>\r
+ <string name="battery_info_health_label" msgid="6416051542741886958">"电池运行状况:"</string>\r
+ <string name="battery_info_technology_label" msgid="788304533220748681">"电池技术:"</string>\r
+ <string name="battery_info_voltage_label" msgid="8971764146757637863">"电池电压:"</string>\r
+ <!-- <string name="battery_info_voltage_units" msgid="8658490792208288107">"mV"</string> -->\r
+ <string name="battery_info_temperature_label" msgid="1968383098818648037">"电池温度:"</string>\r
+ <!-- <string name="battery_info_temperature_units" msgid="9098950587249987550">"° C"</string> -->\r
+ <string name="battery_info_uptime" msgid="5548545143573527992">"启动后的时间:"</string>\r
+ <string name="battery_info_awake_battery" msgid="2557725975486185849">"使用电池电量的未休眠时间:"</string>\r
+ <string name="battery_info_awake_plugged" msgid="176716874713478188">"充电时的唤醒时间:"</string>\r
+ <string name="battery_info_screen_on" msgid="376277447175613889">"屏幕开启时间:"</string>\r
+ <!--\r
+ <string name="battery_info_status_unknown" msgid="196130600938058547">"未知"</string>\r
+ <string name="battery_info_status_charging" msgid="1705179948350365604">"正在充电"</string>\r
+ <string name="battery_info_status_charging_ac" msgid="5874340256342956252">"(交流电)"</string>\r
+ <string name="battery_info_status_charging_usb" msgid="4059070156126770959">"(USB)"</string>\r
+ <string name="battery_info_status_discharging" msgid="6222697503392774475">"正在耗电"</string>\r
+ <string name="battery_info_status_not_charging" msgid="2820070506621483576">"未在充电"</string>\r
+ <string name="battery_info_status_full" msgid="2824614753861462808">"电量充足"</string>\r
+ <string name="battery_info_power_unplugged" msgid="5987246575519551081">"未插电"</string>\r
+ <string name="battery_info_power_ac" msgid="6808516193001604634">"交流电"</string>\r
+ <string name="battery_info_power_usb" msgid="8012931702516331797">"USB"</string>\r
+ <string name="battery_info_power_ac_usb" msgid="6777734146838328688">"交流电 + USB"</string>\r
+ <string name="battery_info_power_unknown" msgid="7344115502868899881">"未知"</string>\r
+ <string name="battery_info_health_unknown" msgid="5664295556921944255">"未知"</string>\r
+ <string name="battery_info_health_good" msgid="8070356565806711806">"正常"</string>\r
+ <string name="battery_info_health_overheat" msgid="8442959549291368806">"过热"</string>\r
+ <string name="battery_info_health_dead" msgid="1725917445762829059">"没电"</string>\r
+ <string name="battery_info_health_over_voltage" msgid="2420269351664490121">"过电压"</string>\r
+ <string name="battery_info_health_unspecified_failure" msgid="6347021103185471590">"未知错误"</string>\r
+ <string name="battery_info_health_cold" msgid="3835692786176707318">"电量低"</string>\r
+\r
+\r
+\r
+\r
+ -->\r
+ <string name="battery_technology_unknwn">"未知"</string>\r
+ <!-- <string name="light">"亮屏了"</string> -->\r
+ <string name="black">"灭屏了"</string>\r
+ <string name="slide"> "请滑动屏幕测试"</string>\r
+ <string name="music_is_run"> "音乐正在播放"</string>\r
+ <string name="sd_status"> "SD状态:已检测到SD卡"</string>\r
+ <string name="sd_tatal"> "总容量:"</string>\r
+ <string name="sd_left"> "剩余容量:" </string>\r
+ <string name="sd_used"> "已用容量:" </string>\r
+ <string name="sd_fail"> "SD状态:未检测到SD卡!" </string>\r
+ <string name="set_tag"> "测试完成,将写入标志位" </string>\r
+ <string name="sim_status"> "SIM状态:SIM 就绪" </string>\r
+ <string name="sim_fail"> "SIM状态:无SIM或SIM卡损坏" </string>\r
+ <string name="china_yidong"> "中国移动"</string>\r
+ <string name="china_lintong"> "中国联通"</string>\r
+ <string name="china_dianxin"> "中国电信" </string>\r
+ <string name="sim_fail1"> "SIM卡过期" </string>\r
+ <string name="benji"> " 工厂测试" </string>\r
+ <string name="gongcheng"> "工厂测试" </string>\r
+ <string name="moshi"> "工程模式" </string>\r
+ <string name="shintool"> "地图拷贝工具" </string>\r
+ <string name="lanya"> "蓝牙测试" </string>\r
+ <string name="lanya_open"> " 蓝牙设备已开启" </string>\r
+ <string name="car_staut"> " 摄像头\n测试结果" </string>\r
+ <string name="start_test"> "开始测试" </string>\r
+ <string name="fm_test"> "FM发射器测试" </string>\r
+ <string name="fm_status"> " FM状态:" </string>\r
+ <string name="fm_tip"> " 提示:将收音机频率调至108.0MHZ,测试收音机是否收到音乐,收到则成功,反之则失败。" </string>\r
+ <string name="light_test"> " 灭/亮屏测试" </string>\r
+ <string name="light_tip"> " 提示:请按电源键,测试灭/亮屏和电源键,是否正常" </string>\r
+ <string name="light_status"> " 状态:" </string>\r
+ <string name="sd_test"> "SD卡测试" </string>\r
+ <string name="sim_test"> " SIM卡测试" </string>\r
+ <string name="sim_type"> "网络类型" </string>\r
+ <string name="sim_strenth"> "信号强度:" </string>\r
+ <string name="test1"> "PCBA自动测试" </string>\r
+ <string name="test2"> "整机自动测试" </string>\r
+ <string name="touch"> "触摸屏" </string>\r
+ <string name="speak"> "扬声器" </string>\r
+ <string name="camera"> "摄像头" </string>\r
+ <string name="sim_title">"SIM卡" </string>\r
+ <string name="sd_title">"SD卡" </string>\r
+ <string name="mic_title">"麦克风" </string>\r
+ <string name="fm_title">"FM发射" </string>\r
+ <string name="light_title">"灭/亮屏" </string>\r
+ <string name="bt_r">"蓝牙," </string>\r
+ <string name="touch_r">"触摸屏," </string>\r
+ <string name="sim_r">"sim卡," </string>\r
+ <string name="sd_r">"SD卡," </string>\r
+ <string name="mic_r">"双MIC," </string>\r
+ <string name="speak_r">"扬声器," </string>\r
+ <string name="camera_r">"摄像头," </string>\r
+ <string name="fm_r">"FM发射," </string>\r
+ <string name="light_r">"灭/亮屏," </string>\r
+ <string name="barry_r">"电池," </string>\r
+ <string name="pass_r">"已通过的项目:" </string>\r
+ <string name="fail_r">"未通过的项目:" </string>\r
+ <string name="tag_r">"本机NV标志位(1代表通过,0代表未通过):" </string>\r
+ <string name="diglog_r">"请按下图测试,点击任意处,取消该窗口,开始测试" </string>\r
+ <string name="test_r">"测试报告" </string>\r
+ <string name="close_r">"关闭" </string>\r
+ <string name="none">"没有测试记录,完成一次PCBA测试,添加记录" </string>\r
+ <string name="none1">"没有测试记录,完成一次整机自动测试,添加记录" </string>\r
+ <string name="none2">"没有校准记录" </string>\r
+ <string name="jiaju">"PCBA自动测试报告" </string>\r
+ <string name="auto">"整机自动测试报告" </string>\r
+ <string name="jiaju_time">"最近测试时间:" </string>\r
+ <string name="tags">"标志位(按测试顺序):" </string>\r
+ <string name="test_over">"测试完成,将写入标志位" </string>\r
+ <string name="picturing">"正在拍照" </string>\r
+ <string name="recording">"正在录像,请晃动机器测试" </string>\r
+ <string name="pic_over">"拍照完成" </string>\r
+ <string name="write_tag_over">" 已经写入标志位" </string>\r
+ <string name="record1">"录像" </string>\r
+ <string name="photo">"停止" </string>\r
+ <string name="deviceInfo">"版本信息" </string>\r
+ <string name="gsensor">"Gsensor测试" </string>\r
+ <string name="sensor">请旋转手机或屏幕</string>\r
+ <string name="read_data">读取数据</string>\r
+ <string name="sensor_calibration_do_20">进行校准(误差20%)</string>\r
+ <string name="sensor_calibration_do_40">进行校准(误差40%)</string>\r
+ <string name="sensor_calibration_clear">清除校准数据</string>\r
+ <string name="sensor_calibration_note">" 注意:在校准过程中,设备必须处于水平放置状态。"</string>\r
+ <string name="sensor_calibration_intro">" 操作:点击“水平校准”按钮,系统会自动校准,并判断是否成功。点击“清除校准数据”按钮后,校准数据清零,需重新进行水平校准。"</string>\r
+ <string name="sensor_calibration_current_data_hint">加速度传感器当前数据: </string>\r
+ <string name="sensor_calibration_sensor_data_hint">加速度传感器校准数据: </string>\r
+ <string name="sensor_calibration_gsensor">加速度传感器校准</string>\r
+ <string name="record_agin">重新录音</string>\r
+ <string name="bt_tip">请在附近打开蓝牙,观察是否搜索到该蓝牙</string>\r
+ <string name="rf_result">"RF校准标志位: "</string>\r
+ <string name="rf_gsensor">Rf,Gsensor校准报告</string>\r
+ <string name="sensor_accelerometer1">Gsensor测试</string>\r
+ <string name="sensor_accelerometer2">"Gsensor,"</string>\r
+ <string name="sensor_tip">" 提示:请将机器屏幕分别朝前后左右4个方向,观察箭头变化,只有4个方向都测试通过,才会显示成功。"</string>\r
+ <string name="north">向北</string>\r
+ <string name="sourth">向南</string>\r
+ <string name="weast">向西</string>\r
+ <string name="east">向东</string>\r
+ <string name="gsensor_data">Gsensor参数:</string>\r
+ <string name="auto_tip">该台机器已经做过整机自动测试</string>\r
+ <string name="user_tip">该台机器已经做过PCBA自动测试</string>\r
+ <string name="mic_tip"> " 提示:请选择测试的Mic,然后对着选择的Mic吹气,右图指针转动则判断成功,否则失败。"</string>\r
+ <string name="version_tip"> "显示版本及测试信息"</string>\r
+ <string name="testresult_tip"> "测试结果:"</string>\r
+ <string name="pass_test"> "通过"</string>\r
+ <string name="fail_test"> "未通过"</string>\r
+ <string name="gps_test"> "GPS测试"</string>\r
+ <string name="gsensor_complete"> "Gensor校准"</string>\r
+ <string name="gsensor_20"> "水平校准"</string>\r
+ <string name="gsensor_zhengji"> "整机自动测试: "</string>\r
+ <string name="gsensor_pcba"> "PCBA自动测试: "</string>\r
+ <string name="lamp"> "三色灯 "</string>\r
+ <string name="lamp_tile"> "三色灯测试 "</string>\r
+ <string name="lamp_tip"> " 请观察指示灯颜色变化,如果看到红绿蓝三种颜色依次变化,则判断成功;反之,只看到一种、两种或灯不亮则失败。 "</string>\r
+ <string name="mianmic"> "主Mic测试 "</string>\r
+ <string name="othermic"> "副Mic测试 "</string>\r
+ <string name="resunme"> "恢复出厂设置 "</string>\r
+ <string name="version_new"> "版本及校准"</string>\r
+ <string name="light_new"> "显示屏"</string>\r
+ <string name="button_new"> "按键"</string>\r
+ <string name="leida_new"> "雷达"</string>\r
+ <string name="beiguang_new"> "背光灯"</string>\r
+ <string name="dual_new"> "电话"</string>\r
+ <string name="sigle_new"> "单项测试报告"</string>\r
+ <string name="rf_new"> "Rf校准:"</string>\r
+ <string name="imei_new"> "IMEI号:"</string>\r
+ <string name="clear_new"> "清除测试数据"</string>\r
+ <string name="start_test_new"> "开始测试!" </string>\r
+ <string name="lcd_test_new"> "显示屏测试结果" </string>\r
+ <string name="tf_test_new"> "双TF卡" </string>\r
+ <string name="tf_Detect"> "已检测到" </string>\r
+ <string name="tf_UnDetect"> "未检测到" </string>\r
+ <string name="test_over_new"> "测试结束!" </string>\r
+ <string name="clear_new_wanr"> "确定清除测试数据?" </string>\r
+ <string name="clear_new_yes"> "清除" </string>\r
+ <string name="clear_new_no"> "返回" </string>\r
+ <string name="lamp_new"> "按键灯" </string>\r
+ <string name="lcd_result">LCD测试结果</string>\r
+ <string name="lcd_result_tip">请判断屏幕显示是否正常,有无缺陷</string>\r
+ <string name="key_result_tip">*提示:点击按键灯测试,观察电源键灯光是否亮起</string>\r
+ <string name="tip1">提示:该界面可进行单项测试</string>\r
+ <string name="tip2">标志:通过(绿色),未通过(红色),未测(白色)</string>\r
+ <string name="mac_new">MAC地址:</string>\r
+ <string name="bt_tip_new">操作步骤:\n1.准备一台可拨打电话的手机和一台固定电话\n2.使用手机与后视镜蓝牙连接,然后向固话拨打电话,\n3.接通后,两边能正常通话,则通过.</string>\r
+ <string name="simid_parameters">SIM卡 ICCID</string>\r
+ <string name="vl_up">音量加</string>\r
+ <string name="vl_down">音量减</string>\r
+ <string name="sos">秒帮SOS</string>\r
+\r
+ <string name="total_memory">总内存</string>\r
+ <string name="avail_memory">可用内存</string>\r
+ <string name="open_dialer">正在打开通话界面,请稍后。。。</string>\r
+ <string name="_fail">失败</string>\r
+ <string name="engineerMode">工程模式</string>\r
+ <string name="more">更多设置</string>\r
+ <string name="unbound">解绑</string>\r
+\r
+ <string name="startRecord">开始录音</string>\r
+ <string name="stopRecord">结束录音</string>\r
+ <string name="startPlay">开始播放</string>\r
+ <string name="stopPlay">结束播放</string>\r
+\r
+ <string name="ageing_mode">老化模式</string>\r
+ <string name="ageing_speaker_test">喇叭测试</string>\r
+ <string name="ageing_lcd_test">LCD测试</string>\r
+ <string name="ageing_camera_test">相机测试</string>\r
+ <string name="show_volum">调节音量请点击这里</string>\r
+ <string name="brightness_setting">亮度调节</string>\r
+ <string name="touchtest_toast">请进行触摸屏测试</string>\r
+ <string name="testing_lcd">正在测试LCD</string>\r
+ <string name="testing_backlight">正在测试背光</string>\r
+ <string name="lcdtest_toast">单击可显示亮度进度条,双击可退出</string>\r
+ <string name="speak_toast">请说话</string>\r
+ <string name="stop_record_toast">停止录音</string>\r
+ <string name="playing_toast">开始播放</string>\r
+ <string name="stop_playing_toast">停止播放</string>\r
+ <string name="cid">CID</string>\r
+ <string name="screen_resolution">屏幕分辨率</string>\r
+ <string name="download_mode">流量</string>\r
+ <string name="key_ai">AI键</string>\r
+ <string name="test_keypad1">按键1</string>\r
+ <string name="test_keypad2">按键2</string>\r
+ <string name="ultraviolet">紫外线</string>\r
+ <string name="currentTime">currentTime</string>\r
+ <string name="workTime">workTime</string>\r
+ <string name="wifi_mac_addaress">wifi mac</string>\r
+ <string name="bluethooth_mac_addaress">Bluetooth mac</string>\r
+ <string name="barcode">barcode</string>\r
+ <string name="flag_position">标志位检查</string>\r
+ <string name="heartrate">心率</string>\r
+ <!-- add end -->\r
+\r
+</resources>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<resources>\r
+ <string-array name="funEableValue">\r
+ <item>false</item>\r
+ <item>false</item>\r
+ <item>false</item>\r
+ <item>true</item>\r
+ <item>true</item>\r
+ <item>true</item>\r
+ <item>true</item>\r
+ <item>true</item>\r
+ <item>false</item>\r
+ <item>false</item>\r
+ <item>false</item>\r
+ <item>true</item>\r
+ <item>true</item>\r
+ <item>true</item>\r
+ <item>true</item>\r
+ <item>true</item>\r
+ <item>true</item>\r
+ <item>true</item>\r
+ <item>true</item>\r
+ <item>true</item>\r
+ <item>true</item>\r
+ <item>false</item>\r
+ <item>false</item>\r
+ <item>true</item>\r
+ <item>false</item>\r
+ <item>true</item>\r
+ <item>true</item>\r
+ <item>true</item>\r
+ <item>true</item>\r
+ <item>true</item>\r
+ <item>true</item>\r
+ <item>true</item>\r
+ </string-array>\r
+ <string-array name="directionLabels">\r
+ <item>N</item>\r
+ <item>NE</item>\r
+ <item>E</item>\r
+ <item>SE</item>\r
+ <item>NW</item>\r
+ <item>W</item>\r
+ <item>SW</item>\r
+ <item>S</item>\r
+ </string-array>\r
+</resources>\r
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<resources>\r
+\r
+ <color name="recording_current_shot_text">#ffffffff</color>\r
+ <color name="gray">#ffd3d3d3</color>\r
+\r
+ <!-- add by tyy 2016.9.2 -->\r
+\r
+ <color name="bg_color_white">#ffffffff</color>\r
+ <color name="bg_color">#ffeeeeee</color>\r
+ <color name="list_item_bg_color_focus">#ff33a3dc</color>\r
+ <color name="list_item_bg_color">#ffffffff</color>\r
+ <color name="category_tital">#ffdfdedb</color>\r
+ <color name="color_title">#ff333333</color>\r
+ <color name="color_summery">#ff909090</color>\r
+ <color name="button_black_abovetext_color">#ff595959</color>\r
+ <color name="button_white_abovetext_color">#ffeeeeee</color>\r
+ <color name="button_green_abovetext_color">#ff4e7f11</color>\r
+ <color name="button_press_abovetext_color">#ff7e5000</color>\r
+ <color name="fail">#008000</color>\r
+ <color name="success_normal">#797979</color> \r
+ <color name="success">#B8DF5A</color>\r
+ <color name="keys_color">#B8DF5A</color>\r
+ <color name="press_color">#c0c0c0</color>\r
+ <color name="pass_color">#00ff00</color>\r
+\r
+ <!-- 常用的颜色 -->\r
+ <color name="transparent">#00000000</color> <!-- 透明色 -->\r
+ <color name="translucent">#9000</color> <!-- 半透明色 -->\r
+ <color name="white">#ffffff</color> <!-- 白色 -->\r
+ <color name="ivory">#fffff0</color> <!-- 象牙色 -->\r
+ <color name="lightyellow">#ffffe0</color> <!-- 亮黄色 -->\r
+ <color name="yellow">#ffff00</color> <!-- 黄色 -->\r
+ <color name="snow">#fffafa</color> <!-- 雪白色 -->\r
+ <color name="floralwhite">#fffaf0</color> <!-- 花白色 -->\r
+ <color name="lemonchiffon">#fffacd</color> <!-- 柠檬绸色 -->\r
+ <color name="cornsilk">#fff8dc</color> <!-- 米绸色 -->\r
+ <color name="seaShell">#fff5ee</color> <!-- 海贝色 -->\r
+ <color name="lavenderblush">#fff0f5</color> <!-- 淡紫红 -->\r
+ <color name="papayawhip">#ffefd5</color> <!-- 番木色 -->\r
+ <color name="blanchedalmond">#ffebcd</color> <!-- 白杏色 -->\r
+ <color name="mistyrose">#ffe4e1</color> <!-- 浅玫瑰色 -->\r
+ <color name="bisque">#ffe4c4</color> <!-- 桔黄色 -->\r
+ <color name="moccasin">#ffe4b5</color> <!-- 鹿皮色 -->\r
+ <color name="navajowhite">#ffdead</color> <!-- 纳瓦白 -->\r
+ <color name="peachpuff">#ffdab9</color> <!-- 桃色 -->\r
+ <color name="gold">#ffd700</color> <!-- 金色 -->\r
+ <color name="pink">#ffc0cb</color> <!-- 粉红色 -->\r
+ <color name="lightpink">#ffb6c1</color> <!-- 亮粉红色 -->\r
+ <color name="orange">#ffa500</color> <!-- 橙色 -->\r
+ <color name="lightsalmon">#ffa07a</color> <!-- 亮肉色 -->\r
+ <color name="darkorange">#ff8c00</color> <!-- 暗桔黄色 -->\r
+ <color name="coral">#ff7f50</color> <!-- 珊瑚色 -->\r
+ <color name="hotpink">#ff69b4</color> <!-- 热粉红色 -->\r
+ <color name="tomato">#ff6347</color> <!-- 西红柿色 -->\r
+ <color name="orangered">#ff4500</color> <!-- 红橙色 -->\r
+ <color name="deeppink">#ff1493</color> <!-- 深粉红色 -->\r
+ <color name="fuchsia">#ff00ff</color> <!-- 紫红色 -->\r
+ <color name="magenta">#ff00ff</color> <!-- 红紫色 -->\r
+ <color name="red">#ff0000</color> <!-- 红色 -->\r
+ <color name="oldlace">#fdf5e6</color> <!-- 老花色 -->\r
+ <color name="lightgoldenrodyellow">#fafad2</color> <!-- 亮金黄色 -->\r
+ <color name="linen">#faf0e6</color> <!-- 亚麻色 -->\r
+ <color name="antiquewhite">#faebd7</color> <!-- 古董白 -->\r
+ <color name="salmon">#fa8072</color> <!-- 鲜肉色 -->\r
+ <color name="ghostwhite">#f8f8ff</color> <!-- 幽灵白 -->\r
+ <color name="mintcream">#f5fffa</color> <!-- 薄荷色 -->\r
+ <color name="whitesmoke">#f5f5f5</color> <!-- 烟白色 -->\r
+ <color name="beige">#f5f5dc</color> <!-- 米色 -->\r
+ <color name="wheat">#f5deb3</color> <!-- 浅黄色 -->\r
+ <color name="sandybrown">#f4a460</color> <!-- 沙褐色 -->\r
+ <color name="azure">#f0ffff</color> <!-- 天蓝色 -->\r
+ <color name="honeydew">#f0fff0</color> <!-- 蜜色 -->\r
+ <color name="aliceblue">#f0f8ff</color> <!-- 艾利斯兰 -->\r
+ <color name="khaki">#f0e68c</color> <!-- 黄褐色 -->\r
+ <color name="lightcoral">#f08080</color> <!-- 亮珊瑚色 -->\r
+ <color name="palegoldenrod">#eee8aa</color> <!-- 苍麒麟色 -->\r
+ <color name="violet">#ee82ee</color> <!-- 紫罗兰色 -->\r
+ <color name="darksalmon">#e9967a</color> <!-- 暗肉色 -->\r
+ <color name="lavender">#e6e6fa</color> <!-- 淡紫色 -->\r
+ <color name="lightcyan">#e0ffff</color> <!-- 亮青色 -->\r
+ <color name="burlywood">#deb887</color> <!-- 实木色 -->\r
+ <color name="plum">#dda0dd</color> <!-- 洋李色 -->\r
+ <color name="gainsboro">#dcdcdc</color> <!-- 淡灰色 -->\r
+ <color name="crimson">#dc143c</color> <!-- 暗深红色 -->\r
+ <color name="palevioletred">#db7093</color> <!-- 苍紫罗兰色 -->\r
+ <color name="goldenrod">#daa520</color> <!-- 金麒麟色 -->\r
+ <color name="orchid">#da70d6</color> <!-- 淡紫色 -->\r
+ <color name="thistle">#d8bfd8</color> <!-- 蓟色 -->\r
+ <color name="lightgrey">#d3d3d3</color> <!-- 亮灰色 -->\r
+ <color name="tan">#d2b48c</color> <!-- 茶色 -->\r
+ <color name="chocolate">#d2691e</color> <!-- 巧可力色 -->\r
+ <color name="peru">#cd853f</color> <!-- 秘鲁色 -->\r
+ <color name="indianred">#cd5c5c</color> <!-- 印第安红 -->\r
+ <color name="mediumvioletred">#c71585</color> <!-- 中紫罗兰色 -->\r
+ <color name="silver">#c0c0c0</color> <!-- 银色 -->\r
+ <color name="darkkhaki">#bdb76b</color> <!-- 暗黄褐色 -->\r
+ <color name="rosybrown">#bc8f8f</color> <!-- 褐玫瑰红 -->\r
+ <color name="mediumorchid">#ba55d3</color> <!-- 中粉紫色 -->\r
+ <color name="darkgoldenrod">#b8860b</color> <!-- 暗金黄色 -->\r
+ <color name="firebrick">#b22222</color> <!-- 火砖色 -->\r
+ <color name="powderblue">#b0e0e6</color> <!-- 粉蓝色 -->\r
+ <color name="lightsteelblue">#b0c4de</color> <!-- 亮钢兰色 -->\r
+ <color name="paleturquoise">#afeeee</color> <!-- 苍宝石绿 -->\r
+ <color name="greenyellow">#adff2f</color> <!-- 黄绿色 -->\r
+ <color name="lightblue">#add8e6</color> <!-- 亮蓝色 -->\r
+ <color name="darkgrey">#a9a9a9</color> <!-- 暗灰色 -->\r
+ <color name="brown">#a52a2a</color> <!-- 褐色 -->\r
+ <color name="sienna">#a0522d</color> <!-- 赭色 -->\r
+ <color name="darkorchid">#9932cc</color> <!-- 暗紫色 -->\r
+ <color name="palegreen">#98fb98</color> <!-- 苍绿色 -->\r
+ <color name="darkviolet">#9400d3</color> <!-- 暗紫罗兰色 -->\r
+ <color name="mediumpurple">#9370db</color> <!-- 中紫色 -->\r
+ <color name="lightgreen">#90ee90</color> <!-- 亮绿色 -->\r
+ <color name="darkseagreen">#8fbc8f</color> <!-- 暗海兰色 -->\r
+ <color name="saddlebrown">#8b4513</color> <!-- 重褐色 -->\r
+ <color name="darkmagenta">#8b008b</color> <!-- 暗洋红 -->\r
+ <color name="darkred">#8b0000</color> <!-- 暗红色 -->\r
+ <color name="blueviolet">#8a2be2</color> <!-- 紫罗兰蓝色 -->\r
+ <color name="lightskyblue">#87cefa</color> <!-- 亮天蓝色 -->\r
+ <color name="skyblue">#87ceeb</color> <!-- 天蓝色 -->\r
+ <color name="grey">#808080</color> <!-- 灰色 -->\r
+ <color name="olive">#808000</color> <!-- 橄榄色 -->\r
+ <color name="purple">#800080</color> <!-- 紫色 -->\r
+ <color name="maroon">#800000</color> <!-- 粟色 -->\r
+ <color name="aquamarine">#7fffd4</color> <!-- 碧绿色 -->\r
+ <color name="chartreuse">#7fff00</color> <!-- 黄绿色 -->\r
+ <color name="lawngreen">#7cfc00</color> <!-- 草绿色 -->\r
+ <color name="mediumslateblue">#7b68ee</color> <!-- 中暗蓝色 -->\r
+ <color name="lightslategrey">#778899</color> <!-- 亮蓝灰 -->\r
+ <color name="slategrey">#708090</color> <!-- 灰石色 -->\r
+ <color name="olivedrab">#6b8e23</color> <!-- 深绿褐色 -->\r
+ <color name="slateblue">#6a5acd</color> <!-- 石蓝色 -->\r
+ <color name="dimgrey">#696969</color> <!-- 暗灰色 -->\r
+ <color name="mediumaquamarine">#66cdaa</color> <!-- 中绿色 -->\r
+ <color name="cornflowerblue">#6495ed</color> <!-- 菊兰色 -->\r
+ <color name="cadetblue">#5f9ea0</color> <!-- 军兰色 -->\r
+ <color name="darkolivegreen">#556b2f</color> <!-- 暗橄榄绿 -->\r
+ <color name="indigo">#4b0082</color> <!-- 靛青色 -->\r
+ <color name="mediumturquoise">#48d1cc</color> <!-- 中绿宝石 -->\r
+ <color name="darkslateblue">#483d8b</color> <!-- 暗灰蓝色 -->\r
+ <color name="steelblue">#4682b4</color> <!-- 钢兰色 -->\r
+ <color name="royalblue">#4169e1</color> <!-- 皇家蓝 -->\r
+ <color name="turquoise">#40e0d0</color> <!-- 青绿色 -->\r
+ <color name="mediumseagreen">#3cb371</color> <!-- 中海蓝 -->\r
+ <color name="limegreen">#32cd32</color> <!-- 橙绿色 -->\r
+ <color name="darkslategrey">#2f4f4f</color> <!-- 暗瓦灰色 -->\r
+ <color name="seagreen">#2e8b57</color> <!-- 海绿色 -->\r
+ <color name="forestgreen">#228b22</color> <!-- 森林绿 -->\r
+ <color name="lightseagreen">#20b2aa</color> <!-- 亮海蓝色 -->\r
+ <color name="dodgerblue">#1e90ff</color> <!-- 闪兰色 -->\r
+ <color name="midnightblue">#191970</color> <!-- 中灰兰色 -->\r
+ <color name="aqua">#00ffff</color> <!-- 浅绿色 -->\r
+ <color name="cyan">#00ffff</color> <!-- 青色 -->\r
+ <color name="springgreen">#00ff7f</color> <!-- 春绿色 -->\r
+ <color name="lime">#00ff00</color> <!-- 酸橙色 -->\r
+ <color name="mediumspringgreen">#00fa9a</color> <!-- 中春绿色 -->\r
+ <color name="darkturquoise">#00ced1</color> <!-- 暗宝石绿 -->\r
+ <color name="deepskyblue">#00bfff</color> <!-- 深天蓝色 -->\r
+ <color name="darkcyan">#008b8b</color> <!-- 暗青色 -->\r
+ <color name="teal">#008080</color> <!-- 水鸭色 -->\r
+ <color name="green">#008000</color> <!-- 绿色 -->\r
+ <color name="darkgreen">#006400</color> <!-- 暗绿色 -->\r
+ <color name="blue">#0000ff</color> <!-- 蓝色 -->\r
+ <color name="mediumblue">#0000cd</color> <!-- 中兰色 -->\r
+ <color name="darkblue">#00008b</color> <!-- 暗蓝色 -->\r
+ <color name="navy">#000080</color> <!-- 海军色 -->\r
+ <color name="black">#000000</color> <!-- 黑色 -->\r
+ <color name="sub_menu_title_color">#B2B2B2</color> <!-- 黑色 -->\r
+\r
+</resources>
\ No newline at end of file
--- /dev/null
+<resources>\r
+ <!-- Default screen margins, per the Android Design guidelines. -->\r
+ <dimen name="activity_horizontal_margin">16dp</dimen>\r
+ <dimen name="activity_vertical_margin">16dp</dimen>\r
+</resources>\r
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<resources>\r
+ <item type="drawable" name="white">#fff5f5f5</item>\r
+ <item type="drawable" name="black">#ff000000</item>\r
+ <item type="drawable" name="grey">#ffdcdcdc</item>\r
+ <item type="drawable" name="green">#ff008000</item>\r
+ <item type="drawable" name="lightGreen">#ffc2d69a</item>\r
+ <item type="drawable" name="silver">#ffcccccc</item>\r
+ <item type="drawable" name="lightGrey">#ff8f8f8f</item>\r
+ <item type="drawable" name="deepGrey">#ff303538</item>\r
+ <item type="drawable" name="lightOrange">#fffaaf65</item>\r
+</resources>\r
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<resources>\r
+ <string name="project" translatable="false">Kdragon_80_t11</string>\r
+ <string name="KEY_POWER" translatable="false">false</string>\r
+ <string name="KEY_VLUP" translatable="false">true</string>\r
+ <string name="KEY_VLDOWN" translatable="false">true</string>\r
+ <string name="KEY_SEARCH" translatable="false">false</string>\r
+ <string name="KEY_HOME" translatable="false">true</string>\r
+ <string name="KEY_MENU" translatable="false">true</string>\r
+ <string name="KEY_BACK" translatable="false">true</string>\r
+ <string name="KEY_CAMERA" translatable="false">false</string>\r
+ <string name="KEY_EARPHONE" translatable="false">false</string>\r
+ <string name="timer_format" formatted="false" translatable="false">%02d:%02d</string>\r
+ <string name="app_name">FactoryMode</string>\r
+ <string name="otaupdate">OTA Update</string>\r
+ <string name="light">Light_induction</string>\r
+ <string name="noLight">Could not get brightness value</string>\r
+ <string name="defaultlightness">Getting_brightness</string>\r
+ <string name="lightness">brightness</string>\r
+ <string name="lightTip">Tip: the phone is positive toward the light source is conducive to faster access to brightness</string>\r
+ <string name="magnetic">Magnetic_induction</string>\r
+ <string name="magneticX">Magnetic field x</string>\r
+ <string name="magneticY">Magnetic field Y</string>\r
+ <string name="magneticZ">Magnetic field Z</string>\r
+ <string name="gravity">Gravity induction</string>\r
+ <string name="gravityX">Gravity x</string>\r
+ <string name="gravityY">Gravity Y</string>\r
+ <string name="gravityZ">Gravity Z</string>\r
+ <string name="shakeTest">Vibration_test</string>\r
+ <string name="shakeClick">Click_shock</string>\r
+ <string name="noShake">Does not support the mobile phone vibration</string>\r
+ <string name="keysTest">Key test</string>\r
+ <string name="keyPower">Power</string>\r
+ <string name="keyVLDown">VLUp</string>\r
+ <string name="keyVLUP">VLDown</string>\r
+ <string name="keySearch">Search</string>\r
+ <string name="keyHome">Home</string>\r
+ <string name="keyMenu">Menu</string>\r
+ <string name="keyBack">Back</string>\r
+ <string name="keyCamera">Camera</string>\r
+ <string name="keyCall">Call</string>\r
+ <string name="keyEndCall">EndCall</string>\r
+ <string name="empty">--</string>\r
+ <string name="detectSim">Sim card detection</string>\r
+ <string name="detectSim1">Detection Sim1</string>\r
+ <string name="detectSim2">Detection Sim2</string>\r
+ <string name="sim1">Sim1</string>\r
+ <string name="sim2">Sim2</string>\r
+ <string name="cardTest">SDcardtest</string>\r
+ <string name="cardAvail">Insert SD card</string>\r
+ <string name="cardFreeSize">Available space</string>\r
+ <string name="cardUsedSize">used space</string>\r
+ <string name="cardTotalSize">SD card capacity</string>\r
+ <string name="card2TotalSize">SD2 card capacity</string>\r
+ <string name="checkSum">Checksum</string>\r
+ <string name="nandFlash">Cell phone memory</string>\r
+ <string name="manufacturerID">Manufacturer ID</string>\r
+ <string name="deviceID">device ID</string>\r
+ <string name="rwTestResult">Read and write test results</string>\r
+ <string name="signalTest">Signal test</string>\r
+ <string name="signalRsult">Signal test results</string>\r
+ <string name="signalTestError">Signal test failure</string>\r
+ <string name="emergencyCall">Call 112</string>\r
+ <string name="chinaMoveCall">Call 10086</string>\r
+ <string name="emergencyCallSuccess">Call an emergency call success</string>\r
+ <string name="emergencyCallFail">Call emergency failure</string>\r
+ <string name="headsetTest">Headset test</string>\r
+ <string name="headsetAvail">There is no headset</string>\r
+ <string name="startMusic">play</string>\r
+ <string name="headsetButton">According to the remote control button</string>\r
+ <string name="gpsTest">GPS location</string>\r
+ <string name="gpsLongitude">longitude</string>\r
+ <string name="gpsDimensions">latitude</string>\r
+ <string name="coldRestart">cold boot</string>\r
+ <string name="hotRestart">Hot start</string>\r
+ <string name="noPosition">No geographic information</string>\r
+ <string name="gpsTTFF">GPS TTFF</string>\r
+ <string name="gpslocation">Getting GPS location information...</string>\r
+ <string name="sec">sec</string>\r
+ <string name="fmTest">Screen brightness</string>\r
+ <string name="fmSetFreq">channel</string>\r
+ <string name="rssi">RSSI</string>\r
+ <string name="mhz">MHZ</string>\r
+ <string name="dbm">(dBm)</string>\r
+ <string name="testFreq0">Test Freq 0</string>\r
+ <string name="testFreq1">Test Freq 1</string>\r
+ <string name="testFreq2">Test Freq 2</string>\r
+ <string name="testFreq3">Test Freq 3</string>\r
+ <string name="bluetooth">Bluetooth test</string>\r
+ <string name="blState">Bluetooth status</string>\r
+ <string name="blOpen">Turn on Bluetooth</string>\r
+ <string name="blOpened">Bluetooth is turned on</string>\r
+ <string name="blNoSerport">The current phone does not support Bluetooth</string>\r
+ <string name="bldenied">Bluetooth has been banned</string>\r
+ <string name="blScan">Bluetooth scan</string>\r
+ <string name="blScaning">Scanning Bluetooth device</string>\r
+ <string name="wifitest">WIFI test</string>\r
+ <string name="wfState">WIFI state</string>\r
+ <string name="wfOpen">Start WIFI</string>\r
+ <string name="wfScan">WIFI scan</string>\r
+ <string name="wfScaning">Is sweeping the hot spots</string>\r
+ <string name="cameraTest">Camera test</string>\r
+ <string name="mainCamera">Main camera</string>\r
+ <string name="subCamera">Vice camera</string>\r
+ <string name="ringtone">Bell test</string>\r
+ <string name="ringStart">Click play</string>\r
+ <string name="receiverTest">Receiver test</string>\r
+ <string name="loopback">Microphone test</string>\r
+ <string name="mic1">Mobile phone microphone test</string>\r
+ <string name="mic2">Headphone microphone test</string>\r
+ <string name="receiverStart">Click play</string>\r
+ <string name="colon">:</string>\r
+ <string name="nothing">nothing</string>\r
+ <string name="ok">correct</string>\r
+ <string name="found">find</string>\r
+ <string name="tsb">Taiwan equipment</string>\r
+ <string name="returnBack">return</string>\r
+ <string name="getInfo">Getting information...</string>\r
+ <string name="noFoundDev">No devices found</string>\r
+ <string name="noMainC">Rear facing camera is not supported</string>\r
+ <string name="noSubC">Rear facing camera is not supported</string>\r
+ <string name="gpsOk">GPS module normal</string>\r
+ <string name="pleaseOpGps">Please open the GPS first!</string>\r
+ <string name="waitForpo">Wait for location information</string>\r
+ <string name="state">state</string>\r
+ <string name="have">yes</string>\r
+ <string name="yes">yes</string>\r
+ <string name="no">no</string>\r
+ <string name="_fail">Fail</string>\r
+ <string name="checkFail">Failure detection</string>\r
+ <string name="rwCheckSuccess">Reading and writing test success</string>\r
+ <string name="rwCheckFail">Reading and writing test success</string>\r
+ <string name="dailSuccess">Call success</string>\r
+ <string name="dailFail">Call failed</string>\r
+ <string name="grd">A hot spot</string>\r
+ <string name="foundNoHot">Did not search to the hot spots</string>\r
+ <string name="openWififail">WIFI startup failed</string>\r
+ <string name="scanBegin">Start scanning</string>\r
+ <string name="wifiOpening">Starting WIFI...</string>\r
+ <string name="wifiOpen">WIFI has been started</string>\r
+ <string name="noSuportWifi">Does not support WIFI</string>\r
+ <string name="pleaseInsertHS">Please insert the headset</string>\r
+ <string name="pleaseOffHS">Please unplug the headset</string>\r
+ <string name="record">sound recording</string>\r
+ <string name="recordStart">Is recording</string>\r
+ <string name="stop">stop it</string>\r
+ <string name="recordstop">Stop status</string>\r
+ <string name="play">play</string>\r
+ <string name="delete">delete</string>\r
+ <string name="recordFile">Recording file</string>\r
+ <string name="testTouchScreen">touch screen</string>\r
+ <string name="TouchScreen">TouchScreen</string>\r
+ <string name="TouchScreen_HandWriting">TouchScreen_HandWriting</string>\r
+ <string name="TouchScreen_Verification">TouchScreen_Verification</string>\r
+ <string name="TouchScreen_VerificationPoint">TouchScreen_VerificationPoint</string>\r
+ <string name="TouchScreen_VerificationLine">TouchScreen_VerificationLine</string>\r
+ <string name="TouchScreen_VerificationShaking">TouchScreen_VerificationShaking</string>\r
+ <string name="TouchScreen_MultiTouch">TouchScreen_MultiTouch</string>\r
+ <string name="TouchScreen_Settings_TextValue">The value</string>\r
+ <string name="TouchScreen_Settings_TextSpinner">Category</string>\r
+ <string name="TouchScreen_Settings_TextSet">Set</string>\r
+ <string name="TouchScreen_Settings">Settings</string>\r
+ <string name="TouchScreen_Settings_Value">0</string>\r
+ <string name="TouchScreen_Settings_sdcard">OFF</string>\r
+ <string name="TouchScreen_Settings_uart">OFF</string>\r
+ <string name="TouchScreen_Settings_TextUart">Enable Uart Log</string>\r
+ <string name="TouchScreen_Settings_TextSDcard">Enable SD card Log</string>\r
+ <string name="power">Electricity</string>\r
+ <string name="noPower">Unable to obtain power</string>\r
+ <string name="nowState">current state</string>\r
+ <string name="playrecord">Being played</string>\r
+ <string name="recordFirst">No audio file, please record</string>\r
+ <string name="palyfinish">Play end</string>\r
+ <string name="distanceSensor">Distance sensing</string>\r
+ <string name="noDistanceSensor">No distance sensing information</string>\r
+ <string name="inDistance">Object approach</string>\r
+ <string name="outDistance">Object departure</string>\r
+ <string name="distanceTip">Tip: hand block / leave screen at the top of the test</string>\r
+ <string name="largestSound">Max volume play</string>\r
+ <string name="capture">Capture</string>\r
+ <string name="cameraMotor">Camera motor</string>\r
+ <string name="pullFar">Pull to the maximum</string>\r
+ <string name="pullClose">Pull to the minimum</string>\r
+ <string name="pullLoop">Cycle focus</string>\r
+ <string name="pullStopLoop">Stop cycle focus</string>\r
+ <string name="matvTest">TV signal test</string>\r
+ <string name="press">Hold down</string>\r
+ <string name="release">let go</string>\r
+ <string name="lastOne">Last one</string>\r
+ <string name="nextOne">Next one</string>\r
+ <string name="singleTest">single test</string>\r
+ <string name="read_imei">Display IMEI number</string>\r
+ <string name="modify_imei_sim1">Modify SIM1</string>\r
+ <string name="modify_imei_sim2">Modify SIM2</string>\r
+ <string name="input_imei_title">Please enter a new IMEI number</string>\r
+ <string name="autoTest">Automatic testing</string>\r
+ <string name="pcbaTest">PCBA testing</string>\r
+ <string name="sysVersion">edition</string>\r
+ <string name="reStore">Restore factory settings</string>\r
+ <string name="mediaTest">mediaTest</string>\r
+ <string name="readAPN">APN query</string>\r
+ <string name="sim_lock_settings">SIM card lock function setting</string>\r
+ <string name="modify_imei">Modify IMEI number</string>\r
+ <string name="testReport">Test report</string>\r
+ <string name="beginTestGPS">Click start GPS test</string>\r
+ <string name="beginTestTM">Click start FM test</string>\r
+ <string name="beginTestCamera">Click to start the camera test</string>\r
+ <string name="beginTestMtv">Click to start the TV signal test</string>\r
+ <string name="beginTestCmotor">Click to start the camera motor test</string>\r
+ <string name="beginTestScreenTouch">beginTestScreenTouch</string>\r
+ <string name="beginTestMulitScreenTouch">beginTestMulitScreenTouch</string>\r
+ <string name="testSucess">success</string>\r
+ <string name="testFail">fail</string>\r
+ <string name="testReprot">Test report</string>\r
+ <string name="bbChip">BB Chip</string>\r
+ <string name="msBoard">MS Board</string>\r
+ <string name="modemVer">Modem Ver</string>\r
+ <string name="buildTime">Build Time</string>\r
+ <string name="buildNumber">Build Number</string>\r
+ <string name="uBootVer">UBoot Ver</string>\r
+ <string name="kernelVer">Kernel Ver</string>\r
+ <string name="androidVer">Android Ver</string>\r
+ <string name="swVer">SW Ver</string>\r
+ <string name="verno">Custom Build Verno</string>\r
+ <string name="deviceInfoDefault">unKnown</string>\r
+ <string name="isLatestOne">Is the last one</string>\r
+ <string name="isTopOne">Is the last one</string>\r
+ <string name="reScan">Re scan</string>\r
+ <string name="versionTest">Version test</string>\r
+ <string name="flashLightTest">Flash test</string>\r
+ <string name="openLight">open</string>\r
+ <string name="closeLight">close</string>\r
+ <string name="appsPath">Application path</string>\r
+ <string name="defaultPath">mnt/sdcard/apps</string>\r
+ <string name="installPath">Installation location</string>\r
+ <string name="sdCard">SDCard</string>\r
+ <string name="phone">mobile phone</string>\r
+ <string name="startInstall">Start installation</string>\r
+ <string name="selectInsLocation">Please select the installation location</string>\r
+ <string name="noApps">No application can be installed</string>\r
+ <string name="nowInstall">Being installed</string>\r
+ <string name="submit">determine</string>\r
+ <string name="unbound_cancel">cancel</string>\r
+ <string name="installFinish">Installation end</string>\r
+ <string name="installSoft">Installation software</string>\r
+ <string name="cmmbTest">mobile TV</string>\r
+ <string name="bCmmbTest">Click to enter the mobile TV test</string>\r
+ <string name="setMac">Write WIFI/ Bluetooth MAC address</string>\r
+ <string name="phoneDetail">Device Status</string>\r
+ <string name="imei">IMEI</string>\r
+\r
+ <string name="imei_invalid">invalid</string>\r
+ <string name="imei_write_successful">Write IMEI number is successful, please restart the phone into effect!</string>\r
+ <string name="imei_wirte_fail">Write IMEI number failed, please enter the correct IMEI number!</string>\r
+ <string name="storage">storage</string>\r
+ <string name="sdcard_storage">SD card storage available / total</string>\r
+ <string name="phone_storage">Internal storage available / total</string>\r
+ <string name="mac">MAC</string>\r
+ <string name="bt">Bluetooth</string>\r
+ <string name="wifi">WIFI</string>\r
+ <string name="checkDir">SD card structure</string>\r
+ <string name="installedSoft">Installed applications</string>\r
+ <string name="cpsdcard2">Copy_sdcard2</string>\r
+ <string name="cpsdcard2Hint">Click OK to copy all the files on the SDCard2 to SDCard, the same name of the file will be covered, to confirm the copy?</string>\r
+ <string name="cpsdcard2ing">Being copied...</string>\r
+ <string name="cpsdcard2finish">copy complete</string>\r
+ <string name="agree">confirm</string>\r
+ <string name="cancel">close</string>\r
+ <string name="srcDir">Source directory</string>\r
+ <string name="tarDir">Target directory</string>\r
+ <string name="srcPath">/mnt/sdcard2</string>\r
+ <string name="tarPath">/mnt/sdcard/miki</string>\r
+ <string name="version_label">Version</string>\r
+ <string name="sw_label">[SW VERSION]</string>\r
+ <string name="hw_label">[HW VERSION]</string>\r
+ <string name="btn_close">Close</string>\r
+ <string name="sw_and_hw">Version</string>\r
+ <string name="sn">SN</string>\r
+ <string name="sn_invalid">Invalid</string>\r
+ <string name="hw">Cosmote-ver1</string>\r
+ <string name="sw">Cosmote_</string>\r
+ <string name="vk_hw">Cosmote-ver1</string>\r
+ <string name="vk_sw">Cosmote_</string>\r
+ <string name="no_ota_file">There is no software version found.Please put the software version in the SDcard or internal storage.</string>\r
+ <string name="update_from_sd">upgrade</string>\r
+ <string name="update_make_sure_to_continue">This operation is not restored, are you sure?</string>\r
+ <string name="update_confirm">Yes</string>\r
+\r
+ <string name="update_make_sure_and_select_file">This operation is not restored, such as determining if you click on the button to select the upgrade file.</string>\r
+ <string name="update_select_file">Select file</string>\r
+ <string name="update_write_file_faild">fail to write to file</string>\r
+ <string name="update_file_wrong">File type error, or can not find the upgrade file</string>\r
+ <string name="update_make_sure_to_update">Do you need to upgrade the software?(Please put the software version in the SDcard or internal storage)</string>\r
+ <string name="TestMedia">TestMedia</string>\r
+ <string name="sdcardfile">SDcard</string>\r
+ <string name="buildIn">buildIn</string>\r
+ <string name="no_compass">No magnetic sensor found</string>\r
+ <string name="test_tv_SMT">SMT test</string>\r
+ <string name="test_tv_ZZ">Assembly test</string>\r
+ <string name="test_tv_Retain">Comprehensive test</string>\r
+ <string name="apn_mcc">MCC:</string>\r
+ <string name="apn_mnc">MNC:</string>\r
+ <string name="imei1">IMEI1</string>\r
+ <string name="apn_search">Search</string>\r
+ <string name="lcdTest">LCD</string>\r
+ <string name="lcdTest_lsn">LCD</string>\r
+ <string name="phoneTest">Telephone</string>\r
+ <string name="bgLightTest">Background light test</string>\r
+ <string name="bgLightStrong">Strong backlight</string>\r
+ <string name="bgLightWeak">Weak backlight</string>\r
+ <string name="imei_ok">determine</string>\r
+ <string name="imei2">imei2</string>\r
+ <string name="sorry_again">Sorry, your input is not correct. Please try again!</string>\r
+ <string name="ramTest">Ram</string>\r
+ <string name="romTest">Rom</string>\r
+ <string name="ramromTest">Memory!</string>\r
+ <string name="otgTest">OTG test</string>\r
+ <string name="otg_disconnect">No OTG device connection</string>\r
+ <string name="otg_connect">Detecting device</string>\r
+ <string name="powerBatteryTest">Power charge test</string>\r
+ <string name="power_charge_battery_state">Charging status</string>\r
+ <string name="power_current_battery">Current power</string>\r
+ <string name="power_battery">battery level</string>\r
+ <string name="power_state">Power state</string>\r
+ <string name="power_current_voltage">Current voltage</string>\r
+ <string name="power_temperature">Power supply temperature</string>\r
+ <string name="power_skill">Power technology</string>\r
+ <string name="power_electric">Battery terminal current</string>\r
+ <string name="power_time">Self starting time</string>\r
+ <string name="battery_info_power_unplugged">Not plugged in</string>\r
+ <string name="battery_info_power_ac">alternating current</string>\r
+ <string name="battery_info_power_usb">USB</string>\r
+ <string name="battery_info_power_wireless">wireless</string>\r
+ <string name="battery_info_power_ac_usb">alternating current + USB</string>\r
+ <string name="battery_info_power_unknown">未知</string>\r
+ <string name="battery_info_health_unknown">unknown</string>\r
+ <string name="battery_info_health_good">Good</string>\r
+ <string name="battery_info_health_overheat">overheated</string>\r
+ <string name="battery_info_health_dead">No electricity</string>\r
+ <string name="battery_info_health_over_voltage">Over voltage</string>\r
+ <string name="battery_info_health_unspecified_failure">unknown error</string>\r
+ <string name="battery_info_health_cold">Low power</string>\r
+ <string name="battery_info_temperature_units">° C</string>\r
+ <string name="beginPhoneTest">Click to start the phone test</string>\r
+ <string name="imeisnTest">IMEI/SN</string>\r
+ <string name="key_ear">Earphone button</string>\r
+ <string name="kernel_specified">**********</string>\r
+ <string name="kernelVer1">Kernel Ver1</string>\r
+ <string name="sim_lock">SIM card lock function</string>\r
+ <string name="call_fun">Call test</string>\r
+ <string name="begincall">Click Start test call</string>\r
+\r
+ <string name="battery_status">Battery status : </string>\r
+ <string name="battery_info_status_charging">Charging</string>\r
+ <string name="battery_v">Battery voltage : </string>\r
+ <string name="battery_temp">Battery temperature : </string>\r
+ <string name="battery_info_status_charging_ac">(AC)</string>\r
+ <string name="battery_info_status_charging_usb">(USB)</string>\r
+ <string name="battery_info_status_discharging">Not charging</string>\r
+ <string name="battery_info_status_not_charging">Not charging</string>\r
+ <string name="battery_info_status_full">Full</string>\r
+ <string name="battery_info_status_unknown">Unknown</string>\r
+ <string name="battery_info_voltage_units">mV</string>\r
+ <string name="battery_level">Battery level : </string>\r
+ <string name="battery_health">Battery health : </string>\r
+\r
+\r
+ <string name="battery_charging">Battery Charging Test</string>\r
+ <string name="ins_gsensor">Please turn over the phone to complete the test!</string>\r
+ <string name="ins_gsensor_toast">Pass!</string>\r
+\r
+ <string name="bt_empty" translatable="false"></string>\r
+\r
+ <string name="isZoom_y">PASS!</string>\r
+\r
+ <string name="isZoom_n">FAIL!</string>\r
+ <string name="rf_parameters">rf</string>\r
+ <string name="simid_parameters">SimSerialNumber</string>\r
+ <string name="vl_up">VLUp</string>\r
+ <string name="vl_down">VLDown</string>\r
+ <string name="sos">miaoSoS</string>\r
+ <string name="ageing_mode">Ageing mode</string>\r
+ <string name="ageing_speaker_test">Speaker test</string>\r
+ <string name="ageing_lcd_test">LCD test</string>\r
+ <string name="ageing_camera_test">Camera test</string>\r
+ <string name="show_volum">To adjust the volume, please click here</string>\r
+ <string name="brightness_setting">Dimming</string>\r
+\r
+ <string name="start_test_new">Start Testing</string>\r
+ <string name="benji">Factory test</string>\r
+ <string name="resunme">Reset</string>\r
+ <string name="tip2">Logo: pass (green), not pass (red), not measured (white)</string>\r
+ <string name="clear_new">Clear the test data</string>\r
+ <string name="version_new">Version and calibration</string>\r
+ <string name="touch">Touch screen</string>\r
+ <string name="light_new">Display screen</string>\r
+ <string name="camera">Camera</string>\r
+ <string name="speak">Speaker</string>\r
+ <string name="mic_title">Microphone</string>\r
+ <string name="sim_title">SIM card</string>\r
+ <string name="dual_new">Phone</string>\r
+ <string name="beiguang_new">Backlight</string>\r
+ <string name="gps">GPS</string>\r
+ <string name="startRecord">Start recording</string>\r
+ <string name="stopRecord">Stop recording</string>\r
+ <string name="startPlay">Start playing</string>\r
+ <string name="stopPlay">Stop play</string>\r
+ <string name="engineerMode">Engineering model</string>\r
+ <string name="more">More settings</string>\r
+ <string name="unbound">Unbound</string>\r
+ <string name="touchtest_toast">Please touch screen test</string>\r
+ <string name="testing_lcd">Testing LCD</string>\r
+ <string name="fail">FAIL</string>\r
+ <string name="success">SUCCESS</string>\r
+ <string name="network">network</string>\r
+ <string name="location_sucess">Location success </string>\r
+ <string name="location_fail">Location fail</string>\r
+ <string name="gps_searching">Getting Gps information...</string>\r
+ <string name="total_memory">Total memory: </string>\r
+ <string name="avail_memory">Avail memory: </string>\r
+ <string name="testing_backlight">Testing backlight</string>\r
+ <string name="lcd_result">LCD Test Results</string>\r
+ <string name="lcd_result_tip">Please determine whether the screen display is normal</string>\r
+ <string name="ring_test">Playing music, please listen...</string>\r
+ <string name="lcdtest_toast">Click to display the brightness progress bar, double-click to exit</string>\r
+ <string name="speak_toast">please speak</string>\r
+ <string name="stop_record_toast">Stop recording</string>\r
+ <string name="playing_toast">Start playing</string>\r
+ <string name="stop_playing_toast">Stop play</string>\r
+ <string name="clear_new_wanr">Are you sure to clear the test data </string>\r
+ <string name="clear_new_yes">confirm </string>\r
+ <string name="clear_new_no">return</string>\r
+ <string name="cid">CID</string>\r
+ <string name="sim_hasRead">Identified</string>\r
+ <string name="screen_resolution">screenResolution</string>\r
+ <string name="download_mode">download_mode</string>\r
+\r
+ <string name="beginBackCameraTestCmotor">查看后拉摄像头</string>\r
+ <string name="rf_yes">是</string>\r
+ <string name="rf_no">否</string>\r
+ <string name="screen_bright">背光</string>\r
+ <string name="screen_bright_test">点击开始背光测试</string>\r
+ <string name="voice_phone_test">点击进入网络电话测试</string>\r
+ <string name="bluetootheTest">点击进入蓝牙测试</string>\r
+ <string name="radarTest">点击进入雷达测试</string>\r
+ <string name="radar">雷达测试</string>\r
+ <string name="open_radar">打开雷达</string>\r
+ <string name="close_radar">关闭雷达</string>\r
+ <!-- <string name="fm_test">FM测试</string> -->\r
+ <string name="open_fm">打开FM</string>\r
+ <string name="close_fm">关闭FM</string>\r
+ <string name="longitude">经度:</string>\r
+ <string name="latitude">纬度: </string>\r
+ <string name="brightness_test">屏幕亮度(请拖动滚动条):</string>\r
+ <string name="acc_test">acc点火测试</string>\r
+ <string name="brightLight">按键灯测试</string>\r
+ <string name="fm_isRing">提示:将收音机的频率调至101.0MHZ,测试收音机是否收到音乐,收到则成功,反之则失败。</string>\r
+ <string name="open_buttonLight">点击打开按键灯</string>\r
+\r
+ <string name="beginLCDTM">点击开始LCD测试</string>\r
+\r
+ <string name="result">测试结果</string>\r
+ <!-- <string name="app_name">"测试程序"</string> -->\r
+ <string name="action_settings">设置</string>\r
+ <string name="urovo_test">"Testing tools"</string>\r
+ <string name="model_number">设备型号:</string>\r
+ <string name="manufacturer">制造商:</string>\r
+ <string name="release_number">Android版本:</string>\r
+ <string name="display_number">版本号:</string>\r
+ <string name="test_category_title">测试选项</string>\r
+ <string name="device_model_unknown">设备型号未知</string>\r
+ <string name="device_info_default">未知</string>\r
+ <string name="refresh_complete">刷新完成</string>\r
+ <string name="test_next">下一个</string>\r
+ <string name="test_last">上一个</string>\r
+ <string name="yes1">Yes</string>\r
+ <string name="no1">No</string>\r
+ <string name="ok1">Ok</string>\r
+ <string name="cancel1">Cancel</string>\r
+ <string name="openall_title">全部功能模块</string>\r
+ <string name="openall_summary">打开或关闭全部功能模块</string>\r
+ <string name="show_alltest_title">显示所有测试选项</string>\r
+ <string name="show_alltest_summary">主界面显示所有测试选项</string>\r
+ <string name="setting_title">设置</string>\r
+ <string name="moblie_test_title">整机测试</string>\r
+ <string name="Engineer_mode_title">工程模式</string>\r
+ <string name="map_copy_tools_title">地图拷贝工具</string>\r
+ <!-- device info -->\r
+ <string name="deviceinfo_title">设备信息</string>\r
+ <!-- audio -->\r
+ <string name="audio_default_music">播放默认音频文件</string>\r
+ <string name="audio_sdcard_music">扬声器(喇叭)测试</string>\r
+ <string name="audio_none_music">未找到音频文件</string>\r
+ <string name="audio_palying_tital">正在播放</string>\r
+ <string name="unknown_arter">未知</string>\r
+ <!-- flashlight -->\r
+ <string name="flashlight_title">闪光灯</string>\r
+ <string name="flashlight_none">设备无闪光灯</string>\r
+ <string name="flashlight_on">打开</string>\r
+ <string name="flashlight_off">关闭</string>\r
+ <!-- LED -->\r
+ <string name="led_tite">LED灯测试</string>\r
+ <string name="led_red_on">红色(ON)</string>\r
+ <string name="led_red_off">红色(OFF)</string>\r
+ <string name="led_red">红色</string>\r
+ <string name="led_blue">蓝色</string>\r
+ <string name="led_blue_on">蓝色(ON)</string>\r
+ <string name="led_blue_off">蓝色(OFF)</string>\r
+ <!-- tests -->\r
+ <string name="app_name_android">androidtest</string>\r
+ <string name="test_decive_info">设备</string>\r
+ <string name="test_lcd">LCD</string>\r
+ <string name="test_keypad">按键</string>\r
+ <string name="test_led">LED</string>\r
+ <string name="test_scanner">扫描头</string>\r
+ <string name="test_motor">马达</string>\r
+ <string name="test_audio">音频</string>\r
+ <string name="test_card">磁条卡</string>\r
+ <string name="test_wifi">WiFi</string>\r
+ <string name="test_bluetooth">蓝牙</string>\r
+ <string name="test_flashlight">闪光灯</string>\r
+ <string name="test_printer">打印</string>\r
+ <string name="test_gps">GPS</string>\r
+ <string name="test_record">麦克风</string>\r
+ <string name="test_3g">GSM</string>\r
+ <string name="test_rfid">非接卡</string>\r
+ <string name="test_icc">IC卡</string>\r
+ <string name="test_jj">高频</string>\r
+ <string name="test_cleanall">清除</string>\r
+ <string name="test_openall">打开全部模块</string>\r
+ <string name="test_closeall">关闭全部模块</string>\r
+ <string name="test_specifytest">选择测试</string>\r
+ <string name="test_alltest">全功能测试</string>\r
+ <string name="test_agedtest">老化测试</string>\r
+ <string name="test_noticelabel">请观察PCBA绿灯蓝灯</string>\r
+\r
+ <!-- PICC -->\r
+ <string name="picc_title">PICC测试</string>\r
+ <string name="picc_hint">请将卡放置在识别区</string>\r
+ <string name="picc_none">设备不支持FRID刷卡</string>\r
+\r
+ <!-- NFC -->\r
+ <string name="nfc_hint">请将卡放置在识别区</string>\r
+ <string name="nfc_start">Start</string>\r
+ <string name="nfc_stop">Stop</string>\r
+ <string name="nfc_context_title">NFC Test </string>\r
+ <string name="nfc_title">Test Control</string>\r
+ <string name="nfctest_info">Please place the NFC test card on the top of the NFC detective area of the device,\r
+ then press the start button to start testing, the device will output the warning tone after detected the\r
+ NFC test card. Finally, Press the stop button will stop the test.</string>\r
+ <string name="nfc_frequency">test gap time(ms):</string>\r
+ <!-- motortest -->\r
+ <string name="vibrator_title">震动</string>\r
+ <string name="app_name_driver">drivertest</string>\r
+ <string name="start">震动</string>\r
+ <string name="loginstr">开</string>\r
+ <string name="logoutstr">关</string>\r
+ <string name="wifi1">WIFI</string>\r
+ <string name="wcdma">3G</string>\r
+ <string name="bluetoothcn">蓝牙</string>\r
+ <string name="smt">扫描头</string>\r
+ <string name="motor">马达(MS)</string>\r
+ <!-- camera -->\r
+ <string name="record_start">开始录制</string>\r
+ <string name="record_complete">"录制成功,已保存"</string>\r
+ <string name="takepic_complete">拍照成功</string>\r
+ <string name="no_sdcard">未找到sd卡</string>\r
+ <!-- keypad -->\r
+ <string name="keypad_title">按键测试</string>\r
+ <string name="keypad_s1">S1</string>\r
+ <string name="keypad_s2">S2</string>\r
+ <string name="keypad_scan">Scan</string>\r
+ <string name="keypad_dpad_up">Up</string>\r
+ <string name="keypad_dpad_down">Down</string>\r
+ <string name="keypad_dpad_left">Left</string>\r
+ <string name="keypad_dpad_right">Right</string>\r
+ <string name="keypad_menu">Menu</string>\r
+ <string name="keypad_esc">Esc</string>\r
+ <string name="keypad_home">Home</string>\r
+ <string name="key_0">0</string>\r
+ <string name="key_1">1</string>\r
+ <string name="key_2">2</string>\r
+ <string name="key_3">3</string>\r
+ <string name="key_4">4</string>\r
+ <string name="key_5">5</string>\r
+ <string name="key_6">6</string>\r
+ <string name="key_7">7</string>\r
+ <string name="key_8">8</string>\r
+ <string name="key_9">9</string>\r
+ <string name="key_point">.</string>\r
+ <string name="keypad_sft">Sft</string>\r
+ <string name="keypad_alt">Ctrl</string>\r
+ <string name="keypad_aa">Aa</string>\r
+ <string name="keypad_fn">Fn</string>\r
+ <string name="keypad_ent">Ent</string>\r
+ <string name="keypad_del">"Del"</string>\r
+ <string name="keypad_space">"Space"</string>\r
+ <string name="keypad_power">Power</string>\r
+ <string name="keypad_asterisk">*</string>\r
+ <string name="keypad_pound">#</string>\r
+ <string name="keypad_volup">Volume + </string>\r
+ <string name="keypad_voldn">Volume - </string>\r
+ <string name="endaudio">完成</string>\r
+ <string name="quit">退出</string>\r
+ <!-- Bluetooth -->\r
+ <string name="bluetooth_scan">扫描</string>\r
+ <string name="bluetooth_bonded">已配对的设备</string>\r
+ <string name="bltooth_descovering">正在搜索周围可用设备...</string>\r
+ <string name="bluetooth_bonded_none">无已配对设备</string>\r
+ <string name="bluetooth_connectable">周围可用设备</string>\r
+ <string name="bluetooth_connectable_none">未检测到可用设备</string>\r
+ <string name="bluetooth_disable">蓝牙功能未打开</string>\r
+ <string name="bluetooth_title">蓝牙测试</string>\r
+ <string name="bluetooth_scan_for_devices">"扫描查找设备"</string>\r
+ <string name="btscan">手动搜索设备</string>\r
+ <string name="bluetooth_scan_complete">搜索结束</string>\r
+ <string name="bluetooth_notfound">蓝牙不可用</string>\r
+ <!-- Wifi -->\r
+ <string name="wifi_scan_complete">刷新完成</string>\r
+ <string name="wifi_state_title">Wifi测试</string>\r
+ <string name="wifi_state_connected">连接状态</string>\r
+ <string name="wifi_networks">附近网络</string>\r
+ <string name="wifi_connected_title">已连接</string>\r
+ <string name="wifi_unconnected_title">未连接</string>\r
+ <string name="wifi_scan_none">正在扫描周边wifi,请稍候...</string>\r
+ <string name="wifi_refresh">刷新</string>\r
+ <string name="wifi_state_disabling">正在关闭</string>\r
+ <string name="wifi_state_disabled">WIFI功能未打开,正在开启...</string>\r
+ <string name="wifi_state_enabling">正在打开</string>\r
+ <string name="wifi_state_enabled">WIFI功能已打开</string>\r
+ <string name="wifi_state_unknown">未知</string>\r
+ <!-- ICC -->\r
+ <string name="icc_title">IC卡测试</string>\r
+ <string name="icc_hint">请插IC卡</string>\r
+ <string name="icc_read">读卡</string>\r
+ <!-- scanner -->\r
+ <string name="scannertype_title">扫描头类型:</string>\r
+ <string name="scan_set">设置扫描头类型:</string>\r
+ <string name="scan_title">扫描结果</string>\r
+ <string name="scan_result">扫描结果</string>\r
+ <string name="set_scanner_model_complete">设置扫描头类型成功</string>\r
+ <string name="scan_about_msg">This program is the sample application provided\r
+ with project android-serialport-api. The project is free and open\r
+ source.\n\nMore information and bug report\r
+ on:\nhttp://code.google.com/p/android-serialport-api/\n\n- Cédric</string>\r
+ <string name="scan_error_configuration">Please configure your serial port first.</string>\r
+ <string name="scan_error_security">You do not have read/write permission to the serial port.</string>\r
+ <string name="scan_error_unknown">The serial port can not be opened for an unknown reason.</string>\r
+ <string name="scan_setup">setup</string>\r
+ <string name="scan_loopback">loopback</string>\r
+ <string name="scan_about">about</string>\r
+ <string name="scan_quit">quit</string>\r
+ <string name="scan_console">console</string>\r
+ <string name="scan_openscan">打开扫描头</string>\r
+ <string name="scan_closescan">关闭扫描头</string>\r
+ <string name="scan_setscan">设置默认参数</string>\r
+ <!-- 3G -->\r
+ <string name="wcdmafresh">刷新</string>\r
+ <string name="wcdmatext">3G测试</string>\r
+ <string name="options">Advance options</string>\r
+ <string name="options_save">Save</string>\r
+ <string name="options_cancle">Cancel</string>\r
+ <string name="output_dsc">After th barcode</string>\r
+ <string name="checkbox1_str">Output as keyboard</string>\r
+ <string name="checkbox2_str">Vibrate</string>\r
+ <string name="checkbox3_str">Beep</string>\r
+ <string name="checkbox4_str">Append "enter"</string>\r
+ <!-- gps -->\r
+ <string name="title_gps">GPS数据</string>\r
+ <string name="gps_disable">GPS功能尚未打开</string>\r
+ <string name="gps_longitude">经度:</string>\r
+ <string name="gps_latitude">纬度:</string>\r
+ <string name="gps_speed">速度:</string>\r
+ <string name="gps_altitude">海拔:</string>\r
+ <string name="gps_direction">方位:</string>\r
+ <string name="gps_getloc_failed">"获取地理位置信息失败"</string>\r
+ <!-- motor -->\r
+ <string name="motor_vibrator_frequency">震动时间间隔(ms):</string>\r
+ <string name="motor_vibrator_tm">震动持续时间(ms):</string>\r
+ <string name="motor_bgvibrator_start">开始</string>\r
+ <string name="motor_bgvibrator_stop">结束</string>\r
+ <string name="motor_notfound">设备不支持震动</string>\r
+ <!-- sensor -->\r
+ <string name="sensor_options">设备支持感应器</string>\r
+ <string name="sensor_gravity">重力感应器</string>\r
+ <string name="sensor_accelerometer">加速度感应器</string>\r
+ <string name="sensor_light">光线感应器</string>\r
+ <string name="sensor_data_null">未能获取感应器数据</string>\r
+ <!-- magnetic stripe card -->\r
+ <string name="mag_result_title">刷卡数据统计</string>\r
+ <string name="mag_hint">请刷磁条卡</string>\r
+ <!-- Please brush magnetic stripe card -->\r
+ <string name="count_total_title">刷卡次数:</string>\r
+ <string name="count_track1_title">磁道1成功次数:</string>\r
+ <string name="count_track2_title">磁道2成功次数:</string>\r
+ <string name="count_track3_title">磁道3成功次数:</string>\r
+ <string name="card_data">磁条卡信息</string>\r
+ <string name="card_data_wrong">错误信息</string>\r
+ <!-- print -->\r
+ <string name="print_context">请输入需打印内容</string>\r
+ <string name="printer_context_title">编辑打印内容</string>\r
+ <string name="printer_title">打印</string>\r
+ <string name="printer_temp">"打印机温度: "</string>\r
+ <!-- Printers temperature: -->\r
+ <string name="bt_print_pic">打印图片</string>\r
+ <!-- print Pic -->\r
+ <string name="bt_print_code">打印编码</string>\r
+ <!-- print Code -->\r
+ <string name="bt_print_text">打印文字</string>\r
+ <!-- print Text -->\r
+ <string name="print_hint">请输入打印内容</string>\r
+ <!-- recorder -->\r
+ <string name="none_file">未找到录音文件</string>\r
+ <string name="none_recorded_file">尚未录音</string>\r
+ <string name="recorder_menu_title">录音</string>\r
+ <string name="recorder_files">录音文件</string>\r
+\r
+ <!-- gsm -->\r
+ <string name="gsm_title">GSM信息</string>\r
+ <string name="gsm_refresh">刷新</string>\r
+ <string name="gsm_info_none">未能获取GSM信息</string>\r
+\r
+ <!-- battery -->\r
+ <string name="title_power">电源状态</string>\r
+ <string name="title_battery">电池状态</string>\r
+ <string name="battery_info_status_label" msgid="8109155295509700309">"电池状态:"</string>\r
+ <string name="battery_info_power_label" msgid="7465140230991349382">"是否已插电:"</string>\r
+ <string name="battery_info_scale_label" msgid="3649763192389778437">"当前电池电量:"</string>\r
+ <string name="battery_info_level_label" msgid="8706526709307788737">"上限电池电量:"</string>\r
+ <string name="battery_info_health_label" msgid="6416051542741886958">"电池运行状况:"</string>\r
+ <string name="battery_info_technology_label" msgid="788304533220748681">"电池技术:"</string>\r
+ <string name="battery_info_voltage_label" msgid="8971764146757637863">"电池电压:"</string>\r
+ <!-- <string name="battery_info_voltage_units" msgid="8658490792208288107">"mV"</string> -->\r
+ <string name="battery_info_temperature_label" msgid="1968383098818648037">"电池温度:"</string>\r
+ <!-- <string name="battery_info_temperature_units" msgid="9098950587249987550">"° C"</string> -->\r
+ <string name="battery_info_uptime" msgid="5548545143573527992">"启动后的时间:"</string>\r
+ <string name="battery_info_awake_battery" msgid="2557725975486185849">"使用电池电量的未休眠时间:"</string>\r
+ <string name="battery_info_awake_plugged" msgid="176716874713478188">"充电时的唤醒时间:"</string>\r
+ <string name="battery_info_screen_on" msgid="376277447175613889">"屏幕开启时间:"</string>\r
+ <!--\r
+ <string name="battery_info_status_unknown" msgid="196130600938058547">"未知"</string>\r
+ <string name="battery_info_status_charging" msgid="1705179948350365604">"正在充电"</string>\r
+ <string name="battery_info_status_charging_ac" msgid="5874340256342956252">"(交流电)"</string>\r
+ <string name="battery_info_status_charging_usb" msgid="4059070156126770959">"(USB)"</string>\r
+ <string name="battery_info_status_discharging" msgid="6222697503392774475">"正在耗电"</string>\r
+ <string name="battery_info_status_not_charging" msgid="2820070506621483576">"未在充电"</string>\r
+ <string name="battery_info_status_full" msgid="2824614753861462808">"电量充足"</string>\r
+ <string name="battery_info_power_unplugged" msgid="5987246575519551081">"未插电"</string>\r
+ <string name="battery_info_power_ac" msgid="6808516193001604634">"交流电"</string>\r
+ <string name="battery_info_power_usb" msgid="8012931702516331797">"USB"</string>\r
+ <string name="battery_info_power_ac_usb" msgid="6777734146838328688">"交流电 + USB"</string>\r
+ <string name="battery_info_power_unknown" msgid="7344115502868899881">"未知"</string>\r
+ <string name="battery_info_health_unknown" msgid="5664295556921944255">"未知"</string>\r
+ <string name="battery_info_health_good" msgid="8070356565806711806">"正常"</string>\r
+ <string name="battery_info_health_overheat" msgid="8442959549291368806">"过热"</string>\r
+ <string name="battery_info_health_dead" msgid="1725917445762829059">"没电"</string>\r
+ <string name="battery_info_health_over_voltage" msgid="2420269351664490121">"过电压"</string>\r
+ <string name="battery_info_health_unspecified_failure" msgid="6347021103185471590">"未知错误"</string>\r
+ <string name="battery_info_health_cold" msgid="3835692786176707318">"电量低"</string>\r
+\r
+\r
+\r
+\r
+ -->\r
+ <string name="battery_technology_unknwn">"未知"</string>\r
+ <!-- <string name="light">"亮屏了"</string> -->\r
+ <string name="black">"灭屏了"</string>\r
+ <string name="slide"> "请滑动屏幕测试"</string>\r
+ <string name="music_is_run"> "音乐正在播放"</string>\r
+ <string name="sd_status"> "SD状态:已检测到SD卡"</string>\r
+ <string name="sd_tatal"> "总容量:"</string>\r
+ <string name="sd_left"> "剩余容量:" </string>\r
+ <string name="sd_used"> "已用容量:" </string>\r
+ <string name="sd_fail"> "SD状态:未检测到SD卡!" </string>\r
+ <string name="set_tag"> "测试完成,将写入标志位" </string>\r
+ <string name="sim_status"> "SIM状态:SIM 就绪" </string>\r
+ <string name="sim_fail"> "SIM状态:无SIM或SIM卡损坏" </string>\r
+ <string name="china_yidong"> "中国移动"</string>\r
+ <string name="china_lintong"> "中国联通"</string>\r
+ <string name="china_dianxin"> "中国电信" </string>\r
+ <string name="sim_fail1"> "SIM卡过期" </string>\r
+ <string name="gongcheng"> "工厂测试" </string>\r
+ <string name="moshi"> "工程模式" </string>\r
+ <string name="shintool"> "地图拷贝工具" </string>\r
+ <string name="lanya"> "蓝牙测试" </string>\r
+ <string name="lanya_open"> " 蓝牙设备已开启" </string>\r
+ <string name="car_staut"> " 摄像头\n测试结果" </string>\r
+ <string name="start_test"> "开始测试" </string>\r
+ <string name="fm_test"> "FM发射器测试" </string>\r
+ <string name="fm_status"> " FM状态:" </string>\r
+ <string name="fm_tip"> " 提示:将收音机频率调至108.0MHZ,测试收音机是否收到音乐,收到则成功,反之则失败。" </string>\r
+ <string name="light_test"> " 灭/亮屏测试" </string>\r
+ <string name="light_tip"> " 提示:请按电源键,测试灭/亮屏和电源键,是否正常" </string>\r
+ <string name="light_status"> " 状态:" </string>\r
+ <string name="sd_test"> "SD卡测试" </string>\r
+ <string name="sim_test"> " SIM卡测试" </string>\r
+ <string name="sim_type"> "网络类型" </string>\r
+ <string name="sim_strenth"> "信号强度:" </string>\r
+ <string name="test1"> "PCBA自动测试" </string>\r
+ <string name="test2"> "整机自动测试" </string>\r
+ <string name="sd_title">"SD卡" </string>\r
+ <string name="fm_title">"FM发射" </string>\r
+ <string name="light_title">"灭/亮屏" </string>\r
+ <string name="bt_r">"蓝牙," </string>\r
+ <string name="touch_r">"触摸屏," </string>\r
+ <string name="sim_r">"sim卡," </string>\r
+ <string name="sd_r">"SD卡," </string>\r
+ <string name="mic_r">"双MIC," </string>\r
+ <string name="speak_r">"扬声器," </string>\r
+ <string name="camera_r">"摄像头," </string>\r
+ <string name="fm_r">"FM发射," </string>\r
+ <string name="light_r">"灭/亮屏," </string>\r
+ <string name="barry_r">"电池," </string>\r
+ <string name="pass_r">"已通过的项目:" </string>\r
+ <string name="fail_r">"未通过的项目:" </string>\r
+ <string name="tag_r">"本机NV标志位(1代表通过,0代表未通过):" </string>\r
+ <string name="diglog_r">"请按下图测试,点击任意处,取消该窗口,开始测试" </string>\r
+ <string name="test_r">"测试报告" </string>\r
+ <string name="close_r">"关闭" </string>\r
+ <string name="none">"没有测试记录,完成一次PCBA测试,添加记录" </string>\r
+ <string name="none1">"没有测试记录,完成一次整机自动测试,添加记录" </string>\r
+ <string name="none2">"没有校准记录" </string>\r
+ <string name="jiaju">"PCBA自动测试报告" </string>\r
+ <string name="auto">"整机自动测试报告" </string>\r
+ <string name="jiaju_time">"最近测试时间:" </string>\r
+ <string name="tags">"标志位(按测试顺序):" </string>\r
+ <string name="test_over">"测试完成,将写入标志位" </string>\r
+ <string name="picturing">"正在拍照" </string>\r
+ <string name="recording">"正在录像,请晃动机器测试" </string>\r
+ <string name="pic_over">"拍照完成" </string>\r
+ <string name="write_tag_over">" 已经写入标志位" </string>\r
+ <string name="record1">"录像" </string>\r
+ <string name="photo">"停止" </string>\r
+ <string name="deviceInfo">"版本信息" </string>\r
+ <string name="gsensor">"Gsensor测试" </string>\r
+ <string name="sensor">请旋转手机或屏幕</string>\r
+ <string name="read_data">读取数据</string>\r
+ <string name="sensor_calibration_do_20">进行校准(误差20%)</string>\r
+ <string name="sensor_calibration_do_40">进行校准(误差40%)</string>\r
+ <string name="sensor_calibration_clear">清除校准数据</string>\r
+ <string name="sensor_calibration_note">" 注意:在校准过程中,设备必须处于水平放置状态。"</string>\r
+ <string name="sensor_calibration_intro">" 操作:点击“水平校准”按钮,系统会自动校准,并判断是否成功。点击“清除校准数据”按钮后,校准数据清零,需重新进行水平校准。"</string>\r
+ <string name="sensor_calibration_current_data_hint">加速度传感器当前数据: </string>\r
+ <string name="sensor_calibration_sensor_data_hint">加速度传感器校准数据: </string>\r
+ <string name="sensor_calibration_gsensor">加速度传感器校准</string>\r
+ <string name="record_agin">重新录音</string>\r
+ <string name="bt_tip">请在附近打开蓝牙,观察是否搜索到该蓝牙</string>\r
+ <string name="rf_result">"RF校准标志位: "</string>\r
+ <string name="rf_gsensor">Rf,Gsensor校准报告</string>\r
+ <string name="sensor_accelerometer1">Gsensor测试</string>\r
+ <string name="sensor_accelerometer2">"Gsensor,"</string>\r
+ <string name="sensor_tip">" 提示:请将机器屏幕分别朝前后左右4个方向,观察箭头变化,只有4个方向都测试通过,才会显示成功。"</string>\r
+ <string name="north">向北</string>\r
+ <string name="sourth">向南</string>\r
+ <string name="weast">向西</string>\r
+ <string name="east">向东</string>\r
+ <string name="gsensor_data">Gsensor参数:</string>\r
+ <string name="auto_tip">该台机器已经做过整机自动测试</string>\r
+ <string name="user_tip">该台机器已经做过PCBA自动测试</string>\r
+ <string name="mic_tip"> " 提示:请选择测试的Mic,然后对着选择的Mic吹气,右图指针转动则判断成功,否则失败。"</string>\r
+ <string name="version_tip"> "显示版本及测试信息"</string>\r
+ <string name="testresult_tip"> "测试结果:"</string>\r
+ <string name="pass_test"> "通过"</string>\r
+ <string name="fail_test"> "未通过"</string>\r
+ <string name="gps_test"> "GPS测试"</string>\r
+ <string name="gsensor_complete"> "Gensor校准"</string>\r
+ <string name="gsensor_20"> "水平校准"</string>\r
+ <string name="gsensor_zhengji"> "整机自动测试: "</string>\r
+ <string name="gsensor_pcba"> "PCBA自动测试: "</string>\r
+ <string name="lamp"> "三色灯 "</string>\r
+ <string name="lamp_tile"> "三色灯测试 "</string>\r
+ <string name="lamp_tip"> " 请观察指示灯颜色变化,如果看到红绿蓝三种颜色依次变化,则判断成功;反之,只看到一种、两种或灯不亮则失败。 "</string>\r
+ <string name="mianmic"> "主Mic测试 "</string>\r
+ <string name="othermic"> "副Mic测试 "</string>\r
+ <string name="button_new"> "按键"</string>\r
+ <string name="leida_new"> "雷达"</string>\r
+ <string name="sigle_new"> "单项测试报告"</string>\r
+ <string name="rf_new"> "Rf校准:"</string>\r
+ <string name="imei_new"> "IMEI号:"</string>\r
+ <string name="lcd_test_new"> "显示屏测试结果" </string>\r
+ <string name="tf_test_new"> "双TF卡" </string>\r
+ <string name="tf_Detect"> "已检测到" </string>\r
+ <string name="tf_UnDetect"> "未检测到" </string>\r
+ <string name="test_over_new"> "测试结束!" </string>\r
+ <string name="lamp_new"> "按键灯" </string>\r
+ <string name="key_result_tip">*提示:点击按键灯测试,观察电源键灯光是否亮起</string>\r
+ <string name="tip1">提示:该界面可进行单项测试</string>\r
+ <string name="mac_new">MAC地址:</string>\r
+ <string name="bt_tip_new">操作步骤:\n1.准备一台可拨打电话的手机和一台固定电话\n2.使用手机与后视镜蓝牙连接,然后向固话拨打电话,\n3.接通后,两边能正常通话,则通过.</string>\r
+\r
+ <string name="open_dialer">正在打开通话界面,请稍后。。。</string>\r
+ <string name="test_camera">Camera</string>\r
+ <string name="test_sensor">Gravity sensor</string>\r
+ <string name="test_battery">Battery</string>\r
+ <string name="key_ai">AI键</string>\r
+ <string name="test_keypad1">按键1</string>\r
+ <string name="test_keypad2">按键2</string>\r
+ <string name="ultraviolet">紫外线</string>\r
+ <string name="currentTime">currentTime</string>\r
+ <string name="workTime">workTime</string>\r
+ <string name="wifi_mac_addaress">wifi mac addaress</string>\r
+ <string name="bluethooth_mac_addaress">bluethooth mac addaress</string>\r
+ <string name="barcode">barcode</string>\r
+ <string name="flag_position">标志位检查</string>\r
+ <string name="dsp">DSP</string>\r
+ <string name="change_camera">change</string>\r
+ <string name="heartrate">HeartRate</string>\r
+ <string name="hall">hall</string>\r
+</resources>\r
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<resources xmlns:android="http://schemas.android.com/apk/res/android">\r
+ <style name="detail_title">\r
+ <item name="android:textAppearance">?android:textAppearanceMedium</item>\r
+ <item name="android:textColor">@drawable/black</item>\r
+ <item name="android:gravity">center</item>\r
+ <item name="android:layout_width">fill_parent</item>\r
+ <item name="android:layout_height">wrap_content</item>\r
+ </style>\r
+ <style name="detail_tab">\r
+ <item name="android:orientation">vertical</item>\r
+ <item name="android:background">@drawable/half_corner_bg</item>\r
+ <item name="android:layout_width">fill_parent</item>\r
+ <item name="android:layout_height">wrap_content</item>\r
+ <item name="android:layout_margin">2.0dip</item>\r
+ </style>\r
+ <style name="detail_line">\r
+ <item name="android:background">@color/gray</item>\r
+ <item name="android:layout_width">fill_parent</item>\r
+ <item name="android:layout_height">1.0dip</item>\r
+ <item name="android:layout_marginLeft">5.0dip</item>\r
+ <item name="android:layout_marginRight">5.0dip</item>\r
+ </style>\r
+ <style name="detail_tip">\r
+ <item name="android:textColor">@color/black</item>\r
+ <item name="android:layout_width">wrap_content</item>\r
+ <item name="android:layout_height">wrap_content</item>\r
+ <item name="android:layout_margin">5.0dip</item>\r
+ </style>\r
+ <style name="colon">\r
+ <item name="android:textColor">@color/black</item>\r
+ <item name="android:gravity">center</item>\r
+ <item name="android:layout_width">wrap_content</item>\r
+ <item name="android:layout_height">fill_parent</item>\r
+ <item name="android:text">@string/colon</item>\r
+ </style>\r
+ <style name="value">\r
+ <item name="android:textColor">@color/black</item>\r
+ <item name="android:gravity">center</item>\r
+ <item name="android:layout_width">wrap_content</item>\r
+ <item name="android:layout_height">fill_parent</item>\r
+ </style>\r
+ \r
+ <style name="table_item_style">\r
+ <item name="android:layout_width">match_parent</item>\r
+ <item name="android:layout_height">70dp</item>\r
+ <item name="android:layout_weight">1.0</item>\r
+ <item name="android:background">@drawable/button_common_white_bg</item>\r
+ <item name="android:clickable">true</item>\r
+ <item name="android:gravity">center</item>\r
+ </style>\r
+\r
+ <style name="table_item_small_style">\r
+ <item name="android:layout_width">match_parent</item>\r
+ <item name="android:layout_height">80dp</item>\r
+ <item name="android:layout_weight">1.0</item>\r
+ <item name="android:background">@drawable/button_common_white_bg</item>\r
+ <item name="android:clickable">true</item>\r
+ <item name="android:gravity">center</item>\r
+ </style>\r
+\r
+ <style name="layout_default_style">\r
+ <item name="android:layout_marginLeft">10dp</item>\r
+ <item name="android:layout_marginRight">10dp</item>\r
+ <item name="android:layout_marginTop">10dp</item>\r
+ <item name="android:layout_marginBottom">10dp</item>\r
+ </style>\r
+\r
+ <style name="layout_crowd_style">\r
+ <item name="android:layout_marginLeft">10dp</item>\r
+ <item name="android:layout_marginRight">10dp</item>\r
+ <item name="android:layout_marginTop">5dp</item>\r
+ <item name="android:layout_marginBottom">5dp</item>\r
+ </style>\r
+\r
+ <style name="layout_button_style">\r
+ <item name="android:layout_marginLeft">0dp</item>\r
+ <item name="android:layout_marginRight">0dp</item>\r
+ <item name="android:layout_marginTop">5dp</item>\r
+ <item name="android:layout_marginBottom">5dp</item>\r
+ </style>\r
+\r
+ <style name="category_title_style">\r
+ <item name="android:layout_height">wrap_content</item>\r
+ <item name="android:layout_width">match_parent</item>\r
+ <item name="android:background">@drawable/setting_title_bg</item>\r
+ <item name="android:gravity">center_vertical</item>\r
+ <item name="android:textStyle">bold</item>\r
+ <item name="android:paddingLeft">00dip</item>\r
+ </style>\r
+\r
+ <style name="title_text_style">\r
+ <item name="android:textSize">14sp</item>\r
+ <item name="android:textColor">@color/color_title</item>\r
+ </style>\r
+\r
+ <style name="title_text_medium_style">\r
+ <item name="android:textSize">16sp</item>\r
+ <item name="android:textColor">@color/color_title</item>\r
+ </style>\r
+ \r
+ <style name="title_text_large_style">\r
+ <item name="android:textSize">18sp</item>\r
+ <item name="android:textColor">@color/color_title</item>\r
+ </style>\r
+\r
+ <style name="content_text_style">\r
+ <item name="android:textSize">12.0sp</item>\r
+ <item name="android:textColor">@color/color_summery</item>\r
+ </style>\r
+\r
+ <style name="content_text_medium_style">\r
+ <item name="android:textSize">14.0sp</item>\r
+ <item name="android:textColor">@color/color_summery</item>\r
+ </style>\r
+\r
+ <style name="TextAppearance" parent="android:TextAppearance"></style>\r
+\r
+ <style name="info_label">\r
+ <item name="android:layout_height">wrap_content</item>\r
+ <item name="android:layout_width">wrap_content</item>\r
+ <item name="android:textAppearance">?android:attr/textAppearanceMedium</item>\r
+ <item name="android:textStyle">bold</item>\r
+ <item name="android:paddingRight">5dip</item>\r
+ </style>\r
+\r
+ <style name="info_value">\r
+ <item name="android:layout_height">wrap_content</item>\r
+ <item name="android:layout_width">wrap_content</item>\r
+ <item name="android:textAppearance">?android:attr/textAppearanceMedium</item>\r
+ <item name="android:textStyle">normal</item>\r
+ </style>\r
+\r
+ <style name="test_item_style">\r
+ <item name="android:layout_height">match_parent</item>\r
+ <item name="android:layout_width">wrap_content</item>\r
+ <item name="android:gravity">center</item>\r
+ <item name="android:textAppearance">?android:attr/textAppearanceSmall</item>\r
+ <item name="android:textSize">18sp</item>\r
+ <item name="android:textStyle">normal</item>\r
+ </style>\r
+\r
+ <style name="help_info_text_style">\r
+ <item name="android:textSize">16sp</item>\r
+ <item name="android:textColor">@color/color_summery</item>\r
+ </style>\r
+\r
+ <style name="button_white_text">\r
+ <item name="android:textSize">17.0sp</item>\r
+ <item name="android:textColor">@color/button_common_white_text</item>\r
+ </style>\r
+ \r
+ <style name="button_green_text">\r
+ <item name="android:textSize">17.0sp</item>\r
+ <item name="android:textColor">@color/button_common_green_text</item>\r
+ </style>\r
+ \r
+ <style name="DialogStyle" parent="android:Theme.Dialog">\r
+ <item name="android:windowBackground">@android:color/transparent</item>\r
+ <item name="android:windowFrame">@null</item>\r
+ <item name="android:windowNoTitle">true</item>\r
+ <item name="android:windowIsFloating">true</item>\r
+ <item name="android:windowIsTranslucent">true</item>\r
+ <item name="android:windowContentOverlay">@null</item>\r
+ <!-- 对话框是否有遮盖 -->\r
+ <item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>\r
+ <item name="android:backgroundDimEnabled">true</item>\r
+ </style>\r
+ \r
+ <style name="AppTheme" parent="AppBaseTheme">\r
+ <!-- All customizations that are NOT specific to a particular API-level can go here. -->\r
+ <item name="android:windowNoTitle">true</item>\r
+ <item name="android:windowTitleSize">0.0dip</item>\r
+ <item name="android:windowFullscreen">true</item>\r
+ </style>\r
+ \r
+ <style name="AppBaseTheme" parent="android:Theme.Light">\r
+ <!--\r
+ Theme customizations available in newer API levels can go in\r
+ res/values-vXX/styles.xml, while customizations related to\r
+ backward-compatibility can go here.\r
+ -->\r
+ </style>\r
+ \r
+</resources>\r
--- /dev/null
+// Top-level build file where you can add configuration options common to all sub-projects/modules.\r
+buildscript {\r
+ repositories {\r
+ jcenter()\r
+ google()\r
+ }\r
+ dependencies {\r
+ classpath 'com.android.tools.build:gradle:3.1.3'\r
+ }\r
+}\r
+\r
+allprojects {\r
+ repositories {\r
+ jcenter()\r
+ google()\r
+ }\r
+}\r
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>\r
+<module external.linked.project.id="factorymode" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$" external.system.id="GRADLE" type="JAVA_MODULE" version="4">\r
+ <component name="FacetManager">\r
+ <facet type="java-gradle" name="Java-Gradle">\r
+ <configuration>\r
+ <option name="BUILD_FOLDER_PATH" value="$MODULE_DIR$/build" />\r
+ <option name="BUILDABLE" value="false" />\r
+ </configuration>\r
+ </facet>\r
+ </component>\r
+ <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_6" inherit-compiler-output="true">\r
+ <exclude-output />\r
+ <content url="file://$MODULE_DIR$">\r
+ <excludeFolder url="file://$MODULE_DIR$/.gradle" />\r
+ <excludeFolder url="file://$MODULE_DIR$/build" />\r
+ </content>\r
+ <orderEntry type="jdk" jdkName="JDK" jdkType="JavaSDK" />\r
+ <orderEntry type="sourceFolder" forTests="false" />\r
+ </component>\r
+</module>
\ No newline at end of file
--- /dev/null
+#Sat Jan 13 09:12:34 PST 2018
+distributionBase=GRADLE_USER_HOME
+distributionPath=wrapper/dists
+zipStoreBase=GRADLE_USER_HOME
+zipStorePath=wrapper/dists
+distributionUrl=https\://services.gradle.org/distributions/gradle-4.4.1-all.zip
--- /dev/null
+#!/usr/bin/env sh
+
+##############################################################################
+##
+## Gradle start up script for UN*X
+##
+##############################################################################
+
+# Attempt to set APP_HOME
+# Resolve links: $0 may be a link
+PRG="$0"
+# Need this for relative symlinks.
+while [ -h "$PRG" ] ; do
+ ls=`ls -ld "$PRG"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ PRG="$link"
+ else
+ PRG=`dirname "$PRG"`"/$link"
+ fi
+done
+SAVED="`pwd`"
+cd "`dirname \"$PRG\"`/" >/dev/null
+APP_HOME="`pwd -P`"
+cd "$SAVED" >/dev/null
+
+APP_NAME="Gradle"
+APP_BASE_NAME=`basename "$0"`
+
+# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+DEFAULT_JVM_OPTS=""
+
+# Use the maximum available, or set MAX_FD != -1 to use that value.
+MAX_FD="maximum"
+
+warn () {
+ echo "$*"
+}
+
+die () {
+ echo
+ echo "$*"
+ echo
+ exit 1
+}
+
+# OS specific support (must be 'true' or 'false').
+cygwin=false
+msys=false
+darwin=false
+nonstop=false
+case "`uname`" in
+ CYGWIN* )
+ cygwin=true
+ ;;
+ Darwin* )
+ darwin=true
+ ;;
+ MINGW* )
+ msys=true
+ ;;
+ NONSTOP* )
+ nonstop=true
+ ;;
+esac
+
+CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
+
+# Determine the Java command to use to start the JVM.
+if [ -n "$JAVA_HOME" ] ; then
+ if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
+ # IBM's JDK on AIX uses strange locations for the executables
+ JAVACMD="$JAVA_HOME/jre/sh/java"
+ else
+ JAVACMD="$JAVA_HOME/bin/java"
+ fi
+ if [ ! -x "$JAVACMD" ] ; then
+ die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+ fi
+else
+ JAVACMD="java"
+ which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+fi
+
+# Increase the maximum file descriptors if we can.
+if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
+ MAX_FD_LIMIT=`ulimit -H -n`
+ if [ $? -eq 0 ] ; then
+ if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
+ MAX_FD="$MAX_FD_LIMIT"
+ fi
+ ulimit -n $MAX_FD
+ if [ $? -ne 0 ] ; then
+ warn "Could not set maximum file descriptor limit: $MAX_FD"
+ fi
+ else
+ warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
+ fi
+fi
+
+# For Darwin, add options to specify how the application appears in the dock
+if $darwin; then
+ GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
+fi
+
+# For Cygwin, switch paths to Windows format before running java
+if $cygwin ; then
+ APP_HOME=`cygpath --path --mixed "$APP_HOME"`
+ CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
+ JAVACMD=`cygpath --unix "$JAVACMD"`
+
+ # We build the pattern for arguments to be converted via cygpath
+ ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
+ SEP=""
+ for dir in $ROOTDIRSRAW ; do
+ ROOTDIRS="$ROOTDIRS$SEP$dir"
+ SEP="|"
+ done
+ OURCYGPATTERN="(^($ROOTDIRS))"
+ # Add a user-defined pattern to the cygpath arguments
+ if [ "$GRADLE_CYGPATTERN" != "" ] ; then
+ OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
+ fi
+ # Now convert the arguments - kludge to limit ourselves to /bin/sh
+ i=0
+ for arg in "$@" ; do
+ CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
+ CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
+
+ if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
+ eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
+ else
+ eval `echo args$i`="\"$arg\""
+ fi
+ i=$((i+1))
+ done
+ case $i in
+ (0) set -- ;;
+ (1) set -- "$args0" ;;
+ (2) set -- "$args0" "$args1" ;;
+ (3) set -- "$args0" "$args1" "$args2" ;;
+ (4) set -- "$args0" "$args1" "$args2" "$args3" ;;
+ (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
+ (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
+ (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
+ (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
+ (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
+ esac
+fi
+
+# Escape application args
+save () {
+ for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
+ echo " "
+}
+APP_ARGS=$(save "$@")
+
+# Collect all arguments for the java command, following the shell quoting and substitution rules
+eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
+
+# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
+if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then
+ cd "$(dirname "$0")"
+fi
+
+exec "$JAVACMD" "$@"
--- /dev/null
+@if "%DEBUG%" == "" @echo off\r
+@rem ##########################################################################\r
+@rem\r
+@rem Gradle startup script for Windows\r
+@rem\r
+@rem ##########################################################################\r
+\r
+@rem Set local scope for the variables with windows NT shell\r
+if "%OS%"=="Windows_NT" setlocal\r
+\r
+set DIRNAME=%~dp0\r
+if "%DIRNAME%" == "" set DIRNAME=.\r
+set APP_BASE_NAME=%~n0\r
+set APP_HOME=%DIRNAME%\r
+\r
+@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.\r
+set DEFAULT_JVM_OPTS=\r
+\r
+@rem Find java.exe\r
+if defined JAVA_HOME goto findJavaFromJavaHome\r
+\r
+set JAVA_EXE=java.exe\r
+%JAVA_EXE% -version >NUL 2>&1\r
+if "%ERRORLEVEL%" == "0" goto init\r
+\r
+echo.\r
+echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.\r
+echo.\r
+echo Please set the JAVA_HOME variable in your environment to match the\r
+echo location of your Java installation.\r
+\r
+goto fail\r
+\r
+:findJavaFromJavaHome\r
+set JAVA_HOME=%JAVA_HOME:"=%\r
+set JAVA_EXE=%JAVA_HOME%/bin/java.exe\r
+\r
+if exist "%JAVA_EXE%" goto init\r
+\r
+echo.\r
+echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%\r
+echo.\r
+echo Please set the JAVA_HOME variable in your environment to match the\r
+echo location of your Java installation.\r
+\r
+goto fail\r
+\r
+:init\r
+@rem Get command-line arguments, handling Windows variants\r
+\r
+if not "%OS%" == "Windows_NT" goto win9xME_args\r
+\r
+:win9xME_args\r
+@rem Slurp the command line arguments.\r
+set CMD_LINE_ARGS=\r
+set _SKIP=2\r
+\r
+:win9xME_args_slurp\r
+if "x%~1" == "x" goto execute\r
+\r
+set CMD_LINE_ARGS=%*\r
+\r
+:execute\r
+@rem Setup the command line\r
+\r
+set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar\r
+\r
+@rem Execute Gradle\r
+"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%\r
+\r
+:end\r
+@rem End local scope for the variables with windows NT shell\r
+if "%ERRORLEVEL%"=="0" goto mainEnd\r
+\r
+:fail\r
+rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of\r
+rem the _cmd.exe /c_ return code!\r
+if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1\r
+exit /b 1\r
+\r
+:mainEnd\r
+if "%OS%"=="Windows_NT" endlocal\r
+\r
+:omega\r
--- /dev/null
+include ':app', ':watchlibrary'\r
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>\r
+<module external.linked.project.id=":watchlibrary" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$/.." external.system.id="GRADLE" type="JAVA_MODULE" version="4">\r
+ <component name="FacetManager">\r
+ <facet type="java-gradle" name="Java-Gradle">\r
+ <configuration>\r
+ <option name="BUILD_FOLDER_PATH" value="$MODULE_DIR$/build" />\r
+ <option name="BUILDABLE" value="false" />\r
+ </configuration>\r
+ </facet>\r
+ </component>\r
+ <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_6" inherit-compiler-output="true">\r
+ <exclude-output />\r
+ <content url="file://$MODULE_DIR$">\r
+ <excludeFolder url="file://$MODULE_DIR$/.gradle" />\r
+ </content>\r
+ <orderEntry type="jdk" jdkName="JDK" jdkType="JavaSDK" />\r
+ <orderEntry type="sourceFolder" forTests="false" />\r
+ </component>\r
+</module>
\ No newline at end of file