241015:只做文件传输sdk dev_file_tool
authorxiewei <892331662@qq.com>
Tue, 15 Oct 2024 07:45:23 +0000 (15:45 +0800)
committerxiewei <892331662@qq.com>
Tue, 15 Oct 2024 07:45:23 +0000 (15:45 +0800)
34 files changed:
app/proguard-rules.pro
app/src/main/java/com/zhixun/blesdk/app/AiLogActivity.java
app/src/main/java/com/zhixun/blesdk/app/DialTestActivity.java
app/src/main/java/com/zhixun/blesdk/app/MainActivity.java
app/src/main/java/com/zhixun/blesdk/app/utils/FuncationChosePopupWindow.java
hssdk/build.gradle
hssdk/libs/Poly-SDK-v1.5-240809.jar [deleted file]
hssdk/libs/Poly-SDK-v1.6-240812.jar [deleted file]
hssdk/proguard-rules.pro
hssdk/src/main/java/com/zhixun/blesdk/hssdk/HsFileAgentSdk.java [moved from hssdk/src/main/java/com/zhixun/blesdk/hssdk/HsAgentSdk.java with 71% similarity]
hssdk/src/main/java/com/zhixun/blesdk/hssdk/bttools/BleHandle.java
hssdk/src/main/java/com/zhixun/blesdk/hssdk/callback/IHSWearAPI.java [deleted file]
hssdk/src/main/java/com/zhixun/blesdk/hssdk/data/AiManage.java [deleted file]
hssdk/src/main/java/com/zhixun/blesdk/hssdk/data/BleMsgReceiverHandler.java
hssdk/src/main/java/com/zhixun/blesdk/hssdk/data/BleMsgSendHandler.java
hssdk/src/main/java/com/zhixun/blesdk/hssdk/data/FileHandler.java
hssdk/src/main/java/com/zhixun/blesdk/hssdk/data/FileHandlerE6.java
hssdk/src/main/java/com/zhixun/blesdk/hssdk/data/HsApiKit.java
hssdk/src/main/java/com/zhixun/blesdk/hssdk/data/ReceiverLooperThread.java
hssdk/src/main/java/com/zhixun/blesdk/hssdk/entity/E3MsgBody.java
hssdk/src/main/java/com/zhixun/blesdk/hssdk/entity/E4MsgBody.java
hssdk/src/main/java/com/zhixun/blesdk/hssdk/file/entity/HsCustomDialSum.java [moved from hssdk/src/main/java/com/zhixun/blesdk/hssdk/entity/file/HsCustomDialSum.java with 86% similarity]
hssdk/src/main/java/com/zhixun/blesdk/hssdk/file/entity/HsDialSum.java [moved from hssdk/src/main/java/com/zhixun/blesdk/hssdk/entity/file/HsDialSum.java with 89% similarity]
hssdk/src/main/java/com/zhixun/blesdk/hssdk/file/entity/HsEpoInfo.java [moved from hssdk/src/main/java/com/zhixun/blesdk/hssdk/entity/file/HsEpoInfo.java with 94% similarity]
hssdk/src/main/java/com/zhixun/blesdk/hssdk/file/entity/HsMarketDialSum.java [moved from hssdk/src/main/java/com/zhixun/blesdk/hssdk/entity/file/HsMarketDialSum.java with 84% similarity]
hssdk/src/main/java/com/zhixun/blesdk/hssdk/file/entity/HsMp3Info.java [moved from hssdk/src/main/java/com/zhixun/blesdk/hssdk/entity/file/HsMp3Info.java with 92% similarity]
hssdk/src/main/java/com/zhixun/blesdk/hssdk/file/entity/MsgBody.java [moved from hssdk/src/main/java/com/zhixun/blesdk/hssdk/entity/MsgBody.java with 99% similarity]
hssdk/src/main/java/com/zhixun/blesdk/hssdk/file/entity/OTAInfo.java [moved from hssdk/src/main/java/com/zhixun/blesdk/hssdk/entity/OTAInfo.java with 95% similarity]
hssdk/src/main/java/com/zhixun/blesdk/hssdk/file/filecallback/BtMsgCallback.java [new file with mode: 0644]
hssdk/src/main/java/com/zhixun/blesdk/hssdk/file/filecallback/IBtReceiverCallback.java [new file with mode: 0644]
hssdk/src/main/java/com/zhixun/blesdk/hssdk/file/filecallback/IHSWearAPI.java [new file with mode: 0644]
hssdk/src/main/java/com/zhixun/blesdk/hssdk/file/filecallback/ISendFileListener.java [moved from hssdk/src/main/java/com/zhixun/blesdk/hssdk/callback/ISendFileListener.java with 87% similarity]
hssdk/src/main/java/com/zhixun/blesdk/hssdk/util/BleUuidUtil.java
hssdk/src/main/java/com/zhixun/blesdk/hssdk/util/SobLog.java

index 0c36e65..41135c1 100644 (file)
@@ -33,7 +33,7 @@
 -keep class com.zhixun.blesdk.hssdk.entity.*{*;}
 -keep class com.zhixun.blesdk.hssdk.entity.weather.*{*;}
 -keep class com.zhixun.blesdk.hssdk.entity.file.*{*;}
--keep class com.zhixun.blesdk.hssdk.HsAgentSdk{*;}
+-keep class com.zhixun.blesdk.hssdk.HsFileAgentSdk{*;}
 
 -keep class com.zhixun.android.sdk.polysdk.callback.*{*;}
 -keep class com.zhixun.android.sdk.polysdk.entity.*{*;}
index 3091f63..f6b562a 100644 (file)
@@ -6,10 +6,8 @@ import androidx.recyclerview.widget.RecyclerView;
 
 import android.os.Bundle;
 import android.view.View;
-import android.widget.ListView;
 
 import com.zhixun.blesdk.app.adapter.MsgAdapter;
-import com.zhixun.blesdk.hssdk.data.AiManage;
 
 import java.util.ArrayList;
 
index c436a20..6825489 100644 (file)
@@ -3,33 +3,25 @@ package com.zhixun.blesdk.app;
 
 import androidx.annotation.Nullable;
 import androidx.appcompat.app.AppCompatActivity;
-import androidx.documentfile.provider.DocumentFile;
 import androidx.recyclerview.widget.LinearLayoutManager;
 import androidx.recyclerview.widget.RecyclerView;
 
 import android.content.ActivityNotFoundException;
-import android.content.ContentUris;
-import android.content.Context;
 import android.content.Intent;
-import android.database.Cursor;
 import android.net.Uri;
 import android.os.Bundle;
-import android.os.Environment;
-import android.provider.DocumentsContract;
-import android.provider.MediaStore;
 import android.text.TextUtils;
 import android.util.Log;
 import android.view.View;
 import android.widget.Button;
 import android.widget.EditText;
-import android.widget.ListView;
 import android.widget.Toast;
 
 import com.zhixun.blesdk.app.adapter.MsgAdapter;
 import com.zhixun.blesdk.app.utils.FileHelper;
-import com.zhixun.blesdk.hssdk.HsAgentSdk;
-import com.zhixun.blesdk.hssdk.callback.ISendFileListener;
-import com.zhixun.blesdk.hssdk.entity.file.HsMarketDialSum;
+import com.zhixun.blesdk.hssdk.HsFileAgentSdk;
+import com.zhixun.blesdk.hssdk.file.filecallback.ISendFileListener;
+import com.zhixun.blesdk.hssdk.file.entity.HsMarketDialSum;
 
 import java.io.File;
 import java.io.FileNotFoundException;
@@ -115,7 +107,7 @@ public class DialTestActivity extends AppCompatActivity {
         List<String> paths = new ArrayList<>();
         paths.add(path);
 
-        HsAgentSdk.getInstance().getAPI().installMarketDial(dialSum, paths, new ISendFileListener() {
+        HsFileAgentSdk.getInstance().getAPI().installMarketDial(dialSum, paths, new ISendFileListener() {
             @Override
             public void onProgressChange(int progress) {
                 runOnUiThread(new Runnable() {
index 4d91006..ed3807c 100644 (file)
@@ -5,7 +5,6 @@ import androidx.appcompat.app.AppCompatActivity;
 import androidx.core.app.ActivityCompat;
 
 import android.content.Intent;
-import android.content.pm.ActivityInfo;
 import android.content.pm.PackageManager;
 import android.os.Bundle;
 import android.os.Handler;
@@ -18,20 +17,17 @@ import android.widget.Button;
 import android.widget.LinearLayout;
 import android.widget.ListView;
 import android.widget.TextView;
-import android.widget.Toast;
 
 import com.google.gson.Gson;
 import com.zhixun.blesdk.app.adapter.DeviceAdapter;
-import com.zhixun.blesdk.app.utils.ByteTools;
 import com.zhixun.blesdk.app.utils.PermissionUtil;
-import com.zhixun.blesdk.hssdk.HsAgentSdk;
+import com.zhixun.blesdk.hssdk.HsFileAgentSdk;
 import com.zhixun.blesdk.hssdk.callback.BtVtransferCallback;
 import com.zhixun.blesdk.hssdk.callback.IBtScanCallback;
 import com.zhixun.blesdk.hssdk.callback.OnMsgSendCallBack;
 import com.zhixun.blesdk.hssdk.entity.E3MsgBody;
 import com.zhixun.blesdk.hssdk.entity.HsAlarmItem;
-import com.zhixun.blesdk.hssdk.entity.HsSleepItem;
-import com.zhixun.blesdk.hssdk.entity.MsgBody;
+import com.zhixun.blesdk.hssdk.file.entity.MsgBody;
 import com.zhixun.blesdk.hssdk.entity.MsgResponse;
 import com.zhixun.blesdk.hssdk.entity.HsWearDevice;
 
@@ -96,8 +92,8 @@ public class MainActivity extends AppCompatActivity {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_main);
 
-        HsAgentSdk.getInstance().init(this, true, true);
-        HsAgentSdk.getInstance().getAPI().AIinit(this);
+        HsFileAgentSdk.getInstance().init(this, true, true);
+        HsFileAgentSdk.getInstance().getAPI().AIinit(this);
 //        FileLogger.init(this);
 //        PicZipApi.getInstance().init();
 
@@ -110,8 +106,8 @@ public class MainActivity extends AppCompatActivity {
         deviceListview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
             @Override
             public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
-                HsAgentSdk.getInstance().getAPI().disconnect();
-                HsAgentSdk.getInstance().getAPI().connect(bluetoothDevices.get(position));
+                HsFileAgentSdk.getInstance().getAPI().disconnect();
+                HsFileAgentSdk.getInstance().getAPI().connect(bluetoothDevices.get(position));
 
             }
         });
@@ -124,7 +120,7 @@ public class MainActivity extends AppCompatActivity {
 //        }, 1000);
 
 
-        HsAgentSdk.getInstance().getAPI().setOnWearConnectCallBack(new BtVtransferCallback() {
+        HsFileAgentSdk.getInstance().getAPI().setOnWearConnectCallBack(new BtVtransferCallback() {
             @Override
             public void onConnectStateChange(int connectState, HsWearDevice device) {
                 super.onConnectStateChange(connectState, device);
@@ -136,7 +132,7 @@ public class MainActivity extends AppCompatActivity {
             }
         });
 
-        checkOtaChannel_btn.setText("切换ota通道(目前:"+(HsAgentSdk.getInstance().getFileCannel()==0?"2AE0":"2AE6")+")");
+        checkOtaChannel_btn.setText("切换ota通道(目前:"+(HsFileAgentSdk.getInstance().getFileCannel()==0?"2AE0":"2AE6")+")");
     }
 
     public void test(View view) {
@@ -155,10 +151,10 @@ public class MainActivity extends AppCompatActivity {
         //FC:9B:36:E1:74:1E   FC:9B:55:29:33:EA
         //02010A 020A00 0FFF 4A48 08 EA3329559BFC 0504 010110 0E09 4B554D4920553620333345410000000000000000000000000000000000000000000000000000
         //02010A 020A00 0FFF 4A48 08 1E74E1369BFC 0504 010110 0E09 4B 55 4D 49 20 55 36 20 37 34 31 45 0000000000000000000000000000000000000000000000000000
-        if (HsAgentSdk.getInstance().getAPI().isConnected()) return;
+        if (HsFileAgentSdk.getInstance().getAPI().isConnected()) return;
 
-        HsAgentSdk.getInstance().getAPI().startScan();
-        HsAgentSdk.getInstance().getAPI().setScanCallback(new IBtScanCallback() {
+        HsFileAgentSdk.getInstance().getAPI().startScan();
+        HsFileAgentSdk.getInstance().getAPI().setScanCallback(new IBtScanCallback() {
             @Override
             public void onScanResultUpdate(List<HsWearDevice> results) {
                 Log.i(TAG, "onScanResultUpdate--" + new Gson().toJson(results));
@@ -185,7 +181,7 @@ public class MainActivity extends AppCompatActivity {
         //String data = "730210 01000000 1F000000 01000000 1F00 7B226D6163223A5B5D2C22706E223A225869616F6D69222C227470223A307DB0";
 //        String data = "73 01 01 01000000 00000000 01000000 0000";
         E3MsgBody msgBody = new E3MsgBody(MsgBody.TYPE_GET_ALRAMS);
-        HsAgentSdk.getInstance().sendMsg(msgBody, new OnMsgSendCallBack() {
+        HsFileAgentSdk.getInstance().sendMsg(msgBody, new OnMsgSendCallBack() {
             @Override
             public void onResponse(MsgResponse msgResponse) {
                 List<HsAlarmItem> alarmItems = (List<HsAlarmItem>) msgResponse.getBody();
@@ -201,17 +197,17 @@ public class MainActivity extends AppCompatActivity {
     }
 
     public void disconnect(View view) {
-        HsAgentSdk.getInstance().getAPI().disconnect(); 
+        HsFileAgentSdk.getInstance().getAPI().disconnect();
     }
 
     public void checkOtaChannel(View view) {
-        int channel = HsAgentSdk.getInstance().getFileCannel();
+        int channel = HsFileAgentSdk.getInstance().getFileCannel();
         if(channel==0){
             channel = 1;
         }else {
             channel = 0;
         }
-        HsAgentSdk.getInstance().setFileCannel(channel);
+        HsFileAgentSdk.getInstance().setFileCannel(channel);
         checkOtaChannel_btn.setText("切换ota通道(目前:"+(channel==0?"2AE0":"2AE6")+")");
     }
 
@@ -223,8 +219,8 @@ public class MainActivity extends AppCompatActivity {
         startActivity(new Intent(this, AiLogActivity.class));
     }
     public void reconnect(View view) {
-        HsWearDevice bean = HsAgentSdk.getInstance().getAPI().getLastDevice();
-        HsAgentSdk.getInstance().getAPI().connect(bean);
+        HsWearDevice bean = HsFileAgentSdk.getInstance().getAPI().getLastDevice();
+        HsFileAgentSdk.getInstance().getAPI().connect(bean);
 
         Log.d(TAG,"--"+MsgBody.TRAIN_TYPE_RUN);
         //2024-07-23 01:31:00/2024-07-23 04:29:00    2024-07-23 04:39:00/2024-07-23 08:13:00
@@ -244,7 +240,7 @@ public class MainActivity extends AppCompatActivity {
     @Override
     protected void onDestroy() {
         super.onDestroy();
-        HsAgentSdk.getInstance().getAPI().stopScan();
+        HsFileAgentSdk.getInstance().getAPI().stopScan();
     }
 
     //TODO 处理权限结果回调
index 9c57c05..f38686c 100644 (file)
@@ -18,9 +18,9 @@ import android.widget.PopupWindow;
 import com.google.gson.Gson;
 import com.zhixun.blesdk.app.R;
 import com.zhixun.blesdk.app.adapter.FuncationAdapter;
-import com.zhixun.blesdk.hssdk.HsAgentSdk;
+import com.zhixun.blesdk.hssdk.HsFileAgentSdk;
 import com.zhixun.blesdk.hssdk.callback.IFileReceiverCallback;
-import com.zhixun.blesdk.hssdk.callback.ISendFileListener;
+import com.zhixun.blesdk.hssdk.file.filecallback.ISendFileListener;
 import com.zhixun.blesdk.hssdk.callback.OnFindPhoneListener;
 import com.zhixun.blesdk.hssdk.callback.OnMsgSendCallBack;
 import com.zhixun.blesdk.hssdk.callback.OnTrainStateListener;
@@ -29,7 +29,7 @@ import com.zhixun.blesdk.hssdk.entity.HsO2Value;
 import com.zhixun.blesdk.hssdk.entity.HsPhoneNumber;
 import com.zhixun.blesdk.hssdk.entity.HsSleepItem;
 import com.zhixun.blesdk.hssdk.entity.HsSleepSetting;
-import com.zhixun.blesdk.hssdk.entity.OTAInfo;
+import com.zhixun.blesdk.hssdk.file.entity.OTAInfo;
 import com.zhixun.blesdk.hssdk.entity.E3MsgBody;
 import com.zhixun.blesdk.hssdk.entity.E4MsgBody;
 import com.zhixun.blesdk.hssdk.entity.HsAlarmItem;
@@ -48,10 +48,9 @@ import com.zhixun.blesdk.hssdk.entity.HsTrainValue;
 import com.zhixun.blesdk.hssdk.entity.HsUserInfo;
 import com.zhixun.blesdk.hssdk.entity.HsValueItem;
 import com.zhixun.blesdk.hssdk.entity.HsWaterRemind;
-import com.zhixun.blesdk.hssdk.entity.MsgBody;
+import com.zhixun.blesdk.hssdk.file.entity.MsgBody;
 import com.zhixun.blesdk.hssdk.entity.MsgResponse;
-import com.zhixun.blesdk.hssdk.entity.file.HsCustomDialSum;
-import com.zhixun.blesdk.hssdk.entity.file.HsMarketDialSum;
+import com.zhixun.blesdk.hssdk.file.entity.HsMarketDialSum;
 
 import java.io.File;
 import java.text.SimpleDateFormat;
@@ -94,7 +93,7 @@ public class FuncationChosePopupWindow extends PopupWindow {
         otaInfo.setMid(2);
         otaInfo.setMinor(1);
         oldpro = -1;
-        HsAgentSdk.getInstance().getAPI().startOTA(filePath,
+        HsFileAgentSdk.getInstance().getAPI().startOTA(filePath,
                 otaInfo, new ISendFileListener() {
                     @Override
                     public void onProgressChange(int progress) {
@@ -503,7 +502,7 @@ public class FuncationChosePopupWindow extends PopupWindow {
                         });*/
                         break;
                     case 43:
-                        HsAgentSdk.getInstance().getAPI().cancleFileSend(1, new OnMsgSendCallBack() {
+                        HsFileAgentSdk.getInstance().getAPI().cancleFileSend(1, new OnMsgSendCallBack() {
                             @Override
                             public void onResponse(MsgResponse msgResponse) {
                                 if(onResultListener!=null){
@@ -539,7 +538,7 @@ public class FuncationChosePopupWindow extends PopupWindow {
                         oldDialPro = -1;
                         List<String> paths = new ArrayList<>();
                         paths.add("/sdcard/Android/data/com.zhixun.blesdk.app/files/hs_sdk/mainbg.lzma");
-                        HsAgentSdk.getInstance().getAPI().installMarketDial(dialSum, paths, new ISendFileListener() {
+                        HsFileAgentSdk.getInstance().getAPI().installMarketDial(dialSum, paths, new ISendFileListener() {
                             @Override
                             public void onProgressChange(int progress) {
                                 if(onResultListener!=null&&oldDialPro!=progress){
@@ -561,7 +560,7 @@ public class FuncationChosePopupWindow extends PopupWindow {
                         msgBody4.setData(ByteTools.little_intToByte(1,2));
                         break;
                     case 49:
-                        HsAgentSdk.getInstance().getAPI().getDeviceLog(new IFileReceiverCallback() {
+                        HsFileAgentSdk.getInstance().getAPI().getDeviceLog(new IFileReceiverCallback() {
                             @Override
                             public void onProgressChange(String progress) {
                                 if(onResultListener!=null){
@@ -649,7 +648,7 @@ public class FuncationChosePopupWindow extends PopupWindow {
                 }
                 if(msgBody!=null||msgBody4!=null){
 
-                    HsAgentSdk.getInstance().getAPI().sendMessage(msgBody==null?msgBody4:msgBody, new OnMsgSendCallBack() {
+                    HsFileAgentSdk.getInstance().getAPI().sendMessage(msgBody==null?msgBody4:msgBody, new OnMsgSendCallBack() {
                         @Override
                         public void onResponse(MsgResponse msgResponse) {
                             String msg = "";
@@ -777,7 +776,7 @@ public class FuncationChosePopupWindow extends PopupWindow {
             }
         });
 
-        HsAgentSdk.getInstance().getAPI().setOnTrainingListener(new OnTrainStateListener() {
+        HsFileAgentSdk.getInstance().getAPI().setOnTrainingListener(new OnTrainStateListener() {
             @Override
             public void onState(int state, int time) {
                 if(onResultListener!=null){
@@ -793,7 +792,7 @@ public class FuncationChosePopupWindow extends PopupWindow {
             }
         });
 
-        HsAgentSdk.getInstance().getAPI().setFindPhoneListener(new OnFindPhoneListener() {
+        HsFileAgentSdk.getInstance().getAPI().setFindPhoneListener(new OnFindPhoneListener() {
             @Override
             public void onfind(int state) {
                 if(onResultListener!=null){
index 3d3d072..61d5e04 100644 (file)
@@ -12,7 +12,7 @@ android {
         versionCode 1
         testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
         consumerProguardFiles "consumer-rules.pro"
-        versionName '0.0.6'
+        versionName '0.0.1'
         buildConfigField("String", "SDK_VERSION", "\"${versionName}\"")
         multiDexEnabled true
     }
@@ -32,7 +32,7 @@ android {
         variant ->
             variant.outputs.all {
                 //在这里修改文件名
-                outputFileName = "HS-SDK-${defaultConfig.versionName}-${getTime()}.aar"
+                outputFileName = "HS-FILE-SDK-${defaultConfig.versionName}-${getTime()}.aar"
             }
     }
 
@@ -41,11 +41,29 @@ def getTime() {
     return new Date().format("yyyyMMddHHmm")
 }
 
+// 定义一个任务来打包生成jar
+task makeJar(type: Copy) {
+    // 删除存在的jar文件
+//    delete 'build/libs/Poly-SDK.jar'
+
+    // 设置要复制的文件
+    from('build/intermediates/aar_main_jar/release/')
+
+    // 打包成jar
+    into('build/libs/')
+
+    // 包含classes.jar文件
+    include('classes.jar')
+
+    // 重命名为自定义的名字
+    rename('classes.jar', 'HS-FILE-SDK-v0.1-241015.jar')
+}
+
 dependencies {
 
     implementation 'androidx.appcompat:appcompat:1.6.1'
     implementation 'com.google.android.material:material:1.8.0'
-    implementation files('libs\\Poly-SDK-v1.6-240812.jar')
+//    implementation files('libs\\Poly-SDK-v1.6-240812.jar')
 //    implementation files('libs\\Poly-SDK-v1.5-240809.jar')
 
     testImplementation 'junit:junit:4.13.2'
diff --git a/hssdk/libs/Poly-SDK-v1.5-240809.jar b/hssdk/libs/Poly-SDK-v1.5-240809.jar
deleted file mode 100644 (file)
index 6c799e2..0000000
Binary files a/hssdk/libs/Poly-SDK-v1.5-240809.jar and /dev/null differ
diff --git a/hssdk/libs/Poly-SDK-v1.6-240812.jar b/hssdk/libs/Poly-SDK-v1.6-240812.jar
deleted file mode 100644 (file)
index 99c591a..0000000
Binary files a/hssdk/libs/Poly-SDK-v1.6-240812.jar and /dev/null differ
index ed27389..2a8078f 100644 (file)
 -classobfuscationdictionary src/main/assets/rules.txt
 -packageobfuscationdictionary src/main/assets/rules.txt
 
--keep class com.zhixun.blesdk.hssdk.callback.*{*;}
--keep class com.zhixun.blesdk.hssdk.entity.*{*;}
--keep class com.zhixun.blesdk.hssdk.entity.weather.*{*;}
--keep class com.zhixun.blesdk.hssdk.entity.file.*{*;}
--keep class com.zhixun.blesdk.hssdk.HsAgentSdk{*;}
-
--keep class com.zhixun.android.sdk.polysdk.callback.*{*;}
--keep class com.zhixun.android.sdk.polysdk.entity.*{*;}
--keep class com.zhixun.android.sdk.polysdk.bean.*{*;}
--keep class com.zhixun.android.sdk.polysdk.PolymerizeAgent{*;}
--keep class com.zhixun.android.sdk.polysdk.callback.*{*;}
--keep class com.zhixun.android.sdk.polysdk.entity.*{*;}
--keep class com.zhixun.android.sdk.polysdk.bean.*{*;}
+-keep class com.zhixun.blesdk.hssdk.file.filecallback.*{*;}
+-keep class com.zhixun.blesdk.hssdk.file.entity.*{*;}
+-keep class com.zhixun.blesdk.hssdk.HsFileAgentSdk{*;}
+
+#-keep class com.zhixun.android.sdk.polysdk.callback.*{*;}
+#-keep class com.zhixun.android.sdk.polysdk.entity.*{*;}
+#-keep class com.zhixun.android.sdk.polysdk.bean.*{*;}
+#-keep class com.zhixun.android.sdk.polysdk.PolymerizeAgent{*;}
+#-keep class com.zhixun.android.sdk.polysdk.callback.*{*;}
+#-keep class com.zhixun.android.sdk.polysdk.entity.*{*;}
+#-keep class com.zhixun.android.sdk.polysdk.bean.*{*;}
 
@@ -3,21 +3,18 @@ package com.zhixun.blesdk.hssdk;
 import android.content.Context;
 
 
-import com.zhixun.blesdk.hssdk.callback.IHSWearAPI;
-import com.zhixun.blesdk.hssdk.callback.OnMsgSendCallBack;
+import com.zhixun.blesdk.hssdk.file.filecallback.IHSWearAPI;
 import com.zhixun.blesdk.hssdk.data.HsApiKit;
-import com.zhixun.blesdk.hssdk.entity.MsgBody;
 import com.zhixun.blesdk.hssdk.util.SobLog;
-import com.zhixun.blesdk.hssdk.util.SpUtils;
 
 /**
  * 获取到此实例后
  * - 调用init初始化
  * - 进行功能调用
  */
-public class HsAgentSdk{
+public class HsFileAgentSdk {
 
-    private static HsAgentSdk sInstance = null;
+    private static HsFileAgentSdk sInstance = null;
     private Context mContext;
     
 
@@ -27,7 +24,7 @@ public class HsAgentSdk{
     private IHSWearAPI wearAPI;
 
     private int fileCannel = 1;//0走之前的通道流程,1走新的流程
-    private HsAgentSdk() {
+    private HsFileAgentSdk() {
         wearAPI = new HsApiKit();
     }
 
@@ -36,11 +33,11 @@ public class HsAgentSdk{
      *
      * @return SDK实例
      */
-    public static HsAgentSdk getInstance() {
+    public static HsFileAgentSdk getInstance() {
         if(sInstance == null) {
-            synchronized(HsAgentSdk.class) {
+            synchronized(HsFileAgentSdk.class) {
                 if(sInstance == null) {
-                    sInstance = new HsAgentSdk();
+                    sInstance = new HsFileAgentSdk();
                 }
             }
         }
@@ -51,9 +48,6 @@ public class HsAgentSdk{
         return wearAPI;
     }
 
-    public void sendMsg(MsgBody body, OnMsgSendCallBack callBack){
-        wearAPI.sendMessage(body,callBack);
-    }
 
     /**
      * 初始化SDK
@@ -70,7 +64,7 @@ public class HsAgentSdk{
         wearAPI.init(context);
     }
 
-    public int getFileCannel() {
+    /*public int getFileCannel() {
         fileCannel = SpUtils.getInstance().getIntValue(SpUtils.KEY_FILE_CANNEL);
         return fileCannel;
     }
@@ -78,5 +72,5 @@ public class HsAgentSdk{
     public void setFileCannel(int fileCannel) {
         this.fileCannel = fileCannel;
         SpUtils.getInstance().saveIntValue(SpUtils.KEY_FILE_CANNEL,fileCannel);
-    }
+    }*/
 }
index 0ef895f..8183670 100644 (file)
@@ -3,8 +3,6 @@ package com.zhixun.blesdk.hssdk.bttools;
 
 import static android.content.pm.PackageManager.PERMISSION_GRANTED;
 
-import static com.zhixun.blesdk.hssdk.callback.BtVtransferCallback.STATE_CONNECTFAIL;
-
 import android.Manifest;
 import android.bluetooth.BluetoothAdapter;
 import android.bluetooth.BluetoothDevice;
@@ -14,7 +12,6 @@ import android.bluetooth.BluetoothGattCharacteristic;
 import android.bluetooth.BluetoothGattService;
 import android.bluetooth.BluetoothManager;
 import android.bluetooth.BluetoothProfile;
-import android.bluetooth.BluetoothSocket;
 import android.bluetooth.le.BluetoothLeScanner;
 import android.bluetooth.le.ScanCallback;
 import android.bluetooth.le.ScanFilter;
@@ -25,7 +22,6 @@ import android.content.Context;
 import android.content.Intent;
 import android.content.IntentFilter;
 import android.content.pm.PackageManager;
-import android.content.pm.ProviderInfo;
 import android.os.Build;
 import android.os.Handler;
 import android.os.Looper;
@@ -33,25 +29,21 @@ import android.os.Message;
 import android.os.ParcelUuid;
 import android.text.TextUtils;
 import android.util.Log;
-import android.widget.Toast;
 
 import androidx.annotation.NonNull;
 import androidx.core.app.ActivityCompat;
 import androidx.core.content.ContextCompat;
 
 import com.google.gson.Gson;
-import com.zhixun.blesdk.hssdk.HsAgentSdk;
 import com.zhixun.blesdk.hssdk.callback.BtVtransferCallback;
 import com.zhixun.blesdk.hssdk.callback.IBtScanCallback;
-import com.zhixun.blesdk.hssdk.callback.ISendFileListener;
 import com.zhixun.blesdk.hssdk.callback.OnMsgSendCallBack;
 import com.zhixun.blesdk.hssdk.data.BleMsgReceiverHandler;
 import com.zhixun.blesdk.hssdk.data.BleMsgSendHandler;
-import com.zhixun.blesdk.hssdk.data.FileHandler;
 import com.zhixun.blesdk.hssdk.entity.AppTime;
 import com.zhixun.blesdk.hssdk.entity.E4MsgBody;
 import com.zhixun.blesdk.hssdk.entity.HsWearDevice;
-import com.zhixun.blesdk.hssdk.entity.MsgBody;
+import com.zhixun.blesdk.hssdk.file.entity.MsgBody;
 import com.zhixun.blesdk.hssdk.entity.MsgResponse;
 import com.zhixun.blesdk.hssdk.entity.PhoneInfo;
 import com.zhixun.blesdk.hssdk.util.BleDataUtil;
@@ -59,8 +51,6 @@ import com.zhixun.blesdk.hssdk.util.BleUuidUtil;
 import com.zhixun.blesdk.hssdk.util.SobLog;
 import com.zhixun.blesdk.hssdk.util.SpUtils;
 
-import java.io.IOException;
-import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
 import java.util.ArrayList;
 import java.util.Calendar;
@@ -339,7 +329,7 @@ public class BleHandle {
                     SobLog.d(TAG, "mBleDeviceMap--remove---" + mBleConnectDevice.toString());
                 }
                 refreshDeviceCache();
-                HsAgentSdk.getInstance().getAPI().release();
+
 //                mBleConnectDevice = null;
             }
         }
diff --git a/hssdk/src/main/java/com/zhixun/blesdk/hssdk/callback/IHSWearAPI.java b/hssdk/src/main/java/com/zhixun/blesdk/hssdk/callback/IHSWearAPI.java
deleted file mode 100644 (file)
index 4019fd3..0000000
+++ /dev/null
@@ -1,103 +0,0 @@
-package com.zhixun.blesdk.hssdk.callback;
-
-import android.content.Context;
-import android.graphics.Bitmap;
-
-import com.zhixun.android.sdk.polysdk.callback.IPicCompressCallback;
-import com.zhixun.blesdk.hssdk.entity.OTAInfo;
-import com.zhixun.blesdk.hssdk.entity.file.HsEpoInfo;
-import com.zhixun.blesdk.hssdk.entity.HsNotifyParams;
-import com.zhixun.blesdk.hssdk.entity.HsWearDevice;
-import com.zhixun.blesdk.hssdk.entity.MsgBody;
-import com.zhixun.blesdk.hssdk.entity.file.HsMarketDialSum;
-
-import java.util.List;
-
-public interface IHSWearAPI {
-
-    void AIinit(Context var1);
-
-    void init(Context var1);
-
-    void setWearDevice(HsWearDevice var1);
-
-    void startScan();
-
-    void setScanCallback(IBtScanCallback scanCallback);
-    void stopScan();
-    HsWearDevice getWearDevice();
-
-    HsWearDevice getLastDevice();
-
-    void reConnectDevice();
-
-    void clearLastDevice();
-
-    /** @deprecated */
-    @Deprecated
-    void setLanguageMode(int mode, OnMsgSendCallBack callBack);
-
-    void setUnitMode(int mode, OnMsgSendCallBack callBack);
-
-    void sendMessage(MsgBody body, OnMsgSendCallBack callBack);
-
-    boolean isConnected();
-
-    boolean isConnecting();
-
-    void connect(HsWearDevice hsWearDevice);
-
-    void unBondDevice();
-
-    boolean isUnBonding();
-
-    void disconnect();
-
-
-    void setOnWearConnectCallBack(BtVtransferCallback callback);
-
-    void sendNotifyMsg(HsNotifyParams params, OnMsgSendCallBack callBack);
-    void removeNotifyMsg(int uid, OnMsgSendCallBack callBack);
-
-    void sendEpoFile(HsEpoInfo epoInfo, OnMsgSendCallBack callBack);
-    void sendMusicFile(String filePath, OnMsgSendCallBack callBack);
-
-    void setFindPhoneListener(OnFindPhoneListener onFindPhoneListener);
-    //void addReceiveCallback(OnReceiveCallback var1);
-
-    //void removeReceiveCallback(OnReceiveCallback var1);
-
-    //void addOnSwitchDialCallBack(OnSwitchDialCallBack<WearDevice> var1);
-
-   // void removeOnSwitchDialCallBack(OnSwitchDialCallBack var1);
-
-    void delectDeviceDial(int uid, OnMsgSendCallBack callBack);
-    void setOnUnBondDeviceCallBack(OnUnBondDeviceCallBack onUnBondDeviceCallBack);
-
-    void setOnTrainingListener(OnTrainStateListener onTrainStateListener);
-
-    void setTakePhotoListener(OnTakePhotoListener onTakePhotoListener);
-
-    void setOnGetWeatherListener(OnGetWeatherListener onGetWeatherListener);
-    void startOTA(String path,OTAInfo otaInfo,ISendFileListener sendFileListener);
-
-    /**
-     * 1:OTA
-     * 2:MP3
-     * 3:表盘
-     * @param type
-     * @param callBack
-     */
-    void cancleFileSend(int type, OnMsgSendCallBack callBack);
-
-    void installMarketDial(HsMarketDialSum dialSum, List<String> files, ISendFileListener sendFileListener);
-
-    void isInstallDial(int uid, OnMsgSendCallBack callBack);
-
-    void deleteDial(int uid, OnMsgSendCallBack callBack);
-
-    void picCompress(Bitmap bitmap, IPicCompressCallback picCompressCallback);
-
-    void getDeviceLog(IFileReceiverCallback iFileReceiverCallback);
-    void release();
-}
diff --git a/hssdk/src/main/java/com/zhixun/blesdk/hssdk/data/AiManage.java b/hssdk/src/main/java/com/zhixun/blesdk/hssdk/data/AiManage.java
deleted file mode 100644 (file)
index cede167..0000000
+++ /dev/null
@@ -1,325 +0,0 @@
-package com.zhixun.blesdk.hssdk.data;
-
-import android.content.Context;
-import android.media.AudioFormat;
-import android.media.AudioRecord;
-import android.os.Handler;
-import android.os.Looper;
-import android.os.Message;
-import android.text.TextUtils;
-import android.util.Log;
-
-import androidx.annotation.NonNull;
-
-import com.zhixun.android.sdk.polysdk.PolymerizeAgent;
-import com.zhixun.android.sdk.polysdk.callback.AuthCallback;
-import com.zhixun.android.sdk.polysdk.callback.IAIChannelChangeCallback;
-import com.zhixun.android.sdk.polysdk.callback.IAudioConvertListener;
-import com.zhixun.android.sdk.polysdk.callback.OnChatMsgListener;
-import com.zhixun.android.sdk.polysdk.callback.OnTranscriptionDataChange;
-import com.zhixun.blesdk.hssdk.bttools.ByteTools;
-import com.zhixun.blesdk.hssdk.callback.OnMsgSendCallBack;
-import com.zhixun.blesdk.hssdk.entity.E3MsgBody;
-import com.zhixun.blesdk.hssdk.entity.E4MsgBody;
-import com.zhixun.blesdk.hssdk.entity.MsgBody;
-import com.zhixun.blesdk.hssdk.entity.MsgResponse;
-import com.zhixun.blesdk.hssdk.util.SobLog;
-import com.zhixun.blesdk.hssdk.util.SpUtils;
-
-public class AiManage {
-
-    private String TAG = "AiManage";
-
-    private static AiManage sInstance;
-
-    public static final int TYPE_GET_WEAR_AUDIO = 13313;
-    public static final int TYPE_SEND_AI_RESULT = 7938;
-
-    private Handler handler = new Handler(Looper.getMainLooper()){
-        @Override
-        public void handleMessage(@NonNull Message msg) {
-            super.handleMessage(msg);
-            switch (msg.what){
-                case 101:
-                    PolymerizeAgent.getInstance().getAiAPI().stopTrans();
-                    receiverLenth = 0;
-                    allLenth = 0;
-                    break;
-            }
-        }
-    };
-    public AiManage() {
-
-    }
-    public static AiManage getInstance() {
-        if (sInstance == null) {
-            synchronized (AiManage.class) {
-                if (null == sInstance)
-                    sInstance = new AiManage();
-            }
-        }
-
-        return sInstance;
-    }
-    private boolean isLogin = false;
-    private boolean isTransStart = false;
-    public void init(Context context){
-        PolymerizeAgent.getInstance().init(context,true,true);
-        doLogin();
-        PolymerizeAgent.getInstance().getAiAPI().setOnTranscriptionDataChange(new OnTranscriptionDataChange() {
-            @Override
-            public void onStartChange(int action,boolean b) {
-                SobLog.i(TAG,"onStartChange--"+b);
-                isTransStart = b;
-                if(b){
-
-                    sendAudio(audio);
-                }else {
-                    receiverLenth = 0;
-                    allLenth = 0;
-                }
-            }
-
-            @Override
-            public void onChange(String s, String s1) {
-                SobLog.d(TAG,"onChange--"+"s--"+s+"-s1--"+s1);
-                if(s.equals("end")||s.equals("fail")){
-//                    handler.removeMessages(101);
-
-                    if(s.equals("end")){
-                        E4MsgBody msgBody = new E4MsgBody(TYPE_SEND_AI_RESULT);
-                        msgBody.setAiValue(E4MsgBody.TYPE_AI_REQ_TRANS,s1);
-                        BleMsgSendHandler.getInstance().sendMsg(msgBody,null);
-
-                        PolymerizeAgent.getInstance().getAiAPI().sendChatMsg(s1);
-                    }else if(s.equals("fail")){
-                        E4MsgBody msgBody = new E4MsgBody(TYPE_SEND_AI_RESULT);
-                        msgBody.setData(ByteTools.little_intToByte(4,1));
-                        BleMsgSendHandler.getInstance().sendMsg(msgBody,null);
-                    }
-
-                    if(onAiLogListener!=null){
-                        onAiLogListener.onLogChange("识别结果--"+s1);
-                    }
-                }
-
-            }
-        });
-
-
-        PolymerizeAgent.getInstance().getAiAPI().setOnChatMsgListener(new OnChatMsgListener() {
-            @Override
-            public void onChange(String chatType, String text) {
-                SobLog.d(TAG,"OnChatonChange--"+"chatType--"+chatType+"-text--"+text);
-                if(chatType.equals("start")){
-                    chatReq = new StringBuffer();
-                }else if(chatType.equals("end")){
-                    /*String msg = chatReq.toString().trim();
-                    SobLog.d(TAG,"send--"+msg);
-                    if(!TextUtils.isEmpty(msg)){
-                        E4MsgBody msgBody = new E4MsgBody(TYPE_SEND_AI_RESULT);
-                        msgBody.setAiValue(E4MsgBody.TYPE_AI_REQ_CHAT,msg);
-                        BleMsgSendHandler.getInstance().sendMsg(msgBody,null);
-                    }*/
-                    E4MsgBody msgBody = new E4MsgBody(TYPE_SEND_AI_RESULT);
-                    msgBody.setData(ByteTools.little_intToByte(4,1));
-                    BleMsgSendHandler.getInstance().sendMsg(msgBody,null);
-                    if(onAiLogListener!=null){
-                        onAiLogListener.onLogChange("回复结束");
-                    }
-                }else {
-                    if(!TextUtils.isEmpty(text)){
-                        if(text.startsWith("failed:")){
-                            E4MsgBody msgBody = new E4MsgBody(TYPE_SEND_AI_RESULT);
-                            msgBody.setData(ByteTools.little_intToByte(3,1));
-                            BleMsgSendHandler.getInstance().sendMsg(msgBody,null);
-                        }else {
-                            E4MsgBody msgBody = new E4MsgBody(TYPE_SEND_AI_RESULT);
-                            msgBody.setAiValue(E4MsgBody.TYPE_AI_REQ_CHAT,text);
-                            BleMsgSendHandler.getInstance().sendMsg(msgBody,null);
-                        }
-
-                    }
-                    if(onAiLogListener!=null){
-                        onAiLogListener.onLogChange("回复中&&"+text);
-                    }
-//                    chatReq.append(text);m
-                }
-            }
-        });
-    }
-
-    private StringBuffer chatReq = new StringBuffer();
-
-    private void sendAudio(byte[] outData){
-        int bufferSize = AudioRecord.getMinBufferSize(16000,
-                AudioFormat.CHANNEL_IN_MONO, AudioFormat.ENCODING_PCM_16BIT);
-        if(outData.length<=bufferSize){
-            PolymerizeAgent.getInstance().getAiAPI().sendTransByte(outData);
-        }else {
-            PolymerizeAgent.getInstance().getAiAPI().convertAudioSbcToPcm(outData, "16000", "1", new IAudioConvertListener() {
-                @Override
-                public void onError(String s) {
-                    Log.i(TAG,"onError--"+s);
-                    E4MsgBody msgBody = new E4MsgBody(TYPE_SEND_AI_RESULT);
-                    msgBody.setData(ByteTools.little_intToByte(0,1));
-                    BleMsgSendHandler.getInstance().sendMsg(msgBody,null);
-                }
-
-                @Override
-                public void onSuccess(String s) {
-                    Log.i(TAG,"onSuccess--"+s);
-                }
-
-                @Override
-                public void onSuccess(int page,int all,byte[] bytes) {
-                    Log.i(TAG,"onSuccess--"+bytes.length);
-                    PolymerizeAgent.getInstance().getAiAPI().sendTransByte(bytes);
-
-                    if(page==all-1){
-                        if(receiverLenth==allLenth){
-                            handler.sendEmptyMessageDelayed(101,800);
-                        }
-                        if(onAiLogListener!=null){
-                            onAiLogListener.onLogChange("语音识别中--");
-                        }
-                    }
-                }
-            });
-
-
-        }
-    }
-
-    private byte[] audio;
-    public void startTrans(){
-        if(onAiLogListener!=null){
-            onAiLogListener.onLogChange("收到语音数据--");
-        }
-        E3MsgBody body = new E3MsgBody(TYPE_GET_WEAR_AUDIO);
-        BleMsgSendHandler.getInstance().sendMsg(body, new OnMsgSendCallBack() {
-            @Override
-            public void onResponse(MsgResponse msgResponse) {
-
-
-                audio = (byte[]) msgResponse.getBody();
-                PolymerizeAgent.getInstance().getAiAPI().startTrans();
-//                            SobLog.d(TAG,"sendAudio--"+audio.length);
-                receiverLenth = receiverLenth+audio.length;
-
-                SobLog.d(TAG,receiverLenth+"/"+allLenth);
-//                sendAudio(audio);//只有测试GPT时 使用
-                if(onAiLogListener!=null){
-                    onAiLogListener.onLogChange("语音接收结束--"+receiverLenth+"/"+allLenth);
-                }
-            }
-
-            @Override
-            public void onFailure(int code, String msg) {
-                if(onAiLogListener!=null){
-                    onAiLogListener.onLogChange("startTrans onFailure--"+code+"--"+msg);
-                }
-
-            }
-        });
-    }
-
-    private int allLenth = 0;
-    private int receiverLenth = 0;
-    public void setAllLenth(int lenth){
-        if(allLenth==0){
-            this.allLenth = lenth;
-        }
-    }
-
-    public void clear(){
-        if(isTransStart){
-
-            PolymerizeAgent.getInstance().getAiAPI().stopTrans();
-        }
-        allLenth = 0;
-        receiverLenth = 0;
-    }
-
-
-    public void doLogin(){
-        String pwd = SpUtils.getInstance().getStringValue(SpUtils.KEY_AI_PWD);
-        if(TextUtils.isEmpty(pwd)){
-            pwd = "CVOachlw1DO1Ei5uabOkHd1wRYoMQA";
-        }
-        PolymerizeAgent.getInstance().getAuthenAPI().authentication("281106AFB0F7"
-                , pwd, "HHosiYUNdG42t1cTgKOzIUPOvAVMI2QT", new AuthCallback() {
-                    @Override
-                    public void onSuccess(String result) {
-                        isLogin = true;
-                        SobLog.i(TAG,"result--"+result);
-                        if(onAiLogListener!=null){
-                            onAiLogListener.onLogChange("鉴权结果-onSuccess-"+result);
-                        }
-                    }
-
-                    @Override
-                    public void onFail(int code,String msg) {
-                        SobLog.i(TAG,"onFail--"+msg);
-                        if(onAiLogListener!=null){
-                            onAiLogListener.onLogChange("鉴权结果-onFail-"+msg);
-                        }
-                        if(code==50021){
-                            if(onAiLogListener!=null){
-                                onAiLogListener.onLogChange("-密码错误,准备重新注册-");
-                            }
-                            doRegiest(true);
-                        }
-                    }
-                });
-    }
-
-    public void doRegiest(boolean isPwdFile){
-        PolymerizeAgent.getInstance().getAuthenAPI().regiest("HHosiYUNdG42t1cTgKOzIUPOvAVMI2QT"
-                , "281106AFB0F7", "pafOCKLiUbeVHbdZlddH", new AuthCallback() {
-                    @Override
-                    public void onSuccess(String result) {
-                        Log.i(TAG,"result--"+result);
-                        SpUtils.getInstance().saveValue(SpUtils.KEY_AI_PWD,result);
-                        if(onAiLogListener!=null){
-                            onAiLogListener.onLogChange("注册结果-onSuccess-"+result);
-                        }
-                        if(isPwdFile){
-                            if(onAiLogListener!=null){
-                                onAiLogListener.onLogChange("-注册成功,准备登录-");
-                            }
-                            doLogin();
-                        }
-                    }
-
-                    @Override
-                    public void onFail(int code,String msg) {
-                        Log.i(TAG,"onFail--"+msg);
-                        if(onAiLogListener!=null){
-                            onAiLogListener.onLogChange("注册结果-onFail-"+msg);
-                        }
-                    }
-                });
-
-    }
-
-    public String API_KEY = "sk-proj-04ogvrZQqyaiv1OWw8OZT3BlbkFJG9Gyr8oFvRdmr3oXQNbX";
-    public void checkAIChannel(){
-        PolymerizeAgent.getInstance().getAuthenAPI().setAIChannelKey("CHAT GPT", API_KEY, new IAIChannelChangeCallback() {
-            @Override
-            public void onChange(boolean result, String channel) {
-                Log.d(TAG,"result--"+result+"--channel--"+channel);
-            }
-        });
-    }
-
-    public void setOnAiLogListener(OnAiLogListener onAiLogListener) {
-        this.onAiLogListener = onAiLogListener;
-    }
-
-
-    private OnAiLogListener onAiLogListener;
-    public interface OnAiLogListener{
-        void onLogChange(String log);
-    }
-}
index 266a175..7619cfe 100644 (file)
@@ -1,6 +1,6 @@
 package com.zhixun.blesdk.hssdk.data;
 
-import static com.zhixun.blesdk.hssdk.data.AiManage.TYPE_GET_WEAR_AUDIO;
+
 import static com.zhixun.blesdk.hssdk.data.ReceiverLooperThread.TYPE_RECEIVER_LOG;
 
 import com.zhixun.blesdk.hssdk.bttools.ByteTools;
@@ -72,9 +72,9 @@ public class BleMsgReceiverHandler {
                 SobLog.d(TAG,"receiverData-分包数据-"+receiverData.toString());
                 //是分包数据
                 if(splitDataMap.containsKey(receiverData.getType())){
-                    if (receiverData.getType()==TYPE_GET_WEAR_AUDIO){
+                    /*if (receiverData.getType()==TYPE_GET_WEAR_AUDIO){
                         receiverLooperThread.removeAudioTimeOut();
-                    }
+                    }*/
                     ArrayList<ReceiverData> cacheData = splitDataMap.get(receiverData.getType());
                     cacheData.add(receiverData);
                     SobLog.d(TAG,"receiverData-已有-"+cacheData.size());
@@ -87,9 +87,9 @@ public class BleMsgReceiverHandler {
                         splitDataMap.remove(receiverData.getType());
 
                     }else {
-                        if (receiverData.getType()==TYPE_GET_WEAR_AUDIO){
+                        /*if (receiverData.getType()==TYPE_GET_WEAR_AUDIO){
                             receiverLooperThread.startAudioTimeOut();
-                        }
+                        }*/
                         splitDataMap.put(receiverData.getType(),cacheData);
                     }
 
@@ -125,9 +125,9 @@ public class BleMsgReceiverHandler {
         receiverLooperThread.handData(data);
     }
 
-    public void audioTimeOut(){
-        splitDataMap.remove(TYPE_GET_WEAR_AUDIO);
-    }
+//    public void audioTimeOut(){
+//        splitDataMap.remove(TYPE_GET_WEAR_AUDIO);
+//    }
 
     public void addCallBack(int type, OnMsgSendCallBack callBack){
         receiverLooperThread.addResponseCallBack(type,callBack);
index c067b68..b645df9 100644 (file)
@@ -7,11 +7,10 @@ import android.text.TextUtils;
 
 import androidx.annotation.NonNull;
 
-import com.zhixun.blesdk.hssdk.HsAgentSdk;
-import com.zhixun.blesdk.hssdk.bttools.BleHandle;
 import com.zhixun.blesdk.hssdk.bttools.ByteTools;
+import com.zhixun.blesdk.hssdk.file.filecallback.BtMsgCallback;
 import com.zhixun.blesdk.hssdk.callback.OnMsgSendCallBack;
-import com.zhixun.blesdk.hssdk.entity.MsgBody;
+import com.zhixun.blesdk.hssdk.file.entity.MsgBody;
 import com.zhixun.blesdk.hssdk.util.SobLog;
 
 import java.util.ArrayList;
@@ -69,8 +68,7 @@ public class BleMsgSendHandler {
                 &&msgBody.getType()!=MsgBody.TYPE_GET_SDCARD_STORAGE
                 &&msgBody.getType()!=TYPE_SET_PHONEINFO
                 &&msgBody.getType()!=FileHandler.TYPE_SEND_FILE_CHECK
-                &&msgBody.getType()!=MsgBody.TYPE_CANCLE_SEND_FILE
-                &&!HsAgentSdk.getInstance().getAPI().isConnected()){
+                &&msgBody.getType()!=MsgBody.TYPE_CANCLE_SEND_FILE){
             if(callBack!=null){
                 callBack.onFailure(1001,"发送失败,未连接设备");
             }
@@ -198,8 +196,10 @@ public class BleMsgSendHandler {
                             int channel = 0xFF & data[0];
                             SobLog.d(TAG, "MSG_SEND---" + ByteTools.byteArrToHex(sendBytes));
 
-                            BleHandle.getInstance().deviceWrite(sendBytes,channel);
-
+//                            BleHandle.getInstance().deviceWrite(sendBytes,channel);
+                            if(msgCallback!=null){
+                                msgCallback.toSend(sendBytes);
+                            }
                             break;
                         case MSG_CHECKSENDMSG:
                             if (msgList.size() > 0) {
@@ -225,4 +225,9 @@ public class BleMsgSendHandler {
             Looper.loop();
         }
     }
+
+    private BtMsgCallback msgCallback;
+    public void setMsgSender(BtMsgCallback callback){
+        msgCallback = callback;
+    }
 }
index 3722ba5..c1bd0aa 100644 (file)
@@ -11,16 +11,17 @@ import androidx.annotation.NonNull;
 import com.google.gson.Gson;
 import com.zhixun.blesdk.hssdk.bttools.BleHandle;
 import com.zhixun.blesdk.hssdk.bttools.ByteTools;
+import com.zhixun.blesdk.hssdk.file.filecallback.BtMsgCallback;
 import com.zhixun.blesdk.hssdk.callback.IFileReceiverCallback;
-import com.zhixun.blesdk.hssdk.callback.ISendFileListener;
+import com.zhixun.blesdk.hssdk.file.filecallback.ISendFileListener;
 import com.zhixun.blesdk.hssdk.callback.OnMsgSendCallBack;
 import com.zhixun.blesdk.hssdk.entity.HsLogInfo;
-import com.zhixun.blesdk.hssdk.entity.OTAInfo;
-import com.zhixun.blesdk.hssdk.entity.file.HsCustomDialSum;
-import com.zhixun.blesdk.hssdk.entity.file.HsEpoInfo;
-import com.zhixun.blesdk.hssdk.entity.file.HsMarketDialSum;
-import com.zhixun.blesdk.hssdk.entity.file.HsMp3Info;
-import com.zhixun.blesdk.hssdk.entity.MsgBody;
+import com.zhixun.blesdk.hssdk.file.entity.OTAInfo;
+import com.zhixun.blesdk.hssdk.file.entity.HsCustomDialSum;
+import com.zhixun.blesdk.hssdk.file.entity.HsEpoInfo;
+import com.zhixun.blesdk.hssdk.file.entity.HsMarketDialSum;
+import com.zhixun.blesdk.hssdk.file.entity.HsMp3Info;
+import com.zhixun.blesdk.hssdk.file.entity.MsgBody;
 import com.zhixun.blesdk.hssdk.entity.MsgResponse;
 import com.zhixun.blesdk.hssdk.util.SobLog;
 import com.zhixun.blesdk.hssdk.util.SpUtils;
@@ -686,4 +687,9 @@ public class FileHandler {
     public void setSendFileListener(ISendFileListener sendFileListener) {
         this.sendFileListener = sendFileListener;
     }
+
+    private BtMsgCallback msgCallback;
+    public void setMsgSender(BtMsgCallback callback){
+        msgCallback = callback;
+    }
 }
index d8d16a1..015491a 100644 (file)
@@ -1,7 +1,5 @@
 package com.zhixun.blesdk.hssdk.data;
 
-import static com.zhixun.blesdk.hssdk.data.ReceiverLooperThread.TYPE_RECEIVER_LOG_INFO_RESULT;
-
 import android.os.Handler;
 import android.os.Looper;
 import android.os.Message;
@@ -9,28 +7,21 @@ import android.os.Message;
 import androidx.annotation.NonNull;
 
 import com.google.gson.Gson;
-import com.zhixun.blesdk.hssdk.bttools.BleHandle;
 import com.zhixun.blesdk.hssdk.bttools.ByteTools;
-import com.zhixun.blesdk.hssdk.callback.IFileReceiverCallback;
-import com.zhixun.blesdk.hssdk.callback.ISendFileListener;
+import com.zhixun.blesdk.hssdk.file.filecallback.BtMsgCallback;
+import com.zhixun.blesdk.hssdk.file.filecallback.ISendFileListener;
 import com.zhixun.blesdk.hssdk.callback.OnMsgSendCallBack;
-import com.zhixun.blesdk.hssdk.entity.HsLogInfo;
-import com.zhixun.blesdk.hssdk.entity.MsgBody;
+import com.zhixun.blesdk.hssdk.file.entity.MsgBody;
 import com.zhixun.blesdk.hssdk.entity.MsgResponse;
-import com.zhixun.blesdk.hssdk.entity.OTAInfo;
-import com.zhixun.blesdk.hssdk.entity.file.HsCustomDialSum;
-import com.zhixun.blesdk.hssdk.entity.file.HsEpoInfo;
-import com.zhixun.blesdk.hssdk.entity.file.HsMarketDialSum;
-import com.zhixun.blesdk.hssdk.entity.file.HsMp3Info;
+import com.zhixun.blesdk.hssdk.file.entity.OTAInfo;
+import com.zhixun.blesdk.hssdk.file.entity.HsMarketDialSum;
+import com.zhixun.blesdk.hssdk.file.entity.HsMp3Info;
 import com.zhixun.blesdk.hssdk.util.SobLog;
-import com.zhixun.blesdk.hssdk.util.SpUtils;
 
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
 import java.io.IOException;
-import java.io.OutputStream;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -43,11 +34,12 @@ public class FileHandlerE6 {
     private Handler mFlieMsgHandle;
     private FileLooperThread fileLooperThread;
     private static FileHandlerE6 sInstance;
-    public static final int TYPE_OTAINFO = 8196;
-    public static final int TYPE_SEND_FILE_CHECK = 8964;
+    public static final int TYPE_OTAINFO = 262;
+    public static final int TYPE_MP3INFO = 1798;
+    public static final int TYPE_SEND_FILE_CHECK = 2054;
 
-    public static final int TYPE_SEND_DIAL_INFO = 8708;
-    public static final int TYPE_SEND_ONE_DIAL_INFO = 9220;
+    public static final int TYPE_SEND_DIAL_INFO = 1286;
+    public static final int TYPE_SEND_ONE_DIAL_INFO = 1542;
 
 
     public FileHandlerE6() {
@@ -167,7 +159,6 @@ public class FileHandlerE6 {
     private int fileType = 0;//1ota  2市场表盘 3音乐
 
     public void startOta(String path,OTAInfo otaInfo) {
-
         MsgBody msgBody = new MsgBody();
         msgBody.setChannel(MsgBody.CHANNEL_E6);
         msgBody.setType(TYPE_OTAINFO);
@@ -370,6 +361,61 @@ public class FileHandlerE6 {
         });
     }
 
+    public void sendMp3(String path,HsMp3Info mp3Info) {
+        MsgBody msgBody = new MsgBody();
+        msgBody.setChannel(MsgBody.CHANNEL_E6);
+        msgBody.setType(TYPE_MP3INFO);
+        File file = new File(path);
+        if (!file.exists()) {
+            SobLog.d(TAG, "sendMp3--文件不存在");
+            if (sendFileListener!=null){
+                sendFileListener.onStateChange(ISendFileListener.STATE_FAIL,"文件不存在");
+            }
+            return;
+        }
+        fileType = 2;
+        long size = file.length();
+        sendDatas = new byte[(int) size];
+        try {
+            FileInputStream in = new FileInputStream(file);
+            in.read(sendDatas);
+            in.close();
+        } catch (FileNotFoundException e) {
+            e.printStackTrace();
+            SobLog.d(TAG,"FileNotFoundException--"+e.getMessage());
+        } catch (IOException e) {
+            e.printStackTrace();
+            SobLog.d(TAG,"IOException--"+e.getMessage());
+        }
+        SobLog.d(TAG, "sendMp3--"+sendDatas.length);
+        msgBody.setData(new Gson().toJson(mp3Info).getBytes());
+        BleMsgSendHandler.getInstance().sendMsg(msgBody, new OnMsgSendCallBack() {
+            @Override
+            public void onResponse(MsgResponse msgResponse) {
+                int result = (int) msgResponse.getBody();
+                if (result == 1) {
+                    //解析成功
+                    SobLog.d(TAG,"解析成功--");
+                    splitData();
+                    if (sendFileListener!=null){
+                        sendFileListener.onStateChange(ISendFileListener.STATE_SENDING,"发送中");
+                    }
+                }else {
+                    if (sendFileListener!=null){
+                        sendFileListener.onStateChange(ISendFileListener.STATE_FAIL,"表端解析失败");
+                    }
+                }
+            }
+
+            @Override
+            public void onFailure(int code, String msg) {
+                if (sendFileListener!=null){
+                    sendFileListener.onStateChange(ISendFileListener.STATE_FAIL,"配置信息发送失败-"+msg);
+                }
+            }
+        });
+    }
+
     public void lossPage(int position){
         sendLoss = true;
         sendSize = position-1;
@@ -415,7 +461,7 @@ public class FileHandlerE6 {
                                         msgSendState = true;
                                         msgSendRespose = true;
                                     }*/
-                                    BleHandle.getInstance().deviceWrite(sendArr.get(sendSize),MsgBody.CHANNEL_E6);
+                                   /* BleHandle.getInstance().deviceWrite(sendArr.get(sendSize),MsgBody.CHANNEL_E6);
 
                                     BleHandle.getInstance().setOnSendStateChangeListener(new BleHandle.OnSendStateChangeListener() {
                                         @Override
@@ -431,6 +477,17 @@ public class FileHandlerE6 {
                                         } catch (InterruptedException e) {
                                             throw new RuntimeException(e);
                                         }
+                                    }*/
+                                    if(msgCallback!=null){
+                                        msgCallback.toSend(sendArr.get(sendSize));
+                                    }
+                                    try {
+//                                            SobLog.d(TAG,"等待回复");
+                                        Thread.sleep(20);
+                                        msgSendState = true;
+//                                        msgSendRespose = true;
+                                    } catch (InterruptedException e) {
+                                        throw new RuntimeException(e);
                                     }
                                     if(msgSendState){
                                         if(isFileSendStart){
@@ -477,4 +534,10 @@ public class FileHandlerE6 {
     public void setSendFileListener(ISendFileListener sendFileListener) {
         this.sendFileListener = sendFileListener;
     }
+
+    private BtMsgCallback msgCallback;
+    public void setMsgSender(BtMsgCallback callback){
+        msgCallback = callback;
+    }
+
 }
index f039897..fb1d51a 100644 (file)
@@ -1,53 +1,24 @@
 package com.zhixun.blesdk.hssdk.data;
 
 import android.content.Context;
-import android.graphics.Bitmap;
-import android.text.TextUtils;
-import android.util.Log;
 
-import com.google.gson.Gson;
-import com.zhixun.android.sdk.polysdk.PolymerizeAgent;
-import com.zhixun.android.sdk.polysdk.callback.AuthCallback;
-import com.zhixun.android.sdk.polysdk.callback.IPicCompressCallback;
-import com.zhixun.blesdk.hssdk.HsAgentSdk;
 import com.zhixun.blesdk.hssdk.bttools.BleHandle;
-import com.zhixun.blesdk.hssdk.callback.BtVtransferCallback;
-import com.zhixun.blesdk.hssdk.bttools.ByteTools;
-import com.zhixun.blesdk.hssdk.callback.IBtScanCallback;
-import com.zhixun.blesdk.hssdk.callback.IFileReceiverCallback;
-import com.zhixun.blesdk.hssdk.callback.IHSWearAPI;
-import com.zhixun.blesdk.hssdk.callback.ISendFileListener;
-import com.zhixun.blesdk.hssdk.callback.OnFindPhoneListener;
-import com.zhixun.blesdk.hssdk.callback.OnGetWeatherListener;
-import com.zhixun.blesdk.hssdk.callback.OnMsgSendCallBack;
-import com.zhixun.blesdk.hssdk.callback.OnTakePhotoListener;
-import com.zhixun.blesdk.hssdk.callback.OnTrainStateListener;
-import com.zhixun.blesdk.hssdk.callback.OnUnBondDeviceCallBack;
-import com.zhixun.blesdk.hssdk.entity.E4MsgBody;
-import com.zhixun.blesdk.hssdk.entity.MsgResponse;
-import com.zhixun.blesdk.hssdk.entity.OTAInfo;
-import com.zhixun.blesdk.hssdk.entity.E3MsgBody;
-import com.zhixun.blesdk.hssdk.entity.file.HsEpoInfo;
-import com.zhixun.blesdk.hssdk.entity.HsNotifyParams;
-import com.zhixun.blesdk.hssdk.entity.HsWearDevice;
-import com.zhixun.blesdk.hssdk.entity.MsgBody;
-import com.zhixun.blesdk.hssdk.entity.file.HsMarketDialSum;
-import com.zhixun.blesdk.hssdk.util.JsonUtils;
-import com.zhixun.blesdk.hssdk.util.SobLog;
+import com.zhixun.blesdk.hssdk.file.filecallback.BtMsgCallback;
+import com.zhixun.blesdk.hssdk.file.filecallback.IBtReceiverCallback;
+import com.zhixun.blesdk.hssdk.file.filecallback.IHSWearAPI;
+import com.zhixun.blesdk.hssdk.file.filecallback.ISendFileListener;
+import com.zhixun.blesdk.hssdk.file.entity.OTAInfo;
+import com.zhixun.blesdk.hssdk.file.entity.HsMarketDialSum;
+import com.zhixun.blesdk.hssdk.file.entity.HsMp3Info;
 import com.zhixun.blesdk.hssdk.util.SpUtils;
 
 import java.util.List;
 
-public class HsApiKit implements IHSWearAPI {
+public class HsApiKit implements IHSWearAPI, IBtReceiverCallback {
 
     private Context mContext;
     private final int TYPE_DELECT_DIAL = 6913;
 
-    @Override
-    public void AIinit(Context context) {
-        AiManage.getInstance().init(context);
-    }
-
     @Override
     public void init(Context context) {
         mContext = context;
@@ -58,249 +29,38 @@ public class HsApiKit implements IHSWearAPI {
         FileHandler.getInstance().init();
         FileHandlerE6.getInstance().init();
     }
-    @Override
-    public void release() {
-
-        FileHandler.getInstance().cancle(2);
-        FileHandler.getInstance().closeReceiver();
-        BleHandle.getInstance().stopScan();
-        BleMsgSendHandler.getInstance().clear();
-        BleMsgReceiverHandler.getInstance().clear();
-        AiManage.getInstance().clear();
-    }
-    @Override
-    public void setWearDevice(HsWearDevice hsWearDevice) {
-
-    }
-
-    @Override
-    public void startScan() {
-        BleHandle.getInstance().startScan();
-    }
-
-    @Override
-    public void setScanCallback(IBtScanCallback scanCallback) {
-        BleHandle.getInstance().setScancallback(scanCallback);
-    }
-
-    @Override
-    public void stopScan() {
-        BleHandle.getInstance().stopScan();
-    }
-
-    @Override
-    public HsWearDevice getWearDevice() {
-        return BleHandle.getInstance().mBleConnectDevice;
-    }
-
-    @Override
-    public HsWearDevice getLastDevice() {
-        HsWearDevice wearDevice = JsonUtils.stringToObject(SpUtils.getInstance().getStringValue(SpUtils.KEY_LAST_DEVICE),HsWearDevice.class);
-
-        return wearDevice;
-    }
-
-    @Override
-    public void reConnectDevice() {
-        HsWearDevice wearDevice = getLastDevice();
-        connect(wearDevice);
-        //文字"喂喂喂,写一首李白",语音文件大小47736
-        //12.562 --->15.252--->15.605--->15.649--->16.785----->17.277==总计4.7s
-        //开始接收--->接收结束--->转换结束--->数据发送结束->asr结束--->chat返回
-    }
-
-    @Override
-    public void clearLastDevice() {
-        SpUtils.getInstance().saveValue(SpUtils.KEY_LAST_DEVICE,"");
-    }
-
-    @Override
-    public void setLanguageMode(int mode, OnMsgSendCallBack callBack) {
-        E3MsgBody body = new E3MsgBody(MsgBody.TYPE_SWITCH_LANGUAGE);
-        body.setData(ByteTools.little_intToByte(mode,1));//0:英语 1:中文
-        sendMessage(body,callBack);
-    }
-
-    @Override
-    public void setUnitMode(int mode, OnMsgSendCallBack callBack) {
-        E3MsgBody body = new E3MsgBody(MsgBody.TYPE_SWITCH_UNIT_MODE);
-        body.setData(ByteTools.little_intToByte(mode,1));//0:公制 1:英制
-        sendMessage(body,callBack);
-    }
-
-    @Override
-    public void sendMessage(MsgBody body, OnMsgSendCallBack callBack) {
-        BleMsgSendHandler.getInstance().sendMsg(body,callBack);
-    }
-
-    @Override
-    public boolean isConnected() {
-        return BleHandle.getInstance().isConnected;
-    }
-
-    @Override
-    public boolean isConnecting() {
-        return BleHandle.getInstance().isConnecting;
-    }
 
     @Override
-    public void connect(HsWearDevice hsWearDevice) {
-        BleHandle.getInstance().connectDevice(hsWearDevice);
+    public void setBtMsgCallback(BtMsgCallback callback) {
+        callback.setReceivedCallBack(this);
+        BleMsgSendHandler.getInstance().setMsgSender(callback);
+        FileHandlerE6.getInstance().setMsgSender(callback);
     }
 
     @Override
-    public void unBondDevice() {
-        E3MsgBody msgBody = new E3MsgBody(MsgBody.TYPE_UNBIND_WATCH);
-        BleMsgSendHandler.getInstance().sendMsg(msgBody,null);
-        SpUtils.getInstance().saveValue(SpUtils.KEY_LAST_DEVICE,"");
-    }
-
-    @Override
-    public boolean isUnBonding() {
-        return false;
-    }
-
-    @Override
-    public void disconnect() {
-        SobLog.d("HsApiKit","---disconnect---");
-        BleHandle.getInstance().disconnectDevice();
-    }
-
-
-    @Override
-    public void setOnWearConnectCallBack(BtVtransferCallback callback) {
-        BleHandle.getInstance().setConnectCallBack(callback);
-    }
-
-    @Override
-    public void sendNotifyMsg(HsNotifyParams params, OnMsgSendCallBack callBack) {
-        MsgBody body = new MsgBody();
-        body.setChannel(MsgBody.CHANNEL_E1);
-        body.setType(MsgBody.TYPE_NOTIFYMSG);
-        body.setData(new Gson().toJson(params).getBytes());
-        BleMsgSendHandler.getInstance().sendMsg(body,callBack);
-    }
-
-    @Override
-    public void removeNotifyMsg(int uid, OnMsgSendCallBack callBack) {
-        MsgBody body = new MsgBody();
-        body.setChannel(MsgBody.CHANNEL_E1);
-        body.setType(MsgBody.TYPE_REMOVE_NOTIFYMSG);
-        body.setData(String.valueOf(uid).getBytes());
-        BleMsgSendHandler.getInstance().sendMsg(body,callBack);
-    }
-
-    @Override
-    public void sendEpoFile(HsEpoInfo epoInfo, OnMsgSendCallBack callBack) {
-
-    }
-
-    @Override
-    public void sendMusicFile(String filePath, OnMsgSendCallBack callBack) {
-
-    }
-
-    @Override
-    public void setFindPhoneListener(OnFindPhoneListener onFindPhoneListener) {
-        BleMsgReceiverHandler.getInstance().setOnFindPhoneListener(onFindPhoneListener);
-    }
-
-    @Override
-    public void delectDeviceDial(int uid, OnMsgSendCallBack callBack) {
-        E3MsgBody body = new E3MsgBody(TYPE_DELECT_DIAL);
-        body.setData(ByteTools.little_intToByte(uid,2));//0:公制 1:英制
-        sendMessage(body,callBack);
-    }
-
-    @Override
-    public void setOnUnBondDeviceCallBack(OnUnBondDeviceCallBack onUnBondDeviceCallBack) {
-        BleMsgReceiverHandler.getInstance().setOnUnBondDeviceCallBack(onUnBondDeviceCallBack);
-    }
-
-    @Override
-    public void setOnTrainingListener(OnTrainStateListener onTrainStateListener) {
-        BleMsgReceiverHandler.getInstance().setOnTrainStateListener(onTrainStateListener);
-    }
-
-    @Override
-    public void setTakePhotoListener(OnTakePhotoListener onTakePhotoListener) {
-        BleMsgReceiverHandler.getInstance().setTakePhotoListener(onTakePhotoListener);
-    }
-
-    @Override
-    public void setOnGetWeatherListener(OnGetWeatherListener onGetWeatherListener) {
-        BleMsgReceiverHandler.getInstance().setOnGetWeatherListener(onGetWeatherListener);
-    }
-
-    @Override
-    public void startOTA(String path,OTAInfo otaInfo, ISendFileListener sendFileListener) {
-        if(FileHandler.getInstance().isFileSendStart||FileHandler.getInstance().isReceiverStart
-            ||FileHandlerE6.getInstance().isFileSendStart){
-            if(sendFileListener!=null){
-                sendFileListener.onStateChange(ISendFileListener.STATE_FAIL,"有文件正在传输");
-            }
-            return;
-        }
-        if(HsAgentSdk.getInstance().getFileCannel()==0){
-            FileHandler.getInstance().setSendFileListener(sendFileListener);
-            FileHandler.getInstance().startOta(path,otaInfo);
-        }else {
-            FileHandlerE6.getInstance().setSendFileListener(sendFileListener);
-            FileHandlerE6.getInstance().startOta(path,otaInfo);
-        }
-
-    }
-
-    @Override
-    public void cancleFileSend(int type, OnMsgSendCallBack callBack) {
-//        if(!FileHandler.getInstance().isFileSendStart)return;
-        E3MsgBody msgBody = new E3MsgBody(MsgBody.TYPE_CANCLE_SEND_FILE);
-        msgBody.setData(ByteTools.little_intToByte(type,1));
-        sendMessage(msgBody,callBack);
+    public void startOta(String path, OTAInfo otaInfo, ISendFileListener sendFileListener) {
+        if(FileHandlerE6.getInstance().isFileSendStart)return;
+        FileHandlerE6.getInstance().startOta(path,otaInfo);
+        FileHandlerE6.getInstance().setSendFileListener(sendFileListener);
     }
 
     @Override
     public void installMarketDial(HsMarketDialSum dialSum, List<String> files, ISendFileListener sendFileListener) {
-        if(FileHandler.getInstance().isFileSendStart||FileHandler.getInstance().isReceiverStart){
-            if(sendFileListener!=null){
-                sendFileListener.onStateChange(ISendFileListener.STATE_FAIL,"有文件正在传输");
-            }
-            return;
-        }
-        FileHandler.getInstance().setSendFileListener(sendFileListener);
-        FileHandler.getInstance().installMarketDial(dialSum,files);
-    }
-
-    @Override
-    public void isInstallDial(int uid, OnMsgSendCallBack callBack) {
-        E4MsgBody msgBody = new E4MsgBody(MsgBody.TYPE_CHECK_DIAL);
-        msgBody.setData(ByteTools.little_intToByte(uid,2));
-        sendMessage(msgBody,callBack);
+        if(FileHandlerE6.getInstance().isFileSendStart)return;
+        FileHandlerE6.getInstance().installMarketDial(dialSum,files);
+        FileHandlerE6.getInstance().setSendFileListener(sendFileListener);
     }
 
     @Override
-    public void deleteDial(int uid, OnMsgSendCallBack callBack) {
-        E3MsgBody msgBody = new E3MsgBody(MsgBody.TYPE_DELETE_DIAL);
-        msgBody.setData(ByteTools.little_intToByte(uid,2));
-        sendMessage(msgBody,callBack);
+    public void sendMp3(String path, HsMp3Info mp3Info, ISendFileListener sendFileListener) {
+        if(FileHandlerE6.getInstance().isFileSendStart)return;
+        FileHandlerE6.getInstance().sendMp3(path,mp3Info);
+        FileHandlerE6.getInstance().setSendFileListener(sendFileListener);
     }
 
-    @Override
-    public void picCompress(Bitmap bitmap, IPicCompressCallback picCompressCallback) {
-        PolymerizeAgent.getInstance().getAiAPI().picCompress(bitmap,picCompressCallback);
-    }
 
     @Override
-    public void getDeviceLog(IFileReceiverCallback iFileReceiverCallback) {
-        if(FileHandler.getInstance().isFileSendStart||FileHandler.getInstance().isReceiverStart){
-            if(iFileReceiverCallback!=null){
-                iFileReceiverCallback.onFileSendStateChange(IFileReceiverCallback.RECEIVERFAIL,"有文件正在传输");
-            }
-            return;
-        }
-        FileHandler.getInstance().getDeviceLog(iFileReceiverCallback);
+    public void onReceicerData(byte[] datas) {
+        BleMsgReceiverHandler.getInstance().receiverData(datas);
     }
-
-
-
 }
index 853e338..73b3c4e 100644 (file)
@@ -1,8 +1,7 @@
 package com.zhixun.blesdk.hssdk.data;
 
 
-import static com.zhixun.blesdk.hssdk.data.AiManage.TYPE_GET_WEAR_AUDIO;
-import static com.zhixun.blesdk.hssdk.data.AiManage.TYPE_SEND_AI_RESULT;
+
 
 import android.os.Handler;
 import android.os.Looper;
@@ -13,9 +12,6 @@ import androidx.annotation.NonNull;
 
 import com.google.gson.Gson;
 
-import com.zhixun.android.sdk.polysdk.PolymerizeAgent;
-import com.zhixun.android.sdk.polysdk.callback.IAIChannelChangeCallback;
-import com.zhixun.blesdk.hssdk.HsAgentSdk;
 import com.zhixun.blesdk.hssdk.bttools.BleHandle;
 import com.zhixun.blesdk.hssdk.callback.BtVtransferCallback;
 import com.zhixun.blesdk.hssdk.bttools.ByteTools;
@@ -27,7 +23,6 @@ import com.zhixun.blesdk.hssdk.callback.OnTrainStateListener;
 import com.zhixun.blesdk.hssdk.callback.OnUnBondDeviceCallBack;
 import com.zhixun.blesdk.hssdk.entity.AppTime;
 import com.zhixun.blesdk.hssdk.data.bean.ReceiverData;
-import com.zhixun.blesdk.hssdk.entity.E3MsgBody;
 import com.zhixun.blesdk.hssdk.entity.E4MsgBody;
 import com.zhixun.blesdk.hssdk.entity.HsLogInfo;
 import com.zhixun.blesdk.hssdk.entity.HsO2Value;
@@ -45,7 +40,7 @@ import com.zhixun.blesdk.hssdk.entity.HsSportValue;
 import com.zhixun.blesdk.hssdk.entity.HsStepTargetValue;
 import com.zhixun.blesdk.hssdk.entity.HsTrainValue;
 import com.zhixun.blesdk.hssdk.entity.HsValueItem;
-import com.zhixun.blesdk.hssdk.entity.MsgBody;
+import com.zhixun.blesdk.hssdk.file.entity.MsgBody;
 import com.zhixun.blesdk.hssdk.entity.MsgResponse;
 import com.zhixun.blesdk.hssdk.util.BleDataUtil;
 import com.zhixun.blesdk.hssdk.util.JsonUtils;
@@ -264,6 +259,7 @@ public class ReceiverLooperThread extends Thread {
                             case TYPE_FILE_RECEIVER_OVER:
                                 int file_state = ByteTools.little_bytesToInt(content);
                                 SobLog.d(TAG, "file_state--" + file_state);
+
                                 FileHandler.getInstance().setSendState(file_state);
                                 break;
                             case TYPE_FILE_SENDED:
@@ -451,7 +447,7 @@ public class ReceiverLooperThread extends Thread {
                             case TYPE_RECEIVER_LOG:
                                 FileHandler.getInstance().addLogContent(content);
                                 break;
-                            case TYPE_AI_READY:
+                           /* case TYPE_AI_READY:
                                 E3MsgBody msgBody = new E3MsgBody(TYPE_AI_READY);
                                 msgBody.setData(ByteTools.little_intToByte(1, 1));
                                 BleMsgSendHandler.getInstance().sendMsg(msgBody, null);
@@ -464,7 +460,7 @@ public class ReceiverLooperThread extends Thread {
                             case TYPE_GET_WEAR_AUDIO:
                                 AiManage.getInstance().setAllLenth(revData.getDataLen());
                                 response.setBody(content);
-                                break;
+                                break;*/
                             case MsgBody.TYPE_GET_NOW_DIALID:
                                 int nowId = ByteTools.little_bytesToInt(content);
                                 SobLog.d(TAG, "TYPE_GET_NOW_DIALID--" + nowId);
@@ -505,7 +501,7 @@ public class ReceiverLooperThread extends Thread {
                                 SobLog.d(TAG, "TYPE_GET_SLEEP_REMINDER--" + new Gson().toJson(sleepSetting));
                                 response.setBody(sleepSetting);
                                 break;
-                            case TYPE_AI_CHECK_USERD:
+                            /*case TYPE_AI_CHECK_USERD:
                                 int checkChannel = ByteTools.little_bytesToInt(content);
                                 SobLog.d(TAG, "TYPE_AI_CHECK_USERD--" + checkChannel);
                                 IAIChannelChangeCallback callback = new IAIChannelChangeCallback() {
@@ -539,21 +535,21 @@ public class ReceiverLooperThread extends Thread {
                                     PolymerizeAgent.getInstance().getAuthenAPI().setAIChannelKey("xunfei", "", callback);
                                 }
 
-                                break;
+                                break;*/
                         }
                         if (callBackMap.containsKey(revData.getType()) && response.getBody() != null) {
                             callBackMap.get(revData.getType()).onResponse(response);
                         }
                         break;
 
-                    case MSG_AUDIO_TIMEOUT:
+                    /*case MSG_AUDIO_TIMEOUT:
                         SobLog.d(TAG, "MSG_AUDIO_TIMEOUT--");
                         E4MsgBody msgBody = new E4MsgBody(TYPE_SEND_AI_RESULT);
                         msgBody.setAiValue(E4MsgBody.TYPE_AI_REQ_TRANS, "音频接收超时");
                         BleMsgSendHandler.getInstance().sendMsg(msgBody, null);
                         AiManage.getInstance().clear();
                         BleMsgReceiverHandler.getInstance().audioTimeOut();
-                        break;
+                        break;*/
 
                 }
             }
index 77a9765..9396453 100644 (file)
@@ -1,8 +1,9 @@
 package com.zhixun.blesdk.hssdk.entity;
 
 import com.zhixun.blesdk.hssdk.bttools.ByteTools;
+import com.zhixun.blesdk.hssdk.file.entity.MsgBody;
 
-public class E3MsgBody extends MsgBody{
+public class E3MsgBody extends MsgBody {
     private int day;
     private boolean findWatch;
     private int trainType;
index f83c9f4..5daa941 100644 (file)
@@ -5,13 +5,27 @@ import android.util.Log;
 
 import com.google.gson.Gson;
 import com.zhixun.blesdk.hssdk.bttools.ByteTools;
+import com.zhixun.blesdk.hssdk.entity.HsAlramData;
+import com.zhixun.blesdk.hssdk.entity.HsContact;
+import com.zhixun.blesdk.hssdk.entity.HsHeartRateValue;
+import com.zhixun.blesdk.hssdk.entity.HsO2Value;
+import com.zhixun.blesdk.hssdk.entity.HsOtherValue;
+import com.zhixun.blesdk.hssdk.entity.HsPhoneNumber;
+import com.zhixun.blesdk.hssdk.entity.HsSettingValue;
+import com.zhixun.blesdk.hssdk.entity.HsSleepSetting;
+import com.zhixun.blesdk.hssdk.entity.HsStepTargetValue;
+import com.zhixun.blesdk.hssdk.entity.HsTrainTarget;
+import com.zhixun.blesdk.hssdk.entity.HsUserInfo;
+import com.zhixun.blesdk.hssdk.entity.HsWaterRemind;
+import com.zhixun.blesdk.hssdk.entity.PhoneInfo;
 import com.zhixun.blesdk.hssdk.entity.weather.HsWeatherData;
+import com.zhixun.blesdk.hssdk.file.entity.MsgBody;
 import com.zhixun.blesdk.hssdk.util.SobLog;
 
 import java.util.HashMap;
 import java.util.List;
 
-public class E4MsgBody extends MsgBody{
+public class E4MsgBody extends MsgBody {
     private PhoneInfo phoneInfo;
     private HsUserInfo userInfo;
     private HsTrainTarget trainTarget;
diff --git a/hssdk/src/main/java/com/zhixun/blesdk/hssdk/file/filecallback/BtMsgCallback.java b/hssdk/src/main/java/com/zhixun/blesdk/hssdk/file/filecallback/BtMsgCallback.java
new file mode 100644 (file)
index 0000000..326fb15
--- /dev/null
@@ -0,0 +1,18 @@
+package com.zhixun.blesdk.hssdk.file.filecallback;
+
+import com.zhixun.blesdk.hssdk.file.filecallback.IBtReceiverCallback;
+
+public interface BtMsgCallback {
+
+    /**
+     * 蓝牙接收到的数据
+     * @param callback
+     */
+     void setReceivedCallBack(IBtReceiverCallback callback);
+
+    /**
+     * 需要发送给蓝牙的数据
+     * @param data
+     */
+      void toSend(byte[] data);
+}
diff --git a/hssdk/src/main/java/com/zhixun/blesdk/hssdk/file/filecallback/IBtReceiverCallback.java b/hssdk/src/main/java/com/zhixun/blesdk/hssdk/file/filecallback/IBtReceiverCallback.java
new file mode 100644 (file)
index 0000000..bebcdf3
--- /dev/null
@@ -0,0 +1,11 @@
+package com.zhixun.blesdk.hssdk.file.filecallback;
+
+public interface IBtReceiverCallback {
+
+    /**
+     * 收到蓝牙数据回传给sdk处理
+     * @param datas
+     */
+    void onReceicerData(byte[] datas);
+
+}
diff --git a/hssdk/src/main/java/com/zhixun/blesdk/hssdk/file/filecallback/IHSWearAPI.java b/hssdk/src/main/java/com/zhixun/blesdk/hssdk/file/filecallback/IHSWearAPI.java
new file mode 100644 (file)
index 0000000..4e8f7f9
--- /dev/null
@@ -0,0 +1,22 @@
+package com.zhixun.blesdk.hssdk.file.filecallback;
+
+import android.content.Context;
+
+import com.zhixun.blesdk.hssdk.file.entity.OTAInfo;
+import com.zhixun.blesdk.hssdk.file.entity.HsMarketDialSum;
+import com.zhixun.blesdk.hssdk.file.entity.HsMp3Info;
+
+import java.util.List;
+
+public interface IHSWearAPI {
+
+    void init(Context var1);
+
+    void setBtMsgCallback(BtMsgCallback callback);
+
+    void startOta(String path, OTAInfo otaInfo, ISendFileListener sendFileListener);
+
+    void installMarketDial(HsMarketDialSum dialSum, List<String> files,ISendFileListener sendFileListener);
+
+    void sendMp3(String path,HsMp3Info mp3Info, ISendFileListener sendFileListener);
+}
index 65f1df2..a7a1b06 100644 (file)
@@ -1,6 +1,6 @@
 package com.zhixun.blesdk.hssdk.util;
 
-import com.zhixun.blesdk.hssdk.entity.MsgBody;
+import com.zhixun.blesdk.hssdk.file.entity.MsgBody;
 
 import java.util.UUID;
 
index 6e2a6c2..bba7c96 100644 (file)
@@ -3,8 +3,6 @@ package com.zhixun.blesdk.hssdk.util;
 import android.text.TextUtils;
 import android.util.Log;
 
-import com.zhixun.blesdk.hssdk.HsAgentSdk;
-
 import java.io.File;
 import java.io.FileWriter;
 import java.io.IOException;