ble蓝牙连接优化

This commit is contained in:
jia 2024-09-09 21:13:06 +08:00
parent c0cd52b1e2
commit 2e693984bb
7 changed files with 748 additions and 2092 deletions

View File

@ -191,17 +191,6 @@
android:theme="@style/MyAppTheme" android:theme="@style/MyAppTheme"
android:usesCleartextTraffic="true" android:usesCleartextTraffic="true"
tools:replace="android:icon,android:theme,android:allowBackup"> tools:replace="android:icon,android:theme,android:allowBackup">
<activity
android:name=".BluetoothActivity"
android:exported="false"
android:launchMode="singleTop"
android:theme="@style/Transparent" />
<activity
android:name=".BlueTooth2Activity"
android:exported="false"
android:launchMode="singleTop"
android:theme="@style/Transparent" />
<activity <activity
android:name=".NewBindDeviceChoiceActivity" android:name=".NewBindDeviceChoiceActivity"
android:exported="false" android:exported="false"
@ -793,10 +782,7 @@
android:name=".MainSix_4F_ControlActivity" android:name=".MainSix_4F_ControlActivity"
android:launchMode="singleTop" android:launchMode="singleTop"
android:theme="@style/Transparent" /> android:theme="@style/Transparent" />
<activity
android:name=".MainSix_4F_BlueControlActivity"
android:launchMode="singleTop"
android:theme="@style/Transparent" />
<activity <activity
android:name=".MainFour_3F_ControlActivity" android:name=".MainFour_3F_ControlActivity"
android:launchMode="singleTop" android:launchMode="singleTop"

View File

@ -7,24 +7,16 @@
*/ */
package com.ifish.activity; package com.ifish.activity;
import android.Manifest;
import android.app.AlertDialog; import android.app.AlertDialog;
import android.bluetooth.BluetoothAdapter;
import android.content.DialogInterface; import android.content.DialogInterface;
import android.content.Intent; import android.content.Intent;
import android.content.pm.PackageManager;
import android.os.Build; import android.os.Build;
import android.os.Bundle; import android.os.Bundle;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.Log;
import android.view.View; import android.view.View;
import android.widget.ImageView; import android.widget.ImageView;
import androidx.core.app.ActivityCompat;
import com.bumptech.glide.Glide; import com.bumptech.glide.Glide;
import com.ifish.activity.newbind.NewBindDeviceActivity; import com.ifish.activity.newbind.NewBindDeviceActivity;
import com.ifish.adapter.BlueToothController;
import com.ifish.baseclass.BaseActivity; import com.ifish.baseclass.BaseActivity;
import com.ifish.permission.PermissionHelper; import com.ifish.permission.PermissionHelper;
import com.ifish.utils.AnimationUtil; import com.ifish.utils.AnimationUtil;
@ -34,7 +26,6 @@ import com.ifish.utils.ToastUtil;
import com.ifish.utils.WifiAdmin; import com.ifish.utils.WifiAdmin;
import com.ifish.view.DisplayUtil; import com.ifish.view.DisplayUtil;
import java.util.ArrayList;
/** /**
* @author Jacky dada * @author Jacky dada
@ -47,7 +38,6 @@ public class BindTwoDeviceActivity extends BaseActivity {
private int width, height; private int width, height;
private WifiAdmin wifiAdmin; private WifiAdmin wifiAdmin;
private String wifissid = ""; private String wifissid = "";
private BlueToothController blueToothController = null;
private String[] perlist = null; private String[] perlist = null;
private PermissionHelper permissionHelper; private PermissionHelper permissionHelper;
@Override @Override
@ -55,7 +45,6 @@ public class BindTwoDeviceActivity extends BaseActivity {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
setContentView(R.layout.bindtwodevice_activity); setContentView(R.layout.bindtwodevice_activity);
initTitle("选择设备"); initTitle("选择设备");
blueToothController = new BlueToothController();
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.S){ if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.S){
perlist = new String[]{ perlist = new String[]{
android.Manifest.permission.BLUETOOTH_SCAN, android.Manifest.permission.BLUETOOTH_SCAN,
@ -281,10 +270,11 @@ public class BindTwoDeviceActivity extends BaseActivity {
@Override @Override
public void onClick(DialogInterface dialog, int which) { public void onClick(DialogInterface dialog, int which) {
dialog.dismiss(); dialog.dismiss();
blueToothController.open(BindTwoDeviceActivity.this);
AnimationUtil.finishAnimation(BindTwoDeviceActivity.this); AnimationUtil.finishAnimation(BindTwoDeviceActivity.this);
} }
}); });
dialog.show(); dialog.show();
} }
} }

View File

@ -435,8 +435,8 @@ public class NewBindDeviceActivity extends AppCompatActivity {
}else { }else {
AlertDialog.Builder dialog = new AlertDialog.Builder(NewBindDeviceActivity.this); AlertDialog.Builder dialog = new AlertDialog.Builder(NewBindDeviceActivity.this);
dialog.setCancelable(false); dialog.setCancelable(false);
dialog.setMessage("蓝牙没有打开,现在去申请打开蓝牙,请允许"); dialog.setMessage("蓝牙没有打开,现在去申请打开蓝牙,请允许后,在去确定连接");
dialog.setPositiveButton("我知道了", new DialogInterface.OnClickListener() { dialog.setPositiveButton("去申请", new DialogInterface.OnClickListener() {
@Override @Override
public void onClick( public void onClick(
DialogInterface dialog, DialogInterface dialog,
@ -1371,4 +1371,10 @@ public class NewBindDeviceActivity extends AppCompatActivity {
L.i("jjia--------没有连接的蓝牙---"); L.i("jjia--------没有连接的蓝牙---");
} }
} }
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
L.i(requestCode+"jjia--------result---"+resultCode);
}
} }

View File

@ -1,49 +1,49 @@
package com.ifish.adapter; //package com.ifish.adapter;
//
import android.Manifest; //import android.Manifest;
import android.annotation.SuppressLint; //import android.annotation.SuppressLint;
import android.app.Activity; //import android.app.Activity;
import android.bluetooth.BluetoothAdapter; //import android.bluetooth.BluetoothAdapter;
import android.content.Intent; //import android.content.Intent;
import android.content.pm.PackageManager; //import android.content.pm.PackageManager;
//
import androidx.core.app.ActivityCompat; //import androidx.core.app.ActivityCompat;
//
import com.ifish.utils.ToastUtil; //import com.ifish.utils.ToastUtil;
//
public class BlueToothController { //public class BlueToothController {
//
BluetoothAdapter adapter; // BluetoothAdapter adapter;
//
public BlueToothController() { // public BlueToothController() {
adapter = BluetoothAdapter.getDefaultAdapter(); // adapter = BluetoothAdapter.getDefaultAdapter();
} // }
//
public boolean isOpen() { // public boolean isOpen() {
if (adapter != null) { // if (adapter != null) {
return adapter.isEnabled(); // return adapter.isEnabled();
} else { // } else {
return false; // return false;
} // }
} // }
//
//
@SuppressLint("MissingPermission") // @SuppressLint("MissingPermission")
public void open(Activity activity) { // public void open(Activity activity) {
Intent intent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE); // Intent intent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
// Intent intent = new Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE); //// Intent intent = new Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE);
activity.startActivityForResult(intent, 11); // activity.startActivityForResult(intent, 11);
} // }
//
@SuppressLint("MissingPermission") // @SuppressLint("MissingPermission")
public boolean find(){ // public boolean find(){
if (adapter!=null){ // if (adapter!=null){
return adapter.startDiscovery(); // return adapter.startDiscovery();
}else { // }else {
return false; // return false;
} // }
//
//
} // }
//
} //}

View File

@ -65,7 +65,6 @@ import com.ifish.activity.BindTwoDeviceActivity;
import com.ifish.activity.BlackListActivity; import com.ifish.activity.BlackListActivity;
import com.ifish.activity.DeviceInstructionActivity; import com.ifish.activity.DeviceInstructionActivity;
import com.ifish.activity.InformationListActivity; import com.ifish.activity.InformationListActivity;
import com.ifish.activity.LookFishMineActivity;
import com.ifish.activity.MainEightControlActivity; import com.ifish.activity.MainEightControlActivity;
import com.ifish.activity.MainFiveBDControlActivity; import com.ifish.activity.MainFiveBDControlActivity;
import com.ifish.activity.MainFiveControlActivity; import com.ifish.activity.MainFiveControlActivity;
@ -116,15 +115,9 @@ import com.ifish.geewe.GeeWeUser;
import com.ifish.geewe.P2PListener; import com.ifish.geewe.P2PListener;
import com.ifish.geewe.SettingListener; import com.ifish.geewe.SettingListener;
import com.ifish.permission.PermissionHelper; import com.ifish.permission.PermissionHelper;
import com.ifish.tcp.BackFunctionCode7_11;
import com.ifish.tcp.ModelCodec;
import com.ifish.tcp.OrderDeviceConnectModel;
import com.ifish.tcp.OrderModel;
import com.ifish.utils.ActivityManager; import com.ifish.utils.ActivityManager;
import com.ifish.utils.AnimationUtil; import com.ifish.utils.AnimationUtil;
import com.ifish.utils.AppUtil; import com.ifish.utils.AppUtil;
import com.ifish.utils.BLEManger;
import com.ifish.utils.ByteUtil;
import com.ifish.utils.Commons; import com.ifish.utils.Commons;
import com.ifish.utils.Commons.LoginSPKey; import com.ifish.utils.Commons.LoginSPKey;
import com.ifish.utils.Commons.NetWork; import com.ifish.utils.Commons.NetWork;
@ -137,7 +130,6 @@ import com.ifish.utils.SPUtil;
import com.ifish.utils.ScreenUtil; import com.ifish.utils.ScreenUtil;
import com.ifish.utils.ToastUtil; import com.ifish.utils.ToastUtil;
import com.ifish.utils.UnreadCount; import com.ifish.utils.UnreadCount;
import com.ifish.utils.WifiAdmin;
import com.ifish.view.LevelDialog; import com.ifish.view.LevelDialog;
import com.ifish.view.MyBGARefreshLayout; import com.ifish.view.MyBGARefreshLayout;
import com.ifish.view.MyListView; import com.ifish.view.MyListView;
@ -219,10 +211,6 @@ public class DeviceFragment extends BaseV4Fragment implements ObservableScrollVi
private PermissionHelper permissionHelper; private PermissionHelper permissionHelper;
String[] permission; String[] permission;
// String[] permissionM = new String[]{android.Manifest.permission.CAMERA, android.Manifest.permission.ACCESS_FINE_LOCATION, android.Manifest.permission.READ_EXTERNAL_STORAGE, WRITE_EXTERNAL_STORAGE, android.Manifest.permission.READ_PHONE_STATE};
//
// String[] permission13 = new String[]{android.Manifest.permission.CAMERA, android.Manifest.permission.ACCESS_FINE_LOCATION, android.Manifest.permission.READ_PHONE_STATE};
@Override @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) { Bundle savedInstanceState) {
@ -1904,188 +1892,180 @@ public class DeviceFragment extends BaseV4Fragment implements ObservableScrollVi
public static final String WRITE_UUID = "0000ff01-0000-1000-8000-00805f9b34fb"; //写特征 public static final String WRITE_UUID = "0000ff01-0000-1000-8000-00805f9b34fb"; //写特征
String device_mac=null; String device_mac=null;
private void sendBleData(){ // private void sendBleData(){
//
//// String ssid = tvWifiName.getText().toString();
//// String pwd = tvWifiPwd.getText().toString();
//
// WifiAdmin wifiAdmin = new WifiAdmin(requireContext());
// String wifissid = wifiAdmin.getSSID();
// L.i("jjia 获取当前连接的wifi:" + wifissid);
// wifissid = wifiAdmin.updateSsid(wifissid);
// String wifiname = wifissid;
// if (TextUtils.isEmpty(wifissid)) {
// wifiname = "";
// } else {
// if ("0x".equals(wifissid)) {//上次连接过wifi但是中途断开则会出现0x
// wifiname = "";
// }
// }
//// tvWifiName.setText(wifiname);
// L.i("jjia----------------wifiname="+wifiname);
// String pwd = null;
// if (!TextUtils.isEmpty(wifiname)) {
//// String pwd = KVUtil.getString(wifiname, "");
// pwd = sp.getString(wifiname, "");
//
// }
// L.i(wifiname+"jjia---------name--1-"+pwd);
//
//
//
// OrderDeviceConnectModel model = OrderModel.OrderDeviceConnectModel(wifiname, pwd);//设置正式环境域名
// byte[] data = ModelCodec.enCode(model);
// BleManager.getInstance().write(currentDevice, SERVICE_UUID, WRITE_UUID, data,false, new BleWriteCallback() {
// @Override
// public void onWriteSuccess(int current, int total, byte[] justWrite) {
// L.i("jjia-------------ssid 发送");
// }
//
// @Override
// public void onWriteFailure(BleException exception) {
//
// }
// });
// }
// String ssid = tvWifiName.getText().toString(); // private void checkoutMac(String mac){
// String pwd = tvWifiPwd.getText().toString(); //
// if (!TextUtils.isEmpty(mac)){
WifiAdmin wifiAdmin = new WifiAdmin(requireContext()); // boolean isSameName = false;
String wifissid = wifiAdmin.getSSID(); // devicePosition = 0;
L.i("jjia 获取当前连接的wifi:" + wifissid); // try {
wifissid = wifiAdmin.updateSsid(wifissid); // if (Commons.DEVICE != null) {
String wifiname = wifissid; // if (Commons.DEVICE.size() != 0) {
if (TextUtils.isEmpty(wifissid)) { // for (int i = 0; i < Commons.DEVICE.size(); i++) {
wifiname = ""; // if (mac.equals(Commons.DEVICE.get(i).getMacAddress())) {
} else { // devicePosition = i;
if ("0x".equals(wifissid)) {//上次连接过wifi但是中途断开则会出现0x // isSameName = true;
wifiname = ""; // break;
} // }
} // }
// tvWifiName.setText(wifiname); // }
L.i("jjia----------------wifiname="+wifiname); // }
String pwd = null; // } catch (Exception e) {
if (!TextUtils.isEmpty(wifiname)) { // e.printStackTrace();
// String pwd = KVUtil.getString(wifiname, ""); // }
pwd = sp.getString(wifiname, ""); //
//
} // if (!isSameName){
L.i(wifiname+"jjia---------name--1-"+pwd); // L.i("jjia-------------不包含");
// requireActivity().runOnUiThread(new Runnable() {
// @Override
// public void run() {
OrderDeviceConnectModel model = OrderModel.OrderDeviceConnectModel(wifiname, pwd);//设置正式环境域名 // // 检测页面
byte[] data = ModelCodec.enCode(model); // AlertDialog.Builder dialog = new AlertDialog.Builder(requireContext(), AlertDialog.THEME_HOLO_LIGHT);
BleManager.getInstance().write(currentDevice, SERVICE_UUID, WRITE_UUID, data,false, new BleWriteCallback() { // dialog.setCancelable(true);
@Override // dialog.setTitle("提示");
public void onWriteSuccess(int current, int total, byte[] justWrite) { // dialog.setMessage("发现一个新设备是否去添加");
L.i("jjia-------------ssid 发送"); // dialog.setNegativeButton("取消", new DialogInterface.OnClickListener() {
} // @Override
// public void onClick(DialogInterface arg0, int arg1) {
@Override // arg0.dismiss();
public void onWriteFailure(BleException exception) { // }
// });
} // dialog.setPositiveButton("确定", (dialog1, which) -> {
}); // dialog1.dismiss();
} // Intent intent = new Intent();
// intent.setClass(requireActivity(), NewBindDeviceActivity.class);
private void checkoutMac(String mac){ // intent.putExtra("title", "连接水族箱");
// intent.putExtra("type", "bluetooth");
if (!TextUtils.isEmpty(mac)){ // intent.putExtra("device", currentDevice);
boolean isSameName = false; // startActivity(intent);
devicePosition = 0; // AnimationUtil.finishAnimation(requireActivity());
try { // });
if (Commons.DEVICE != null) { // dialog.show();
if (Commons.DEVICE.size() != 0) { // }
for (int i = 0; i < Commons.DEVICE.size(); i++) { // });
if (mac.equals(Commons.DEVICE.get(i).getMacAddress())) { // }
devicePosition = i; // }
isSameName = true; // }
break; // private void openNotify(){
} // BleManager.getInstance().notify(currentDevice, SERVICE_UUID, WRITE_UUID, new BleNotifyCallback() {
} // @Override
} // public void onNotifySuccess() {
} // sendBleData();
} catch (Exception e) { // }
e.printStackTrace(); //
} // @Override
// public void onNotifyFailure(BleException exception) {
// dismissProgressDialogCancelble();
if (!isSameName){ // }
L.i("jjia-------------不包含"); //
requireActivity().runOnUiThread(new Runnable() { // @Override
@Override // public void onCharacteristicChanged(byte[] data) {
public void run() { //
// 检测页面 // if (data!=null && data.length>0){
AlertDialog.Builder dialog = new AlertDialog.Builder(requireContext(), AlertDialog.THEME_HOLO_LIGHT); // int check_code = data[1];
dialog.setCancelable(true); // int length = data[14];
dialog.setTitle("提示"); // byte[] dataByte = new byte[length];
dialog.setMessage("发现一个新设备是否去添加"); // for (int i = 0; i < dataByte.length; i++) {
dialog.setNegativeButton("取消", new DialogInterface.OnClickListener() { // dataByte[i] = data[i];
@Override // }
public void onClick(DialogInterface arg0, int arg1) { //
arg0.dismiss(); // Object object = ModelCodec.deCode(dataByte);
} // if (object!=null && object instanceof BackFunctionCode7_11){
}); // BackFunctionCode7_11 model = (BackFunctionCode7_11) object;
dialog.setPositiveButton("确定", (dialog1, which) -> { // device_mac = ByteUtil.bytesToHexString(model.getSrc());
dialog1.dismiss(); // checkoutMac(device_mac);
Intent intent = new Intent(); // } else {
intent.setClass(requireActivity(), NewBindDeviceActivity.class); // }
intent.putExtra("title", "连接水族箱"); // L.i("jjia-------device_mac-"+device_mac);
intent.putExtra("type", "bluetooth"); // }
intent.putExtra("device", currentDevice); // }
startActivity(intent); // });
AnimationUtil.finishAnimation(requireActivity()); // }
}); // private void connectBle(){
dialog.show(); // BleManager.getInstance().connect(currentDevice, new BleGattCallback() {
} // @Override
}); // public void onStartConnect() {
} //
} // L.i("jjia---------conne------");
} // }
private void openNotify(){ //
BleManager.getInstance().notify(currentDevice, SERVICE_UUID, WRITE_UUID, new BleNotifyCallback() { // @Override
@Override // public void onConnectFail(BleDevice bleDevice, BleException exception) {
public void onNotifySuccess() { // }
sendBleData(); //
} // @Override
// public void onConnectSuccess(BleDevice bleDevice, BluetoothGatt gatt, int status) {
@Override //// ToastUtil.show(NewBindDeviceActivity.this,"蓝牙连接成功");
public void onNotifyFailure(BleException exception) { // BleManager.getInstance().setMtu(bleDevice, 512, new BleMtuChangedCallback() {
dismissProgressDialogCancelble(); // @Override
} // public void onSetMTUFailure(BleException exception) {
// }
@Override //
public void onCharacteristicChanged(byte[] data) { // @Override
// public void onMtuChanged(int mtu) {
if (data!=null && data.length>0){ // openNotify();
int check_code = data[1]; // }
int length = data[14]; // });
byte[] dataByte = new byte[length]; // }
for (int i = 0; i < dataByte.length; i++) { //
dataByte[i] = data[i]; // @Override
} // public void onDisConnected(boolean isActiveDisConnected, BleDevice device, BluetoothGatt gatt, int status) {
// }
Object object = ModelCodec.deCode(dataByte); // });
if (object!=null && object instanceof BackFunctionCode7_11){ // }
BackFunctionCode7_11 model = (BackFunctionCode7_11) object;
device_mac = ByteUtil.bytesToHexString(model.getSrc());
checkoutMac(device_mac);
} else {
}
L.i("jjia-------device_mac-"+device_mac);
}
}
});
}
private void connectBle(){
BleManager.getInstance().connect(currentDevice, new BleGattCallback() {
@Override
public void onStartConnect() {
L.i("jjia---------conne------");
}
@Override
public void onConnectFail(BleDevice bleDevice, BleException exception) {
}
@Override
public void onConnectSuccess(BleDevice bleDevice, BluetoothGatt gatt, int status) {
// ToastUtil.show(NewBindDeviceActivity.this,"蓝牙连接成功");
BleManager.getInstance().setMtu(bleDevice, 512, new BleMtuChangedCallback() {
@Override
public void onSetMTUFailure(BleException exception) {
}
@Override
public void onMtuChanged(int mtu) {
openNotify();
}
});
}
@Override
public void onDisConnected(boolean isActiveDisConnected, BleDevice device, BluetoothGatt gatt, int status) {
}
});
}
private void initBooth(){ private void initBooth(){
boolean enable = BleManager.getInstance().isBlueEnable(); boolean enable = BleManager.getInstance().isBlueEnable();
if (enable) { if (enable) {
// BLEManger.getInstance().startDiscovery(true);
BleManager.getInstance().scan(new BleScanCallback() { BleManager.getInstance().scan(new BleScanCallback() {
@Override @Override
public void onScanFinished(List<BleDevice> scanResultList) { public void onScanFinished(List<BleDevice> scanResultList) {
if (currentDevice!=null){ // 扫描结束有设备 if (currentDevice!=null){ // 扫描结束有设备
L.i("jjia---------scan---end-2--"); showDevice();
connectBle();
}else {
L.i("jjia---------scan---end--1-");
} }
} }
@Override @Override
@ -2110,34 +2090,8 @@ public class DeviceFragment extends BaseV4Fragment implements ObservableScrollVi
} }
BleDevice currentDevice; BleDevice currentDevice;
Boolean lifecycle = true;
public void onEventMainThread(BluetoothDevice event) { public void onEventMainThread(BluetoothDevice event) {
L.i("jjia---------home---scan---");
if (BLEManger.getInstance().isHome && event!=null && lifecycle){ // 搜索到蓝牙了
// 检测页面
AlertDialog.Builder dialog = new AlertDialog.Builder(requireContext(), AlertDialog.THEME_HOLO_LIGHT);
dialog.setCancelable(true);
dialog.setTitle("提示");
dialog.setMessage("发现一个新设备是否去添加");
dialog.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
arg0.dismiss();
}
});
dialog.setPositiveButton("确定", (dialog1, which) -> {
dialog1.dismiss();
Intent intent = new Intent();
intent.setClass(requireActivity(), NewBindDeviceActivity.class);
intent.putExtra("title", "连接水族箱");
intent.putExtra("type", "bluetooth");
startActivity(intent);
AnimationUtil.finishAnimation(requireActivity());
});
dialog.show();
}
} }
public void onEventMainThread(EventBean eventBean){ public void onEventMainThread(EventBean eventBean){
@ -2146,9 +2100,28 @@ public class DeviceFragment extends BaseV4Fragment implements ObservableScrollVi
} }
} }
@Override public void showDevice(){
public void onPause() { // 检测页面
super.onPause(); AlertDialog.Builder dialog = new AlertDialog.Builder(requireContext(), AlertDialog.THEME_HOLO_LIGHT);
lifecycle = false; dialog.setCancelable(true);
dialog.setTitle("提示");
dialog.setMessage("发现一个新设备是否去添加");
dialog.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
arg0.dismiss();
}
});
dialog.setPositiveButton("确定", (dialog1, which) -> {
dialog1.dismiss();
Intent intent = new Intent();
intent.setClass(requireActivity(), NewBindDeviceActivity.class);
intent.putExtra("title", "连接水族箱");
intent.putExtra("type", "bluetooth");
intent.putExtra("device", currentDevice);
startActivity(intent);
AnimationUtil.finishAnimation(requireActivity());
});
dialog.show();
} }
} }

File diff suppressed because it is too large Load Diff