# Conflicts: # app/build.gradle # app/src/main/java/aicare/net/cn/sdk/ailinksdkdemoandroid/MainActivity.java # app/src/main/java/aicare/net/cn/sdk/ailinksdkdemoandroid/RopeSkippingActivity.java # app/src/main/java/aicare/net/cn/sdk/ailinksdkdemoandroid/ShowBleActivity.java # app/src/main/java/aicare/net/cn/sdk/ailinksdkdemoandroid/WeightScaleWifiBleActivity.java # app/src/main/res/layout/activity_rope_skipping.xmlmaster
@@ -7,8 +7,8 @@ android { | |||
applicationId "aicare.net.cn.sdk.ailinksdkdemoandroid" | |||
minSdkVersion 19 | |||
targetSdkVersion 29 | |||
versionCode 6 | |||
versionName "1.5.6" | |||
versionCode 7 | |||
versionName "1.5.7" | |||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" | |||
} | |||
buildTypes { |
@@ -70,6 +70,7 @@ | |||
<activity android:name=".ClearShakeHandsActivity" /> | |||
<activity android:name=".BloodSugar4GActivity" /> | |||
<activity android:name=".BloodOxygenActivity" /> | |||
<activity android:name=".RopeSkippingActivity" /> | |||
<service android:name="com.pingwang.bluetoothlib.server.ELinkBleServer"/> | |||
</application> |
@@ -61,7 +61,6 @@ public class HeightWeightScaleActivity extends BleBaseActivity implements OnCall | |||
if (bleDevice != null) { | |||
HeightBodyFatBleData.init(bleDevice); | |||
HeightBodyFatBleData.getInstance().setOnHeightBodyFatDataCallback(this); | |||
HeightBodyFatBleData.getInstance().setOnHeightBodyFatDataCallback(this); | |||
} | |||
} | |||
@@ -117,7 +116,9 @@ public class HeightWeightScaleActivity extends BleBaseActivity implements OnCall | |||
@Override | |||
public void onScanning(BleValueBean data) { | |||
if (data.getMac().equalsIgnoreCase(mAddress)){ | |||
connectBle(data.getMac()); | |||
} | |||
} | |||
@@ -136,6 +137,7 @@ public class HeightWeightScaleActivity extends BleBaseActivity implements OnCall | |||
if (mac.equals(mAddress)) { | |||
logList.add(0, "连接已经断开"); | |||
listAdapter.notifyDataSetChanged(); | |||
startScanBle(0); | |||
} | |||
@@ -148,7 +150,11 @@ public class HeightWeightScaleActivity extends BleBaseActivity implements OnCall | |||
@Override | |||
public void onServicesDiscovered(String mac) { | |||
BleDevice bleDevice = mBluetoothService.getBleDevice(mAddress); | |||
if (bleDevice != null) { | |||
HeightBodyFatBleData.init(bleDevice); | |||
HeightBodyFatBleData.getInstance().setOnHeightBodyFatDataCallback(this); | |||
} | |||
} | |||
@@ -5,9 +5,7 @@ import android.os.Message; | |||
import android.view.View; | |||
import android.widget.TextView; | |||
import com.pingwang.bluetoothlib.AILinkBleManager; | |||
import com.pingwang.bluetoothlib.AILinkSDK; | |||
import com.pingwang.bluetoothlib.config.BleConfig; | |||
import com.pingwang.bluetoothlib.utils.BleLog; | |||
import java.util.ArrayList; | |||
@@ -18,7 +16,6 @@ import aicare.net.cn.sdk.ailinksdkdemoandroid.config.AppConfig; | |||
import aicare.net.cn.sdk.ailinksdkdemoandroid.config.BleDeviceConfig; | |||
import aicare.net.cn.sdk.ailinksdkdemoandroid.find.FindDeviceNewActivity; | |||
import aicare.net.cn.sdk.ailinksdkdemoandroid.modules.broadcast_height.BroadcastHeightActivity; | |||
import aicare.net.cn.sdk.ailinksdkdemoandroid.modules.broadcast_nutrition.BroadNutritionActivity; | |||
import aicare.net.cn.sdk.ailinksdkdemoandroid.utils.SP; | |||
@@ -27,6 +27,7 @@ public class RopeSkippingActivity extends BleBaseActivity implements View.OnClic | |||
private String mAddress; | |||
private boolean isPauseLog = false; | |||
@Override | |||
public void onServiceSuccess() { | |||
@@ -47,16 +48,14 @@ public class RopeSkippingActivity extends BleBaseActivity implements View.OnClic | |||
@Override | |||
public void onServiceErr() { | |||
if (mArrayAdapter != null && logList != null) { | |||
logList.add("绑定服务失败"); | |||
mArrayAdapter.notifyDataSetChanged(); | |||
refreshLog("绑定服务失败"); | |||
} | |||
} | |||
@Override | |||
public void unbindServices() { | |||
if (mArrayAdapter != null && logList != null) { | |||
logList.add("解除绑定服务"); | |||
mArrayAdapter.notifyDataSetChanged(); | |||
refreshLog("解除绑定服务"); | |||
} | |||
} | |||
@@ -92,87 +91,95 @@ public class RopeSkippingActivity extends BleBaseActivity implements View.OnClic | |||
@Override | |||
public void onClick(View v) { | |||
if (v.getId() == R.id.btn_syn_time) { | |||
logList.add("同步时间搓"); | |||
if (RopeSkippingBleData.getInstance() != null) { | |||
RopeSkippingBleData.getInstance().synTime(System.currentTimeMillis()); | |||
} | |||
mArrayAdapter.notifyDataSetChanged(); | |||
refreshLog("同步时间搓"); | |||
} else if (v.getId() == R.id.btn_free_jump) { | |||
logList.add("启动自由跳绳"); | |||
if (RopeSkippingBleData.getInstance() != null) { | |||
RopeSkippingBleData.getInstance().startOrStopMode(1, 1); | |||
} | |||
mArrayAdapter.notifyDataSetChanged(); | |||
refreshLog("启动自由跳绳"); | |||
} else if (v.getId() == R.id.btn_time_jump) { | |||
logList.add("启动倒计时跳绳"); | |||
if (RopeSkippingBleData.getInstance() != null) { | |||
RopeSkippingBleData.getInstance().startOrStopMode(2, 1); | |||
} | |||
mArrayAdapter.notifyDataSetChanged(); | |||
refreshLog("启动倒计时跳绳"); | |||
} else if (v.getId() == R.id.btn_num_jump) { | |||
logList.add("启动倒计数跳绳绳"); | |||
if (RopeSkippingBleData.getInstance() != null) { | |||
RopeSkippingBleData.getInstance().startOrStopMode(3, 1); | |||
} | |||
mArrayAdapter.notifyDataSetChanged(); | |||
refreshLog("启动倒计数跳绳绳"); | |||
} else if (v.getId() == R.id.btn_clear_log) { | |||
logList.clear(); | |||
mArrayAdapter.notifyDataSetChanged(); | |||
if (!isPauseLog) { | |||
isPauseLog = true; | |||
} else { | |||
isPauseLog = false; | |||
} | |||
} else if (v.getId() == R.id.btn_stop_free_jump) { | |||
logList.add("结束自由跳绳"); | |||
if (RopeSkippingBleData.getInstance() != null) { | |||
RopeSkippingBleData.getInstance().startOrStopMode(1, 0); | |||
} | |||
mArrayAdapter.notifyDataSetChanged(); | |||
refreshLog("结束自由跳绳"); | |||
} else if (v.getId() == R.id.btn_stop_time_jump) { | |||
logList.add("结束倒计时跳绳"); | |||
if (RopeSkippingBleData.getInstance() != null) { | |||
RopeSkippingBleData.getInstance().startOrStopMode(2, 0); | |||
} | |||
mArrayAdapter.notifyDataSetChanged(); | |||
refreshLog("结束倒计时跳绳"); | |||
} else if (v.getId() == R.id.btn_stop_num_jump) { | |||
logList.add("结束倒计数跳绳绳"); | |||
if (RopeSkippingBleData.getInstance() != null) { | |||
RopeSkippingBleData.getInstance().startOrStopMode(3, 0); | |||
} | |||
mArrayAdapter.notifyDataSetChanged(); | |||
refreshLog("结束倒计数跳绳绳"); | |||
} else if (v.getId() == R.id.btn_default_num) { | |||
logList.add("默认倒计数100"); | |||
if (RopeSkippingBleData.getInstance() != null) { | |||
RopeSkippingBleData.getInstance().setCountDownNum(50); | |||
} | |||
mArrayAdapter.notifyDataSetChanged(); | |||
refreshLog("默认倒计数100"); | |||
} else if (v.getId() == R.id.btn_default_timer) { | |||
logList.add("默认倒计时60"); | |||
if (RopeSkippingBleData.getInstance() != null) { | |||
RopeSkippingBleData.getInstance().setTimerNum(120); | |||
} | |||
mArrayAdapter.notifyDataSetChanged(); | |||
refreshLog("默认倒计时60"); | |||
} else if (v.getId() == R.id.btn_get_history) { | |||
logList.add("获取离线记录"); | |||
if (RopeSkippingBleData.getInstance() != null) { | |||
RopeSkippingBleData.getInstance().offlineHistory(1); | |||
} | |||
mArrayAdapter.notifyDataSetChanged(); | |||
refreshLog("获取离线记录"); | |||
} else if (v.getId() == R.id.btn_bind) { | |||
logList.add("请按确认按钮"); | |||
if (RopeSkippingBleData.getInstance() != null) { | |||
RopeSkippingBleData.getInstance().questBind(); | |||
} | |||
mArrayAdapter.notifyDataSetChanged(); | |||
refreshLog("请按确认按钮"); | |||
} | |||
} | |||
private void refreshLog(String content) { | |||
if (!isPauseLog) { | |||
logList.add(content); | |||
mArrayAdapter.notifyDataSetChanged(); | |||
} | |||
} | |||
@Override | |||
public void onFinish(RopeSkipRecord ropeSkipBean) { | |||
logList.add("跳绳结束"); | |||
logList.add(ropeSkipBean.toString() + " \n绊绳=" + new Gson().toJson(ropeSkipBean.getStopDetail())); | |||
mArrayAdapter.notifyDataSetChanged(); | |||
refreshLog("跳绳结束" + "\n" + ropeSkipBean.toString() + " \n绊绳=" + new Gson().toJson(ropeSkipBean.getStopDetail())); | |||
} | |||
@Override | |||
@@ -182,45 +189,49 @@ public class RopeSkippingActivity extends BleBaseActivity implements View.OnClic | |||
@Override | |||
public void onCurrentData(int status, int mode, int defaultValue, int currentJumpNum, int currentJumpTime, int batter) { | |||
logList.add("实时数据 \n" + "状态: " + status + " ( 0:准备 1:进行中 2:完成) \n" + "模式: " | |||
refreshLog("实时数据 \n" + "状态: " + status + " ( 0:准备 1:进行中 2:完成) \n" + "模式: " | |||
+ mode + " (1:自由 2:倒计时 3:倒计数) \n" | |||
+ "默认值: " + defaultValue + " 电量 " + batter + "\n 当前个数: " + currentJumpNum + " 时间 " + currentJumpTime); | |||
mArrayAdapter.notifyDataSetChanged(); | |||
} | |||
@Override | |||
public void onResultTimerAndCountDownNum(int mode, int timer) { | |||
if (mode == 2) { | |||
logList.add("设置默认时间:" + timer); | |||
refreshLog("设置默认时间:" + timer); | |||
} else if (mode == 3) { | |||
logList.add("设置默认个数:" + timer); | |||
refreshLog("设置默认个数:" + timer); | |||
} | |||
mArrayAdapter.notifyDataSetChanged(); | |||
} | |||
@Override | |||
public void onResultStatus(int mode, int result) { | |||
logList.add("模式: " + mode + " (1:自由 2:倒计时 3:倒计数)" + "结果: " + result + "0:成功 1:失败 2:不支持"); | |||
mArrayAdapter.notifyDataSetChanged(); | |||
refreshLog("模式: " + mode + " (1:自由 2:倒计时 3:倒计数)" + "结果: " + result + "0:成功 1:失败 2:不支持"); | |||
} | |||
@Override | |||
public void onBindResult(int result) { | |||
logList.add("确认绑定结果: " + result + " 0 : 成功 1 :失败 2 不支持"); | |||
mArrayAdapter.notifyDataSetChanged(); | |||
refreshLog("确认绑定结果: " + result + " 0 : 成功 1 :失败 2 不支持"); | |||
} | |||
@Override | |||
public void onFinishOffHistory(List<RopeSkipRecord> list) { | |||
if (list==null){ | |||
logList.add("没有离线记录"); | |||
}else { | |||
logList.add("离线记录:"); | |||
logList.add(new Gson().toJson(list)); | |||
mArrayAdapter.notifyDataSetChanged(); | |||
if (list == null) { | |||
refreshLog("没有离线记录"); | |||
} else { | |||
refreshLog("离线记录:\n" + new Gson().toJson(list)); | |||
} | |||
} | |||
@Override | |||
public void finish() { | |||
super.finish(); | |||
if (mBluetoothService != null) | |||
mBluetoothService.disconnectAll(); | |||
} | |||
} |
@@ -40,12 +40,9 @@ import java.util.List; | |||
import java.util.Map; | |||
import java.util.UUID; | |||
import aicare.net.cn.sdk.ailinksdkdemoandroid.config.AppConfig; | |||
import aicare.net.cn.sdk.ailinksdkdemoandroid.config.BleDeviceConfig; | |||
import aicare.net.cn.sdk.ailinksdkdemoandroid.dialog.LoadingIosDialogFragment; | |||
import aicare.net.cn.sdk.ailinksdkdemoandroid.find.FindDeviceNewActivity; | |||
import aicare.net.cn.sdk.ailinksdkdemoandroid.modules.ble_nutrition.BleNutritionActivity; | |||
import aicare.net.cn.sdk.ailinksdkdemoandroid.modules.blood_glucose.BloodGlucoseActivity; | |||
import aicare.net.cn.sdk.ailinksdkdemoandroid.modules.coffee_scale.CoffeeScaleActivity; | |||
import aicare.net.cn.sdk.ailinksdkdemoandroid.modules.food_temp.FoodTempActivity; | |||
import aicare.net.cn.sdk.ailinksdkdemoandroid.modules.share_charger.ShareChargerActivity; | |||
@@ -55,7 +52,6 @@ import androidx.annotation.NonNull; | |||
import androidx.annotation.Nullable; | |||
import androidx.appcompat.app.AppCompatActivity; | |||
import androidx.core.app.ActivityCompat; | |||
import cn.net.aicare.modulelibrary.module.RopeSkipping.RopeSkippingBleData; | |||
import cn.net.aicare.modulelibrary.module.scooter.SkateboardBleConfig; | |||
@@ -336,7 +332,6 @@ public class ShowBleActivity extends AppCompatActivity implements OnCallbackBle, | |||
bleDevice.setA7Encryption(false); | |||
mNoEncryptionMac = ""; | |||
} | |||
dismissLoading(); | |||
Intent intent = new Intent(); |
@@ -129,6 +129,8 @@ public class TransmissionActivity extends BleBaseActivity implements View.OnClic | |||
mMHandler.sendEmptyMessage(ToRefreUi); | |||
} | |||
@Override | |||
public void onSupportUnit(List<SupportUnitBean> list) { | |||
@@ -22,9 +22,6 @@ import com.pingwang.bluetoothlib.device.BleDevice; | |||
import com.pingwang.bluetoothlib.listener.OnCallbackBle; | |||
import com.pingwang.bluetoothlib.utils.BleLog; | |||
import com.pingwang.bluetoothlib.utils.BleStrUtils; | |||
import aicare.net.cn.sdk.ailinksdkdemoandroid.base.BleBaseActivity; | |||
import aicare.net.cn.sdk.ailinksdkdemoandroid.config.BleDeviceConfig; | |||
import aicare.net.cn.sdk.ailinksdkdemoandroid.dialog.WifiDialog; | |||
import java.lang.ref.WeakReference; | |||
import java.util.ArrayList; | |||
@@ -32,6 +29,9 @@ import java.util.Arrays; | |||
import java.util.HashMap; | |||
import java.util.List; | |||
import aicare.net.cn.sdk.ailinksdkdemoandroid.base.BleBaseActivity; | |||
import aicare.net.cn.sdk.ailinksdkdemoandroid.config.BleDeviceConfig; | |||
import aicare.net.cn.sdk.ailinksdkdemoandroid.dialog.WifiDialog; | |||
import androidx.annotation.Nullable; | |||
import cn.net.aicare.modulelibrary.module.BodyFatScale.AppHistoryRecordBean; | |||
import cn.net.aicare.modulelibrary.module.BodyFatScale.BodyFatBleUtilsData; | |||
@@ -672,9 +672,8 @@ public class WeightScaleWifiBleActivity extends BleBaseActivity implements View. | |||
bodyFatBleUtilsData.sendData(BodyFatDataUtil.getInstance().checkUrl()); | |||
break; | |||
} | |||
} | |||
} | |||
private byte[] convertToASCII(String string) { | |||
char[] ch = string.toCharArray(); |
@@ -163,6 +163,12 @@ public class BleDeviceConfig { | |||
public final static int SHARE_CONDOM = 0x1007; | |||
/** | |||
* 跳绳 | |||
*/ | |||
public final static int ROPE_SKIPPING = 0x002f; | |||
/** | |||
* 身高体脂秤 | |||
*/ |
@@ -314,6 +314,11 @@ | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:text="共享套套机" /> | |||
<Button | |||
android:id="@+id/btn_rope_skip" | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:text="跳绳" /> | |||
<Button | |||
android:id="@+id/btn_rope_skip" |