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