显示附近蓝牙设备
This commit is contained in:
@@ -75,7 +75,6 @@ public class AddDeviceActivity extends BaseActivity<AddDeviceLayoutBinding, Devi
|
||||
if (animationDrawable.isRunning()) {
|
||||
animationDrawable.stop();
|
||||
viewBinding.ivScanAnimation.setVisibility(GONE);
|
||||
viewBinding.imgDeviceItem.setVisibility(VISIBLE);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -87,7 +86,6 @@ public class AddDeviceActivity extends BaseActivity<AddDeviceLayoutBinding, Devi
|
||||
private void initListener() {
|
||||
setClick(viewBinding.includedTitle.imgBack);
|
||||
setClick(viewBinding.tvScanAdd);
|
||||
setClick(viewBinding.imgDeviceItem);
|
||||
}
|
||||
|
||||
private void setClick(View view) {
|
||||
|
||||
@@ -16,6 +16,7 @@ import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.os.ParcelUuid;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
import android.widget.ImageView;
|
||||
@@ -25,6 +26,7 @@ import androidx.annotation.NonNull;
|
||||
import androidx.appcompat.app.AlertDialog;
|
||||
import androidx.core.content.ContextCompat;
|
||||
|
||||
import com.chad.library.adapter.base.BaseQuickAdapter;
|
||||
import com.ckkj.water.BuildConfig;
|
||||
import com.ckkj.water.ConstantUtil;
|
||||
import com.ckkj.water.R;
|
||||
@@ -47,6 +49,7 @@ import com.maning.mlkitscanner.scan.callback.act.MNScanCallback;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
@@ -76,6 +79,7 @@ public class AddDeviceActivity_copy extends BaseActivity<AddDeviceLayoutBinding,
|
||||
private boolean bluetoothReady = false;
|
||||
private BleScanDeviceAdapter bleAdapter;
|
||||
private List<WaterDeviceEntity> mDeviceList = new ArrayList<>();
|
||||
private Set<String> discoveredMacSet = new HashSet<>();
|
||||
|
||||
@Override
|
||||
public DevicePresenter createPresenter() {
|
||||
@@ -148,17 +152,26 @@ public class AddDeviceActivity_copy extends BaseActivity<AddDeviceLayoutBinding,
|
||||
@Override
|
||||
public void onScanResult(int callbackType, @NonNull ScanResult result) {
|
||||
super.onScanResult(callbackType, result);
|
||||
//Mac地址
|
||||
String deviceAddress = result.getDevice().getAddress();
|
||||
// 去重:已存在的设备不再添加
|
||||
if (discoveredMacSet.contains(deviceAddress)) {
|
||||
return;
|
||||
}
|
||||
discoveredMacSet.add(deviceAddress);
|
||||
|
||||
WaterDeviceEntity bean = new WaterDeviceEntity();
|
||||
//设备名字
|
||||
String deviceName = result.getScanRecord() != null ?
|
||||
result.getScanRecord().getDeviceName() : "无名称";
|
||||
//Mac地址
|
||||
String deviceAddress = result.getDevice().getAddress();
|
||||
|
||||
bean.setDeviceName(deviceName);
|
||||
bean.setMacAddress(deviceAddress);
|
||||
mDeviceList.add(bean);
|
||||
bleAdapter.notifyItemInserted(mDeviceList.size() - 1);
|
||||
if(bleAdapter.getItemCount() != 0){
|
||||
viewBinding.rvDevices.setVisibility(VISIBLE);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -242,6 +255,17 @@ public class AddDeviceActivity_copy extends BaseActivity<AddDeviceLayoutBinding,
|
||||
setClick(viewBinding.includedTitle.imgBack);
|
||||
setClick(viewBinding.tvScanAdd);
|
||||
setClick(viewBinding.btnBleScan);
|
||||
|
||||
if(bleAdapter != null){
|
||||
bleAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
|
||||
@Override
|
||||
public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
|
||||
ToastUtil.showShort(mContext, TextUtils.isEmpty(mDeviceList.get(position).getDeviceName()) ?
|
||||
"未知设备" : mDeviceList.get(position).getDeviceName());
|
||||
//TODO 准备连接设备,方案未定
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
private void setClick(View view) {
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.ckkj.water.device.adapter;
|
||||
|
||||
import android.content.Context;
|
||||
import android.text.TextUtils;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
@@ -25,6 +26,6 @@ public class BleScanDeviceAdapter extends BaseQuickAdapter<WaterDeviceEntity, Ba
|
||||
|
||||
@Override
|
||||
protected void convert(BaseViewHolder helper, WaterDeviceEntity item) {
|
||||
helper.setText(R.id.tv_device_name,item.getDeviceName());
|
||||
helper.setText(R.id.tv_device_name, TextUtils.isEmpty(item.getDeviceName())? "未知设备" : item.getDeviceName());
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user