Forráskód Böngészése

增加两色灯的控制

vothin 1 éve
szülő
commit
eedb2401ff

+ 2 - 0
jni/logic/deviceInfoLogic.cc

@@ -380,6 +380,8 @@ static bool onButtonClick_RestartButton(ZKButton *pButton) {
 
 
 	const char* req = "-1";
 	const char* req = "-1";
 	TcpClient::instance()->sendMsg(req);
 	TcpClient::instance()->sendMsg(req);
+
+    lightControl("CALLLED", "000F");
     //重启
     //重启
 	sync();
 	sync();
 	reboot(RB_AUTOBOOT);
 	reboot(RB_AUTOBOOT);

+ 2 - 0
jni/logic/functionLogic.cc

@@ -536,6 +536,8 @@ static bool onButtonClick_ServerConfirmButton(ZKButton *pButton) {
 
 
 	const char* req = "-1";
 	const char* req = "-1";
 	TcpClient::instance()->sendMsg(req);
 	TcpClient::instance()->sendMsg(req);
+
+    lightControl("CALLLED", "000F");
     //重启
     //重启
     sync();
     sync();
     reboot(RB_AUTOBOOT);
     reboot(RB_AUTOBOOT);

+ 14 - 0
jni/logic/startLogic.cc

@@ -251,12 +251,16 @@ void handleMsg(byte* inBytes){
 		else if (tcpModel.action == DeviceAction::RESTART) {	// 重启设备
 		else if (tcpModel.action == DeviceAction::RESTART) {	// 重启设备
 			const char* req = "-1";
 			const char* req = "-1";
 			TcpClient::instance()->sendMsg(req);
 			TcpClient::instance()->sendMsg(req);
+
+		    lightControl("CALLLED", "000F");
 			sync();
 			sync();
 			reboot(RB_AUTOBOOT);
 			reboot(RB_AUTOBOOT);
 		}
 		}
         else if (tcpModel.action == DeviceAction::REBOOT) {
         else if (tcpModel.action == DeviceAction::REBOOT) {
             const char* req = "-1";
             const char* req = "-1";
             TcpClient::instance()->sendMsg(req);
             TcpClient::instance()->sendMsg(req);
+
+            lightControl("CALLLED", "000F");
             //重启
             //重启
             sync();
             sync();
             reboot(RB_AUTOBOOT);
             reboot(RB_AUTOBOOT);
@@ -273,6 +277,8 @@ void handleMsg(byte* inBytes){
 
 
 			const char* req = "-1";
 			const char* req = "-1";
 			TcpClient::instance()->sendMsg(req);
 			TcpClient::instance()->sendMsg(req);
+
+		    lightControl("CALLLED", "000F");
 			//重启
 			//重启
 			sync();
 			sync();
 			reboot(RB_AUTOBOOT);
 			reboot(RB_AUTOBOOT);
@@ -401,6 +407,8 @@ void handleMsg(byte* inBytes){
 			// 门灯亮红灯
 			// 门灯亮红灯
 			lightControl("DOORLED", "200F");
 			lightControl("DOORLED", "200F");
 
 
+			lightControl("CALLLED", "100F");
+
 			sosTimerRegistered = false;
 			sosTimerRegistered = false;
 			mActivityPtr->registerUserTimer(SOS_CLICK_TIME_HANDLE, 10000);		// 10秒后才能触发
 			mActivityPtr->registerUserTimer(SOS_CLICK_TIME_HANDLE, 10000);		// 10秒后才能触发
 			mActivityPtr->registerUserTimer(SOS_LAMP_TIME_HANDLE, 120000);		// 2分钟后才能触发
 			mActivityPtr->registerUserTimer(SOS_LAMP_TIME_HANDLE, 120000);		// 2分钟后才能触发
@@ -409,6 +417,8 @@ void handleMsg(byte* inBytes){
 		else if (tcpModel.action == SideAction::SOS_CANCEL) {
 		else if (tcpModel.action == SideAction::SOS_CANCEL) {
 			// 进行门灯还原
 			// 进行门灯还原
 			lightControl("DOORLED", "000F");
 			lightControl("DOORLED", "000F");
+
+			statusLight();
 		}
 		}
 	}
 	}
 	else if (tcpModel.type == TcpType::CALLBACK) {
 	else if (tcpModel.type == TcpType::CALLBACK) {
@@ -837,6 +847,8 @@ static void onProtocolDataUpdate(const SProtocolData &data) {
 					// 门灯亮红灯
 					// 门灯亮红灯
 					lightControl("DOORLED", "200F");
 					lightControl("DOORLED", "200F");
 
 
+					lightControl("CALLLED", "100F");
+
 					mActivityPtr->registerUserTimer(SOS_CLICK_TIME_HANDLE, 10000);		// 10秒后才能触发
 					mActivityPtr->registerUserTimer(SOS_CLICK_TIME_HANDLE, 10000);		// 10秒后才能触发
 					mActivityPtr->registerUserTimer(SOS_LAMP_TIME_HANDLE, 120000);		// 2分钟后才能触发
 					mActivityPtr->registerUserTimer(SOS_LAMP_TIME_HANDLE, 120000);		// 2分钟后才能触发
 				}
 				}
@@ -963,6 +975,8 @@ static bool onUI_Timer(int id){
 
 
 		// 进行门灯还原
 		// 进行门灯还原
 		lightControl("DOORLED", "000F");
 		lightControl("DOORLED", "000F");
+
+		statusLight();
 		return false;
 		return false;
 	}
 	}
 		break;
 		break;

+ 94 - 32
jni/logic/statusbar.cc

@@ -44,6 +44,32 @@
 
 
  */
  */
 
 
+static bool networkConnect = false;
+static bool networkNowConnect = false;
+static bool tcpConnect = false;
+static bool tcpNowConnect = false;
+static bool sipConnect = true;
+static bool sipNowConnect = false;
+
+void statusLight() {
+    if (!networkConnect) {
+        lightControl("CALLLED", "200F");
+    }
+    else {
+        if (!tcpConnect) {
+            lightControl("CALLLED", "110F");
+        }
+        else {
+            if (!sipConnect) {
+                lightControl("CALLLED", "220F");
+            }
+            else {
+                lightControl("CALLLED", "020F");
+            }
+        }
+    }
+}
+
 
 
 #define ETHERNETMANAGER		NETMANAGER->getEthernetManager()
 #define ETHERNETMANAGER		NETMANAGER->getEthernetManager()
 #define WIFIMANAGER			NETMANAGER->getWifiManager()
 #define WIFIMANAGER			NETMANAGER->getWifiManager()
@@ -167,49 +193,60 @@ static void updateNetState(){
 			//重启
 			//重启
 			sleep(3);
 			sleep(3);
 			LOGD("网卡重启无效,程序内部重启");
 			LOGD("网卡重启无效,程序内部重启");
+
+		    lightControl("CALLLED", "000F");
 			sync();
 			sync();
 			reboot(RB_AUTOBOOT);
 			reboot(RB_AUTOBOOT);
 		}
 		}
 	}
 	}
 
 
-    ENetChannel channel = NETMANAGER->getConnChannel();
-    switch (channel) {
-    case E_NET_CHANNEL_ETHERNET:
-        if (ETHERNETMANAGER->isConnected()) {
-            mPainter1Ptr->setBackgroundColor(0xFF37C127);
-        }
-        else {
-            mPainter1Ptr->setBackgroundColor(0xFF949494);
-        }
+	ENetChannel channel = NETMANAGER->getConnChannel();
+	switch (channel) {
+	case E_NET_CHANNEL_ETHERNET:
+		if (ETHERNETMANAGER->isConnected()) {
+			mPainter1Ptr->setBackgroundColor(0xFF37C127);
+            networkConnect = true;
+            if (networkNowConnect != networkConnect) {
+            	networkNowConnect = networkConnect;
+            	statusLight();
+            }
+		}
+		else {
+			mPainter1Ptr->setBackgroundColor(0xFF949494);
+            networkConnect = false;
+            if (networkNowConnect != networkConnect) {
+            	networkNowConnect = networkConnect;
+            	statusLight();
+            }
+		}
 		break;
 		break;
 	case E_NET_CHANNEL_WIFI:
 	case E_NET_CHANNEL_WIFI:
 		if (WIFIMANAGER->isConnected()) {
 		if (WIFIMANAGER->isConnected()) {
 			mPainter1Ptr->setBackgroundColor(0xFF37C127);
 			mPainter1Ptr->setBackgroundColor(0xFF37C127);
+            networkConnect = true;
+            if (networkNowConnect != networkConnect) {
+            	networkNowConnect = networkConnect;
+            	statusLight();
+            }
 		}
 		}
 		else {
 		else {
 			mPainter1Ptr->setBackgroundColor(0xFF949494);
 			mPainter1Ptr->setBackgroundColor(0xFF949494);
+            networkConnect = false;
+            if (networkNowConnect != networkConnect) {
+            	networkNowConnect = networkConnect;
+            	statusLight();
+            }
 		}
 		}
 		break;
 		break;
+	default:
+		mPainter1Ptr->setBackgroundColor(0xFF949494);
+        networkConnect = false;
+        if (networkNowConnect != networkConnect) {
+        	networkNowConnect = networkConnect;
+        	statusLight();
+        }
+        break;
 	}
 	}
-
-//	EEthConnState connState = ETHERNETMANAGER->getConnState();
-//	switch (connState){
-//	case E_ETH_DISCONNECTED:	// 以太网断开
-//		mPainter1Ptr->setBackgroundColor(0xFF949494);
-//		break;
-//	case E_ETH_CONNECTING:		// 以太网连接中
-//		mPainter1Ptr->setBackgroundColor(0xFF2F9DF1);
-//		break;
-//	case E_ETH_CONNECTED:		// 以太网连接
-//		mPainter1Ptr->setBackgroundColor(0xFF37C127);
-//		break;
-//	case E_ETH_DISCONNECTING:	// 以太网断开连接中
-//		mPainter1Ptr->setBackgroundColor(0xFF949494);
-//		break;
-//	case E_ETH_CONN_UNKNOWN:	// 以太网未知
-//		mPainter1Ptr->setBackgroundColor(0xFF949494);
-//		break;
-//	}
 }
 }
 
 
 void OnRegisterStateChanged(voip::Telephone* telephone, int code){
 void OnRegisterStateChanged(voip::Telephone* telephone, int code){
@@ -218,20 +255,45 @@ void OnRegisterStateChanged(voip::Telephone* telephone, int code){
 	if (code == voip::SIP_STATUS_CODE_PROGRESS){
 	if (code == voip::SIP_STATUS_CODE_PROGRESS){
 		//mTextViewRegPtr->setText("CONNECTING");
 		//mTextViewRegPtr->setText("CONNECTING");
 		mTextViewRegPtr->setBackgroundColor(0xFF2F9DF1);
 		mTextViewRegPtr->setBackgroundColor(0xFF2F9DF1);
-	} else if (code == voip::SIP_STATUS_CODE_OK){
-		//mTextViewRegPtr->setText("OK");
+		sipConnect = false;
+        if (sipNowConnect != sipConnect) {
+        	sipNowConnect = sipConnect;
+        	statusLight();
+        }
+	}
+	else if (code == voip::SIP_STATUS_CODE_OK){
 		mTextViewRegPtr->setBackgroundColor(0xFF37C127);
 		mTextViewRegPtr->setBackgroundColor(0xFF37C127);
-	} else {
-		//mTextViewRegPtr->setText("ERROR");
+		sipConnect = true;
+        if (sipNowConnect != sipConnect) {
+        	sipNowConnect = sipConnect;
+        	statusLight();
+        }
+	}
+	else {
 		mTextViewRegPtr->setBackgroundColor(0xFF949494);
 		mTextViewRegPtr->setBackgroundColor(0xFF949494);
+		sipConnect = false;
+        if (sipNowConnect != sipConnect) {
+        	sipNowConnect = sipConnect;
+        	statusLight();
+        }
 	}
 	}
 }
 }
 
 
 void tcpStatus(){
 void tcpStatus(){
 	if (TcpClient::instance()->connected()){
 	if (TcpClient::instance()->connected()){
 		mTextViewTCPPtr->setBackgroundColor(0xFF37C127);
 		mTextViewTCPPtr->setBackgroundColor(0xFF37C127);
+		tcpConnect = true;
+        if (tcpNowConnect != tcpConnect) {
+        	tcpNowConnect = tcpConnect;
+        	statusLight();
+        }
 	} else {
 	} else {
 		mTextViewTCPPtr->setBackgroundColor(0xFF949494);
 		mTextViewTCPPtr->setBackgroundColor(0xFF949494);
+		tcpConnect = false;
+        if (tcpNowConnect != tcpConnect) {
+        	tcpNowConnect = tcpConnect;
+        	statusLight();
+        }
 	}
 	}
 }
 }
 
 

+ 2 - 1
jni/service/BusinessConfig.h

@@ -109,8 +109,9 @@ void NavibarSetPartName(const std::string& partName);
 
 
 // 传入时间,获取时间的总秒数
 // 传入时间,获取时间的总秒数
 int getTime(char* timeStr);
 int getTime(char* timeStr);
+
+void statusLight();
 // 门灯还原
 // 门灯还原
-//void doorLampRestoration();
 void lightControl(std::string typeStr, std::string lightColorStr);
 void lightControl(std::string typeStr, std::string lightColorStr);
 /**
 /**
  * 刷新设备数据
  * 刷新设备数据

BIN
libs/armeabi/libzkgui.so


BIN
obj/activity/deviceInfoActivity.o


BIN
obj/activity/functionActivity.o


BIN
obj/activity/startActivity.o


BIN
obj/activity/statusbar.o


BIN
obj/service/time.o