|
@@ -1,11 +1,15 @@
|
|
package kr.co.icontrols.wallpadconfig.screen;
|
|
package kr.co.icontrols.wallpadconfig.screen;
|
|
|
|
|
|
|
|
+import android.annotation.SuppressLint;
|
|
import android.app.Activity;
|
|
import android.app.Activity;
|
|
import android.content.BroadcastReceiver;
|
|
import android.content.BroadcastReceiver;
|
|
import android.content.Context;
|
|
import android.content.Context;
|
|
import android.content.Intent;
|
|
import android.content.Intent;
|
|
import android.content.IntentFilter;
|
|
import android.content.IntentFilter;
|
|
import android.graphics.Color;
|
|
import android.graphics.Color;
|
|
|
|
+import android.os.Bundle;
|
|
|
|
+import android.os.Handler;
|
|
|
|
+import android.os.Message;
|
|
import android.os.PowerManager;
|
|
import android.os.PowerManager;
|
|
import android.util.Log;
|
|
import android.util.Log;
|
|
import android.view.Gravity;
|
|
import android.view.Gravity;
|
|
@@ -22,13 +26,18 @@ import com.artncore.WallPadDataMgr.WallpadMobileDeviceData.MobileDeviceClass;
|
|
import com.artncore.commons.define;
|
|
import com.artncore.commons.define;
|
|
import com.artncore.wallpadapi.WallPadAPI;
|
|
import com.artncore.wallpadapi.WallPadAPI;
|
|
import com.artncore.wallpadimap.RetProci;
|
|
import com.artncore.wallpadimap.RetProci;
|
|
|
|
+import com.google.gson.Gson;
|
|
import com.util.LogUtil;
|
|
import com.util.LogUtil;
|
|
|
|
|
|
|
|
+import org.json.JSONException;
|
|
|
|
+import org.json.JSONObject;
|
|
|
|
+
|
|
import java.util.ArrayList;
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
|
|
import kr.co.icontrols.wallpadconfig.MainActivity;
|
|
import kr.co.icontrols.wallpadconfig.MainActivity;
|
|
import kr.co.icontrols.wallpadconfig.R;
|
|
import kr.co.icontrols.wallpadconfig.R;
|
|
|
|
+import kr.co.icontrols.wallpadconfig.data.ResultData;
|
|
import kr.co.icontrols.wallpadconfig.declare.Common;
|
|
import kr.co.icontrols.wallpadconfig.declare.Common;
|
|
import kr.co.icontrols.wallpadconfig.declare.ID;
|
|
import kr.co.icontrols.wallpadconfig.declare.ID;
|
|
import kr.co.icontrols.wallpadconfig.imap.iMAPDeleteNewMobileDevice;
|
|
import kr.co.icontrols.wallpadconfig.imap.iMAPDeleteNewMobileDevice;
|
|
@@ -47,6 +56,7 @@ import kr.co.icontrols.wallpadsupport.WpadTextView;
|
|
public class ConfigMobileDeviceAddScreen extends WpadScreen
|
|
public class ConfigMobileDeviceAddScreen extends WpadScreen
|
|
{
|
|
{
|
|
private final String TAG = "ConfigMobileDevAdd";
|
|
private final String TAG = "ConfigMobileDevAdd";
|
|
|
|
+ private Context mContext;
|
|
|
|
|
|
private final boolean DEBUG_LOG_ON = true;
|
|
private final boolean DEBUG_LOG_ON = true;
|
|
private void DebugLogOutput(String s) { if(DEBUG_LOG_ON) Log.d(TAG, s); }
|
|
private void DebugLogOutput(String s) { if(DEBUG_LOG_ON) Log.d(TAG, s); }
|
|
@@ -328,6 +338,32 @@ public class ConfigMobileDeviceAddScreen extends WpadScreen
|
|
private int nRemoteCallUserCnt = 0; // 방문객원격통화 사용자 수
|
|
private int nRemoteCallUserCnt = 0; // 방문객원격통화 사용자 수
|
|
private final static int MAX_MOBILE_USER_CNT = 100; // 모바일 기기 최대 등록 개수
|
|
private final static int MAX_MOBILE_USER_CNT = 100; // 모바일 기기 최대 등록 개수
|
|
|
|
|
|
|
|
+ @SuppressLint("HandlerLeak")
|
|
|
|
+ final Handler handler = new Handler() {
|
|
|
|
+ Gson gson = new Gson();
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public void handleMessage(Message msg) {
|
|
|
|
+ switch (msg.what) {
|
|
|
|
+ case 1000:
|
|
|
|
+ try {
|
|
|
|
+ Bundle bundle = msg.getData();
|
|
|
|
+ String response = bundle.getString("response");
|
|
|
|
+ JSONObject jsonObject = new JSONObject(response);
|
|
|
|
+ ResultData resultData = gson.fromJson(jsonObject.toString(), ResultData.class);
|
|
|
|
+ if(resultData.getType().equals("controlResponse")&&resultData.getResult().equals("ok")) {
|
|
|
|
+ //제어 명령을 내리고 제대로 응답이 오면 필요시 상태를 다시 조회해서 UI 갱신하도록 한다.
|
|
|
|
+ }
|
|
|
|
+ } catch (JSONException e) {
|
|
|
|
+ e.printStackTrace();
|
|
|
|
+ }
|
|
|
|
+ break;
|
|
|
|
+ default:
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ };
|
|
|
|
+
|
|
// =================================================================================================
|
|
// =================================================================================================
|
|
// [[ Create & Close ]] region
|
|
// [[ Create & Close ]] region
|
|
// =================================================================================================
|
|
// =================================================================================================
|
|
@@ -342,6 +378,7 @@ public class ConfigMobileDeviceAddScreen extends WpadScreen
|
|
public ConfigMobileDeviceAddScreen(Context context, RelativeLayout layout, WallPadAPI wpapi, int operationMode)
|
|
public ConfigMobileDeviceAddScreen(Context context, RelativeLayout layout, WallPadAPI wpapi, int operationMode)
|
|
{
|
|
{
|
|
super(context, layout);
|
|
super(context, layout);
|
|
|
|
+ mContext = context;
|
|
|
|
|
|
Log.i(TAG, "[START - Screen] --------------------------------------------");
|
|
Log.i(TAG, "[START - Screen] --------------------------------------------");
|
|
|
|
|
|
@@ -479,6 +516,20 @@ public class ConfigMobileDeviceAddScreen extends WpadScreen
|
|
String strPhoneKey = intent.getStringExtra("DEL_PHONEKEY");
|
|
String strPhoneKey = intent.getStringExtra("DEL_PHONEKEY");
|
|
deleteRemoteCallUser(strPhoneKey);
|
|
deleteRemoteCallUser(strPhoneKey);
|
|
}
|
|
}
|
|
|
|
+ //모바일이 삭제되면 월패드 간 공유 되어야 한다.
|
|
|
|
+ for(int i=1; i<4; i++) {
|
|
|
|
+ String delID = intent.getStringExtra("DEL_ID");
|
|
|
|
+ ((MainActivity) mContext).requestMultiControl(handler, Common.JSON.MENU.MOBILE, Common.JSON.REASON.MobileDelete, i, "", delID);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ else{
|
|
|
|
+ //모바일이 등록되면 월패드 간 공유 되어야 한다.
|
|
|
|
+ List<MobileDeviceClass> DataList = wallpadMobileDeviceData.GetMobileDeviceData();
|
|
|
|
+ int size = mData.DataList.size()-1;
|
|
|
|
+ for(int i=1; i<4; i++) {
|
|
|
|
+ String delID = intent.getStringExtra("DEL_ID");
|
|
|
|
+ ((MainActivity) mContext).requestMultiControl(handler, Common.JSON.MENU.MOBILE, Common.JSON.REASON.MobileRegister, i, DataList.get(size).Name, DataList.get(size).Uid);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
int size = mData.DataList.size();
|
|
int size = mData.DataList.size();
|