逻辑完善
This commit is contained in:
parent
6378f323a3
commit
5126bb1ec8
|
|
@ -185,6 +185,7 @@ public class BindTwoDeviceActivity extends BaseActivity {
|
|||
return;
|
||||
}
|
||||
}
|
||||
// intent.setClass(BindTwoDeviceActivity.this, BindDeviceChoiceActivity.class);
|
||||
intent.setClass(BindTwoDeviceActivity.this, NewBindDeviceActivity.class);
|
||||
intent.putExtra("devicetype", "pet");
|
||||
intent.putExtra("title", "连接宠物系统");
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@ import android.widget.Toast;
|
|||
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
|
||||
import com.ifish.activity.BindTankPetActivity;
|
||||
import com.ifish.activity.BlackListActivity;
|
||||
import com.ifish.activity.LoadingActivity;
|
||||
import com.ifish.activity.MainEightControlActivity;
|
||||
|
|
@ -45,6 +46,7 @@ import com.ifish.utils.L;
|
|||
import com.ifish.utils.SPUtil;
|
||||
import com.ifish.utils.ToastUtil;
|
||||
import com.ifish.utils.WifiUtil;
|
||||
import com.ifish.view.PetPopupChoice;
|
||||
import com.lidroid.xutils.util.LogUtils;
|
||||
|
||||
import java.io.IOException;
|
||||
|
|
@ -53,6 +55,7 @@ import java.net.DatagramSocket;
|
|||
import java.net.InetAddress;
|
||||
import java.net.SocketException;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
import rx.Observable;
|
||||
import rx.Observer;
|
||||
|
|
@ -83,17 +86,21 @@ public class AirKissUtil {
|
|||
private String bssid = "";
|
||||
private String isSsidHiddenStr = "YES";
|
||||
|
||||
//当前需要连接的是什么设备
|
||||
private String devicetype;
|
||||
|
||||
private UDPReceiver udpReceiver = null;
|
||||
private DatagramSocket sendSocket = null;
|
||||
ProgressDialog mDialog = null;
|
||||
|
||||
private static final int REPLY_BYTE_CONFIRM_TIMES = 3;
|
||||
|
||||
public void init(AppCompatActivity activity) {
|
||||
public void init(AppCompatActivity activity, String devicetype) {
|
||||
wifiUtil = new WifiUtil(activity);
|
||||
sp = SPUtil.getInstance(activity);
|
||||
curActivity = activity;
|
||||
mDialog = new ProgressDialog(activity);
|
||||
this.devicetype = devicetype;
|
||||
if (sendSocket != null) {
|
||||
sendSocket.close();
|
||||
}
|
||||
|
|
@ -283,10 +290,17 @@ public class AirKissUtil {
|
|||
1,
|
||||
6);
|
||||
device_mac = mac;
|
||||
LogUtils.d("LHD 获取到的mac地址 = " + mac);
|
||||
LogUtils.d("LHD 获取到的mac地址 = " + mac+" 当前设备类型 devicetype = "+devicetype);
|
||||
if (!TextUtils.isEmpty(device_mac)) {
|
||||
stopAirKiss();
|
||||
doPostBindDevice();
|
||||
//todo 区分是否是宠物笼和摄像头
|
||||
if (TextUtils.isEmpty(devicetype)){
|
||||
doPostBindDevice();
|
||||
} else if ("pet".equals(devicetype)){
|
||||
doPostBindPetDevice();
|
||||
}else {
|
||||
doPostBindDevice();
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
@ -352,6 +366,34 @@ public class AirKissUtil {
|
|||
}
|
||||
}
|
||||
|
||||
private void doPostBindPetDevice(){
|
||||
hm.queryStoreName(new HttpListener<BaseBean<List<String>>>() {
|
||||
@Override
|
||||
public void success(final BaseBean<List<String>> baseBean) {
|
||||
curActivity.runOnUiThread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
new PetPopupChoice(curActivity, new PetPopupChoice.OnChoiceListener() {
|
||||
@Override
|
||||
public void onChoice(String s) {
|
||||
doPostBindPetDevice(s);
|
||||
}
|
||||
}, baseBean.data).showDialog();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void error(Exception e, String msg) {
|
||||
ToastUtil.show(curActivity, msg);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void finish() {
|
||||
|
||||
}
|
||||
}, Commons.USER.getUserId());
|
||||
}
|
||||
/**
|
||||
* @param
|
||||
* @Description: 给宠物设备发送入网指令
|
||||
|
|
|
|||
|
|
@ -2,8 +2,10 @@ package com.ifish.activity.newbind;
|
|||
|
||||
import static android.content.Context.WIFI_SERVICE;
|
||||
|
||||
import android.Manifest;
|
||||
import android.app.Dialog;
|
||||
import android.content.Intent;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.net.wifi.ScanResult;
|
||||
import android.net.wifi.WifiInfo;
|
||||
import android.net.wifi.WifiManager;
|
||||
|
|
@ -15,6 +17,7 @@ import android.widget.ProgressBar;
|
|||
import android.widget.TextView;
|
||||
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
import androidx.core.app.ActivityCompat;
|
||||
|
||||
import com.ifish.activity.HotSpotConnentDeviceActivity;
|
||||
import com.ifish.activity.HotSpotConnentDeviceCameraActivity;
|
||||
|
|
@ -73,6 +76,10 @@ public class CheckWifiUtil {
|
|||
return false;
|
||||
}
|
||||
WifiManager wifiManager = (WifiManager) activity.getApplicationContext().getSystemService(WIFI_SERVICE);
|
||||
if (ActivityCompat.checkSelfPermission(activity, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
|
||||
ToastUtil.show(activity.getApplicationContext(), "缺少联网权限");
|
||||
return false;
|
||||
}
|
||||
List<ScanResult> scanResults = wifiManager.getScanResults();
|
||||
// 是否是 2.4G
|
||||
boolean is24G = false;
|
||||
|
|
|
|||
|
|
@ -62,7 +62,7 @@ public class NewBindDeviceActivity extends AppCompatActivity {
|
|||
|
||||
//----------------变量区--------------------//
|
||||
private ConnectType curConnectType;//当前选择的连接类型 APConnect,SmartConfig,AirKiss
|
||||
|
||||
private boolean first = true;//首次进入
|
||||
//当前需要连接的是什么设备
|
||||
private String devicetype;
|
||||
|
||||
|
|
@ -81,8 +81,8 @@ public class NewBindDeviceActivity extends AppCompatActivity {
|
|||
initWifiName();
|
||||
checkWifiUtil = new CheckWifiUtil();
|
||||
airKissUtil = new AirKissUtil();
|
||||
airKissUtil.init(this);
|
||||
devicetype = getIntent().getStringExtra("devicetype");
|
||||
airKissUtil.init(this,devicetype);
|
||||
//默认AP联网
|
||||
curConnectType = ConnectType.AirKiss;
|
||||
switchUIConnectType(curConnectType);
|
||||
|
|
@ -207,6 +207,7 @@ public class NewBindDeviceActivity extends AppCompatActivity {
|
|||
*/
|
||||
public void switchUIConnectType(ConnectType connectType) {
|
||||
resetLayout();
|
||||
showToast(connectType);
|
||||
switch (connectType) {
|
||||
case SmartConfig:
|
||||
// 处理SmartConfig逻辑
|
||||
|
|
@ -223,11 +224,9 @@ public class NewBindDeviceActivity extends AppCompatActivity {
|
|||
tvTips.setText("1、插座仅支持2.4G的WiFi网络,不支持5G及双频合一的网络(需在路由器设置中分开)");
|
||||
tvTips2.setText("2、先长按插座复位键13秒左右,松手后红灯绿灯同时熄灭,只有绿灯偶尔闪烁,再点下一步。");
|
||||
tvTips3.setText("3、APP跳转到WLAN后,选择ifish-xxxx的网络,点击连接,密码是12345678,连好以后点击左上角返回箭头,耐心等待连接。");
|
||||
ToastUtil.show(this, "切换到AP联网");
|
||||
break;
|
||||
case AirKiss:
|
||||
tvConnectType.setText("一键联网");
|
||||
ToastUtil.show(this, "一键联网");
|
||||
tvClickButton.setText("确定");
|
||||
tvTips.setText("1、插座仅支持2.4G的WiFi网络,不支持5G及双频合一的网络(需在路由器设置中分开)");
|
||||
tvTips2.setText("2、先长按插座复位键3秒,松手后红灯绿灯同时闪烁以后,再点确定按钮。");
|
||||
|
|
@ -237,6 +236,25 @@ public class NewBindDeviceActivity extends AppCompatActivity {
|
|||
}
|
||||
}
|
||||
|
||||
private void showToast(ConnectType connectType){
|
||||
if (first){
|
||||
first = false;
|
||||
LogUtils.d("LHD 首次进入的时候不显示toast");
|
||||
return;
|
||||
}
|
||||
switch (connectType) {
|
||||
case SmartConfig:
|
||||
ToastUtil.show(this, "切换到快捷联网");
|
||||
break;
|
||||
case APConnect:
|
||||
ToastUtil.show(this, "切换到AP联网");
|
||||
break;
|
||||
case AirKiss:
|
||||
ToastUtil.show(this, "切换到一键联网");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据连接类型去连接设备
|
||||
*/
|
||||
|
|
@ -255,6 +273,7 @@ public class NewBindDeviceActivity extends AppCompatActivity {
|
|||
// 处理SmartConfig逻辑
|
||||
Intent intent = new Intent();
|
||||
String devicetype = getIntent().getStringExtra("devicetype");
|
||||
LogUtils.d("LHD 快捷联网 smartConfig devicetype = "+devicetype);
|
||||
if ("camera".equals(devicetype)) {
|
||||
intent.setClass(NewBindDeviceActivity.this, BindCameraActivity.class);
|
||||
} else if ("pet".equals(devicetype)) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue