|
|
@@ -76,6 +76,7 @@ public class FragmentThings extends Fragment implements View.OnClickListener
|
|
|
private static final int MSG_COM_D_CLOUD_NODE = 4;
|
|
|
private static final int MSG_COM_WS_NODE_DELETE = 5;
|
|
|
private static final int MSG_COM_P_DEVICE_SEQ_INIT = 6;
|
|
|
+ private static final int MSG_COM_P_DEVICE_SEQ =7;
|
|
|
/**
|
|
|
* The Com handler.
|
|
|
*/
|
|
|
@@ -106,7 +107,7 @@ public class FragmentThings extends Fragment implements View.OnClickListener
|
|
|
private MainInterface mCallback;
|
|
|
private Intent mIntent;
|
|
|
private Util mUtil = new Util();
|
|
|
- private String mDeviceId = "";
|
|
|
+ private String mSelectDeviceId = "";
|
|
|
/**
|
|
|
* 노드 제어 타임아웃 체크 리스너.
|
|
|
*/
|
|
|
@@ -348,16 +349,7 @@ public class FragmentThings extends Fragment implements View.OnClickListener
|
|
|
@Override
|
|
|
public void onClick(View view) {
|
|
|
|
|
|
- mUtil.getView(toolbar, R.id.llToolbar).setVisibility(View.VISIBLE);
|
|
|
- mUtil.getView(toolbar, R.id.llToolbarMore).setVisibility(View.GONE);
|
|
|
- mUtil.getView(toolbar, R.id.btnToolbarClose).setVisibility(View.GONE);
|
|
|
- mUtil.getView(toolbar, R.id.btnToolbarMore).setVisibility(View.VISIBLE);
|
|
|
- mDataAdapter.setListCheck(false);
|
|
|
- mDataAdapter.setDeleteCheck(false);
|
|
|
- mDataAdapter.setMoveCheck(false);
|
|
|
- mDataAdapter.notifyDataSetChanged();
|
|
|
- mIsListEdit = false;
|
|
|
- setRefresh(true);
|
|
|
+ mComHandler.sendMessageDelayed(mComHandler.obtainMessage(MSG_COM_P_DEVICE_SEQ), 10);
|
|
|
}
|
|
|
});
|
|
|
mUtil.getView(toolbar, R.id.btnToolbarClose).setOnClickListener(new View.OnClickListener() {
|
|
|
@@ -422,6 +414,7 @@ public class FragmentThings extends Fragment implements View.OnClickListener
|
|
|
Dlog.v("jino111113");
|
|
|
if (mAppConfig.getDevicesList().size()==1) {
|
|
|
mUtil.getTextView(toolbar, R.id.tvToolbarTitle1).setText(mAppConfig.getFirstHomehubDeviceName());
|
|
|
+
|
|
|
} else {
|
|
|
//여기서 장치 선택 관련 작업을 해야함
|
|
|
|
|
|
@@ -681,9 +674,11 @@ public class FragmentThings extends Fragment implements View.OnClickListener
|
|
|
sendParams.put(Constants.KEY_DEVICE_ID, callHttpDeviceId);
|
|
|
sendParams.put(Constants.KEY_NODE_ID, callHttpNodeId);
|
|
|
sendParams.put(Constants.KEY_COMMAND_TYPE, Constants.WEBSOCKET_COMM_TYPE_CONTROL);
|
|
|
+ sendParams.put(Constants.KEY_REQUEST_ID, mAppConfig.getSelectServicehubRequestId());
|
|
|
+ sendParams.put(Constants.KEY_CUST_ID, mAppConfig.getCustId());
|
|
|
+ sendParams.put(Constants.KEY_CTRT_GRP_ID, mAppConfig.getCtrtGroupId());
|
|
|
sendParams.put(Constants.KEY_CMDCLS_ID, callHttpCmdclsId);
|
|
|
sendParams.put(Constants.KEY_CMDCLS_VALUE, callHttpRequestValue);
|
|
|
- sendParams.put(Constants.KEY_REQUEST_ID, mAppConfig.getSelectServicehubRequestId());
|
|
|
|
|
|
mCallback.getWebSocketService().send(Constants.WEBSOCKET_SEND_NODE_COMMAND, sendParams);
|
|
|
// 제어 요청 10초 후까지 응답이 없으면 타임아웃 처리.
|
|
|
@@ -742,10 +737,10 @@ public class FragmentThings extends Fragment implements View.OnClickListener
|
|
|
String resultRequestTime = mUtil.null2string(joResult.get(Constants.KEY_REQUEST_TIME));
|
|
|
int loadingRow = -1;
|
|
|
for (int row = 0; row < mAlTotalList.size(); row++) {
|
|
|
-
|
|
|
String deviceId = mUtil.null2string(mAlTotalList.get(row).get(Constants.KEY_DEVICE_ID));
|
|
|
String nodeId = mUtil.null2string(mAlTotalList.get(row).get(Constants.KEY_NODE_ID));
|
|
|
if (resultDeviceId.equals(deviceId) && resultNodeId.equals(nodeId)) {
|
|
|
+
|
|
|
mAlTotalList.get(row).put(Constants.KEY_REQUEST_TIME, "");
|
|
|
|
|
|
Dlog.v("Things jino0 =" + resultRequestTime);
|
|
|
@@ -779,11 +774,16 @@ public class FragmentThings extends Fragment implements View.OnClickListener
|
|
|
String currentDeviceId = mUtil.null2string(mAlTotalList.get(row).get(Constants.KEY_DEVICE_ID));
|
|
|
String currentNodeId = mUtil.null2string(mAlTotalList.get(row).get(Constants.KEY_NODE_ID));
|
|
|
String contentValue = mUtil.null2string(hmContentValue.get(mAlTotalList.get(row).get(Constants.KEY_CMDCLS_ID)));
|
|
|
+
|
|
|
+ Dlog.v("contentValue = " + contentValue);
|
|
|
if (resultDeviceId.equals(currentDeviceId) && resultNodeId.equals(currentNodeId)) {
|
|
|
+ Dlog.v("contentValue1 = " + contentValue);
|
|
|
if (!contentValue.isEmpty()) {
|
|
|
+ Dlog.v("contentValue2 = " + contentValue);
|
|
|
mAlTotalList.get(row).put(Constants.KEY_CONTENT_VALUE, contentValue);
|
|
|
}
|
|
|
if (!resultOnlineState.isEmpty()) {
|
|
|
+ Dlog.v("contentValue3 = " + contentValue);
|
|
|
mAlTotalList.get(row).put(Constants.KEY_ONLINE_STATE, resultOnlineState);
|
|
|
}
|
|
|
mAlTotalList.get(row).put(Constants.KEY_COLLECT_TIME, resultCollectTime);
|
|
|
@@ -971,9 +971,8 @@ public class FragmentThings extends Fragment implements View.OnClickListener
|
|
|
resultPutDeviceSeqInit(result);
|
|
|
}
|
|
|
});
|
|
|
- mAlTotalList.clear();
|
|
|
mSwipeRefreshLayout.setVisibility(View.GONE);
|
|
|
- httpSend.putDeviceSeqInit("node");
|
|
|
+ httpSend.putDeviceSeq("node");
|
|
|
} catch (Exception ex) {
|
|
|
ex.printStackTrace();
|
|
|
}
|
|
|
@@ -1013,6 +1012,84 @@ public class FragmentThings extends Fragment implements View.OnClickListener
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 디바이스 노드 순서 초기화
|
|
|
+ */
|
|
|
+ private void sendPutDeviceSeq() {
|
|
|
+
|
|
|
+ try {
|
|
|
+ HttpSend httpSend;
|
|
|
+
|
|
|
+ httpSend = new HttpSend(mActivity, !mSwipeRefreshLayout.isRefreshing());
|
|
|
+
|
|
|
+ httpSend.setOnDataSendToReslutEvent(new OnDataSendToReslut() {
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void resultResponse(Response result) {
|
|
|
+
|
|
|
+ resultPutDeviceSeq(result);
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ ArrayList<HashMap<String, Object>> tempAlList = new ArrayList<HashMap<String, Object>>();
|
|
|
+ tempAlList = mDataAdapter.getItemList();
|
|
|
+
|
|
|
+ ArrayList<HashMap<String, Object>> sendAlList = new ArrayList<HashMap<String, Object>>();
|
|
|
+ for (int row = 0; row < tempAlList.size(); row++) {
|
|
|
+ HashMap<String, Object> hmTempDevice = new HashMap<String, Object>();
|
|
|
+ hmTempDevice = tempAlList.get(row);
|
|
|
+ if (hmTempDevice.get(Constants.KEY_PRD_NAME) != null){
|
|
|
+ Dlog.v("hmTempDevice name " + hmTempDevice.get(Constants.KEY_PRD_NAME));
|
|
|
+ HashMap<String, Object> tempMap = new HashMap<String, Object>();
|
|
|
+ tempMap.put(Constants.KEY_DEVICE_ID, mUtil.null2string(hmTempDevice.get(Constants.KEY_DEVICE_ID)));
|
|
|
+ tempMap.put(Constants.KEY_NODE_ID, mUtil.null2string(hmTempDevice.get(Constants.KEY_NODE_ID)));
|
|
|
+ sendAlList.add(tempMap);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ HashMap<String, Object> sendMap = new HashMap<String, Object>();
|
|
|
+ sendMap.put(Constants.KEY_NODES, sendAlList);
|
|
|
+ Dlog.v(mUtil.MapToJson(sendMap));
|
|
|
+ httpSend.putDeviceSeq(mUtil.MapToJson(sendMap));
|
|
|
+ } catch (Exception ex) {
|
|
|
+ ex.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 디바이스 노드 순서 초기화 결과
|
|
|
+ *
|
|
|
+ * @param result 결과 data
|
|
|
+ */
|
|
|
+ private void resultPutDeviceSeq(Response result) {
|
|
|
+
|
|
|
+ mLoading = false;
|
|
|
+ try {
|
|
|
+ if (result.getStatusCode() == 200) {
|
|
|
+ mUtil.getView(toolbar, R.id.btnToolbarClose).performClick();
|
|
|
+ onListReload();
|
|
|
+ } else {
|
|
|
+ JSONObject joResult = new JSONObject(result.getContent());
|
|
|
+ Dlog.v(joResult.toString());
|
|
|
+// String errorCode = mUtil.null2string(joResult.get(Constants.KEY_ERR_CODE));
|
|
|
+ String resultCode = mUtil.null2string(joResult.get(Constants.KEY_RESULT_CODE));
|
|
|
+// String errorMsg = mUtil.null2string(joResult.get(Constants.KEY_ERR_MSG));
|
|
|
+ String resultMsg = mUtil.null2string(joResult.get(Constants.KEY_RESULT_MSG));
|
|
|
+
|
|
|
+ if (resultCode.equals("401")) {
|
|
|
+ customDialog.msgAlert(mActivity, Constants.MSG998, resultMsg);
|
|
|
+ } else if (resultCode.equals("401-106")) {
|
|
|
+ customDialog.msgAlert(mActivity, Constants.MSG997, resultMsg);
|
|
|
+ } else {
|
|
|
+ customDialog.msgAlert(mActivity, Constants.MSG000, resultMsg);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } catch (Exception ex) {
|
|
|
+ ex.printStackTrace();
|
|
|
+ customDialog.msgAlert(mActivity, Constants.MSG807);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* Cloud to Cloud 연동 Node 삭제.
|
|
|
*/
|
|
|
@@ -1289,6 +1366,7 @@ public class FragmentThings extends Fragment implements View.OnClickListener
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
if (callType == 0) {
|
|
|
//추가하기
|
|
|
thingsDeviceAdd();
|
|
|
@@ -1411,7 +1489,7 @@ public class FragmentThings extends Fragment implements View.OnClickListener
|
|
|
} else if (callType == 3) {
|
|
|
// 실행하기
|
|
|
callHttpRequestValue = mDataAdapter.getHttpValue();
|
|
|
- callHttpDeviceId = mAppConfig.getSelect_Homegrp_Homehub_Device_Id();
|
|
|
+ callHttpDeviceId = mUtil.null2string(mAlTotalList.get(position).get(Constants.KEY_DEVICE_ID));
|
|
|
callHttpNodeId = mUtil.null2string(mAlTotalList.get(position).get(Constants.KEY_NODE_ID));
|
|
|
callHttpCmdclsId = mUtil.null2string(mAlTotalList.get(position).get(Constants.KEY_CMDCLS_ID));
|
|
|
String contentValue = mUtil.null2string(mAlTotalList.get(position).get(Constants.KEY_CONTENT_VALUE));
|
|
|
@@ -1470,7 +1548,9 @@ public class FragmentThings extends Fragment implements View.OnClickListener
|
|
|
case MSG_COM_P_DEVICE_SEQ_INIT:
|
|
|
sendPutDeviceSeqInit();
|
|
|
break;
|
|
|
-
|
|
|
+ case MSG_COM_P_DEVICE_SEQ:
|
|
|
+ sendPutDeviceSeq();
|
|
|
+ break;
|
|
|
default:
|
|
|
break;
|
|
|
}
|