<output-test url="file://$MODULE_DIR$/build/intermediates/javac/debugUnitTest/classes"/>\r
<exclude-output/>\r
<content url="file://$MODULE_DIR$">\r
- <sourceFolder url="file://$MODULE_DIR$/build/generated/ap_generated_sources/debug/out" isTestSource="false" generated="true"/>\r
- <sourceFolder url="file://$MODULE_DIR$/build/generated/aidl_source_output_dir/debug/compileDebugAidl/out" isTestSource="false" generated="true"/>\r
<sourceFolder url="file://$MODULE_DIR$/build/generated/renderscript_source_output_dir/debug/compileDebugRenderscript/out" isTestSource="false" generated="true"/>\r
+ <sourceFolder url="file://$MODULE_DIR$/build/generated/aidl_source_output_dir/debug/compileDebugAidl/out" isTestSource="false" generated="true"/>\r
+ <sourceFolder url="file://$MODULE_DIR$/build/generated/ap_generated_sources/debug/out" isTestSource="false" generated="true"/>\r
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/debug" isTestSource="false" generated="true"/>\r
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/debug" type="java-resource" generated="true"/>\r
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/debug" type="java-resource" generated="true"/>\r
- <sourceFolder url="file://$MODULE_DIR$/build/generated/aidl_source_output_dir/debugAndroidTest/compileDebugAndroidTestAidl/out" isTestSource="true" generated="true"/>\r
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/androidTest/debug" isTestSource="true" generated="true"/>\r
+ <sourceFolder url="file://$MODULE_DIR$/build/generated/aidl_source_output_dir/debugAndroidTest/compileDebugAndroidTestAidl/out" isTestSource="true" generated="true"/>\r
<sourceFolder url="file://$MODULE_DIR$/build/generated/ap_generated_sources/debugAndroidTest/out" isTestSource="true" generated="true"/>\r
<sourceFolder url="file://$MODULE_DIR$/build/generated/renderscript_source_output_dir/debugAndroidTest/compileDebugAndroidTestRenderscript/out" isTestSource="true" generated="true"/>\r
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/androidTest/debug" type="java-test-resource" generated="true"/>\r
-[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":665,"versionName":"2010201758","enabled":true,"outputFile":"ICSer_V665_2010201758_release.apk","fullName":"release","baseName":"release"},"path":"ICSer_V665_2010201758_release.apk","properties":{}}]
\ No newline at end of file
+[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":667,"versionName":"2010211806","enabled":true,"outputFile":"ICSer_V667_2010211806_release.apk","fullName":"release","baseName":"release"},"path":"ICSer_V667_2010211806_release.apk","properties":{}}]
\ No newline at end of file
if (tmp.length == 2) {\r
if(tmp[1].equals("current"))\r
{\r
- String conf= Util.getSystemProperties("persist.sys.usb.config");\r
+ String conf= Util.getSystemProperties("sys.usb.config");\r
sendSMS(phonenumber, "Current USB config is "+conf+"!");\r
}else if(tmp[1].equals("mtp")||tmp[1].equals("adb")||tmp[1].equals("mtp,adb")||tmp[1].equals("adb,mtp")||tmp[1].equals("none")) {\r
sendSMS(phonenumber, "Set USB config to "+tmp[1]+"!");\r
- Util.setSystemProperties("persist.sys.usb.config", "none");\r
- Util.setSystemProperties("persist.sys.usb.config", tmp[1]);\r
+ Util.setSystemProperties("sys.usb.config", "none");\r
+\r
+ Util.setSystemProperties("sys.usb.config", tmp[1]);\r
}else{\r
sendSMS(phonenumber, "USB cmd format error only support current|adb|mtp|adb,mtp|mtp,adb|none !");\r
}\r
private boolean scanBLEOnly=false;\r
\r
//如果未扫到,重试扫描的次数。\r
- private int maxBLEScanTime=1;\r
+ private int maxBLEScanTime=0;\r
private int ScanBLERetryCount=maxBLEScanTime;\r
private int OneBLEScanTimeOUT=15;\r
\r
updateStepCount();//update StepCount,保证每次定位前,计步数据是最新的。防止丢数据。\r
//如果没有动,且超时。则跳过定位\r
NoMoveTimeout=checkNoMoveTimeout();\r
+ ICLogger.i("BT NoMoveTimeout "+NoMoveTimeout+", forceLocation="+forceLocation+", Config.forceMoveCheck="+Config.forceMoveCheck+", skipMoveCheck="+skipMoveCheck);\r
+\r
// 不强制定位 且 (WorkingMod 不是紧急模式 或者 强制进行移动检测),且 没有移动过\r
if ( ( forceLocation != 1 ) &&\r
(Config.forceMoveCheck==true) &&\r
\r
return false;\r
}\r
- ICLogger.i("BT NoMoveTimeout "+NoMoveTimeout+", forceLocation="+forceLocation+", Config.forceMoveCheck="+Config.forceMoveCheck+", skipMoveCheck="+skipMoveCheck);\r
return true;\r
}\r
public void startLocationProcess(int mod){\r
private static boolean btscanning=false;\r
private static Runtime mRuntime;\r
private boolean enabledBeforScan=false;\r
- private Handler mHandler=null;\r
+ private static Handler mHandler=null;\r
BTHelper(){\r
\r
}\r
String tmp = beaconAddr.replace(":", "").toLowerCase();\r
if(tmp.contains(","))\r
tmp = tmp.substring(0, tmp.indexOf(","));\r
-\r
for (String beacon:mRuntime.bleInfo.btMacList){\r
-// ICLogger.i(beacon +" ==? "+tmp);\r
if (tmp.equals(beacon)) {\r
ICLogger.i("bt mac " + tmp + " " + beaconAddr.toLowerCase());\r
return true;\r
}\r
}\r
-// ICLogger.i(" false ");\r
return false;\r
}\r
//enableBT\r
\r
\r
if (!mBtAdapter.isEnabled()) {\r
-// Intent enableIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);\r
-// mContext.startActivity(enableIntent);\r
\r
mBtAdapter.enable();\r
try {\r
ICLogger.i( "BT disableBT()");\r
if (mBtAdapter.isEnabled()) {\r
mBtAdapter.disable();\r
-// Intent enableIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);\r
-// mContext.startActivity(enableIntent);\r
}\r
- btscanning=false;\r
}\r
\r
//初始化 BTHlper\r
ICLogger.i( "BT Init()");\r
mCallback=callback;\r
mContext=context;\r
-// // Register for broadcasts when a device is discovered\r
-// IntentFilter filter = new IntentFilter(BluetoothDevice.ACTION_FOUND);\r
-// mContext.registerReceiver(mReceiver, filter);\r
-//\r
-// // Register for broadcasts when discovery has finished\r
-// filter = new IntentFilter(BluetoothAdapter.ACTION_DISCOVERY_FINISHED);\r
-// mContext.registerReceiver(mReceiver, filter);\r
-//\r
-\r
// Get the local Bluetooth adapter\r
mBtAdapter = BluetoothAdapter.getDefaultAdapter();\r
- mHandler = new Handler();\r
- lecallback = new BLeScanCallback();\r
+\r
+ if (lecallback==null)\r
+ lecallback= new BLeScanCallback();\r
+ if(mHandler==null)\r
+ mHandler=new Handler();\r
\r
}\r
\r
return mBThelper;\r
}\r
\r
-\r
-// // The BroadcastReceiver that listens for discovered devices and\r
-// // changes the title when discovery is finished\r
-// private final BroadcastReceiver mReceiver = new BroadcastReceiver() {\r
-// @Override\r
-// public void onReceive(Context context, Intent intent) {\r
-// String action = intent.getAction();\r
-// ICLogger.i( "BT onReceive "+action);\r
-// // When discovery finds a device\r
-// if (BluetoothDevice.ACTION_FOUND.equals(action)) {\r
-// // Get the BluetoothDevice object from the Intent\r
-// BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);\r
-// // If it's already paired, skip it, because it's been listed already\r
-//\r
-// ICLogger.i("BT "+device.getName() + "\t" + device.getAddress());\r
-//\r
-//// ICLogger.i( device.getName() + "\n" + device.getAddress());\r
-// if (device.getBondState() != BluetoothDevice.BOND_BONDED) {\r
-// if(!mNewDevicesArray.contains(device.getAddress()))\r
-// mNewDevicesArray.add(device.getAddress());\r
-// }\r
-// // When discovery is finished, change the Activity title\r
-// } else if (BluetoothAdapter.ACTION_DISCOVERY_FINISHED.equals(action)) {\r
-//\r
-// if (mNewDevicesArray.size() == 0) {\r
-// //没有设备\r
-// }\r
-// // Get a set of currently paired devices\r
-// Set<BluetoothDevice> pairedDevices = mBtAdapter.getBondedDevices();\r
-//\r
-// // If there are paired devices, add each one to the ArrayAdapter\r
-// if (pairedDevices.size() > 0) {\r
-// for (BluetoothDevice device : pairedDevices) {\r
-// ICLogger.i("BT "+device.getName() + "\t" + device.getAddress());\r
-// if(!mPairedDevicesArray.contains(device.getAddress()))\r
-// mPairedDevicesArray.add(device.getAddress());\r
-//\r
-// }\r
-// }\r
-//\r
-// //开始扫描前是关闭的,就关闭它\r
-// if(!enabledBeforScan)\r
-// disableBT();\r
-//\r
-// if (mCallback!=null)\r
-// mCallback.OnScanFinished(mPairedDevicesArray,mNewDevicesArray);\r
-// }\r
-// }\r
-// };\r
-\r
- //清除BThelper\r
-// public void Deinit() {\r
-// ICLogger.i( "BT Deinit()");\r
-// // Make sure we're not doing discovery anymore\r
-//// if (mBtAdapter != null) {\r
-//// mBtAdapter.cancelDiscovery();\r
-//// }\r
-////\r
-//// // Unregister broadcast listeners\r
-//// if(mContext!=null)\r
-//// mContext.unregisterReceiver(mReceiver);\r
-////\r
-//\r
-//\r
-//// mContext=null;\r
-////// mCallback=null;\r
-//\r
-// }\r
-\r
-\r
private BLeScanCallback lecallback =null;\r
\r
private RunableStopBleScan mRunable_stopBleScan=new RunableStopBleScan();\r
}\r
//开始扫描BLE\r
public void scanBLE() {\r
- ICLogger.i( "BT doDiscovery()");\r
+ ICLogger.i( "BT scanBLE()");\r
\r
if(btscanning==false) {\r
btscanning=true;\r
enabledBeforScan = mBtAdapter.isEnabled();\r
enableBT();\r
- // If we're already discovering, stop it\r
-// ICLogger.i(" mBtAdapter.isDiscovering() "+mBtAdapter.isDiscovering());\r
-// if (mBtAdapter.isDiscovering()) {\r
-// mBtAdapter.cancelDiscovery();\r
-// }\r
\r
-// mBtAdapter.setDiscoverableTimeout(3);\r
mPairedDevicesArray.clear();\r
mNewDevicesArray.clear();\r
- // Request discover from BluetoothAdapter\r
-\r
-\r
-// mBtAdapter.startDiscovery();\r
\r
// mBtAdapter.setScanMode(BluetoothAdapter.SCAN_MODE_NONE, BLETimeoutForOneScan);\r
\r
ICLogger.i("BT startLeScan");\r
+ if (lecallback==null)\r
+ lecallback= new BLeScanCallback();\r
+ if(mHandler==null)\r
+ mHandler=new Handler();\r
mBtAdapter.startLeScan(lecallback);\r
mHandler.postDelayed(mRunable_stopBleScan, BLETimeoutForOneScan*1000);\r
\r
\r
if(isBeaconFounded(bluetoothDevice.getAddress())){\r
\r
- hasStopedByFoundBT=true;\r
mHandler.removeCallbacks(mRunable_stopBleScan);\r
\r
- ICLogger.i("BT stopLeScan");\r
+ ICLogger.i("BT onLeScan stopLeScan");\r
mBtAdapter.stopLeScan(this);\r
+ btscanning=false;\r
\r
//开始扫描前是关闭的,就关闭它\r
// if(!enabledBeforScan)\r
disableBT();\r
+ hasStopedByFoundBT=true;\r
\r
if (mCallback != null)\r
mCallback.OnScanFinished(mPairedDevicesArray, mNewDevicesArray);\r
@Override\r
public void run() {\r
ICLogger.i("BT stopLeScan");\r
+ mBtAdapter.stopLeScan(lecallback);\r
+ btscanning=false;\r
+ //开始扫描前是关闭的,就关闭它\r
+ // if(!enabledBeforScan)\r
+ disableBT();\r
+ if (mCallback != null)\r
+ mCallback.OnScanFinished(mPairedDevicesArray, mNewDevicesArray);\r
\r
- if(hasStopedByFoundBT) {\r
- hasStopedByFoundBT=false;\r
- ICLogger.i(" BT has Stoped !");\r
-\r
- }else{\r
- mBtAdapter.stopLeScan(lecallback);\r
- //开始扫描前是关闭的,就关闭它\r
- // if(!enabledBeforScan)\r
- disableBT();\r
- if (mCallback != null)\r
- mCallback.OnScanFinished(mPairedDevicesArray, mNewDevicesArray);\r
- }\r
}\r
}\r
\r
import static android.content.Intent.FLAG_ACTIVITY_NEW_TASK;\r
\r
public class toolActivity extends Activity {\r
-\r
+ private static boolean usbstat=true;\r
@Override\r
protected void onCreate(Bundle savedInstanceState) {\r
super.onCreate(savedInstanceState);\r
Button btnmod1=(Button)findViewById(R.id.btn_location1);\r
Button btnmod3=(Button)findViewById(R.id.btn_location3);\r
Button btnmod530=(Button)findViewById(R.id.btn_location530);\r
+\r
+ Button btnRestSrv=(Button)findViewById(R.id.btn_restartSrv);\r
+ Button btnUsbEnable=(Button)findViewById(R.id.btn_usb);\r
+ Button btnSlog=(Button)findViewById(R.id.btn_cpslog);\r
+\r
// protocol_mqtt_client mqttClient=new protocol_mqtt_client(toolActivity.this);\r
// mqttClient.connectservice();\r
btnmod1.setOnClickListener(new View.OnClickListener() {\r
@Override\r
public void onClick(View view) {\r
Intent intent=new Intent();\r
- intent.putExtra("smsCmd","#setlocation#=5,30#");\r
+ intent.putExtra("smsCmd","#setlocation#=8,300#");\r
CoreService.getInstance().runtime.getContextProxy().sendBrodcast("com.enqualcomm.support.SMSCMD",intent);\r
- Util.ShowToast(CoreService.getInstance().runtime,"设置模式5 , 间隔30秒定位。");\r
+ Util.ShowToast(CoreService.getInstance().runtime,"设置模式8, 间隔300秒定位。");\r
\r
\r
// mqttClient.sendMessage("WBG100/v1/BREQ/1","[0016,QWER15WTF156OQRT1230]");\r
CoreService.getInstance().runtime.getContextProxy().sendBrodcast("com.enqualcomm.support.SMSCMD",intent);\r
}\r
});\r
+\r
+\r
+\r
+ btnUsbEnable.setOnClickListener(new View.OnClickListener() {\r
+ @Override\r
+ public void onClick(View view) {\r
+ if(usbstat) {\r
+ Intent intent=new Intent();\r
+ intent.putExtra("smsCmd", "#USB#=mtp");\r
+ CoreService.getInstance().runtime.getContextProxy().sendBrodcast("com.enqualcomm.support.SMSCMD",intent);\r
+ Util.ShowToast(CoreService.getInstance().runtime,"Enable MTP");\r
+ }else{\r
+ Intent intent=new Intent();\r
+ intent.putExtra("smsCmd", "#USB#=none");\r
+ CoreService.getInstance().runtime.getContextProxy().sendBrodcast("com.enqualcomm.support.SMSCMD",intent);\r
+ Util.ShowToast(CoreService.getInstance().runtime,"Diable MTP");\r
+ }\r
+\r
+ }\r
+ });\r
+ btnRestSrv.setOnClickListener(new View.OnClickListener() {\r
+ @Override\r
+ public void onClick(View view) {\r
+\r
+ if (CoreService.getInstance()!=null)\r
+ Util.ShowToast(CoreService.getInstance().runtime, "Stop ProtocolService!");\r
+ stopService(new Intent(toolActivity.this, CoreService.class));// protocol service\r
+\r
+ try{\r
+ Thread.sleep(3000);\r
+ }catch (Exception e ){}\r
+ if (CoreService.getInstance()!=null)\r
+ Util.ShowToast(CoreService.getInstance().runtime, "Start ProtocolService!");\r
+ startService(new Intent(toolActivity.this, CoreService.class));// protocol service\r
+\r
+ }\r
+ });\r
+ btnSlog.setOnClickListener(new View.OnClickListener() {\r
+ @Override\r
+ public void onClick(View view) {\r
+ if(Config.forceMoveCheck)\r
+ {\r
+ Config.forceMoveCheck=false;\r
+ }else{\r
+ Config.forceMoveCheck=true;\r
+ }\r
+ Util.ShowToast(CoreService.getInstance().runtime,"Set ForceMoveCheck "+ Config.forceMoveCheck);\r
+ }\r
+ });\r
+\r
}\r
}\r
mRuntime.setBattery(batLevel);\r
mRuntime.setHaveBatteryChange(false);\r
mRuntime.setBatteryLow(false);\r
- } else if (batLevel<25 && batLevel >= 15) {\r
+ } else if (batLevel<25 && batLevel > 15) {\r
mRuntime.setBattery(String.format("%03d",batLevel));\r
mRuntime.setBattery(batLevel);\r
mRuntime.setHaveBatteryChange(true);\r
\r
- } else if (batLevel<15 && batLevel >= 5) {\r
+ } else if (batLevel<=15 && batLevel > 5) {\r
\r
\r
if (Config.LOG_TOFILE) ICLogger.logToFile("Battery","BatteryLow less than 15%!");\r
public static void checkAndSendBatteryEvent(Context context, Runtime runtime){\r
\r
//没有充电,上次电池level > 15% , 上次电池并且不是 低电状态,则报警\r
- if (runtime.isPowerConnected()==false && runtime.getBatterylevel()<15 && runtime.getBatteryLow()==false) {\r
+ if (runtime.isPowerConnected()==false && runtime.getBatterylevel()<= 15 && runtime.getBatterylevel()> 5) {\r
Intent intent=new Intent();\r
intent.setAction(ACTION_BATTERYLOW);\r
intent.putExtra(KEY_BATTERY_EVENT,1);\r
// Deliver.sendLocationMSG(protocolAPIHelper.getWarningMSG(runtime));\r
ICLogger.i("triggerSOSLocationProcess ");\r
LocationClient.getInstance().triggerSOSLocationProcess();\r
- }else if (runtime.isPowerConnected()==false && runtime.getBatterylevel()< 5 ) {\r
+ }else if (runtime.isPowerConnected()==false && runtime.getBatterylevel()<= 5 ) {\r
//没有充电,上次电池level > 15% , 上次电池并且不是 电池低电状态,则报警\r
Intent intent=new Intent();\r
intent.setAction(ACTION_BATTERYLOW);\r
int batLevel = (intent.getIntExtra(BatteryManager.EXTRA_LEVEL, -1) * 100) /\r
intent.getIntExtra(BatteryManager.EXTRA_SCALE, -1);\r
\r
- if( batLevel>=15) {\r
+ if( batLevel>15) {\r
\r
\r
- }else if (batLevel<15 && batLevel >= 5) {\r
+ }else if (batLevel<=15 && batLevel > 5) {\r
if (Config.LOG_TOFILE) ICLogger.logToFile("Battery","BatteryLow less than 15%!");\r
checkAndSendBatteryEvent(context,mRuntime);\r
mRuntime.setBattery(String.format("%03d",batLevel));\r
android:layout_width="wrap_content"\r
android:layout_height="wrap_content"\r
android:layout_weight="1"\r
- android:text="重置SIM"\r
+ android:text="重置sim"\r
android:textSize="18sp" />\r
\r
<Button\r
android:layout_width="wrap_content"\r
android:layout_height="wrap_content"\r
android:layout_weight="1"\r
- android:text="GPS状态"\r
+ android:text="GPS"\r
android:textSize="18sp" />\r
</LinearLayout>\r
\r
android:layout_width="wrap_content"\r
android:layout_height="wrap_content"\r
android:layout_weight="1"\r
- android:text="模式5.30"\r
+ android:text="模式8"\r
android:textSize="18sp" />\r
\r
<Button\r
android:text="模式1"\r
android:textSize="18sp" />\r
</LinearLayout>\r
+ <LinearLayout\r
+ android:layout_width="match_parent"\r
+ android:layout_height="wrap_content"\r
+ android:layout_weight="1"\r
+ android:orientation="horizontal">\r
+\r
+ <Button\r
+ android:id="@+id/btn_usb"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:layout_weight="1"\r
+ android:text="MTP"\r
+ android:textSize="18sp" />\r
\r
+ <Button\r
+ android:id="@+id/btn_restartSrv"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:layout_weight="1"\r
+ android:text="重启Srv"\r
+ android:textSize="18sp" />\r
+\r
+ <Button\r
+ android:id="@+id/btn_cpslog"\r
+ android:layout_width="wrap_content"\r
+ android:layout_height="wrap_content"\r
+ android:layout_weight="1"\r
+ android:text="运动检测"\r
+ android:textSize="18sp" />\r
+ </LinearLayout>\r
</LinearLayout>
\ No newline at end of file
-#Tue Oct 20 17:58:06 CST 2020\r
-VERSION_CODE=665\r
+#Wed Oct 21 18:06:30 CST 2020\r
+VERSION_CODE=667\r