import android.widget.ListView; | import android.widget.ListView; | ||||
import android.widget.TextView; | import android.widget.TextView; | ||||
import androidx.annotation.NonNull; | |||||
import androidx.annotation.Nullable; | |||||
import com.pingwang.bluetoothlib.bean.BleValueBean; | import com.pingwang.bluetoothlib.bean.BleValueBean; | ||||
import com.pingwang.bluetoothlib.bean.SupportUnitBean; | import com.pingwang.bluetoothlib.bean.SupportUnitBean; | ||||
import com.pingwang.bluetoothlib.device.BleDevice; | import com.pingwang.bluetoothlib.device.BleDevice; | ||||
import com.pingwang.bluetoothlib.listener.OnCallbackBle; | import com.pingwang.bluetoothlib.listener.OnCallbackBle; | ||||
import aicare.net.cn.sdk.ailinksdkdemoandroid.base.BleBaseActivity; | |||||
import java.lang.ref.WeakReference; | import java.lang.ref.WeakReference; | ||||
import java.util.ArrayList; | import java.util.ArrayList; | ||||
import java.util.List; | import java.util.List; | ||||
import aicare.net.cn.sdk.ailinksdkdemoandroid.base.BleBaseActivity; | |||||
import androidx.annotation.NonNull; | |||||
import androidx.annotation.Nullable; | |||||
import cn.net.aicare.modulelibrary.module.HeightWeightScale.HeightBodyFatBleData; | import cn.net.aicare.modulelibrary.module.HeightWeightScale.HeightBodyFatBleData; | ||||
import cn.net.aicare.modulelibrary.module.HeightWeightScale.HeightBodyFatBleUntils; | import cn.net.aicare.modulelibrary.module.HeightWeightScale.HeightBodyFatBleUntils; | ||||
} | } | ||||
@Override | @Override | ||||
public void onAdc(int workMode, int status, int adcType, int adc, int arithmetic) { | |||||
public void onAdc(int workMode, int status, int adcType, long adc, int arithmetic) { | |||||
mMHandler.removeMessages(ADC); | mMHandler.removeMessages(ADC); | ||||
logList.add(0, "阻抗数据 模式:" + workMode + " 测量状态: " + status + "\n 阻抗类型: " + adcType | logList.add(0, "阻抗数据 模式:" + workMode + " 测量状态: " + status + "\n 阻抗类型: " + adcType | ||||
+ " 阻抗: " + adc + " 算法位: " + arithmetic); | + " 阻抗: " + adc + " 算法位: " + arithmetic); | ||||
listAdapter.notifyDataSetChanged(); | listAdapter.notifyDataSetChanged(); | ||||
} | } | ||||
@Override | @Override | ||||
public void onHeart(int workMode, int status, int heart) { | public void onHeart(int workMode, int status, int heart) { | ||||
logList.add(0, "心率数据 模式:" + workMode + " 测量状态: " + status + " 心率: " + heart); | logList.add(0, "心率数据 模式:" + workMode + " 测量状态: " + status + " 心率: " + heart); |
import com.pingwang.bluetoothlib.device.BleDevice; | import com.pingwang.bluetoothlib.device.BleDevice; | ||||
import com.pingwang.bluetoothlib.listener.OnBleHandshakeListener; | import com.pingwang.bluetoothlib.listener.OnBleHandshakeListener; | ||||
import com.pingwang.bluetoothlib.listener.OnCallbackBle; | import com.pingwang.bluetoothlib.listener.OnCallbackBle; | ||||
import java.util.ArrayList; | |||||
import java.util.List; | |||||
import aicare.net.cn.sdk.ailinksdkdemoandroid.base.BleAppBaseActivity; | import aicare.net.cn.sdk.ailinksdkdemoandroid.base.BleAppBaseActivity; | ||||
import aicare.net.cn.sdk.ailinksdkdemoandroid.dialog.DialogStringImageAdapter; | import aicare.net.cn.sdk.ailinksdkdemoandroid.dialog.DialogStringImageAdapter; | ||||
import aicare.net.cn.sdk.ailinksdkdemoandroid.dialog.ShowListDialogFragment; | import aicare.net.cn.sdk.ailinksdkdemoandroid.dialog.ShowListDialogFragment; | ||||
import aicare.net.cn.sdk.ailinksdkdemoandroid.utils.L; | import aicare.net.cn.sdk.ailinksdkdemoandroid.utils.L; | ||||
import aicare.net.cn.sdk.ailinksdkdemoandroid.utils.MyBleStrUtils; | import aicare.net.cn.sdk.ailinksdkdemoandroid.utils.MyBleStrUtils; | ||||
import aicare.net.cn.sdk.ailinksdkdemoandroid.utils.TimeUtils; | import aicare.net.cn.sdk.ailinksdkdemoandroid.utils.TimeUtils; | ||||
import java.util.ArrayList; | |||||
import java.util.List; | |||||
import butterknife.BindView; | import butterknife.BindView; | ||||
import cn.net.aicare.modulelibrary.module.scooter.BleWeatherBean; | import cn.net.aicare.modulelibrary.module.scooter.BleWeatherBean; | ||||
import cn.net.aicare.modulelibrary.module.scooter.OnScooterBleOTAListener; | |||||
import cn.net.aicare.modulelibrary.module.scooter.SkateboardBleConfig; | import cn.net.aicare.modulelibrary.module.scooter.SkateboardBleConfig; | ||||
import cn.net.aicare.modulelibrary.module.scooter.SkateboardDevice; | import cn.net.aicare.modulelibrary.module.scooter.SkateboardDevice; | ||||
* 滑板车界面 | * 滑板车界面 | ||||
*/ | */ | ||||
public class SkateboardDataActivity extends BleAppBaseActivity implements OnCallbackBle, View.OnClickListener, SkateboardDevice.onNotifyData, | public class SkateboardDataActivity extends BleAppBaseActivity implements OnCallbackBle, View.OnClickListener, SkateboardDevice.onNotifyData, | ||||
RtkOtaManager.OnRtkOtaInfoListener, ShowListDialogFragment.onDialogListener, OnBleHandshakeListener { | |||||
RtkOtaManager.OnRtkOtaInfoListener, ShowListDialogFragment.onDialogListener, OnBleHandshakeListener , OnScooterBleOTAListener { | |||||
private final int REFRESH_DATA = 1; | private final int REFRESH_DATA = 1; | ||||
// mRtkOtaManager.startOta(mRtkOtaType, step); | // mRtkOtaManager.startOta(mRtkOtaType, step); | ||||
} else if (mDevice != null) { | } else if (mDevice != null) { | ||||
mDevice.setOnBleOTAListener(SkateboardDataActivity.this); | |||||
mDevice.setOnScooterBleOTAListener(SkateboardDataActivity.this); | |||||
mDevice.setUpdateData(byFileName, mOTAType, mOTAScope); | mDevice.setUpdateData(byFileName, mOTAType, mOTAScope); | ||||
} | } | ||||
} | } |
import com.pingwang.bluetoothlib.utils.BleDensityUtil; | import com.pingwang.bluetoothlib.utils.BleDensityUtil; | ||||
import com.pingwang.bluetoothlib.utils.BleLog; | import com.pingwang.bluetoothlib.utils.BleLog; | ||||
import com.pingwang.bluetoothlib.utils.BleStrUtils; | import com.pingwang.bluetoothlib.utils.BleStrUtils; | ||||
import aicare.net.cn.sdk.ailinksdkdemoandroid.base.BleBaseActivity; | |||||
import aicare.net.cn.sdk.ailinksdkdemoandroid.utils.TimeUtils; | |||||
import java.util.ArrayList; | import java.util.ArrayList; | ||||
import java.util.List; | import java.util.List; | ||||
import aicare.net.cn.sdk.ailinksdkdemoandroid.base.BleBaseActivity; | |||||
import aicare.net.cn.sdk.ailinksdkdemoandroid.utils.TimeUtils; | |||||
import androidx.annotation.NonNull; | import androidx.annotation.NonNull; | ||||
import androidx.annotation.Nullable; | import androidx.annotation.Nullable; | ||||
import cn.net.aicare.modulelibrary.module.sphygmomanometer.SphyBleConfig; | import cn.net.aicare.modulelibrary.module.sphygmomanometer.SphyBleConfig; | ||||
@Override | @Override | ||||
public void onData(byte[] status, int type) { | public void onData(byte[] status, int type) { | ||||
String data = ""; | String data = ""; | ||||
if (status != null) | |||||
if (status != null) { | |||||
data = BleStrUtils.byte2HexStr(status); | data = BleStrUtils.byte2HexStr(status); | ||||
} | |||||
if (type == 100) { | if (type == 100) { | ||||
mList.add(TimeUtils.getTime() + "send->" + data); | mList.add(TimeUtils.getTime() + "send->" + data); | ||||
} else { | } else { | ||||
mHandler.sendEmptyMessage(REFRESH_DATA); | mHandler.sendEmptyMessage(REFRESH_DATA); | ||||
} | } | ||||
@Override | |||||
public void getSphyVoice(byte cmd) { | |||||
} | |||||
@Override | @Override | ||||
public void sphyDataNow(int dia, int sys, int decimal, int pul, int unit) { | public void sphyDataNow(int dia, int sys, int decimal, int pul, int unit) { | ||||
String diaStr = BleDensityUtil.getInstance().holdDecimals(dia, decimal); | String diaStr = BleDensityUtil.getInstance().holdDecimals(dia, decimal); |
} | } | ||||
@Override | |||||
public void onHistoryNum(long allNum, long sendNum) { | |||||
} | |||||
@Override | |||||
public void onHistory(long time, byte[] value) { | |||||
} | |||||
@Override | |||||
public void onHistoryLast(long time) { | |||||
} | |||||
@Override | |||||
public void onDelHistory(int result) { | |||||
} | |||||
@Override | @Override | ||||
public void onData(byte[] status,int type) { | public void onData(byte[] status,int type) { | ||||
String data = ""; | String data = ""; |
import android.widget.ListView; | import android.widget.ListView; | ||||
import android.widget.RadioButton; | import android.widget.RadioButton; | ||||
import androidx.annotation.Nullable; | |||||
import com.pingwang.bluetoothlib.bean.BleValueBean; | import com.pingwang.bluetoothlib.bean.BleValueBean; | ||||
import com.pingwang.bluetoothlib.config.CmdConfig; | import com.pingwang.bluetoothlib.config.CmdConfig; | ||||
import com.pingwang.bluetoothlib.device.BleDevice; | import com.pingwang.bluetoothlib.device.BleDevice; | ||||
import com.pingwang.bluetoothlib.device.SendBleBean; | import com.pingwang.bluetoothlib.device.SendBleBean; | ||||
import com.pingwang.bluetoothlib.listener.OnCallbackBle; | import com.pingwang.bluetoothlib.listener.OnCallbackBle; | ||||
import com.pingwang.bluetoothlib.utils.BleStrUtils; | 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.AddUserDialog; | |||||
import java.lang.ref.WeakReference; | import java.lang.ref.WeakReference; | ||||
import java.util.ArrayList; | import java.util.ArrayList; | ||||
import java.util.List; | 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.AddUserDialog; | |||||
import androidx.annotation.Nullable; | |||||
import cn.net.aicare.modulelibrary.module.BodyFatScale.AppHistoryRecordBean; | import cn.net.aicare.modulelibrary.module.BodyFatScale.AppHistoryRecordBean; | ||||
import cn.net.aicare.modulelibrary.module.BodyFatScale.BodyFatBleUtilsData; | import cn.net.aicare.modulelibrary.module.BodyFatScale.BodyFatBleUtilsData; | ||||
import cn.net.aicare.modulelibrary.module.BodyFatScale.BodyFatDataUtil; | import cn.net.aicare.modulelibrary.module.BodyFatScale.BodyFatDataUtil; | ||||
@Override | @Override | ||||
public void requestSynTime() { | public void requestSynTime() { | ||||
mlogList.add(0, "同步时间"); | mlogList.add(0, "同步时间"); | ||||
if (bodyFatBleUtilsData != null) | |||||
if (bodyFatBleUtilsData != null) { | |||||
bodyFatBleUtilsData.sendData(BodyFatDataUtil.getInstance().synTime()); | bodyFatBleUtilsData.sendData(BodyFatDataUtil.getInstance().synTime()); | ||||
} | |||||
} | } | ||||
@Override | @Override | ||||
msg = msg + status + " 成功"; | msg = msg + status + " 成功"; | ||||
} else if (status == BodyFatDataUtil.STATUS_FAIL) { | } else if (status == BodyFatDataUtil.STATUS_FAIL) { | ||||
msg = msg + status + " 失败"; | msg = msg + status + " 失败"; | ||||
} else if (status == BodyFatDataUtil.STATUS_NOSUPORT) { | |||||
} else if (status == BodyFatDataUtil.STATUS_NOT_SUPPORT) { | |||||
msg = msg + status + " 不支持"; | msg = msg + status + " 不支持"; | ||||
} | } | ||||
mlogList.add(0, msg); | mlogList.add(0, msg); |
import android.widget.Toast; | import android.widget.Toast; | ||||
import com.elinkthings.bleotalibrary.listener.OnBleOTAListener; | import com.elinkthings.bleotalibrary.listener.OnBleOTAListener; | ||||
import com.elinkthings.bleotalibrary.netstrap.OPLOtaManager; | |||||
import com.pingwang.bluetoothlib.bean.BleValueBean; | import com.pingwang.bluetoothlib.bean.BleValueBean; | ||||
import com.pingwang.bluetoothlib.config.CmdConfig; | import com.pingwang.bluetoothlib.config.CmdConfig; | ||||
import com.pingwang.bluetoothlib.device.BleDevice; | import com.pingwang.bluetoothlib.device.BleDevice; | ||||
msg = msg + status + " 成功"; | msg = msg + status + " 成功"; | ||||
} else if (status == BodyFatDataUtil.STATUS_FAIL) { | } else if (status == BodyFatDataUtil.STATUS_FAIL) { | ||||
msg = msg + status + " 失败"; | msg = msg + status + " 失败"; | ||||
} else if (status == BodyFatDataUtil.STATUS_NOSUPORT) { | |||||
} else if (status == BodyFatDataUtil.STATUS_NOT_SUPPORT) { | |||||
msg = msg + status + " 不支持"; | msg = msg + status + " 不支持"; | ||||
} | } | ||||
mList.add(0, msg); | mList.add(0, msg); | ||||
String path = uri.getPath(); | String path = uri.getPath(); | ||||
mList.add(0, "ota准备就绪,请勿操作"); | mList.add(0, "ota准备就绪,请勿操作"); | ||||
listAdapter.notifyDataSetChanged(); | listAdapter.notifyDataSetChanged(); | ||||
bodyFatBleUtilsData.initOtaUtil(this, uri, new OnBleOTAListener() { | |||||
OPLOtaManager build = OPLOtaManager.newBuilder(this).setFilePath(uri).setOnBleOTAListener(new OnBleOTAListener() { | |||||
@Override | @Override | ||||
public void onOtaSuccess() { | public void onOtaSuccess() { | ||||
mList.add(0, "ota成功"); | mList.add(0, "ota成功"); | ||||
listAdapter.notifyDataSetChanged(); | listAdapter.notifyDataSetChanged(); | ||||
} | } | ||||
} | } | ||||
}); | |||||
} else { | |||||
}).build(bodyFatBleUtilsData.getBleDevice()); | |||||
build.startOta(); | |||||
} | } | ||||
} | } | ||||