From: xiewei <892331662@qq.com> Date: Tue, 15 Oct 2024 07:45:23 +0000 (+0800) Subject: 241015:只做文件传输sdk X-Git-Url: http://git.snicker.com.cn/sitemap.xml?a=commitdiff_plain;h=e8cd2b9b11b0cc7b449a847a102bae5710ff42f2;p=mirrors%2Fhs-sdk.git 241015:只做文件传输sdk --- diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro index 0c36e65..41135c1 100644 --- a/app/proguard-rules.pro +++ b/app/proguard-rules.pro @@ -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.*{*;} diff --git a/app/src/main/java/com/zhixun/blesdk/app/AiLogActivity.java b/app/src/main/java/com/zhixun/blesdk/app/AiLogActivity.java index 3091f63..f6b562a 100644 --- a/app/src/main/java/com/zhixun/blesdk/app/AiLogActivity.java +++ b/app/src/main/java/com/zhixun/blesdk/app/AiLogActivity.java @@ -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; diff --git a/app/src/main/java/com/zhixun/blesdk/app/DialTestActivity.java b/app/src/main/java/com/zhixun/blesdk/app/DialTestActivity.java index c436a20..6825489 100644 --- a/app/src/main/java/com/zhixun/blesdk/app/DialTestActivity.java +++ b/app/src/main/java/com/zhixun/blesdk/app/DialTestActivity.java @@ -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 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() { diff --git a/app/src/main/java/com/zhixun/blesdk/app/MainActivity.java b/app/src/main/java/com/zhixun/blesdk/app/MainActivity.java index 4d91006..ed3807c 100644 --- a/app/src/main/java/com/zhixun/blesdk/app/MainActivity.java +++ b/app/src/main/java/com/zhixun/blesdk/app/MainActivity.java @@ -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 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 alarmItems = (List) 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 处理权限结果回调 diff --git a/app/src/main/java/com/zhixun/blesdk/app/utils/FuncationChosePopupWindow.java b/app/src/main/java/com/zhixun/blesdk/app/utils/FuncationChosePopupWindow.java index 9c57c05..f38686c 100644 --- a/app/src/main/java/com/zhixun/blesdk/app/utils/FuncationChosePopupWindow.java +++ b/app/src/main/java/com/zhixun/blesdk/app/utils/FuncationChosePopupWindow.java @@ -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 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){ diff --git a/hssdk/build.gradle b/hssdk/build.gradle index 3d3d072..61d5e04 100644 --- a/hssdk/build.gradle +++ b/hssdk/build.gradle @@ -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 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 index 99c591a..0000000 Binary files a/hssdk/libs/Poly-SDK-v1.6-240812.jar and /dev/null differ diff --git a/hssdk/proguard-rules.pro b/hssdk/proguard-rules.pro index ed27389..2a8078f 100644 --- a/hssdk/proguard-rules.pro +++ b/hssdk/proguard-rules.pro @@ -34,17 +34,15 @@ -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.*{*;} diff --git a/hssdk/src/main/java/com/zhixun/blesdk/hssdk/HsAgentSdk.java b/hssdk/src/main/java/com/zhixun/blesdk/hssdk/HsFileAgentSdk.java similarity index 71% rename from hssdk/src/main/java/com/zhixun/blesdk/hssdk/HsAgentSdk.java rename to hssdk/src/main/java/com/zhixun/blesdk/hssdk/HsFileAgentSdk.java index de5233c..3cb2b73 100644 --- a/hssdk/src/main/java/com/zhixun/blesdk/hssdk/HsAgentSdk.java +++ b/hssdk/src/main/java/com/zhixun/blesdk/hssdk/HsFileAgentSdk.java @@ -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); - } + }*/ } 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..8183670 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,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 index 4019fd3..0000000 --- a/hssdk/src/main/java/com/zhixun/blesdk/hssdk/callback/IHSWearAPI.java +++ /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 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 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 index cede167..0000000 --- a/hssdk/src/main/java/com/zhixun/blesdk/hssdk/data/AiManage.java +++ /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); - } -} diff --git a/hssdk/src/main/java/com/zhixun/blesdk/hssdk/data/BleMsgReceiverHandler.java b/hssdk/src/main/java/com/zhixun/blesdk/hssdk/data/BleMsgReceiverHandler.java index 266a175..7619cfe 100644 --- a/hssdk/src/main/java/com/zhixun/blesdk/hssdk/data/BleMsgReceiverHandler.java +++ b/hssdk/src/main/java/com/zhixun/blesdk/hssdk/data/BleMsgReceiverHandler.java @@ -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 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); diff --git a/hssdk/src/main/java/com/zhixun/blesdk/hssdk/data/BleMsgSendHandler.java b/hssdk/src/main/java/com/zhixun/blesdk/hssdk/data/BleMsgSendHandler.java index c067b68..b645df9 100644 --- a/hssdk/src/main/java/com/zhixun/blesdk/hssdk/data/BleMsgSendHandler.java +++ b/hssdk/src/main/java/com/zhixun/blesdk/hssdk/data/BleMsgSendHandler.java @@ -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; + } } 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..c1bd0aa 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 @@ -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; + } } 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..015491a 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; @@ -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; + } + } 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..fb1d51a 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 @@ -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 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); } - - - } 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 853e338..73b3c4e 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 @@ -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;*/ } } diff --git a/hssdk/src/main/java/com/zhixun/blesdk/hssdk/entity/E3MsgBody.java b/hssdk/src/main/java/com/zhixun/blesdk/hssdk/entity/E3MsgBody.java index 77a9765..9396453 100644 --- a/hssdk/src/main/java/com/zhixun/blesdk/hssdk/entity/E3MsgBody.java +++ b/hssdk/src/main/java/com/zhixun/blesdk/hssdk/entity/E3MsgBody.java @@ -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; diff --git a/hssdk/src/main/java/com/zhixun/blesdk/hssdk/entity/E4MsgBody.java b/hssdk/src/main/java/com/zhixun/blesdk/hssdk/entity/E4MsgBody.java index f83c9f4..5daa941 100644 --- a/hssdk/src/main/java/com/zhixun/blesdk/hssdk/entity/E4MsgBody.java +++ b/hssdk/src/main/java/com/zhixun/blesdk/hssdk/entity/E4MsgBody.java @@ -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/entity/file/HsCustomDialSum.java b/hssdk/src/main/java/com/zhixun/blesdk/hssdk/file/entity/HsCustomDialSum.java similarity index 86% rename from hssdk/src/main/java/com/zhixun/blesdk/hssdk/entity/file/HsCustomDialSum.java rename to hssdk/src/main/java/com/zhixun/blesdk/hssdk/file/entity/HsCustomDialSum.java index ddb8fa8..fa15224 100644 --- a/hssdk/src/main/java/com/zhixun/blesdk/hssdk/entity/file/HsCustomDialSum.java +++ b/hssdk/src/main/java/com/zhixun/blesdk/hssdk/file/entity/HsCustomDialSum.java @@ -1,6 +1,4 @@ -package com.zhixun.blesdk.hssdk.entity.file; - -import java.io.Serializable; +package com.zhixun.blesdk.hssdk.file.entity; public class HsCustomDialSum extends HsDialSum { diff --git a/hssdk/src/main/java/com/zhixun/blesdk/hssdk/entity/file/HsDialSum.java b/hssdk/src/main/java/com/zhixun/blesdk/hssdk/file/entity/HsDialSum.java similarity index 89% rename from hssdk/src/main/java/com/zhixun/blesdk/hssdk/entity/file/HsDialSum.java rename to hssdk/src/main/java/com/zhixun/blesdk/hssdk/file/entity/HsDialSum.java index 5eac49d..91441fb 100644 --- a/hssdk/src/main/java/com/zhixun/blesdk/hssdk/entity/file/HsDialSum.java +++ b/hssdk/src/main/java/com/zhixun/blesdk/hssdk/file/entity/HsDialSum.java @@ -1,4 +1,4 @@ -package com.zhixun.blesdk.hssdk.entity.file; +package com.zhixun.blesdk.hssdk.file.entity; import java.io.Serializable; diff --git a/hssdk/src/main/java/com/zhixun/blesdk/hssdk/entity/file/HsEpoInfo.java b/hssdk/src/main/java/com/zhixun/blesdk/hssdk/file/entity/HsEpoInfo.java similarity index 94% rename from hssdk/src/main/java/com/zhixun/blesdk/hssdk/entity/file/HsEpoInfo.java rename to hssdk/src/main/java/com/zhixun/blesdk/hssdk/file/entity/HsEpoInfo.java index 0d19465..bea9735 100644 --- a/hssdk/src/main/java/com/zhixun/blesdk/hssdk/entity/file/HsEpoInfo.java +++ b/hssdk/src/main/java/com/zhixun/blesdk/hssdk/file/entity/HsEpoInfo.java @@ -1,4 +1,4 @@ -package com.zhixun.blesdk.hssdk.entity.file; +package com.zhixun.blesdk.hssdk.file.entity; import java.io.Serializable; diff --git a/hssdk/src/main/java/com/zhixun/blesdk/hssdk/entity/file/HsMarketDialSum.java b/hssdk/src/main/java/com/zhixun/blesdk/hssdk/file/entity/HsMarketDialSum.java similarity index 84% rename from hssdk/src/main/java/com/zhixun/blesdk/hssdk/entity/file/HsMarketDialSum.java rename to hssdk/src/main/java/com/zhixun/blesdk/hssdk/file/entity/HsMarketDialSum.java index 4870b69..e45673d 100644 --- a/hssdk/src/main/java/com/zhixun/blesdk/hssdk/entity/file/HsMarketDialSum.java +++ b/hssdk/src/main/java/com/zhixun/blesdk/hssdk/file/entity/HsMarketDialSum.java @@ -1,4 +1,4 @@ -package com.zhixun.blesdk.hssdk.entity.file; +package com.zhixun.blesdk.hssdk.file.entity; 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/file/entity/HsMp3Info.java similarity index 92% rename from hssdk/src/main/java/com/zhixun/blesdk/hssdk/entity/file/HsMp3Info.java rename to hssdk/src/main/java/com/zhixun/blesdk/hssdk/file/entity/HsMp3Info.java index 08f2a00..0eee2ce 100644 --- a/hssdk/src/main/java/com/zhixun/blesdk/hssdk/entity/file/HsMp3Info.java +++ b/hssdk/src/main/java/com/zhixun/blesdk/hssdk/file/entity/HsMp3Info.java @@ -1,4 +1,4 @@ -package com.zhixun.blesdk.hssdk.entity.file; +package com.zhixun.blesdk.hssdk.file.entity; public class HsMp3Info { diff --git a/hssdk/src/main/java/com/zhixun/blesdk/hssdk/entity/MsgBody.java b/hssdk/src/main/java/com/zhixun/blesdk/hssdk/file/entity/MsgBody.java similarity index 99% rename from hssdk/src/main/java/com/zhixun/blesdk/hssdk/entity/MsgBody.java rename to hssdk/src/main/java/com/zhixun/blesdk/hssdk/file/entity/MsgBody.java index 8f872b8..d0f949a 100644 --- a/hssdk/src/main/java/com/zhixun/blesdk/hssdk/entity/MsgBody.java +++ b/hssdk/src/main/java/com/zhixun/blesdk/hssdk/file/entity/MsgBody.java @@ -1,4 +1,4 @@ -package com.zhixun.blesdk.hssdk.entity; +package com.zhixun.blesdk.hssdk.file.entity; import java.io.Serializable; import java.util.Arrays; diff --git a/hssdk/src/main/java/com/zhixun/blesdk/hssdk/entity/OTAInfo.java b/hssdk/src/main/java/com/zhixun/blesdk/hssdk/file/entity/OTAInfo.java similarity index 95% rename from hssdk/src/main/java/com/zhixun/blesdk/hssdk/entity/OTAInfo.java rename to hssdk/src/main/java/com/zhixun/blesdk/hssdk/file/entity/OTAInfo.java index ac77123..9c1cedd 100644 --- a/hssdk/src/main/java/com/zhixun/blesdk/hssdk/entity/OTAInfo.java +++ b/hssdk/src/main/java/com/zhixun/blesdk/hssdk/file/entity/OTAInfo.java @@ -1,4 +1,4 @@ -package com.zhixun.blesdk.hssdk.entity; +package com.zhixun.blesdk.hssdk.file.entity; public class OTAInfo { 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 index 0000000..326fb15 --- /dev/null +++ b/hssdk/src/main/java/com/zhixun/blesdk/hssdk/file/filecallback/BtMsgCallback.java @@ -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 index 0000000..bebcdf3 --- /dev/null +++ b/hssdk/src/main/java/com/zhixun/blesdk/hssdk/file/filecallback/IBtReceiverCallback.java @@ -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 index 0000000..4e8f7f9 --- /dev/null +++ b/hssdk/src/main/java/com/zhixun/blesdk/hssdk/file/filecallback/IHSWearAPI.java @@ -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 files,ISendFileListener sendFileListener); + + void sendMp3(String path,HsMp3Info mp3Info, ISendFileListener sendFileListener); +} diff --git a/hssdk/src/main/java/com/zhixun/blesdk/hssdk/callback/ISendFileListener.java b/hssdk/src/main/java/com/zhixun/blesdk/hssdk/file/filecallback/ISendFileListener.java similarity index 87% rename from hssdk/src/main/java/com/zhixun/blesdk/hssdk/callback/ISendFileListener.java rename to hssdk/src/main/java/com/zhixun/blesdk/hssdk/file/filecallback/ISendFileListener.java index b5bb9c4..cc53b18 100644 --- a/hssdk/src/main/java/com/zhixun/blesdk/hssdk/callback/ISendFileListener.java +++ b/hssdk/src/main/java/com/zhixun/blesdk/hssdk/file/filecallback/ISendFileListener.java @@ -1,4 +1,4 @@ -package com.zhixun.blesdk.hssdk.callback; +package com.zhixun.blesdk.hssdk.file.filecallback; public interface ISendFileListener { 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..a7a1b06 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 @@ -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; diff --git a/hssdk/src/main/java/com/zhixun/blesdk/hssdk/util/SobLog.java b/hssdk/src/main/java/com/zhixun/blesdk/hssdk/util/SobLog.java index 6e2a6c2..bba7c96 100644 --- a/hssdk/src/main/java/com/zhixun/blesdk/hssdk/util/SobLog.java +++ b/hssdk/src/main/java/com/zhixun/blesdk/hssdk/util/SobLog.java @@ -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;