<activity
android:name="com.zhixun.blesdk.debug_tool.AiLogActivity"
android:exported="false" />
- <activity
+ <!--<activity
android:name=".PicTestActivity"
- android:exported="false" />
+ android:exported="false" />-->
<activity
android:name="com.zhixun.blesdk.debug_tool.DialTestActivity"
android:exported="false" />
});*/
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);
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'
SobLog.isCloseLog = !isDebug;
SobLog.saveLog = saveLog;
wearAPI.init(context);
+ HsFileAgentSdk.getInstance().init(context,isDebug,saveLog);
}
public int getFileCannel() {
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;
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;
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 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;
return sInstance;
}
+ private IBtReceiverCallback receiverCallback;
public void init(Context context) {
Log.e(TAG, "Bluetooth Handle Start");
// 打开蓝牙
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() {
+ });*/
}
}
refreshDeviceCache();
HsAgentSdk.getInstance().getAPI().release();
+
// mBleConnectDevice = null;
}
}
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);
public void onCharacteristicWrite(BluetoothGatt gatt, BluetoothGattCharacteristic characteristic, int status) {
SobLog.d(TAG, "onCharacteristicWrite--" + status + "--");
-
}
@Override
(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);
}
}
}
public void creatBond(){
-
-
BluetoothDevice bluetoothDevice = mBluetoothAdapter.getRemoteDevice(mBleConnectDevice.getAddress());
//得到配对的设备列表,清除已配对的设备
removePairDevice();
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) {
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;
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);
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
* @param type
* @param callBack
*/
- void cancleFileSend(int type, OnMsgSendCallBack callBack);
+ void cancleFileSend(int type);
void installMarketDial(HsMarketDialSum dialSum, List<String> files, ISendFileListener sendFileListener);
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
SobLog.i(TAG,"onStartChange--"+b);
isTransStart = b;
if(b){
-
sendAudio(audio);
}else {
receiverLenth = 0;
@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){
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);
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;
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;
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);
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;
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;
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);
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;
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;
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) {
}
@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
}
@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,"有文件正在传输");
}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<String> 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
}
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);
public void clear() {
callBackMap.clear();
if (mReceiverMsgHandle != null) mReceiverMsgHandle.removeMessages(MSG_RECEIVERDATA);
+
}
public void removeAudioTimeOut() {
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;
package com.zhixun.blesdk.hssdk.entity.file;
-import java.io.Serializable;
+
public class HsCustomDialSum extends HsDialSum {
package com.zhixun.blesdk.hssdk.entity.file;
+
public class HsMarketDialSum extends HsDialSum {
private String topicName;
private int type;
private String name;
- private int size;
+ private long size;
public int getType() {
return type;
this.name = name;
}
- public int getSize() {
+ public long getSize() {
return size;
}
- public void setSize(int size) {
+ public void setSize(long size) {
this.size = size;
}
+
}
--- /dev/null
+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 + '\'' +
+ '}';
+ }
+}
--- /dev/null
+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;
+ }
+}
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) {
return mNotifyUUID;
}
+ public UUID getFileNotifyUUID(){
+ return mFileNotifyUUID;
+ }
+
public UUID getServiceUUID() {
return mServiceUUID;
}