Merge test folder of test branch
[iotivity.git] / test / src / iBtestapp / modules / re / android / src / org / iotivity / test / re / app / MainActivity.java
1 //******************************************************************\r
2 //\r
3 // Copyright 2016 Samsung Electronics All Rights Reserved.\r
4 //\r
5 //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
6 //\r
7 // Licensed under the Apache License, Version 2.0 (the "License");\r
8 // you may not use this file except in compliance with the License.\r
9 // You may obtain a copy of the License at\r
10 //\r
11 //      http://www.apache.org/licenses/LICENSE-2.0\r
12 //\r
13 // Unless required by applicable law or agreed to in writing, software\r
14 // distributed under the License is distributed on an "AS IS" BASIS,\r
15 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
16 // See the License for the specific language governing permissions and\r
17 // limitations under the License.\r
18 //\r
19 //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
20 \r
21 package org.iotivity.test.re.app;\r
22 \r
23 import android.os.Bundle;\r
24 import android.util.Log;\r
25 \r
26 import org.iotivity.service.testapp.framework.Base;\r
27 import org.iotivity.service.testapp.framework.MenuInfo;\r
28 \r
29 import java.util.LinkedHashMap;\r
30 import java.util.Map;\r
31 \r
32 import android.net.ConnectivityManager;\r
33 import android.app.AlertDialog;\r
34 import android.content.DialogInterface;\r
35 \r
36 import org.iotivity.base.ModeType;\r
37 import org.iotivity.base.OcPlatform;\r
38 import org.iotivity.base.PlatformConfig;\r
39 import org.iotivity.base.QualityOfService;\r
40 import org.iotivity.base.ServiceType;\r
41 \r
42 import static org.iotivity.test.re.app.REUtility.*;\r
43 \r
44 public class MainActivity extends Base {\r
45 \r
46     @Override\r
47     protected void onCreate(Bundle savedInstanceState) {\r
48         super.onCreate(savedInstanceState);\r
49 \r
50         if (!isWifiConnected()) {\r
51             showWifiUnavailableDialog();\r
52             return;\r
53         }\r
54 \r
55         configurePlatform();\r
56 \r
57         Map<String, MenuInfo> menuMap = new LinkedHashMap<String, MenuInfo>();\r
58         menuMap.put("1", new MenuInfo("Create Resource", "createResource"));\r
59         menuMap.put("2", new MenuInfo("Set Attributes", "setAttributes"));\r
60         menuMap.put("3", new MenuInfo("Get Attributes", "getAttributes"));\r
61         menuMap.put("4", new MenuInfo("Discover Resource without query",\r
62                 "discoverResource"));\r
63         menuMap.put("5", new MenuInfo("Discover Resource with Resource Type",\r
64                 "discoverResourceByType"));\r
65         menuMap.put("6", new MenuInfo("Discover Non-Discoverable Resource",\r
66                 "discoverNonDiscoverableResource"));\r
67         menuMap.put("7", new MenuInfo("Start Monitoring", "startMonitoring"));\r
68         menuMap.put("8", new MenuInfo("Stop Monitoring", "stopMonitoring"));\r
69         menuMap.put("9", new MenuInfo("Get State", "getState"));\r
70         menuMap.put("10", new MenuInfo("Set Remote Attributes",\r
71                 "setRemoteAttributes"));\r
72         menuMap.put("11", new MenuInfo("Get Remote Attributes",\r
73                 "getRemoteAttributes"));\r
74         menuMap.put("12", new MenuInfo("Start Caching", "startCaching"));\r
75         menuMap.put("13", new MenuInfo("Stop Caching", "stopCaching"));\r
76         menuMap.put("14", new MenuInfo("Get Cached Attributes",\r
77                 "getCachedAttributes"));\r
78         menuMap.put("15", new MenuInfo("Get Cached State", "getCachedState"));\r
79         menuMap.put("0", new MenuInfo("Exit", "exitApplication"));\r
80 \r
81         RegisterApp("Resource Encapsulation", menuMap, new RETestAppAction());\r
82     }\r
83 \r
84     private boolean isWifiConnected() {\r
85         ConnectivityManager connManager = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE);\r
86         return connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI)\r
87                 .isConnected();\r
88     }\r
89 \r
90     private void showWifiUnavailableDialog() {\r
91         new AlertDialog.Builder(this)\r
92                 .setTitle("Error")\r
93                 .setMessage(\r
94                         "WiFi is not enabled/connected! Please connect the WiFi and start application again...")\r
95                 .setCancelable(false)\r
96                 .setPositiveButton("OK", new DialogInterface.OnClickListener() {\r
97                     @Override\r
98                     public void onClick(DialogInterface dialog, int which) {\r
99                         finish();\r
100                     }\r
101                 }).create().show();\r
102     }\r
103 \r
104     private void configurePlatform() {\r
105         OcPlatform.Configure(new PlatformConfig(getApplicationContext(),\r
106                 ServiceType.IN_PROC, ModeType.CLIENT_SERVER, "0.0.0.0", 0,\r
107                 QualityOfService.LOW));\r
108 \r
109         Log.i(TAG, "Configuration done Successfully");\r
110     }\r
111 }\r