<uses-permission android:name="android.permission.FORCE_STOP_PACKAGES" />
<uses-permission android:name="android.permission.CAMERA" />
+ <permission android:name="android.permission.SHUTDOWN" />
+
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.autofocus" />
<application
android:name=".MyApplication"
android:icon="@drawable/ic_gravity"
- android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
- android:label="@string/app_name">
- <activity android:name=".shutdown_activity">
+ android:label="@string/app_name"
+ android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
+ <activity
+ android:name=".shutdown_activity"
+ android:exported="true"
+ android:launchMode="singleInstance">
<intent-filter>
<action android:name="com.ic.action.SHUT_DOWN_PAGE" />
<category android:name=" android.intent.category.DEFAULT" />
</intent-filter>
</activity>
- <activity android:name=".FactoryReset_activity"></activity>
- <activity android:name=".GPSActivity"
+ <activity android:name=".FactoryReset_activity" />
+ <activity
+ android:name=".GPSActivity"
android:configChanges="keyboardHidden|orientation|screenSize|locale|screenLayout|mcc|mnc|layoutDirection">
<intent-filter>
<action android:name="com.ic.action.gps_test" />
</activity>
<activity
android:name=".TemperatureAdjustActivity"
- android:label="@string/tempAdjust" >
+ android:label="@string/tempAdjust">
<intent-filter>
<action android:name="com.eqc.STARTTempAdjust" />
</intent-filter>
android:label="@string/detectSim" />
<activity
android:name=".BlooToothActivity"
- android:label="@string/bluetooth"></activity>
+ android:label="@string/bluetooth" />
<activity
android:name=".WifiTestActiviy"
android:label="@string/wifitest" />
package mobile.miki;\r
\r
+import android.content.ComponentName;\r
import android.content.Intent;\r
import android.os.Bundle;\r
import android.os.Handler;\r
+import android.os.HandlerThread;\r
+import android.os.Looper;\r
import android.os.Message;\r
+import android.os.UserHandle;\r
import android.preference.PreferenceManager;\r
import android.util.Log;\r
import android.view.View;\r
\r
import com.ic.jni.ICJniUtils;\r
\r
+import java.lang.ref.WeakReference;\r
import java.util.Timer;\r
import java.util.TimerTask;\r
\r
private ButtonViewTwo buttonView;\r
boolean running;\r
\r
- Timer mTimer=null;\r
+ Timer mTimer = null;\r
+\r
+ private TextView temperatureTv;\r
+ private TextView temperatureOutTv;\r
+ private TempHandler tempHandler;\r
\r
- private TextView tv_temperature;\r
- private TextView tv_temperatureOut;\r
@Override\r
protected void onCreate(Bundle savedInstanceState) {\r
super.onCreate(savedInstanceState);\r
setContentView(R.layout.temperature_layout);\r
+ //初始化控件\r
initView();\r
+ //判断是否支持温度测试\r
int temper = ICJniUtils.isTemperatureDevAvailable();\r
Log.i("dxc", "Temperature available : " + temper);\r
-\r
- if (temper>0){\r
+ if (temper > 0) {\r
+ tempHandler = new TempHandler(this);\r
+ //打开温度测试\r
ICJniUtils.enableTemperature();\r
- mTimer=new Timer();\r
- TimerTask HRTimerTask=new TimerTask() {\r
+ mTimer = new Timer();\r
+ TimerTask HRTimerTask = new TimerTask() {\r
@Override\r
public void run() {\r
- mhandler.sendEmptyMessage(0);\r
+ //获取温度内容\r
+ getTemperatureInfo();\r
}\r
};\r
- mTimer.schedule(HRTimerTask,500,1000L);\r
-\r
- }else{\r
- this.tv_temperature.setText(this.getResources().getString(R.string.no_temperature));\r
- Log.i("dxc","No temperature!");\r
+ mTimer.schedule(HRTimerTask, 500, 1000L);\r
+ } else {\r
+ this.temperatureTv.setText(this.getResources().getString(R.string.no_temperature));\r
+ Log.i("dxc", "No temperature!");\r
}\r
}\r
\r
- Handler mhandler=new Handler(new Handler.Callback() {\r
- @Override\r
- public boolean handleMessage(Message message) {\r
-\r
\r
- double temp=ICJniUtils.getTemperature();\r
- double tempout=ICJniUtils.getTemperatureOrigin();\r
- //double adjust=ICJniUtils.getTemperatureAdjustValue();\r
+ private void getTemperatureInfo() {\r
+ double temp = ICJniUtils.getTemperature();\r
+ double tempOut = ICJniUtils.getTemperatureOrigin();\r
+ Message message = tempHandler.obtainMessage();\r
+ Bundle bundle = new Bundle();\r
+ bundle.putDouble("temp", temp);\r
+ bundle.putDouble("tempOut", tempOut);\r
+ message.obj = bundle;\r
+ tempHandler.sendMessage(message);\r
+ }\r
\r
- String tempstr=String.format("%1$.2f",temp);\r
- String tempstrOut=String.format("%1$.2f",tempout);\r
+ static class TempHandler extends Handler {\r
+ WeakReference<TemperatureActivity> activityWeakReference = null;\r
\r
- // tempstr=tempstr+" ("+String.format("%1$.2f",adjust)+")";\r
+ TempHandler(TemperatureActivity temperatureActivity) {\r
+ activityWeakReference = new WeakReference<>(temperatureActivity);\r
+ }\r
\r
- tv_temperature.setText(tempstr);\r
- tv_temperatureOut.setText(tempstrOut);\r
- Logger.d("Temperature:"+tempstr+" TemperatureOut:"+tempstrOut);\r
- return false;\r
+ @Override\r
+ public void handleMessage(Message msg) {\r
+ TemperatureActivity temperatureActivity = activityWeakReference.get();\r
+ if (temperatureActivity == null) {\r
+ return;\r
+ }\r
+ Bundle bundle = (Bundle) msg.obj;\r
+ String tempStr = String.format(temperatureActivity.getString(R.string.factory_temp_format_text),\r
+ bundle.getDouble("temp"));\r
+ String tempStrOut = String.format(temperatureActivity.getString(R.string.factory_temp_format_text),\r
+ bundle.getDouble("tempOut"));\r
+ temperatureActivity.temperatureTv.setText(tempStr);\r
+ temperatureActivity.temperatureOutTv.setText(tempStrOut);\r
+ Logger.d("Temperature:" + tempStr + " TemperatureOut:" + tempStrOut);\r
}\r
- });\r
+ }\r
+\r
@Override\r
protected void onDestroy() {\r
super.onDestroy();\r
- // ICJniUtils.disablePPG();\r
+ // ICJniUtils.disablePPG();\r
\r
int temper = ICJniUtils.isTemperatureDevAvailable();\r
Log.i("dxc", "Temperature available : " + temper);\r
\r
- if (temper>0) {\r
- if(mTimer!=null) {\r
+ if (temper > 0) {\r
+ if (mTimer != null) {\r
\r
mTimer.cancel();\r
- mTimer=null;\r
+ mTimer = null;\r
}\r
- Log.i( "dxc","Temperature onPause");\r
+ Log.i("dxc", "Temperature onPause");\r
ICJniUtils.disableTemperature();\r
- }else{\r
- Log.i("dxc","No temperature!");\r
+ } else {\r
+ Log.i("dxc", "No temperature!");\r
}\r
\r
}\r
@Override\r
protected void onPause() {\r
super.onPause();\r
- Log.i( "dxc","Temperature onPause");\r
+ Log.i("dxc", "Temperature onPause");\r
}\r
\r
@Override\r
buttonView.btn_right.setOnClickListener(this);\r
buttonView.setSuccessColor();\r
buttonView.btn_left.setClickable(true);\r
- tv_temperature=(TextView)findViewById(R.id.tv_temperature_value);\r
- tv_temperatureOut=(TextView)findViewById(R.id.tv_temperature_value_out);\r
+ temperatureTv = (TextView) findViewById(R.id.tv_temperature_value);\r
+ temperatureOutTv = (TextView) findViewById(R.id.tv_temperature_value_out);\r
\r
}\r
\r
@Override\r
public void onClick(View view) {\r
- Intent intent = Config.getNextTestIntent(this,this.getClass());//new Intent(this, SimDetectActivity.class);\r
+ Intent intent = Config.getNextTestIntent(this, this.getClass());//new Intent(this, SimDetectActivity.class);\r
intent.putExtra("running", true);\r
Intent intent1 = new Intent(this, TestMainActivity.class);\r
// TestResult testResult = (TestResult) getApplicationContext();\r