1 package org.iotivity.ca.service;
3 import android.app.Activity;
4 import android.app.AlertDialog;
5 import android.content.DialogInterface;
6 import android.os.Bundle;
7 import android.os.Handler;
8 import android.view.Menu;
9 import android.view.MenuItem;
10 import android.view.View;
11 import android.view.View.OnClickListener;
12 import android.widget.Button;
13 import android.widget.EditText;
14 import android.widget.RelativeLayout;
15 import android.widget.TextView;
17 import org.iotivity.ca.sample_service.R;
19 public class MainActivity extends Activity {
21 static RMInterface RM = new RMInterface();
23 private final static String TAG = "MainActivity";
25 private final CharSequence[] mNetworkCheckBoxItems = { Network.IP.name(),
26 Network.LE.name(), Network.EDR.name()};
28 private final CharSequence[] mDTLSCheckBoxItems = { DTLS.UNSECURED.name(),
29 DTLS.SECURED.name() };
31 private final CharSequence[] mMsgTyleCheckBoxItems = { MsgType.CON.name(),
32 MsgType.NON.name(), MsgType.ACK.name(), MsgType.RESET.name() };
34 private final CharSequence[] mResponseResultCheckBoxItems = {
35 ResponseResult.CA_SUCCESS.name(), ResponseResult.CA_CREATED.name(),
36 ResponseResult.CA_DELETED.name(), ResponseResult.CA_VALID.name(),
37 ResponseResult.CA_CHANGED.name(), ResponseResult.CA_CONTENT.name(),
38 ResponseResult.CA_EMPTY.name(), ResponseResult.CA_BAD_REQ.name(),
39 ResponseResult.CA_BAD_OPT.name(), ResponseResult.CA_NOT_FOUND.name(),
40 ResponseResult.CA_INTERNAL_SERVER_ERROR.name(),
41 ResponseResult.CA_RETRANSMIT_TIMEOUT.name() };
44 SERVER, CLIENT, BOTH, UNKNOWN
47 private enum Network {
55 private enum MsgType {
59 private enum ResponseResult {
60 CA_SUCCESS, CA_CREATED, CA_DELETED, CA_VALID, CA_CHANGED, CA_CONTENT, CA_EMPTY,
61 CA_BAD_REQ, CA_BAD_OPT, CA_NOT_FOUND, CA_INTERNAL_SERVER_ERROR, CA_RETRANSMIT_TIMEOUT
64 private boolean mCheckedItems[] = {
65 false, false, false, false
68 private int mSelectedItems[] = { 0, 0, 0 };
70 private int mUnSelectedItems[] = { 0, 0, 0 };
72 private Mode mCurrentMode = Mode.UNKNOWN;
74 private RelativeLayout mFindResourceLayout = null;
76 private RelativeLayout mSendNotificationLayout = null;
78 private RelativeLayout mSendRequestLayout = null;
80 private RelativeLayout mSendRequestToAllLayout = null;
82 private RelativeLayout mSendRequestSettingLayout = null;
84 private RelativeLayout mSendRequestToAllSettingLayout = null;
86 private RelativeLayout mSendResponseNotiSettingLayout = null;
88 private RelativeLayout mReceiveLayout = null;
90 private RelativeLayout mFindTitleLayout = null;
92 private RelativeLayout mRequestTitleLayout = null;
94 private RelativeLayout mRequestToAllTitleLayout = null;
96 private RelativeLayout mResponseNotificationTitleLayout = null;
98 private RelativeLayout mAdvertiseTitleLayout = null;
100 private RelativeLayout mHandleTitleLayout = null;
102 private RelativeLayout mPayLoadClientEditLayout = null;
104 private RelativeLayout mPayLoadServerEditLayout = null;
106 private RelativeLayout mAdvertiseResourceLayout = null;
108 private RelativeLayout mServerButtonLayout = null;
110 private TextView mMode_tv = null;
112 private TextView mNetwork_tv = null;
114 private EditText mUri_ed = null;
116 private EditText mNotification_ed = null;
118 private EditText mReqData_ed = null;
120 private EditText mReqToAllData_ed = null;
122 private EditText mPayload_ed = null;
124 private EditText mAdvertise_ed = null;
126 private Button mFind_btn = null;
128 private Button mNotify_btn = null;
130 private Button mAdvertiseResource_btn = null;
132 private Button mReqeust_btn = null;
134 private Button mReqeust_setting_btn = null;
136 private Button mReqeustToAll_btn = null;
138 private Button mReqeustToAll_setting_btn = null;
140 private Button mResponse_Notify_setting_btn = null;
142 private Button mResponse_btn = null;
144 private Button mGetNetworkInfo_btn = null;
146 private Button mRecv_btn = null;
148 private Handler mLogHandler = null;
151 * Defined ConnectivityType in cacommon.c
153 * CA_IP = (1 << 0) CA_LE = (1 << 2) CA_EDR = (1 << 3)
155 private int CA_IP = (1 << 0);
156 private int CA_LE = (1 << 1);
157 private int CA_EDR = (1 << 2);
158 private int isSecured = 0;
159 private int msgType = 1;
160 private int responseValue = 0;
161 private int selectedNetworkType = -1;
162 private int selectedMsgType = 1;
163 private int selectedMsgSecured = 0;
164 private int selectedResponseValue = 0;
165 int selectedNetwork = -1;
166 int interestedNetwork = 0;
167 int uninterestedNetwork = 0;
168 private boolean isSendResponseSetting = false;
169 private boolean isSendRequestToAllSetting = false;
172 protected void onCreate(Bundle savedInstanceState) {
173 super.onCreate(savedInstanceState);
174 setContentView(R.layout.activity_main);
176 RM.setResponseListener(this);
178 mLogHandler = new Handler();
179 TextView logView = (TextView) findViewById(R.id.tv_result);
180 DLog.setTextView(mLogHandler, logView);
184 mReceiveLayout = (RelativeLayout) findViewById(R.id.layout_receive);
187 mSendRequestLayout = (RelativeLayout) findViewById(R.id.layout_request);
188 mSendRequestToAllLayout = (RelativeLayout) findViewById(R.id.layout_request_to_all);
189 mSendRequestSettingLayout = (RelativeLayout)
190 findViewById(R.id.layout_request_setting_for_client);
191 mSendRequestToAllSettingLayout = (RelativeLayout)
192 findViewById(R.id.layout_request_to_all_setting_for_client);
193 mFindResourceLayout = (RelativeLayout) findViewById(R.id.layout_find);
194 mFindTitleLayout = (RelativeLayout) findViewById(R.id.layout_find_title);
195 mRequestTitleLayout = (RelativeLayout) findViewById(R.id.layout_request_title);
196 mRequestToAllTitleLayout = (RelativeLayout) findViewById(R.id.layout_request_to_all_title);
197 mHandleTitleLayout = (RelativeLayout) findViewById(R.id.layout_handle_title);
198 mPayLoadClientEditLayout = (RelativeLayout) findViewById(R.id.layout_payload_client_ed);
201 mSendNotificationLayout = (RelativeLayout) findViewById(R.id.layout_notify);
202 mPayLoadServerEditLayout = (RelativeLayout)
203 findViewById(R.id.layout_payload_server_ed);
204 mSendResponseNotiSettingLayout = (RelativeLayout)
205 findViewById(R.id.layout_request_setting_for_server);
206 mServerButtonLayout = (RelativeLayout) findViewById(R.id.layout_server_bt);
207 mResponseNotificationTitleLayout = (RelativeLayout)
208 findViewById(R.id.layout_Response_Noti_title);
209 mAdvertiseTitleLayout = (RelativeLayout) findViewById(R.id.layout_advertise_title);
210 mAdvertiseResourceLayout = (RelativeLayout) findViewById(R.id.layout_advertise_resource);
212 mMode_tv = (TextView) findViewById(R.id.tv_mode);
213 mNetwork_tv = (TextView) findViewById(R.id.tv_network);
215 mUri_ed = (EditText) findViewById(R.id.et_uri);
216 mNotification_ed = (EditText) findViewById(R.id.et_notification);
217 mReqData_ed = (EditText) findViewById(R.id.et_req_data);
218 mReqToAllData_ed = (EditText) findViewById(R.id.et_req_to_all_data);
219 mPayload_ed = (EditText) findViewById(R.id.et_payload_data_for_server);
220 mAdvertise_ed = (EditText) findViewById(R.id.et_uri_advertise);
222 mFind_btn = (Button) findViewById(R.id.btn_find_resource);
223 mResponse_btn = (Button) findViewById(R.id.btn_sendresponse);
224 mNotify_btn = (Button) findViewById(R.id.btn_notify);
225 mAdvertiseResource_btn = (Button) findViewById(R.id.btn_advertise);
226 mReqeust_btn = (Button) findViewById(R.id.btn_Request);
227 mReqeust_setting_btn = (Button) findViewById(R.id.btn_Request_setting_for_client);
228 mReqeustToAll_btn = (Button) findViewById(R.id.btn_request_to_all);
229 mReqeustToAll_setting_btn = (Button)
230 findViewById(R.id.btn_request_to_all_setting_for_client);
231 mResponse_Notify_setting_btn = (Button) findViewById(R.id.btn_Request_setting_for_server);
232 mGetNetworkInfo_btn = (Button) findViewById(R.id.btn_get_network_info);
233 mRecv_btn = (Button) findViewById(R.id.btn_receive);
235 mFind_btn.setOnClickListener(mFindResourceHandler);
236 mResponse_btn.setOnClickListener(mSendResponseHandler);
237 mNotify_btn.setOnClickListener(mNotifyHandler);
238 mAdvertiseResource_btn.setOnClickListener(mAdvertiseResourceHandler);
239 mReqeust_btn.setOnClickListener(mSendRequestHandler);
240 mReqeust_setting_btn.setOnClickListener(mSendRequestSettingHandler);
241 mReqeustToAll_btn.setOnClickListener(mSendRequestToAllHandler);
242 mReqeustToAll_setting_btn.setOnClickListener(mSendRequestToAllSettingHandler);
243 mResponse_Notify_setting_btn
244 .setOnClickListener(mSendResponseNotiSettingHandler);
245 mRecv_btn.setOnClickListener(mResponseHandler);
246 mGetNetworkInfo_btn.setOnClickListener(mGetNetworkInfoHandler);
248 showSelectModeView();
250 // Initialize Connectivity Abstraction
251 RM.RMInitialize(getApplicationContext());
254 RM.RMRegisterHandler();
257 private void showSelectModeView() {
259 mFindResourceLayout.setVisibility(View.INVISIBLE);
260 mSendNotificationLayout.setVisibility(View.INVISIBLE);
261 mSendRequestLayout.setVisibility(View.INVISIBLE);
262 mSendRequestToAllLayout.setVisibility(View.INVISIBLE);
263 mSendRequestSettingLayout.setVisibility(View.INVISIBLE);
264 mSendRequestToAllSettingLayout.setVisibility(View.INVISIBLE);
265 mReceiveLayout.setVisibility(View.INVISIBLE);
266 mFindTitleLayout.setVisibility(View.INVISIBLE);
267 mRequestTitleLayout.setVisibility(View.INVISIBLE);
268 mRequestToAllTitleLayout.setVisibility(View.INVISIBLE);
269 mHandleTitleLayout.setVisibility(View.INVISIBLE);
270 mPayLoadClientEditLayout.setVisibility(View.INVISIBLE);
271 mPayLoadServerEditLayout.setVisibility(View.INVISIBLE);
272 mServerButtonLayout.setVisibility(View.INVISIBLE);
273 mResponseNotificationTitleLayout.setVisibility(View.INVISIBLE);
274 mAdvertiseTitleLayout.setVisibility(View.INVISIBLE);
275 mAdvertiseResourceLayout.setVisibility(View.INVISIBLE);
276 mSendResponseNotiSettingLayout.setVisibility(View.INVISIBLE);
278 mMode_tv.setText("Select Mode (Server or Client)");
281 private void showNetworkView() {
283 mNetwork_tv.setText("Select Network Type");
286 private void showModeView() {
288 if (mCurrentMode == Mode.SERVER) {
290 mFindResourceLayout.setVisibility(View.INVISIBLE);
291 mSendNotificationLayout.setVisibility(View.VISIBLE);
292 mSendRequestLayout.setVisibility(View.INVISIBLE);
293 mSendRequestToAllLayout.setVisibility(View.INVISIBLE);
294 mSendRequestSettingLayout.setVisibility(View.INVISIBLE);
295 mSendRequestToAllSettingLayout.setVisibility(View.INVISIBLE);
296 mReceiveLayout.setVisibility(View.VISIBLE);
298 mFindTitleLayout.setVisibility(View.INVISIBLE);
299 mRequestTitleLayout.setVisibility(View.INVISIBLE);
300 mRequestToAllTitleLayout.setVisibility(View.INVISIBLE);
301 mHandleTitleLayout.setVisibility(View.VISIBLE);
302 mPayLoadClientEditLayout.setVisibility(View.INVISIBLE);
304 mPayLoadServerEditLayout.setVisibility(View.VISIBLE);
305 mServerButtonLayout.setVisibility(View.VISIBLE);
307 mResponseNotificationTitleLayout.setVisibility(View.VISIBLE);
308 mAdvertiseTitleLayout.setVisibility(View.VISIBLE);
309 mAdvertiseResourceLayout.setVisibility(View.VISIBLE);
311 mSendResponseNotiSettingLayout.setVisibility(View.VISIBLE);
313 mNetwork_tv.setText("");
315 } else if (mCurrentMode == Mode.CLIENT) {
317 mFindResourceLayout.setVisibility(View.VISIBLE);
318 mSendNotificationLayout.setVisibility(View.INVISIBLE);
319 mSendRequestLayout.setVisibility(View.VISIBLE);
320 mSendRequestToAllLayout.setVisibility(View.VISIBLE);
321 mSendRequestSettingLayout.setVisibility(View.VISIBLE);
322 mSendRequestToAllSettingLayout.setVisibility(View.VISIBLE);
323 mReceiveLayout.setVisibility(View.VISIBLE);
325 mFindTitleLayout.setVisibility(View.VISIBLE);
326 mRequestTitleLayout.setVisibility(View.VISIBLE);
327 mRequestToAllTitleLayout.setVisibility(View.VISIBLE);
328 mHandleTitleLayout.setVisibility(View.VISIBLE);
329 mPayLoadClientEditLayout.setVisibility(View.VISIBLE);
331 mPayLoadServerEditLayout.setVisibility(View.INVISIBLE);
332 mServerButtonLayout.setVisibility(View.INVISIBLE);
334 mResponseNotificationTitleLayout.setVisibility(View.INVISIBLE);
335 mAdvertiseTitleLayout.setVisibility(View.INVISIBLE);
336 mAdvertiseResourceLayout.setVisibility(View.INVISIBLE);
338 mSendResponseNotiSettingLayout.setVisibility(View.INVISIBLE);
340 mNetwork_tv.setText("");
345 protected void onDestroy() {
348 // Terminate Connectivity Abstraction
350 android.os.Process.killProcess(android.os.Process.myPid());
354 public boolean onCreateOptionsMenu(Menu menu) {
356 menu.add(0, 1, Menu.NONE, "Start Server");
357 menu.add(0, 2, Menu.NONE, "Start Client");
358 menu.add(0, 3, Menu.NONE, "Select Network");
364 public boolean onOptionsItemSelected(MenuItem item) {
366 switch (item.getItemId()) {
370 RM.RMStartListeningServer();
372 if (interestedNetwork == 0) {
373 mCurrentMode = Mode.SERVER;
374 mMode_tv.setText("MODE: " + mCurrentMode.toString());
378 mCurrentMode = Mode.SERVER;
379 mMode_tv.setText("MODE: " + mCurrentMode.toString());
387 RM.RMStartDiscoveryServer();
389 if (interestedNetwork == 0) {
390 mCurrentMode = Mode.CLIENT;
391 mMode_tv.setText("MODE: " + mCurrentMode.toString());
395 mCurrentMode = Mode.CLIENT;
396 mMode_tv.setText("MODE: " + mCurrentMode.toString());
404 checkInterestedNetwork("Select Network");
409 return super.onOptionsItemSelected(item);
412 private OnClickListener mFindResourceHandler = new OnClickListener() {
415 public void onClick(View v) {
417 DLog.v(TAG, "FindResource click");
418 RM.RMSendReqestToAll(mReqToAllData_ed.getText().toString(), selectedNetwork);
422 private OnClickListener mSendResponseHandler = new OnClickListener() {
425 public void onClick(View v) {
427 DLog.v(TAG, "SendResponse click");
428 if ( selectedNetwork != -1) {
429 RM.RMSendResponse(selectedNetwork, isSecured, msgType, responseValue);
432 DLog.v(TAG, "Please Select Network Type");
437 private OnClickListener mNotifyHandler = new OnClickListener() {
440 public void onClick(View v) {
442 DLog.v(TAG, "SendNotification click");
443 if ( selectedNetwork != -1) {
444 RM.RMSendNotification(mNotification_ed.getText().toString(),
445 mPayload_ed.getText().toString(), selectedNetwork,
446 isSecured, msgType, responseValue);
449 DLog.v(TAG, "Please Select Network Type");
454 private OnClickListener mAdvertiseResourceHandler = new OnClickListener() {
457 public void onClick(View v) {
459 DLog.v(TAG, "AdvertiseResource click");
460 RM.RMAdvertiseResource(mAdvertise_ed.getText().toString());
464 private OnClickListener mSendRequestHandler = new OnClickListener() {
467 public void onClick(View v) {
469 DLog.v(TAG, "SendRequest click");
470 if ( selectedNetwork != -1) {
471 RM.RMSendRequest(mReqData_ed.getText().toString(), mPayload_ed
472 .getText().toString(), selectedNetwork, isSecured, msgType);
475 DLog.v(TAG, "Please Select Network Type");
480 private OnClickListener mSendRequestSettingHandler = new OnClickListener() {
483 public void onClick(View v) {
484 checkSendNetworkType("Select Send Network Type");
488 private OnClickListener mSendRequestToAllHandler = new OnClickListener() {
491 public void onClick(View v) {
493 DLog.v(TAG, "SendRequestToAll click");
494 if ( selectedNetwork != -1) {
495 RM.RMSendReqestToAll(mReqToAllData_ed.getText().toString(), selectedNetwork);
498 DLog.v(TAG, "Please Select Network Type");
503 private OnClickListener mSendRequestToAllSettingHandler = new OnClickListener() {
506 public void onClick(View v) {
507 isSendRequestToAllSetting = true;
508 checkSendNetworkType("Select Send Network Type");
512 private OnClickListener mSendResponseNotiSettingHandler = new OnClickListener() {
515 public void onClick(View v) {
516 isSendResponseSetting = true;
517 checkSendNetworkType("Select Send Network Type");
521 private OnClickListener mGetNetworkInfoHandler = new OnClickListener() {
523 public void onClick(View v) {
525 RM.RMGetNetworkInfomation();
529 private OnClickListener mResponseHandler = new OnClickListener() {
532 public void onClick(View v) {
534 RM.RMHandleRequestResponse();
538 private void checkInterestedNetwork(String title) {
540 AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
541 builder.setTitle(title)
542 .setMultiChoiceItems(mNetworkCheckBoxItems, mCheckedItems,
543 new DialogInterface.OnMultiChoiceClickListener() {
546 public void onClick(DialogInterface dialog,
547 int which, boolean isChecked) {
551 mSelectedItems[which] = 1;
552 mUnSelectedItems[which] = 0;
554 } else if (mSelectedItems[which] == 1) {
556 mSelectedItems[which] = 0;
557 mUnSelectedItems[which] = 1;
561 .setPositiveButton("OK", new DialogInterface.OnClickListener() {
564 public void onClick(DialogInterface dialog, int which) {
566 interestedNetwork = 0;
568 for (int i = 0; i < mSelectedItems.length; i++) {
569 if (mSelectedItems[i] == 1) {
570 interestedNetwork |= (1 << i);
573 if(0 != interestedNetwork)
574 RM.RMSelectNetwork(interestedNetwork);
576 uninterestedNetwork = 0;
578 for (int i = 0; i < mUnSelectedItems.length; i++) {
579 if (mUnSelectedItems[i] == 1) {
580 uninterestedNetwork |= (1 << i);
583 if(0 != uninterestedNetwork)
584 RM.RMUnSelectNetwork(uninterestedNetwork);
590 private void checkMsgSecured(String title) {
592 AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
594 builder.setTitle(title)
595 .setSingleChoiceItems(mDTLSCheckBoxItems, selectedMsgSecured,
596 new DialogInterface.OnClickListener() {
599 public void onClick(DialogInterface dialog,
601 selectedMsgSecured = which;
604 .setPositiveButton("OK", new DialogInterface.OnClickListener() {
607 public void onClick(DialogInterface dialog, int which) {
609 if (selectedMsgSecured == DTLS.SECURED.ordinal()) {
611 DLog.v(TAG, "Send secured message");
613 mPayLoadClientEditLayout
614 .setVisibility(View.INVISIBLE);
616 mPayLoadServerEditLayout
617 .setVisibility(View.INVISIBLE);
619 } else if (selectedMsgSecured == DTLS.UNSECURED.ordinal()) {
621 DLog.v(TAG, "Send unsecured message");
623 if (mCurrentMode == Mode.SERVER) {
624 mPayLoadServerEditLayout
625 .setVisibility(View.VISIBLE);
626 } else if (mCurrentMode == Mode.CLIENT) {
627 mPayLoadClientEditLayout
628 .setVisibility(View.VISIBLE);
631 checkMsgType("Select Msg Type");
637 private void checkMsgType(String title) {
639 AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
640 builder.setTitle(title)
641 .setSingleChoiceItems(mMsgTyleCheckBoxItems, selectedMsgType,
642 new DialogInterface.OnClickListener() {
645 public void onClick(DialogInterface dialog,
647 selectedMsgType = which;
650 .setPositiveButton("OK", new DialogInterface.OnClickListener() {
653 public void onClick(DialogInterface dialog, int which) {
655 if (selectedMsgType == MsgType.CON.ordinal()) {
657 DLog.v(TAG, "Message Type is CON");
659 } else if (selectedMsgType == MsgType.NON.ordinal()) {
661 DLog.v(TAG, "Message Type is NON");
662 } else if (selectedMsgType == MsgType.ACK.ordinal()) {
664 DLog.v(TAG, "Message Type is ACK");
665 } else if (selectedMsgType == MsgType.RESET.ordinal()) {
667 DLog.v(TAG, "Message Type is RESET");
670 if (isSendResponseSetting == true && msgType != 3) {
671 checkResponseResult("Select Value of Response Result");
672 isSendResponseSetting = false;
678 private void checkResponseResult(String title) {
680 AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
681 builder.setTitle(title)
682 .setSingleChoiceItems(mResponseResultCheckBoxItems, selectedResponseValue,
683 new DialogInterface.OnClickListener() {
686 public void onClick(DialogInterface dialog,
688 selectedResponseValue = which;
691 .setPositiveButton("OK", new DialogInterface.OnClickListener() {
694 public void onClick(DialogInterface dialog, int which) {
696 if (selectedResponseValue == ResponseResult.CA_SUCCESS.ordinal()) {
698 DLog.v(TAG, "Response Value is CA_SUCCESS");
699 } else if (selectedResponseValue == ResponseResult.CA_CREATED
702 DLog.v(TAG, "Response Value is CA_CREATED");
703 } else if (selectedResponseValue == ResponseResult.CA_DELETED
706 DLog.v(TAG, "Response Value is CA_DELETED");
707 } else if (selectedResponseValue == ResponseResult.CA_VALID
710 DLog.v(TAG, "Response Value is CA_VALID");
711 } else if (selectedResponseValue == ResponseResult.CA_CHANGED
714 DLog.v(TAG, "Response Value is CA_CHANGED");
715 } else if (selectedResponseValue == ResponseResult.CA_CONTENT
718 DLog.v(TAG, "Response Value is CA_CONTENT");
719 } else if (selectedResponseValue == ResponseResult.CA_EMPTY
722 DLog.v(TAG, "Response Value is CA_EMPTY");
723 } else if (selectedResponseValue == ResponseResult.CA_BAD_REQ
726 DLog.v(TAG, "Response Value is CA_BAD_REQ");
727 } else if (selectedResponseValue == ResponseResult.CA_BAD_OPT
730 DLog.v(TAG, "Response Value is CA_BAD_OPT");
731 } else if (selectedResponseValue == ResponseResult.CA_NOT_FOUND
734 DLog.v(TAG, "Response Value is CA_NOT_FOUND");
735 } else if (selectedResponseValue ==
736 ResponseResult.CA_INTERNAL_SERVER_ERROR
739 DLog.v(TAG, "Response Value is CA_INTERNAL_SERVER_ERROR");
740 } else if (selectedResponseValue == ResponseResult.CA_RETRANSMIT_TIMEOUT
743 DLog.v(TAG, "Response Value is CA_RETRANSMIT_TIMEOUT");
749 private void checkSendNetworkType(String title) {
750 selectedNetworkType = -1;
751 AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
753 builder.setTitle(title)
754 .setSingleChoiceItems(mNetworkCheckBoxItems, -1,
755 new DialogInterface.OnClickListener() {
758 public void onClick(DialogInterface dialog,
760 selectedNetworkType = which;
763 .setPositiveButton("OK", new DialogInterface.OnClickListener() {
766 public void onClick(DialogInterface dialog, int which) {
768 if (selectedNetworkType == Network.IP.ordinal()) {
769 selectedNetwork = CA_IP;
770 DLog.v(TAG, "Selected Network is CA_IP");
771 } else if (selectedNetworkType == Network.LE.ordinal()) {
772 selectedNetwork = CA_LE;
773 DLog.v(TAG, "Selected Network is LE");
774 } else if (selectedNetworkType == Network.EDR.ordinal()) {
775 selectedNetwork = CA_EDR;
776 DLog.v(TAG, "Selected Network is EDR");
778 DLog.v(TAG, "Selected Network is NULL");
779 selectedNetwork = -1;
782 if (isSendRequestToAllSetting != true) {
783 checkMsgSecured("Select DTLS Type");
785 isSendRequestToAllSetting = false;
790 public void OnResponseReceived(String subject, String receivedData) {
791 String callbackData = subject + receivedData;
792 DLog.v(TAG, callbackData);
794 if (subject.equals(getString(R.string.remote_address))) {
795 StringBuilder sb = new StringBuilder();
796 sb.append(getString(R.string.coap_prefix)).append(receivedData);
797 if (receivedData.contains(".")) { // IP
798 sb.append(getString(R.string.port_num));
800 sb.append(getString(R.string.uri));
801 mReqData_ed.setText(sb.toString());