增加设备入网代码,完善airkiss发送逻辑
This commit is contained in:
parent
ac765ef03d
commit
14bd2910aa
|
|
@ -1,15 +1,46 @@
|
||||||
package com.ifish.activity.newbind;
|
package com.ifish.activity.newbind;
|
||||||
|
|
||||||
import android.app.ProgressDialog;
|
import android.app.ProgressDialog;
|
||||||
|
import android.content.Intent;
|
||||||
|
import android.os.CountDownTimer;
|
||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
import androidx.appcompat.app.AppCompatActivity;
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
|
|
||||||
|
import com.ifish.activity.BlackListActivity;
|
||||||
|
import com.ifish.activity.LoadingActivity;
|
||||||
|
import com.ifish.activity.MainEightControlActivity;
|
||||||
|
import com.ifish.activity.MainFiveBDControlActivity;
|
||||||
|
import com.ifish.activity.MainFiveControlActivity;
|
||||||
|
import com.ifish.activity.MainFourControlActivity;
|
||||||
|
import com.ifish.activity.MainFour_2B_ControlActivity;
|
||||||
|
import com.ifish.activity.MainFour_3F_ControlActivity;
|
||||||
|
import com.ifish.activity.MainHot_3A_ControlActivity;
|
||||||
|
import com.ifish.activity.MainSeven_2F_ControlActivity;
|
||||||
|
import com.ifish.activity.MainSixControlActivity;
|
||||||
|
import com.ifish.activity.MainSix_2A_ControlActivity;
|
||||||
|
import com.ifish.activity.MainSix_4F_ControlActivity;
|
||||||
|
import com.ifish.activity.MainThree1CControlActivity;
|
||||||
|
import com.ifish.activity.MainThreeControlActivity;
|
||||||
|
import com.ifish.activity.MainTwoControlActivity;
|
||||||
|
import com.ifish.activity.MainZeroControlActivity;
|
||||||
|
import com.ifish.activity.NewBindDeviceChoiceActivity;
|
||||||
import com.ifish.airkiss.AirKissEncoder;
|
import com.ifish.airkiss.AirKissEncoder;
|
||||||
import com.ifish.airkiss.Str_Hex;
|
import com.ifish.airkiss.Str_Hex;
|
||||||
|
import com.ifish.basebean.BaseBean;
|
||||||
|
import com.ifish.basebean.Device;
|
||||||
|
import com.ifish.baseclass.BaseGradeActivity;
|
||||||
|
import com.ifish.utils.AnimationUtil;
|
||||||
|
import com.ifish.utils.Commons;
|
||||||
|
import com.ifish.utils.HttpListener;
|
||||||
|
import com.ifish.utils.HttpManager;
|
||||||
|
import com.ifish.utils.L;
|
||||||
|
import com.ifish.utils.SPUtil;
|
||||||
import com.ifish.utils.ToastUtil;
|
import com.ifish.utils.ToastUtil;
|
||||||
|
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;
|
||||||
|
|
@ -18,6 +49,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.Subscription;
|
import rx.Subscription;
|
||||||
|
|
@ -37,6 +69,19 @@ public class AirKissUtil {
|
||||||
private Subscription sendSubscribe;
|
private Subscription sendSubscribe;
|
||||||
private Subscription receiveSubscribe;
|
private Subscription receiveSubscribe;
|
||||||
private String device_mac;
|
private String device_mac;
|
||||||
|
private WifiUtil wifiUtil;
|
||||||
|
private Device deviceObj;
|
||||||
|
private HttpManager hm = HttpManager.getInstance();
|
||||||
|
private boolean deviceIsNull = false;///当服务器返回的设备控制器数和定时器数为null的时候 改变标记的值 不跳转进入主界面
|
||||||
|
private int deviceIsNullNum = 0;//循环请求次数
|
||||||
|
private CountDownTimer deviceIsNullTimer;
|
||||||
|
private SPUtil sp;
|
||||||
|
private AppCompatActivity curActivity;
|
||||||
|
public void init(AppCompatActivity activity){
|
||||||
|
wifiUtil = new WifiUtil(activity);
|
||||||
|
sp = SPUtil.getInstance(activity);
|
||||||
|
curActivity = activity;
|
||||||
|
}
|
||||||
|
|
||||||
public void connectDeviceByAirKiss(AppCompatActivity activity, String ssid, String password) {
|
public void connectDeviceByAirKiss(AppCompatActivity activity, String ssid, String password) {
|
||||||
if (sendSubscribe != null && sendSubscribe.isUnsubscribed()) {
|
if (sendSubscribe != null && sendSubscribe.isUnsubscribed()) {
|
||||||
|
|
@ -59,9 +104,9 @@ public class AirKissUtil {
|
||||||
sendSocket.setBroadcast(true);
|
sendSocket.setBroadcast(true);
|
||||||
// 从AirKissEncoder对象中获取编码后的数据数组。
|
// 从AirKissEncoder对象中获取编码后的数据数组。
|
||||||
int[] encoded_data = airKissEncoder.getEncodedData();
|
int[] encoded_data = airKissEncoder.getEncodedData();
|
||||||
for (int i = 0; i < 5; i++) {
|
for (int i = 0; i < 2; i++) {
|
||||||
for (int encoded_datum : encoded_data) {
|
for (int encoded_datum : encoded_data) {
|
||||||
DatagramPacket pkg = new DatagramPacket(sendBuffer, encoded_datum, InetAddress.getByName("192.168.4.1"), 333);
|
DatagramPacket pkg = new DatagramPacket(sendBuffer, encoded_datum, InetAddress.getByName("255.255.255.255"), 10000);
|
||||||
sendSocket.send(pkg);
|
sendSocket.send(pkg);
|
||||||
Thread.sleep(4);
|
Thread.sleep(4);
|
||||||
}
|
}
|
||||||
|
|
@ -82,6 +127,35 @@ public class AirKissUtil {
|
||||||
@Override
|
@Override
|
||||||
public void onCompleted() {
|
public void onCompleted() {
|
||||||
LogUtils.d("LHD onCompleted");
|
LogUtils.d("LHD onCompleted");
|
||||||
|
// device_mac = "";
|
||||||
|
// device_mac = wifiUtil.getConnectWifiBssid();
|
||||||
|
// hm.queryStoreName(new HttpListener<BaseBean<List<String>>>() {
|
||||||
|
// @Override
|
||||||
|
// public void success(final BaseBean<List<String>> baseBean) {
|
||||||
|
// activity.runOnUiThread(new Runnable() {
|
||||||
|
// @Override
|
||||||
|
// public void run() {
|
||||||
|
// new PetPopupChoice(activity, new PetPopupChoice.OnChoiceListener() {
|
||||||
|
// @Override
|
||||||
|
// public void onChoice(String s) {
|
||||||
|
// doPostBindDevice(s);
|
||||||
|
// }
|
||||||
|
// }, baseBean.data).showDialog();
|
||||||
|
// }
|
||||||
|
// });
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// @Override
|
||||||
|
// public void error(Exception e, String msg) {
|
||||||
|
//// resetWifiContentView();
|
||||||
|
// ToastUtil.show(activity, msg);
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// @Override
|
||||||
|
// public void finish() {
|
||||||
|
//
|
||||||
|
// }
|
||||||
|
// }, Commons.USER.getUserId());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
@ -109,30 +183,31 @@ public class AirKissUtil {
|
||||||
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
// receiveUDPPackage(activity);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void receiveUDPPackage(AppCompatActivity activity) {
|
public void receiveUDPPackage(AppCompatActivity activity) {
|
||||||
|
|
||||||
//接收udp包
|
//接收udp包
|
||||||
receiveSubscribe = Observable.create(new Observable.OnSubscribe<String>() {
|
receiveSubscribe = Observable.create(new Observable.OnSubscribe<String>() {
|
||||||
@Override
|
@Override
|
||||||
public void call(Subscriber<? super String> subscriber) {
|
public void call(Subscriber<? super String> subscriber) {
|
||||||
byte[] buffer = new byte[15000];
|
try (DatagramSocket udpServerSocket = new DatagramSocket(10000)) {
|
||||||
try (DatagramSocket udpServerSocket = new DatagramSocket(9954)) {
|
|
||||||
udpServerSocket.setSoTimeout(1000 * 60);
|
udpServerSocket.setSoTimeout(1000 * 60);
|
||||||
DatagramPacket packet = new DatagramPacket(buffer, buffer.length);
|
|
||||||
while (true) {
|
while (true) {
|
||||||
LogUtils.d("LHD receiveUDP status running");
|
byte[] buffer = new byte[1024];
|
||||||
|
DatagramPacket packet = new DatagramPacket(buffer, buffer.length);
|
||||||
udpServerSocket.receive(packet);
|
udpServerSocket.receive(packet);
|
||||||
buffer = packet.getData();
|
buffer = packet.getData();
|
||||||
|
|
||||||
|
Log.e("LHD test9999999990","收到的udp包 1:" + new String(buffer));
|
||||||
String hexString = Str_Hex.byte2hex(buffer);
|
String hexString = Str_Hex.byte2hex(buffer);
|
||||||
|
Log.e("LHD test9999999990","收到的udp包地址:" + packet.getAddress() + "///"+ WifiUtil.intToIp(wifiUtil.getConnectIpAddress()));
|
||||||
|
Log.e("LHD test9999999990","收到的udp包 2:" + hexString);
|
||||||
|
|
||||||
|
LogUtils.d("LHD airkiss = "+packet.getSocketAddress()+" port = "+packet.getPort());
|
||||||
//对收到的UDP包进行解码
|
//对收到的UDP包进行解码
|
||||||
//各个设备返回的UDP包格式不一样 将解码的UDP包通过RxJava发送到主线程 进行UI处理
|
//各个设备返回的UDP包格式不一样 将解码的UDP包通过RxJava发送到主线程 进行UI处理
|
||||||
if (!TextUtils.isEmpty(hexString)) {
|
if (!TextUtils.isEmpty(hexString)) {
|
||||||
LogUtils.d("LHD receiveUDP : " + hexString);
|
Log.d("LHD received:", hexString);
|
||||||
subscriber.onNext(hexString);
|
subscriber.onNext(hexString);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
@ -178,11 +253,99 @@ public class AirKissUtil {
|
||||||
@Override
|
@Override
|
||||||
public void onNext(String s) {
|
public void onNext(String s) {
|
||||||
ToastUtil.show(activity, "收到的UDP包:" + s);
|
ToastUtil.show(activity, "收到的UDP包:" + s);
|
||||||
|
doPostBindDevice();
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param
|
||||||
|
* @Description: 给设备发送入网指令
|
||||||
|
* @author Jacky dada
|
||||||
|
* @date 2015-9-21 下午3:05:01
|
||||||
|
*/
|
||||||
|
private void doPostBindDevice() {
|
||||||
|
try {
|
||||||
|
hm.bindDevice(new HttpListener<BaseBean<Device>>() {
|
||||||
|
private int result;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void success(BaseBean<Device> baseBean) {
|
||||||
|
result = baseBean.result;
|
||||||
|
if (result == Commons.NetWork.Success) {
|
||||||
|
deviceObj = baseBean.data;
|
||||||
|
deviceObj.setMacAddress(device_mac);
|
||||||
|
/**
|
||||||
|
//当服务器返回的设备控制器数和定时器数为null的时候 不跳转进入主界面
|
||||||
|
*/
|
||||||
|
if (deviceObj.getControlAmount() == null || deviceObj.getTimerAmount() == null) {
|
||||||
|
L.i("第一次获取空");
|
||||||
|
deviceIsNull = true;
|
||||||
|
deviceIsNullNum = 0;
|
||||||
|
startDeviceIsNullTimer();//启动倒计时
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void finish() {
|
||||||
|
doPostBindDeviceHandler.sendEmptyMessage(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void error(Exception e, String msg) {
|
||||||
|
result = Commons.NetWork.ERROR;
|
||||||
|
}
|
||||||
|
}, Commons.USER.getUserId(), device_mac);
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param
|
||||||
|
* @Description: 给宠物设备发送入网指令
|
||||||
|
* @author Jacky dada
|
||||||
|
* @date 2015-9-21 下午3:05:01
|
||||||
|
*/
|
||||||
|
private void doPostBindPetDevice(String storeName) {
|
||||||
|
try {
|
||||||
|
hm.bindPetDevice(new HttpListener<BaseBean<Device>>() {
|
||||||
|
private int result;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void success(BaseBean<Device> baseBean) {
|
||||||
|
result = baseBean.result;
|
||||||
|
if (result == Commons.NetWork.Success) {
|
||||||
|
deviceObj = baseBean.data;
|
||||||
|
deviceObj.setMacAddress(device_mac);
|
||||||
|
/**
|
||||||
|
//当服务器返回的设备控制器数和定时器数为null的时候 不跳转进入主界面
|
||||||
|
*/
|
||||||
|
if (deviceObj.getControlAmount() == null || deviceObj.getTimerAmount() == null) {
|
||||||
|
deviceIsNull = true;
|
||||||
|
deviceIsNullNum = 0;
|
||||||
|
startDeviceIsNullTimer();//启动倒计时
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void finish() {
|
||||||
|
doPostBindDeviceHandler.sendEmptyMessage(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void error(Exception e, String msg) {
|
||||||
|
result = Commons.NetWork.ERROR;
|
||||||
|
}
|
||||||
|
}, Commons.USER.getUserId(), device_mac, storeName);
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public void unSubscribe() {
|
public void unSubscribe() {
|
||||||
if (sendSubscribe != null && sendSubscribe.isUnsubscribed()) {
|
if (sendSubscribe != null && sendSubscribe.isUnsubscribed()) {
|
||||||
|
|
@ -193,4 +356,348 @@ public class AirKissUtil {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void startDeviceIsNullTimer() {
|
||||||
|
if (deviceIsNullTimer == null) {
|
||||||
|
deviceIsNullTimer = new CountDownTimer(2000, 1000) {
|
||||||
|
@Override
|
||||||
|
public void onTick(long arg0) {
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onFinish() {
|
||||||
|
L.i("重新请求");
|
||||||
|
//拿到设备id 去服务器查询 看看是否为空
|
||||||
|
try {
|
||||||
|
hm.getSingleDeviceInf(new HttpListener<BaseBean<Device>>() {
|
||||||
|
private int result;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void success(BaseBean<Device> baseBean) {
|
||||||
|
result = baseBean.result;
|
||||||
|
deviceObj = baseBean.data;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void finish() {
|
||||||
|
deviceIsNullHandler.sendEmptyMessage(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void error(Exception e, String msg) {
|
||||||
|
result = Commons.NetWork.ERROR;
|
||||||
|
}
|
||||||
|
}, deviceObj.getDeviceId(), Commons.USER.getUserId());
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
deviceIsNullTimer.start();
|
||||||
|
}
|
||||||
|
|
||||||
|
Handler deviceIsNullHandler = new Handler() {
|
||||||
|
|
||||||
|
|
||||||
|
public void handleMessage(android.os.Message msg) {
|
||||||
|
L.i("请求结束");
|
||||||
|
switch (msg.what) {
|
||||||
|
case Commons.NetWork.Success:
|
||||||
|
if (deviceObj.getControlAmount() == null || deviceObj.getTimerAmount() == null) {
|
||||||
|
deviceIsNullNum = deviceIsNullNum + 1;
|
||||||
|
if (deviceIsNullNum < 3) {
|
||||||
|
startDeviceIsNullTimer();
|
||||||
|
} else {
|
||||||
|
resetWifiContentView();
|
||||||
|
ToastUtil.show(curActivity, "绑定设备失败 请重试");
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
boolean isSameName = false;
|
||||||
|
try {
|
||||||
|
if (Commons.DEVICE != null) {
|
||||||
|
if (Commons.DEVICE.size() != 0) {
|
||||||
|
for (int i = 0; i < Commons.DEVICE.size(); i++) {
|
||||||
|
if (device_mac.equals(Commons.DEVICE.get(i).getMacAddress())) {
|
||||||
|
sp.putInt(Commons.LoginSPKey.Position, i);
|
||||||
|
Commons.DevicePosition = i;
|
||||||
|
isSameName = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
}
|
||||||
|
if (!isSameName) {
|
||||||
|
Commons.DEVICE.add(deviceObj);
|
||||||
|
try {
|
||||||
|
sp.putInt(Commons.LoginSPKey.Position, Commons.DEVICE.size() - 1);
|
||||||
|
Commons.DevicePosition = Commons.DEVICE.size() - 1;
|
||||||
|
} catch (Exception e) {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Commons.IS_EventBus = true;
|
||||||
|
Commons.HAVE_DEVICE = true;//改变判断是否绑定的变量
|
||||||
|
Commons.IS_CAMERA = false;
|
||||||
|
sp.putBoolean(Commons.LoginSPKey.IS_CAMERA, Commons.IS_CAMERA);
|
||||||
|
Intent i = new Intent();
|
||||||
|
try {
|
||||||
|
Integer controlAmount = Commons.DEVICE.get(Commons.DevicePosition).getControlAmount();
|
||||||
|
Integer timerAmount = Commons.DEVICE.get(Commons.DevicePosition).getTimerAmount();
|
||||||
|
String type = Commons.DEVICE.get(Commons.DevicePosition).type;
|
||||||
|
if (Commons.FishKey.On.equals(Commons.DEVICE.get(Commons.DevicePosition).isBlacklist)) {//黑名单
|
||||||
|
i.setClass(curActivity, BlackListActivity.class);
|
||||||
|
} else {
|
||||||
|
if (Device.TYPE_1C.equals(type)) {
|
||||||
|
i.setClass(curActivity, MainThree1CControlActivity.class);
|
||||||
|
} else if (Device.TYPE_AA.equals(type)) {
|
||||||
|
i.setClass(curActivity, MainFiveControlActivity.class);
|
||||||
|
} else if (Device.TYPE_BD.equals(type)) {
|
||||||
|
i.setClass(curActivity, MainFiveBDControlActivity.class);
|
||||||
|
} else if (Device.TYPE_2A.equals(type)) {
|
||||||
|
i.setClass(curActivity, MainSix_2A_ControlActivity.class);
|
||||||
|
} else if (Device.TYPE_2B.equals(type)) {
|
||||||
|
i.setClass(curActivity, MainFour_2B_ControlActivity.class);
|
||||||
|
} else if (Device.TYPE_3A.equals(type)) {
|
||||||
|
i.setClass(curActivity, MainHot_3A_ControlActivity.class);
|
||||||
|
} else if (Device.TYPE_2F.equals(type)) {
|
||||||
|
i.setClass(curActivity, MainSeven_2F_ControlActivity.class);
|
||||||
|
} else if (Device.TYPE_3F.equals(type)) {
|
||||||
|
i.setClass(curActivity, MainFour_3F_ControlActivity.class);
|
||||||
|
} else if (Device.TYPE_4F.equals(type) || Device.TYPE_5F.equals(type)){
|
||||||
|
i.setClass(curActivity, MainSix_4F_ControlActivity.class);
|
||||||
|
} else {
|
||||||
|
if (controlAmount == null) {//如果控制器返回空 则默认给三控的页面
|
||||||
|
i.setClass(curActivity, MainThreeControlActivity.class);
|
||||||
|
} else {
|
||||||
|
i.setClass(curActivity, MainThreeControlActivity.class);
|
||||||
|
switch (controlAmount) {
|
||||||
|
case 0: {
|
||||||
|
i.setClass(curActivity, MainZeroControlActivity.class);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case 2: {
|
||||||
|
i.setClass(curActivity, MainTwoControlActivity.class);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case 3: {
|
||||||
|
i.setClass(curActivity, MainThreeControlActivity.class);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case 4: {
|
||||||
|
if (timerAmount == 6) { // 可丽爱
|
||||||
|
i.setClass(curActivity, MainFiveControlActivity.class);
|
||||||
|
} else {//4控
|
||||||
|
i.setClass(curActivity, MainFourControlActivity.class);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case 5: {
|
||||||
|
if (6 == timerAmount) {//5控六定时器 询多页面
|
||||||
|
i.setClass(curActivity, MainSixControlActivity.class);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case 8: {
|
||||||
|
i.setClass(curActivity, MainEightControlActivity.class);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
default: {
|
||||||
|
i.setClass(curActivity, MainThreeControlActivity.class);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
i.setClass(curActivity, MainThreeControlActivity.class);
|
||||||
|
}
|
||||||
|
i.putExtra(BaseGradeActivity.BINDDEVICE, true);//绑定成功增加经验
|
||||||
|
ToastUtil.show(curActivity, "绑定设备成功");
|
||||||
|
curActivity.startActivity(i);
|
||||||
|
AnimationUtil.startAnimation(curActivity);
|
||||||
|
curActivity.finish();
|
||||||
|
L.i("===================绑定设备成功=" + device_mac);
|
||||||
|
break;
|
||||||
|
case Commons.NetWork.ERROR:
|
||||||
|
resetWifiContentView();
|
||||||
|
ToastUtil.show(curActivity, Commons.Text.ERROR);
|
||||||
|
break;
|
||||||
|
case Commons.NetWork.Fail:
|
||||||
|
resetWifiContentView();
|
||||||
|
ToastUtil.show(curActivity, Commons.Text.Repat);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
resetWifiContentView();
|
||||||
|
ToastUtil.show(curActivity, Commons.Text.ServerException);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
private void resetWifiContentView() {
|
||||||
|
ToastUtil.show(curActivity,"重置联网view");
|
||||||
|
}
|
||||||
|
|
||||||
|
Handler doPostBindDeviceHandler = new Handler() {
|
||||||
|
public void handleMessage(android.os.Message msg) {
|
||||||
|
|
||||||
|
switch (msg.what) {
|
||||||
|
/**
|
||||||
|
* 1:绑定成功
|
||||||
|
0:绑定失败
|
||||||
|
-4:请求验证失败,请重新登陆
|
||||||
|
-5:请求被舍弃,未执行
|
||||||
|
*/
|
||||||
|
case Commons.NetWork.Success:
|
||||||
|
if (deviceIsNull) {//当服务器返回的设备控制器数和定时器数为null的时候 不跳转进入主界面
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
boolean isSameName = false;
|
||||||
|
try {
|
||||||
|
if (Commons.DEVICE != null) {
|
||||||
|
if (Commons.DEVICE.size() != 0) {
|
||||||
|
for (int i = 0; i < Commons.DEVICE.size(); i++) {
|
||||||
|
if (device_mac.equals(Commons.DEVICE.get(i).getMacAddress())) {
|
||||||
|
sp.putInt(Commons.LoginSPKey.Position, i);
|
||||||
|
Commons.DevicePosition = i;
|
||||||
|
isSameName = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
}
|
||||||
|
if (!isSameName) {
|
||||||
|
Commons.DEVICE.add(deviceObj);
|
||||||
|
try {
|
||||||
|
sp.putInt(Commons.LoginSPKey.Position, Commons.DEVICE.size() - 1);
|
||||||
|
Commons.DevicePosition = Commons.DEVICE.size() - 1;
|
||||||
|
} catch (Exception e) {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Commons.IS_EventBus = true;
|
||||||
|
Commons.HAVE_DEVICE = true;//改变判断是否绑定的变量
|
||||||
|
Commons.IS_CAMERA = false;
|
||||||
|
sp.putBoolean(Commons.LoginSPKey.IS_CAMERA, Commons.IS_CAMERA);
|
||||||
|
Intent i = new Intent();
|
||||||
|
try {
|
||||||
|
Integer controlAmount = Commons.DEVICE.get(Commons.DevicePosition).getControlAmount();
|
||||||
|
Integer timerAmount = Commons.DEVICE.get(Commons.DevicePosition).getTimerAmount();
|
||||||
|
String type = Commons.DEVICE.get(Commons.DevicePosition).type;
|
||||||
|
if (Commons.FishKey.On.equals(Commons.DEVICE.get(Commons.DevicePosition).isBlacklist)) {//黑名单
|
||||||
|
i.setClass(curActivity, BlackListActivity.class);
|
||||||
|
} else {
|
||||||
|
if (Device.TYPE_1C.equals(type)) {
|
||||||
|
i.setClass(curActivity, MainThree1CControlActivity.class);
|
||||||
|
} else if (Device.TYPE_AA.equals(type)) {
|
||||||
|
i.setClass(curActivity, MainFiveControlActivity.class);
|
||||||
|
} else if (Device.TYPE_BD.equals(type)) {
|
||||||
|
i.setClass(curActivity, MainFiveBDControlActivity.class);
|
||||||
|
} else if (Device.TYPE_2A.equals(type)) {
|
||||||
|
i.setClass(curActivity, MainSix_2A_ControlActivity.class);
|
||||||
|
} else if (Device.TYPE_2B.equals(type)) {
|
||||||
|
i.setClass(curActivity, MainFour_2B_ControlActivity.class);
|
||||||
|
} else if (Device.TYPE_3A.equals(type)) {
|
||||||
|
i.setClass(curActivity, MainHot_3A_ControlActivity.class);
|
||||||
|
} else if (Device.TYPE_2F.equals(type)) {
|
||||||
|
i.setClass(curActivity, MainSeven_2F_ControlActivity.class);
|
||||||
|
} else if (Device.TYPE_3F.equals(type)) {
|
||||||
|
i.setClass(curActivity, MainFour_3F_ControlActivity.class);
|
||||||
|
} else if (Device.TYPE_4F.equals(type) || Device.TYPE_5F.equals(type)){
|
||||||
|
i.setClass(curActivity, MainSix_4F_ControlActivity.class);
|
||||||
|
} else {
|
||||||
|
if (controlAmount == null) {//如果控制器返回空 则默认给三控的页面
|
||||||
|
i.setClass(curActivity, MainThreeControlActivity.class);
|
||||||
|
} else {
|
||||||
|
i.setClass(curActivity, MainThreeControlActivity.class);
|
||||||
|
switch (controlAmount) {
|
||||||
|
case 0: {
|
||||||
|
i.setClass(curActivity, MainZeroControlActivity.class);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case 2: {
|
||||||
|
i.setClass(curActivity, MainTwoControlActivity.class);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case 3: {
|
||||||
|
i.setClass(curActivity, MainThreeControlActivity.class);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case 4: {
|
||||||
|
if (timerAmount == 6) { // 可丽爱
|
||||||
|
i.setClass(curActivity, MainFiveControlActivity.class);
|
||||||
|
} else {//4控
|
||||||
|
i.setClass(curActivity, MainFourControlActivity.class);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case 5: {
|
||||||
|
if (6 == timerAmount) {//5控六定时器 询多页面
|
||||||
|
i.setClass(curActivity, MainSixControlActivity.class);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case 8: {
|
||||||
|
i.setClass(curActivity, MainEightControlActivity.class);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
default: {
|
||||||
|
i.setClass(curActivity, MainThreeControlActivity.class);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
i.setClass(curActivity, MainThreeControlActivity.class);
|
||||||
|
}
|
||||||
|
i.putExtra(BaseGradeActivity.BINDDEVICE, true);//绑定成功增加经验
|
||||||
|
ToastUtil.show(curActivity, "绑定设备成功");
|
||||||
|
curActivity.startActivity(i);
|
||||||
|
AnimationUtil.startAnimation(curActivity);
|
||||||
|
curActivity.finish();
|
||||||
|
L.i("===================绑定设备成功=" + device_mac);
|
||||||
|
break;
|
||||||
|
case Commons.NetWork.Fail:
|
||||||
|
resetWifiContentView();
|
||||||
|
ToastUtil.show(curActivity, "绑定设备失败 请重试");
|
||||||
|
// ToastUtil.show(BindTankPetActivity.this, HttpManager.petdevice);
|
||||||
|
break;
|
||||||
|
case Commons.NetWork.DEVICETYPEERROR:
|
||||||
|
resetWifiContentView();
|
||||||
|
ToastUtil.show(curActivity, "设备类型不匹配,请重新选择入口绑定");
|
||||||
|
break;
|
||||||
|
case Commons.NetWork.ReLogin:
|
||||||
|
resetWifiContentView();
|
||||||
|
ToastUtil.show(curActivity.getApplicationContext(), "请求验证失败 请重新登陆");
|
||||||
|
Commons.clean();
|
||||||
|
curActivity.startActivity(new Intent(curActivity, LoadingActivity.class));
|
||||||
|
curActivity.finish();
|
||||||
|
break;
|
||||||
|
case Commons.NetWork.ERROR:
|
||||||
|
resetWifiContentView();
|
||||||
|
ToastUtil.show(curActivity.getApplicationContext(), Commons.Text.ERROR);
|
||||||
|
break;
|
||||||
|
case Commons.NetWork.NotImplemented:
|
||||||
|
resetWifiContentView();
|
||||||
|
ToastUtil.show(curActivity.getApplicationContext(), Commons.Text.Unknown);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
resetWifiContentView();
|
||||||
|
ToastUtil.show(curActivity.getApplicationContext(), Commons.Text.ServerException);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -73,7 +73,7 @@ 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");
|
||||||
//默认AP连网
|
//默认AP连网
|
||||||
curConnectType = ConnectType.APConnect;
|
curConnectType = ConnectType.APConnect;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue