release V667
authorsnickersun <scy@incartech.cn>
Wed, 21 Oct 2020 10:12:23 +0000 (18:12 +0800)
committersnickersun <scy@incartech.cn>
Wed, 21 Oct 2020 10:12:23 +0000 (18:12 +0800)
1、优化蓝牙扫描停止逻辑,解决特定逻辑可能造成蓝牙不关闭,而无法继续扫描问题。
2、电池包含15%,%5 都会上报电量低, 且取消只报一次的限制。
3、蓝牙扫描15秒,重试次数改为0
4、修改测试页面。增加 重启服务,usb mtp开关,mod8 5分钟模式,运动检测开关。

app/app.iml
app/release/ICSer_V667_2010211806_release.apk [moved from app/release/ICSer_V665_2010201758_release.apk with 77% similarity]
app/release/output.json
app/src/main/java/com/enqualcomm/support/ICSmsManager.java
app/src/main/java/com/enqualcomm/support/LocationClient.java
app/src/main/java/com/enqualcomm/support/adapter/BTHelper.java
app/src/main/java/com/enqualcomm/support/toolActivity.java
app/src/main/java/com/enqualcomm/support/utils/BatteryUtil.java
app/src/main/res/layout/activity_tool.xml
app/version_code.properties

index d1100d6..497b2ac 100644 (file)
     <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
similarity index 77%
rename from app/release/ICSer_V665_2010201758_release.apk
rename to app/release/ICSer_V667_2010211806_release.apk
index f00316c..ad991a6 100644 (file)
Binary files a/app/release/ICSer_V665_2010201758_release.apk and b/app/release/ICSer_V667_2010211806_release.apk differ
index c57fa4c..f7b50fe 100644 (file)
@@ -1 +1 @@
-[{"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
index 6c6c2c1..712d8af 100644 (file)
@@ -761,12 +761,13 @@ public class ICSmsManager  extends BroadcastReceiver {
                 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
index 14d0320..8a38105 100644 (file)
@@ -119,7 +119,7 @@ public class LocationClient {
   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
@@ -829,6 +829,8 @@ public void updateCellInfo() {
     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
@@ -837,7 +839,6 @@ public void updateCellInfo() {
 \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
index 87efb59..689ad8b 100644 (file)
@@ -27,7 +27,7 @@ public class BTHelper {
     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
@@ -40,15 +40,12 @@ public class BTHelper {
         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
@@ -57,8 +54,6 @@ public class BTHelper {
 \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
@@ -77,10 +72,7 @@ public class BTHelper {
         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
@@ -88,19 +80,13 @@ public class BTHelper {
         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
@@ -116,76 +102,6 @@ public class BTHelper {
         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
@@ -196,29 +112,23 @@ public class BTHelper {
     }\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
@@ -291,15 +201,16 @@ public class BTHelper {
 \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
@@ -312,19 +223,14 @@ public class BTHelper {
         @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
index 21ccb12..68d7ec7 100644 (file)
@@ -16,7 +16,7 @@ import com.ic.protocols.protocol_mqtt;
 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
@@ -28,6 +28,11 @@ public class toolActivity extends Activity {
         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
@@ -57,9 +62,9 @@ public class toolActivity extends Activity {
             @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
@@ -97,5 +102,55 @@ public class toolActivity extends Activity {
                 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
index a73be70..36767bf 100644 (file)
@@ -85,12 +85,12 @@ public class BatteryUtil {
             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
@@ -149,7 +149,7 @@ public class BatteryUtil {
   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
@@ -160,7 +160,7 @@ public class BatteryUtil {
 //      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
@@ -233,10 +233,10 @@ public class BatteryUtil {
     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
index 79dd4f3..a91af8c 100644 (file)
@@ -26,7 +26,7 @@
             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
@@ -34,7 +34,7 @@
             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
@@ -57,7 +57,7 @@
             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
index a887826..1ab72dd 100644 (file)
@@ -1,2 +1,2 @@
-#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