From: xiewei <892331662@qq.com>
Date: Fri, 18 Oct 2024 03:13:17 +0000 (+0800)
Subject: 241018:文件传输单独拎出来
X-Git-Url: http://git.snicker.com.cn/sitemap.xml?a=commitdiff_plain;h=refs%2Fheads%2Fble_tool;p=mirrors%2Fhs-sdk.git
241018:文件传输单独拎出来
---
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 53ab160..3990b05 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -31,9 +31,9 @@
-
+ android:exported="false" />-->
diff --git a/app/src/main/java/com/zhixun/blesdk/debug_tool/utils/FuncationChosePopupWindow.java b/app/src/main/java/com/zhixun/blesdk/debug_tool/utils/FuncationChosePopupWindow.java
index 1550e12..2814fb8 100644
--- a/app/src/main/java/com/zhixun/blesdk/debug_tool/utils/FuncationChosePopupWindow.java
+++ b/app/src/main/java/com/zhixun/blesdk/debug_tool/utils/FuncationChosePopupWindow.java
@@ -502,19 +502,7 @@ public class FuncationChosePopupWindow extends PopupWindow {
});*/
break;
case 43:
- HsAgentSdk.getInstance().getAPI().cancleFileSend(1, new OnMsgSendCallBack() {
- @Override
- public void onResponse(MsgResponse msgResponse) {
- if(onResultListener!=null){
- onResultListener.OnResult(data.get(position)+": "+msgResponse.getBody());
- }
- }
-
- @Override
- public void onFailure(int code, String msg) {
-
- }
- });
+ HsAgentSdk.getInstance().getAPI().cancleFileSend(1);
break;
case 44:
msgBody = new E3MsgBody(MsgBody.TYPE_GET_SAO2);
diff --git a/hssdk/build.gradle b/hssdk/build.gradle
index 3d3d072..74c3e9a 100644
--- a/hssdk/build.gradle
+++ b/hssdk/build.gradle
@@ -45,8 +45,10 @@ 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.5-240809.jar')
+
+ implementation files('libs\\Poly-SDK-v1.6-241016.jar')
+ implementation files('libs\\HS-FILE-SDK-v0.1-241015.jar')
+
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.5'
diff --git a/hssdk/libs/HS-FILE-SDK-v0.1-241015.jar b/hssdk/libs/HS-FILE-SDK-v0.1-241015.jar
new file mode 100644
index 0000000..c3ea0be
Binary files /dev/null and b/hssdk/libs/HS-FILE-SDK-v0.1-241015.jar differ
diff --git a/hssdk/libs/Poly-SDK-v1.6-241016.jar b/hssdk/libs/Poly-SDK-v1.6-241016.jar
new file mode 100644
index 0000000..9632876
Binary files /dev/null and b/hssdk/libs/Poly-SDK-v1.6-241016.jar differ
diff --git a/hssdk/src/main/java/com/zhixun/blesdk/hssdk/HsAgentSdk.java b/hssdk/src/main/java/com/zhixun/blesdk/hssdk/HsAgentSdk.java
index de5233c..133edce 100644
--- a/hssdk/src/main/java/com/zhixun/blesdk/hssdk/HsAgentSdk.java
+++ b/hssdk/src/main/java/com/zhixun/blesdk/hssdk/HsAgentSdk.java
@@ -68,6 +68,7 @@ public class HsAgentSdk{
SobLog.isCloseLog = !isDebug;
SobLog.saveLog = saveLog;
wearAPI.init(context);
+ HsFileAgentSdk.getInstance().init(context,isDebug,saveLog);
}
public int getFileCannel() {
diff --git a/hssdk/src/main/java/com/zhixun/blesdk/hssdk/bttools/BleHandle.java b/hssdk/src/main/java/com/zhixun/blesdk/hssdk/bttools/BleHandle.java
index 0ef895f..a295c2a 100644
--- a/hssdk/src/main/java/com/zhixun/blesdk/hssdk/bttools/BleHandle.java
+++ b/hssdk/src/main/java/com/zhixun/blesdk/hssdk/bttools/BleHandle.java
@@ -3,18 +3,16 @@ 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;
import android.bluetooth.BluetoothGatt;
import android.bluetooth.BluetoothGattCallback;
import android.bluetooth.BluetoothGattCharacteristic;
+import android.bluetooth.BluetoothGattServerCallback;
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 +23,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,7 +30,6 @@ 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;
@@ -41,26 +37,26 @@ import androidx.core.content.ContextCompat;
import com.google.gson.Gson;
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.ISendFileListener;
import com.zhixun.blesdk.hssdk.callback.OnMsgSendCallBack;
+import com.zhixun.blesdk.hssdk.data.AiManage;
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.entity.MsgResponse;
import com.zhixun.blesdk.hssdk.entity.PhoneInfo;
+import com.zhixun.blesdk.hssdk.file.filecallback.BtMsgCallback;
+import com.zhixun.blesdk.hssdk.file.filecallback.IBtReceiverCallback;
import com.zhixun.blesdk.hssdk.util.BleDataUtil;
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;
@@ -108,6 +104,7 @@ public class BleHandle {
return sInstance;
}
+ private IBtReceiverCallback receiverCallback;
public void init(Context context) {
Log.e(TAG, "Bluetooth Handle Start");
@@ -134,7 +131,24 @@ public class BleHandle {
// æå¼èç
openBle();
initScanCallback();
+ HsFileAgentSdk.getInstance().getAPI().setBtMsgCallback(new BtMsgCallback() {
+ @Override
+ public void setReceivedCallBack(IBtReceiverCallback iBtReceiverCallback) {
+ receiverCallback = iBtReceiverCallback;
+ }
+
+ @Override
+ public void toSend(byte[] bytes) {
+ deviceWrite(bytes, MsgBody.CHANNEL_E6);
+ }
+ });
+
+ if (ActivityCompat.checkSelfPermission(context, Manifest.permission.BLUETOOTH_CONNECT) != PackageManager.PERMISSION_GRANTED) {
+ return;
+ }
+ /*bluetoothManager.openGattServer(context, new BluetoothGattServerCallback() {
+ });*/
}
@@ -340,6 +354,7 @@ public class BleHandle {
}
refreshDeviceCache();
HsAgentSdk.getInstance().getAPI().release();
+
// mBleConnectDevice = null;
}
}
@@ -354,9 +369,11 @@ public class BleHandle {
mBluetoothGatt.requestConnectionPriority(BluetoothGatt.CONNECTION_PRIORITY_HIGH);
}
BleMsgSendHandler.getInstance().setMtu(mtu);
+ HsFileAgentSdk.getInstance().getAPI().setMtu(mtu);
}
}
+
@Override
public void onServicesDiscovered(BluetoothGatt gatt, int status) {
// super.onServicesDiscovered(gatt, status);
@@ -378,7 +395,6 @@ public class BleHandle {
public void onCharacteristicWrite(BluetoothGatt gatt, BluetoothGattCharacteristic characteristic, int status) {
SobLog.d(TAG, "onCharacteristicWrite--" + status + "--");
-
}
@Override
@@ -414,6 +430,8 @@ public class BleHandle {
(value.length > 100 ? value.length : ByteTools.byteArrToHex(value)));
if (BleUuidUtil.getInstance().getNotifyUUID().toString().equals(characteristic.getUuid().toString())) {
BleMsgReceiverHandler.getInstance().receiverData(value);
+ }else if (BleUuidUtil.getInstance().getFileNotifyUUID().toString().equals(characteristic.getUuid().toString())) {
+ receiverCallback.onReceicerData(value);
}
}
@@ -523,8 +541,6 @@ public class BleHandle {
}
public void creatBond(){
-
-
BluetoothDevice bluetoothDevice = mBluetoothAdapter.getRemoteDevice(mBleConnectDevice.getAddress());
//å¾å°é
对ç设å¤åè¡¨ï¼æ¸
é¤å·²é
对ç设å¤
removePairDevice();
@@ -697,6 +713,9 @@ public class BleHandle {
BluetoothGattCharacteristic characteristic2 = service.getCharacteristic(BleUuidUtil.getInstance().getReadUUID());//对åºserver端çsetCharacteristicæ¹æ³
mBluetoothGatt.setCharacteristicNotification(characteristic2, true);
+
+ BluetoothGattCharacteristic characteristic3 = service.getCharacteristic(BleUuidUtil.getInstance().getFileNotifyUUID());//对åºserver端çsetCharacteristicæ¹æ³
+ mBluetoothGatt.setCharacteristicNotification(characteristic3, true);
}
public void deviceWrite(byte[] msg, int type) {
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
index 4019fd3..56d77cf 100644
--- a/hssdk/src/main/java/com/zhixun/blesdk/hssdk/callback/IHSWearAPI.java
+++ b/hssdk/src/main/java/com/zhixun/blesdk/hssdk/callback/IHSWearAPI.java
@@ -4,12 +4,14 @@ 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.HsEpoInfo;
import com.zhixun.blesdk.hssdk.entity.file.HsMarketDialSum;
+import com.zhixun.blesdk.hssdk.entity.file.HsMp3Info;
+import com.zhixun.blesdk.hssdk.entity.OTAInfo;
+
import java.util.List;
@@ -60,7 +62,7 @@ public interface IHSWearAPI {
void removeNotifyMsg(int uid, OnMsgSendCallBack callBack);
void sendEpoFile(HsEpoInfo epoInfo, OnMsgSendCallBack callBack);
- void sendMusicFile(String filePath, OnMsgSendCallBack callBack);
+ void sendMusicFile(String filePath, HsMp3Info mp3Info, ISendFileListener callBack);
void setFindPhoneListener(OnFindPhoneListener onFindPhoneListener);
//void addReceiveCallback(OnReceiveCallback var1);
@@ -79,7 +81,7 @@ public interface IHSWearAPI {
void setTakePhotoListener(OnTakePhotoListener onTakePhotoListener);
void setOnGetWeatherListener(OnGetWeatherListener onGetWeatherListener);
- void startOTA(String path,OTAInfo otaInfo,ISendFileListener sendFileListener);
+ void startOTA(String path, OTAInfo otaInfo, ISendFileListener sendFileListener);
/**
* 1ï¼OTA
@@ -88,7 +90,7 @@ public interface IHSWearAPI {
* @param type
* @param callBack
*/
- void cancleFileSend(int type, OnMsgSendCallBack callBack);
+ void cancleFileSend(int type);
void installMarketDial(HsMarketDialSum dialSum, List files, ISendFileListener sendFileListener);
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
index cede167..9b5978a 100644
--- a/hssdk/src/main/java/com/zhixun/blesdk/hssdk/data/AiManage.java
+++ b/hssdk/src/main/java/com/zhixun/blesdk/hssdk/data/AiManage.java
@@ -64,7 +64,7 @@ public class AiManage {
private boolean isLogin = false;
private boolean isTransStart = false;
public void init(Context context){
- PolymerizeAgent.getInstance().init(context,true,true);
+ PolymerizeAgent.getInstance().init(context,true,true,false);
doLogin();
PolymerizeAgent.getInstance().getAiAPI().setOnTranscriptionDataChange(new OnTranscriptionDataChange() {
@Override
@@ -72,7 +72,6 @@ public class AiManage {
SobLog.i(TAG,"onStartChange--"+b);
isTransStart = b;
if(b){
-
sendAudio(audio);
}else {
receiverLenth = 0;
@@ -174,6 +173,7 @@ public class AiManage {
@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){
@@ -204,7 +204,7 @@ public class AiManage {
audio = (byte[]) msgResponse.getBody();
PolymerizeAgent.getInstance().getAiAPI().startTrans();
-// SobLog.d(TAG,"sendAudio--"+audio.length);
+ SobLog.d(TAG,"sendAudio--"+audio.length);
receiverLenth = receiverLenth+audio.length;
SobLog.d(TAG,receiverLenth+"/"+allLenth);
@@ -234,21 +234,25 @@ public class AiManage {
public void clear(){
if(isTransStart){
-
PolymerizeAgent.getInstance().getAiAPI().stopTrans();
}
allLenth = 0;
receiverLenth = 0;
+ audio = null;
+ }
+
+ public void release(){
+ PolymerizeAgent.getInstance().getAuthenAPI().release();
}
public void doLogin(){
String pwd = SpUtils.getInstance().getStringValue(SpUtils.KEY_AI_PWD);
if(TextUtils.isEmpty(pwd)){
- pwd = "CVOachlw1DO1Ei5uabOkHd1wRYoMQA";
+ pwd = "lHEBdxdqXdhMNdXqNIdcTlWVBcNwcd";
}
- PolymerizeAgent.getInstance().getAuthenAPI().authentication("281106AFB0F7"
- , pwd, "HHosiYUNdG42t1cTgKOzIUPOvAVMI2QT", new AuthCallback() {
+ PolymerizeAgent.getInstance().getAuthenAPI().authentication("28110687C456"
+ , pwd, "4EepovakpbqhZUnUDwH42KAADYGv4UUe", new AuthCallback() {
@Override
public void onSuccess(String result) {
isLogin = true;
diff --git a/hssdk/src/main/java/com/zhixun/blesdk/hssdk/data/FileHandler.java b/hssdk/src/main/java/com/zhixun/blesdk/hssdk/data/FileHandler.java
index 3722ba5..57820ad 100644
--- a/hssdk/src/main/java/com/zhixun/blesdk/hssdk/data/FileHandler.java
+++ b/hssdk/src/main/java/com/zhixun/blesdk/hssdk/data/FileHandler.java
@@ -15,13 +15,14 @@ import com.zhixun.blesdk.hssdk.callback.IFileReceiverCallback;
import com.zhixun.blesdk.hssdk.callback.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.MsgBody;
+import com.zhixun.blesdk.hssdk.entity.MsgResponse;
+
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.entity.MsgResponse;
+import com.zhixun.blesdk.hssdk.entity.file.OTAInfo;
import com.zhixun.blesdk.hssdk.util.SobLog;
import com.zhixun.blesdk.hssdk.util.SpUtils;
@@ -276,7 +277,7 @@ public class FileHandler {
private int fileType = 0;//1ota 2å¸åºè¡¨ç 3é³ä¹
- public void startOta(String path,OTAInfo otaInfo) {
+ public void startOta(String path, OTAInfo otaInfo) {
MsgBody msgBody = new MsgBody();
msgBody.setChannel(MsgBody.CHANNEL_E0);
diff --git a/hssdk/src/main/java/com/zhixun/blesdk/hssdk/data/FileHandlerE6.java b/hssdk/src/main/java/com/zhixun/blesdk/hssdk/data/FileHandlerE6.java
index d8d16a1..4dd6074 100644
--- a/hssdk/src/main/java/com/zhixun/blesdk/hssdk/data/FileHandlerE6.java
+++ b/hssdk/src/main/java/com/zhixun/blesdk/hssdk/data/FileHandlerE6.java
@@ -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;
@@ -11,26 +9,19 @@ 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.callback.OnMsgSendCallBack;
-import com.zhixun.blesdk.hssdk.entity.HsLogInfo;
import com.zhixun.blesdk.hssdk.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.entity.file.OTAInfo;
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;
@@ -166,7 +157,7 @@ public class FileHandlerE6 {
private int fileType = 0;//1ota 2å¸åºè¡¨ç 3é³ä¹
- public void startOta(String path,OTAInfo otaInfo) {
+ public void startOta(String path, OTAInfo otaInfo) {
MsgBody msgBody = new MsgBody();
msgBody.setChannel(MsgBody.CHANNEL_E6);
diff --git a/hssdk/src/main/java/com/zhixun/blesdk/hssdk/data/HsApiKit.java b/hssdk/src/main/java/com/zhixun/blesdk/hssdk/data/HsApiKit.java
index f039897..0feafd6 100644
--- a/hssdk/src/main/java/com/zhixun/blesdk/hssdk/data/HsApiKit.java
+++ b/hssdk/src/main/java/com/zhixun/blesdk/hssdk/data/HsApiKit.java
@@ -2,14 +2,11 @@ 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.HsFileAgentSdk;
import com.zhixun.blesdk.hssdk.bttools.BleHandle;
import com.zhixun.blesdk.hssdk.callback.BtVtransferCallback;
import com.zhixun.blesdk.hssdk.bttools.ByteTools;
@@ -24,14 +21,18 @@ 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.HsEpoInfo;
import com.zhixun.blesdk.hssdk.entity.file.HsMarketDialSum;
+import com.zhixun.blesdk.hssdk.entity.file.HsMp3Info;
+import com.zhixun.blesdk.hssdk.entity.OTAInfo;
+import com.zhixun.blesdk.hssdk.file.entity.HsE6MarketDialSum;
+import com.zhixun.blesdk.hssdk.file.entity.HsE6Mp3Info;
+import com.zhixun.blesdk.hssdk.file.entity.OTAE6Info;
+import com.zhixun.blesdk.hssdk.file.filecallback.IE6SendFileListener;
import com.zhixun.blesdk.hssdk.util.JsonUtils;
import com.zhixun.blesdk.hssdk.util.SobLog;
import com.zhixun.blesdk.hssdk.util.SpUtils;
@@ -56,17 +57,20 @@ public class HsApiKit implements IHSWearAPI {
BleMsgSendHandler.getInstance().init();
BleMsgReceiverHandler.getInstance().init();
FileHandler.getInstance().init();
- FileHandlerE6.getInstance().init();
+// FileHandlerE6.getInstance().init();
+
}
@Override
public void release() {
- FileHandler.getInstance().cancle(2);
+ //FileHandler.getInstance().cancle(2);
+ HsFileAgentSdk.getInstance().getAPI().release();
FileHandler.getInstance().closeReceiver();
BleHandle.getInstance().stopScan();
BleMsgSendHandler.getInstance().clear();
BleMsgReceiverHandler.getInstance().clear();
AiManage.getInstance().clear();
+ AiManage.getInstance().release();
}
@Override
public void setWearDevice(HsWearDevice hsWearDevice) {
@@ -196,8 +200,24 @@ public class HsApiKit implements IHSWearAPI {
}
@Override
- public void sendMusicFile(String filePath, OnMsgSendCallBack callBack) {
+ public void sendMusicFile(String filePath, HsMp3Info mp3Info, ISendFileListener callBack) {
+ HsE6Mp3Info e6Mp3Info = JsonUtils.stringToObject(new Gson().toJson(mp3Info),HsE6Mp3Info.class);
+ HsFileAgentSdk.getInstance().getAPI().sendMp3(filePath, e6Mp3Info, new IE6SendFileListener() {
+ @Override
+ public void onProgressChange(int i) {
+ if(callBack!=null){
+ callBack.onProgressChange(i);
+ }
+ }
+
+ @Override
+ public void onStateChange(int i, String s) {
+ if(callBack!=null){
+ callBack.onStateChange(i,s);
+ }
+ }
+ });
}
@Override
@@ -233,8 +253,8 @@ public class HsApiKit implements IHSWearAPI {
}
@Override
- public void startOTA(String path,OTAInfo otaInfo, ISendFileListener sendFileListener) {
- if(FileHandler.getInstance().isFileSendStart||FileHandler.getInstance().isReceiverStart
+ 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,"ææä»¶æ£å¨ä¼ è¾");
@@ -247,28 +267,52 @@ public class HsApiKit implements IHSWearAPI {
}else {
FileHandlerE6.getInstance().setSendFileListener(sendFileListener);
FileHandlerE6.getInstance().startOta(path,otaInfo);
- }
+ }*/
+ OTAE6Info otae6Info = JsonUtils.stringToObject(new Gson().toJson(otaInfo),OTAE6Info.class);
+ HsFileAgentSdk.getInstance().getAPI().startOta(path, otae6Info, new IE6SendFileListener() {
+ @Override
+ public void onProgressChange(int i) {
+ if(sendFileListener!=null){
+ sendFileListener.onProgressChange(i);
+ }
+ }
+ @Override
+ public void onStateChange(int i, String s) {
+ if(sendFileListener!=null){
+ sendFileListener.onStateChange(i,s);
+ }
+ }
+ });
}
@Override
- public void cancleFileSend(int type, OnMsgSendCallBack callBack) {
+ public void cancleFileSend(int type) {
// if(!FileHandler.getInstance().isFileSendStart)return;
- E3MsgBody msgBody = new E3MsgBody(MsgBody.TYPE_CANCLE_SEND_FILE);
- msgBody.setData(ByteTools.little_intToByte(type,1));
- sendMessage(msgBody,callBack);
+ HsFileAgentSdk.getInstance().getAPI().cancleFileSend(type);
}
@Override
public void installMarketDial(HsMarketDialSum dialSum, List files, ISendFileListener sendFileListener) {
- if(FileHandler.getInstance().isFileSendStart||FileHandler.getInstance().isReceiverStart){
- if(sendFileListener!=null){
- sendFileListener.onStateChange(ISendFileListener.STATE_FAIL,"ææä»¶æ£å¨ä¼ è¾");
+
+ /* FileHandler.getInstance().setSendFileListener(sendFileListener);
+ FileHandler.getInstance().installMarketDial(dialSum,files);*/
+ HsE6MarketDialSum e6MarketDialSum = JsonUtils.stringToObject(new Gson().toJson(dialSum),HsE6MarketDialSum.class);
+ HsFileAgentSdk.getInstance().getAPI().installMarketDial(e6MarketDialSum, files, new IE6SendFileListener() {
+ @Override
+ public void onProgressChange(int i) {
+ if(sendFileListener!=null){
+ sendFileListener.onProgressChange(i);
+ }
}
- return;
- }
- FileHandler.getInstance().setSendFileListener(sendFileListener);
- FileHandler.getInstance().installMarketDial(dialSum,files);
+
+ @Override
+ public void onStateChange(int i, String s) {
+ if(sendFileListener!=null){
+ sendFileListener.onStateChange(i,s);
+ }
+ }
+ });
}
@Override
diff --git a/hssdk/src/main/java/com/zhixun/blesdk/hssdk/data/ReceiverLooperThread.java b/hssdk/src/main/java/com/zhixun/blesdk/hssdk/data/ReceiverLooperThread.java
index 3694c3e..a3848ce 100644
--- a/hssdk/src/main/java/com/zhixun/blesdk/hssdk/data/ReceiverLooperThread.java
+++ b/hssdk/src/main/java/com/zhixun/blesdk/hssdk/data/ReceiverLooperThread.java
@@ -437,6 +437,7 @@ public class ReceiverLooperThread extends Thread {
}
break;
case MsgBody.TYPE_GET_EXCLOG:
+ SobLog.d(TAG, "TYPE_RECEIVER_LOG_INFO--" + ByteTools.byteArrToHex(content));
if (content.length == 1) {
int getlog_state = ByteTools.little_byteToInt(content[0]);
response.setBody(getlog_state);
@@ -609,6 +610,7 @@ public class ReceiverLooperThread extends Thread {
public void clear() {
callBackMap.clear();
if (mReceiverMsgHandle != null) mReceiverMsgHandle.removeMessages(MSG_RECEIVERDATA);
+
}
public void removeAudioTimeOut() {
diff --git a/hssdk/src/main/java/com/zhixun/blesdk/hssdk/entity/MsgBody.java b/hssdk/src/main/java/com/zhixun/blesdk/hssdk/entity/MsgBody.java
index 8f872b8..3886208 100644
--- a/hssdk/src/main/java/com/zhixun/blesdk/hssdk/entity/MsgBody.java
+++ b/hssdk/src/main/java/com/zhixun/blesdk/hssdk/entity/MsgBody.java
@@ -65,7 +65,7 @@ public class MsgBody implements Serializable {
public static final int TYPE_SWITCH_UNIT_MODE = 10241;
public static final int TYPE_SWITCH_LANGUAGE = 3585;
public static final int TYPE_END_DATA_SYNC = 11777;
- public static final int TYPE_CANCLE_SEND_FILE = 8193;
+ public static final int TYPE_CANCLE_SEND_FILE = 2822;
public static final int TYPE_SYNC_MP3 = 8452;
public static final int TYPE_SYNC_EPO = 10244;
public static final int TYPE_GET_WATCH_INFO = 769;
diff --git a/hssdk/src/main/java/com/zhixun/blesdk/hssdk/entity/file/HsCustomDialSum.java b/hssdk/src/main/java/com/zhixun/blesdk/hssdk/entity/file/HsCustomDialSum.java
index ddb8fa8..29d1ffe 100644
--- a/hssdk/src/main/java/com/zhixun/blesdk/hssdk/entity/file/HsCustomDialSum.java
+++ b/hssdk/src/main/java/com/zhixun/blesdk/hssdk/entity/file/HsCustomDialSum.java
@@ -1,6 +1,6 @@
package com.zhixun.blesdk.hssdk.entity.file;
-import java.io.Serializable;
+
public class HsCustomDialSum extends HsDialSum {
diff --git a/hssdk/src/main/java/com/zhixun/blesdk/hssdk/entity/file/HsMarketDialSum.java b/hssdk/src/main/java/com/zhixun/blesdk/hssdk/entity/file/HsMarketDialSum.java
index 4870b69..cbd1e4a 100644
--- a/hssdk/src/main/java/com/zhixun/blesdk/hssdk/entity/file/HsMarketDialSum.java
+++ b/hssdk/src/main/java/com/zhixun/blesdk/hssdk/entity/file/HsMarketDialSum.java
@@ -1,5 +1,6 @@
package com.zhixun.blesdk.hssdk.entity.file;
+
public class HsMarketDialSum extends HsDialSum {
private String topicName;
diff --git a/hssdk/src/main/java/com/zhixun/blesdk/hssdk/entity/file/HsMp3Info.java b/hssdk/src/main/java/com/zhixun/blesdk/hssdk/entity/file/HsMp3Info.java
index 08f2a00..12dc0ee 100644
--- a/hssdk/src/main/java/com/zhixun/blesdk/hssdk/entity/file/HsMp3Info.java
+++ b/hssdk/src/main/java/com/zhixun/blesdk/hssdk/entity/file/HsMp3Info.java
@@ -10,7 +10,7 @@ public class HsMp3Info {
private int type;
private String name;
- private int size;
+ private long size;
public int getType() {
return type;
@@ -28,11 +28,12 @@ public class HsMp3Info {
this.name = name;
}
- public int getSize() {
+ public long getSize() {
return size;
}
- public void setSize(int size) {
+ public void setSize(long size) {
this.size = size;
}
+
}
diff --git a/hssdk/src/main/java/com/zhixun/blesdk/hssdk/entity/file/MsgBody.java b/hssdk/src/main/java/com/zhixun/blesdk/hssdk/entity/file/MsgBody.java
new file mode 100644
index 0000000..3bd44a5
--- /dev/null
+++ b/hssdk/src/main/java/com/zhixun/blesdk/hssdk/entity/file/MsgBody.java
@@ -0,0 +1,156 @@
+package com.zhixun.blesdk.hssdk.entity.file;
+
+import java.io.Serializable;
+import java.util.Arrays;
+
+public class MsgBody implements Serializable {
+ public static final int TYPE_SET_USERINFO = 258;
+ public static final int TYPE_SWITCH_DIAL = 513;
+ public static final int TYPE_GET_BATTY = 1793;
+ public static final int TYPE_SET_TIME = 514;
+
+ public static final int TYPE_GET_SDCARD_STORAGE = 1281;
+ public static final int TYPE_GET_ALRAMS = 257;
+ public static final int TYPE_GET_HEART_RATE = 16385;
+ public static final int TYPE_GET_SAO2 = 16641;
+ public static final int TYPE_GET_STEP = 17153;
+ public static final int TYPE_GET_BURN_TIME = 17409;
+ public static final int TYPE_GET_STAND = 17665;
+ public static final int TYPE_GET_CALORIE = 17921;
+ public static final int TYPE_GET_DISTANCE = 18177;
+ public static final int TYPE_GET_TRIAN_RECORD = 18689;
+ public static final int TYPE_GET_ALLDIAL = 10753;
+ public static final int TYPE_FIND_WATCH = 1025;
+ public static final int TYPE_SET_TRAIN_TARGET = 1026;
+ public static final int TYPE_START_TRIAN = 2561;
+ public static final int TYPE_END_TRIAN = 2817;
+ public static final int TYPE_OPEN_TRAIN_AUTO_PUSH = 4353;
+ public static final int TYPE_SET_TRAIN_AUTO_FRE = 5121;
+ public static final int TYPE_GET_TRAINING_DATA = 3841;
+ public static final int TYPE_SET_TRAIN_HEART_RATE = 5377;
+ public static final int TYPE_PAUSE_RESUME_TRAIN = 5633;
+ public static final int TYPE_GET_WATCH_STATE = 6401;
+ public static final int TYPE_GET_SCREEN_SETTING = 6657;
+ public static final int TYPE_GET_SOUND_VIBRATE_SETTING = 7169;
+ public static final int TYPE_GET_HEART_RATE_SETTING = 7681;
+ public static final int TYPE_GET_O2_SETTING = 7937;
+ public static final int TYPE_OPEN_GESTURE_PHOTO = 8961;
+ public static final int TYPE_GET_DRINK_WATER = 9217;
+ public static final int TYPE_RESTORE_FACTORY = 9473;
+ public static final int TYPE_RESTART_WATCH = 9729;
+ public static final int TYPE_TURNOFF_WATCH = 9985;
+ public static final int TYPE_GET_STEP_TARGET = 11009;
+ public static final int TYPE_SET_STEP_TARGET = 5634;
+ public static final int TYPE_GET_OTHER_TARGET = 11265;
+ public static final int TYPE_SET_OTHER_TARGET = 5890;
+ public static final int TYPE_SYNC_WEATHER = 8194;
+ public static final int TYPE_SET_ALARMS = 8450;
+ public static final int TYPE_SET_CONTACTS = 2818;
+ public static final int TYPE_GET_GPS_POINTS = 20226;
+ public static final int TYPE_CHECK_DIAL = 3330;
+ public static final int TYPE_DELETE_DIAL = 6913;
+ public static final int TYPE_SET_SCREEN_SETTING = 3586;
+ public static final int TYPE_SET_SOUND_VIBRATE_SETTING = 3842;
+ public static final int TYPE_SET_HEART_RATE_SETTING = 4610;
+ public static final int TYPE_SET_O2_SETTING = 4866;
+ public static final int TYPE_SET_DRINK_WATER = 5122;
+ public static final int TYPE_SET_SLEEP_REMINDER = 5378;
+
+ public static final int TYPE_GET_SLEEP_REMINDER = 10497;
+ public static final int TYPE_DELETE_FILES = 8706;
+ public static final int TYPE_GET_FILE_DIRECTORY = 8449;
+ public static final int TYPE_GET_SLEEP = 19201;
+ public static final int TYPE_UNBIND_WATCH = 4097;
+ public static final int TYPE_CANCEL_UNBIND = 11521;
+ public static final int TYPE_SWITCH_UNIT_MODE = 10241;
+ public static final int TYPE_SWITCH_LANGUAGE = 3585;
+ public static final int TYPE_END_DATA_SYNC = 11777;
+ public static final int TYPE_CANCLE_SEND_FILE = 8193;
+ public static final int TYPE_SYNC_MP3 = 8452;
+ public static final int TYPE_SYNC_EPO = 10244;
+ public static final int TYPE_GET_WATCH_INFO = 769;
+ public static final int TYPE_NOTIFYMSG = 259;
+ public static final int TYPE_FINDPHONE_MSG = 261;
+ public static final int TYPE_REMOVE_NOTIFYMSG = 515;
+ public static final int TYPE_GET_EXCLOG = 9732;
+
+ public static final int TYPE_GET_NOW_DIALID = 5889;
+
+ public static final int TYPE_GET_DIR = 289;
+ public static int TRAIN_TYPE_WALKING = 0;
+ public static int TRAIN_TYPE_RUN = 1;
+ public static int TRAIN_TYPE_RIDE = 2;
+ public static int TRAIN_TARGET_KM = 0;
+ public static int TRAIN_TARGET_CAL = 1;
+ public static int TRAIN_TARGET_TM = 2;
+ public static int TRAIN_TARGET_STEP = 4;
+
+
+ public static final int CHANNEL_E0 = 16;
+ public static final int CHANNEL_E1 = 1;
+ public static final int CHANNEL_E3 = 3;
+ public static final int CHANNEL_E4 = 4;
+
+ public static final int CHANNEL_E6 = 6;
+
+ private int channel;
+ private int port;
+ private int type;
+ private byte[] data;
+ private String filePath;
+
+
+ public int getChannel() {
+ return channel;
+ }
+
+ public void setChannel(int channel) {
+ this.channel = channel;
+ }
+
+ public int getPort() {
+ return port;
+ }
+
+ public void setPort(int port) {
+ this.port = port;
+ }
+
+ public int getType() {
+ return type;
+ }
+
+ public void setType(int type) {
+ this.type = type;
+ }
+
+ public byte[] getData() {
+ if(data==null){
+ data = new byte[0];
+ }
+ return data;
+ }
+
+ public void setData(byte[] data) {
+ this.data = data;
+ }
+
+ public String getFilePath() {
+ return filePath;
+ }
+
+ public void setFilePath(String filePath) {
+ this.filePath = filePath;
+ }
+
+ @Override
+ public String toString() {
+ return "MsgBody{" +
+ "channel=" + channel +
+ ", port=" + port +
+ ", type=" + type +
+ ", data=" + Arrays.toString(data) +
+ ", filePath='" + filePath + '\'' +
+ '}';
+ }
+}
diff --git a/hssdk/src/main/java/com/zhixun/blesdk/hssdk/entity/file/OTAInfo.java b/hssdk/src/main/java/com/zhixun/blesdk/hssdk/entity/file/OTAInfo.java
new file mode 100644
index 0000000..44d7f3d
--- /dev/null
+++ b/hssdk/src/main/java/com/zhixun/blesdk/hssdk/entity/file/OTAInfo.java
@@ -0,0 +1,68 @@
+package com.zhixun.blesdk.hssdk.entity.file;
+
+public class OTAInfo {
+
+ /**
+ * type : 1
+ * size : 3894464
+ * major : 0
+ * mid : 3
+ * minor : 2
+ * isForced : 1
+ */
+
+ private int type;
+ private int size;
+ private int major;
+ private int mid;
+ private int minor;
+ private int isForced;
+
+ public int getType() {
+ return type;
+ }
+
+ public void setType(int type) {
+ this.type = type;
+ }
+
+ public int getSize() {
+ return size;
+ }
+
+ public void setSize(int size) {
+ this.size = size;
+ }
+
+ public int getMajor() {
+ return major;
+ }
+
+ public void setMajor(int major) {
+ this.major = major;
+ }
+
+ public int getMid() {
+ return mid;
+ }
+
+ public void setMid(int mid) {
+ this.mid = mid;
+ }
+
+ public int getMinor() {
+ return minor;
+ }
+
+ public void setMinor(int minor) {
+ this.minor = minor;
+ }
+
+ public int getIsForced() {
+ return isForced;
+ }
+
+ public void setIsForced(int isForced) {
+ this.isForced = isForced;
+ }
+}
diff --git a/hssdk/src/main/java/com/zhixun/blesdk/hssdk/util/BleUuidUtil.java b/hssdk/src/main/java/com/zhixun/blesdk/hssdk/util/BleUuidUtil.java
index 65f1df2..e374303 100644
--- a/hssdk/src/main/java/com/zhixun/blesdk/hssdk/util/BleUuidUtil.java
+++ b/hssdk/src/main/java/com/zhixun/blesdk/hssdk/util/BleUuidUtil.java
@@ -21,6 +21,8 @@ public class BleUuidUtil {
private UUID mNotifyUUID = UUID.fromString("00002ae5-0000-1000-8000-00805f9b34fb");//客æ·ç«¯æ¥æ¶
+ private UUID mFileNotifyUUID = UUID.fromString("00002ae7-0000-1000-8000-00805f9b34fb");//客æ·ç«¯æä»¶æ¥æ¶
+
private UUID mServiceUUID = UUID.fromString("000018e0-0000-1000-8000-00805f9b34fb");//客æ·ç«¯æ¥æ¶;
public static BleUuidUtil getInstance() {
if(sInstance == null) {
@@ -38,6 +40,10 @@ public class BleUuidUtil {
return mNotifyUUID;
}
+ public UUID getFileNotifyUUID(){
+ return mFileNotifyUUID;
+ }
+
public UUID getServiceUUID() {
return mServiceUUID;
}