Parcourir la source

修改添加检测mac 限制

slambb il y a 3 ans
Parent
commit
792770d3ca

+ 31 - 3
app/build.gradle

@@ -6,8 +6,8 @@ android {
         applicationId "com.slam.bboxbleNext3"
         minSdkVersion 19
         targetSdkVersion 26
-        versionCode 3
-        versionName "3.0"
+        versionCode 33
+        versionName "3.3"
         testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
     }
     buildTypes {
@@ -20,8 +20,36 @@ android {
         sourceCompatibility JavaVersion.VERSION_1_8
         targetCompatibility JavaVersion.VERSION_1_8
     }
-}
+    //多渠道打包
+    flavorDimensions "version"
+    productFlavors {
+        //哔蹦渠道
+        BBengNext {
+            //修改包名
+            applicationId "com.slam.bboxbleNext3"
+            //修改app名字,string资源下不能包含"app_name"
+            resValue "string", "app_name", "手柄简易测试工具Next_${defaultConfig.versionName}"
 
+            dimension "version"
+        }
+    }
+    applicationVariants.all { variant ->
+        variant.outputs.all {
+            if (variant.buildType.name == "release") {
+                // 输出apk名称
+                outputFileName = "${variant.flavorName}_v${variant.versionName}.apk"
+            } else {
+                outputFileName = "${variant.flavorName}_v${variant.versionName}_debug.apk"
+            }
+
+        }
+    }
+
+}
+//打包时间
+def static releaseTime() {
+    return new Date().format("yyyy-MM-dd", TimeZone.getTimeZone("UTC"))
+}
 
 dependencies {
     implementation fileTree(include: ['*.jar'], dir: 'libs')

+ 100 - 43
app/src/main/java/com/slam/bboxble/TestActivity.java

@@ -3,7 +3,9 @@ package com.slam.bboxble;
 import android.Manifest;
 import android.app.Activity;
 import android.content.pm.PackageManager;
+import android.os.Build;
 import android.os.Bundle;
+import android.support.annotation.RequiresApi;
 import android.support.v4.app.ActivityCompat;
 import android.text.method.ScrollingMovementMethod;
 import android.util.Log;
@@ -25,6 +27,7 @@ import android.widget.CheckBox;
 import android.widget.ImageButton;
 import android.widget.ImageView;
 import android.widget.Toast;
+import android.text.Html;
 
 
 public class TestActivity extends Activity implements View.OnClickListener {
@@ -112,6 +115,7 @@ public class TestActivity extends Activity implements View.OnClickListener {
     private static final int TestGyroX = 21;
     private static final int TestGyroY = 22;
     private static final int TestGyroZ = 23;
+    private static final int TestMac = 1;
     //当前测试的场景
     private int currentTest = 0;
 
@@ -125,6 +129,8 @@ public class TestActivity extends Activity implements View.OnClickListener {
     //进入第一个页面
     private Button mButtonEnter;
     private LinearLayout mSettingLayout;
+    private String  startVerName = "HG_3431Q_0529_V62M1";
+    private String  currentMac = "";
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
@@ -185,19 +191,19 @@ public class TestActivity extends Activity implements View.OnClickListener {
                 if (deviceEvent != null) {
                     Log.i(TAG, deviceEvent.getDeviceAddress());
                     Log.i(TAG, deviceEvent.getDeviceName());
+                    //获取当前的mac地址
+                    currentMac = deviceEvent.getDeviceAddress();//"C5:5C:19:04:04:e9"; deviceEvent.getDeviceAddress();
 
-                    String _tip = textView.getText().toString();
-                    _tip += "设备mac-->:" + deviceEvent.getDeviceAddress() + "\n设备名称-->:" + deviceEvent.getDeviceName() + "\n";
+                    String _tip = "<br>设备mac: " + deviceEvent.getDeviceAddress() + "\n<br>设备名称: " + deviceEvent.getDeviceName() + "\n";
                     textView.setText(_tip);
-
-
                 }
 
                 if(code == 20002){
-                    onWriteValue("3");
-
-                    mButtonX1.setVisibility(View.VISIBLE);
-                    mButtonConnect2.setVisibility(View.GONE);
+                    onWriteValue("V");
+//                    onWriteValue("3");
+//                    mButtonX1.setVisibility(View.VISIBLE);
+//                    mButtonConnect2.setVisibility(View.GONE);
+//                    mButtonSend1.setVisibility(View.VISIBLE);
                 }
 
                 //todo 返回成功对象信息
@@ -223,6 +229,7 @@ public class TestActivity extends Activity implements View.OnClickListener {
                 //  }
             }
 
+            @RequiresApi(api = Build.VERSION_CODES.N)
             @Override
             public void onUpdateData(Integer code, String prompt, DataEvent dataEvent) {
 
@@ -342,7 +349,39 @@ public class TestActivity extends Activity implements View.OnClickListener {
                     //      "type": "STRING",
                     //      "data": dataEvent.getDataStr()
                     //  }
+
+                    currentMac = currentMac.replace(":", "");
+                    String fourStr = currentMac.substring(currentMac.length()-4,currentMac.length());
+                    int fourOut = Integer.parseInt(fourStr, 16);
+
                     Log.i(TAG, "prompt:" + prompt + " " + dataEvent.getDataStr());
+                    String _tip = textView.getText().toString();
+                    if(dataEvent.getDataStr().contains(startVerName)&& fourOut<=1256 && fourOut>=256){
+                        //正确的情况
+                        _tip +="<br>mac地址范围正确!10进制值:"+fourOut;
+                        String textBlue = "<font color='#0000FF'>"+dataEvent.getDataStr()+"</font>";
+                        _tip += "<br>硬件的版本:  " + textBlue  + "<br>检查的版本: -"+startVerName;
+                        mButtonConnect2.setVisibility(View.GONE);
+                        mButtonNext1.setVisibility(View.VISIBLE);
+                        mCheckBoxX.setChecked(true);
+                        mCheckBoxX.setText("mac地址范围或者版本号正确!");
+
+                    }else{
+
+                        if(fourOut>1256 || fourOut < 256){
+                            _tip +="<br><font color = '#FF0000'>mac地址超出范围?不能超过1256或小于256.</font><br>当前值:"+fourOut;
+                        }
+
+                        String textRed = "<font color = '#FF0000'>"+dataEvent.getDataStr()+"</font>";
+                        _tip += "<br>硬件的版本:  " + textRed  + "<br>检查的版本: -"+startVerName;
+
+                        mButtonConnect2.setVisibility(View.GONE);
+                        mButtonGY3.setVisibility(View.VISIBLE);
+                        mCheckBoxX.setChecked(false);
+                        mCheckBoxX.setText("mac地址范围或者版本号错误!");
+                    }
+                    textView.setText(Html.fromHtml(_tip, Html.FROM_HTML_MODE_LEGACY));
+
                 }
             }
         };
@@ -554,8 +593,18 @@ public class TestActivity extends Activity implements View.OnClickListener {
 
                 break;
             case R.id.button_next_1:
+                //点击下一步时候,如果是检测轴的状态下,通过
+                if(currentTest<TestMac){
+                    mButtonNext1.setVisibility(View.GONE);
+                    mButtonX1.setVisibility(View.VISIBLE);
+                    currentTest = TestAccX;
+                    mCheckBoxX.setChecked(false);
+                    mCheckBoxX.setText("检测X方向,方向键向上垂直桌面");
+                    mImageViewPage_1.setImageResource(R.drawable.x);
+                    onWriteValue("3");
+                }
                 //点击下一步时候,切换检测坐标
-                if(mCheckBoxAccX.isChecked() && currentTest < TestAccX){
+                else if(mCheckBoxAccX.isChecked() && currentTest < TestAccX){
                     mButtonNext1.setVisibility(View.GONE);
                     mButtonX1.setVisibility(View.VISIBLE);
                     currentTest = TestAccX;
@@ -749,45 +798,53 @@ public class TestActivity extends Activity implements View.OnClickListener {
         mButtonGY3.setVisibility(View.GONE);
         mCheckBoxGY.setText("逆时针旋转值会持续变大:"+ 0);
 
+        currentMac = "";
+
 
         resetTestState();
     }
 
     public  void resetTestState(){
-        if(mCheckBoxAccX.isChecked()){
-            currentTest = TestAccX;
-            mCheckBoxX.setChecked(false);
-            mCheckBoxX.setText("检测X方向,方向键向上垂直桌面");
-            mImageViewPage_1.setImageResource(R.drawable.x);
-
-        }else if(mCheckBoxAccY.isChecked()){
-            currentTest = TestAccY;
-            mCheckBoxX.setChecked(false);
-            mCheckBoxX.setText("检测Y方向,L,R向上垂直桌面");
-            mImageViewPage_1.setImageResource(R.drawable.y);
-
-        }else if(mCheckBoxAccZ.isChecked()){
-            currentTest = TestAccZ;
-            mCheckBoxX.setChecked(false);
-            mCheckBoxX.setText("检测Z方向,AB键向上放置桌面");
-            mImageViewPage_1.setImageResource(R.drawable.z);
-
-        }else if(mCheckBoxGyroX.isChecked()){
-            currentTest = TestGyroX;
-            mCheckBoxX.setChecked(false);
-            mCheckBoxX.setText("检测X方向,方向键向上垂直桌面");
-            mImageViewPage_1.setImageResource(R.drawable.x);
-        }else if(mCheckBoxGyroY.isChecked()){
-            currentTest = TestGyroY;
-            mCheckBoxX.setChecked(false);
-            mCheckBoxX.setText("检测Y方向,L,R向上垂直桌面");
-            mImageViewPage_1.setImageResource(R.drawable.y);
-        }else if(mCheckBoxGyroZ.isChecked()){
-            currentTest = TestGyroZ;
-            mCheckBoxX.setChecked(false);
-            mCheckBoxX.setText("检测Z方向,AB键向上放置桌面");
-            mImageViewPage_1.setImageResource(R.drawable.z);
-        }
+        // 必定检查mac
+        currentTest = 0;
+        mCheckBoxX.setChecked(false);
+        mCheckBoxX.setText("连接自动检查mac版本");
+        mImageViewPage_1.setImageResource(R.drawable.x);
+
+//        if(mCheckBoxAccX.isChecked()){
+//            currentTest = TestAccX;
+//            mCheckBoxX.setChecked(false);
+//            mCheckBoxX.setText("检测X方向,方向键向上垂直桌面");
+//            mImageViewPage_1.setImageResource(R.drawable.x);
+//
+//        }else if(mCheckBoxAccY.isChecked()){
+//            currentTest = TestAccY;
+//            mCheckBoxX.setChecked(false);
+//            mCheckBoxX.setText("检测Y方向,L,R向上垂直桌面");
+//            mImageViewPage_1.setImageResource(R.drawable.y);
+//
+//        }else if(mCheckBoxAccZ.isChecked()){
+//            currentTest = TestAccZ;
+//            mCheckBoxX.setChecked(false);
+//            mCheckBoxX.setText("检测Z方向,AB键向上放置桌面");
+//            mImageViewPage_1.setImageResource(R.drawable.z);
+//
+//        }else if(mCheckBoxGyroX.isChecked()){
+//            currentTest = TestGyroX;
+//            mCheckBoxX.setChecked(false);
+//            mCheckBoxX.setText("检测X方向,方向键向上垂直桌面");
+//            mImageViewPage_1.setImageResource(R.drawable.x);
+//        }else if(mCheckBoxGyroY.isChecked()){
+//            currentTest = TestGyroY;
+//            mCheckBoxX.setChecked(false);
+//            mCheckBoxX.setText("检测Y方向,L,R向上垂直桌面");
+//            mImageViewPage_1.setImageResource(R.drawable.y);
+//        }else if(mCheckBoxGyroZ.isChecked()){
+//            currentTest = TestGyroZ;
+//            mCheckBoxX.setChecked(false);
+//            mCheckBoxX.setText("检测Z方向,AB键向上放置桌面");
+//            mImageViewPage_1.setImageResource(R.drawable.z);
+//        }
     }
 
 

BIN
app/src/main/res/drawable/x.jpg


BIN
app/src/main/res/drawable/y.jpg


BIN
app/src/main/res/drawable/z.jpg


+ 8 - 12
app/src/main/res/layout/activity_test.xml

@@ -6,18 +6,6 @@
     android:layout_height="match_parent"
     tools:context="com.slam.bboxble.TestActivity">
 
-    <Button
-        android:id="@+id/button_send1"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginTop="16dp"
-        android:text="发送数据v"
-        android:visibility="gone"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintHorizontal_bias="0.319"
-        app:layout_constraintStart_toEndOf="@+id/button_update"
-        app:layout_constraintTop_toBottomOf="@+id/button_send2" />
-
     <Button
         android:id="@+id/button_send2"
         android:layout_width="wrap_content"
@@ -302,6 +290,14 @@
             android:visibility="visible">
 
 
+            <Button
+                android:id="@+id/button_send1"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="16dp"
+                android:text="获取版本"
+                android:visibility="gone" />
+
             <Button
                 android:id="@+id/button_next_1"
                 android:layout_width="match_parent"

BIN
app/src/main/res/mipmap-xxxhdpi/x.jpg


BIN
app/src/main/res/mipmap-xxxhdpi/y.jpg


BIN
app/src/main/res/mipmap-xxxhdpi/z.jpg


+ 1 - 1
app/src/main/res/values/base-strings.xml

@@ -16,7 +16,7 @@
 -->
 
 <resources>
-    <string name="app_name">测试工具Next3.0</string>
+<!--    <string name="app_name">测试工具Next3.0</string>-->
     <string name="intro_message">
         <![CDATA[